+2000-01-28 Eric Hanchrow <offby1@blarg.net>
+
+ * emacsclient.c (socket_status): New function.
+ (main): if $LOGNAME or $USER exist and differ from our euid, look
+ for a socket based on the UID associated with the name.
+
+2000-01-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * emacsclient.c: Add option -a EDITOR and environment variable
+ ALTERNATE_EDITOR. Exec this editor if we fail to contact Emacs.
+
+1999-12-10 Jonathan Kamens <jik@kamens.brookline.ma.us>
+
+ * movemail.c (popmail): Allow mailbox specifications of the
+ form `po:username:hostname'.
+
+1999-11-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+
+ * etags.c (_GNU_SOURCE): Define only if undefined.
+ (get_scheme): Declaration deleted.
+ (main): error was called with an integer as second arg, instead of
+ a char pointer.
+ (canonicalize_filename): Bug removed.
+
+1999-11-18 Dave Love <d.love@dl.ac.uk>
+
+ * etags.c (C_entries): Rename label `intoken', avoiding K&R
+ lossage from name clash with macro.
+
+1999-11-13 Gerd Moellmann <gerd@gnu.org>
+
+ * Makefile.in (b2m): Add dependency on GETOPTDEPS.
+
+1999-11-03 Gerd Moellmann <gerd@gnu.org>
+
+ * etags.c (print_help): Change email address to send bugs to.
+
+1999-11-01 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+
+ * etags.c: Add suffix psw for PSWrap.
+ (L_getit): Generalize a "cp!=' '" into "!isspace(*cp)".
+ (Postscript_functions): Add code for PSWrap.
+ (Scheme_functions): Use local pointer and new get_tag function.
+ (get_tag): New name for old get_scheme.
+ (process_file): Do not free NULL when file does not exist.
+ (typdef): ttypedefseen renamed to tkeyseen, new label ttypeseen.
+ (C_entries): Modifications that make --members tag even inside
+ typedefs and C nested structs (one level only).
+ (consider_token): Corrected a bug which prevented tagging of enum
+ constants.
+ (C_stab_entry): Added if, for, while, switch, return as
+ st_C_ignore. This makes it simpler to work when cblev!=0.
+
+ * etags.c (C_entries): tag member function declarations when
+ --declarations is used.
+
+ * etags.c (C_entries, consider_token): C++ `operator' now is
+ tagged in most cases.
+ As before, :: is not recognised if surrounded by spaces.
+
+ * etags.c (relative_filename): Account for DOS file names such
+ that is impossible to make one relative to another.
+
+ * etags.c (sym_type): New st_C_extern tag.
+ (gperf input): Use it for spotting external declarations.
+ (print_help): Document the new behaviour of --declarations.
+ (fvextern): New global variable.
+ (consider_token, C_entries): Use it.
+
+ * etags.c (HAVE_GETCWD) [WINDOWSNT]: Define if undefined.
+ (etags_getcwd): Remove test for WINDOWSNT.
+
+ * etags.c (process_file) [MSDOS]: If foo.c.gz is not found, try
+ foo.cgz, foo.cz, etc.
+
+ * etags.c (declarations): New global switch.
+ (longopts): Describe it.
+ (print_help): Document it.
+ (C_entries): Use it.
+ (process_file): Don't process a file twice.
+
+ * etags.c (Fortran_functions): No tags for "procedure".
+
+1999-11-01 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * etags.c (get_compressor_from_suffix): Second argument EXTPTR, if
+ non-zero, returns a pointer to where the extension begins; callers
+ changed.
+ [MSDOS]: Support DOS file names by handling e.g. foo.cgz as if it
+ were foo.c.gz.
+
+1999-11-01 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+
+ * etags.c (sym_type, C_stab_entry): New constant st_C_operator.
+ (fvdev): New constant foperator.
+ (consider_token): Use it to get "operator" in C++.
+ (C_entries): Extend length of operator@ function name.
+ (C_entries): Use foperator when necessary.
+
+ * etags.c (main) [!ETAGS_REGEXPS]: Do not call free_patterns.
+
+ * etags.c (compressor): New struct for compressed files.
+ (get_compressor_from_suffix): New function.
+ (get_language_from_suffix): Use it. Also, semantics changed.
+ (process_file): Consider compressed files, close file.
+ (find_entries): Use different call arg for get_language_from_suffix,
+ don't close file.
+
+ * etags.c (main): Call free_tree.
+ (find_entries): Do not free curfile.
+ (pfnote): Cosmetic change: NULL and '\0' where appropriate.
+ (prolog_pred, erlang_func, substitute): Cast strlen to int when
+ comparing.
+ (canonicalize_filename): Shut up compiler warning.
+ (Perl_functions): Make tag significant.
+
+1999-11-01 Dave Love <d.love@dl.ac.uk>
+
+ * etags.c (longopts, optstring): New option --ignore-case-regex (-c).
+ (argument_type): New member at_icregexp.
+ (lc_trans): New global.
+ (main): Fill lc_trans. Process -c args.
+ (add_regex): New arg determining whether to use translation table.
+ (analyse_regex): New arg. Use it for add_regex.
+
+1999-11-01 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+
+ * etags.c (init): Cosmetic change: NULL --> '\0'.
+ (erlang_attribute): Bug corrected (uninitialized variable).
+ (filename_is_absolute): New function replaces absolutefn macro and
+ corrects a bug. All callers changed.
+ (canonicalize_filename): New function.
+ (process_file, etags_getcwd, absolute_dirname): Use it.
+ (relative_filename, absolute_filename): Removed var shadowing.
+ (C_entries, Pascal_functions): Add fake initializations to keep
+ compilers quiet.
+ (TeX_functions, Prolog_functions, Erlang_functions): Cleanup.
+
+ * etags.c (xrnew): New macro. All callers of xrealloc changed.
+ (language): New typedef (was struct lang_entry).
+ (curlang): New global variable.
+ (node): typedef renamed from NODE.
+ (linebuffer): New typedef (was struct linebuffer).
+ (pattern): New typedef (was struct pattern). Some members added.
+ Now used as element of a linked list.
+ (patterns, num_patterns): Global variables deleted.
+ (p_head): New global variable.
+ (forced_lang): New global variable (replaces lang_func).
+ (get_language_from_name, get_language_from_interpreter,
+ get_language_from_suffix): Semantics changed. All callers changed.
+ (last_node): New global variable.
+ (free_tree, add_node, put_entries, total_size_of_entries): Change
+ name of local vars to avoid clashes with typedef node.
+ (number_len): Rewritten for elegance.
+ (token): New typedef replaces TOKEN.
+ (analyse_regex, add_regex): Rewritten for new functionality.
+ (free_patterns): New function called from main and add_regex.
+ (initbuffer, readline_internal, readline, grow_linebuffer):
+ Change name of local vars to avoid clashes with typedef
+ linebuffer.
+ (readline): Rewritten for new functionality.
+
+ * etags.c: (Scheme_suffixes): New suffix ".ss".
+ (print_help): --globals is now used for more than C-type languages.
+ (Perl_functions): Tag global variables ("my" and "local").
+
+ * etags.c (print_help): Some messages clarified.
+ (LOOP_ON_INPUT_LINES): New macro.
+ (just_read_file, Fortran_functions, Asm_labels, Perl_functions,
+ Python_functions, Cobol_paragraphs, Pascal_functions,
+ Lisp_functions, Postscript_functions, Scheme_functions,
+ TeX_functions, Prolog_functions, Erlang_functions): Use it.
+ (Cobol_paragraphs, Postscript_functions, TeX_functions,
+ Prolog_functions, Erlang_functions): Use a local variable instead
+ of the global variable dbp.
+ (Pascal_functions, L_isquote, Scheme_functions): Use GNU coding
+ standard indentation.
+
+ * etags.c (Python_suffixes, lang_names, Python_functions): Python
+ support.
+ (skip_spaces, skip_non_spaces): Utility functions.
+ (find_entries, takeprec, getit, Fortran_functions, Perl_functions,
+ Python_functions, L_getit, Lisp_functions, Scheme_functions,
+ prolog_pred, erlanf_func, erlang_attribute): Use them.
+ (eat_white): Deleted.
+
+ * etags.c (CHAR, init): Keep into account non US-ASCII
+ characters and compilers with default signed chars.
+ (L_getit): Tag "(defstruct (foo", "(defun (operator" and similar
+ constructs.
+
+ * (C_stab_entry): "interface" in Java behaves like "class".
+
+ * etags.c: (HAVE_NTGUI) [WINDOWSNT]: #undef if HAVE_CONFIG_H.
+ (main): Put interval syntax here.
+ (add_regex): And remove it from here.
+
+ * etags.c (suggest_asking_for_help): Provide a
+ meaningful help message with and without LONG_OPTIONS.
+
+ * etags.c: <io.h> [MSDOS]: Include it, don't include string.h.
+ <stdlib.h, string.h>: Don't test MSDOS when including them.
+ (white, nonam, endtk): Like elsewhere, use \r instead of \013.
+ (put_entries): Correctly use %ld instead of %d in printf.
+
+ * etags.c: <unistd.h> [HAVE_UNISTD_H]: Include conditionally, else
+ declare getcwd if HAVE_GETCWD.
+ (consider_token): Dead break instruction removed.
+
+1999-10-19 Paul Eggert <eggert@twinsun.com>
+
+ Add support for large files. Merge glibc 2.1.2.
+
+ * b2m.c, emacsclient.c, emacsserver.c, fakemail.c, make-docfile.c,
+ movemail.c, pop.c:
+ Do not include <stdlib.h>, as <config.h> does this now.
+
+ * b2m.c, emacsserver.c, etags.c, profile.c:
+ Include <config.h> before any system include files.
+
+ * emacsclient.c, emacsserver.c, fakemail.c, movemail.c, pop.c,
+ test-distrib.c:
+ (read, write, open, close): Do not undef.
+
+ * getopt.c, getopt1.c: Adopt glibc 2.1.2, with the following fix:
+ (const): Do not define if HAVE_CONFIG_H; that's config.h's job.
+
+ * getopt.h: Adopt glibc 2.1.2.
+
+1999-10-15 Dave Love <fx@gnu.org>
+
+ * Makefile.in (pop.o): Depend on config.h.
+