Mercurial > vim
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;