]> granicus.if.org Git - vim/commitdiff
updated for version 7.2.346 v7.2.346
authorBram Moolenaar <Bram@vim.org>
Wed, 27 Jan 2010 15:31:13 +0000 (16:31 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 27 Jan 2010 15:31:13 +0000 (16:31 +0100)
Problem:    Repeating a command with @: causes a mapping to be applied twice.
Solution:   Do not remap characters inserted in the typeahead buffer. (Kana
            Natsuno)

src/ops.c
src/version.c

index 4b32b573337c8e848f3ee3bcd75e35e3b2f97d7d..606ce071bae6b627977230717845de09dc0a4f78 100644 (file)
--- a/src/ops.c
+++ b/src/ops.c
@@ -1301,10 +1301,16 @@ put_reedit_in_typebuf(silent)
     }
 }
 
+/*
+ * Insert register contents "s" into the typeahead buffer, so that it will be
+ * executed again.
+ * When "esc" is TRUE it is to be taken literally: Escape CSI characters and
+ * no remapping.
+ */
     static int
 put_in_typebuf(s, esc, colon, silent)
     char_u     *s;
-    int                esc;        /* Escape CSI characters */
+    int                esc;
     int                colon;      /* add ':' before the line */
     int                silent;
 {
@@ -1312,7 +1318,7 @@ put_in_typebuf(s, esc, colon, silent)
 
     put_reedit_in_typebuf(silent);
     if (colon)
-       retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent);
+       retval = ins_typebuf((char_u *)"\n", REMAP_NONE, 0, TRUE, silent);
     if (retval == OK)
     {
        char_u  *p;
@@ -1324,12 +1330,13 @@ put_in_typebuf(s, esc, colon, silent)
        if (p == NULL)
            retval = FAIL;
        else
-           retval = ins_typebuf(p, REMAP_YES, 0, TRUE, silent);
+           retval = ins_typebuf(p, esc ? REMAP_NONE : REMAP_YES,
+                                                            0, TRUE, silent);
        if (esc)
            vim_free(p);
     }
     if (colon && retval == OK)
-       retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent);
+       retval = ins_typebuf((char_u *)":", REMAP_NONE, 0, TRUE, silent);
     return retval;
 }
 
index 1fea40f1482fbc98168cf194609ee336f7ad18c3..f79e92e2ecf4cecc19cdfde873bdf8964f52550b 100644 (file)
@@ -681,6 +681,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    346,
 /**/
     345,
 /**/