aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_meta/vimfn.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-19 20:54:55 +0800
committerGitHub <noreply@github.com>2023-08-19 20:54:55 +0800
commitb263c73b083e43761386d46d62524ea104d7abbd (patch)
tree06968a7385a991c08cdc9db4b545c0c52f55cc38 /runtime/lua/vim/_meta/vimfn.lua
parent421713523e154009223c31cdbfe8486262c6f5e4 (diff)
downloadrneovim-b263c73b083e43761386d46d62524ea104d7abbd.tar.gz
rneovim-b263c73b083e43761386d46d62524ea104d7abbd.tar.bz2
rneovim-b263c73b083e43761386d46d62524ea104d7abbd.zip
vim-patch:9.0.1747: screenpos() may cause unnecessary redraw (#24792)
Problem: screenpos() may cause unnecessary redraw. Solution: Don't unnecessarily reset VALID_WROW flag. VALID_WROW flag is only used by two functions: validate_cursor() and cursor_valid(), and cursor_valid() is only used once in ex_sleep(). When adjust_plines_for_skipcol() was first added in patch 9.0.0640, it was called in two functions: comp_botline() and curs_rows(). - comp_botline() is called in two places: - onepage(), which resets VALID_WROW flag immediately afterwards. - validate_botline_win(), where resetting a VALID_ flag is strange. - curs_rows() is called in two places: - curs_columns(), which sets VALID_WROW flag afterwards. - validate_cline_row(), which is only used by GUI mouse focus. Therefore resetting VALID_WROW there doesn't seem to do anything useful. Also, a w_skipcol check (which resets VALID_WROW flag) was added to check_cursor_moved() in patch 9.0.0734, which seems to make more sense than resetting that flag in the middle of a computation. While at it make adjust_plines_for_skipcol() and textpos2screenpos() a bit less confusing: - Make adjust_plines_for_skipcol() return "off" instead of "n - off". - Use 0-based "row" in textpos2screenpos() until W_WINROW is added. closes: vim/vim#12832 https://github.com/vim/vim/commit/6235a109c48ff2559eca3b16578c429ffb61eadc
Diffstat (limited to 'runtime/lua/vim/_meta/vimfn.lua')
0 files changed, 0 insertions, 0 deletions