patch 7.4.2073 v7.4.2073
authorBram Moolenaar <Bram@vim.org>
Tue, 19 Jul 2016 19:05:21 +0000 (21:05 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 19 Jul 2016 19:05:21 +0000 (21:05 +0200)
Problem:    rgb.txt is read for every color name.
Solution:   Load rgb.txt once. (Christian Brabandt)  Add a test.

runtime/rgb.txt
src/term.c
src/testdir/test_syn_attr.vim
src/version.c

index 5bc2baa3d6ee0f8252995be719e91c388af5787d..eeaadbe9f2076c2924b3041c42aea4141f2bbf46 100644 (file)
@@ -1,4 +1,3 @@
-! $XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp $
 255 250 250            snow
 248 248 255            ghost white
 248 248 255            GhostWhite
 119 136 153            LightSlateGrey
 190 190 190            gray
 190 190 190            grey
+190 190 190            x11 gray
+190 190 190            X11Gray
+190 190 190            x11 grey
+190 190 190            X11Grey
+128 128 128            web gray
+128 128 128            WebGray
+128 128 128            web grey
+128 128 128            WebGrey
 211 211 211            light grey
 211 211 211            LightGrey
 211 211 211            light gray
  72 209 204            MediumTurquoise
  64 224 208            turquoise
   0 255 255            cyan
+  0 255 255            aqua
 224 255 255            light cyan
 224 255 255            LightCyan
  95 158 160            cadet blue
 124 252   0            lawn green
 124 252   0            LawnGreen
   0 255   0            green
+  0 255   0            lime
+  0 255   0            x11 green
+  0 255   0            X11Green
+  0 128   0            web green
+  0 128   0            WebGreen
 127 255   0            chartreuse
   0 250 154            medium spring green
   0 250 154            MediumSpringGreen
 219 112 147            pale violet red
 219 112 147            PaleVioletRed
 176  48  96            maroon
+176  48  96            x11 maroon
+176  48  96            X11Maroon
+128   0   0            web maroon
+128   0   0            WebMaroon
 199  21 133            medium violet red
 199  21 133            MediumVioletRed
 208  32 144            violet red
 208  32 144            VioletRed
 255   0 255            magenta
+255   0 255            fuchsia
 238 130 238            violet
 221 160 221            plum
 218 112 214            orchid
 138  43 226            blue violet
 138  43 226            BlueViolet
 160  32 240            purple
+160  32 240            x11 purple
+160  32 240            X11Purple
+128   0 128            web purple
+128   0 128            WebPurple
 147 112 219            medium purple
 147 112 219            MediumPurple
 216 191 216            thistle
 139   0   0            DarkRed
 144 238 144            light green
 144 238 144            LightGreen
+220  20  60            crimson
+ 75   0 130            indigo
+128 128   0            olive
+102  51 153            rebecca purple
+102  51 153            RebeccaPurple
+192 192 192            silver
+  0 128 128            teal
index ba2d473bcc9b8be718a7d1f7298f1c7a329681db..aecdadfed76406816508e0e9b52f9f07773545e2 100644 (file)
@@ -6086,6 +6086,8 @@ gui_get_color_cmn(char_u *name)
        guicolor_T  color;
     };
 
