# HG changeset patch # User Francesco Potort # Date 1167264353 0 # Node ID 96636bda161ba4540e3c1ca6243f24d6a0ccc6ac # Parent de142d931ff34f261d2b22f799dfd4913117732b (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. diff -r de142d931ff3 -r 96636bda161b lib-src/etags.c --- 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);