summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-10-21 03:54:33 +0200
committerBram Moolenaar <Bram@vim.org>2012-10-21 03:54:33 +0200
commitf00dc2627bc753560b82ae861c90fdd79dc454b4 (patch)
treed46669e8465da3714ab1be24803bef2da68b54a2 /src
parente8d8fd2add98a95e6c776deb54e2a2c59fddf1c7 (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.c9
-rw-r--r--src/version.c2
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,