changeset 31992:a509eb37a813 v9.0.1328

patch 9.0.1328: error when using "none" for GUI color is confusing Commit: https://github.com/vim/vim/commit/5b9f57262fdadf460e6355abf1eee95b4f96abe8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 19 20:49:38 2023 +0000 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 https://github.com/vim/vim/issues/1400)
author Bram Moolenaar <Bram@vim.org>
date Sun, 19 Feb 2023 22:00:03 +0100
parents 19571fecac05
children f2671bde6f4e
files src/errors.h src/gui.c src/testdir/test_highlight.vim src/version.c
diffstat 4 files changed, 16 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/errors.h
+++ b/src/errors.h
@@ -3447,3 +3447,5 @@ EXTERN char e_cannot_define_new_function
 EXTERN char e_using_null_object[]
 	INIT(= N_("E1360: Using a null object"));
 #endif
+EXTERN char e_cannot_use_color_none_did_you_mean_none[]
+	INIT(= N_("E1361: Cannot use color \"none\", did you mean \"NONE\"?"));
--- a/src/gui.c
+++ b/src/gui.c
@@ -4634,12 +4634,18 @@ gui_get_color(char_u *name)
 	return INVALCOLOR;
     t = gui_mch_get_color(name);
 
+    int is_none = STRCMP(name, "none") == 0;
     if (t == INVALCOLOR
 #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
-	    && gui.in_use
+	    && (gui.in_use || is_none)
 #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;
 }
 
--- a/src/testdir/test_highlight.vim
+++ b/src/testdir/test_highlight.vim
@@ -46,6 +46,10 @@ func Test_highlight()
   call assert_equal("Group3         xxx cleared",
 				\ split(execute("hi Group3"), "\n")[0])
   call assert_fails("hi Crash term='asdf", "E475:")
+
+  if has('gui_running')
+    call assert_fails('hi NotUsed guibg=none', 'E1361:')
+  endif
 endfunc
 
 func HighlightArgs(name)
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1328,
+/**/
     1327,
 /**/
     1326,