1
0
forked from aniani/vim

patch 9.0.1328: error when using "none" for GUI color is confusing

Problem:    Error when using "none" for GUI color is confusing.
Solution:   Mention that the name should perhaps be "NONE". (closes #1400)
This commit is contained in:
Bram Moolenaar
2023-02-19 20:49:38 +00:00
parent ea62cee85e
commit 5b9f57262f
4 changed files with 16 additions and 2 deletions

View File

@@ -3447,3 +3447,5 @@ EXTERN char e_cannot_define_new_function_in_abstract_class[]
EXTERN char e_using_null_object[] EXTERN char e_using_null_object[]
INIT(= N_("E1360: Using a null object")); INIT(= N_("E1360: Using a null object"));
#endif #endif
EXTERN char e_cannot_use_color_none_did_you_mean_none[]
INIT(= N_("E1361: Cannot use color \"none\", did you mean \"NONE\"?"));

View File

@@ -4634,12 +4634,18 @@ gui_get_color(char_u *name)
return INVALCOLOR; return INVALCOLOR;
t = gui_mch_get_color(name); t = gui_mch_get_color(name);
int is_none = STRCMP(name, "none") == 0;
if (t == INVALCOLOR if (t == INVALCOLOR
#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
&& gui.in_use && (gui.in_use || is_none)
#endif #endif
) )
semsg(_(e_cannot_allocate_color_str), name); {
if (is_none)
emsg(_(e_cannot_use_color_none_did_you_mean_none));
else
semsg(_(e_cannot_allocate_color_str), name);
}
return t; return t;
} }

View File

@@ -46,6 +46,10 @@ func Test_highlight()
call assert_equal("Group3 xxx cleared", call assert_equal("Group3 xxx cleared",
\ split(execute("hi Group3"), "\n")[0]) \ split(execute("hi Group3"), "\n")[0])
call assert_fails("hi Crash term='asdf", "E475:") call assert_fails("hi Crash term='asdf", "E475:")
if has('gui_running')
call assert_fails('hi NotUsed guibg=none', 'E1361:')
endif
endfunc endfunc
func HighlightArgs(name) func HighlightArgs(name)

View File

@@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1328,
/**/ /**/
1327, 1327,
/**/ /**/