+    /* Only non X11 colors (not present in rgb.txt) and colors in
+     * color_names[], useful when $VIMRUNTIME is not found,. */
     static struct rgbcolor_table_S rgb_table[] = {
            {(char_u *)"black",         RGB(0x00, 0x00, 0x00)},
            {(char_u *)"blue",          RGB(0x00, 0x00, 0xFF)},
@@ -6100,26 +6102,8 @@ gui_get_color_cmn(char_u *name)
            {(char_u *)"darkred",       RGB(0x8B, 0x00, 0x00)},
            {(char_u *)"darkyellow",    RGB(0x8B, 0x8B, 0x00)}, /* No X11 */
            {(char_u *)"gray",          RGB(0xBE, 0xBE, 0xBE)},
-           {(char_u *)"gray10",        RGB(0x1A, 0x1A, 0x1A)},
-           {(char_u *)"gray20",        RGB(0x33, 0x33, 0x33)},
-           {(char_u *)"gray30",        RGB(0x4D, 0x4D, 0x4D)},
-           {(char_u *)"gray40",        RGB(0x66, 0x66, 0x66)},
-           {(char_u *)"gray50",        RGB(0x7F, 0x7F, 0x7F)},
-           {(char_u *)"gray60",        RGB(0x99, 0x99, 0x99)},
-           {(char_u *)"gray70",        RGB(0xB3, 0xB3, 0xB3)},
-           {(char_u *)"gray80",        RGB(0xCC, 0xCC, 0xCC)},
-           {(char_u *)"gray90",        RGB(0xE5, 0xE5, 0xE5)},
            {(char_u *)"green",         RGB(0x00, 0xFF, 0x00)},
            {(char_u *)"grey",          RGB(0xBE, 0xBE, 0xBE)},
-           {(char_u *)"grey10",        RGB(0x1A, 0x1A, 0x1A)},
-           {(char_u *)"grey20",        RGB(0x33, 0x33, 0x33)},
-           {(char_u *)"grey30",        RGB(0x4D, 0x4D, 0x4D)},
-           {(char_u *)"grey40",        RGB(0x66, 0x66, 0x66)},
-           {(char_u *)"grey50",        RGB(0x7F, 0x7F, 0x7F)},
-           {(char_u *)"grey60",        RGB(0x99, 0x99, 0x99)},
-           {(char_u *)"grey70",        RGB(0xB3, 0xB3, 0xB3)},
-           {(char_u *)"grey80",        RGB(0xCC, 0xCC, 0xCC)},
-           {(char_u *)"grey90",        RGB(0xE5, 0xE5, 0xE5)},
            {(char_u *)"lightblue",     RGB(0xAD, 0xD8, 0xE6)},
            {(char_u *)"lightcyan",     RGB(0xE0, 0xFF, 0xFF)},
            {(char_u *)"lightgray",     RGB(0xD3, 0xD3, 0xD3)},
@@ -6129,16 +6113,13 @@ gui_get_color_cmn(char_u *name)
            {(char_u *)"lightred",      RGB(0xFF, 0x8B, 0x8B)}, /* No X11 */
            {(char_u *)"lightyellow",   RGB(0xFF, 0xFF, 0xE0)},
            {(char_u *)"magenta",       RGB(0xFF, 0x00, 0xFF)},
-           {(char_u *)"orange",        RGB(0xFF, 0xA5, 0x00)},
-           {(char_u *)"purple",        RGB(0xA0, 0x20, 0xF0)},
            {(char_u *)"red",           RGB(0xFF, 0x00, 0x00)},
-           {(char_u *)"seagreen",      RGB(0x2E, 0x8B, 0x57)},
-           {(char_u *)"slateblue",     RGB(0x6A, 0x5A, 0xCD)},
-           {(char_u *)"violet",        RGB(0xEE, 0x82, 0xEE)},
            {(char_u *)"white",         RGB(0xFF, 0xFF, 0xFF)},
            {(char_u *)"yellow",        RGB(0xFF, 0xFF, 0x00)},
     };
 
