summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-06-15 22:26:52 +0200
committerBram Moolenaar <Bram@vim.org>2013-06-15 22:26:52 +0200
commit335167994849a66a6635429fb42461ad79574b2f (patch)
tree9363b26008262d839f5d1b4717873d9148f24e76
parente66f06d819c2bbb09205a5c28e7ccf481f3ea9e7 (diff)
downloadvim-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.
-rw-r--r--src/tag.c7
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/tag.c b/src/tag.c
index 248280c7c..8a3c81c81 100644
--- 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.
diff --git a/src/version.c b/src/version.c
index 2f47dad7a..3f46c2329 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,