mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 15:21:47 +00:00
vim-patch:8.2.4734: getcharpos() may change a mark position (#18077)
Problem: getcharpos() may change a mark position.
Solution: Copy the mark position. (closes vim/vim#10148)
3caf1cce2b
This commit is contained in:
@@ -140,12 +140,12 @@ func Test_getcharpos()
|
||||
call assert_fails('call getcharpos({})', 'E731:')
|
||||
call assert_equal([0, 0, 0, 0], getcharpos(0))
|
||||
new
|
||||
call setline(1, ['', "01\tà4è678", 'Ⅵ', '012345678'])
|
||||
call setline(1, ['', "01\tà4è678", 'Ⅵ', '012345678', ' │ x'])
|
||||
|
||||
" Test for '.' and '$'
|
||||
normal 1G
|
||||
call assert_equal([0, 1, 1, 0], getcharpos('.'))
|
||||
call assert_equal([0, 4, 1, 0], getcharpos('$'))
|
||||
call assert_equal([0, 5, 1, 0], getcharpos('$'))
|
||||
normal 2G6l
|
||||
call assert_equal([0, 2, 7, 0], getcharpos('.'))
|
||||
normal 3G$
|
||||
@@ -159,6 +159,12 @@ func Test_getcharpos()
|
||||
delmarks m
|
||||
call assert_equal([0, 0, 0, 0], getcharpos("'m"))
|
||||
|
||||
" Check mark does not move
|
||||
normal 5Gfxma
|
||||
call assert_equal([0, 5, 5, 0], getcharpos("'a"))
|
||||
call assert_equal([0, 5, 5, 0], getcharpos("'a"))
|
||||
call assert_equal([0, 5, 5, 0], getcharpos("'a"))
|
||||
|
||||
" Test for the visual start column
|
||||
vnoremap <expr> <F3> SaveVisualStartCharPos()
|
||||
let g:VisualStartPos = []
|
||||
|
Reference in New Issue
Block a user