1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-18 18:05:07 +00:00

Avoid doubly tagging parse.y when both parse.c and parse.y are given on

the command line, in either order.

	* etags.c (find_entries): Delete tags previously obtained from
	file xxx.c's #line directives when parsing file xxx.y.  This is
	generally done for automatically generated files containing
	#line directives.  This handles the case when xxx.y is tagged
	before xxx.c, and the entries of xxx.c pointing to xxx.y should
	be discarded.
	(language): Added the metasource member.  Initializers changed.
	(invalidate_nodes): New function.
	(readline): Discard lines after having found a #line
  	directive pointing to an already tagged file.  This handles the
	case when xxx.y is tagged before xxx.c, and the entries of
	xxx.c pointing to xxx.y should be discarded.
	(fdesc): New structure for keeping track of input files.
	(fdesc): Remove `file' member (a string) and use instead a pointer
	to a file description structure.
	(curfile, curfiledir, curtagfname, curlang, nocharno,
	forced_lang): Global variables removed in favor of fdhead and
	curfdp, pointers to file description strucures.
	(longopts, main, print_help): Use the CTAGS conditional to include
	or exclude options that work on etags or ctags only.
	(process_file, find_entries, pfnote, add_node, put_entries,
	readline): Use fdhead and curfdp.
	(process_file, find_entries): Do not take an arg string, all
	callers changed.

	* etags.c (longopts, print_help, main): Test CTAGS to disallow
	options that are not right for either etags or ctags.

	* etags.c (number_len, total_size_of_entries): Define them also
	in CTAGS mode, because gcc does not compile all refs away.
This commit is contained in:
Francesco Potortì 2002-04-15 14:18:47 +00:00
parent c150db2349
commit 9e0a3f9876

File diff suppressed because it is too large Load Diff