Mercurial > vim
diff src/testdir/test_cursor_func.vim @ 33549:bfe07ef45143 v9.0.2022
patch 9.0.2022: getmousepos() returns wrong index for TAB char
Commit: https://github.com/vim/vim/commit/b583eda7031b1f6a3469a2537d0c10ca5fa5568e
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat Oct 14 11:32:28 2023 +0200
patch 9.0.2022: getmousepos() returns wrong index for TAB char
Problem: When clicking in the middle of a TAB, getmousepos() returns
the column of the next char instead of the TAB.
Solution: Break out of the loop when the vcol to find is inside current
char. Fix invalid memory access when calling virtcol2col() on
an empty line.
closes: #13321
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 14 Oct 2023 11:45:04 +0200 |
parents | 0503955dcd34 |
children | 28e1e956f42c |
line wrap: on
line diff
--- a/src/testdir/test_cursor_func.vim +++ b/src/testdir/test_cursor_func.vim @@ -573,6 +573,11 @@ func Test_virtcol2col() call assert_equal(8, virtcol2col(0, 1, 7)) call assert_equal(8, virtcol2col(0, 1, 8)) + " These used to cause invalid memory access + call setline(1, '') + call assert_equal(0, virtcol2col(0, 1, 1)) + call assert_equal(0, virtcol2col(0, 1, 2)) + let w = winwidth(0) call setline(2, repeat('a', w + 2)) let win_nosbr = win_getid()