diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-01-12 22:20:58 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-01-12 22:20:58 +0100 |
commit | ef2b5036b3005f1ce15d146dce72379a9834c56d (patch) | |
tree | 1fd3cec16a3cc560a1c7d29eff3cfb276c3f4168 | |
parent | 7ae4fbca552c972eb3645ece02a2807e517610d7 (diff) | |
download | vim-git-ef2b5036b3005f1ce15d146dce72379a9834c56d.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.c | 1 | ||||
-rw-r--r-- | src/testdir/test_increment.vim | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |