changeset 7578:fdae4c496775 v7.4.1089

commit https://github.com/vim/vim/commit/ef2b5036b3005f1ce15d146dce72379a9834c56d Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 12 22:20:58 2016 +0100 patch 7.4.1089 Problem: Repeating CTRL-A doesn't work. Solution: Call prep_redo_cmd(). (Hirohito Higashi)
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Jan 2016 22:30:07 +0100
parents ef17502a1002
children 27ce584f5bbb
files src/normal.c src/testdir/test_increment.vim src/version.c
diffstat 3 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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
--- 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,