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 | 335167994849a66a6635429fb42461ad79574b2f (patch) | |
tree | 9363b26008262d839f5d1b4717873d9148f24e76 /src/tag.c | |
parent | e66f06d819c2bbb09205a5c28e7ccf481f3ea9e7 (diff) | |
download | vim-git-335167994849a66a6635429fb42461ad79574b2f.tar.gz |
updated for version 7.3.1202v7.3.1202
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.
Diffstat (limited to 'src/tag.c')
-rw-r--r-- | src/tag.c | 7 |
1 files changed, 6 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. |