summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-12 22:20:58 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-12 22:20:58 +0100
commitef2b5036b3005f1ce15d146dce72379a9834c56d (patch)
tree1fd3cec16a3cc560a1c7d29eff3cfb276c3f4168
parent7ae4fbca552c972eb3645ece02a2807e517610d7 (diff)
downloadvim-git-7.4.1089.tar.gz
patch 7.4.1089v7.4.1089
Problem: Repeating CTRL-A doesn't work. Solution: Call prep_redo_cmd(). (Hirohito Higashi)
-rw-r--r--src/normal.c1
-rw-r--r--src/testdir/test_increment.vim7
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/normal.c b/src/normal.c
index 810aabfa0..ac1a391f2 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4227,6 +4227,7 @@ nv_addsub(cap)
{
if (!VIsual_active && cap->oap->op_type == OP_NOP)
{
+ prep_redo_cmd(cap);
cap->oap->op_type = cap->cmdchar == Ctrl_A ? OP_NR_ADD : OP_NR_SUB;
op_addsub(cap->oap, cap->count1, cap->arg);
cap->oap->op_type = OP_NOP;
diff --git a/src/testdir/test_increment.vim b/src/testdir/test_increment.vim
index e4f67eaca..9b592edce 100644
--- a/src/testdir/test_increment.vim
+++ b/src/testdir/test_increment.vim
@@ -701,4 +701,11 @@ func Test_visual_increment_37()
call assert_equal(["1 26", "4 59"], getline(1, 2))
endfunc
+" Check redo after the normal mode increment
+func Test_visual_increment_38()
+ exec "norm! i10\<ESC>5\<C-A>."
+ call assert_equal(["20"], getline(1, '$'))
+ call assert_equal([0, 1, 2, 0], getpos('.'))
+endfunc
+
" vim: tabstop=2 shiftwidth=2 expandtab
diff --git a/src/version.c b/src/version.c
index dfcd63510..db29e36b5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1089,
+/**/
1088,
/**/
1087,