]> granicus.if.org Git - vim/commitdiff
updated for version 7.0-038 v7.0.038
authorBram Moolenaar <Bram@vim.org>
Wed, 12 Jul 2006 19:49:41 +0000 (19:49 +0000)
committerBram Moolenaar <Bram@vim.org>
Wed, 12 Jul 2006 19:49:41 +0000 (19:49 +0000)
src/eval.c
src/proto/undo.pro
src/undo.c
src/version.c

index 273ac4136052213a72fbcc154bfcfee5a50d59ce..01610fe3bb6c86d97b37419ec1543528c7bee3e6 100644 (file)
@@ -8252,6 +8252,12 @@ f_complete(argvars, rettv)
        EMSG(_("E785: complete() can only be used in Insert mode"));
        return;
     }
+
+    /* Check for undo allowed here, because if something was already inserted
+     * the line was already saved for undo and this check isn't done. */
+    if (!undo_allowed())
+       return;
+
     if (argvars[1].v_type != VAR_LIST || argvars[1].vval.v_list == NULL)
     {
        EMSG(_(e_invarg));
index c48e65cb2d968ef4bebf29ccf506de17a71ef5c9..1397dc5a382a69d4d7390614cd15382e4dfb8681 100644 (file)
@@ -4,6 +4,7 @@ extern int u_save __ARGS((linenr_T top, linenr_T bot));
 extern int u_savesub __ARGS((linenr_T lnum));
 extern int u_inssub __ARGS((linenr_T lnum));
 extern int u_savedel __ARGS((linenr_T lnum, long nlines));
+extern int undo_allowed __ARGS((void));
 extern void u_undo __ARGS((int count));
 extern void u_redo __ARGS((int count));
 extern void undo_time __ARGS((long step, int sec, int absolute));
index fd1bcc79c4ff1ffd8de6e00ea21f2d1bf43287a4..6a9864104ef77f237435323cd51d4c76b99b0afc 100644 (file)
@@ -84,7 +84,6 @@
 static void u_unch_branch __ARGS((u_header_T *uhp));
 static u_entry_T *u_get_headentry __ARGS((void));
 static void u_getbot __ARGS((void));
-static int undo_allowed __ARGS((void));
 static int u_savecommon __ARGS((linenr_T, linenr_T, linenr_T));
 static void u_doit __ARGS((int count));
 static void u_undoredo __ARGS((int undo));
@@ -196,7 +195,7 @@ u_savedel(lnum, nlines)
  * Return TRUE when undo is allowed.  Otherwise give an error message and
  * return FALSE.
  */
-    static int
+    int
 undo_allowed()
 {
     /* Don't allow changes when 'modifiable' is off.  */
index 8c03ce877ca827c7f45e3a1410c22329ab5414f7..bee5a3973182d20a7934a90b502aa09d8e2b36cb 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    38,
 /**/
     37,
 /**/