]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0119: incorrect highlight initialization in win_init() v9.2.0119
authorFoxe Chen <chen.foxe@gmail.com>
Sat, 7 Mar 2026 18:35:39 +0000 (18:35 +0000)
committerChristian Brabandt <cb@256bit.org>
Sat, 7 Mar 2026 18:35:39 +0000 (18:35 +0000)
Problem:  When initializing a window in win_init(), w_hl is reset to
          NULL without ensuring existing highlight overrides are
          cleared (after v9.2.0113)
Solution: Clear highlight overrides and reset w_hl in win_init(). Remove
          the redundant VIM_CLEAR() from win_init_empty() (Foxe Chen).

closes: #19609

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/version.c
src/window.c

index 40fbefb3c98ed7a246c0f473cea2d62fbd5098cb..1135e03cca02e9331854784eed6bd6b285f4ba1a 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    119,
 /**/
     118,
 /**/
index 525fc4b2eb03af8e5ac606b37b961f9da50ab20a..2925fbe2335b29de2d6b38cb42b5ed1f29f2fff7 100644 (file)
@@ -1565,7 +1565,11 @@ win_init(win_T *newp, win_T *oldp, int flags UNUSED)
     newp->w_wrow = oldp->w_wrow;
     newp->w_fraction = oldp->w_fraction;
     newp->w_prev_fraction_row = oldp->w_prev_fraction_row;
-    newp->w_hl = NULL;
+
+    // Not sure if this is needed, but be safe
+    remove_highlight_overrides(newp->w_hl);
+    VIM_CLEAR(newp->w_hl);
+
     copy_jumplist(oldp, newp);
 #ifdef FEAT_QUICKFIX
     if (flags & WSP_NEWLOC)
@@ -2522,7 +2526,6 @@ win_init_empty(win_T *wp)
     wp->w_prev_pcmark.lnum = 0;
     wp->w_prev_pcmark.col = 0;
     wp->w_topline = 1;
-    VIM_CLEAR(wp->w_hl);
 #ifdef FEAT_DIFF
     wp->w_topfill = 0;
 #endif