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
commitf0cd44daf93965e371663e628ada9fd9ab3b878c (patch)
treea405619a85b5bae622334498b581f5c7064b82b7
parentf32ff696d46be28f45c74194104c3e8b78a6c66f (diff)
downloadvim-f0cd44daf93965e371663e628ada9fd9ab3b878c.tar.gz
updated for version 7.3.1202v7.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 248280c7..8a3c81c8 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 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,