diff src/drawline.c @ 18720:7f066dff9d70 v8.1.2351

patch 8.1.2351: 'wincolor' not used for > for not fitting double width char Commit: https://github.com/vim/vim/commit/92e25ab2df03756bbb8523cf871db29fe8819c13 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Nov 26 22:39:10 2019 +0100 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.
author Bram Moolenaar <Bram@vim.org>
date Tue, 26 Nov 2019 22:45:04 +0100
parents f249b44039e0
children 49b78d6465e5
line wrap: on
line diff
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1230,8 +1230,7 @@ win_line(
 		    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 @@ win_line(
 			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 @@ win_line(
 		    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;