patch 8.1.2351: 'wincolor' not used for > for not fitting double width char
Problem: 'wincolor' not used for > for not fitting double width char.
Also: popup drawn on right half of double width character looks
wrong.
Solution: Adjust color for > character. Clear left half of double width
character if right half is being overwritten.
diff --git a/src/drawline.c b/src/drawline.c
index 54163c7..189ed80 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1230,8 +1230,7 @@
if (tocol == vcol)
tocol += n_extra;
// combine 'showbreak' with 'wincolor'
- if (win_attr != 0)
- char_attr = hl_combine_attr(win_attr, char_attr);
+ char_attr = hl_combine_attr(win_attr, char_attr);
# ifdef FEAT_SYN_HL
// combine 'showbreak' with 'cursorline'
if (cul_attr != 0)
@@ -1616,6 +1615,8 @@
if (cul_attr)
multi_attr = hl_combine_attr(multi_attr, cul_attr);
#endif
+ multi_attr = hl_combine_attr(win_attr, multi_attr);
+
// put the pointer back to output the double-width
// character at the start of the next line.
++n_extra;
@@ -1790,7 +1791,7 @@
mb_c = c;
mb_utf8 = FALSE;
mb_l = 1;
- multi_attr = HL_ATTR(HLF_AT);
+ multi_attr = hl_combine_attr(win_attr, HL_ATTR(HLF_AT));
// Put pointer back so that the character will be
// displayed at the start of the next line.
--ptr;