vim-patch:9.1.1136: Match highlighting marks a buffer region as changed (#32561)

Problem:  Match highlighting marks a buffer region to be redrawn as if
          its buffer text was changed, unnecessarily invoking syntax code.
Solution: Set the `w_redraw_top/bot` variables instead of the b_mod_* ones
          (Luuk van Baal)

7bbb0f357e
This commit is contained in:
luukvbaal
2025-02-23 09:35:26 +01:00
committed by GitHub
parent 1c81734871
commit 5a41f7e69c
3 changed files with 31 additions and 61 deletions

View File

@@ -2098,10 +2098,7 @@ static void foldUpdateIEMS(win_T *const wp, linenr_T top, linenr_T bot)
// this in other situations, the changed lines will be redrawn anyway and
// this method can cause the whole window to be updated.
if (end != bot) {
if (wp->w_redraw_top == 0 || wp->w_redraw_top > top) {
wp->w_redraw_top = top;
}
wp->w_redraw_bot = MAX(wp->w_redraw_bot, end);
redraw_win_range_later(wp, top, end);
}
invalid_top = 0;