diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-02-06 18:05:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-06 18:05:06 +0800 |
commit | a945a31e768f9dfb09ff455229ed2c70b5ea6cf6 (patch) | |
tree | 0c5667140bc3ca054e35405b1b88de3b5d6f620b /src/nvim/move.c | |
parent | d6fac187f1dee41bb0d6161c160f5fb5842b59b7 (diff) | |
download | rneovim-a945a31e768f9dfb09ff455229ed2c70b5ea6cf6.tar.gz rneovim-a945a31e768f9dfb09ff455229ed2c70b5ea6cf6.tar.bz2 rneovim-a945a31e768f9dfb09ff455229ed2c70b5ea6cf6.zip |
vim-patch:9.1.0077: Unnecessary call to redraw_for_cursorline() in nv_mousescroll() (#27359)
Problem: The call to redraw_for_cursorline() in nv_mousescroll() is
unnecessary because redraw_for_cursorline() only sets redraw
type to UPD_VALID, and all code paths in do_mousescroll()
already set redraw type to at least UPD_VALID.
Solution: Remove call to redraw_for_cursorline() in nv_mousescroll().
(zeertzjq)
closes: vim/vim#13979
https://github.com/vim/vim/commit/3f1b5312e0fa0089f255bf9c0c3b27590552119e
Diffstat (limited to 'src/nvim/move.c')
-rw-r--r-- | src/nvim/move.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c index 1402b03f6d..1cf6e52ec8 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -135,6 +135,18 @@ static void comp_botline(win_T *wp) win_check_anchored_floats(wp); } +/// Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is set. +/// Also when concealing is on and 'concealcursor' is not active. +static void redraw_for_cursorline(win_T *wp) + FUNC_ATTR_NONNULL_ALL +{ + if ((wp->w_valid & VALID_CROW) == 0 && !pum_visible() + && (wp->w_p_rnu || win_cursorline_standout(wp))) { + // win_line() will redraw the number column and cursorline only. + redraw_later(wp, UPD_VALID); + } +} + /// Redraw when w_virtcol changes and /// - 'cursorcolumn' is set, or /// - 'cursorlineopt' contains "screenline", or |