mirror of
https://github.com/neovim/neovim.git
synced 2025-10-03 16:36:30 +00:00
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:
@@ -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(' ');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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
|
||||||
|
@@ -73,12 +73,14 @@ static int included_patches[] = {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1084,
|
||||||
|
// 1083,
|
||||||
|
// 1082,
|
||||||
1081,
|
1081,
|
||||||
|
// 1080,
|
||||||
|
// 1079,
|
||||||
|
// 1078,
|
||||||
|
// 1077,
|
||||||
|
|
||||||
1076,
|
1076,
|
||||||
// 1075,
|
// 1075,
|
||||||
// 1074,
|
// 1074,
|
||||||
|
Reference in New Issue
Block a user