]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.1202 v7.3.1202
authorBram Moolenaar <Bram@vim.org>
Sat, 15 Jun 2013 20:26:52 +0000 (22:26 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 15 Jun 2013 20:26:52 +0000 (22:26 +0200)
Problem:    Tags are not found in case-folded tags file. (Darren cole, Issue
            90)
Solution:   Take into account that when case folding was used for the tags
            file "!rm" sorts before the "!_TAG" header lines.

src/tag.c
src/version.c

index 248280c7c9ac5e80cd48bac4fd7899091274ef4e..8a3c81c8173f68846f7c6f71c19e375f6706f9b4 100644 (file)
--- a/src/tag.c
+++ b/src/tag.c
@@ -1797,7 +1797,12 @@ line_read_in:
             */
            if (state == TS_START)
            {
-               if (STRNCMP(lbuf, "!_TAG_", 6) == 0)
+               /* The header ends when the line sorts below "!_TAG_".
+                * There may be non-header items before the header though,
+                * e.g. "!" itself. When case is folded lower case letters
+                * sort before "_". */
+               if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
+                               || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
                {
                    /*
                     * Read header line.
index 2f47dad7a913d8de240a95643d97591503025acb..3f46c232934371938c1a12baa21ee6ce1ec342cb 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1202,
 /**/
     1201,
 /**/