]> granicus.if.org Git - vim/commitdiff
updated for version 7.2-224 v7.2.224
authorBram Moolenaar <Bram@vim.org>
Thu, 9 Jul 2009 16:15:16 +0000 (16:15 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 9 Jul 2009 16:15:16 +0000 (16:15 +0000)
src/edit.c
src/version.c

index c1935c21cca837f21f417e7fed278694cd54cbac..347571f4781e7370c4f358ac4011957af8a7f100 100644 (file)
@@ -114,6 +114,10 @@ static int   compl_restarting = FALSE;     /* don't insert match */
  * FALSE the word to be completed must be located. */
 static int       compl_started = FALSE;
 
+/* Set when doing something for completion that may call edit() recursively,
+ * which is not allowed. */
+static int       compl_busy = FALSE;
+
 static int       compl_matches = 0;
 static char_u    *compl_pattern = NULL;
 static int       compl_direction = FORWARD;
@@ -346,7 +350,7 @@ edit(cmdchar, startln, count)
 
 #ifdef FEAT_INS_EXPAND
     /* Don't allow recursive insert mode when busy with completion. */
-    if (compl_started || pum_visible())
+    if (compl_started || compl_busy || pum_visible())
     {
        EMSG(_(e_secure));
        return FALSE;
@@ -1340,8 +1344,10 @@ doESCkey:
                goto normalchar;
 
 docomplete:
+           compl_busy = TRUE;
            if (ins_complete(c) == FAIL)
                compl_cont_status = 0;
+           compl_busy = FALSE;
            break;
 #endif /* FEAT_INS_EXPAND */
 
@@ -3172,6 +3178,7 @@ ins_compl_free()
        vim_free(match);
     } while (compl_curr_match != NULL && compl_curr_match != compl_first_match);
     compl_first_match = compl_curr_match = NULL;
+    compl_shown_match = NULL;
 }
 
     static void
index fb0c3435b0db92b22f71259bb376e7caad552f5d..f3e9b2b7bee6a80642b9794ec18bceb2ad466a7d 100644 (file)
@@ -676,6 +676,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    224,
 /**/
     223,
 /**/