diff options
author | luukvbaal <luukvbaal@gmail.com> | 2023-05-26 02:08:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-26 08:08:18 +0800 |
commit | f733595e795cd2b819cb8fd18327cd51f47b2124 (patch) | |
tree | 280a35641132753495e4720ff95b9a7358d75dfe /src/nvim/drawscreen.c | |
parent | ee986ee0449b828ca64bf7d4c69624596aab8319 (diff) | |
download | rneovim-f733595e795cd2b819cb8fd18327cd51f47b2124.tar.gz rneovim-f733595e795cd2b819cb8fd18327cd51f47b2124.tar.bz2 rneovim-f733595e795cd2b819cb8fd18327cd51f47b2124.zip |
vim-patch:9.0.1578: SpellCap highlight not always updated when needed (#23755)
Problem: SpellCap highlight not always updated when needed.
Solution: Handle updating line below closed fold and other situations where
only part of the window is redrawn. (Luuk van Baal, closes vim/vim#12428,
closes vim/vim#12420)
https://github.com/vim/vim/commit/2ac6497f0ef186f0e3ba67d7f0a485bfb612bb08
Diffstat (limited to 'src/nvim/drawscreen.c')
-rw-r--r-- | src/nvim/drawscreen.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 7f7c721379..4f79ba87af 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -2222,9 +2222,8 @@ static void win_update(win_T *wp, DecorProviders *providers) } // Display one line - row = win_line(wp, lnum, srow, - foldinfo.fi_lines ? srow : wp->w_grid.rows, - mod_top == 0, false, foldinfo, &line_providers, &provider_err); + row = win_line(wp, lnum, srow, foldinfo.fi_lines ? srow : wp->w_grid.rows, + mod_top, false, foldinfo, &line_providers, &provider_err); if (foldinfo.fi_lines == 0) { wp->w_lines[idx].wl_folded = false; @@ -2261,7 +2260,7 @@ static void win_update(win_T *wp, DecorProviders *providers) // text doesn't need to be drawn, but the number column does. foldinfo_T info = wp->w_p_cul && lnum == wp->w_cursor.lnum ? cursorline_fi : fold_info(wp, lnum); - (void)win_line(wp, lnum, srow, wp->w_grid.rows, true, true, + (void)win_line(wp, lnum, srow, wp->w_grid.rows, mod_top, true, info, &line_providers, &provider_err); } @@ -2359,7 +2358,7 @@ static void win_update(win_T *wp, DecorProviders *providers) // for ml_line_count+1 and only draw filler lines foldinfo_T info = { 0 }; row = win_line(wp, wp->w_botline, row, wp->w_grid.rows, - false, false, info, &line_providers, &provider_err); + mod_top, false, info, &line_providers, &provider_err); } } else if (dollar_vcol == -1) { wp->w_botline = lnum; |