From d80629cef03cd40b0bf06c402dfe0b720b3bf608 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 28 May 2016 15:53:53 +0200 Subject: patch 7.4.1854 Problem: When setting 'termguicolors' the Ignore highlighting doesn't work. (Charles Campbell) Solution: Handle the color names "fg" and "bg" when the GUI isn't running and no colors are speficied, fall back to black and white. --- src/syntax.c | 13 ++++++------- src/version.c | 2 ++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/syntax.c b/src/syntax.c index e68090db69..0face62b7f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -8486,11 +8486,11 @@ color_name2handle(char_u *name) #ifdef FEAT_GUI return gui.norm_pixel; #endif -#if defined(FEAT_TERMGUICOLORS) && defined(FEAT_GUI) - else -#endif #ifdef FEAT_TERMGUICOLORS + if (cterm_normal_fg_gui_color != (long_u)INVALCOLOR) return cterm_normal_fg_gui_color; + /* Guess that the foreground is black or white. */ + return GUI_GET_COLOR((char_u *)(*p_bg == 'l' ? "black" : "white")); #endif } if (STRICMP(name, "bg") == 0 || STRICMP(name, "background") == 0) @@ -8501,11 +8501,11 @@ color_name2handle(char_u *name) #ifdef FEAT_GUI return gui.back_pixel; #endif -#if defined(FEAT_TERMGUICOLORS) && defined(FEAT_GUI) - else -#endif #ifdef FEAT_TERMGUICOLORS + if (cterm_normal_bg_gui_color != (long_u)INVALCOLOR) return cterm_normal_bg_gui_color; + /* Guess that the background is white or black. */ + return GUI_GET_COLOR((char_u *)(*p_bg == 'l' ? "white" : "black")); #endif } @@ -8595,7 +8595,6 @@ get_attr_entry(garray_T *table, attrentry_T *aep) && aep->ae_u.cterm.bg_rgb == taep->ae_u.cterm.bg_rgb #endif - ))) return i + ATTR_OFF; diff --git a/src/version.c b/src/version.c index 83221e23bd..2ec25c0b5e 100644 --- a/src/version.c +++ b/src/version.c @@ -753,6 +753,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1854, /**/ 1853, /**/ -- cgit v1.2.3