1
0
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:
zeertzjq
2024-05-02 13:06:24 +02:00
committed by Christian Brabandt
parent da9d345b3d
commit 2ffdae7948
4 changed files with 37 additions and 4 deletions

View File

@@ -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