diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-11-28 19:27:30 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-11-28 19:27:30 +0100 |
commit | ba2d44f33863e115b1858ab572829f403ad21883 (patch) | |
tree | 362d1fb55a4e860fef7bfd3e7a978dffd62b8d2d /src/normal.c | |
parent | b95186fd36bae9716181bfdd203fb27f410e3c4f (diff) | |
download | vim-git-ba2d44f33863e115b1858ab572829f403ad21883.tar.gz |
updated for version 7.4.110v7.4.110
Problem: "gUgn" cannot be repeeated. (Dimitar Dimitrov)
Solution: Don't put "gn" in a different order in the redo buffer. Restore
'wrapscan' when the pattern isn't found. (Christian Wellenbrock)
Diffstat (limited to 'src/normal.c')
-rw-r--r-- | src/normal.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/normal.c b/src/normal.c index 9349be2bb..013fdcee4 100644 --- a/src/normal.c +++ b/src/normal.c @@ -962,11 +962,8 @@ 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 == 'n' || ca.nchar == 'N') && !stuff_empty())) + || ca.nchar == Ctrl_BSL) { cp = &ca.extra_char; /* need to get a third character */ if (ca.nchar != 'r') @@ -1797,10 +1794,9 @@ do_pending_operator(cap, old_col, gui_yank) * otherwise it might be the second char of the operator. */ if (cap->cmdchar == 'g' && (cap->nchar == 'n' || cap->nchar == 'N')) - /* "gn" and "gN" are a bit different */ - prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar, - get_op_char(oap->op_type), - get_extra_op_char(oap->op_type)); + prep_redo(oap->regname, cap->count0, + get_op_char(oap->op_type), get_extra_op_char(oap->op_type), + oap->motion_force, cap->cmdchar, cap->nchar); else if (cap->cmdchar != ':') prep_redo(oap->regname, 0L, NUL, 'v', get_op_char(oap->op_type), |