]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.918 v7.3.918
authorBram Moolenaar <Bram@vim.org>
Wed, 24 Apr 2013 16:34:45 +0000 (18:34 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 24 Apr 2013 16:34:45 +0000 (18:34 +0200)
Problem:    Repeating an Ex command after using a Visual motion does not work.
Solution:   Check for an Ex command being used. (David Bürgin)

src/normal.c
src/version.c

index 181dbcb35fd8c44890e56dc62fc432acf23e4894..879d5c358857c872730512176e3ed1e75ece89e6 100644 (file)
@@ -1504,11 +1504,14 @@ do_pending_operator(cap, old_col, gui_yank)
        }
 #endif
 
-       /* only redo yank when 'y' flag is in 'cpoptions' */
-       /* never redo "zf" (define fold) */
+       /* Only redo yank when 'y' flag is in 'cpoptions'. */
+       /* Never redo "zf" (define fold). */
        if ((vim_strchr(p_cpo, CPO_YANK) != NULL || oap->op_type != OP_YANK)
 #ifdef FEAT_VISUAL
-               && (!VIsual_active || oap->motion_force)
+               && ((!VIsual_active || oap->motion_force)
+                   /* Also redo Operator-pending Visual mode mappings */
+                   || (VIsual_active && cap->cmdchar == ':'
+                                                && oap->op_type != OP_COLON))
 #endif
                && cap->cmdchar != 'D'
 #ifdef FEAT_FOLDING
@@ -1797,7 +1800,7 @@ do_pending_operator(cap, old_col, gui_yank)
                    prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
                                        get_op_char(oap->op_type),
                                        get_extra_op_char(oap->op_type));
-               else
+               else if (cap->cmdchar != ':')
                    prep_redo(oap->regname, 0L, NUL, 'v',
                                        get_op_char(oap->op_type),
                                        get_extra_op_char(oap->op_type),
index aaa8fa794b974e87c456bd1b9563885bfe8dcda1..311dc329d2a94529deaca8d143b8390ed7edf016 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    918,
 /**/
     917,
 /**/