diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-10-21 03:54:33 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-10-21 03:54:33 +0200 |
commit | f00dc2627bc753560b82ae861c90fdd79dc454b4 (patch) | |
tree | d46669e8465da3714ab1be24803bef2da68b54a2 /src | |
parent | e8d8fd2add98a95e6c776deb54e2a2c59fddf1c7 (diff) |
updated for version 7.3.704v7.3.704
Problem: Repeating "cgn" does not always work correctly.
Solution: Also fetch the operator character. (Christian Brabandt)
Diffstat (limited to 'src')
-rw-r--r-- | src/normal.c | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/normal.c b/src/normal.c index 6a4fa781c9..03a4c453c6 100644 --- a/src/normal.c +++ b/src/normal.c @@ -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; /* diff --git a/src/version.c b/src/version.c index e3f960132d..8b8e8f26c5 100644 --- a/src/version.c +++ b/src/version.c @@ -720,6 +720,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 704, +/**/ 703, /**/ 702, |