]> git.pld-linux.org Git - packages/vim.git/blame - 7.0.038
- new
[packages/vim.git] / 7.0.038
CommitLineData
01d03c47
AG
1To: vim-dev@vim.org
2Subject: Patch 7.0.038
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=ISO-8859-1
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 7.0.038
11Problem: When calling complete() from an Insert mode expression mapping
12 text could be inserted in an improper way.
13Solution: Make undo_allowed() global and use it in complete().
14Files: src/undo.c, src/proto/undo.pro, src/eval.c
15
16
17*** ../vim-7.0.037/src/undo.c Sat Apr 22 00:01:05 2006
18--- src/undo.c Mon Jul 3 22:23:22 2006
19***************
20*** 84,90 ****
21 static void u_unch_branch __ARGS((u_header_T *uhp));
22 static u_entry_T *u_get_headentry __ARGS((void));
23 static void u_getbot __ARGS((void));
24- static int undo_allowed __ARGS((void));
25 static int u_savecommon __ARGS((linenr_T, linenr_T, linenr_T));
26 static void u_doit __ARGS((int count));
27 static void u_undoredo __ARGS((int undo));
28--- 84,89 ----
29***************
30*** 196,202 ****
31 * Return TRUE when undo is allowed. Otherwise give an error message and
32 * return FALSE.
33 */
34! static int
35 undo_allowed()
36 {
37 /* Don't allow changes when 'modifiable' is off. */
38--- 195,201 ----
39 * Return TRUE when undo is allowed. Otherwise give an error message and
40 * return FALSE.
41 */
42! int
43 undo_allowed()
44 {
45 /* Don't allow changes when 'modifiable' is off. */
46*** ../vim-7.0.037/src/proto/undo.pro Mon Apr 10 16:38:50 2006
47--- src/proto/undo.pro Mon Jul 3 22:25:07 2006
48***************
49*** 4,9 ****
50--- 4,10 ----
51 extern int u_savesub __ARGS((linenr_T lnum));
52 extern int u_inssub __ARGS((linenr_T lnum));
53 extern int u_savedel __ARGS((linenr_T lnum, long nlines));
54+ extern int undo_allowed __ARGS((void));
55 extern void u_undo __ARGS((int count));
56 extern void u_redo __ARGS((int count));
57 extern void undo_time __ARGS((long step, int sec, int absolute));
58*** ../vim-7.0.037/src/eval.c Thu Jun 22 21:01:19 2006
59--- src/eval.c Mon Jul 10 23:03:13 2006
60***************
61*** 8252,8257 ****
62--- 8252,8263 ----
63 EMSG(_("E785: complete() can only be used in Insert mode"));
64 return;
65 }
66+
67+ /* Check for undo allowed here, because if something was already inserted
68+ * the line was already saved for undo and this check isn't done. */
69+ if (!undo_allowed())
70+ return;
71+
72 if (argvars[1].v_type != VAR_LIST || argvars[1].vval.v_list == NULL)
73 {
74 EMSG(_(e_invarg));
75*** ../vim-7.0.037/src/version.c Tue Jul 11 22:59:04 2006
76--- src/version.c Wed Jul 12 20:31:49 2006
77***************
78*** 668,669 ****
79--- 668,671 ----
80 { /* Add new patch number below this line */
81+ /**/
82+ 38,
83 /**/
84
85--
86If someone questions your market projections, simply point out that your
87target market is "People who are nuts" and "People who will buy any damn
88thing". Nobody is going to tell you there aren't enough of those people
89to go around.
90 (Scott Adams - The Dilbert principle)
91
92 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
93/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
94\\\ download, build and distribute -- http://www.A-A-P.org ///
95 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
This page took 0.03493 seconds and 4 git commands to generate.