forked from aniani/vim
patch 8.1.1093: support for outdated tags format slows down tag parsing
Problem: Support for outdated tags format slows down tag parsing. Solution: Remove FEAT_TAG_OLDSTATIC.
This commit is contained in:
53
src/tag.c
53
src/tag.c
@@ -1964,28 +1964,6 @@ parse_line:
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef FEAT_TAG_OLDSTATIC
|
||||
/*
|
||||
* Check for old style static tag: "file:tag file .."
|
||||
*/
|
||||
tagp.fname = NULL;
|
||||
for (p = lbuf; p < tagp.tagname_end; ++p)
|
||||
{
|
||||
if (*p == ':')
|
||||
{
|
||||
if (tagp.fname == NULL)
|
||||
tagp.fname = tagp.tagname_end + 1;
|
||||
if (fnamencmp(lbuf, tagp.fname, p - lbuf) == 0
|
||||
&& tagp.fname[p - lbuf] == TAB)
|
||||
{
|
||||
// found one
|
||||
tagp.tagname = p + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Skip this line if the length of the tag is different and
|
||||
* there is no regexp, or the tag is too short.
|
||||
@@ -2098,10 +2076,7 @@ parse_line:
|
||||
/*
|
||||
* Can be a matching tag, isolate the file name and command.
|
||||
*/
|
||||
#ifdef FEAT_TAG_OLDSTATIC
|
||||
if (tagp.fname == NULL)
|
||||
#endif
|
||||
tagp.fname = tagp.tagname_end + 1;
|
||||
tagp.fname = tagp.tagname_end + 1;
|
||||
tagp.fname_end = vim_strchr(tagp.fname, TAB);
|
||||
tagp.command = tagp.fname_end + 1;
|
||||
if (tagp.fname_end == NULL)
|
||||
@@ -2201,14 +2176,7 @@ parse_line:
|
||||
is_static = FALSE;
|
||||
if (!is_etag) /* emacs tags are never static */
|
||||
#endif
|
||||
{
|
||||
#ifdef FEAT_TAG_OLDSTATIC
|
||||
if (tagp.tagname != lbuf)
|
||||
is_static = TRUE; /* detected static tag before */
|
||||
else
|
||||
#endif
|
||||
is_static = test_for_static(&tagp);
|
||||
}
|
||||
is_static = test_for_static(&tagp);
|
||||
|
||||
/* decide in which of the sixteen tables to store this
|
||||
* match */
|
||||
@@ -2870,23 +2838,6 @@ test_for_static(tagptrs_T *tagp)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
#ifdef FEAT_TAG_OLDSTATIC
|
||||
int len;
|
||||
|
||||
/*
|
||||
* Check for old style static tag: "file:tag file .."
|
||||
*/
|
||||
len = (int)(tagp->fname_end - tagp->fname);
|
||||
p = tagp->tagname + len;
|
||||
if ( p < tagp->tagname_end
|
||||
&& *p == ':'
|
||||
&& fnamencmp(tagp->tagname, tagp->fname, len) == 0)
|
||||
{
|
||||
tagp->tagname = p + 1;
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Check for new style static tag ":...<Tab>file:[<Tab>...]"
|
||||
*/
|
||||
|
Reference in New Issue
Block a user