+2002-06-06 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (TeX_commands): Skip comments.
+ (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.
+
+2002-06-05 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (main): Avoid a buffer overrun with sprintf.
+
+2002-05-30 Richard M. Stallman <rms@gnu.org>
+
+ * Makefile.in (LIBS_MAIL): Renamed from LIB_MAIL.
+ (LIBS_MOVE): Renamed from MOVE_LIBS.
+
+2002-05-26 Paul Eggert <eggert@twinsun.com>
+
+ Reinstate the following change from 2002-03-22, which was
+ 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.
+
+2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * pop.c (socket_connection): Move the code to resolve the POP
+ host right before trying to connect with it.
+
+2002-04-28 Colin Walters <walters@verbum.org>
+
+ * Makefile.in (${archlibdir}): Don't conditionalize on
+ HAVE_SHARED_GAME_DIR. Instead, test at installation time whether
+ or not we have access to the specified game user.
+
+ * update-game-score.c (SCORE_FILE_PREFIX): Delete.
+ (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().
+
+2002-04-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * ebrowse.c (skip_initializer): Return void.
+
+2002-04-23 Colin Walters <walters@verbum.org>
+
+ * update-game-score.c (read_score) [HAVE_GETDELIM]: Trim trailing
+ space.
+
+2002-04-22 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c: (last_node): Make it a global variable.
+ (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.
+
+2002-04-21 Gerd Moellmann <gerd@gnu.org>
+
+ * ebrowse.c (add_declarator): Test *CLS instead of CLS.
+
+2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * update-game-score.c: Move config.h before the other headers, to
+ avoid compiler warnings.
+
+2002-04-16 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (find_entries): Bug fix in list management.
+
+2002-04-15 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (get_language_from_filename): Add one argument.
+ (strcaseeq): New function.
+ (get_language_from_filename): Use it to do a case insenstitive
+ comparison if called with appropriate args.
+ (find_entries): Try with case insensitive match.
+ (process_file): Bug fixed.
+
+2002-04-13 Francesco Potorti` <pot@gnu.org>
+
+ * 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.
+
+2002-04-14 Colin Walters <walters@debian.org>
+
+ * update-game-score.c (lock_file): If the lock file is older than
+ an hour, delete it. Reset attempts to zero if we have to break
+ the lock.
+
+2002-04-14 Andreas Schwab <schwab@suse.de>
+
+ * update-game-score.c (read_score): Fix type of second parameter
+ of getdelim to be of type size_t instead of int. Use 0 instead of
+ ESUCCES.
+
+2002-04-10 Colin Walters <walters@verbum.org>
+
+ * update-game-score.c: (toplevel): Include stdarg.h.
+ (MAX_DATA_LEN, MAX_SCORES): New.
+ (SCORE_FILE_PREFIX): If HAVE_SHARED_GAME_DIR is not defined,
+ default to ~/.emacs.d/games.
+ (get_user_id): Don't zero uid in the case where we can't get the
+ username.
+ (lose): New function.
+ (main): Actually use `max', and default it to MAX_SCORES.
+ Correctly handle new default for SCORE_FILE_PREFIX. Use `lose'
+ function.
+ (read_score): Handle the case of reading unamelen characters, then
+ finishing. Use mktemp if mkstemp isn't available.
+ (lock_file, unlock_file): Delete unused versions.
+ (lock_file): Always sleep, even if we unlinked the lock file.
+
+ * Makefile.in (gamedir, gameuser): New variables.
+ (toplevel, UTILITIES): Add update-game-score.
+ (${archlibdir}): Handle HAVE_SHARED_GAME_DIR.
+
+2002-04-07 Colin Walters <walters@verbum.org>
+
+ * update-game-score.c (SCORE_FILE_PREFIX): Don't hardcode.
+ (get_user_id): Take struct passwd as an argument.
+ (get_home_dir): New function.
+ (main): Read in user information here. Discover home directory if
+ necessary.
+ (read_score): Trim newline only in `getline' case.
+
+2002-04-05 Colin Walters <walters@debian.org>
+
+ * update-game-score.c (toplevel): Include pwd.h.
+ (struct score_entry): Add username field.
+ (push_score): Use it.
+ (get_user_id): New function.
+ (main): Don't malloc excessively.
+ (main): Use username field.
+ (read_score): Read it.
+ (push_score): Handle it.
+ (write_scores) Write it.
+ (read_score): Handle arbitrary length data.
+
+2002-03-30 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * ebrowse.c (add_declarator): Fix the first call to add_member_defn.
+
+2002-03-29 Gerd Moellmann <gerd@gnu.org>
+
+ * ebrowse.c (add_declarator, skip_initializer): New functions.
+ (declaration): Use them.
+
+2002-03-28 Jason Rumney <jasonr@gnu.org>
+
+ * makefile.w32-in (lisp): Move backquote.elc into emacs-lisp.
+
+2002-03-27 Colin Walters <walters@debian.org>
+
+ * update-game-score.c: New file.
+
+2002-03-22 Paul Eggert <eggert@twinsun.com>
+
+ * etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of
+ `sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows
+ the latter usage.
+
+2002-03-12 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (Python_functions): Skip spaces at beginning of lines.
+ (Python_functions, PHP_functions): Name tags, for ctags' sake.
+ (TeX_commands): Name tags. Correction of old disabled code.
+
+ * etags.c (curfiledir, curtagfname): New global variables.
+ (process_file): Initialise them.
+ (readline): Canonicalize the name found in #line directive.
+
+2002-03-06 Jason Rumney <jasonr@gnu.org>
+
+ * etags.c (put_entries): Use #if !CTAGS, to fix link error on
+ compilers that don't optimize out dead code.
+
+2002-03-05 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c: Honour #line directives.
+ (no_line_directive): New global var; set it for old behaviour.
+ (main): Remove some #ifdef in the getopt switch.
+ (add_node, put_entries): Code added to merge different chunks of
+ nodes referring to the same file. Currently the tags are just
+ appended, without any check for duplicates.
+ (Perl_functions): Do not special case ctags.
+ (readline): Identify #line directives and do the right thing.
+ (nocharno, invalidcharno): New global vars.
+ (process_file): Reset nocharno.
+ (readline): Set nocharno.
+ (pfnote): Read nocharno and maybe put invalidcharno in node.
+ (total_size_of_entries, put_entries): Use invalidcharno.
+
+ * etags.c: Keep the whole tag table in memory, even in etags mode.
+ (main): Call put_entries here even in CTAGS mode.
+ (main, process_file): Check the return values of fclose and pclose.
+ (process_file): Do not call put_entries after parsing each file.
+ (process_file): Canonicalise file names even for ctags.
+ (process_file): Set curfile here...
+ (find_entries): ... not here any more.
+ (add_node): In etags mode, build a linked list of entries (on
+ right pointer) for each file, and link the first entry of each
+ file on left nodes.
+ (put_entries): Print here the name of the file.
+ (put_entries): Print the entries starting from the first file.
+ (number_len, total_size_of_entries): Define these only in etags
+ mode, make the second work only on the right nodes.
+
+ * etags.c: Make all global variables static.
+
+2002-02-25 Juanma Barranquero <lektu@terra.es>
+
+ * makefile.w32-in (lisp): Add missing backslash.
+
+2002-02-24 Jason Rumney <jasonr@gnu.org>
+
+ * makefile.w32-in (WINNT_SUPPORT, MOUSE_SUPPORT, lisp): Revert to
+ using .elc files.
+ (lisp): Sync with list in src/Makefile.in
+ (VMS_SUPPORT, MSDOS_SUPPORT): Define, so DOC files can be shared.
+
+2002-02-10 Paul Eggert <eggert@twinsun.com>
+
+ * rcs-checkin: Use `sort -k 2', not `sort +1', as POSIX 1003.1-2001
+ disallows the old syntax.
+
+2002-02-03 Paul Eggert <eggert@twinsun.com>
+
+ * rcs2log(Copyright): Update to 2002.
+ (AWK, TMPDIR): Work around portability problem in broken shells that
+ don't understand `: ${VAR=val}'.
+ (SORT_K_OPTIONS): New var, for hosts that conform to POSIX 1003.1-2001.
+ Prefer the new -k option to the traditional +M -N option.
+
+2002-01-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * b2m.c (main): Parenthesize assignment when used as truth value
+ to prevent gcc warnings.
+
+ * fakemail.c: Include <config.h>.
+
+2001-12-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * cvtmail.c, emacsclient.c, emacsserver.c, pop.c, sorted-doc.c,
+ * yow.c: Include <config.h>.
+
+2001-12-21 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (Perl_functions): Tag packages and use them in sub tags.
+ (get_tag): Return a pointer to the tag that is found.
+
+ * 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.
+
+ * 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.
+
+2001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * makefile.nt, makefile.w32-in: Remove mocklisp files.
+
+2001-12-19 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * emacsserver.c: Conditionally include config.h.
+
+ * fakemail.c: Likewise.
+
+ * emacsclient.c: Include "config.h", not <../src/config.h>.
+ (main): Parenthesize assignment when used as truth value to
+ prevent gcc warnings.
+
+ * ebrowse.c: Include stdlib.h and string.h conditionally.
+
+2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * yow.c (main): Use time_t, not long, to avoid a compiler warning.
+
+2001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * test-distrib.c: Fix previous change.
+
+2001-12-18 Dave Love <fx@gnu.org>
+
+ * test-distrib.c: Conditionally include fcntl.h.
+
+ * fakemail.c: Include "config.h", not <../src/config.h>.
+ (_XOPEN_SOURCE): Define as 500.
+
+ * emacsserver.c: Include "config.h", not <../src/config.h>.
+
+ * cvtmail.c: Include config.h, stdlib.h.
+ (xmalloc, xrealloc, skip_to_lf sysfail): Prototype.
+
+ * yow.c: Conditionally include various headers. Use "epaths.h",
+ not <../src/epaths.h>.
+ (malloc, realloc) [!HAVE_STDLIB_H]: Prototype.
+
+2001-12-12 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (PHP_functions): New function 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 in addition to predicates.
+ [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
+ unmodified compile, as Cygwin's regex.h is incompatible with us.
+ [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.
+
+2001-12-11 Richard M. Stallman <rms@gnu.org>
+
+ * Makefile.in (clean): Don't delete ../etc/DOC*.
+
+2001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * COPYING: Moved back.
+
+2001-11-30 Andrew Innes <andrewi@gnu.org>
+
+ * makefile.w32-in (FACE_SUPPORT):
+ (MOUSE_SUPPORT):
+ (FLOAT_SUPPORT):
+ (WINNT_SUPPORT):
+ (lisp): Reference .el files instead of .elc files, to simplify
+ bootstrapping.
+ ($(DOC)): Change dependency to just `make-docfile'.
+
+2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * COPYING: Removed.
+
+2001-11-28 Paul Eggert <eggert@twinsun.com>
+
+ * rcs2log (Copyright): Add '(C)' as per coding guidelines.
+
+ The following changes are derived from suggestions by Bob Chapman
+ <rechapman@compuserve.com>.
+
+ * rcs2log (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.
+
+2001-11-16 Gerd Moellmann <gerd@gnu.org>
+
+ * ebrowse.c (matching_regexp): Escape '\\'.
+
+2001-11-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * Makefile.in: Add support for --program-prefix, --program-suffix
+ and --program-transform-name options.
+
+2001-11-03 Richard M. Stallman <rms@gnu.org>
+
+ * cvtmail.c (xrealloc): Always pass two args to `fatal'.
+
+ * movemail.c (popmail): Always pass two args to `error'.
+
+2001-10-24 Ken Raeburn <raeburn@gnu.org>
+
+ * Makefile.in (HESIODLIB) [HAVE_LIBHESIOD]: Set to include
+ -lhesiod and maybe -lresolv.
+ (CRYPTOLIB) [HAVE_LIBK5CRYPTO]: Use -lk5crypto for Kerberos
+ support if it's available.
+
+2001-10-21 Miles Bader <miles@gnu.org>
+
+ * make-docfile.c (struct rcsoc_state): New type.
+ (read_c_string_or_comment): Add SAW_USAGE
+ parameter, and implement scanning for a `usage:' keyword.
+ 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.
+ (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.
+
+2001-10-20 Gerd Moellmann <gerd@gnu.org>
+
+ * (Version 21.1 released.)
+
+2001-10-19 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
+
+ * b2m.c: Properly spell the name of Emacs.
+
+2001-10-17 Miles Bader <miles@gnu.org>
+
+ * make-docfile.c (put_char): New function.
+ (read_c_string_or_comment): Strip trailing spaces and newlines.
+
+2001-10-16 Miles Bader <miles@gnu.org>
+
+ * make-docfile.c (scan_c_file): Handle `new style' doc strings in
+ comments [with `doc:' keyword prefix].
+
+2001-10-15 Gerd Moellmann <gerd@gnu.org>
+
+ * make-docfile.c (read_c_string_or_comment): Don't drop a '*'
+ in a C doc comment.
+
+2001-10-13 Gerd Moellmann <gerd@gnu.org>
+
+ * make-docfile.c (read_c_string_or_comment): Renamed from
+ read_c_string. Add parameter COMMENT. Read C-style comments.
+ (scan_c_file): Handle doc strings in C comments.
+
+2001-10-12 Andrew Innes <andrewi@gnu.org>
+
+ * makefile.nt (ALL): Do not include fakemail.
+
+ * makefile.w32-in (install): Do not copy fakemail.
+