changeset 36094:2eb1862d58e6 v9.1.0715

patch 9.1.0715: Not correctly parsing color names (after v9.1.0709) Commit: https://github.com/vim/vim/commit/fa16e4351afd8f639428b09aa6a04c213683e9c2 Author: Christian Brabandt <cb@256bit.org> Date: Wed Sep 4 22:10:34 2024 +0200 patch 9.1.0715: Not correctly parsing color names (after v9.1.0709) Problem: Not correctly parsing color names (chdiza, after v9.1.0709) Solution: Revert part of the patch that compares the color names and fall-back to the macro STRICMP fixes: #15617 closes: #15619 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 04 Sep 2024 22:15:10 +0200
parents 2814af6d636d
children aadd85232fc6
files src/highlight.c src/misc2.c src/proto/misc2.pro src/version.c
diffstat 4 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/highlight.c
+++ b/src/highlight.c
@@ -1215,8 +1215,8 @@ highlight_set_cterm_color(
 
 	target.key = 0;
 	target.value = (char *)arg;
-	target.length = 0;	// not used, see cmp_keyvalue_value_ni()
-	entry = (keyvalue_T *)bsearch(&target, &color_name_tab, ARRAY_LENGTH(color_name_tab), sizeof(color_name_tab[0]), cmp_keyvalue_value_ni);
+	target.length = 0;	// not used, see cmp_keyvalue_value_i()
+	entry = (keyvalue_T *)bsearch(&target, &color_name_tab, ARRAY_LENGTH(color_name_tab), sizeof(color_name_tab[0]), cmp_keyvalue_value_i);
 	if (entry == NULL)
 	{
 	    semsg(_(e_color_name_or_number_not_recognized_str), key_start);
@@ -2542,8 +2542,8 @@ gui_get_color_cmn(char_u *name)
 
     target.key = 0;
     target.value = (char *)name;
-    target.length = 0;		// not used, see cmp_keyvalue_value_ni()
-    entry = (keyvalue_T *)bsearch(&target, &rgb_tab, ARRAY_LENGTH(rgb_tab), sizeof(rgb_tab[0]), cmp_keyvalue_value_ni);
+    target.length = 0;		// not used, see cmp_keyvalue_value_i()
+    entry = (keyvalue_T *)bsearch(&target, &rgb_tab, ARRAY_LENGTH(rgb_tab), sizeof(rgb_tab[0]), cmp_keyvalue_value_i);
     if (entry != NULL)
 	return gui_adjust_rgb((guicolor_T)entry->key);
 
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -3090,6 +3090,16 @@ cmp_keyvalue_value_n(const void *a, cons
     return STRNCMP(kv1->value, kv2->value, MAX(kv1->length, kv2->length));
 }
 
+// compare two keyvalue_T structs by case insensitive value
+    int
+cmp_keyvalue_value_i(const void *a, const void *b)
+{
+    keyvalue_T *kv1 = (keyvalue_T *)a;
+    keyvalue_T *kv2 = (keyvalue_T *)b;
+
+    return STRICMP(kv1->value, kv2->value);
+}
+
 // compare two keyvalue_T structs by case insensitive ASCII value
 // with length
     int
--- a/src/proto/misc2.pro
+++ b/src/proto/misc2.pro
@@ -63,5 +63,6 @@ int build_argv_from_list(list_T *l, char
 int get_special_pty_type(void);
 int cmp_keyvalue_value(const void *a, const void *b);
 int cmp_keyvalue_value_n(const void *a, const void *b);
+int cmp_keyvalue_value_i(const void *a, const void *b);
 int cmp_keyvalue_value_ni(const void *a, const void *b);
 /* vim: set ft=c : */
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    715,
+/**/
     714,
 /**/
     713,