vim-patch:9.0.2022: getmousepos() returns wrong index for TAB char (#25636)

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: vim/vim#13321

b583eda703
This commit is contained in:
zeertzjq
2023-10-14 19:18:25 +08:00
committed by GitHub
parent 99b1163b5a
commit bcda800933
7 changed files with 65 additions and 6 deletions

View File

@@ -10099,6 +10099,8 @@ function vim.fn.virtcol(expr, list, winid) end
--- character in window {winid} at buffer line {lnum} and virtual
--- column {col}.
---
--- If buffer line {lnum} is an empty line, 0 is returned.
---
--- If {col} is greater than the last virtual column in line
--- {lnum}, then the byte index of the character at the last
--- virtual column is returned.