* etags.c (Perl_functions): Tag packages and use them in sub tags.
(get_tag): Return a pointer to the tag that is found.
general cleanup and streamlining
* etags.c (LOOKING_AT): Use !intoken instead of iswhite.
(F_takeprec): Renamed from takeprec. All callers changed.
(F_getit): Renamed from getit. All callers changed.
(nocase_tail): Renamed from tail. All callers changed.
(Ada_getit): Renamed from adagetit. All callers changed.
(L_getit): Simplified by using get_tag.
(Perl_functions, Postscript_functions, erlang_attribute): Use the
modified LOOKING_AT.
(notinname): Removed '[' and added ')' to the recognised chars.
(LOOKING_AT, get_tag, PHP_functions): Use notinname.
(Ada_getit, Ada_funcs, Python_functions, Scheme_functions):
Clarified, using strneq or notinname.
(L_isdef, L_isquote): Removed.
(Lisp_functions, L_getit): Clarified.
changes for standalone compilation
* etags.c: (P_): Renamed to __P for consistency with config.h.
[HAVE_CONFIG_H]: Let config.h deal with __P.
[__STDC__] [!HAVE_CONFIG_H]: Define PTR as in config.h.
[!__STDC__] [!HAVE_CONFIG_H]: Do not undefine static, because
gperf code needs it.
[HAVE_CONFIG_H] [!PTR]: Define PTR (for use with Xemacs).
[HAVE_CONFIG_H] [!__P]: Define __P (for use with Xemacs).
(xmalloc, xrealloc): Use PTR instead of long *.
(bool): Make it a define, not a typedef, for C++ compilers.
(pattern): Members renamed to avoid name clash in some C++ compilers.
(get_language_from_langname): Use const argument.
heavily adapted by me, for parsing PHP.
(LOOKING_AT): New macro.
(Perl_functions, Python_functions, PHP_functions)
(Scheme_functions, Texinfo_nodes): Use it.
(Perl_functions): Use strneq.
(prolog_pred): Renamed to prolog_pr.
(prolog_pr): Recognise Prolog rules (thanks to Geert Kloosterman)
in addition to predicates.
[ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
unmodified compile, as Cygwin's regex.h is incompatible with us
(thanks to Markus Hoenicka).
[!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.
(MOUSE_SUPPORT):
(FLOAT_SUPPORT):
(WINNT_SUPPORT):
(lisp): Reference .el files instead of .elc files, to simplify
bootstrapping.
($(DOC)): Change dependency to just `make-docfile'.
The following changes are derived from suggestions by Bob Chapman
<rechapman@compuserve.com>.
(printlogline): Also allow tab and newline to separate
'(function):' from the rest of a comment.
(reformat the sorted log entries): Require date and author to
match the clumpname.
(read_c_string_or_comment): Use a variable of type `rcsoc_state' to hold
most of our state.
(put_char): Add STATE parameter, and remove all other parameters
except CH. Use STATE to get access to all needed state.
(scan_keyword_or_put_char): New function.
scanning for a `usage:' keyword.
(scan_c_file): Pass SAW_USAGE argument to read_c_string_or_comment.
Don't output a usage-string if there was one in the doc string.