]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.704 v7.3.704
authorBram Moolenaar <Bram@vim.org>
Sun, 21 Oct 2012 01:54:33 +0000 (03:54 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 21 Oct 2012 01:54:33 +0000 (03:54 +0200)
Problem:    Repeating "cgn" does not always work correctly.
Solution:   Also fetch the operator character. (Christian Brabandt)

src/normal.c
src/version.c

index 6a4fa781c9ed1bc457783d298b8489266091ba62..03a4c453c6fd0ac03ad1cb87ce40e41d68853ddd 100644 (file)
@@ -960,8 +960,11 @@ getcount:
 #ifdef FEAT_CMDL_INFO
            need_flushbuf |= add_to_showcmd(ca.nchar);
 #endif
+           /* For "gn" from redo, need to get one more char to determine the
+            * operator */
            if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
-                                                     || ca.nchar == Ctrl_BSL)
+                                                      || ca.nchar == Ctrl_BSL
+                 || ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty()))
            {
                cp = &ca.extra_char;    /* need to get a third character */
                if (ca.nchar != 'r')
@@ -1083,6 +1086,8 @@ getcount:
                ca.nchar = ca.extra_char;
                idx = find_command(ca.cmdchar);
            }
+           else if (ca.nchar == 'n' || ca.nchar == 'N')
+               ca.oap->op_type = get_op_type(*cp, NUL);
            else if (*cp == Ctrl_BSL)
            {
                long towait = (p_ttm >= 0 ? p_ttm : p_tm);
@@ -8009,7 +8014,7 @@ nv_g_cmd(cap)
 #ifdef FEAT_VISUAL
        if (!current_search(cap->count1, cap->nchar == 'n'))
 #endif
-           beep_flush();
+           clearopbeep(oap);
        break;
 
     /*
index e3f960132d20cf482828667827ef4a5904cbc690..8b8e8f26c59ce3a313be475a8d31fd0257736bad 100644 (file)
@@ -719,6 +719,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    704,
 /**/
     703,
 /**/