which are almost always unnamed. etags.el looks for an explicit
tag name, then for an implicit one. See make_tag for details.
The change is both forwards and backwards compatible.
(make_tag): New function (was the disabled function new_pfnote).
(make_C_tag): Use it.
(arg_type): at_icregexp label removed (obsolete).
(pattern): New member multi_line for multi-line regexps.
(filebuf): A global buffer containing the whole file as a string
for multi-line regexp matching.
(need_filebuf): Global flag raised if multi-line regexps used.
(print_help): Document new regexp modifiers, remove references to
obsolete option --ignore-case-regexp.
(main): Do not set regexp syntax and translation table here.
(main): Treat -c option as a backward compatibility hack.
(main, find_entries): Init and free filebuf.
(find_entries): Call regex_tag_multiline after the regular parser.
(scan_separators): Check for untermintaed regexp and return NULL.
(analyse_regex, add_regex): Remove the ignore_case argument, which
is now a modifier to the regexp. All callers changed.
(add_regex): Manage the regexp modifiers.
(regex_tag_multiline): New function. Reads from filebuf.
(readline_internal): If necessary, copy the whole file into filebuf.
(readline): Skip multi-line regexps, leave them to regex_tag_multiline.
(add_regex): Better check for null regexps.
(readline): Check for regex matching null string.
(find_entries): Reorganisation.
sequences supported by gcc.
(find_entries): rewind unconditionally.
(find_entries): Do not call language functions directly, now calls
itself.
(find_entries): Do general initialisations here.
(CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit)
(Ada_getit, Pascal_functions, Pascal_functions)
(prolog_skip_comment): Do not do them here.
(readline_internal): Increment lineno here.
(readline): Conditionally undo readline_internal increment.
(readline): Do not return a value.
(STDIN): New constant.
(parsing_stdin): New flag.
(longopts): New option --parse-stdin=NAME.
(print_help): Document it.
(main): Handle it.
(process_file): Split into process_file and process_file_name.
(process_file_name): New function.
(TEX_defenv): Now contains more contructs.
(TEX_cmt): Make it a static char and move it before TeX_commands.
(TeX_commands): Shorten the tag to the brace after the name.
(TeX_commands): Names now include the initial backslash.
(TeX_commands): Names do not include numeric args #n.
(TeX_commands): Correct line char number in tags.
(TEX_tabent, TEX_token): Deleted.
(TeX_commands, TEX_decode_env): Streamlined.
inadvertently lost on 2002-04-13.
* etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of
`sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows
the latter usage.
inadvertently lost on 2002-04-13.
(main): Use `sort -o TAGFILE TAGFILE' instead of `sort TAGFILE -o
TAGFILE', as POSIX 1003.1-2001 disallows the latter usage.
(main): New argument -d, for specifying directory.
(usage): Document.
(get_user_id): Compute
(get_home_dir): Deleted.
(get_prefix): New function, taken from main.
(main): Check whether or not we are running setuid. Move prefix
computation to get_prefix. Don't call getpwent; we don't need to
any more. Instead, move it to get_user_id().
(process_file): Print the tags from the nodes as soon as
possible, and delete the nodes. This brings down the memory
occupancy as etags to almost the same level as when the #line
directives were not parsed.
(free_fdesc): New function.
(find_entries): Use it.
(invalidate_nodes): In etags mode, do not just mark the nodes as
invalid, do delete them.