Mercurial > emacs
changeset 74951:96636bda161b
(readline): When creating a relative file name from a
#line directive, leave the file name alone. The previous
behaviour was to make it relative to the tags file directory,
under the hypothesis that the #line directive file name was
relative to the directory of the tagged file. That hypothesis is
wrong with Cpp and Lex.
(Makefile_targets): Do not include spaces in tag names.
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Thu, 28 Dec 2006 00:05:53 +0000 |
parents | de142d931ff3 |
children | 0e7b380a6c47 |
files | lib-src/etags.c |
diffstat | 1 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lib-src/etags.c Thu Dec 28 00:05:16 2006 +0000 +++ b/lib-src/etags.c Thu Dec 28 00:05:53 2006 +0000 @@ -41,7 +41,7 @@ * configuration file containing regexp definitions for etags. */ -char pot_etags_version[] = "@(#) pot revision number is 17.23"; +char pot_etags_version[] = "@(#) pot revision number is 17.25"; #define TRUE 1 #define FALSE 0 @@ -4686,8 +4686,16 @@ while (*bp != '\0' && *bp != '=' && *bp != ':') bp++; if (*bp == ':' || (globals && *bp == '=')) - make_tag (lb.buffer, bp - lb.buffer, TRUE, - lb.buffer, bp - lb.buffer + 1, lineno, linecharno); + { + /* We should detect if there is more than one tag, but we do not. + We just skip initial and final spaces. */ + char * namestart = skip_spaces (lb.buffer); + while (--bp > namestart) + if (!notinname (*bp)) + break; + make_tag (namestart, bp - namestart + 1, TRUE, + lb.buffer, bp - lb.buffer + 2, lineno, linecharno); + } } } @@ -6277,7 +6285,7 @@ name = lbp->buffer + start; *endp = '\0'; canonicalize_filename (name); /* for DOS */ - taggedabsname = absolute_filename (name, curfdp->infabsdir); + taggedabsname = absolute_filename (name, tagfiledir); if (filename_is_absolute (name) || filename_is_absolute (curfdp->infname)) taggedfname = savestr (taggedabsname);