+    static struct rgbcolor_table_S *colornames_table;
+    static int size = 0;
 
     if (name[0] == '#' && STRLEN(name) == 7)
     {
@@ -6159,44 +6140,75 @@ gui_get_color_cmn(char_u *name)
     /*
      * Last attempt. Look in the file "$VIM/rgb.txt".
      */
+    if (size == 0)
+    {
+       int counting;
 
-    fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
-    if (fname == NULL)
-       return INVALCOLOR;
+       /* colornames_table not yet initialized */
+       fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
+       if (fname == NULL)
+           return INVALCOLOR;
 
-    fd = fopen((char *)fname, "rt");
-    vim_free(fname);
-    if (fd == NULL)
-    {
-       if (p_verbose > 1)
-           verb_msg((char_u *)_("Cannot open $VIMRUNTIME/rgb.txt"));
-       return INVALCOLOR;
-    }
+       fd = fopen((char *)fname, "rt");
+       vim_free(fname);
+       if (fd == NULL)
+       {
+           if (p_verbose > 1)
+               verb_msg((char_u *)_("Cannot open $VIMRUNTIME/rgb.txt"));
+           return INVALCOLOR;
+       }
 
-    while (!feof(fd))
-    {
-       size_t          len;
-       int             pos;
+       for (counting = 1; counting >= 0; --counting)
+       {
+           if (!counting)
+           {
+               colornames_table = (struct rgbcolor_table_S *)alloc(
+                          (unsigned)(sizeof(struct rgbcolor_table_S) * size));
+               if (colornames_table == NULL)
+               {
+                   fclose(fd);
+                   return INVALCOLOR;
+               }
+               rewind(fd);
+           }
+           size = 0;
 
-       ignoredp = fgets(line, LINE_LEN, fd);
-       len = strlen(line);
+           while (!feof(fd))
+           {
+               size_t  len;
+               int     pos;
 
-       if (len <= 1 || line[len - 1] != '\n')
-           continue;
+               ignoredp = fgets(line, LINE_LEN, fd);
+               len = strlen(line);
 
-       line[len - 1] = '\0';
+               if (len <= 1 || line[len - 1] != '\n')
+                   continue;
 
-       i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
-       if (i != 3)
-           continue;
+               line[len - 1] = '\0';
 
-       if (STRICMP(line + pos, name) == 0)
-       {
-           fclose(fd);
-           return (guicolor_T)RGB(r, g, b);
+               i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
+               if (i != 3)
+                   continue;
+
+               if (!counting)
+               {
+                   char_u *s = vim_strsave((char_u *)line + pos);
+
+                   if (s == NULL)
+                       return INVALCOLOR;
+                   colornames_table[size].color_name = s;
+                   colornames_table[size].color = (guicolor_T)RGB(r, g, b);
+               }
+               size++;
+           }
        }
+       fclose(fd);
     }
-    fclose(fd);
+
+    for (i = 0; i < size; i++)
+       if (STRICMP(name, colornames_table[i].color_name) == 0)
+           return colornames_table[i].color;
+
     return INVALCOLOR;
 }
 #endif
index fe6acaf6e5e7b5bfee3524a724df661f197a72f4..27f9fc0dde69ca6342f2bb64c0cfc4a26fb0aca8 100644 (file)
@@ -33,3 +33,786 @@ func Test_missing_attr()
     call assert_equal(fontname, synIDattr(hlID("Mine"), "font", 'gui'))
   endif
 endfunc
+
+func Test_color_names()
+  let colors = [
+       \ 'AliceBlue',
+       \ 'AntiqueWhite',
+       \ 'AntiqueWhite1',
+       \ 'AntiqueWhite2',
+       \ 'AntiqueWhite3',
+       \ 'AntiqueWhite4',
+       \ 'BlanchedAlmond',
+       \ 'BlueViolet',
+       \ 'CadetBlue',
+       \ 'CadetBlue1',
+       \ 'CadetBlue2',
+       \ 'CadetBlue3',
+       \ 'CadetBlue4',
+       \ 'CornflowerBlue',
+       \ 'DarkBlue',
+       \ 'DarkCyan',
+       \ 'DarkGoldenrod',
+       \ 'DarkGoldenrod1',
+       \ 'DarkGoldenrod2',
+       \ 'DarkGoldenrod3',
+       \ 'DarkGoldenrod4',
+       \ 'DarkGray',
+       \ 'DarkGreen',
+       \ 'DarkGrey',
+       \ 'DarkKhaki',
+       \ 'DarkMagenta',
+       \ 'DarkOliveGreen',
+       \ 'DarkOliveGreen1',
+       \ 'DarkOliveGreen2',
+       \ 'DarkOliveGreen3',
+       \ 'DarkOliveGreen4',
+       \ 'DarkOrange',
+       \ 'DarkOrange1',
+       \ 'DarkOrange2',
+       \ 'DarkOrange3',
+       \ 'DarkOrange4',
+       \ 'DarkOrchid',
+       \ 'DarkOrchid1',
+       \ 'DarkOrchid2',
+       \ 'DarkOrchid3',
+       \ 'DarkOrchid4',
+       \ 'DarkRed',
+       \ 'DarkSalmon',
+       \ 'DarkSeaGreen',
+       \ 'DarkSeaGreen1',
+       \ 'DarkSeaGreen2',
+       \ 'DarkSeaGreen3',
+       \ 'DarkSeaGreen4',
+       \ 'DarkSlateBlue',
+       \ 'DarkSlateGray',
+       \ 'DarkSlateGray1',
+       \ 'DarkSlateGray2',
+       \ 'DarkSlateGray3',
+       \ 'DarkSlateGray4',
+       \ 'DarkSlateGrey',
+       \ 'DarkTurquoise',
+       \ 'DarkViolet',
+       \ 'DeepPink',
+       \ 'DeepPink1',
+       \ 'DeepPink2',
+       \ 'DeepPink3',
+       \ 'DeepPink4',
+       \ 'DeepSkyBlue',
+       \ 'DeepSkyBlue1',
+       \ 'DeepSkyBlue2',
+       \ 'DeepSkyBlue3',
+       \ 'DeepSkyBlue4',
+       \ 'DimGray',
+       \ 'DimGrey',
+       \ 'DodgerBlue',
+       \ 'DodgerBlue1',
+       \ 'DodgerBlue2',
+       \ 'DodgerBlue3',
+       \ 'DodgerBlue4',
+       \ 'FloralWhite',
+       \ 'ForestGreen',
+       \ 'GhostWhite',
+       \ 'GreenYellow',
+       \ 'HotPink',
+       \ 'HotPink1',
+       \ 'HotPink2',
+       \ 'HotPink3',
+       \ 'HotPink4',
+       \ 'IndianRed',
+       \ 'IndianRed1',
+       \ 'IndianRed2',
+       \ 'IndianRed3',
+       \ 'IndianRed4',
+       \ 'LavenderBlush',
+       \ 'LavenderBlush1',
+       \ 'LavenderBlush2',
+       \ 'LavenderBlush3',
+       \ 'LavenderBlush4',
+       \ 'LawnGreen',
+       \ 'LemonChiffon',
+       \ 'LemonChiffon1',
+       \ 'LemonChiffon2',
+       \ 'LemonChiffon3',
+       \ 'LemonChiffon4',
+       \ 'LightBlue',
+       \ 'LightBlue1',
+       \ 'LightBlue2',
+       \ 'LightBlue3',
+       \ 'LightBlue4',
+       \ 'LightCoral',
+       \ 'LightCyan',
+       \ 'LightCyan1',
+       \ 'LightCyan2',
+       \ 'LightCyan3',
+       \ 'LightCyan4',
+       \ 'LightGoldenrod',
+       \ 'LightGoldenrod1',
+       \ 'LightGoldenrod2',
+       \ 'LightGoldenrod3',
+       \ 'LightGoldenrod4',
+       \ 'LightGoldenrodYellow',
+       \ 'LightGray',
+       \ 'LightGreen',
+       \ 'LightGrey',
+       \ 'LightPink',
+       \ 'LightPink1',
+       \ 'LightPink2',
+       \ 'LightPink3',
+       \ 'LightPink4',
+       \ 'LightSalmon',
+       \ 'LightSalmon1',
+       \ 'LightSalmon2',
+       \ 'LightSalmon3',
+       \ 'LightSalmon4',
+       \ 'LightSeaGreen',
+       \ 'LightSkyBlue',
+       \ 'LightSkyBlue1',
+       \ 'LightSkyBlue2',
+       \ 'LightSkyBlue3',
+       \ 'LightSkyBlue4',
+       \ 'LightSlateBlue',
+       \ 'LightSlateGray',
+       \ 'LightSlateGrey',
+       \ 'LightSteelBlue',
+       \ 'LightSteelBlue1',
+       \ 'LightSteelBlue2',
+       \ 'LightSteelBlue3',
+       \ 'LightSteelBlue4',
+       \ 'LightYellow',
+       \ 'LightYellow1',
+       \ 'LightYellow2',
+       \ 'LightYellow3',
+       \ 'LightYellow4',
+       \ 'LimeGreen',
+       \ 'MediumAquamarine',
+       \ 'MediumBlue',
+       \ 'MediumOrchid',
+       \ 'MediumOrchid1',
+       \ 'MediumOrchid2',
+       \ 'MediumOrchid3',
+       \ 'MediumOrchid4',
+       \ 'MediumPurple',
+       \ 'MediumPurple1',
+       \ 'MediumPurple2',
+       \ 'MediumPurple3',
+       \ 'MediumPurple4',
+       \ 'MediumSeaGreen',
+       \ 'MediumSlateBlue',
+       \ 'MediumSpringGreen',
+       \ 'MediumTurquoise',
+       \ 'MediumVioletRed',
+       \ 'MidnightBlue',
+       \ 'MintCream',
+       \ 'MistyRose',
+       \ 'MistyRose1',
+       \ 'MistyRose2',
+       \ 'MistyRose3',
+       \ 'MistyRose4',
+       \ 'NavajoWhite',
+       \ 'NavajoWhite1',
+       \ 'NavajoWhite2',
+       \ 'NavajoWhite3',
+       \ 'NavajoWhite4',
+       \ 'NavyBlue',
+       \ 'OldLace',
+       \ 'OliveDrab',
+       \ 'OliveDrab1',
+       \ 'OliveDrab2',
+       \ 'OliveDrab3',
+       \ 'OliveDrab4',
+       \ 'OrangeRed',
+       \ 'OrangeRed1',
+       \ 'OrangeRed2',
+       \ 'OrangeRed3',
+       \ 'OrangeRed4',
+       \ 'PaleGoldenrod',
+       \ 'PaleGreen',
+       \ 'PaleGreen1',
+       \ 'PaleGreen2',
+       \ 'PaleGreen3',
+       \ 'PaleGreen4',
+       \ 'PaleTurquoise',
+       \ 'PaleTurquoise1',
+       \ 'PaleTurquoise2',
+       \ 'PaleTurquoise3',
+       \ 'PaleTurquoise4',
+       \ 'PaleVioletRed',
+       \ 'PaleVioletRed1',
+       \ 'PaleVioletRed2',
+       \ 'PaleVioletRed3',
+       \ 'PaleVioletRed4',
+       \ 'PapayaWhip',
+       \ 'PeachPuff',
+       \ 'PeachPuff1',
+       \ 'PeachPuff2',
+       \ 'PeachPuff3',
+       \ 'PeachPuff4',
+       \ 'PowderBlue',
+       \ 'RosyBrown',
+       \ 'RosyBrown1',
+       \ 'RosyBrown2',
+       \ 'RosyBrown3',
+       \ 'RosyBrown4',
+       \ 'RoyalBlue',
+       \ 'RoyalBlue1',
+       \ 'RoyalBlue2',
+       \ 'RoyalBlue3',
+       \ 'RoyalBlue4',
+       \ 'SaddleBrown',
+       \ 'SandyBrown',
+       \ 'SeaGreen',
+       \ 'SeaGreen1',
+       \ 'SeaGreen2',
+       \ 'SeaGreen3',
+       \ 'SeaGreen4',
+       \ 'SkyBlue',
+       \ 'SkyBlue1',
+       \ 'SkyBlue2',
+       \ 'SkyBlue3',
+       \ 'SkyBlue4',
+       \ 'SlateBlue',
+       \ 'SlateBlue1',
+       \ 'SlateBlue2',
+       \ 'SlateBlue3',
+       \ 'SlateBlue4',
+       \ 'SlateGray',
+       \ 'SlateGray1',
+       \ 'SlateGray2',
+       \ 'SlateGray3',
+       \ 'SlateGray4',
+       \ 'SlateGrey',
+       \ 'SpringGreen',
+       \ 'SpringGreen1',
+       \ 'SpringGreen2',
+       \ 'SpringGreen3',
+       \ 'SpringGreen4',
+       \ 'SteelBlue',
+       \ 'SteelBlue1',
+       \ 'SteelBlue2',
+       \ 'SteelBlue3',
+       \ 'SteelBlue4',
+       \ 'VioletRed',
+       \ 'VioletRed1',
+       \ 'VioletRed2',
+       \ 'VioletRed3',
+       \ 'VioletRed4',
+       \ 'WhiteSmoke',
+       \ 'YellowGreen',
+       \ 'alice blue',
+       \ 'antique white',
+       \ 'aquamarine',
+       \ 'aquamarine1',
+       \ 'aquamarine2',
+       \ 'aquamarine3',
+       \ 'aquamarine4',
+       \ 'azure',
+       \ 'azure1',
+       \ 'azure2',
+       \ 'azure3',
+       \ 'azure4',
+       \ 'beige',
+       \ 'bisque',
+       \ 'bisque1',
+       \ 'bisque2',
+       \ 'bisque3',
+       \ 'bisque4',
+       \ 'black',
+       \ 'blanched almond',
+       \ 'blue violet',
+       \ 'blue',
+       \ 'blue1',
+       \ 'blue2',
+       \ 'blue3',
+       \ 'blue4',
+       \ 'brown',
+       \ 'brown1',
+       \ 'brown2',
+       \ 'brown3',
+       \ 'brown4',
+       \ 'burlywood',
+       \ 'burlywood1',
+       \ 'burlywood2',
+       \ 'burlywood3',
+       \ 'burlywood4',
+       \ 'cadet blue',
+       \ 'chartreuse',
+       \ 'chartreuse1',
+       \ 'chartreuse2',
+       \ 'chartreuse3',
+       \ 'chartreuse4',
+       \ 'chocolate',
+       \ 'chocolate1',
+       \ 'chocolate2',
+       \ 'chocolate3',
+       \ 'chocolate4',
+       \ 'coral',
+       \ 'coral1',
+       \ 'coral2',
+       \ 'coral3',
+       \ 'coral4',
+       \ 'cornflower blue',
+       \ 'cornsilk',
+       \ 'cornsilk1',
+       \ 'cornsilk2',
+       \ 'cornsilk3',
+       \ 'cornsilk4',
+       \ 'cyan',
+       \ 'cyan1',
+       \ 'cyan2',
+       \ 'cyan3',
+       \ 'cyan4',
+       \ 'dark blue',
+       \ 'dark cyan',
+       \ 'dark goldenrod',
+       \ 'dark gray',
+       \ 'dark green',
+       \ 'dark grey',
+       \ 'dark khaki',
+       \ 'dark magenta',
+       \ 'dark olive green',
+       \ 'dark orange',
+       \ 'dark orchid',
+       \ 'dark red',
+       \ 'dark salmon',
+       \ 'dark sea green',
+       \ 'dark slate blue',
+       \ 'dark slate gray',
+       \ 'dark slate grey',
+       \ 'dark turquoise',
+       \ 'dark violet',
+       \ 'darkblue',
+       \ 'darkcyan',
+       \ 'darkgray',
+       \ 'darkgreen',
+       \ 'darkgrey',
+       \ 'darkmagenta',
+       \ 'darkred',
+       \ 'darkyellow',
+       \ 'deep pink',
+       \ 'deep sky blue',
+       \ 'dim gray',
+       \ 'dim grey',
+       \ 'dodger blue',
+       \ 'firebrick',
+       \ 'firebrick1',
+       \ 'firebrick2',
+       \ 'firebrick3',
+       \ 'firebrick4',
+       \ 'floral white',
+       \ 'forest green',
+       \ 'gainsboro',
+       \ 'ghost white',
+       \ 'gold',
+       \ 'gold1',
+       \ 'gold2',
+       \ 'gold3',
+       \ 'gold4',
+       \ 'goldenrod',
+       \ 'goldenrod1',
+       \ 'goldenrod2',
+       \ 'goldenrod3',
+       \ 'goldenrod4',
+       \ 'gray',
+       \ 'gray0',
+       \ 'gray1',
+       \ 'gray10',
+       \ 'gray100',
+       \ 'gray11',
+       \ 'gray12',
+       \ 'gray13',
+       \ 'gray14',
+       \ 'gray15',
+       \ 'gray16',
+       \ 'gray17',
+       \ 'gray18',
+       \ 'gray19',
+       \ 'gray2',
+       \ 'gray20',
+       \ 'gray21',
+       \ 'gray22',
+       \ 'gray23',
+       \ 'gray24',
+       \ 'gray25',
+       \ 'gray26',
+       \ 'gray27',
+       \ 'gray28',
+       \ 'gray29',
+       \ 'gray3',
+       \ 'gray30',
+       \ 'gray31',
+       \ 'gray32',
+       \ 'gray33',
+       \ 'gray34',
+       \ 'gray35',
+       \ 'gray36',
+       \ 'gray37',
+       \ 'gray38',
+       \ 'gray39',
+       \ 'gray4',
+       \ 'gray40',
+       \ 'gray41',
+       \ 'gray42',
+       \ 'gray43',
+       \ 'gray44',
+       \ 'gray45',
+       \ 'gray46',
+       \ 'gray47',
+       \ 'gray48',
+       \ 'gray49',
+       \ 'gray5',
+       \ 'gray50',
+       \ 'gray51',
+       \ 'gray52',
+       \ 'gray53',
+       \ 'gray54',
+       \ 'gray55',
+       \ 'gray56',
+       \ 'gray57',
+       \ 'gray58',
+       \ 'gray59',
+       \ 'gray6',
+       \ 'gray60',
+       \ 'gray61',
+       \ 'gray62',
+       \ 'gray63',
+       \ 'gray64',
+       \ 'gray65',
+       \ 'gray66',
+       \ 'gray67',
+       \ 'gray68',
+       \ 'gray69',
+       \ 'gray7',
+       \ 'gray70',
+       \ 'gray71',
+       \ 'gray72',
+       \ 'gray73',
+       \ 'gray74',
+       \ 'gray75',
+       \ 'gray76',
+       \ 'gray77',
+       \ 'gray78',
+       \ 'gray79',
+       \ 'gray8',
+       \ 'gray80',
+       \ 'gray81',
+       \ 'gray82',
+       \ 'gray83',
+       \ 'gray84',
+       \ 'gray85',
+       \ 'gray86',
+       \ 'gray87',
+       \ 'gray88',
+       \ 'gray89',
+       \ 'gray9',
+       \ 'gray90',
+       \ 'gray91',
+       \ 'gray92',
+       \ 'gray93',
+       \ 'gray94',
+       \ 'gray95',
+       \ 'gray96',
+       \ 'gray97',
+       \ 'gray98',
+       \ 'gray99',
+       \ 'green yellow',
+       \ 'green',
+       \ 'green1',
+       \ 'green2',
+       \ 'green3',
+       \ 'green4',
+       \ 'grey',
+       \ 'grey0',
+       \ 'grey1',
+       \ 'grey10',
+       \ 'grey100',
+       \ 'grey11',
+       \ 'grey12',
+       \ 'grey13',
+       \ 'grey14',
+       \ 'grey15',
+       \ 'grey16',
+       \ 'grey17',
+       \ 'grey18',
+       \ 'grey19',
+       \ 'grey2',
+       \ 'grey20',
+       \ 'grey21',
+       \ 'grey22',
+       \ 'grey23',
+       \ 'grey24',
+       \ 'grey25',
+       \ 'grey26',
+       \ 'grey27',
+       \ 'grey28',
+       \ 'grey29',
+       \ 'grey3',
+       \ 'grey30',
+       \ 'grey31',
+       \ 'grey32',
+       \ 'grey33',
+       \ 'grey34',
+       \ 'grey35',
+       \ 'grey36',
+       \ 'grey37',
+       \ 'grey38',
+       \ 'grey39',
+       \ 'grey4',
+       \ 'grey40',
+       \ 'grey41',
+       \ 'grey42',
+       \ 'grey43',
+       \ 'grey44',
+       \ 'grey45',
+       \ 'grey46',
+       \ 'grey47',
+       \ 'grey48',
+       \ 'grey49',
+       \ 'grey5',
+       \ 'grey50',
+       \ 'grey51',
+       \ 'grey52',
+       \ 'grey53',
+       \ 'grey54',
+       \ 'grey55',
+       \ 'grey56',
+       \ 'grey57',
+       \ 'grey58',
+       \ 'grey59',
+       \ 'grey6',
+       \ 'grey60',
+       \ 'grey61',
+       \ 'grey62',
+       \ 'grey63',
+       \ 'grey64',
+       \ 'grey65',
+       \ 'grey66',
+       \ 'grey67',
+       \ 'grey68',
+       \ 'grey69',
+       \ 'grey7',
+       \ 'grey70',
+       \ 'grey71',
+       \ 'grey72',
+       \ 'grey73',
+       \ 'grey74',
+       \ 'grey75',
+       \ 'grey76',
+       \ 'grey77',
+       \ 'grey78',
+       \ 'grey79',
+       \ 'grey8',
+       \ 'grey80',
+       \ 'grey81',
+       \ 'grey82',
+       \ 'grey83',
+       \ 'grey84',
+       \ 'grey85',
+       \ 'grey86',
+       \ 'grey87',
+       \ 'grey88',
+       \ 'grey89',
+       \ 'grey9',
+       \ 'grey90',
+       \ 'grey91',
+       \ 'grey92',
+       \ 'grey93',
+       \ 'grey94',
+       \ 'grey95',
+       \ 'grey96',
+       \ 'grey97',
+       \ 'grey98',
+       \ 'grey99',
+       \ 'honeydew',
+       \ 'honeydew1',
+       \ 'honeydew2',
+       \ 'honeydew3',
+       \ 'honeydew4',
+       \ 'hot pink',
+       \ 'indian red',
+       \ 'ivory',
+       \ 'ivory1',
+       \ 'ivory2',
+       \ 'ivory3',
+       \ 'ivory4',
+       \ 'khaki',
+       \ 'khaki1',
+       \ 'khaki2',
+       \ 'khaki3',
+       \ 'khaki4',
+       \ 'lavender blush',
+       \ 'lavender',
+       \ 'lawn green',
+       \ 'lemon chiffon',
+       \ 'light blue',
+       \ 'light coral',
+       \ 'light cyan',
+       \ 'light goldenrod yellow',
+       \ 'light goldenrod',
+       \ 'light gray',
+       \ 'light green',
+       \ 'light grey',
+       \ 'light pink',
+       \ 'light salmon',
+       \ 'light sea green',
+       \ 'light sky blue',
+       \ 'light slate blue',
+       \ 'light slate gray',
+       \ 'light slate grey',
+       \ 'light steel blue',
+       \ 'light yellow',
+       \ 'lightblue',
+       \ 'lightcyan',
+       \ 'lightgray',
+       \ 'lightgreen',
+       \ 'lightgrey',
+       \ 'lightmagenta',
+       \ 'lightred',
+       \ 'lightyellow',
+       \ 'lime green',
+       \ 'linen',
+       \ 'magenta',
+       \ 'magenta1',
+       \ 'magenta2',
+       \ 'magenta3',
+       \ 'magenta4',
+       \ 'maroon',
+       \ 'maroon1',
+       \ 'maroon2',
+       \ 'maroon3',
+       \ 'maroon4',
+       \ 'medium aquamarine',
+       \ 'medium blue',
+       \ 'medium orchid',
+       \ 'medium purple',
+       \ 'medium sea green',
+       \ 'medium slate blue',
+       \ 'medium spring green',
+       \ 'medium turquoise',
+       \ 'medium violet red',
+       \ 'midnight blue',
+       \ 'mint cream',
+       \ 'misty rose',
+       \ 'moccasin',
+       \ 'navajo white',
+       \ 'navy blue',
+       \ 'navy',
+       \ 'old lace',
+       \ 'olive drab',
+       \ 'orange red',
+       \ 'orange',
+       \ 'orange1',
+       \ 'orange2',
+       \ 'orange3',
+       \ 'orange4',
+       \ 'orchid',
+       \ 'orchid1',
+       \ 'orchid2',
+       \ 'orchid3',
+       \ 'orchid4',
+       \ 'pale goldenrod',
+       \ 'pale green',
+       \ 'pale turquoise',
+       \ 'pale violet red',
+       \ 'papaya whip',
+       \ 'peach puff',
+       \ 'peru',
+       \ 'pink',
+       \ 'pink1',
+       \ 'pink2',
+       \ 'pink3',
+       \ 'pink4',
+       \ 'plum',
+       \ 'plum1',
+       \ 'plum2',
+       \ 'plum3',
+       \ 'plum4',
+       \ 'powder blue',
+       \ 'purple',
+       \ 'purple1',
+       \ 'purple2',
+       \ 'purple3',
+       \ 'purple4',
+       \ 'red',
+       \ 'red1',
+       \ 'red2',
+       \ 'red3',
+       \ 'red4',
+       \ 'rosy brown',
+       \ 'royal blue',
+       \ 'saddle brown',
+       \ 'salmon',
+       \ 'salmon1',
+       \ 'salmon2',
+       \ 'salmon3',
+       \ 'salmon4',
+       \ 'sandy brown',
+       \ 'sea green',
+       \ 'seagreen',
+       \ 'seashell',
+       \ 'seashell1',
+       \ 'seashell2',
+       \ 'seashell3',
+       \ 'seashell4',
+       \ 'sienna',
+       \ 'sienna1',
+       \ 'sienna2',
+       \ 'sienna3',
+       \ 'sienna4',
+       \ 'sky blue',
+       \ 'slate blue',
+       \ 'slate gray',
+       \ 'slate grey',
+       \ 'slateblue',
+       \ 'snow',
+       \ 'snow1',
+       \ 'snow2',
+       \ 'snow3',
+       \ 'snow4',
+       \ 'spring green',
+       \ 'steel blue',
+       \ 'tan',
+       \ 'tan1',
+       \ 'tan2',
+       \ 'tan3',
+       \ 'tan4',
+       \ 'thistle',
+       \ 'thistle1',
+       \ 'thistle2',
+       \ 'thistle3',
+       \ 'thistle4',
+       \ 'tomato',
+       \ 'tomato1',
+       \ 'tomato2',
+       \ 'tomato3',
+       \ 'tomato4',
+       \ 'turquoise',
+       \ 'turquoise1',
+       \ 'turquoise2',
+       \ 'turquoise3',
+       \ 'turquoise4',
+       \ 'violet red',
+       \ 'violet',
+       \ 'wheat',
+       \ 'wheat1',
+       \ 'wheat2',
+       \ 'wheat3',
+       \ 'wheat4',
+       \ 'white smoke',
+       \ 'white',
+       \ 'yellow green',
+       \ 'yellow',
+       \ 'yellow1',
+       \ 'yellow2',
+       \ 'yellow3',
+       \ 'yellow4',
+       \ ]
+  for color in colors
+    " just test that the color name can be found.
+    exe "hi Mine guifg='" . color . "'"
+  endfor
+
+  " case is ignored
+  hi Mine guifg=blanchedalmond
+  hi Mine guifg=BLANCHEDALMOND
+endfunc
index a7b65c8f061ce3c04195f8227845020e0f00a23a..fe86982ea30618fe2bb9d83edd1b778997c3c5d3 100644 (file)
@@ -758,6 +758,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2073,
 /**/
     2072,
 /**/