(DOC): Place DOC strings in DOC-X.
(config.h, paths.h): New source location.
(all): Use COMPAT_LIB in library list.
Use DEL_TREE instead of delnode.
(etags.exe): Use $(LINK) instead of link32.
(now obsolescent) -n login fullname mailaddr option.
Don't omit path from repository root when logging CVS files.
Add -R option for recursive rlog.
(AWK): New environment variable (default `awk') for name of awk program.
(output_authors, tab, loginFullnameMailaddrs, recursive): New variables.
Quote authors and fullnames correctly.
savetok.valid. Mark token as valid when it is initialised.
(make_tag): Make token only if token is valid and reset validity.
(CNL_SAVE_DEFINEDEF): Test for savetok.valid instead of token_saved.
(TOKEN): Added a new member: valid.
(C_entries): Do not allocate a new space for each token found by
consider_token. Let make_tag do that instead.
(make_tag): Since now TOKEN has memory of where it is taken from,
this new macro substitutes both make_tag_from_new_lb and
make_tag_from_oth_lb. All callers changed.
(TOKEN): Add linepos and buffer members.
(main): Initialise token_str.
(lang_extensions): Recognise .c++ and .h++ as C++ file suffixes.
(token_str): New global variable used by C_entries.
of fixed length static buffers in many places.
* etags.c (FILEPOS, GET_CHARNO, GET_FILEPOS, max, LINENO): Deleted.
(append_to_tagfile, typedefs, typedefs_and_cplusplus,
constantypedefs, update, vgrind_style, no_warnings,
cxref_style, cplusplus, noindentypedefs): Were int, now logical.
(permit_duplicates): Was a var, now a #define.
(filename_lb): Was global, now local to main.
(main): Open the tag file when in cxref mode.
Use a BUFSIZ size buffer for making the shell commands.
Look at the return value from the system routine.
Exit when cannot open the tag file.
(process_file): Open the file and pass the FILE* to find_entries.
(find_entries): Now void, because does not open the file itself.
(pfnote): Recovering from lack of memory does not work. Removed.
Use savenstr and simplify the code.
(free_tree): Only free the name space if node is named.
(structtag): Now a pointer, not a fixed length array of chars.
(consider_token): Don't take a token as argument. Use savenstr
when saving a tag in structtag. Callers changed.
(TOKEN): Structure changed. Now used only in C_entries.
(TOKEN_SAVED_P, SAVE_TOKEN, RESTORE_TOKEN): Deleted.
(C_entries): nameb and savenameb deleted. Use dinamic allocation.
(pfcnt): Deleted. Users updated.
(getit, Asm_labels, Pascal_functions, L_getit, get_scheme,
TEX_getit, prolog_getit): Use dinamic allocation for storing
the tag instead of a fixed size buffer.
language functions, because many compilers are buggy.
(etags_getcwd): Fix the previous fix on the #else branch.
(readline_internal): Discard possible \r before \n here.
(C_entries): Do not deal with \r here: undo previous fix.
functions and a macro that allow the program to work on input
lines of whatever length. Copied from etags.c.
(fatal): Print a fatal error message and exit.
(main): Use the new functions. Fixed a bug that made a \037 char
appear at the end of the output.
(main): If socket/mqueue name is in home dir, add in the host name.
Rename .emacs_server to .emacs-server-....
[!HAVE_SYSVIPC] (main): Fix error message diction.
is compiled if this is defined. The new functions and variables
added #ifdef ETAGS_REGEXP are not listed in this ChangeLog.
[VMS]: All VMS specific code previously contained in
etags-vmslib.c is now included here, modified for dealing with
language and regex options intermixed with filenames.
(header_file): Global variable deleted.
(Lang_Function): New typedef. All language parser functions
changed to this new type.
(string_numeric_p, substr, prestr): Functions deleted.
(readline_internal): Does the job that readline did previously.
(longopts): --language and --regex options added.
(lang_names, lang_extensions, lang_func, print_language_names):
New structures, variables and functions for choosing languages.
(print_help): Help strings updated. Calls print_language_names.
(argument_type, ARGUMENT): Typedefs for dealing with language and
regex options intermixed with filenames.
(main): Changed the way of dealing with arguments on the command
line to deal with language and regex options intermixed with
filenames.
(get_language, default_C_entries, Cplusplus_entries,
Cstar_entries, Yacc_entries, just_read_file): New functions.
(find_entries): Use the new method for choosing the language.
(Pascal_functions): Allow intermixing of comment styles.
(prolog_getit, skip_comment): Rewritten for speed.
(readline): Rewritten to deal with regexps.
fails, store the fact that we've searched it and don't search it
again after reading more data.
(getline): When determining whether or not it's necessary
to grow the input buffer, take into account the null that's stored
at the end of already-read input in the buffer.
(consider_token): Comment out "EXFUN". Use "DEFUN" instead of "DEF".
(consider_token): set funcdef to fignore when a DEFUN is met.
(C_entries): Now we can use Tom Hageman patch for extern "C".
defined, and if HAVE_CONFIG_H isn't defined, define
MAIL_USE_POP always (so that this file can be included in
other programs besides emacs).
Only declare h_errno if HAVE_H_ERRNO isn't defined or
HAVE_CONFIG_H isn't defined.
(find_crlf, getline): Instead of using strstr, use a
custom function for finding CRLF.
(my_strstr): Function deleted.