1
0
forked from aniani/vim

patch 8.2.0906: when setting 'termguicolors' SpellBad is no longer red

Problem:    When setting 'termguicolors' SpellBad is no longer red.
Solution:   Only use the RGB guisp color for cterm when using the "underline"
            or "undercurl" attributes to avoid the background color to be
            cleared. Also make t_8u empty when the termresponse indicates a
            real xterm. (closes #6207)
This commit is contained in:
Bram Moolenaar
2020-06-05 19:36:57 +02:00
parent e0c3c3d6cb
commit ea563cc22b
3 changed files with 13 additions and 1 deletions

View File

@@ -2929,7 +2929,12 @@ set_hl_attr(
# endif
at_en.ae_u.cterm.fg_rgb = GUI_MCH_GET_RGB2(sgp->sg_gui_fg);
at_en.ae_u.cterm.bg_rgb = GUI_MCH_GET_RGB2(sgp->sg_gui_bg);
at_en.ae_u.cterm.ul_rgb = GUI_MCH_GET_RGB2(sgp->sg_gui_sp);
// Only use the underline/undercurl color when used, it may clear the
// background color if not supported.
if (sgp->sg_cterm & (HL_UNDERLINE | HL_UNDERCURL))
at_en.ae_u.cterm.ul_rgb = GUI_MCH_GET_RGB2(sgp->sg_gui_sp);
else
at_en.ae_u.cterm.ul_rgb = INVALCOLOR;
if (at_en.ae_u.cterm.fg_rgb == INVALCOLOR
&& at_en.ae_u.cterm.bg_rgb == INVALCOLOR)
{