vim-patch:8.2.4559: getmousepos() returns the screen column

Problem:    getmousepos() returns the screen column. (Ernie Rael)
Solution:   Return the text column, as documented.
533870a985

Re-introduce vcol2col, which was removed in 71b1f4e for being unused.
Move it to mouse.c (like in v8.1.2062, which hasn't been ported yet).
This commit is contained in:
Sean Dewar
2022-03-13 18:32:10 +00:00
parent 6906c5759d
commit 4a8b6bde01
3 changed files with 34 additions and 12 deletions

View File

@@ -1765,6 +1765,18 @@ endfunc
func Test_getmousepos()
enew!
call setline(1, "\t\t\t1234")
" call test_setmouse(1, 1)
call nvim_input_mouse('left', 'press', '', 0, 0, 0)
call getchar() " wait for and consume the mouse press
call assert_equal(#{
\ screenrow: 1,
\ screencol: 1,
\ winid: win_getid(),
\ winrow: 1,
\ wincol: 1,
\ line: 1,
\ column: 1,
\ }, getmousepos())
" call test_setmouse(1, 25)
call nvim_input_mouse('left', 'press', '', 0, 0, 24)
call getchar() " wait for and consume the mouse press
@@ -1775,7 +1787,7 @@ func Test_getmousepos()
\ winrow: 1,
\ wincol: 25,
\ line: 1,
\ column: 25,
\ column: 4,
\ }, getmousepos())
" call test_setmouse(1, 50)
call nvim_input_mouse('left', 'press', '', 0, 0, 49)
@@ -1787,7 +1799,7 @@ func Test_getmousepos()
\ winrow: 1,
\ wincol: 50,
\ line: 1,
\ column: 29,
\ column: 8,
\ }, getmousepos())
bwipe!
endfunc