Fix Lua tags when a function name includes '.' or ':'
* lib-src/etags.c (Lua_functions): Add a tag for the last element of a function name after a dot or a colon. (Bug#21934)
This commit is contained in:
parent
24703a0a89
commit
690ccf0f0d
1 changed files with 16 additions and 1 deletions
|
@ -4954,7 +4954,22 @@ Lua_functions (FILE *inf)
|
|||
(void)LOOKING_AT (bp, "local"); /* skip possible "local" */
|
||||
|
||||
if (LOOKING_AT (bp, "function"))
|
||||
get_tag (bp, NULL);
|
||||
{
|
||||
char *tag_name, *tp_dot, *tp_colon;
|
||||
|
||||
get_tag (bp, &tag_name);
|
||||
/* If the tag ends with ".foo" or ":foo", make an additional tag for
|
||||
"foo". */
|
||||
tp_dot = strrchr (tag_name, '.');
|
||||
tp_colon = strrchr (tag_name, ':');
|
||||
if (tp_dot || tp_colon)
|
||||
{
|
||||
char *p = tp_dot > tp_colon ? tp_dot : tp_colon;
|
||||
int len_add = p - tag_name + 1;
|
||||
|
||||
get_tag (bp + len_add, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue