aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/etags.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 3620b0fd321..a81b46d2e07 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -3595,13 +3595,27 @@ C_entries (int c_ext, FILE *inf)
3595 int off = tokoff; 3595 int off = tokoff;
3596 int len = toklen; 3596 int len = toklen;
3597 3597
3598 /* Rewrite the tag so that emacs lisp DEFUNs
3599 can be found by their elisp name */
3600 if (defun) 3598 if (defun)
3601 { 3599 {
3602 off += 1; 3600 off += 1;
3603 len -= 1; 3601 len -= 1;
3602
3603 /* First, tag it as its C name */
3604 linebuffer_setlen (&token_name, toklen);
3605 memcpy (token_name.buffer,
3606 newlb.buffer + tokoff, toklen);
3607 token_name.buffer[toklen] = '\0';
3608 token.named = true;
3609 token.lineno = lineno;
3610 token.offset = tokoff;
3611 token.length = toklen;
3612 token.line = newlb.buffer;
3613 token.linepos = newlinepos;
3614 token.valid = true;
3615 make_C_tag (funorvar);
3604 } 3616 }
3617 /* Rewrite the tag so that emacs lisp DEFUNs
3618 can be found also by their elisp name */
3605 linebuffer_setlen (&token_name, len); 3619 linebuffer_setlen (&token_name, len);
3606 memcpy (token_name.buffer, 3620 memcpy (token_name.buffer,
3607 newlb.buffer + off, len); 3621 newlb.buffer + off, len);