diff options
author | Bram Moolenaar <bram@vim.org> | 2013-04-24 18:34:45 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2013-04-24 18:34:45 +0200 |
commit | f68827b0a50609d5fdea693ee6f80d915eb91722 (patch) | |
tree | 4debf63939231d14c4b0681f139ed4acd487a403 | |
parent | 3ca066f9a7be7424a09dde4a2ea79df3f5d65d10 (diff) | |
download | vim-7-3-918.tar.gz |
Problem: Repeating an Ex command after using a Visual motion does not work.
Solution: Check for an Ex command being used. (David B?rgin)
-rw-r--r-- | src/normal.c | 11 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/normal.c b/src/normal.c index 181dbcb3..879d5c35 100644 --- a/src/normal.c +++ b/src/normal.c @@ -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), diff --git a/src/version.c b/src/version.c index aaa8fa79..311dc329 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 918, +/**/ 917, /**/ 916, |