diff options
author | Bram Moolenaar <bram@vim.org> | 2013-06-15 22:26:52 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2013-06-15 22:26:52 +0200 |
commit | f0cd44daf93965e371663e628ada9fd9ab3b878c (patch) | |
tree | a405619a85b5bae622334498b581f5c7064b82b7 | |
parent | f32ff696d46be28f45c74194104c3e8b78a6c66f (diff) | |
download | vim-f0cd44daf93965e371663e628ada9fd9ab3b878c.tar.gz |
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.
-rw-r--r-- | src/tag.c | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -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. diff --git a/src/version.c b/src/version.c index 2f47dad7..3f46c232 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1202, +/**/ 1201, /**/ 1200, |