updated for version 7.3.366
Problem: A tags file with an extremely long name causes errors.
Solution: Ignore tags that are too long. (Arno Renevier)
diff --git a/src/tag.c b/src/tag.c
index f06b023..f9738ef 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -1906,12 +1906,26 @@
tagp.tagname = lbuf;
#ifdef FEAT_TAG_ANYWHITE
tagp.tagname_end = skiptowhite(lbuf);
- if (*tagp.tagname_end == NUL) /* corrupted tag line */
+ if (*tagp.tagname_end == NUL)
#else
tagp.tagname_end = vim_strchr(lbuf, TAB);
- if (tagp.tagname_end == NULL) /* corrupted tag line */
+ if (tagp.tagname_end == NULL)
#endif
{
+ if (vim_strchr(lbuf, NL) == NULL)
+ {
+ /* Truncated line, ignore it. Has been reported for
+ * Mozilla JS with extremely long names. */
+ if (p_verbose >= 5)
+ {
+ verbose_enter();
+ MSG(_("Ignoring long line in tags file"));
+ verbose_leave();
+ }
+ continue;
+ }
+
+ /* Corrupted tag line. */
line_error = TRUE;
break;
}
diff --git a/src/version.c b/src/version.c
index 3cb2195..ec69cb1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 366,
+/**/
365,
/**/
364,