forked from aniani/vim
patch 9.1.0388: cursor() and getregion() don't handle v:maxcol well
Problem: cursor() and getregion() don't handle v:maxcol well.
Solution: Add special handling for v:maxcol like setpos() does.
(zeertzjq)
closes: #14698
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
da9d345b3d
commit
2ffdae7948
@@ -709,5 +709,27 @@ func Test_virtualedit_replace_after_tab()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" Test that setpos('.') and cursor() behave the same for v:maxcol
|
||||
func Test_virtualedit_set_cursor_pos_maxcol()
|
||||
new
|
||||
set virtualedit=all
|
||||
|
||||
call setline(1, 'foobar')
|
||||
exe "normal! V\<Esc>"
|
||||
call assert_equal([0, 1, 1, 0], getpos("'<"))
|
||||
call assert_equal([0, 1, v:maxcol, 0], getpos("'>"))
|
||||
let pos = getpos("'>")
|
||||
|
||||
call cursor(1, 1)
|
||||
call setpos('.', pos)
|
||||
call assert_equal([0, 1, 7, 0], getpos('.'))
|
||||
|
||||
call cursor(1, 1)
|
||||
call cursor(pos[1:])
|
||||
call assert_equal([0, 1, 7, 0], getpos('.'))
|
||||
|
||||
set virtualedit&
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
Reference in New Issue
Block a user