vim-patch:7.4.1084

Problem:    Using "." to repeat CTRL-A in Visual mode increments the wrong
            numbers.
Solution:   Append right size to the redo buffer. (Ozaki Kiichi)

e1edc1caba
This commit is contained in:
watiko
2016-01-15 18:07:45 +09:00
parent 594e3a64de
commit 2f52ae18e7
3 changed files with 30 additions and 6 deletions

View File

@@ -3043,7 +3043,7 @@ static void prep_redo_visual(cmdarg_T *cap)
AppendCharToRedobuff('$'); AppendCharToRedobuff('$');
} else if (curbuf->b_visual.vi_end.col > curbuf->b_visual.vi_start.col) { } else if (curbuf->b_visual.vi_end.col > curbuf->b_visual.vi_start.col) {
AppendNumberToRedobuff(curbuf->b_visual.vi_end.col - AppendNumberToRedobuff(curbuf->b_visual.vi_end.col -
curbuf->b_visual.vi_start.col - 1); curbuf->b_visual.vi_start.col);
AppendCharToRedobuff(' '); AppendCharToRedobuff(' ');
} }
} }

View File

@@ -556,6 +556,7 @@ func Test_visual_increment_26()
exec "norm! \<C-V>$\<C-A>" exec "norm! \<C-V>$\<C-A>"
call assert_equal(["0b11111111111111111111111111111111"], getline(1, '$')) call assert_equal(["0b11111111111111111111111111111111"], getline(1, '$'))
call assert_equal([0, 1, 1, 0], getpos('.')) call assert_equal([0, 1, 1, 0], getpos('.'))
set nrformats-=alpha
endfunc endfunc
" 27) increment with 'rightreft', if supported " 27) increment with 'rightreft', if supported
@@ -575,4 +576,25 @@ func Test_visual_increment_27()
endif endif
endfunc endfunc
" 28) block-wise increment and dot-repeat
" Text:
" 1 23
" 4 56
"
" Expected:
" 1) f2 Ctrl-V jl <ctrl-a>, repeat twice afterwards with .
" 1 26
" 4 59
"
" Try with and without indent.
func Test_visual_increment_28()
call setline(1, [" 1 23", " 4 56"])
exec "norm! ggf2\<C-V>jl\<C-A>.."
call assert_equal([" 1 26", " 4 59"], getline(1, 2))
call setline(1, ["1 23", "4 56"])
exec "norm! ggf2\<C-V>jl\<C-A>.."
call assert_equal(["1 26", "4 59"], getline(1, 2))
endfunc
" vim: tabstop=2 shiftwidth=2 expandtab " vim: tabstop=2 shiftwidth=2 expandtab

View File

@@ -73,12 +73,14 @@ static int included_patches[] = {
1084,
// 1083,
// 1082,
1081, 1081,
// 1080,
// 1079,
// 1078,
// 1077,
1076, 1076,
// 1075, // 1075,
// 1074, // 1074,