]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1756: failing cursorline sign test v9.0.1756
authorChristian Brabandt <cb@256bit.org>
Sat, 19 Aug 2023 20:36:12 +0000 (22:36 +0200)
committerChristian Brabandt <cb@256bit.org>
Sat, 19 Aug 2023 20:36:12 +0000 (22:36 +0200)
Problem:  failing cursorline sign test
Solution: only reset char attr, if cursorline
          option is not set

Unfortunately, commit dbeadf05b6a152e7d9c5cc23d9202057f8e99884 causes a
failure with the sign test Test_sign_cursor_position()

The root cause is, that resetting the character attribute will also
reset the existing cursor line highlighting and this breaks the test,
that expects the cursor line highlighting to overrule the sign line
highlighting.

So change the condition to reset the character attribute by making sure
that this only happens, if the 'cursorline' option is not active and the
cursor is not at the same line as the line to be drawn

closes: #12854
closes: #12859

Signed-off-by: Christian Brabandt <cb@256bit.org>
src/drawline.c
src/version.c

index e3084d4c57356424de848093a1ee92465145218e..0be071876f0c9a011bee653d6f47413e2280d7ee 100644 (file)
@@ -3343,7 +3343,9 @@ win_line(
                        wlv.char_attr = wlv.line_attr;
 #ifdef FEAT_SIGNS
                    // At end of line: if Sign is present with line highlight, reset char_attr
-                   if (sign_present && wlv.sattr.sat_linehl > 0 && wlv.draw_state == WL_LINE)
+                   // but not when cursorline is active
+                   if (sign_present && wlv.sattr.sat_linehl > 0 && wlv.draw_state == WL_LINE
+                        && !(wp->w_p_cul && lnum == wp->w_cursor.lnum))
                        wlv.char_attr = wlv.sattr.sat_linehl;
 #endif
 # ifdef FEAT_DIFF
index b5dae7fd1981927be189016ab8b4f9fc41fb455d..bc3ddc1bebb7a0a4efd4398876779d4dc7f34fb8 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1756,
 /**/
     1755,
 /**/