ChangeLog   [plain text]

2007-06-02  Chong Yidong  <>

	* Version 22.1 released.

2007-02-26  Francesco Potort,Al(B  <>

	* (etags, ctags): Define EMACS_NAME as "GNU Emacs".

2007-02-20  Ulrich Mueller  <>  (tiny change)

	* (EMACS, EMACSOPT): New variables.
	(blessmail): Use `--no-site-file' when compiling.

2007-02-05  Francesco Potort,Al(B  <>

	* etags.c (default_C_help, Cplusplus_help, PHP_help, print_help)
	(main): Now --members is the default for etags, not for ctags yet.

2007-02-04  Per Cederqvist  <>  (tiny change)

	* etags.c (gperf, in_word_set): Change attribute for Java to
	(C_JAVA & ~C_PLPL).  The previous change introduced 2004-09-13 was
	broken, as (C_JAVA & !C_PLPL) always evaluates to 0.  This caused
	import, package, extends, implements and interface to be treated
	specially for all kinds of C-style files, not just Java files.

2007-01-02  Francesco Potort,Al(B  <>

	* etags.c (longopts): New undocumented option --no-duplicates.
	(no_duplicates): Static variables for the above option.
	(print_help): Do not print help for --no-warn, now undocumented.
	(add_node): Allow duplicate tags in ctags mode unless --no-duplicates.
	(main): Pass the -u option to sort in ctags mode.

2006-12-28  Francesco Potort,Al(B  <>

	* etags.c (readline): When creating a relative file name from a
	#line directive, leave the file name alone.  The previous
	behaviour was to make it relative to the tags file directory,
	under the hypothesis that the #line directive file name was
	relative to the directory of the tagged file.  That hypothesis is
	wrong with Cpp and Lex.
	(Makefile_targets): Do not include spaces in tag names.

2006-12-22  Eli Zaretskii  <>

	* makefile.w32-in (make-docfile, ctags, etags, ebrowse, hexl)
	(movemail, fakemail, sorted-doc, digest-doc, emacsclient)
	(test-distrib, $(DOC), all): Depend on stamp_BLD instead of $(BLD).
	($(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O))
	($(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O))
	($(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS))
	($(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O))
	($(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O)): Depend on stamp_BLD.
	(clean): Delete stamp_BLD.

2006-12-20  Francesco Potort,Al(B  <>

	* etags.c (C_entries): DEFUN names were longer by one: corrected.

2006-12-18  Juanma Barranquero  <>

	* emacsclient.c [WINDOWSNT] (set_fg, get_wc): New variables.
	[WINDOWSNT] (w32_find_emacs_process, w32_give_focus): New functions.
	(main) [WINDOWSNT]: Remove code to release the focus; call
	w32_give_focus instead.

2006-12-15  Juanma Barranquero  <>

	* emacsclient.c (w32_execvp): New function; wrapper for `execvp'.
	(execvp) [WINDOWSNT]: Redefine to `w32_execvp'.
	(fail): Remove Windows-specific fix (subsumed into w32_execvp).
	Suggestions and comment by Eli Zaretskii.

2006-12-06  Christoph Conrad  <>

	* makefile.w32-in ($(BLD)/emacsclient.exe, $(BLD)/emacsclientw.exe):
	Use $(USER32) for compatibility with Visual Studio .NET 2003.

2006-11-30  Juanma Barranquero  <>

	* emacsclient.c (emacs_pid): New variable.
	(message): Remove leftover code.
	(get_server_config): Set emacs_pid.  Don't allow Emacs to grab the
	focus yet; emacsclient can still display an informational message
	before sending requests to Emacs.
	(main): Allow Emacs to grab the focus.  Simplify message() call.

2006-11-30  Michael Mauger  <>

	* emacsclient.c (message): Make sure the message is properly
	written even if it contains printf escapes, and flush the result.
	(set_tcp_socket): Make the message for non-local connections
	informational rather than an error.

2006-11-28  Kevin Ryde  <>

	* etags.c (readline): Check for double quote after #line.

2006-11-28  Jan Dj,Ad(Brv  <>

	* etags.c (readline): sscanf could in principle return 2.

2006-11-28  Francesco Potort,Al(B  <>

	* etags.c (readline): lno is unsigned.
	(TeX_commands): Use p++ (rather than *p++) to increment p.
	(Lua_functions): Explicitly discard LOOKING_AT's return value.

2006-11-27  Juanma Barranquero  <>

	* makefile.w32-in (TRES): New macro (copied from nt/makefile.w32-in).
	($(TRES)): New rule (copied from nt/makefile.w32-in).
	($(BLD)/emacsclientw.exe): Add dependency.

2006-11-27  Eli Zaretskii  <>

	* makefile.w32-in ($(BLD)/emacsclient.$(O)): Depend on makefile.w32-in.

2006-11-25  Juanma Barranquero  <>

	* makefile.w32-in (VERSION): New macro.

2006-11-25  Jason Rumney  <>

	* emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Use isalpha().

2006-11-24  Michael Mauger  <>

	* emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Support absolute
	file names with forward slashes.

2006-11-23  Juanma Barranquero  <>

	* emacsclient.c (print_help_and_exit): Tweak message contents and
	tabs/spaces to improve alignment in message boxes.

2006-11-22  Lennart Borgman  <>

	* emacsclient.c: Include <stdarg.h>.
	[WINDOWSNT]: Include <windows.h>.
	(w32_check_console_app): New function.
	(message): New function.
	(decode_options, print_help_and_exit, fail, main)
	(initialize_sockets, get_server_config, set_tcp_socket)
	(set_local_socket, set_socket): Use message().

2006-11-13  Jason Rumney  <>

	* emacsclient.c [WINDOWSNT]: Let config.h define HAVE_SOCKETS and

2006-11-13  Juanma Barranquero  <>

	* makefile.w32-in (emacsclient): Depend also on emacsclientw.exe.
	($(BLD)/emacsclientw.exe): New target.
	(install): Install emacsclientw.exe.
	($(BLD)/cvtmail.$(O), $(BLD)/emacstool.$(O)): Remove obsolete targets.
	(ECLIENT_CFLAGS): Remove redundant flags.

	* emacsclient.c [WINDOWSNT]: Undef _WINSOCKAPI_ and _WINSOCK_H.

2006-11-13  Jason Rumney  <>

	* makefile.w32-in ($(BLD)/emacsclient.$(O)): Use CFLAGS.

2006-11-10  David Reitter  <>

	* emacsclient.c [!WINDOWSNT]: Include <sys/types.h>.

2006-11-08  Juanma Barranquero  <>

	* emacsclient.c (get_server_config) [WINDOWSNT]: Declare set_fg as
	FARPROC to avoid a compiler warning.

2006-11-07  Juanma Barranquero  <>

	* emacsclient.c (get_server_config) [WINDOWSNT]: Look for the server
	file on APPDATA if it doesn't exist on HOME, even if HOME is defined.

	* emacsclient.c (get_server_config): Extract also the Emacs pid
	from the server file.  On Windows, try to force the Emacs frame to
	the foreground.

2006-11-06  Juanma Barranquero  <>

	* emacsclient.c (longopts) [!NO_SOCKETS_IN_FILE_SYSTEM]: Don't show
	option --socket-name.
	(decode_options): Don't get EMACS_SERVER_FILE here, it could override
	command line options.
	(decode_options) [!NO_SOCKETS_IN_FILE_SYSTEM]: Don't parse "-s" option.
	(fail): Don't check for missing arguments, it is now done in set_socket.
	(file_name_absolute_p): New function (loosely based on the one in
	(initialize_sockets): Don't check for duplicate loading of Winsock.
	(get_server_config): Only try relative paths in the default
	directory locations.
	(set_tcp_socket): Don't call INITIALIZE().  Warn when connecting to
	a remote server.
	(set_socket): Call INITIALIZE().  Search explicit command-line
	arguments, then environment variable EMACS_SERVER_FILE, then implicit
	socket paths, before trying the alternate editor.
	(main): Use file_name_absolute_p.

2006-11-04  Eli Zaretskii  <>

	* makefile.w32-in (../src/$(BLD)/temacs.exe): Create as temporary
	file if it doesn't already exist.

2006-11-03  Juanma Barranquero  <>

	* emacsclient.c (initialize_sockets): Don't initialize Winsock
	more than once.

2006-11-03  Mark Davies  <>

	* (INSTALL_SCRIPT): New macro.
	($(DESTDIR)${archlibdir}, install): Use it, instead of INSTALL_PROGRAM.

2006-11-02  Juanma Barranquero  <>

	* grep-changelog: When called with no arguments (not even a
	filter), show help instead of blindingly dumping every single
	ChangeLog available.  Doc fix.  Update version.

2006-11-02  Tim Van Holder  <>  (tiny change)

	* emacsclient.c [WINDOWSNT]: Define HAVE_INET_SOCKETS.
	[!WINDOWSNT]: Include <netinet/in.h> if available.
	(set_tcp_socket): Don't set the socket in blocking mode.
	Remove c_arg.

2006-11-01  Juanma Barranquero  <>

	* emacsclient.c (fail) [WINDOWSNT]: Force the first argv passed to
	execvp to point to alternate_editor (otherwise .BAT scripts can't run).

2006-10-31  ,bS(Bscar Fuentes  <>  (tiny change)

	* emacsclient.c [WINDOWSNT]: Include <malloc.h> and <stdlib.h>.
	(close_winsock): Declare as __cdecl.

2006-10-31  Jan Dj,Ad(Brv  <>

	* emacsclient.c [!WINDOWSNT]: Include <fcntl.h> if available.
	(set_tcp_socket): Prefer O_NONBLOCK, then O_NDELAY, then FIONBIO
	to set the socket in non-blocking mode.

2006-10-31  Tim Van Holder  <>  (tiny change)

	* emacsclient.c [!WINDOWSNT]: Include <netinet/in.h> and <sys/ioctl.h>.
	(initialize_sockets): Put #endif at the right place.
	(set_local_socket): Use progname, not argv[0].

2006-10-31  Juanma Barranquero  <>

	* makefile.w32-in (ALL): Add emacsclient.
	(emacsclient, $(BLD)/emacsclient.exe): New targets.
	(install): Install emacsclient.

	* emacsclient.c: Add support for TCP sockets.
	(INITIALIZE): New macros.
	(IOCTL_BOOL_ARG): New typedef.
	(server_file): New global variable.
	(longopts): New option --server-file.
	(decode_options): Process new option --server-file and environment
	(print_help_and_exit): Document new option.
	(fail): If no connection available and no alternate editor,
	suggest using options to make them explicit.
	(send_buffer, sblen): New variables.
	(send_to_emacs): New function to buffer output and send it with
	(quote_file_name): Use SEND_STRING.
	(close_winsock, initialize_sockets): New functions to load and
	unload Winsock.
	(get_server_config, set_tcp_socket): New functions to create and
	set up TCP sockets.
	(set_local_socket): New function to create and set up Unix
	socket (code moved from previous implementation).
	(set_socket): New function to chose between TCP and Unix sockets.
	(main): Use SEND_STRING and SEND_QUOTED.  Most code moved to
	set_local_socket.  Use set_socket.  Get answers from server.el with
	recv(), not file stream functions.

2006-10-09  Eli Zaretskii  <>

	* makefile.w32-in (../src/config.h): Fix error message.

2006-09-30  Eli Zaretskii  <>

	* .cvsignore: Add blessmail.

2006-09-15  Jay Belanger  <>

	* COPYING: Replace "Library Public License" by "Lesser Public
	License" throughout.

2006-08-09  Jan Dj,Ad(Brv  <>

	* etags.c (readline): Expect sscanf returns >= 1.
	(readline): Change position on %n and \" in sscanf.

2006-08-07  Masatake YAMATO  <>

	* etags.c (readline): Expect sscanf returns 2, not 1.

2006-08-07  Masatake YAMATO  <>

	* etags.c (TEX_mode): Check getc returns EOF.
	File ended without newline causes infinite loop.

2002-07-30  Adrian Aichner  <>  (tiny change)

	* etags.c: It's XEmacs, not Xemacs: change all the occurrences.

2006-07-30  Francesco Potort,Al(B  <>

	* etags.c [ETAGS_REGEXPS]: Now is unconditionally defined.
	[LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, which is undefined.
	(Objc_suffixes): Suggest using --lang=c for full help.
	(C_entries): Initialise savetoken to 0 to shut up the compiler.

2006-07-20  Andreas Schwab  <>

	* fakemail.c (fatal): Drop second parameter and treat first
	parameter as a plain string.  Callers changed.

2006-07-18  Dan Nicolaescu  <>

	* ebrowse.c (usage, version): Mark as NO_RETURN.

	* emacsclient.c (print_help_and_exit): Likewise.

2006-07-10  Francesco Potort,Al(B  <>

	* etags.c (absolute_filename): Free unused space (cosmetic change).
	(in_word_set): In C, also tag #undef symbols.

2006-06-09  Eli Zaretskii  <>

	* yow.c: Remove file.

	* makefile.w32-in ($(BLD)/yow.$(O)): Remove target.

	* (UTILITIES): Remove yow${EXEEXT}.
	yow${EXEEXT}: Remove target.

2006-06-04  Masatake YAMATO  <>

	* ebrowse.c (main): Exit with EXIT_FAILURE if BROWSE file
	doesn't exist, is not seekable, not is failed in ftall.

2006-06-03  Eli Zaretskii  <>

	* makefile.w32-in (ALL): Add sorted-doc and digest-doc.
	($(BLD)/sorted-doc.exe, $(BLD)/digest-doc.exe)
	($(BLD)/test-distrib.exe): New targets.
	(sorted-doc, digest-doc, test-distrib): New targets.
	(install): Install sorted-doc.exe and digest-doc.exe.
	($(BLD)/sorted-doc.$(O)): Update dependencies.

	* digest-doc.c [DOS_NT] <top level>: Include fcntl.h and io.h.
	(main) [DOS_NT]: Switch stdin to binary mode, if it is not a
	terminal device.

	* sorted-doc.c [DOS_NT] <top level>: Include fcntl.h and io.h.
	[WINDOWSNT] <top level>: Don't redeclare malloc.
	(main) [DOS_NT]: Switch stdin to binary mode, if it is not a
	terminal device.
	(main): Initialize bp, to avoid compiler warnings

	* makefile.w32-in: Delete traces of leditcfns.c.

	* leditcfns.c: Remove file.

2006-05-23  Francesco Potort,Al(B  <>

	* pop.c (pop_open, socket_connection, KPOP_SERVICE): Added
	comments explaining why the "kpop" service is never used.

2006-05-13  Eli Zaretskii  <>

	* makefile.w32-in (lisp1): Add fringe.elc.

2006-05-02  Francesco Potort,Al(B  <>

	* etags.c (Perl_functions): Free space allocated for var package.
	(Erlang_functions): Possibly free space allocated for var last.
	(Prolog_functions): Possibly free space allocated for var last.

2006-04-29  Dan Nicolaescu  <>

	* sorted-doc.c (main): Initialize docs to NULL.

	* yow.c (yow): Free buf.

	* etags.c: Delete c-indentation-style local variable.

2006-04-29  Richard Stallman  <>

	* movemail.c (main): Check for negative value from `read'.

	* fakemail.c (read_header): Give fatal error if input has no header.

2006-04-02  Paul Eggert  <>

	* b2m.c (main): Don't include <limits.h>.
	(TM_YEAR_BASE): New macro.
	(TM_YEAR_IN_ASCTIME_RANGE): Don't define if already defined, so
	that s/ files can override this.  Use the more-conservative range
	(main): Check for asctime returning NULL.
	* fakemail.c: Likewise.

2006-03-27  Paul Eggert  <>

	* b2m.c: Include <limits.h>.
	(main): Check for out-of-range time stamps.
	* fakemail.c: Likewise.

2006-03-18  Andre Spiegel  <>

	* vcdiff: Use "echo" as a default for $echo, otherwise we'll
	execute $DIFF twice, and once with the wrong options.

2006-02-23  Claudio Fontana  <>

	* (install, uninstall): Add DESTDIR variable to
	support staged installations.

2005-12-30  Eli Zaretskii  <>

	* makefile.w32-in (MOUSE_SUPPORT): Add tooltip.elc.
	(lisp1): Add rfn-eshadow.elc, international/utf-16.elc, image.elc,
	international/fontset.elc, dnd.elc, mwheel.elc, and tool-bar.elc.
	Rearrange the list to be similar to $(shortlisp) in
	(lisp2): Add language/kannada.el, emacs-lisp/syntax.elc,
	emacs-lisp/timer.elc, jka-cmpr-hook.elc, font-lock.elc,
	jit-lock.elc.  Rearrange the list to be similar to $(shortlisp) in

2005-12-22  Richard M. Stallman  <>

	* (update-game-score.o): Delete spurious final `\'.

2005-11-18  Hideki IWAMOTO  <>  (tiny change)

	* etags.c (main): Cxref mode writes to stdout: do not close tagf,
	which was never opened.

2005-10-20  Olli Savia  <>  (tiny change)

	* etags.c: Undef STDIN if defined.  (LynxOS defines it in system
	header files.)

2005-09-27  Francesco Potort,Al(B  <>

	* etags.c: Preliminary Forth support.
	(prolog_pr): Cast strlen to int before comparison.
	(LOOKING_AT, LOOKING_AT_NOCASE): Let the preprocessor check that
	the second argument is indeed a literal string.
	(main): In append mode, sort the tags file after writing it.

2005-09-27  Emanuele Giaquinta  <>  (tiny change)

	* etags.c (longopts, print_help, main): The -a (--append) option
	can be used in ctags also; for one, the Linux make file uses it.

2005-09-20  Chong Yidong  <>

	* ebrowse.c (add_sym): Compare namespace names instead of
	namespace objects.  This prevents the parser from incorrectly
	treating classes whose superclass is in another namespace.

2005-09-15  Richard M. Stallman  <>

	* (update-game-score.o): New target.
	Compile and link this progranm separately.
	(update-game-score${EXEEXT}): Use GETOPTDEPTS.

2005-09-11  Jason Rumney  <>

	* makefile.w32-in (../src/config.h): Don't overwrite.  Print a
	message instead.
	(../src/paths.h): Removed.

2005-07-27  Juanma Barranquero  <>

	* .cvsignore: Don't ignore fns-* and fns.el, which are no longer
	generated.  Ignore also ctags.c and getopt.h.

	* makefile.w32-in (clean): Delete getopt.h.
	(getopt.h): New rule.

2005-07-26  Paul Eggert  <>

	Merge gnulib getopt implementation into Emacs.

	* (mostlyclean): Remove getopt.h, getopt.h-t.
	(GETOPT_H): New macro, from gnulib.
	(getopt.h): New rule, from gnulib.
	(GETOPTOBJS): Now autoconfigured.
	(GETOPTDEPS): getopt.h is now autoconfigured.
	(getopt.o, getopt1.o): Depend on $(GETOPT_H), not ${srcdir}/getopt.h.
	(getopt.o): Depend on ${srcdir}/gettext.h.
	(movemail.o): Depend on $(GETOPT_H).
	* getopt.c, getopt1.c: Sync from gnulib.
	* getopt_.h, getopt_int.h, gettext.h: New files, from gnulib.
	* getopt.h: Removed (now is getopt_.h).

2005-07-13  Ken Raeburn  <>

	* pop.c: Don't include des.h (or variants thereof); krb.h will do it.
	(sendline): Add the \r\n to the line in a temporary buffer, and write
	it all at once.

2005-07-04  Lute Kamstra  <>

	Update FSF's address in GPL notices.

2005-06-13  Eli Zaretskii  <>

	* makefile.w32-in ($(DOC)): Fix last change.

2005-06-12  Eli Zaretskii  <>

	* makefile.w32-in ($(DOC)): Depend on make-docfile.exe,
	temacs.exe, and the preloaded *.elc files.  This avoids
	unnecessary dumping and DOC rebuilding.

2005-06-04  Eli Zaretskii  <>

	* ntlib.h (fileno): Don't define if already defined.

2005-05-25  Thien-Thi Nguyen  <>

	* yow.c (setup_yow): Use EXIT_FAILURE in case no separators found.
	(yow): Use EXIT_FAILURE in case of memory error.

2005-05-13  YAMAMOTO Mitsuharu  <>

	* make-docfile.c (DIRECTORY_SEP): New macro.

2005-03-18  Jan Dj,Ad(Brv  <>

	* emacsclient.c: Avoid expansion of getcwd when defined as a macro.

2005-03-04  YAMAMOTO Mitsuharu  <>

	* make-docfile.c: Undo previous change.

2005-02-04  Andreas Schwab  <>

	* movemail.c (fatal): Accept third parameter and pass down to error.
	(pfatal_with_name): Pass error string as format parameter instead of
	as part of format string.
	(pfatal_and_delete): Likewise.
	(main): Adjust call to fatal.
	(xmalloc): Likewise.

2005-01-29  Richard M. Stallman  <>

	* movemail.c (popmail): Don't use Errmsg as format string.

2004-12-26  YAMAMOTO Mitsuharu  <>

	* make-docfile.c: Include stdlib.h even if WINDOWSNT is not defined.

2004-12-15  Andreas Schwab  <>

	* etags.c (main): Fix typo in conversion of LONG_OPTIONS from
	preprocessing to compile time constant.

2004-11-17  Kim F. Storm  <>

	* etags.c: Undo last change.

2004-11-09  Kim F. Storm  <>

	* make-docfile.c (scan_c_file): Set defvarperbufferflag to
	silence compiler.

	* hexl.c (main): Init local var c to silence compiler.

	* etags.c (main, consider_token, C_entries): Add misc switch
	default targets to silence compiler.

2004-11-09  Jan Dj,Ad(Brv  <>

	* makefile.w32-in (obj): Add all files (X and Mac) to doc so the
	resulting DOC file can be used on Unix/Mac also.

2004-09-13  Francesco Potort,Al(B  <>

	* etags.c (main): When relative file names are given as argument,
	make them relative to the current working dir, rather than
	relative to the output tags file, if the latter is in /dev.

2004-09-13  Francesco Potort,Al(B  <>

	* etags.c [EXIT_SUCCESS, EXIT_FAILURE]: Define them when no
	<stdlib.h> is available.
	(enum sym_type): New st_C_attribute value for parsing
	gcc's __attribute__.  Deleted st_C_typespec value.
	(gperf, in_word_set): Use gperf 3, options changed.  Added the
	__attribute__ keyword, removed all the st_C_typespec keywords,
	changed attribute for Java to (C_JAVA & !C_PLPL).
	(inattribute): New global bool, part of the C state machine.
	(cblev): Identifier renamed to bracelev throughout.
	(consider_token, C_entries): Numerous changes for making the
	parser more robust and adding support for __attribute__.

2004-09-13  David A. Capello  <>  (tiny change)

	* etags.c (Lua_suffixes, Lua_help, lang_names, Lua_functions):
	Support the Lua scripting language <>.

2004-09-08  Francesco Potort,Al(B  <>

	* etags.c [LONG_OPTIONS]: Make it TRUE (ifdef) or FALSE (ifndef)
	for ease of use.

2004-07-17  Richard M. Stallman  <>

	* emacsclient.c (quote_file_name): Pass COPY thru %s to output it.

2004-06-01  Juanma Barranquero  <>

	* makefile.w32-in (obj): Add image.c.

2004-05-10  Thien-Thi Nguyen  <>

	* test-distrib.c (main): For failing cases, exit with `EXIT_FAILURE'.

2004-05-08  Jason Rumney  <>

	* makefile.w32-in (lisp1, lisp2): Split lisp to avoid long

2004-05-08  Thien-Thi Nguyen  <>

	* cvtmail.c: Throughout, replace 0 destined for `exit' arg
	with `EXIT_SUCCESS'.  Likewise, replace 1 with `EXIT_FAILURE'.
	(main): Use `EXIT_SUCCESS' or `EXIT_FAILURE' for return value.

	* ebrowse.c, emacsclient.c, fakemail.c, hexl.c,
	* make-docfile.c, movemail.c, profile.c, sorted-doc.c,
	* test-distrib.c, update-game-score.c, yow.c: Likewise.

2004-05-08  Thien-Thi Nguyen  <>

	* (emacsclient${EXEEXT}): Use makefile var `version'.

2004-05-07  Thien-Thi Nguyen  <>

	* b2m.c (GOOD, BAD): Delete macros.  Throughout,
	replace w/ `EXIT_SUCCESS' and `EXIT_FAILURE', respectively.
	(main): Use `EXIT_SUCCESS' or `EXIT_FAILURE' for return value.

	* etags.c: Likewise.

2004-05-03  Jason Rumney  <>

	* makefile.nt: Remove.

2004-04-26  Eli Zaretskii  <>

	* make-docfile.c (IS_DIRECTORY_SEP): New macro.
	(put_filename): Remove unused variable len.  Use IS_DIRECTORY_SEP
	instead of a literal '/'.

2004-04-23  Juanma Barranquero  <>

	* makefile.w32-in: Add "-*- makefile -*-" mode tag.

2004-04-17  Paul Eggert  <>

	* rcs2log (Help): Clarify wording of the usage message.
	Problem reported by Alan Mackenzie in

2004-04-07  Stefan Monnier  <>

	* make-docfile.c (xmalloc): Fix return type.
	(put_filename): New fun.
	(scan_file): Use it.

2004-03-09  Juanma Barranquero  <>

	* grep-changelog: Changes to support ChangeLog.10+.
	(main): Tidy up usage string.  Fix "Use of uninitialized value"
	warning.  Set version to 0.2.  Parse the directory listing to get
	any ChangeLog.n file, not just 1..9.
	(header_match_p, entry_match_p, print_log, parse_changelog):
	Remove Perl prototypes (their purpose is to help the parser, which
	isn't needed here, not declare arguments).
	(parse_changelog): Make --reverse faster on big batches by not
	modifying the entries list.

2004-03-01  Juanma Barranquero  <>

	* makefile.w32-in (obj): Add fringe.c.

2004-02-14  Paul Eggert  <>

	* rcs2log: Work correctly if CVSROOT specifies :fork: or
	:local: methods, or omits the colon between the hostname
	and the path.  Allow :/ in repository path, since CVS does.
	Fix typo: "pository" should be set from $CVSROOT, not $repository.
	This fixes a bug reported by Wolfgang Scherer in
	along with some related bugs I discovered by inspecting how
	CVS itself parses $CVSROOT.

2004-02-04  J,bi(Br,bt(Bme Marant  <>  (tiny change)

	* emacsclient.c (decode_options): Fix handling of alternate editor.

2004-01-27  Stefan Monnier  <>

	* emacsclient.c (main): Don't use the hostname in the socket name.
	Look for relative socket names in the /tmp dir rather than in cwd.

2004-01-24  Richard M. Stallman  <>

	* emacsclient.c (main): Restore errno from saved_errno,
	so the error message comes from socket_status.

2004-01-20  Stefan Monnier  <>

	* emacsclient.c (main): Stop if socket name too long.
	Only try su-fallback if the socket name was not explicit.
	Check socket name length in su-fallback case as well.

2004-01-08  Andreas Schwab  <>

	* emacsclient.c (main): Save errno from socket_status.

2004-01-04  Andreas Schwab  <>

	* emacsclient.c (main): Fix socket name when using another user.

2003-12-27  Paul Eggert  <>

	* rcs2log (rlog_options): Append -rbranchtag if CVS/Tag indicates
	a tag, and if the user has not specified an rlog option.
	Adapted from a suggestion by Martin Stjernholm in
	(Copyright): Update to 2003.

2003-12-24  Thien-Thi Nguyen  <>

	* make-docfile.c (main): For return code, no longer special-case VMS.
	Instead, use `EXIT_SUCCESS' and `EXIT_FAILURE' from stdlib.h.

2003-09-28  Andreas B,A|(Bsching  <>  (tiny change)

	* emacsclient.c (quote_file_name): Print the result instead of
	returning it.  Fix the return type accordingly.
	(main): With --eval, if no file name, read from stdin.
	Quote file names.

2003-09-10  Richard M. Stallman  <>

	* emacsclient.c	(main): Use socket_name.

2003-09-10  Andreas B,A|(Bsching  <>  (tiny change)

	* emacsclient.c (socket_name): New variable.
	(longopts, decode_options, print_help_and_exit):
	Handle --socket-name argument.

2003-08-25  Takaaki Ota  <>  (tiny change)

	* etags.c (consider_token): Check C++ `operator' only when the
	token len is long enough.

2003-08-20  Dave Love  <>

	* Remove obsolete references to alloca.

2003-07-29  Ken Brush  <>

	* emacsclient.c (main)
	* etags.c (suggest_asking_for_help)
	* movemail.c (main): Fix having macros in a printf statement.

2003-05-31  Juanma Barranquero  <>

	* makefile.w32-in (lisp): Fix references to byte-run.el,
	float-sup.el and map-ynp.el, which are now in emacs-lisp.

2003-05-22  Dave Love  <>

	* update-game-score.c (difftime) [!HAVE_DIFFTIME]: Define.
	(strerror) [!HAVE_STRERROR && !WINDOWSNT]: New.

2003-05-20  Dave Love  <>

	* movemail.c: Check HAVE_LIBLOCKFILE like HAVE_LIBMAIL.

	* [HAVE_LIBLOCKFILE]: Define LIBS_MAIL=-llockfile.

2003-04-27  Oliver Scholz  <>

	* update-game-score.c (read_scores): Fix corruption of scores on read.

2003-04-12  Stefan Monnier  <>

	* emacsclient.c (main): Use new safe location for socket.

2003-03-12  Tom Tromey  <>

	* emacsclient.c (print_help_and_exit): Print to stdout.
	Exit successfully.  Added some blank lines for readability.
	(decode_options): Don't call print_help_and_exit in default case.
	Print version information to stdout.
	(main): Don't call print_help_and_exit.

2003-02-15  Richard M. Stallman  <>

	* cvtmail.c: Cast result of malloc and realloc.
	Don't include stdlib.h, becuase config.h does.
	(malloc, realloc): Declarations deleted.

	* yow.c (yow): Cast result of malloc and realloc.
	(malloc, realloc): Declarations deleted.

2003-02-11  Juanma Barranquero  <>

	* makefile.w32-in (lisp): Add malayalam.el and tamil.el.

2003-02-08  Andreas Schwab  <>

	* (EXEEXT): Define to @EXEEXT@ and use this variable
	instead of the substitution.

2003-02-04  Richard M. Stallman  <>

	* update-game-score.c (push_score, read_scores): Cast values
	of malloc and realloc.
	(main, lock_file): Avoid assignment inside if.

2003-01-31  Joe Buehler  <>

	* Use @EXEEXT@ for Cygwin.

2003-01-21  Dave Love  <>

	* etags.c (Cplusplus_help, Cjava_help): Re-phrase and avoid
	column-0 `('.

	* yow.c: Don't include string.h.

2003-01-20  Richard M. Stallman  <>

	* (rcs2log, rcs-checkin, grep-changelog, vcdiff):
	New targets.

2003-01-06  Kim F. Storm  <>

	* pop.c (__P): Renamed from _P to avoid problems on Cygwin.
	All uses changed.

2002-12-18  Andrew Innes  <>

	* makefile.w32-in ($(DOC)): Use -o and -a options to make-docfile,
	because GNU make doesn't append when using >> redirection.

2002-12-12  Jonathan Kamens  <>

	* Make sure every message ends with a blank line, because
	some mbox parsers require a blank line before "From " lines.

2002-12-08  Richard M. Stallman  <>

	* getopt.c: Do include libintl.h if HAVE_LIBINTL_H.
	(_): Test only HAVE_LIBINTL_H to decide what to do.

2002-12-05  Richard M. Stallman  <>

	* getopt.c: Comment out include of libintl.h or gettext.h.

2002-12-04  Richard M. Stallman  <>

	* Update getopt from gnulib version; changes described below.

	* getopt1.c: Conditionally find getopt.h.
	[_LIBC] (getopt_long, getopt_long_only): Do libc_hidden_def.

	* getopt.c (const): Move outside !HAVE_CONFIG_H conditional.
	(libintl.h): Include this if _LIBC.  Otherwise include gettext.h.
	(wchar.h): Include, maybe.
	(attribute_hidden): Define if not defind.
	(__getopt_initialized): Use attribute_hidden.
	(__libc_argc, __libc_argv): Renamed from original_argc, etc.
	(__getopt_nonoption_flags, nonoption_flags_max_len, nonoption_flags_len):
	Conditional on USE_NONOPTION_FLAGS.
	(SWAP_FLAGS): New definitions.
	(exchange): Test USE_NONOPTION_FLAGS.
	(_getopt_initialize): Test USE_NONOPTION_FLAGS.
	(_getopt_internal): Error if argc < 1.  New local var print_errors.
	Improve test for ambiguous long option.
	Add LIBIO support for error message output.

	* getopt.h: Maybe include ctype.h.
	Treat __cplusplus like __STDC__.
	(decls): Use __ in arg names.

2002-12-02  Stephen Eglen  <>

	* emacsclient.c (main): Tell user how to start server within Emacs
	if socket could not be found.

2002-12-02  Richard M. Stallman  <>

	* emacsclient.c (main): Test HAVE_GETCWD rather than BSD_SYSTEM.

2002-11-19  Ben Key  <>

	* makefile.w32-in: Fixed a bug that caused the documentation for
	the built in function play-sound-internal not to be included in

2002-11-18  Dave Love  <>

	* update-game-score.c: Include unistd.h, string.h, stdlib.h,
	fcntl.h, stdarg.h conditionally.
	(_GNU_SOURCE, __attribute__): Don't define.
	(optarg, optind, opterr): Declare.
	(lose, lose_syserr): Use NO_RETURN.
	(get_user_id): Use P_.

2002-11-17  Richard M. Stallman  <>

	* (${archlibdir}): Ignore errors operating on $(gamedir).

2002-11-14  Dave Love  <>

	* movemail.c (pop_retr): Declare comment.

	* make-docfile.c (read_c_string_or_comment): Declare msgno.

	* (YACC): Deleted.

2002-10-19  Andreas Schwab  <>

	* (${archlibdir}): Always create $(gamedir).
	(update-game-score): Pass $(gamedir) as HAVE_SHARED_GAME_DIR.

2002-10-04  Juanma Barranquero  <>

	* makefile.w32-in (lisp): Load devanagari.el, not .elc.

2002-09-30  Markus Rost  <>

	* emacsclient.c (main): Remove reference to SERVER_HOME_DIR

2002-09-27  Stefan Monnier  <>

	* emacsclient.c: Remove SYSV support.
	(eval, display): New vars.
	(longopts): Add --eval and --display.
	(decode_options): Add -e and -d processing.
	(print_help_and_exit): Update the usage string.
	(main): Add support for --eval and --display.
	(main): Always use /tmp and non-qualified hostname.

2002-09-25  Stefan Monnier  <>

	* emacsserver.c: Remove.

2002-09-17  Stefan Monnier  <>

	* emacsclient.c (quote_file_name): Quote \n.
	(main): Print a final \n when needed.

2002-09-03  Francesco Potort,Al(B  <>

	* etags.c (regex_tag_multiline, readline): Never pass pfnote a
	string that cannot be freed.

2002-08-30  Francesco Potort,Al(B  <>

	* etags.c (consider_token, C_entries): Switch to C++ parsing when
	auto-detection is enabled and the `::' qualifier is met.
	(consider_token, C_entries): Several bugs corrected that tagged
	some declarations even though --declarations was not used.
	(plainc): New macro.
	(C_entries): Use it.
	(C_entries): Several cosmetic changes.
	(C_entries): Invalidate the token is some cases.

2002-08-29  Francesco Potort,Al(B  <>

	* etags.c (C_entries): Correct a problem with const C++ funcs.
	(ignoreindent): Renamed from noindentypedefs.
	(cjava, cplpl): They are now macros instead of local vars.

2002-08-28  Francesco Potort,Al(B  <>

	* etags.c (HTML_labels): Tag ID= also.

2002-08-27  Francesco Potort,Al(B  <>

	* etags.c (Ada_funcs): Do not tag "use type Xxxx;".

	* etags.c (HTML_labels): New language HTML.
	(etags_strcasecmp): Like BSD's, for compatibility.
	(strcaseeq): Make it into a macro.

	* etags.c (make_tag): Never generate null length tag names.
	(linebuffer_init): Renamed from initbuffer.  All callers changed.
	(pattern): Structure renamed to `regexp', member regex renamed to
	(node_st): Member pat renamed to regex.
	(pattern); New member force_explicit_name, for future use.
	Now always set to true, cannot be reset.
	(add_regex, regex_tag_multiline, readline): Use it.
	(main): Free some global structures.
	(fdesc): New member `written'.
	(readline, process_file): Initialise it.
	(put_entries): Set it.
	(main): Use it to create entries for files without tags.
	(total_size_of_entries): Do not count invalid tags.

2002-08-19  Stefan Monnier  <>

	* make-docfile.c (scan_keyword_or_put_char, write_c_args): Use `fn'
	for the function name in the usage info.

2002-07-31  Colin Walters  <>

	* update-game-score.c (P_): New macro.  Use it for all prototypes.
	(lose): Don't use varargs.
	(lose_syserr): New function.

	* update-game-score.c: Change all functions to K&R style.

2002-07-30  Andreas Schwab  <>

	* (localstatedir): New variable.

2002-07-29  Jonathan Kamens  <>

	* Fix regexp for finding return address fields.

2002-07-15  Stefan Monnier  <>

	* make-docfile.c (scan_c_file): Warn about missing `usage' info.

2002-07-05  Jonathan Kamens  <>

	* Obey the rmail file and use the unpruned header properly.

2002-06-26  Pavel Jan,Bm(Bk  <>

	* New file.

2002-06-21  Francesco Potort,Al(B  <>

	* etags.c (F_getit, Fortran_functions, Ada_getit, Asm_labels)
	(Python_functions, PHP_functions, PHP_functions, PHP_functions)
	(PHP_functions, PHP_functions, Cobol_paragraphs)
	(Makefile_targets, Postscript_functions, Texinfo_nodes)
	(prolog_pr, erlang_func, erlang_attribute)
	(Perl_functions, Perl_functions, Pascal_functions)
	(TeX_commands, get_tag): Use make_tag instead of pfnote.
	(get_tag): Prototype changed, all callers changed.

2002-06-20  Francesco Potort,Al(B  <>

	* etags.c: Implement implicit tag names, that is, unnamed tags
	whose name is automatically deduced by etags.el.  The advantage is
	that there is no explicit tag name in most tags, so the size of
	the tags file is reduced, yet find-tag is able to do a match as
	accurate as with named tags.  See the comment in make_tag for details.
	(make_tag): New function (was the disabled function new_pfnote).
	(make_C_tag): Use it.

2002-06-19  Francesco Potort,Al(B  <>

	* etags.c (add_regex): Invalid regexp modifiers are ignored.
	(Makefile_targets): Tag variables unless --no-globals.
	(LOOP_ON_INPUT_LINES): Serious bug corrected.

2002-06-13  Francesco Potort,Al(B  <>

	* etags.c (erlang_atom, erlang_attribute): Bugs corrected.
	(invalidate_nodes): Bug corrected.
	(print_help): Better help for regexps.

2002-06-13  Juanma Barranquero  <>

	* makefile.w32-in (lisp): Add international/ucs-tables.elc and

2002-06-12  Francesco Potort,Al(B  <>

	* etags.c: New multi-line regexp and new regexp syntax.
	(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.

2002-06-11  Francesco Potort,Al(B  <>

	* etags.c (add_regex): Better check for null regexps.
	(readline): Check for regex matching null string.
	(find_entries): Reorganisation.

2002-06-07  Francesco Potort,Al(B  <>

	* etags.c (scan_separators): Support all character escape
	sequences supported by Gcc.
	(find_entries): Rewind unconditionally.
	(find_entries): Do not call language functions directly, now calls
	(find_entries): Do general initialisations here.
	(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.

2002-06-06  Francesco Potort,Al(B  <>

	* etags.c: New option --parse-stdin=FILE.
	(enum arg_type): New label at_stdin.
	(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.

	* etags.c: Improvements and bug squashing in TeX handling.
	(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 Potort,Al(B  <>

	* etags.c (main): Avoid a buffer overrun with sprintf.

2002-05-30  Richard M. Stallman  <>

	* (LIBS_MAIL): Renamed from LIB_MAIL.
	(LIBS_MOVE): Renamed from MOVE_LIBS.

2002-05-26  Paul Eggert  <>

	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  <>

	* pop.c (socket_connection): Move the code to resolve the POP
	host right before trying to connect with it.

2002-04-28  Colin Walters  <>

	* (${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,Bm(Bk  <>

	* ebrowse.c (skip_initializer): Return void.

2002-04-23  Colin Walters  <>

	* update-game-score.c (read_score) [HAVE_GETDELIM]: Trim trailing

2002-04-22  Francesco Potort,Al(B  <>

	* 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  <>

	* ebrowse.c (add_declarator): Test *CLS instead of CLS.

2002-04-16  Eli Zaretskii  <>

	* update-game-score.c: Move config.h before the other headers, to
	avoid compiler warnings.

2002-04-16  Francesco Potort,Al(B  <>

	* etags.c (find_entries): Bug fix in list management.

2002-04-15  Francesco Potort,Al(B  <>

	* 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 Potort,Al(B  <>

	* 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): Add 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  <>

	* 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  <>

	* 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

2002-04-10  Colin Walters  <>

	* update-game-score.c (toplevel): Include stdarg.h.
	default to ~/.emacs.d/games.
	(get_user_id): Don't zero uid in the case where we can't get the
	(lose): New function.
	(main): Actually use `max', and default it to MAX_SCORES.
	Correctly handle new default for SCORE_FILE_PREFIX.  Use `lose'
	(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.

	* (gamedir, gameuser): New variables.
	(toplevel, UTILITIES): Add update-game-score.
	(${archlibdir}): Handle HAVE_SHARED_GAME_DIR.

2002-04-07  Colin Walters  <>

	* 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
	(read_score): Trim newline only in `getline' case.

2002-04-05  Colin Walters  <>

	* 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  <>

	* ebrowse.c (add_declarator): Fix the first call to add_member_defn.

2002-03-29  Gerd Moellmann  <>

	* ebrowse.c (add_declarator, skip_initializer): New functions.
	(declaration): Use them.

2002-03-28  Jason Rumney  <>

	* makefile.w32-in (lisp): Move backquote.elc into emacs-lisp.

2002-03-27  Colin Walters  <>

	* update-game-score.c: New file.

2002-03-22  Paul Eggert  <>

	* 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 Potort,Al(B  <>

	* 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  <>

	* etags.c (put_entries): Use #if !CTAGS, to fix link error on
	compilers that don't optimize out dead code.

2002-03-05  Francesco Potort,Al(B  <>

	* 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  <>

	* makefile.w32-in (lisp): Add missing backslash.

2002-02-24  Jason Rumney  <>

	* makefile.w32-in (WINNT_SUPPORT, MOUSE_SUPPORT, lisp): Revert to
	using .elc files.
	(lisp): Sync with list in src/
	(VMS_SUPPORT, MSDOS_SUPPORT): Define, so DOC files can be shared.

2002-02-10  Paul Eggert  <>

	* rcs-checkin: Use `sort -k 2', not `sort +1', as POSIX 1003.1-2001
	disallows the old syntax.

2002-02-03  Paul Eggert  <>

	* 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,Bm(Bk  <>

	* b2m.c (main): Parenthesize assignment when used as truth value
	to prevent gcc warnings.

	* fakemail.c: Include <config.h>.

2001-12-29  Pavel Jan,Bm(Bk  <>

	* cvtmail.c, emacsclient.c, emacsserver.c, pop.c, sorted-doc.c,
	* yow.c: Include <config.h>.

2001-12-21  Francesco Potort,Al(B  <>

	* 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): Simplify 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,Bm(Bk  <>

	* makefile.nt, makefile.w32-in: Remove mocklisp files.

2001-12-19  Pavel Jan,Bm(Bk  <>

	* 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  <>

	* yow.c (main): Use time_t, not long, to avoid a compiler warning.

2001-12-18  Pavel Jan,Bm(Bk  <>

	* test-distrib.c: Fix previous change.

2001-12-18  Dave Love  <>

	* 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 Potort,Al(B  <>

	* 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.
	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  <>

	* (clean): Don't delete ../etc/DOC*.

2001-12-11  Pavel Jan,Bm(Bk  <>

	* COPYING: Moved back.

2001-11-30  Andrew Innes  <>

	* makefile.w32-in (FACE_SUPPORT):
	(lisp): Reference .el files instead of .elc files, to simplify
	($(DOC)): Change dependency to just `make-docfile'.

2001-11-29  Pavel Jan,Bm(Bk  <>

	* COPYING: Removed.

2001-11-28  Paul Eggert  <>

	* rcs2log (Copyright): Add '(C)' as per coding guidelines.

	The following changes are derived from suggestions by Bob Chapman

	* 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  <>

	* ebrowse.c (matching_regexp): Escape '\\'.

2001-11-15  Pavel Jan,Bm(Bk  <>

	* Add support for --program-prefix, --program-suffix
	and --program-transform-name options.

2001-11-03  Richard M. Stallman  <>

	* cvtmail.c (xrealloc): Always pass two args to `fatal'.

	* movemail.c (popmail): Always pass two args to `error'.

2001-10-24  Ken Raeburn  <>

	* (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  <>

	* 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  <>

	* (Version 21.1 released.)

2001-10-19  Pavel Jan,Bm(Bk  <>

	* b2m.c: Properly spell the name of Emacs.

2001-10-17  Miles Bader  <>

	* make-docfile.c (put_char): New function.
	(read_c_string_or_comment): Strip trailing spaces and newlines.

2001-10-16  Miles Bader  <>

	* make-docfile.c (scan_c_file): Handle `new style' doc strings in
	comments [with `doc:' keyword prefix].

2001-10-15  Gerd Moellmann  <>

	* make-docfile.c (read_c_string_or_comment): Don't drop a '*'
	in a C doc comment.

2001-10-13  Gerd Moellmann  <>

	* 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  <>

	* makefile.nt (ALL): Do not include fakemail.

	* makefile.w32-in (install): Do not copy fakemail.

2001-10-10  Jason Rumney  <>

	* makefile.w32-in (ALL) Do not include fakemail.

	* makefile.nt (install) Ditto.

2001-10-09  Gerd Moellmann  <>

	* emacsserver.c (main): Cast geteuid in sprintf to int.

	* emacsclient.c (main): Cast isdigit argument to unsigned char.

2001-10-07  Pavel Jan,Bm(Bk  <>

	* profile.c: Include config.h, not ../src/config.h.
	Include systime.h, not ../src/systime.h.

2001-10-05  Gerd Moellmann  <>

	* Branch for 21.1.

2001-10-01  Alexander Zhuckov  <>

	* ebrowse.c (struct alias): Add two new struct members: NAMESP and
	ALIASEE to help work with namespace aliases.
	(struct sym): Remove struct member NAMESP_ALIASES.
	(namespace_alias_table): New variable.
	(make_namespace): Add parameter CONTEXT.
	(check_namespace): New function.
	(find_namespace): Add parameter CONTEXT.
	(check_namespace_alias): New function.
	(register_namespace_alias): Change type of parameter OLD_NAME.
	Search for already defined alias in NAMESPACE_ALIAS_TABLE.
	(check_namespace): New function.
	(enter_namespace): Call find_namespace with CONTEXT parameter.
	(match_qualified_namespace_alias): New function.
	(parse_qualified_ident_or_type): Fix typo in comment.
	While parsing qualified ident or type update namespace context and
	restore it on exit.
	(parse_qualified_param_ident_or_type): Fix typo in comment.
	(globals): Change handling of namespace aliases.
	(version): Add year 2001.

2001-09-15  Eli Zaretskii  <>

	* etags.c (analyse_regex): If regex_arg is NULL, return
	immediately after a call to free_patterns.

2001-09-05  Paul Eggert  <>

	* rcs2log (Help, mainline code): Add new option -L FILE.
	(Copyright): Update year.
	(LC_NUMERIC, LC_TIME): New shell vars, to make sure we live in the
	C locale.
	(mainline code): Handle nonstandard -u option differently, by
	transforming it to standard form.  Check for "Working file: ", not
	"Working file:".  Allow file names with spaces.
	(SOH, rlogfile): New shell vars.
	(rlogout): Remove.  Its old functionality is mostly migrated to

	Append ';;' to the last arm of every case statement, for
	portability to ancient broken BSD shells.

	(logins): Fix bug; was not being computed at all, lowering performance.
	(pository): New var.  This fixes some bugs where repositories are
	remote, or have trailing slashes.
	(authors): $llogout is never an empty shell var, so don't worry
	about that possibility.
	(printlogline, mainline code): Fix bug with SOH's being put into
	the output.

2001-09-01  Eli Zaretskii  <>

	* ebrowse.c (SEEK_END): #define if not defined by system headers.
	Suggested by Dave Love <>.

2001-08-29  Eli Zaretskii  <>

	* makefile.nt (lisp): Synchronize with src/
	* makefile.w32-in (lisp): Ditto.

2001-07-25  Juanma Barranquero  <>

	* grep-changelog (parse_changelog): Remove unused local variable.

	* grep-changelog (main): Add new option --reverse.
	(print_log): Use it.
	(parse_changelog): Use it.

2001-07-20  Gerd Moellmann  <>

	* grep-changelog: Remove RCS Id keyword.

2001-07-20  Juanma Barranquero  <>

	* grep-changelog (parse_changelog): Add tests for defined values
	to quiet warning from Perl 5.005 or above.
	(entry_match_p, header_match_p): Fix handling of null or empty
	argument to prevent duplicate headers.

	* grep-changelog (main, parse_changelog): Make "use strict"-clean.

2001-07-17  Jan Nieuwenhuizen  <>

	* emacsclient.c (print_help_and_exit): Fix help message for
	+LINE:COLUMN option.

2000-07-17  Han-Wen Nienhuys  <>

	* emacsclient.c (main): Add support for +LINE:COLUMN command line

2001-07-16  Gerd Moellmann  <>

	* ebrowse.c (main): Check that the output file exists and
	is non-empty if invoked with `--append'.

2001-05-14  Francesco Potort,Al(B  <>

	* etags.c (add_regex): Reset the whole newly allocated pattern
	buffer instead of the individual members.  It's safer and works
	with XEmacs.

	* etags.1: Markups corrected.

2001-05-08  Gerd Moellmann  <>

	* ebrowse.c (enter_namespace): Fix reallocation of namespace_stack.

2001-05-03  Gerd Moellmann  <>

	* ebrowse.c (globals): Fix handling of namespace aliases.

2001-04-27  Eli Zaretskii  <>

	* etags.c (print_help): Enclose the regexp in the help text
	example in quotes.

2001-04-05  Dave Love  <>

	* emacsclient.c (fail): Don't return a value.
	(main): Cast uid values for sprintf.

2001-04-03  Gerd Moellmann  <>

	* emacsclient.c (fail, main): Don't use implicit int return type.

	* b2m.c (main): Always return a value.

2001-03-02  Gerd Moellmann  <>

	* ebrowse.c (parse_qualified_param_ident_or_type): Return a
	freshly allocated object in *LAST_ID.
	(read_line): Accept \r\n line endings.

2001-02-24  Andrew Innes  <>

	* makefile.w32-in: Fix copyright notice.

2001-02-23  Francesco Potort,Al(B  <>

	* etags.c (enum sym_type): New label st_C_template.
	(gperf input): Use it for switching to C++ from C.
	(consider_token): Do it.
	(C_entries): Initialise typdefcblev to quiet compilers.
	[!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing.

2001-02-22  Andrew Innes  <>

	* makefile.nt ($(BLD)\movemail.obj): Remove reference to
	VMS header files.
	($(BLD)\profile.obj): Ditto.

	* makefile.w32-in ($(BLD)/movemail.$(O)): Remove reference to
	VMS header files.
	($(BLD)/profile.$(O)): Ditto.

2001-02-05  Andrew Innes  <>

	* makefile.w32-in ($(DOC)): Use $(THISDIR) instead of . in
	invocation of make-docfile, to work with Windows 2000.

2001-01-31  Dave Love  <>

	* etags.c (in_word_set): Use `static' in definition (for pcc).

2001-01-31  Francesco Potort,Al(B  <>

	* etags.c [NDEBUG]: #undef assert and #define it as ((void)0), for
	the sake of some buggy assert.h (e.g. in MinGW and sunos4 pcc).
	(C_entries): Tag token renamed to still_in_token because sunos4
	pcc wants to expand it as the token() macro even though it has no

2001-01-30  Andrew Innes  <>

	* etags.c (assert) [__MINGW32__]: Redefine assert to work around a
	bug in the Mingw32 assert.h header file.

2001-01-30  Francesco Potort,Al(B  <>

	* etags.c [WIN32-NATIVE]: #undef MSDOS, #undef WINDOWSNT and
	#define it for the sake of XEmacs.
	[WINDOWSNT]: #undef HAVE_NTGUI even if built without
	HAVE_CONFIG_H.  This change only affects a standalone etags.
	[WINDOWSNT]: #undef DOS_NT and #define it even if built with
	HAVE_CONFIG_H.  This change does nothing in Emacs, as DOS_NT is
	always defined when HAVE_CONFIG_H and WINDOWS are both defined.
	[!HAVE_UNISTD_H]: use defined(WINDOWSNT) instead of the bare
	WINDOWSNT, as this is the correct way to use it.

2001-01-28  Francesco Potort,Al(B  <>

	* etags.c: Be capable to parse nested struct-like structures.
	(structdef, structtag): Struct state machine revisited.
	(struct tok): Revisited.
	(cstack, nestlev, instruct): New struct and macros.
	(pushclass_above, popclass_above, write_classname): New functions
	for dealing with nested class names.
	(consider_token, make_C_tag, C_entries): Many changes for dealing
	with arbitrarily nested structures.
	(etags_getcwd): #if MSDOS, not #ifdef MSDOS!
	(C_entries): Consider templates in C++.
	(sym_type): New constant st_C_class for detecting "class" also in
	C mode.
	(C_AUTO): New macro for automatic detection of C++.
	(consider_token): Automatic set C++ mode.
	(C_entries): New security check for yacc.
	(print_language_names, print_help): Mention the autodetect
	feature, do not show help for the -C option, now mostly	useless.
	(C_entries): Tag C++ forward declarations if --declarations.
	(C_entries): Don't be fooled by things like XDEFUN.
	(consider_token): Discard asm pseudo function.

2001-01-27  Eli Zaretskii  <>

	* etags.c: Add a coding: tag.

2001-01-26  Gerd Moellmann  <>

	* ebrowse.c (matching_regexp_buffer, matching_regexp_end_buf):
	New variables.
	(matching_regexp): Use them instead of static variables in
	function scope.

2001-01-25  Francesco Potort,Al(B  <>

	* etags.c (struct tok): Renamed from struct token.
	(token): Renamed from tok.
	(structtype): Make it a local variable.
	[DEBUG]: Use assert.
	(xrnew): Change the synopsis.
	(typedefs_or_cplusplus): Renamed from typedefs_and_cplusplus.
	(grow_linebuffer): Don't call xrnew when not needed.
	(token): Buffer renamed to line.
	(C_entries): Three calls to inibuffer moved here from main.
	(C_entries): Remove all references to var methodlen, delete it.
	(linebuffer_setlen): Was grow_buffer, now also sets len.
	(consider_token, C_entries, Pascal_functions): Use it.
	(C_entries): Preventing problems relative to extern "C".
	(C_entries): Can tag more than one variable or func separated by
	comma when --declarations is used.
	(C_entries): More accurate tagging of members and declarations.
	(yacc_rules): Was global, made local to C_entries.
	(next_token_is_func): Removed.
	(fvdef): New constants fdefunkey, fdefunname.
	(consider_token, C_entries): Use them.
	(C_entries): Build proper lisp names for Emacs DEFUNs.

2001-01-22  Gerd Moellmann  <>

	* ebrowse.c (xfree): New function.
	(member, declaration, globals): Use xmalloc instead of alloca.

2001-01-15  Francesco Potort,Al(B  <>

	* etags.c (print_language_names): Print filenames in addition to

2001-01-14  Francesco Potort,Al(B  <>

	* etags.c (get_language_from_langname): Renamed from
	(get_language_from_filename): Renamed from get_language_from_suffix.
	Now first looks for the complete file name.
	(language): New member char **filenames.
	(Makefile_filenames): List of possible filenames for makefiles.
	(lang_names): Add a NULL member for every entry, added an entry
	for makefiles.
	(Makefile_targets): New function.
	(Texinfo_nodes): Renamed from Texinfo_fuctions and made
	it conformant to the style of the rest of the code.

2001-01-13  Gerd Moellmann  <>

	* make-docfile.c (write_c_args): Print newlines as spaces.

2001-01-06  Andrew Innes  <>

	* makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
	of *.pdb.

2001-01-03  Paul Eggert  <>

	* lib-src/rcs2log: Avoid security hole allowing attacker to
	cause user of rcs2log to overwrite arbitrary files, fixing
	a bug reported by Morten Welinder.

	Don't put "exit 1" at the end of the exit trap; it's
	ineffective in POSIX shells.

2001-01-02  Gerd Moellmann  <>

	* ebrowse.c (yyerror): Change to take two arguments.
	Add prototype.  Change callers.

2001-01-02  Eli Zaretskii  <>

	* ebrowse.c (enter_namespace, main): Cast variables to shut up
	compiler warnings.
	(yyerror): Change parameter declarations to be of type long, so
	that they can take pointers on 64-bit platforms.

	* emacsclient.c (main): Remove unused local variable statbfr.
	(main) <homedir>: Make its declaration conditional on
	SERVER_HOME_DIR, to avoid compiler warnings.

	* emacsserver.c (main) <homedir>: Make its declaration conditional
	on SERVER_HOME_DIR, to avoid compiler warnings.

	* fakemail.c (readline): Cast buffer to "long *" to pacify
	over-zealous compilers.

2000-12-16  Eli Zaretskii  <>

	* etags.c (canonicalize_filename) [DOS_NT]: Fix last change.

2000-12-15  Gerd Moellmann  <>

	* ebrowse.c (operator_name): Cast argument of isalpha to
	unsigned char.

	* etags.c (ISALNUM, ISALPHA, ISDIGIT, ISLOWER): New macros.
	Use them throughout instead of ctype functions/macros.
	(lowcase): Cast to unsigned char.
	(UPCASE): New macro.
	(canonicalize_filename): Use UPCASE instead toupper.

	* fakemail.c (get_keyword): Make sure that isspace and
	similar aren't called with a negative argument.

2000-12-13  Dave Love  <>

	* ebrowse.c (ensure_scope_buffer_room): Fix xrealloc call.

2000-12-06  Andrew Innes  <>

	* makefile.w32-in (LOCAL_FLAGS): Remove -DVERSION flag, since we
	don't know the real version, and I can't seem to get the quoting
	right in all circumstances.

	* ebrowse.c (VERSION): Provide default definition, like etags.c
	does, because Windows build can't snarf this from version.el.

2000-11-30  Andrew Innes  <>

	* makefile.w32-in ($(BLD)/ebrowse.exe): Use tabs not spaces.
	(install): Ditto.

2000-11-23  Jason Rumney  <>

	* makefile.w32-in: Add targets for ebrowse.exe.

2000-09-25  Dave Love  <>

	* sorted-doc.c: Include config.h.
	[!HAVE_STDLIB_H]: Declare malloc.

2000-09-14  Andrew Innes  <>

	* makefile.w32-in: Revert to Unix line endings.

2000-09-04  Dave Love  <>

	* movemail.c (index, rindex): Prototype conditionally.

2000-09-03  Andrew Innes  <>

	* makefile.w32-in: Change to DOS line endings.

2000-09-01  Eli Zaretskii  <>

	* movemail.c (toplevel): Remove redundant fcntl.h.
	[!F_OK]: Provide default definitions only after including both
	fcntl.h and unistd.h.

2000-08-29  Dave Love  <>

	* movemail.c: Revert previous change.

2000-08-29  Eli Zaretskii  <>

	* (profile, make-docfile, hexl): Depend on config.h.

2000-08-28  Dave Love  <>

	* movemail.c (toplevel) [HAVE_STRING_H]: Include string.h.
	(toplevel) [HAVE_STRINGS_H]: Include strings.h.

2000-08-22  Andrew Innes  <>

	* ntlib.h (WIN32): Remove unnecessary definition.
	(sleep): Make argument unsigned long.
	(_WINSOCK_H): Undefine so normal winsock definitions can be used.

	* ntlib.c (sleep): Make argument unsigned long.

	* movemail.c (main) [WINDOWSNT]: Force binary mode for fileio.

	* makefile.w32-in: New file.

2000-08-20  Eli Zaretskii  <>

	* etags.c (canonicalize_filename) [DOS_NT]: Upcase the first
	letter only if it is a drive letter.

2000-07-14  Gerd Moellmann  <>

	* ebrowse.c (xrealloc, xmalloc): Renamed from yrealloc and ymalloc.

	* etags.c (xmalloc, xrealloc): Make externally visible, for use
	by alloca.o.

	* (alloca.o): Add -Demacs so that alloca will use xmalloc.

2000-07-10  Gerd Moellmann  <>

	* ebrowse.c (yylex): Accept string literals with newlines in them.
	(process_pp_line): Handle case of string literal with newline
	in it in replacement text, which counts as continuing the
	replacement text in GNU C.

2000-07-02  Gerd Moellmann  <>

	* ebrowse.c (token_string): Add missing tokens.
	(parm_list): Handle case of qualified pointers.

2000-06-23  Dave Love  <>

	* ebrowse.c: Move config.h before other includes (which may use
	feature tests).

2000-06-14  Jim Meyering  <>

	* grep-changelog: Fix typos in comments.  Remove trailing blanks.

2000-06-11  Jason Rumney  <>

	* makefile.nt: Add targets for ebrowse.

	* ebrowse.c [WINDOWS_NT]: Use stricmp instead of strcasecmp to
	compare filenames.

2000-06-06  Gerd Moellmann  <>

	* ebrowse.c (ymalloc): Renamed from xmalloc.
	(yrealloc): Renamed from xrealloc.

2000-05-21  Dave Love  <>

	* movemail.c: Include config.h, not ../src/config.h.
	(Errmsg): Bump length.

	* pop.c (ERROR_MAX): Increase to 160.

2000-05-04  Gerd Moellmann  <>

	* ebrowse.c (DEFAULT_OUTFILE): Set to `BROWSE'.

2000-05-02  Eli Zaretskii  <>

	Define to semi-colon.
	(FILENAME_EQ): New macro, for comparing file names.
	(add_member_decl, add_global_decl, add_member_defn): Use FILENAME_EQ.
	(process_file): Don't assume that fread always reads as many bytes
	as it was told to (DOS-style CR-LF text files fail this logic).
	(open_file): Allocate enough space for path->path plus the file
	name and the slash.

2000-04-19  Dave Love  <>

	* etags.c (Texinfo_functions): New function.
	(lang_names): Install it.
	(Texinfo_suffixes): New variable.

2000-04-19  Gerd Moellmann  <>

	* ebrowse.c (xmalloc, xrealloc): Rewritten.
	(declaration): Remove parameter IS_EXTERN.
	(class_definition): Remove unused variable.

2000-04-09  Gerd Moellmann  <>

	* (INSTALLABLES): Add ebrowse.
	(ebrowse): New target.

	* ebrowse.c: New file.

2000-03-29  Andreas Schwab  <>

	* make-docfile.c (scan_lisp_file): Also look for `defsubst'.

2000-03-02  Gerd Moellmann  <>

	* etags.c (lisp_suffixes)  Add `LSP'.

2000-02-10  Francesco Potort,Al(B  <>

	* etags.c (iswhite): Redefine not to consider '\0' as white
	space, and use it throughout in place of isspace, thus preventing a
	potential signed char to int conversion problem.
	(MSDOS): #undefine befere redefining

2000-02-04  Francesco Potort,Al(B  <>

	* etags.c (many functions): Add prototypes.

2000-02-10  Dave Love  <>

	* etags.c (pfnote, new_pfnote, C_entries, prolog_pred)
	(erlang_func): Add `static' to definitions to keep pcc happy.

2000-01-31  Francesco Potort,Al(B  <>

	* etags.c [MSDOS]: Set MSDOS to 1 if #defined, 0 otherwise.
	(get_compressor_from_suffix, process_file): Use MSDOS in if clause.
	(etags_strchr, etags_strrchr): Use const char * and int as arguments.
	(getenv, getcwd): Only declare them if necessary.
	(EMACS_NAME): New constant macro.
	(print_version): Use it.
	(P_) [__STDC__]: Macro for defining function prototypes.

2000-01-18  Fabrice Popineau  <>

	* etags.c [WINDOWSNT]: #include <direct.h>

2000-01-18  Martin Buchholz  <>

	* etags.c (all functions): Made them static.
	(all functions): Write prototypes.

2000-01-29  Richard M. Stallman  <>

	* movemail.c (main): Improve error message if can't create lock file.

2000-01-28  Eric Hanchrow  <>

	* 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  <>

	* 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  <>

	* movemail.c (popmail): Allow mailbox specifications of the
	form `po:username:hostname'.

1999-11-19  Francesco Potort,Al(B  <>

	* 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  <>

	* etags.c (C_entries): Rename label `intoken', avoiding K&R
	lossage from name clash with macro.

1999-11-13  Gerd Moellmann  <>

	* (b2m): Add dependency on GETOPTDEPS.

1999-11-03  Gerd Moellmann  <>

	* etags.c (print_help): Change email address to send bugs to.

1999-11-01  Francesco Potort,Al(B  <>>

	* 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): Correct a bug which prevented tagging of enum
	(C_stab_entry): Add 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,, 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  <>

	* etags.c (get_compressor_from_suffix): Second argument EXTPTR, if
	non-zero, returns a pointer to where the extension begins; callers
	[MSDOS]: Support DOS file names by handling e.g. foo.cgz as if it
	were foo.c.gz.

1999-11-01  Francesco Potort,Al(B  <>

	* 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
	(canonicalize_filename): Shut up compiler warning.
	(Perl_functions): Make tag significant.

1999-11-01  Dave Love  <>

	* 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 Potort,Al(B  <>

	* 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
	(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  <>

	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,
	(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  <>

	* (pop.o): Depend on config.h.

1999-10-11  Jonathan I. Kamens  <>

	* pop.c: Use "pop3" as the POP service name on all platforms,
	instead of using "pop" on Unix and "pop3" on Windows NT.  "pop3"
	has been the standard service name since RFC 1340 was published in
	July 1992, so I think it's safe to start using it by default.

1999-09-27  Dave Love  <>

	* make-docfile.c (scan_lisp_file): Fix typo causing infloop.

1999-09-19  Richard M. Stallman  <>

	* make-docfile.c (scan_lisp_file): Fix previous changes;
	swallow CRLF like just CR or just LF.

1999-09-03  Richard Stallman  <>

	* make-docfile.c: Include config.h not ../src/config.h.
	(main, fopen, chdir): Add #undef.
	(read_c_string, scan_c_file, skip_white, read_lisp_symbol)
	(scan_lisp_file): Handle \r like \n.

1999-08-30  Andreas Schwab  <>

	* make-docfile.c, fakemail.c: Include <stdlib.h> if available.

	* emacsserver.c: Include <stdlib.h> if available.  Don't declare
	errno if it's a macro.

	* test-distrib.c: Include <unistd.h> if available.

1999-08-29  Richard Stallman  <>

	* emacsclient.c (print_help_and_exit): Mention --version.

1999-08-25  Richard M. Stallman  <>

	* emacsclient.c (decode_options): Update version output.
	(print_help_and_exit): Update bug report address.

1999-08-13  Richard M. Stallman  <>

	* emacsclient.c (main): Move the dynamic allocation of
	system_name outside of the SERVER_HOME_DIR conditional.
	* emacsserver.c (main): Likewise.

1999-08-10  Gerd Moellmann  <>

	* grep-changelog: New.

1999-07-12  Richard Stallman  <>

	* Version 20.4 released.

1999-06-30  Markus Rost  <>

	* (clean): Remove fns*.el.

1999-06-23  Dave Love  <>

	* etags.c (erlang_attribute): Fix undefined variable usage (after

1999-05-2  Andrew Innes  <>

	* movemail.c (main) [WINDOWSNT]: Call ftruncate, which is now
	mapped to _chsize.

1999-04-29  Richard M. Stallman  <>

	* emacsclient.c (main, both versions): Use quote_file_name on cwd.

1999-03-30  Dave Love  <>

	* sorted-doc.c (main): Split up tables.  Modify the preamble

1999-03-05  Geoff Voelker  <>

	* makefile.nt: Remove common multiple file compilation commands.

1999-02-26  Richard Stallman  <>

	* Version 20.4 released.

	* (yow): Depend on epaths.h, not paths.h.

	* yow.c: Refer to epaths.h.

1999-02-22  Simon Josefsson  <>

	* emacsserver.c (perror_1, fatal_error): Don't compile unless needed.

1999-01-27  Andrew Innes  <>

	* makefile.nt: Do make version comparison as strings.

1999-01-25  Richard Stallman  <>

	* emacsclient.c (xmalloc): Fix previous change.

1999-01-24  Richard M. Stallman  <>

	* emacsclient.c (xmalloc): Declare to return long.

1999-01-22  Geoff Voelker  <>

	* etags.c (etags_getcwd, absolute_filename) [DOS_NT]: Canonicalize
	the case of the drive letter.

1999-01-15  Richard Stallman  <>

	* emacsserver.c (main): Eliminate arbitrary limit on
	length of system_name.

	* emacsclient.c (main): Eliminate arbitrary limit on
	length of system_name.
	(xmalloc): Define unconditionally.

1999-01-12  Darrin B. Jewell  <>

	* etags.c (relative_filename): Stop backward search at beginning
	of string, since non-Unix systems can have absolute paths with no
	initial slash.

1998-12-08  Geoff Voelker  <>

	* makefile.nt: Do string comparision of _NMAKE_VER.

1998-11-03  Theodore Jump  <>

	* makefile.nt: Compile multiple source files when possible.

1998-10-13  Richard Stallman  <>

	* Replace tabs with spaces
	when they might confuse some Make versions.

1998-10-10  Richard Stallman  <>

	* emacsclient.c (main): Null-terminate system_name.

	* emacsserver.c (main): Null-terminate system_name.

1998-09-21  Jonathan I. Kamens  <>

	* movemail.c (popmail, pop_retr) [MAIL_USE_POP]: When displaying
	an error message from POP, mention that it's from POP, to
	distinguish it from local error messages.

1998-09-04  Jonathan I. Kamens  <>

	* movemail.c [MAIL_USE_POP]: Add the "-r" flag to reverse the
	order of messages downloaded from a POP server (e.g., if the
	server stores messages in mailboxes in reverse order).

1998-08-19  Richard Stallman  <>

	* Version 20.3 released.

1998-08-11  Paul Eggert  <>

	* rcs2log: Update copyright date and bug report address.
	(initialize_fullname): Prefer getent if available.

1998-07-30  Paul Eggert  <>

	* lib-src/ (REGEXPDEPS, regex.o):
	Prepend $(srcdir)/ to rule dependencies outside this dir.

1998-06-09  Andrew Innes  <>

	* etags.c (etags_getcwd) [WINDOWSNT]: Use getcwd on Windows.

1998-06-06  Richard Stallman  <>

	* Properly terminate a comment.

1998-06-01  Andrew Innes  <>

	* movemail.c (sys_wait): Rename to wait.

	* ntlib.h: Undefine _WINSOCKAPI_.

	* makefile.nt (LOCAL_FLAGS): Define HAVE_CONFIG_H.

1998-05-30  Geoff Voelker  <>

	* ntlib.c (getppid): Look for EM_PARENT_PROCESS_ID.

1998-05-01  Andrew Innes  <>

	* movemail.c [WINDOWSNT]: Undefine DISABLE_DIRECT_ACCESS.  Force
	all file i/o to be in binary mode.  Include ntlib.h.

1998-04-27  Andreas Schwab  <>

	* make-docfile.c: Include <unistd.h> for chdir.

1998-04-25  Richard Stallman  <>

	* etags.c (TEX_decode_env): Don't free the value getenv returns.

1998-04-17  Geoff Voelker  <>

	* makefile.nt (obj): Update with new files in src.
	(clean): Delete patch scratch files, optimized compilation dir.

1998-04-08  Dave Love  <>

	* emacsclient.c: Move inclusion of unistd.h to top, else fails on
	Irix6, at least.

1998-04-06  Andreas Schwab  <>

	Silence -Wimplicit:
	* movemail.c: Move cancelations up.  Include <stdlib.h> if
	* fakemail.c (_XOPEN_SOURCE): Define for declaration of cuserid.
	(parse_header): Explicitly declare return type.
	* emacsserver.c: Include <unistd.h> if available.
	(main, handle_signals, perror_1, fatal_error): Explicitly declare
	return types.  Add forward declarations.
	* emacsclient.c: Include <stdlib.h> and <unistd.h> if available.
	Don't declare geteuid.
	(print_help_and_exit): Change return type to void.  Forward
	declare it.
	* b2m.c: Include <stdlib.h> if available.
	(main): Explicitly declare return type.

1998-04-03  Richard Stallman  <>

	* etags.c (put_entries): Use %ld.

	* b2m.c (fatal): Declare the arg.

1998-04-03  Richard Stallman  <>

	* etags.c (put_entries): Use %ld.

	* b2m.c (fatal): Declare the arg.

1998-03-26  Richard Stallman  <>

	* pop.c (pop_getline): Renamed from getline.

1998-03-05  Richard Stallman  <>

	for the utilities.

1998-01-23  Dave Love  <>

	* etags.c (getit, Cobol_paragraphs, Pascal_functions,
	Postscript_functions, prolog_pred, erlang_func, erlang_attribute):
	Always make named tags.
	(Fortran_functions): Grok BLOCK DATA.

1998-01-23  Andreas Schwab  <>

	* movemail.c (main): Fix interwoven brace and cpp conditional

1997-12-04  Karl Heuer  <>

	* movemail.c, pop.c, pop.h: Allow messages retrieved from the POP
	server to contain embedded nulls.

1997-12-03  Paul Eggert  <>

	* movemail.c:
	(mbx_write) [MAIL_USE_POP]: Disable the code which quotes with a
	'>' any lines starting with "From " read from the POP server, but
	leave the code in place, wrapped in #ifdef
	MOVEMAIL_QUOTE_POP_FROM_LINES, in case we have to restore it later
	because it turns out that something is depending on it.  Change
	suggested by Paul Eggert <>.
	Convert the character \037 (^_) at the beginning of a line into
	the character '^' followed by the character '_', because otherwise
	Emacs can't parse the resulting file as a valid BABYL file.
	Change suggested by Paul Eggert <>.

1997-12-03  Jonathan I. Kamens  <>

	* movemail.c, pop.c, pop.h: Allow messages retrieved from the POP
	server to contain embedded nulls.

1997-12-02  Jonathan I. Kamens  <>

	* movemail.c (mbx_write) [MAIL_USE_POP]: Disable the code which
	quotes with a '>' any lines starting with "From " read from the
	POP server, but leave the code in place, wrapped in #ifdef
	MOVEMAIL_QUOTE_POP_FROM_LINES, in case we have to restore it later
	because it turns out that something is depending on it.  Change
	suggested by Paul Eggert <>.

	Convert the character \037 (^_) at the beginning of a line into
	the character '^' followed by the character '_', because otherwise
	Emacs can't parse the resulting file as a valid BABYL file.
	Change suggested by Paul Eggert <>.

1997-11-22  Richard Stallman  <>

	* b2m.c: Include getopt.h.
	(main): Use getopt_long to handle --version and --help.

	* (b2m): Define VERSION.  Link with $(GETOPTOBJS).

1997-10-31  Jonathan I. Kamens  <>

	* pop.c (fullwrite): Get rid of an extra call to write.  Problem
	pointed out by Chiaki Ishikawa.

1997-10-16  Dave Love  <>

	* etags.c (L_getit): Always make named tags so that Emacs
	completion on symbols containing `:' etc. works.
	(get_scheme): Likewise.

1997-09-24  Jonathan I. Kamens  <>

	* pop.c: Use system header files instead of declaring C-library
	functions explicitly.

1997-09-19  Richard Stallman  <>

	* Version 20.2 released.

1997-09-15  Richard Stallman  <>

	* Version 20.1 released.

1997-09-02  Andrew Innes  <>

	* makefile.nt (movemail.exe): Link wsock32.lib before LIBS.

	* ntlib.c (getpid): Delete function.

1997-08-28  Andreas Schwab  <>

	* make-docfile.c (scan_lisp_file): Handle custom-declare-variable.

1997-08-26  Andreas Schwab  <>

	* emacsclient.c [HAVE_SYSVIPC]: Include errno.h, as in the other case.
	(main) [!BSD_SYSTEM]: Fix error message for getcwd failure.

1997-08-14  Richard Stallman  <>

	* emacsserver.c (main): Use SOCKLEN_TYPE for fromlen, if it is defined.

1997-08-13  Kazushi (Jam) Marukawa  <>

	* profile.c (get_time): Cast arg to fprintf.

	* hexl.c (main): Use %08lx instead of %08x in printf because the
	variable named addresses is long.

1997-08-08  Geoff Voelker  <>

	* makefile.nt (lisp): Update paths to lisp files that have moved.

1997-08-08  Andrew Innes  <>

	* makefile.nt (ctags.obj): New target.
	(etags.obj, getopt.obj, make-docfile.obj): Update dependencies.

	* ntlib.h: Add includes.
	Undo definitions of crt routines from config.h.

1997-08-06  Richard Stallman  <>

	* etags.c (Yacc_suffixes, Asm_suffixes): Add some alternatives.

1997-07-22  Jonathan I. Kamens  <>

	* pop.c: Support auto-configuration of both Kerberos V4 and
	Kerberos V5 for movemail, including detection of V4 and V5 header
	files and libraries.
	Include <string.h> when STDC_HEADERS is defined, to get
	declarations of string functions.
	[KERBEROS5] (socket_connection): Support the current MIT Kerberos
	V5 API rather than the old one.
	[KERBEROS] (socket_connection): Change a constant name from
	SOCKET_ERROR to POP_SOCKET_ERROR to avoid a namespace conflict
	with a constant in a header file.

	* Support auto-configuration of both Kerberos V4 and
	Kerberos V5 for movemail, including detection of V4 and V5 header
	files and libraries.

1997-07-17  Richard Stallman  <>

	* fakemail.c [HAVE_UNISTD_H]: Include unistd.h.

	* etags.c [HAVE_UNISTD_H]: Include unistd.h.

1997-07-09  Richard Stallman  <>

	* emacsclient.c [C_ALLOCA] (xmalloc): New function.

1997-07-04  Richard Stallman  <>

	* movemail.c (rindex): Add declaration.

1997-07-01  Geoff Voelker  <>

	(movemail.exe): Depend upon and link with getopt files.
	(obj): Include new source files.
	(lisp): Include new and reorganized elisp files.

1997-06-27  Richard Stallman  <>

	* (blessmail): Find blessmail.el in mail subdirectory.

1997-06-25  Paul Eggert  <>

	* rcs2log: Don't assign to $0 in awk; some awks don't allow this.

1997-06-14  Karl Heuer  <>

	* b2m.c (readline): Terminate buffer properly when EOF seen.
	Test for valid pointer before dereferencing it.

1997-05-30  Francesco Potort,Al(B  <>

	* (etags): Remove -DETAGS_REGEXPS, because now it is
	defined inside etags.c if HAVE_CONFIG_H is defined.

1997-05-29  Francesco Potort,Al(B  <>

	* etags.c (logical): Type name changed to bool.
	(<getopt.h>) [LONG_OPTIONS]: Include conditionally.
	(getopt_long) [!LONG_OPTIONS]: Redefine as macro.
	(main): Accepted options depend on ETAGS_REGEXPS and LONG_OPTIONS.
	(longopts): New long options without short counterpart are
	globals, members, no-globals, no-members.  Regexp options are now
	defined  conditionally to ETAGS_REGEXPS.
	(print_help): Updated.

1997-05-22  Francesco Potort,Al(B  <>

	* etags.c (C_entries): Use "." instead of "::" for Java.
	(consider_token): is_func renamed to is_func_or_var.
	(C_entries): is_func renamed to funorvar.
	(C_entries): Initialise tok.named.
	(sym_type, C_stab_entry, consider_token): st_C_ignore is used to
	get rid of "import", "package" and "friend".
	(fvdef): Renamed from funcdef.  Also some constants renamed.  All
	users changed.
	(C_entries): Make separate tags for variables separated by comma.
	(globals, members): New flags.
	(main, C_entries): Use them.
	(make_C_tag, C_entries): Make tok a global variable.

1997-05-16  Francesco Potort,Al(B  <>

	* etags.c (funcdef): New vignore constant.
	(consider_token, C_entries): Use it to tag global variables.
	(print_help): Update for global variables.
	(consider_token, C_entries): Set the len member of token_name.
	(prolog_pred): Cleanup according to GNU coding standards.
	(Cobol_suffixes, lang_names, Cobol_paragraphs): Cobol support.
	(prolog_white, erlang_white): Renamed to eat_white, callers changed.

1997-05-15  Francesco Potort,Al(B  <>

	* etags.c (CHARS, CHAR): New constant and macro.
	(iswhite, begtoken, intoken, endtoken): Use them.
	(notinname, _nin, nonam): New macro, array, string.
	(init): Cleanup and init _nin.
	(new_pfnote): New function.
	(make_C_tag) [traditional_tag_style]: Use it.
	(traditional_tag_style): Costant set to TRUE for now.

1997-05-14  Francesco Potort,Al(B  <>

	* etags.c (C_entries, Pascal_functions): Cleanup.
	(TeX_functions): NULL as a function arg needs a cast.
	(Erlang_functions, erlang_func, erlang_attribute): Cleanup.

1997-05-13  Francesco Potort,Al(B  <>

	* etags.c (TeX_functions): Cleaned up.
	(tex_getit): Removed.

1997-05-13  Paul Eggert  <>

	* rcs2log (files): When computing arguments automatically, ignore
	non-files within the RCS subdirectory.

1997-05-13  Francesco Potort,Al(B  <>

	* etags.c (C_JAVA): New #define.
	(Cjava_suffixes): .java is Java.
	(Cjava_entries): New function.
	(lang_names): Add Java.
	(sym_type): Add st_C_javastruct for Java.
	(C_stab_entry): Add `extends' and `implements' keywords.
	(consider_token, C_entries): Recognise Java structures.

1997-05-12  Francesco Potort,Al(B  <>

	* etags.c (Cplusplus_suffixes): .pdb is Postscript with C syntax.
	(Postscript_suffixes): .ps is Postscript.
	(lang_names): Add Postscript.
	(Postscript_functions): New function.
	(TEX_decode_env): Close minor memory leak.
	(just_read_file): Correct the char number of the tag.

1997-05-11  Paul Eggert  <>

	* rcs2log (loginFullnameMailaddrs, logins, rlog_options, files):
	Don't prepend $nl since this causes some shells to generate the
	empty string when IFS is $nl.
	(printlogline): Use SOH (octal code 1), not CR, since some
	PC-based shells mishandle CR.
	(initialize_fullname): Set NIS_PATH to the empty string before invoking
	nismatch, in case it's set to some nonstandard value.

1997-05-06  Jonathan I. Kamens  <>

	* pop.c (getline): Don't miss CRLF pairs when the CR and LF are
	read in separate blocks.

1997-04-30  Francesco Potort,Al(B  <>

	* etags.c [TeX_named_tokens]: Set to FALSE if undefined.
	(struct linebuffer): New member `len' is the length of the string.
	(find_entries, Pascal_functions, TeX_functions, TEX_getit):
	Use it instead of strlen.
	(TEX_getit): Declare and define unconditionally as static.
	(TeX_functions): Use if instead of #if TeX_named_tokens.
	(add_regex): Set RE_INTERVALS flag for regex compilation.
	(substitute): Code cleanup.
	(readline_internal): Code cleanup, set new member `len'.
	(readline): Bug corrected.

1997-04-23  Geoff Voelker  <>

	* makefile.nt: Change references of windowsnt.h to ms-w32.h.
	(obj): Change references of nt*.c files to w32*.c files.

1997-04-15  Francesco Potort,Al(B  <>

	* etags.c (xnew): Add support for debugging with chkmalloc.
	(error): Use this instead of printf whenever possible.
	(main): Only call xnew after having initialised progname.
	(substitute): Bad memory corruption error corrected.

1997-04-08  Francesco Potort,Al(B  <>

	* etags.c (add_regex): Undo previous change.
	(relative_filename): Small memory leak closed.
	(absolute_filename): Cleaned up the code, possibly closing a bug.
	(absolute_dirname): Always return a newly allocated string.

1997-03-21  Paul Eggert  <>

	* rcs2log (files): Ignore files in RCS directory whose names are
	of the form ,*, or *_; they are probably RCS lock files.
	Also, ignore files named .rcsfreeze.log or .rcsfreeze.ver;
	they are used by rcsfreeze.

1997-03-14  Francesco Potort,Al(B  <>

	* etags.c (add_regex): reset *putbuf before using it.

1997-02-23  Jonathan I. Kamens  <>

	* movemail.c (popmail): Remove some unnecessary function
	(popmail, pop_retr): Since popmail always passes mbx_write and mbf
	into pop_retr, there's no reason to pass in mbx_write, and the
	file argument can be declared FILE * explicitly.  This fixes a
	compilation problem on systems with 64-bit pointers.

1997-02-13  Richard Stallman  <>

	* movemail.c: Delete duplicate inclusion of fcntl.h
	and duplicate #undefs of open, read, write, close.

1997-01-20  Jonathan I. Kamens  <>

	* movemail.c (main): Do not display "[POP-password]" in the usage
	message when movemail is compiled without POP support.
	(main, popmail): Add the optional "-p" argument, which causes
	movemail to leave mail in the inbox after copying it into the
	output file.

	* (movemail): Link with getopt.

1997-01-20  Paul Eggert  <>

	* rcs2log (--help, --version): New options, per GNU coding standards.
	(Copyright, Help, Id): New variables, for above.
	(rlog): Use -q option with cvs log, to avoid useless chatter.

	Treat logs of "Initial revision" (RCS) or "file F was initially added
	on branch B." (CVS) as if they said "New file.", for consistency with
	change log entries.

1997-01-01  Paul Eggert  <>

	* vcdiff (PATH): Add /usr/xpg4/bin,
	where XPG4 SCCS hangs out in Solaris 2.5.
	(sid1): Don't use bare -r, since XPG4 `get' does not allow it.

1996-12-19  Richard Stallman  <>

	* etags.c (streq, strneq): Use == NULL rather than !.

1996-12-18  Jonathan I. Kamens  <>

	* (LIBMAIL): New macro.  Conditionally includes -lmail.
	(movemail): Use LIBMAIL, to link against -lmail.

	* movemail.c: Include maillock.h (conditionally).
	Remove a redundant inclusion of <stdio.h>.
	(MAIL_USE_MAILLOCK): New macro, conditionally defined.
	(main): Add variable spool_name.
	Support the usage of maillock and mailunlock to
	lock and unlock mailboxes.
	(mail_spool_name): New function.

	* movemail.c: Fix an uninitialized variable which could cause
	movemail to exit with an error status incorrectly on systems which
	use lock files rather than a system locking function to lock

1996-12-16  Richard Stallman  <>

	* pop.c (socket_connection): Free realhost after using it.

1996-12-04  Francesco Potort,Al(B  <>

	* etags.c (C_entries): Test tok.valid.  This handles some
	particular cases involving function declarations that failed.

1996-11-22  Charles Hannum  <>

	* pop.c (socket_connection):
	gethostbyname may return a pointer to static data.
	krb_realmofhost can clobber it.  So copy it.

1996-11-14  Francesco Potort,Al(B  <>

	* etags.c (pfnote, fatal, error): Callers using a NULL pointer
	must cast it to (char *) because we have no prototypes.
	(make_C_tag): Macro deleted, new function.
	(C_entries): Calls to make_C_tag macro changed to call function.

1996-11-13  Francesco Potort,Al(B  <>

	* etags.c (grow_linebuffer): New function.
	(GROW_LINEBUFFER): Macro deleted.  All callers changed.
	(make_tag): Macro renamed to make_C_tag.  All callers changed.
	(<stdlib.h>, <string.h>) [STDC_HEADERS]: New #include's.
	(Prolog_functions): prolog_skip_comment was called with wrong
	number of arguments.
	(xrealloc): fatal was called with wrong number of arguments

1996-11-08  Francesco Potort,Al(B  <>

	* etags.c (relative_filename): Bug corrected.
	(etags_getcwd): Avoid warning of unused variable.
	(C_entries, consider_token): Added support for enum labels.

1996-11-03  Paul Eggert  <>

	* rcs2log: When processing cvs log output, remove `Attic/' from
	repository file names.

1996-10-22  Karl Heuer  <>

	* emacsserver.c: Fix 1996-09-02 change.

1996-10-12  Paul Eggert  <>

	* rcs2log (rlog_options): Look for ' option' rather than 'unknown
	option', since CVS says 'invalid option'.
	(datearg): Use the empty string, not '-d>1970-01-01', to extract all
	revisions, since some hosts reject 1970-01-01 when east of UTC.
	(date): Remove.

1996-10-06  Richard Stallman  <>

	* etags.c (etags_getcwd) [WINDOWSNT]: Convert backslashes to slashes.

1996-10-02  Francesco Potort,Al(B  <>

	* etags.c (print_version): Print copyright info.

	* etags.c (print_help): Print the bug reporting address.
	(main): Use return as the last instruction, instead of exit.

	* etags.c (main): Don't open the tags file in cxref mode.

1996-09-29  Dave Love  <>

	* rcs2log (date): Make default format acceptable to CVS post v1.8
	as well as earlier CVSs and RCS.

1996-09-29  Richard Stallman  <>

	* movemail.c (main): If the lock call fails with EBUSY or
	EAGAIN, retry a few times.

1996-09-25  Paul Eggert  <>

	* rcs2log (rlog_options): Use $rlog, not rlog, when deciding
	whether to append -zLT.

1996-09-16  Karl Heuer  <>

	* fakemail.c: Replaced symbol BSD with BSD_SYSTEM.
	* emacsclient.c, movemail.c: Likewise.

1996-09-09  Richard Stallman  <>

	* emacsclient.c (longopts): Change nowait to no-wait.
	(print_help_and_exit): Fix option name; upcase metavars.

1996-09-06  Erik Naggum  <>

	* emacsserver.c (main): Declare `fromlen' as size_t.

1996-09-02  Eli Zaretskii  <>

	* etags.c (etags_getcwd): Use getcwd if available even if MSDOS.

1996-09-02  Richard Stallman  <>

	* emacsclient.c (quote_file_name): Quote with &, not \.
	Quote `-' only at start of file name.  Terminate the value string.

	* emacsserver.c: Include signal.h properly;
	delete the duplicate includes for it.

	* emacsserver.c: On fatal signal, delete socket-file:
	* emacsserver.c: Include signal.h.
	(xmalloc, fatal, error): New functions.
	(delete_socket, handle_signals): New functions.
	(progname, socket_name): New variables.
	 [HAVE_SOCKETS] (main): Call handle_signals; set the new variables.

1996-09-01  Richard Stallman  <>

	* emacsclient.c (quote_file_name): New function.
	(main, both versions): Use quote_file_name.
	(decode_options): Don't return a value.
	(main, both versions): Use optind.
	Don't check for -nowait here.

	* emacsclient.c (decode_options): New function.
	(main, both versions): Call decode_options.
	(print_help_and_exit): New function.
	(VERSION): New macro.

	* (emacsclient): Link with getopt.
	Add -DVERSION so emacsclient knows its version number.

1996-08-31  Geoff Voelker  <>

	* makefile.nt (lisp): Include dos-nt.elc.

1996-08-31  Richard Stallman  <>

	* (blessmail): Use $srcdir to find blessmail.el.

1996-08-28  Richard Stallman  <>

	* emacsclient.c (both versions): Handle -nowait and --nowait
	by sending data to the server.

1996-08-26  Richard Stallman  <>

	* (INSTALL_STRIP): New variable.
	(${archlibdir}): Use INSTALL_STRIP.

	* (MOVE_LIBS): Use conditionals on KERBEROS,

	* pop.c: Reverse conditional in previous change.

1996-08-24  Richard Stallman  <>

	* pop.c: Include des.h krb.h with no dir name if SOLARIS2.

1996-08-24  Paul Eggert  <>

	* rcs2log: Use ISO 8601 date format, with time zone appended
	if change-log-time-zone-rule is non-nil, instead of
	traditional Unix date format.

	(datearg): When computing default from ChangeLog, handle ISO format
	dates in addition to old-fashioned dates from Emacs 19.31 and earlier.
	Don't worry about hh:mm:ss since the resolution is now by day.
	Use emtpy datearg, not empty rlog_options, to decide whether to pass
	"$datearg" option to $rlog.
	(logTZ): New variable, set to TZ specified by change-log-time-zone-rule.
	(month_data): Remove `mo'; no longer needed.
	(rlog_options): Use -zLT for localltime output, if `rlog' supports it.

	Match `revision' line of rlog output more accurately.

	Add -c, -v options.

1996-08-23  Eli Zaretskii  <>

	* hexl.c: Include <config.h>, so DOS_NT is defined on MSDOS.

1996-08-11  Richard Stallman  <>

	* Version 19.33 released.

1996-07-31  Richard Stallman  <>

	* Version 19.32 released.

1996-07-23  Andrew Innes  <>

	* etags.c (readline_internal) [DOS_NT]: Don't include CRs when
	computing character positions in source files.

1996-07-16  Andrew Innes  <>

	* makefile.nt (clean): Use OBJDIR macro.

1996-07-16  Karl Heuer  <>

	* cvtmail.c, sorted-doc.c, yow.c, emacsserver.c: Undo previous change.

1996-07-15  David Mosberger-Tang  <>

	* cvtmail.c, sorted-doc.c, yow.c [__GNU_LIBRARY__]: Use <string.h>.
	* emacsserver.c (main) [__GNU_LIBRARY__]: Use size_t for fromlen.
	* etags.c, fakemail.c, profile.c: Declare main as int, not void.

1996-07-15  Andrew Innes  <>

	* ntlib.h: Correct return type of getwd.
	* ntlib.c (getwd): Correct return type.

1996-07-02  Richard Stallman  <>

	* emacsserver.c (main) [HAVE_SOCKETS]: Call rewind before writing
	to infile.

1996-07-01  Andrew Innes  <>

	* makefile.nt: Remove all references to wakeup.

1996-06-28  Francesco Potort,Al(B  <>

	* etags.c (C_stab_entry): New keywords for C++ namespace, bool,
	explicit, mutable, typename.

1996-06-29  Richard Stallman  <>

	* emacsclient.c (main) [HAVE_SOCKETS]: Use two separate stdio
	streams, one for sending and one for reading the reply.

1996-06-21  Richard Stallman  <>

	* (timer, timer.o, getdate.o, $(srcdir)/getdate.c)
	(wakeup): Target deleted.
	(UTILITIES): Delete wakeup and timer.

	* wakeup.c, timer.c, getdate.y, getdate.c: Files deleted.

1996-06-11  Geoff Voelker  <>

	* etags.c (etags_getcwd) [DOS_NT]: Change conditional to MSDOS only.
	* makefile.nt (ETAGS_CFLAGS): Define HAVE_GETCWD macro.

1996-06-06  Richard Stallman  <>

	* etags.c (main): Copy cwd when appending slash.

1996-05-25  Karl Heuer  <>

	* Version 19.31 released.

1996-05-17  Francesco Potort,Al(B  <>

	* etags.c (CNL_SAVE_DEFINEDEF): Set linecharno for use by readline.
	(Pascal_functions): Increase linecharno by the correct number of
	chars, inline the GET_NEW_LINE macro and delete its definition.

1996-05-03  Andrew Innes  <>

	* makefile.nt (OBJDIR, BLD): Remove macro definitions.

1996-05-03  Andrew Innes  <>

	* makefile.nt (LOCAL_FLAGS): Include path to NT shadow includes.
	(movemail.exe, fakemail.exe): Now built under Win32.o

	* ntlib.c: Include ntlib.h.
	(nt_sleep): Rename to sleep.
	(getwd): Return directory.
	(getlogin, cuserid, getuid, setuid, getpwuid, getpass, fchown,
	sys_ctime, sys_fopen): New functions.

	* ntlib.h: New file.

1996-04-29  Richard Stallman  <>

	* pop.c (SEND, RECV): Renamed from send, recv.
	(pop_open, pop_trash): Make the trash_started code unconditional.
	(socket_connection): Delete casts to void.

1996-04-28  Richard Stallman  <>

	* movemail.c (DIRECTORY_SEP, IS_DIRECTORY_SEP): Definitions
	copied from lisp.h.

1996-04-22  Andrew Innes  <>

	* fakemail.c [WINDOWSNT]: Include ntlib.h.

	* hexl.c [DOSNT]: Include fcntl.h.
	[WINDOWSNT]: Include io.h.
	(main) [MSDOS]: Change conditional to DOS_NT.

	* movemail.c (access, unlink) [WINDOWSNT]: Macros undefined.
	(fork, syswait, DISABLE_DIRECT_ACCESS) [WINDOWSNT]: Macros defined.
	[WINDOWSNT]: Include locking.h.
	(main): Update usage message.  Use IS_DIRECTORY_SEP.
	(main) [DISABLE_DIRECT_ACCESS]: Don't check access if defined.
	(main) [WINDOWSNT]: Invoke locking instead of flock.
	(main) [MAIL_USE_SYSTEM_LOCK && WINDOWSNT]: Emulate ftruncate.
	(main) [MAIL_USE_POP]: Pass password to popmail if used.
	Include winsock.h; don't include unix inet headers.
	(popmail): Add password argument and pass it to pop_open.
	Open output file in binary mode.

	* pop.c [WINDOWSNT]: Include winsock.h and ntlib.h.
	Macro SOCKET_ERROR undefined.
	Don't declare h_errno.
	[!WINDOWSNT]: Define macros recv and send.
	[!WINDOWSNT] (POP_SERVICE): Change to pop3.
	(pop_open) [WINDOWSNT]: Initialize trash_started.
	(have_winsock) [WINDOWSNT]: New variable.
	(socket_connection) [WINDOWSNT]: Initialize winsock.
	(socket_connection): Use closesocket instead of close.
	(getline): Use recv instead of read.
	(fullwrite): Use send instead of write.
	(pop_trash): Use closesocket instead of close.
	(pop_trash) [WINDOWSNT]: Cleanup winsock.
	Check if being called recursively by sendline.

	* pop.h (struct _popserver): New field trash_started.

	* wakeup.c [HAVE_CONFIG_H]: Only include config.h when defined.

1996-04-14  Richard Stallman  <>

	* hexl.c (main) [DJGPP v2]: Don't change to binary for a tty.

1996-04-10  Richard Stallman  <>

	* etags.c [WINDOWSNT]: Include io.h.

1996-04-10  Geoff Voelker  <>

	* makefile.nt (CTAGSOBJ): Compile with regexp support.

1996-04-09  Eli Zaretskii  <>

	* hexl.c [DJGPP v2]: Include io.h.
	(main) [DJGPP v2]: Switch standard streams to binary with setmode.

	* b2m.c (main) [MSDOS]: Switch standard streams to binary under
	DJGPP v2.

1996-04-02  Richard Stallman  <>

	* etags.c (absolute_filename): Use absolutefn.

1996-03-31  Eli Zaretskii  <>

	* etags.c (absolutefn) [DOS_NT]: Support Novell drives whose drive
	letter isn't an alphabetic character.
	(main) [DOS_NT]: Use binary mode on redirected `stdout'.
	(process_file) [DOS_NT]: Convert all slashes to forward style.
	(absolute_filename) [DOS_NT]: Emit error message for relative
	paths with a drive letter.
	(absolute_filename) [DOS_NT]: Handle absolute pathnames with
	DOS/NT drive letters which try to reference the parent of the root.
	(absolute_dirname) [DOS_NT]: Convert all slashes to forward style.

1996-03-27  Geoff Voelker  <>

	* makefile.nt: Change uses of del to $(DEL).

1996-03-22  Francesco Potort,Al(B  <>

	* etags.c (just_read_file): Reset lineno and charno on entry.

1996-03-15  Anders Lindgren  <>

	* etags.c: Prolog language totaly rewritten.
	(Prolog_functions): Rewritten from scratch.
	(skip_comment, prolog_getit): Removed.
	(prolog_skip_comment): New function, like old skip_comment.
	(prolog_pred, prolog_atom, prolog_white): New functions.
	(erlang_func, erlang_attributes): Forward declarations added.
	(erlang_atom): Check if backslash ends line inside quoted atom.

1996-03-14  Francesco Potort,Al(B  <>

	* etags.c (absolutefn): DOS_NT version corrected.
	(main): Append "/" to the dir name only if not already there.
	(print_help): Explain the absolute/relative file name issue.

1996-03-08  Anders Lindgren  <>

	* etags.c: New Languange Erlang added.
	(Erlang_functions, erlang_func, erlang_attribute, erlang_atom,
	erlang_white): New functions.
	(Erlang_suffixes): New suffix list.
	(lang_names): Erlang entry added.
	(prolog_getit): Accepts headers spanning several lines.
	Always name tags.
	(Prolog_functions): Removed incorrect compensation for
	newline characters.
	(readline_internal): Zero-terminate last line.

1996-03-20  Mike Long  <>

	* b2m.c (main): Initialize progname variable before using it.
	Quote `username' in From_ header.

1996-03-18  Geoff Voelker  <>

	* ntlib.c (getpid): New function.

1996-02-21  Richard Stallman  <>

	* emacsclient.c (main, both definitions):
	Print a newline for normal termination.

1996-02-21  Noah Friedman  <>

	* tcp.c (main): Convert port to network byte order.

1996-01-20  Karl Heuer  <>

	* pop.c (pop_retrieve, getline): Avoid type clashes.

1996-01-19  Karl Heuer  <>

	* etags.c (enum sym_type, anonymous enum): Delete final comma.

1996-01-15  Paul Eggert  <>

	* rcs2log (initialize_fullname): Add support for NIS+.
	(hostname): Fully qualify the default hostname with the domainname
	if the hostname lacks a `.'.

1996-01-15  Paul Eggert  <>

	* rcs2log (initialize_fullname): Add support for NIS+.
	(hostname): Fully qualify the default hostname with the domainname
	if the hostname lacks a `.'.

1996-01-10  Karl Heuer  <>

	* etags.c (consider_token): Fix typo in expression.

1996-01-04  Paul Eggert  <>

	* etags.c (substitute): Fix spelling in message.

1996-01-03  George V. Reilly  <>

	* makefile.nt (etags, ctags): Compile with regexp support.
	(make-docfile, wakeup, etags, ctags, hexl): Ensure build
	subdirectory exists before compiling.

1996-01-02  Karl Heuer  <>

	* emacsserver.c (main): Do chmod based on existing permission.

1995-12-27  Richard Stallman  <>

	* (install): Turn on read/execute permission.

1995-12-03  Richard Stallman  <>

	* (LIB_STANDARD_LIBSRC): Use this instead of LIB_STANDARD.

1995-12-01  Richard Stallman  <>


1995-12-07  Francesco Potort,Al(B  <>

	* etags.c (pfnote): Don't make a tag for ctags if there is no name.
	(getit, Asm_labels, Perl_functions, Pascal_functions, L_getit,
	get_scheme, prolog_getit): Name the tag in ctags mode.
	(pfnote): Truncate ctags lines to 50 chars, like it worked once.
	(Perl_interpreters): Accept "@PERL@" as an interpreter.
	(suggest_asking_for_help): New function.
	(main, get_language_from_name): Use suggest_asking_for_help.
	(main): Let get_language_from_name make language existence check.
	(streq, strneq): Check the arguments #if DEBUG.

1995-12-06  Francesco Potort,Al(B  <>

	* etags.c (Cplusplus_suffixes): Add .M suffix for Objective C++.
	(gperf): Added keywords for Objective C and GNU macros.
	(sym_type): Added values to account for Objective C and GNU macros.
	(begtk): The '@' character can start a token.
	(objdef, methodlen, objtag): New variables for Objective C.
	(consider_token, C_entries): Added code for Objective C.
	(plain_C_suffixes): Add .m and .lm for Objective C.
	(Yacc_suffixes): Add .ym for Objective yacc.
	(GROW_LINEBUFFER): New macro.
	(consider_token, C_entries, Pascal_functions): Use the new macro.
	(consider_token): Take one more argument.  Caller changed.
	(consider_token): Use the hashing function to spot GNU macros.
	(C_entries): Consider // as a comment start even in plain C for
	the sake of Objective C parsing.

1995-12-04  Francesco Potort,Al(B  <>

	* (ctags): depend on etags only for simplicity;
	compile with regexp support enabled.

1995-11-24  Richard Stallman  <>

	* Version 19.30 released.

1995-11-22  Geoff Voelker  <>

	* makefile.nt (DOC, clean): Don't use switches to del not
	supported by Windows 95.

1995-11-13  Richard Stallman  <>

	* (regex.o): Depend on ../src/config.h.

1995-11-12  Richard Stallman  <>

	* (LIB_STANDARD): Extract this as in src/

1995-11-07  Kevin Gallo  <>

	* makefile.nt (DOC): Include strings from w32term.c, w32xfns.c,
	w32fns.c, w32faces.c, w32select.c, w32menu.c, w32reg.c; remove
	Windows 95 conditional.

1995-11-06  Francesco Potort,Al(B  (

	* etags.c (get_lang_from_name, get_lang_from_interpreter,
	get_lang_from_suffix): New functions.
	(get_language): Function deleted.
	(lang_entry): Two members added to struct.
	(lang_names): Reflect the new layout of lang_entry.
	(print_language_names, main, find_entries): Use the new functions.
	(find_entries): Look at the first line for #! if no language.
	(C_entries): Invalidate the token when funcdef is reset.
	(Perl_functions): New function.
	(lang_suffixes): .pl and .pm are Perl suffixes.

1995-11-02  Francesco Potort,Al(B  (

	* etags.c (lowcase): Use the standard tolower function.
	(substitute): Remove some wrong and some useless code related with
	escape '\' character in regexp replacement string.
	(TEX_defenv): Added part, appendix, entry, index.  Removed typeout.
	(lang_suffixes): New suffixes: .hpp for C++; .f90 for Fortran;
	.bib, .ltx, .TeX for TeX (.bbl, .dtx removed); .ml for Lisp;
	.prolog for prolog (.pl removed).
	(massage_name, etags_getcwd): Use lowcase instead of tolower.
	(C_entries, find_entries): Added comments about memory leakage.
	(add_node): Dead code removed.

1995-10-29  Richard Stallman  <>

	* (getdate.o, movemail.o): Specify -Demacs.

1995-08-30  Richard Stallman  <>

	* test-distrib.c: Add #undef for open, close, read, write.

1995-08-23  Roland McGrath  <>

	* test-distrib.c [HAVE_CONFIG_H]: Include config.h.
	[! O_RDONLY]: Define it to zero.
	(main): Use O_RDONLY instead of explicit zero.

1995-08-17  Francesco Potort,Al(B  (

	* etags.c (Pascal_functions): Close comment bug corrected.
	(add_node): Correctly compare node file names.
	(Pascal_functions): Correctly allocate and free memory for tline.
	(pfnote): Put the definition of fp in the innermost block.
	(NODE): `named' member removed.
	(pfnote, free_tree, put_entries, total_size_of_entries): Do not
	use the `named' member, check whether `name' is NULL instead.
	(pfnote): `named' argument removed, all callers changed.
	(getit, Asm_labels, Pascal_functions, L_getit, get_scheme,
	TeX_functions, TEX_getit, prolog_getit): Useless string allocation
	removed from pfnote call, some code cleanup.
	(relative_filename): Free temporary space allocated by concat.

1995-08-16  Richard Stallman  <>

	* (getdate.c): New target.
	(getdate.o): Just compile getdate.c.

1995-08-12  Karl Heuer  <>

	* fakemail.c (xrealloc): Change cast to match return type.

1995-08-10  Richard Stallman  <>

	* fakemail.c (xmalloc, xrealloc): Use return-type long *.

1995-08-06  Richard Stallman  <>

	* movemail.c (main): Fix previous change.
	Add error check for empty OUTNAME.

1995-08-05  Richard Stallman  <>

	* movemail.c (main): Mention lock file name in error message.

1995-07-30  Richard Stallman  <>

	* profile.c (gettimeofday): New function, defined if necessary.

1995-07-18  Richard Stallman  <>

	* Renamed from
	(distclean): Delete Makefile.c, not

1995-07-17  Michael Shields  <>

	* (tags): Synonym for `TAGS'.

1995-07-16  Karl Heuer  <>

	* (install, maybe-blessmail): Don't cd ..;
	configure has already set $(INSTALL) to the proper relative path.

1995-06-27  Francesco Potort,Al(B  (

	* etags.c (plain_C_entries): new function.
	(lowcase): new macro.
	(tail, Fortran_functions, Pascal_functions): use new macro lowcase.
	(lang_suffixes): new suffix ".pc" for Pro*C files.
	(consider_token): don't tag all tokens beginning with DEFUN & Co..
	(tail): look for the end of the token when comparing.
	(takeprec): since now tail behaves differently, use strneq.

1995-07-08  Paul Eggert  <>

	* rcs2log (datearg): Separate date from time with comma, not space,
	to work around CVS 1.5 bug.
	(CVSROOT): Don't abort when unset if repository is absolute.

1995-07-07  Paul Eggert  <>

	* rcs-checkin, rcs2log, vcdiff:
	Replace `#!/bin/sh' with `#! /bin/sh', for benefit of systems
	that interpret `#! /' as a 4-byte magic number.

1995-06-29  Jonathan I. Kamens  <>

	* movemail.c (main) [MAIL_USE_POP]: When a user specifies a
	mailbox with "po:mailbox", the mailbox is everything after the
	"po:" prefix.

1995-06-28  Richard Stallman  <>

	* emacsserver.c: Make all error messages start with `Error: '.
	(fatal_error, perror_1): New functions, use throughout.

1995-06-28  Paul Eggert  <>

	* rcs2log (CVSROOT, repository):
	Allow remote repositories a la CVS 1.4.

1995-06-27  Francesco Potort,Al(B  (

	* etags.c (plain_C_entries): new function.
	(lowcase): new macro.
	(tail, Fortran_functions, Pascal_functions): use new macro lowcase.
	(lang_suffixes): new suffix ".pc" for Pro*C files.
	(consider_token): don't tag all tokens beginning with DEFUN & Co..
	(tail): look for the end of the token when comparing.
	(takeprec): since now tail behaves differently, use strneq.

1995-06-26  Richard Stallman  <>

	* movemail.c (main): Add newline in usage message.

1995-06-21  Richard Stallman  <>

	* make-docfile.c (scan_file): Make sure it never looks at filename[-1].

1995-06-21  Francesco Potort,Al(B  (

	* etags.c (find_entries): Rewind before rereading the input file.

1995-06-20  Richard Stallman  <>

	* Version 19.29 released.

	* make-docfile.c (main) [MSDOS]: Do set _fmode.
	This undoes part of the previous change.

1995-06-19  Richard Stallman  <>

	* make-docfile.c (main): On MSDOS, don't change stdout
	to binary, and insist on an -o option.

1995-06-13  Geoff Voelker  <>

	* etags.c (process_file,absolute_filename): Handle filenames
	starting with a drive letter.

	* makefile.nt (install): Copy wakeup.exe properly.

1995-06-08  Karl Heuer  <>

	* make-docfile.c [MSDOS]: #undef chdir.

1995-06-04  Paul Eggert  <>

	* rcs2log (output_authors): Allow ':' in time zone,
	as per ISO 8601 and RCS 5.6.8 beta.

1995-05-29  Francesco Potort,Al(B  (

	* etags.c (etags_getcwd): Undo the /bin/pwd change.  It may raise
	compatibility problems.

1995-05-26  Richard Stallman  <>

	* etags.c (etags_getcwd): Don't use #elif.
	Have just one function body.

1995-05-25  Geoff Voelker  <>

	* makefile.nt (LIBS): Use BASE_LIBS.
	(make-docfile.exe,hexl.exe,wakeup.exe,etags.exe): Don't depend
	upon LIBS.
	(DOC): Use del instead of rm.
	(DOC) [WINDOWS95]: Use DOC.
	(clean): Handle MSVC aux files.
	(config.h,paths.h): Use $(CP) instead of cp.
	(config.h): Use $(CONFIG_H)
	(make-docfile.obj): Depend upon config.h.
	Clean up comments.

1995-05-23  Francesco Potort,Al(B  (

	* etags.c (etags_getcwd): Use /bin/pwd instead of pwd because the
	former gives the true path even in the presence of simlinks.

1995-05-07  Richard Stallman  <>

	* movemail.c (main): Increase lock timeout to five minutes.

1995-05-06  Geoff Voelker  <>

	* makefile.nt (obj): Use .c files.

1995-05-04  Richard Stallman  <>

	* make-docfile.c: Include config.h.
	(NO_SHORTNAMES): New definition.
	(xmalloc): Return long *.

	* etags.c (C_entries): Cast result of xrealloc.
	(xmalloc, xrealloc): Declare them to return long *.

	* b2m.c (xmalloc, xrealloc): Declare them long *.

	* movemail.c (xmalloc): Declare it to return long *.

1995-04-30  Paul Eggert  <>

	* rcs2log (datearg): If rlog options are specified explicitly,
	omit the implicit '-d>DATE' option.
	(repository, rlog): Allow absolute paths to CVS repositories.
	Look only at the first line of CVS/Repository.

1995-04-26  Karl Heuer  <>

	* (extraclean): Depend on maintainer-clean, not

1995-04-24  Richard Stallman  <>

	Alternative (empty) definitions.

1995-04-18  Richard Stallman  <>

	* emacsclient.c (main): Add argv[0] to an error message.

1995-04-13  Karl Heuer  <>

	* emacsclient.c (main): Improve error handling.
	* cvtmail.c (main, skip_to_lf): Improve error handling.
	(sysfail): New function.

	* b2m.c (main): Check for trailing ", " before trying to delete it.

1995-04-12  Andreas Schwab  <>

	* (all): Build test-distrib and make-docfile.

	* make-docfile.c (scan_c_file): At end, restore file name last char
	to its original value.

1995-04-10  Richard Stallman  <>

	* emacsclient.c, emacsserver.c: Test NO_SOCKETS_IN_FILE_SYSTEM.

1995-04-08  Richard Stallman  <>

	(alloca.o, regex.o): Use BASE_CFLAGS.

1995-04-06  Richard Stallman  <>

	* emacsclient.c [Berkeley sockets version] (main): Declare getcwd.

1995-04-04  Karl Heuer  <>

	* (aixcc, aixcc.c): Targets deleted.
	(SOURCES, distclean): Removed obsolete references to aixcc.

1995-04-02  Richard Stallman  <>

	* aixcc.lex: File deleted--surely obsolete now.

1995-03-23  Paul Eggert  <>

	* rcs2log (output_authors): Replace /[/]/ by /[\/]/, for
	portability to mawk and nawk.

1995-03-21  Paul Eggert  <>

	* rcs2log: Treat -u "login:fullname:mailaddr" as if it were
	-u "login<tab>fullname<tab>mailaddr".

1995-03-21  Paul Eggert  <>

	* rcs2log: Add -u "login<tab>fullname<tab>mailaddr" option, which
	replaces the (now obsolescent) -n login fullname mailaddr option.
	Add -R option for recursive rlog.
	(AWK): New environment variable (default `awk') for awk	program name.
	(output_authors, tab, loginFullnameMailaddrs, recursive): New vars.
	Quote authors and fullnames correctly.
	Don't omit path from repository root when logging CVS files.

1995-03-15  Richard Stallman  <>

	* emacsclient.c, emacsserver.c: Use BSD sockets whenever available,
	even if HAVE_SYSVIPC.
	* emacsclient.c (main): Use getcwd if not BSD.

1995-03-13  Francesco Potort,Al(B  (

	* etags.c (process_file): free (filename) after using it.
	(readline_internal): Do not access the char before start of line.

1995-02-22  Francesco Potort,Al(B  (

	* etags.c (C_entries): token_saved removed.  Initialise tok.valid and
	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.

1995-02-15  Francesco Potort,Al(B  (

	* etags.c (C_entries): Bug corrected in xrealloc of token_str.
	(main): Do not read twice the last filename in the stdin file list.

1995-02-14  Francesco Potort,Al(B  (

	* etags.c (C_entries): Initialise the new members of TOKEN.
	(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.

1995-02-07  Richard Stallman  <>

	* (maintainer-clean): Renamed from realclean.

1995-02-01  Francesco Potort,Al(B  (

	* etags.c (pfnote): Initialise been_warned in the node.
	(C_entries): Removed a speed hack for the sake of clarity.

1995-01-18  Francesco Potort,Al(B  (

	* etags.c (longopts, print_help, main): Use -I as abbreviation
	for the --ignore-indentation option.
	(main): Do not print an error message for unknown options.

1995-01-12  Francesco Potort,Al(B  (

	* 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.
	(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.

1995-01-10  Richard Stallman  <>

	* movemail.c (main): Skip past the colon in inname.

1995-01-10  Francesco Potort,Al(B  (

	* etags.c (pfatal): New function.
	(main, etags_getcwd): Use pfatal.
	(etags_getcwd): Corrected another bug in the HAVE_GETCWD version.

1995-01-10  Francesco Potort,Al(B  (

	* etags.c (Lang_function): Use void instead to declare the
	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.

1995-01-09  Francesco Potort,Al(B  (pot@fly)

	* b2m.c (concat, xmalloc, xrealloc, readline, xnew): Four new
	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.

1995-01-06  Richard Stallman  <>

	* etags.c (C_entries): Ignore carriage return at end of line.

1994-12-26  Richard Stallman  <>

	* fakemail.c (xmalloc, xrealloc): Add casts.
	(add_field): Handle <...> and "..." syntax.
	(setup_files, get_keyword): Clean up parens and line breaks.
	(args_size): Likewise.

1994-12-21  David J. MacKenzie  <>

	* yow.c: Include program name in error messages.

1994-12-21  Richard Stallman  <>

	* make-docfile.c (scan_lisp_file): Handle dynamic doc strings.
	(xmalloc, fatal, error): New functions.
	(progname): New variable.
	(main): Set progname.

1994-12-05  Richard Stallman  <>

	* emacsclient.c, emacsserver.c [HAVE_SYSVIPC]: Include sys/utsname.h.
	(main): If socket/mqueue name is in home dir, add in the host name.
	Rename .emacs_server to .emacs-server....

1994-12-04  Richard Stallman  <>

	* emacsclient.c [!HAVE_SYSVIPC] (main): Fix error message diction.

1994-11-22  Francesco Potort,Al(B  (

	* etags.c (print_help): print --regex usage for ctags also.
	(main): use -h in addition to -H as abbreviation for --help.

1994-11-16  Francesco Potort,Al(B  (

	* etags.c [ETAGS_REGEXP]: All the new code that deals with regexps
	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
	(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.

1994-11-16  Francesco Potort,Al(B  (

	* etags.c (<errno.h>): #include added.
	(etags_getcwd): Check return value from getcwd.

1994-11-10  Richard Stallman  <>

	* profile.c (TV1, TV2): Use EMACS_TIME as type.
	(get_time): Use EMACS_SUB_TIME.

1994-10-30  Geoff Voelker  <>

	* ntlib.c: New file.
	* makefile.nt: New file.

	* make-docfile.c (main) [WINDOWSNT]: Set _fmode and stdout to O_BINARY.
	[WINDOWSNT]: Include the NT headers.

	* etags.c (main, etags_getcwd): Test DOS_NT instead of MSDOS.
	[WINDOWSNT]: Include some NT headers.

1994-10-24  Jonathan I. Kamens  (

	* pop.c (getline): When a search of already-read input for CRLF
	fails, store the fact that we've searched it and don't search it
	again after reading more data.

	* pop.c (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.

1994-10-21  Francesco Potort,Al(B  (

	* etags.c (prestr, substr): return a logical type.
	(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".

1994-10-20  Richard Stallman  <>

	* movemail.c: PopServer renamed to popserver throughout.

1994-10-20  David J. MacKenzie  <>

	* etags.c: Don't declare malloc, since we include config.h.
	* fakemail.c: Likewise.

1994-10-19  Richard Stallman  <>

	* movemail.c: Don't declare malloc.

1994-10-19  David J. MacKenzie  <>

	* rcs-checkin: Use test -r instead of < to check readability, to
	avoid syntax error.

1994-10-19  Jonathan I. Kamens  (

	* pop.c: Only include ../src/config.h if HAVE_CONFIG_H is
	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).

	* pop.c: Only declare h_errno if HAVE_H_ERRNO isn't defined or
	HAVE_CONFIG_H isn't defined.

	* pop.c (find_crlf, getline): Instead of using strstr, use a
	custom function for finding CRLF.
	(my_strstr): Function deleted.

1994-10-17  Jonathan I. Kamens  (

	* pop.c (getline): Fix a segfault because of passing a
	non-null-terminated string into strstr().  Fix from (David J. MacKenzie).

	* pop.c: Don't include <string.h> and <strings.h>.

	* pop.c: Include <des.h> before <krb.h>, rather than after.  They
	should be interchangeable, and indeed the inclusion is done in
	both orders in various files in the Kerberos 4 library sources,
	but (David J. MacKenzie) reports that BSDI
	requires that <des.h> be included first, and I don't see any harm
	in changing the order.

	* pop.c: Include ../src/config.h, to get HAVE_STRING_H and
	STDC_HEADERS, if they're defined.  Undef open, read, write and
	close after including it.

1994-10-18  Richard Stallman  <>

	* pop.c: Fix mismatch in conditionals.

	* make-docfile.c (main): Don't process one input file twice.
	Never use exit code > 1.

	* pop.c (open, close, read, write): Add #undefs.

	* pop.c: Don't declare malloc, realloc, free.
	Include ../src/config.h.
	Don't include string.h or strings.h.
	Include des.h before krb.h.
	Do declare my_strstr.
	(getline): Really use my_strstr.
	Leave one empty place in server->buffer,
	and put a null at the end of the data in it.

1994-10-17  Andreas Schwab  <>

	* emacsserver.c [SYSV_IPC] (main): Catch SIGHUP as well.  Don't
	call kill with pid 0.  Handle EINTR when receiving messages.

1994-10-17  Karl Heuer  <>

	* (regex.o): Use full path to find regex.c.

1994-10-17  Francesco Potort,Al(B  (

	* (etags): add dependency on regex.o, link with it.
	(REGEXPOBJ, REGEXPDEPS, regex.o): target and macros added.

1994-10-12  David J. MacKenzie  (

	* (DONT_INSTALL): Remove make-path.
	(${archlibdir}): Use mkinstalldirs instead.

	* movemail.c: Make functions that return nothing void, not
	implicitly int.
	(main): Improve usage message.
	(error): Write to stderr, not stdout.

	* b2m.c cvtmail.c digest-doc.c emacsclient.c emacsserver.c etags.c
	fakemail.c hexl.c make-docfile.c profile.c sorted-doc.c test-distrib.c
	timer.c wakeup.c yow.c: Eliminate some -Wall warnings from unused
	variables and implicitly declared functions.

1994-10-11  Richard Stallman  <>

	* (clean): rm DOC* and *.tab.[ch].
	(distclean): Not here.

	* (libexecdir): Renamed from libdir.

1994-10-11  Francesco Potort,Al(B  (

	* etags.c (C_entries): Name the #define's that are macros.

1994-10-10  Roland McGrath  <>

	* emacsserver.c [! SYSVIPC] (main): Fix uses of FD_* macros:
	fd_set arg is a pointer, descriptor arg comes first.

1994-09-29  Francesco Potort,Al(B  (

	* etags.c (C_entries): Recognise typedef of ANSI style functions.
	(C_entries): Recognise #define inside a struct.
	(C_entries): ANSI tells that preprocessor commands do not have to
	start on the first column.
	(print_help): Documentation corrected for -d and -D.
	(white, endtk): ANSI tells the vertical tab is a separator.

1994-09-24  Jonathan I. Kamens  (

	* (MOVE_FLAGS, MOVE_LIBS): New variables.
	(pop.o, movemail.o): New targets.
	(movemail): Link in pop.o and movemail.o.  Use MOVE_LIBS, MOVE_FLAGS.

	* pop.c, pop.h: New files.

	* movemail.c: Improve POP code, move most of it into a separate file.
	(mbx_delimit_end, mbx_delimit_begin): Check for errors.
	(mbx_write): Check for errors and for From line.
	(pop_retr, popmail): Use subroutines in pop.c to do the real work.
	(get_errmsg, multiline, getline, putline, pop_stat, pop_command)
	(pop_init): Functions deleted.

1994-09-23  Richard Stallman  <>

	* make-path.c (touchy_mkdir): Make dir ugo+rx even if it isn't new.
	Rename path to dirname.

1994-09-23  Richard Stallman  <>

	Remove test-distrib, make-docfile, make-path.
	(DONT_INSTALL): New variable--list those files here.
	(clean): Delete the files in DONT_INSTALL.

1994-09-20  Richard Stallman  <>

	* b2m.c (from, labels, data): Use MAX_DATA_LEN as length.
	(main): Use fgets, not gets.

1994-09-17  Richard Stallman  <>

	* timer.c: Don't declare malloc.

1994-09-16  Karl Heuer  <>

	* emacsserver.c (FD_*) [HAVE_SOCKETS & !HAVE_SYSVIPC]: If not already
	defined, use simple 32-bit versions of these macros.
	(main) [HAVE_SOCKETS & !HAVE_SYSVIPC]: Use these macros.

1994-09-16  Andreas Schwab  <>

	* etags.c (etags_getcwd): Use getcwd if available.

1994-09-11  Richard Stallman  <>

	* Version 19.27 released.

1994-09-07  Richard Stallman  <>

	* Version 19.26 released.

1994-08-15  Paul Eggert  <>

	* rcs2log: Add support for CVS.
	Work with `rlog's that output ISO 8601 dates.

1994-08-09  Lawrence R. Dodd  <>

	* rcs2log: Use <> to delimit email address.

1994-08-06  Richard Stallman  <>

	* emacsserver.c [SYSV_IPC] (main): Make a separate process
	so we can listen for multiple requests.

1994-08-04  Richard Stallman  <>

	* movemail.c: Include config.h first thing.

1994-08-01  Richard Stallman  <>

	* emacsserver.c (main): Add casts to avoid warnings.

1994-07-29  Richard Stallman  <>

	* (${archlibdir}): Compare the proper dir
	before installing the scripts.

1994-07-27  Richard Stallman  <>

	* emacsclient.c (main): New local var progname saves argv[0].

1994-07-26  Richard Stallman  <>

	* emacsclient.c (main): Don't actually modify argv[0].
	Modify a copy instead.

1994-07-25  Richard Stallman  <>

	* profile.c (reset_watch, get_time): Use EMACS_GET_TIME.
	(tzp): Var deleted.

	* Add #undef alloca.

1994-07-12  Richard Stallman  (

	* timer.c (xmalloc): New function.

1994-07-11  Richard Stallman  (

	* (ALLOCA_CFLAGS): New variable.
	(alloca.o): New target.

1994-07-08  Dave Love  (

	* etags.c (takeprec): recognise `character*(*) function'

1994-07-08  Francesco Potort,Al(B  (

	* etags.c (main): Don't barf on obsolete -t and -T switches.
	(main): Print an explicative message when a switch is not known.

1994-06-23  Richard Stallman  (

	* hexl.c: Don't declare exit or perror.

	* emacsserver.c (main): Don't declare geteuid.
	Don't declare getenv if convex.

1994-06-07  Richard Stallman  (

	* (test-distrib): Use ALL_CFLAGS.

1994-06-03  Francesco Potort,Al(B  (

	* etags.c (absolute_filename): Remove infinite loop bug when
	accessing files in directories whose name begins with a dot.

1994-06-03  Francesco Potort,Al(B  (

	* etags.c (etags_getcwd): Delete the trailing newline from cwd.

1994-06-01  Morten Welinder  (

	* yow.c (rootrelativepath) [MSDOS]: Define, expanding to dynamic
	location of data directory.

1994-05-30  Richard Stallman  (

	* Version 19.25 released.

1994-05-28  Richard Stallman  (

	* (distclean): Delete Makefile,, blessmail.

1994-05-27  Richard Stallman  (

	* (blessmail): Don't depend on ../src/emacs.

1994-05-23  Richard Stallman  (

	* Version 19.24 released.

1994-05-19  Richard Stallman  (

	* make-docfile.c (write_c_args): Put `default' in upper case.

1994-05-17  Richard Stallman  (

	* etags.c (etags_getcwd): Cast result of popen.
	(popen): Declaration deleted.

1994-05-17  Karl Heuer  (

	* etags.c [!MSDOS]: Declare popen.

1994-05-17  Richard Stallman  (

	* b2m.c (main): Avoid crash if argc is 1.

1994-05-16  Richard Stallman  (

	* Version 19.23 released.

	* (blessmail): Specify directory for blessmail.el.

1994-05-12  Richard Stallman  (

	* (maybe-blessmail): Mention bless-mail is in lib-src.

1994-05-05  David J. MacKenzie  (

	* Fix out of date comment.

1994-05-05  Richard Stallman  (

	* Put in a separator for where to start cpp procssing.
	Move all autoconf substitutions above that point.
	Above that point, use Make-style comments.
	This goes with changes in ../

1994-05-03  Richard Stallman  (

	* (maybe-blessmail): New target to print the blessmail
	warning message.
	(${archlibdir}): Don't do it here.  Don't depend on blessmail.

1994-05-02  Karl Heuer  (

	* (${archlibdir}): Be lenient about wc output format.

1994-05-01  Richard Stallman  (

	* (${archlibdir}): Don't run blessmail; instead
	print advice to run it, if it has anything significant to do.
	(blessmail): Use emacs, not temacs.
	(configuration): Renamed from configname.

1994-04-30  Morten Welinder  (

	* etags.c (find_entries): Treat `*.cpp' as C++ files.

1994-04-30  Morten Welinder  (

	* etags.c [MSDOS]: #include <sys/param.h> for the following.
	[MSDOS] (etags_getcwd): Define simple MSDOS version without spawning
	a shell.

1994-04-29  Morten Welinder  (

	* hexl.c [MSDOS]: Don't define proto type for exit.

1994-04-28  Richard Stallman  (

	* b2m.c: Don't include string.h or strings.h.

1994-04-27  Karl Heuer  (

	symbols, not make variables.

1994-04-23  Richard Stallman  (

	* (etags, ctags): Make VERSION a string constant.
	* etags.c (print_version): Print VERSION as a string.

1994-04-20  Richard Stallman  (

	* fakemail.c (readline): Fix updating of p when buffer grows.

1994-04-20  Karl Heuer  (

	* (blessmail): New target.
	${archlibdir}: Use blessmail when installing movemail.

1994-04-18  Richard Stallman  (

	* fakemail.c (readline): When extending the buffer,
	calculate end afresh using the new size.

1994-04-18  Francesco Potort,Al(B  (

	* etags.c (main, print_help): eliminate the -F option.

1994-04-18  Francesco Potort,Al(B  (

	* etags.c (absolute_filename): compare against '\0' instead of NULL.

1994-04-16  Richard Stallman  (

	* Renamed from is now generated from it, and then preprocessed.
	Change comments to C syntax.
	Include config.h.
	(LIBS_SYSTEM, LIBS_MACHINE): Define as empty if not defined.

1994-04-13  Richard Stallman  (

	* movemail.c [HAVE_UNISTD_H]: Include unistd.h.

1994-04-12  Francesco Potort,Al(B  (

	* etags.c (etags_getcwd): Initialize bufsize.

1994-04-11  Richard Stallman  (

	* profile.c (gettimeofday): If system doesn't have this, define it
	to give a fatal error.

1994-04-11  Karl Heuer  (

	* movemail.c (main): Use setuid, not seteuid.

1994-04-11  Richard Stallman  (

	* etags.c: #undef static.

1994-04-08  Francesco Potort,Al(B  (

	* etags.c (outf, outfiledir): renamed to tagf, tagfiledir.
	(PF_funcs, Asm_funcs, L_funcs, PAS_funcs, TEX_funcs,
	Scheme_funcs, prolog_funcs): renamed to Fortran_functions,
	Asm_labels, Lisp_functions, Pascal_functions, Scheme_functions,
	TeX_functions, Prolog_functions.
	(inf): no more a global variable.
	(C_entries): take 2nd parameter `inf' instead of using the global one.
	(find_entries): added the cp1 var for optimisation.
	(find_entries): added more suffixes for assembler files.
	(Asm_funcs): Now finds labels even without an ending colon.

1994-03-30  Francesco Potort,Al(B  (

	* etags.c (main): use etags_getcwd for compatibility.
	(etags_getcwd): new function.

1994-03-25  Richard Stallman  (

	* (etags, ctags): Pass -D for VERSION.

1994-03-25  Francesco Potort,Al(B  (

	* etags.c (emacs_tags_format, ETAGS): removed.  Use CTAGS instead.
	(main): don't allow the use of -t and -T in etags mode.
	(print_help): don't show options enabled by default.
	(print_version): show the emacs version number if VERSION is #defined.
	(find_entries): add "ss" as suffix for Chez Scheme.

1994-03-23  Francesco Potort,Al(B  (

	* etags.c (cwd, outfiledir): vars added.
	(relative_filename, absolute_filename, absolute_dirname):
	functions added to compute filenames in tags files.
	(process_file): filenames in tags file are relative to the
	directory where the tags file is (useful with the -o option).
	(main): initialise the outfiledir var.
	(TYPEDST): added the `tignore' value.
	(C_entries): corrected various small bugs.

1994-03-19  Richard Stallman  (

	* (UTILITIES): `env' deleted.
	(env): Target deleted.
	* env.c: File deleted.

1994-03-14  Richard Stallman  (

	* (install, ${archlibdir}): Switch back to ..
	before running INSTALL_PROGRAM.

1994-03-14  Francesco Potort,Al(B  (

	* etags.c (TYPEDST): added the `tignore' value.
	(C_entries): corrected various bugs, now correctly parses the
	`extern "C" {' construction (patch by Tom R.Hageman).

1994-03-05  Richard Stallman  (

	* b2m.c: Use <...> to include config.h.
	Don't include stdlib.h.

1994-03-03  Heiko Muenkel  (

	* b2m.c (main): Change delimiter from "^L" to "^_^L".
	Allow for text following "BABYL OPTIONS:".
	Add --help option.  Use argv[0] in error messages.

1994-03-01  Richard Stallman  (

	* emacsclient.c (main) [HAVE_SYSVIPC]:
	Make msgp->mtext longer if necessary.
	On HPUX, error if it's more than 512 chars.

1994-02-26  David J. MacKenzie  (

	* etags-vmslib.c: Use GPL.
	* emacstool.c: Use GPL.
	* fakemail.c: Update GPL.

	* make-path.c (main): Return 1 on error, not -1.
	Update GPL.

	* cvtmail.c: Declare malloc, realloc, xmalloc, xrealloc, getenv.
	(xmalloc, xrealloc): Return char *, not int.
	(error): Write to stderr, not stdout.
	Update GPL.

1994-02-23  Karl Heuer  (

	* profile.c (main, get_time): Don't crash on invalid input.

1994-02-22  Karl Heuer  (

	* profile.c (get_time): Simplify; avoid calling index.
	(main): exit on EOF.

1994-02-17  Francesco Potort,Al(B  (

	* etags.c (--absolute-pathnames): Option removed.

1994-02-16  Richard Stallman  (

	* fakemail.c (put_line): Don't break the line if it all fits.

1994-02-14  Francesco Potort,Al(B  (pot@fly)

	* etags.c (absolute_pathnames, cwd): added global vars.
	(longopts, print_help, main, process_file): put absolute filenames
	in the tag file if the -A --absolute-pathnames option is used.
	(print_help): alfabetically order the options.
	(malloc, realloc, strcpy, strncpy, strcmp): remove extern declar.

1994-02-09  Richard Stallman  (

	* (C_SWITCH_MACHINE): Get this from autoconf.

1994-02-07  Christian Lynbech  (lynbech@avignon)

	* emacsserver.c (main) [HAVE_SYSVIPC]: Reverse test of fork value.

1994-02-04  Richard Stallman  (

	* (UTILITIES): Mention profile.
	(profile): New target.

	* profile.c: New file.

1994-01-16  Roland McGrath  (

	* make-docfile.c: Make the argument list output look more like the
	Lisp docstrings do.
	(write_c_args): Take new arg FUNC.  Make output
	look like lisp call prototypes: (function ARG1 ARG2), upcasing args.
	(scan_c_file): Pass BUF to write_c_args for FUNC arg.

1994-01-14  Francesco Potort,Al(B  (

	* etags.c (stab_entry, stab_create, stab_find, stab_search,
	stab_type, add_keyword, C_reate_stab, C_create_stabs): deleted.
	Use gperf generated hash table instead of linked list.
	(C_stab_entry, hash, in_word_set, get_C_stab, C_symtype): added.
	Mostly code generated by gperf.
	(consider_token): removed unused parameter `lp'.
	(PF_funcs, getit): allow subroutine and similar declarations
	to span multiple lines.
	(C_entries): check for newline if inchar to avoid bus errors.
	(process_file, find_entries): distinguish among nonexistent
	and not regular file.

1994-01-14  Richard Stallman  (

	* timer.c: Include errno.h; don't include fasync.h.
	(schedule): Don't return a value.
	(sigcatch): Reestablish the handler first.
	(getevent): Always call notify at the end.
	(notify): Defer alarms around the whole body of function.

1994-01-12  Richard Stallman  (

	* timer.c (main): Don't request SIGIO, and don't handle it.
	Loop calling getevent.
	(sigcatch): Delete code to handle SIGIO.
	if defer_alarms is set, don't call notify, just set alarm_deferred.
	(getevent): Use read, not getchar.  Handle EINTR and EAGAIN.
	Set defer_alarms around realloc and schedule.
	If alarm_deferred gets set, call notify.
	Likewise if this event is the only pending event.
	Make buf and buf_size global variables.
	Don't malloc buf if it is already non-zero.
	(schedule): Just exit if run out of memory.
	Return the number of events.
	(signal) [_CX_UX]: Add #undef.

1994-01-11  Richard Stallman  (

	* timer.c [USG] (SIGIO): Define as SIGPOLL.
	(main) [USG]: Do ioctl to enable SIGPOLL.

1994-01-08  Roland McGrath  (

	* timer.c: Don't declare sys_errlist; declare strerror instead.
	(schedule, main): Call strerror instead of using sys_errlist.
	* movemail.c (get_errmsg, pfatal_with_name, pfatal_and_delete):
	Call strerror instead of using sys_errlist.
	* env.c (main): Call strerror instead of using sys_errlist.
	* emacsclient.c: Don't declare sys_errlist; declare strerror instead.
	(main): Call strerror instead of using sys_errlist.
	* emacsclient.c [! HAVE_STRERROR] (strerror): Define the function.
	* env.c [! HAVE_STRERROR] (strerror): Likewise.
	* timer.c [! HAVE_STRERROR] (strerror): Likewise.
	* movemail.c [! HAVE_STRERROR] (strerror): Likewise.

1994-01-05  Richard Stallman  (

	* hexl.c: Fix up whitespace.  Get rid of spurious casts to void.

	* movemail.c (malloc): Don't declare it.
	(xmalloc): Cast result of malloc.
	(strcpy): Don't declare it.

1993-11-14  Morten Welinder  (

	* hexl.c [MSDOS]: Use binary file modes for non-text side of pipe.
	(main): Use fclose to close file opened by fopen.

	* fakemail.c (main) [MSDOS]: Dummy stub just to make the file compile.

	* movemail.c [MSDOS]: #undef `access'.

	* b2m.c (main) [MSDOS]: Open all files as binary.
	* etags.c (main) [MSDOS]: Open all files as binary.

	* make-docfile.c [MSDOS]: Use text/binary mode as appropriate.
	(scan_c_file, scan_lisp_file): Extra parameter for the mode to open

1994-01-02  Richard Stallman  (

	Use ALL_CFLAGS in all the rules that compile and link with one cmd.
	(LINK_CFLAGS): New variable.
	(timer): Use LINK_CFLAGS.

1993-12-30  Richard Stallman  (

	* movemail.c: Include syswait.h.
	Fork a subprocess and use it to copy the mail file.

1993-12-07  Richard Stallman  (rms@srarc2)

	* make-docfile.c (scan_lisp_file): Don't add newline at end of string.

1993-12-04  Richard Stallman  (rms@srarc2)

	* movemail.c (main): When making tempname, cast result of xmalloc.
	Include room for EXXXXXX in the size.
	Don't use result of strcpy.

1993-12-03  Paul Eggert  (

	* vcdiff: Add --brief option.

1993-12-02  Richard Stallman  (rms@srarc2)

	* (${archlibdir}, install): Use $(INSTALL_PROGRAM)
	for all executables and scripts.

1993-11-27  Richard Stallman  (

	* Version 19.22 released.

1993-11-26  Richard Stallman  (

	* (mostlyclean): Make it distinct from clean.

1993-11-24  Richard Stallman  (

	* (${archlibdir}): Don't do chown or chgrp.

1993-11-16  Richard Stallman  (

	* Version 19.21 released.

	* (install): Don't change mode or group when installing.

	* etags.c (FUNCST, TYPEDST, STRUCTST, DEFINEST): Delete excess commas.

1993-11-12  Richard Stallman  (

	* make-docfile.c (read_c_string): For "", concatenate the two strings.

	* movemail.c (main): Fix error message text.

1993-11-11  Richard Stallman  (

	* Version 19.20 released.

1993-11-08  Tom Hageman  (

	* etags.c (C_entries): Keep track of ()-parenthesis level so that
	functions returning a pointer to a function, a la `signal', can be
	parsed.  This also required new state `fstartlist' to `FUNCST'.
	(SAVE_TOKEN, RESTORE_TOKEN, TOKEN_SAVED_P): 1-deep token save stack.
	(C_entries, CNL): use it to isolate preprocessor directive processing
	from the other state engines.
	(begtk): add '~', for C++ class destructors.

1993-11-02  Francesco Potort,Al(B  (

	* etags.c (consider_token): removed unused variable firsttok.
	(prolog_getit): call pfnote with the right number of arguments.

1993-10-19  Paul Eggert  (

	* rcs2log (printlogline): Don't generate lines containing only
	white space.

1993-10-04  Roland McGrath  (

	* (${archlibdir}):
	Install ${SCRIPTS} from ${srcdir}, not cwd.

1993-10-03  Roland McGrath  (

	* Fixed typos or brainos of whoever thought `@' was
	the comment character.

1993-10-01  Francesco Potort,Al(B  (

	* etags.c (process_file): dead code removed.
	(S_ISREG): #define it using S_IFREG if not defined.
	(process_file): regular files have nothing to do with symlinks.

1993-09-28  Brian Fox  (

	* (${archlibdir}): Install ${SCRIPTS} from ${srcdir}, not
	from current directory.  Only chmod and chgrp files that we
	installed, which excludes ${INSTALLABLE_SCRIPTS}.  They go in
	(INSTALLFLAGS): Deleted definition, since it is an unused variable

1993-09-27  Brian Fox  (

	configure figure out the correct values for these variables.

1993-09-14  Brian Fox  (

	* (archlibdir): Only install execuatables internally
	used by emacs; don't install bindir binaries here.

1993-09-24  Paul Eggert  (

	* rcs2log: Add -h, -n, -r options.
	By default, look for *,v files as well as RCS/*,v files.
	Use $TMPDIR (default /tmp) instead of /tmp.

1993-09-20  Francesco Potort,Al(B  (pot@fly)

	* etags.c (C_entries): is_func is initialised here instead of in
	consider_token for the sake of the yacc rules section.
	(C_entries): Now class, struct, enum, union and typedef produce
	named tags.

1993-09-11  Roland McGrath  (

	* yow.c: Include <src/paths.h>, instead of "src/paths.h".

1993-09-10  Roland McGrath  (

	* Support configuring in a different directory when
	${srcdir} has already been configured.
	(ALL_CFLAGS, CPP_CFLAGS): Put -I. -I../src before -I${srcdir}
	(b2m, movemail, fakemail, env, emacsserver, emacsclient,
	getdate.o, timer.o, timer): Remove `-I${srcdir}/../src', since it
	is already in CPP_FLAGS.
	* etags.c, emacsclient.c, wakeup.c, timer.c, b2m.c, fakemail.c,
	movemail.c, emacsserver.c: Include <config.h> instead of "config.h".

1993-08-25  Paul Eggert  (

	* rcs2log: Change /{/ to /\{/ for Posix ERE compatibility;
	otherwise, HP awk complains.

	* vcdiff: Append /usr/ccs/bin and /usr/sccs to PATH, since these
	are common hangouts for SCCS commands.

1993-08-14  Richard Stallman  (

	* Version 19.19 released.

1993-08-12  Richard Stallman  (

	* (make-path): Dep on config.h.

1993-08-11  Richard Stallman  (

	* b2m.c (TRUE, FALSE): Don't define if already defined.

1993-08-09  Paul Eggert  (

	* rcs2log (awkscript):
	Some sites put comma-separated junk after the fullname.
	Remove it, but leave "Bill Gates, Jr" alone.
	Remove the junk from fullnames like "0000-Admin(0000)".

1993-08-08  Richard Stallman  (

	* Version 19.18 released.

1993-08-04  Francesco Potort,Al(B  (

	* etags.c (L_isdef, L_isquote, L_getit): small optimisations.
	(L_funcs): the (foo::defmumble stuff now should work.
	(consider_token): function returned random value--corrected.
	(C_entries): corrected == versus = typo.

1993-08-01  Roland McGrath  (

	* etags.c (put_entries): For NODE->rewritten, put pattern before
	\177 and name after, not vice versa.

1993-08-01  Richard Stallman  (

	* timer.c (main): Generate a SIGIO as soon as we've initialized.

1993-07-30  Francesco Potort,Al(B  (

	* etags.c (FINCST): Added the fignore status.  Means we are
	after the parameter list and before the open curly brace.
	Allows correct parsing of C++ constructors.
	(C_entries, consider_token): make use of fignore.
	(consider_token): reset funcdef when next_token_is_func: when in
	ctags mode makes DEFVAR and others work better.
	(L_isquote): function that recognises the "(quote" string.
	(L_getit): ignore quoting via "'" or "(quote".  Useful for defalias.

1993-07-29  Paul Eggert  (

	* rcs-checkin: Don't check whether a file is readable until we have
	decided not to ignore it.

1993-07-20  Richard Stallman  (

	* (etags): Depend on ../src/config.h.

	* emacsserver.c: Include types.h before file.h.

1993-07-19  Richard Stallman  (

	* (install): Use .n, not .new, for temporary filenames.

1993-07-18  Richard Stallman  (

	* Version 19.17 released.

1993-07-15  Jim Blandy  (

	* etags.c (print_help): Break up the very long strings containing
	the help message into shorter strings, to placate chintzy C
	compilers which can't handle strings that long.

	* wakeup.c: Use CPP tangle from autoconf manual to #include the
	correct combination of <time.h> and <sys/time.h>.

1993-07-08  Francesco Potort,Al(B  (

	* etags.c (alloca): removed all references to it.
	(main): now calls xnew instead of alloca for portability.
	(../src/config.h): included only if HAVE_CONFIG_H.
	(const): void definition removed--config.h takes care of it.

1993-07-08  Francesco Potort,Al(B  (

	* etags.c (consider_token): was `==', now is `='.
	(consider_token): DEFUNs now treated like funcs in ctags mode.

	* etags.c (LEVEL_OK_FOR_FUNCDEF): removed.
	(C_entries): optimized the test that used LEVEL_OK_FOR_FUNCDEF.
	(C_entries): removed a piece of useless code.
	(C_entries): making typedef tags is delayed until a semicolon
	is met.  This handles "typedef int X, Y, Z;" correctly.

1993-07-06  Jim Blandy  (

	* Version 19.16 released.

	* b2m.c: #include <sys/types.h>.
	(ltoday): Declare this to be time_t.

1993-06-30  Paul Eggert  (

	* vcdiff: Add -q option.

1993-06-29  Jim Blandy  (

	* etags.c: #include "config.h" and the alloca CPP tangle before
	#including the system headers and getopt.h.  AIX requires the
	#pragma to come before any actual C code.

1993-06-21  Jim Blandy  (

	* (ctags): Depend on etags, so that parallel makes
	don't write etags.o files on top of each other.

1993-06-19  Jim Blandy  (

	* version 19.15 released.

1993-06-19  Richard Stallman  (

	* etags.c (add_node): Move var last_node to file scope.

1993-06-17  Jim Blandy  (

	* Version 19.14 released.

1993-06-16  Jim Blandy  (

	Bring mumbleclean targets into conformance with GNU coding standards.
	* (distclean): Call clean to do most of the work.
	Delete aixcc.c and TAGS.
	(realclean): Just call distclean.

	* Remember, spaces are not tabs.

1993-06-13  Richard Stallman  (

	* (CPP_CFLAGS): New variable.
	Use it instead of ALL_CFLAGS when compiling a .c file.
	(getopt.o, getopt1.o): Add explicit compilation commands.

1993-06-10  Mark D. Baushke  (

	* etags.c: Reinstate old -f option as an alias for -o for
	installed base uses.

1993-06-09  Jim Blandy  (

	* emacsserver.c (main): When we're passing a `struct sockaddr_un'
	to bind or accept, cast the pointer, to avoid warnings on systems
	which declare prototypes for this.
	* emacsclient.c (main): Same.

	* (YACC): New variable, to be set by top-level Makefile.

1993-06-08  Jim Blandy  (

	* Version 19.13 released.

	* wakeup.c: Include sys/types.h, too; I think that's where time_t
	comes from, not sys/time.h.

1993-06-02  Richard Stallman  (

	* wakeup.c: Include sys/time.h.

	* etags.c: #undef static.

	* Version 19.12 released.

	* (all): Exclude INSTALLABLE_SCRIPTS and SCRIPTS from deps.

1993-06-01  Richard Stallman  (

	* Version 19.11 released.

	* timer.c [LINUX]: #undef signal.
	* emacsserver.c: #undef signal.

1993-05-30  Richard Stallman  (

	* wakeup.c (main): Make when a time_t.

1993-05-30  Jim Blandy  (

	* (${archlibdir}): Use `(cd foo && pwd)' instead of
	`(cd foo ; pwd)' to get the canonical name of a directory; cd
	might fail, and have pwd print out the current directory.

	* movemail.c [MAIL_USE_POP] (main): Don't use non-portable
	string-handling functions.

1993-05-30  Richard Stallman  (

	* Version 19.10 released.

1993-05-29  Paul Eggert  (

	* rcs2log: When given no file arguments, inspect RCS/.* as well
	as RCS/*.  Don't report an error if RCS is empty or nonexistent.

1993-05-29  Richard Stallman  (

	* (timer): Link with $(LOADLIBES).

1993-05-28  Richard Stallman  (

	* fakemail.c (put_line): Don't output \n\t unless more text follows.

1993-05-28  Jim Blandy  (

	* etags.c: Replace the CPP tangle for alloca with the one from the
	autoconf documentation, since that's working elsewhere.

1993-05-27  Jim Blandy  (

	* (ALL_CFLAGS): Add "-I.", so the system and machine
	description files can find their ancestors.

1993-05-27  Richard Stallman  (

	* (install): Get the scripts from ${srcdir},
	unlike the executables.
	(ALL_CFLAGS): Add -I../src

1993-05-27  Jim Blandy  (

	* Version 19.9 released.

1993-05-26  Jim Blandy  (

	* (install): Do install the programs listed in
	INSTALLABLE_SCRIPTS.  Make the renaming loop use INSTALLABLES and
	INSTALLABLE_SCRIPTS, instead of writing the programs out.

	* (ALL_CFLAGS): Include -I${srcdir}.
	(getopt.o, getopt1.c): Use ${srcdir} as appropriate.

1993-05-25  Richard Stallman  (

	* etags.c: Include ../src/config.h.

	* (install): Don't handle INSTALLABLE_SCRIPTS
	in first loop.  Delete files from bindir before installing new ones.
	(ALL_CFLAGS): Use ${srcdir} to find .../src dir.

1993-05-24  Jim Blandy  (

	* Version 19.8 released.

	* make-docfile.c: Doc fix.

1993-05-24  Richard Stallman  (

	* tcp.c: Fix comment syntax at top of file.
	(main): Don't call htons with the port number.

1993-05-24  Jim Blandy  (

	* (timer.o, sorted-doc.c): Link with alloca.o, if it's

	* (install): Refer to the variables INSTALLABLES and
	INSTALLABLE_SCRIPTS, instead of writing them out.

1993-05-23  Richard Stallman  (

	* make-path.c (main): Return 0.

1993-05-22  Jim Blandy  (

	* Version 19.7 released.

1993-05-22  Richard Stallman  (

	* make-docfile.c (scan_lisp_file): Recognize defalias like fset.

1993-05-19  Richard Stallman  (

	* tcp.c: New file.

1993-05-18  Jim Blandy  (

	* (.c.o): Make the rule start with a tab, not spaces.

1993-05-15  Jim Blandy  (

	* timer.c (notify): Don't call sighold or sigrelse; they're USG
	only.  We should really fix this later, but let's just make it
	compile for now.

	Install patches from David J. Mackenzie to make the srcdir option
	* (srcdir, VPATH): Get this value from the top-level
	(INSTALLABLES): Split this into two lists - INSTALLABLES and
	(${archlibdir}): The scripts to be installed live in the source
	tree, not in the object tree.
	(test-distrib): Note that the data file lives in the source tree,
	not the object tree.
	(GETOPTDEPS): Note that getopt.h lives in the source tree.
	(all other targets): Change references to source files to use
	${srcdir}, except for config.h, which lives in the object dir.
	(timer.o): Note that this depends on ../src/config.h.
	* make-docfile.c (main): Add a -d option, to tell it where to find
	the source files.
	* test-distrib.c (main): Take the name of the distribution file to
	test from the command line.

	* timer.c: Fix mispellings of get_date function's name.

1993-05-12  Roland McGrath  (

	* etags.c (main):
	Don't require that there be input files if -i switches were given.

1993-05-09  Jim Blandy  (

	The GNU coding standards specify that CFLAGS should be left for
	users to set.
	* (CFLAGS): Put this in the "things configure might
	edit" section, and have it default to -g.
	(ALL_CFLAGS): New variable, set to all the flags which should be
	passed to compilations.  Replace all other uses of CFLAGS with
	(.c.o): New rule, to pass ALL_CFLAGS to compilations.

	* (DEFS): Remove this; it's always just going to be
	"-DHAVE_CONFIG_H -Demacs".

1993-05-03  Paul Eggert  (

	* rcs2log: mawk, SunOS 4.1.3 nawk, and Ultrix/MKS nawk all barf on
	/[/]/, so change it to /[\/]/.  This should work on all
	Posix-compliant awks.  It's slightly wrong with traditional awk,
	since it matches \ too, but that's a minor problem compared to awk
	syntax errors.

1993-05-01  Jim Blandy  (

	* (ALLOCA): New variable, whose value we should
	inherit from the top-level makefile.
	(etags, ctags): Include ALLOCA in the list of object files that
	these executables depend on and link.

1993-04-09  Jim Blandy  (

	* (DEFS): Renamed from CONFIG_CFLAGS.

1993-04-07  Jim Blandy  (

	* make-docfile.c (write_c_args): Print an argument named "defalt"
	as "default".

1993-03-24  Jim Blandy  (

	* (C_SWITCH_SYSTEM): New variable.
	(CFLAGS): Include C_SWITCH_SYSTEM in the flags to pass to the

1993-03-22  Francesco Potort,Al(B  (

	* etags.c (YACC): flag added to c_ext.
	(c_ext): no more a synonim for c_ext&C_PLPL because of YACC.
	(find_entries): consistently use streq when reasonable.
	(find_entries): a .y file is a yacc file.
	(get_C_stab): c_ext becomes c_ext&C_PLPL.
	(C_entries): logical cplpl means c_ext&C_PLPL.
	(C_entries): logical yacc_rules means we are after the first %%.
	(C_entries): added logic for yacc files.

1993-03-16  Francesco Potort,Al(B  (

	* etags.c (C_entries): ':' case moved to the second switch.
	(C_entries): do not examine token if structdef==scolonseen.
	(consider_token): structtag set to null string for enum.

1993-03-12  Francesco Potort,Al(B  (

	* etags.c (GET_COOKIE): and related macros removed.
	(logical): is now int, no more a char.
	(reg): define deleted.
	(isgood, _gd, notgd): deleted.
	(gotone): deleted.
	(TOKEN): member linestart removed.
	(linepos, prev_linepos, lb1): deleted.
	(main): call initbuffer on lbs array instead of lb1.
	(init): removed the initialisation of the logical _gd array;
	(find_entries): a .sa suffix means assembler file.
	(C_create_stab): "auto", "void", "extern", "static" are st_C_typespec.
	All C state machines rewritten.
	(C_entries): complete rewrite.
	(condider_token): complete rewrite.
	(getline): deleted.

1993-03-01  Francesco Potort,Al(B  (pot@fly.CNUCE.CNR.IT)

	* etags.c (C_entries): Added the quotednl logical variable.
	Used for parsing of #define's spanning multiple lines.

1993-02-23  Francesco Potort,Al(B  (pot@fly.CNUCE.CNR.IT)

	* etags.c (C_entries): Save the definedef status even when a
	newline is met inside a string.

1993-03-19  Eric S. Raymond  (

	* (EXECUTABLES): added rcs-checkin.

	* (unlock, relock): New productions.

1993-03-16  Paul Eggert  (

	* rcs2log: Some awks don't understand "\r".  Code around this.
	Unfortunately this requires putting a carriage return in the
	source code.  Don't assume that rlog will tolerate times like
	`10:10:60'; RCS 5.7 won't allow this.

1993-03-10  Jim Blandy  (

	* timer.c (main): Set the ownership of the stdin file descriptor
	to the current process.  Print error messages if either of the
	fcntl's fails.

	* timer.c (sigcatch): Declare this to return SIGTYPE (defined in
	../src/config.h), not void.

1993-03-06  Jim Blandy  (

	* b2m.c (main): Don't exit upon reading a blank line.

1993-03-01  Francesco Potort,Al(B  (pot@fly.CNUCE.CNR.IT)

	* etags.c (C_entries): New local variable quotednl.  Used for
	parsing of #define's spanning multiple lines.

	* etags.c (C_entries): Save the definedef status
	even when a newline is met inside a string.

1993-02-26  Jim Blandy  (

	* timer.c (notify): Initialize waitfor properly.

1993-02-22  Francesco Potort,Al(B  (pot@CNUCE.CNR.IT)

	* etags.c (C_entries): Don't reset definedef when a newline inside a
	comment is met.

1993-01-14  Richard Stallman  (

	* etags.c (find_entries): If filename ends in .f or .for,
	don't try anything but Fortran.

1993-01-08  Michael I Bushnell  (

	* timer.c (notify): Flush stdout after writing message to avoid lossage
	on terminals.

	(notify): Also, write a newline after the token.

1992-12-12  Jim Blandy  (

	* (exec_prefix): New variable.
	(bindir, libdir): Use it instead of `prefix'.

	* (CFLAGS): #define HAVE_CONFIG_H, too.

	* (libdir): Default to ${prefix}/lib.
	(archlibdir): Adjusted to match.

	* (distclean): Don't delete backup or autosave files.
	(extraclean): Like realclean, but does delete backup and autosave

	* (realclean): Ignore errors from rm.

	* (distclean): Don't bother to delete ../arch-lib;
	that doesn't exist anymore.

1992-12-11  Jim Blandy  (

	* (prefix, bindir, libdir, srcdir): New variables, as
	described in the top-level Makefile.
	(UTILITIES): Add make-path to the list of utility programs.
	(../arch-lib): Replaced by the ${archlibdir} target, which places
	the executables in their permanent home.
	(install, install.sysv, install.xenix): Consolidated into one
	target which should work under all circumstances, modulo a few
	ignored error messages.

	* make-docfile.c (scan_c_file): Since DEFVAR_PER_BUFFER now takes
	a different number of arguments than other DEFVARs, recognize it
	specially, and expect the right number of commas.

1992-12-04  Jim Blandy  (

	* make-path.c: New program, to help with the installation process.
	* (make-path): New target.

	* make-path.c (touchy_mkdir): Remove debugging output.

1992-11-05  Jim Blandy  (

	* (getdate.o): Added explicit target for this, so we
	can indicate that it depends on ../src/config.h.

1992-11-04  Jim Blandy  (

	* (CONFIG_CFLAGS): Let the configure script edit this
	instead of CFLAGS.
	(CFLAGS): Add -Demacs and -I../src to CONFIG_CFLAGS to produce this.

1992-09-30  Jim Blandy  (

	* getdate.y: Correctly recognize Mt. Xinu BSD running on an HP
	9000/300 as BSD; don't include both <sys/time.h> and <time.h> on
	that system.

	* (arch-lib): Give rm the `-f' option.

1992-09-28  Jim Blandy  (

	* make-docfile.c (write_c_args): Rewritten to correctly print
	&optionals before the first identifier, but after the first paren.
	This code used to just wait for commas or spaces; now it notices
	identifier boundaries.

1992-09-26  Roland McGrath  (

	* rcs2log: When getting date, use %02d instead of %.2d in awk printf.

1992-09-23  Jim Blandy  (

	* make-docfile.c (write_c_args): Print the argument lists properly
	when the first argument is optional.

1992-09-19  Richard Stallman  (

	* sorted-doc.c (main): Redefine special chars to use fonts tensy, teni.
	Redefine @item.  Set catcode of +.

1992-08-22  Richard Stallman  (

	* emacsclient.c (main): Set IPC_CREAT in msgget call.

1992-08-20  Richard Stallman  (

	* etags.c (TEX_funcs): Keep just 1 of two redundant nested loops.
	(TEX_decode_env): Make `tab' one element longer.

1992-08-20  Jim Blandy  (

	* etags.c (PF_funcs): Recognize the "entry" keyword.

1992-08-18  Jim Blandy  (

	* Add rcs2log and vcdiff to the list of utilities.

1992-08-14  Jim Blandy  (

	* timer.c (events): Rather than having slots marked as in use or
	out of use by the `token' field, keep all pending events at the
	beginning of the array.  When we delete an event in the middle of
	the array, we move the last event into its place.
	(num_events): New variable.
	(schedule): It is now cheaper to find a free event slot;
	events[num_events] is the first free slot.
	(notify): Scan events[0 .. num_events-1], instead of the whole
	array.  When an event fires, move the last event in the array into
	its spot.  Use num_events to determine whether or not there are
	any pending events, not wait_for.
	(getevent): Deleted unused variable `ep'.
	(sigcatch): It's now easier to find all the active events.
	(main): Initialize num_events.

	* etags.c: Rather than fret about which systems have index and
	which systems have strchr, and how to tell the difference between
	them, we just write out our own versions.  Big deal.
	(index, rindex): Extern declarations removed.
	(NEED_INDEX, NEED_RINDEX): Special hacks for hpux removed.
	(etags_index, etags_rindex): New declarations.
	(process_file, find_entries, pfnote, TEX_funcs, TEX_decode_env,
	TEX_getit, substr): Use the etags_*index functions, rather than
	the native *index functions.
	(rindex, index): Renamed to etags_rindex and tags_rindex, and
	made them unconditionally defined, rather than having them depend

	* etags.c (savenstr): Add declaration for this at top of file.
	(TEX_decode_env): Don't declare it local to this function.

	* b2m.c: #include "../src/config.h", so we can test for the USG
	macro, and decide whether to include <string.h> or <strings.h>.
	* Note that b2m.c depends on ../src/config.h.

1992-08-13  Jim Blandy  (

	* timer.c: Reformatted according to the GNU coding standards.
	Removed arbitrary limits on the number of events queued and the
	length of the tokens used to identify them.
	Removed casts to (void).
	Removed debugging printfs; they clutter the code, and the need
	can be better filled using a real debugger.

1992-08-07  Jim Blandy  (

	* timer.c: Installed new version from Eric Raymond; this is more
	portable, since it doesn't try to use SIGIO.

1992-07-17  Jim Blandy  (

	* emacsclient.c (main): If we can't find the socket in this
	person's home directory, print a message which asks if they've
	started the server, instead of just printing the message from
	sys_errmsg; Cygnus finds that people are much less confused by

1992-07-14  Jim Blandy  (

	* etags.c: Rather than defining "notdef" when "hpux" is #defined,
	so that index and rindex get defined, why don't we actually
	control index and rindex using symbols called "NEED_INDEX" and
	"NEED_RINDEX", and define them if hpux is defined?  Isn't that a
	little more readable than defining something whose name implies
	that it's not?

1992-07-08  Jim Blandy  (

	* movemail.c: Merged changes from Jamie Zawinski's byte compiler
	Miscellaneous doc fixes.
	(skip_white, read_lisp_symbol): New functions.
	(scan_lisp_file): Instead of using long hairy strings of ifs, call
	read_lisp_symbol and then see what we got.  Call skip_white
	instead of writing out a loop to do its job.  Correctly extract
	docstrings from "defmacro" declarations.

1992-06-25  Jim Blandy  (

	* movemail.c (strcpy): Declare this to return char *.

1992-06-18  Jim Blandy  (

	* etags.c (C_entries): When we find a C++ comment, do actually
	skip to the end of the line; do a 'break' instead of a 'continue'.

1992-06-11  Jim Blandy  (

	* etags.c (getit): Add missing parenthesis to expression which
	decides if this token is an identifier.

1992-06-04  Roland McGrath  (

	* etags.c (consider_token): Recognize `ENTRY' macro used in libc.

1992-05-30  Richard Stallman  (

	* etags.c (put_entries): Always put space between name and line num.

1992-05-28  Ken Raeburn  (Raeburn@Cygnus.COM)

	* etags.c (getit): Parenthesize &&/|| expression to avoid gcc

1992-05-19  Jim Blandy  (

	* make-docfile.c (write_c_args): Pass both arguments to putc.

1992-05-10  Roland McGrath  (

	* etags.c (C_entries): Fixed reading of "..." strings.
	(consider_token): Recognize `SYSCALL' and `PSEUDO' macros, used in
	the C library source.

	* etags.c (C_entries): When we see a backslash inside a quoted
	string, skip to the next character.  This allows us to correctly
	deal with strings containing quotes.

1992-05-08  Jim Blandy  (

	* make-docfile.c (write_c_args): Print the C argument names as
	they would be written in Elisp; print '_' as '-'.

1992-05-07  Richard Stallman  (

	* movemail.c [POP]: Get user name via getpwuid.

1992-05-04  Jim Blandy  (

	* flags in CC invocations rearranged for no reason.

1992-04-20  Jim Blandy  (

	* etags.c (print_help): Remember not to imbed raw newlines in
	strings - end the lines with `\n\'.

1992-04-17  Jim Blandy  (

	* timer.c (getevent): Removed declaration of memcpy; since
	different systems have different return types, and we're not even
	using the return type anyway, it wasn't doing us any good.

1992-04-16  Jim Blandy  (

	* emacsserver.c (msgcatch): Use the SIGTYPE macro to declare the
	type of this function.

1992-04-14  Jim Blandy  (

	* ChangeLog: Since the old etc contents have been split into etc
	and lib-src, the old etc's ChangeLog has been duplicated in the
	new etc and lib-src.  That means that each contains complete and
	coherent information, although each contains extraneous

1992-04-08  Jim Blandy  (

	* lib-src/etags.c: "--no-warning" option renamed to "--no-warn",
	to be consistent with other GNU programs, like makeinfo.

	* lib-src/Makefile: Renamed to; the configure script
	will edit this to produce Makefile.

1992-04-07  Jim Blandy  (

	* etags.c (print_help, print_version): New functions.
	(main): Options added to support them.

	* etags.c (longopts): New array of long names for the options.
	(main): Recognize them.

1992-04-06  Jim Blandy  (

	* etags.c (C_entries): Removed comment saying that \" in a string
	isn't recognized as magic, because it is correctly handled.

	* getopt.c, getopt.h: New files, from GNU C library.
	* etags.c: Rewritten to use getopt.
	#include "getopt.h".
	(file_num): Variable deleted; its role is now played by getopt's
	(main): Argument processing loop rewritten to call getopt to get
	next option.  Options which take parameters (-o and -i) rewritten
	to get parameter from optarg instead of argv[1].  Filename
	preprocessing loop and update command changed similarly.
	* Makefile (etags, ctags): Depend on and link with getopt.h,
	getopt.o, and getopt1.o.
	(getopt.o, getopt1.o): New targets for the GNU getopt routines.

	* etags.c (outfflag): Variable deleted; it is non-zero iff outfile
	is non-zero.

	(main): In the argument processing loop, the 'goto next_arg'
	statements are breaking out of the switch statement in exactly the
	same way that a simple 'break' statement would; replace the gotos
	with breaks, and remove the label.

1992-04-06  Richard Stallman  (

	* etags.c (C_entries): Clear tydef and next_token_is_func at start.
	(consider_token): Move next_token_is_func to global.

1992-04-02  Jim Blandy  (

	* Makefile: Conform with GNU coding standards:
	(mostlyclean): New target, synonymous with clean.
	(TAGS, check): New targets.
	(INSTALL, INSTALLFLAGS): New variables.

1992-03-31  Jim Blandy  (

	* lib-src/Makefile, etc/MACHINES, etc/NEWS: Changed references to
	`config.emacs' to `configure'.

	* lib-src/Makefile: Adjusted for renaming of share-lib to etc.
	* etc/MACHINES: Same.

1992-03-30  Jim Blandy  (

	* movemail.c (main): Allow tempname to be as long as necessary,
	instead of limiting it to 39 characters.

	* movemail.c (main): Move declaration of buf from top of function
	to local block surrounding the copy loop.  This makes it less
	likely to be confused with the buf used by the code which checks the
	permissions on outname's directory.

1992-03-20  Jim Kingdon  (

	* SERVICE: Remove my entry.

1992-03-09  David J. MacKenzie  (

	* Makefile (emacstool, nemacstool, xvetool): Use ${CFLAGS}, not
	hardcoded -g.

	* movemail.c (xmalloc): Return char *, not int.
	(main) [!MAIL_USE_FLOCK]: Add a new conditional, MAIL_UNLINK_SPOOL,
	that is off by default -- normally don't unlink the mail spool
	file, just empty it.  Pass creat mode 0600, not 0666.

1992-02-07  Jim Blandy  (

	* Makefile (../arch-lib): Depend on ${EXECUTABLES}.
	(all): Instead of here.
	(install): Don't use the -s option, since people need symbols to
	debug code.

1992-01-19  Eric Youngdale  (

	* etags-vmslib.c (fn_exp): Add type cast.

1992-01-18  Richard Stallman  (

	* movemail.c: Changes in comments.

1992-01-13  Jim Blandy  (

	* Makefile: Make the distclean target erase the DOC files from
	../share-lib and the executables from ../arch-lib.

1992-01-09  Jim Blandy  (

	* emacsclient.c: #include <sys/stat.h>
	(main): Do declare statbfr.

1991-12-21  Richard Stallman  (

	* emacsserver.c, emacsclient.c [BSD]: Use either /tmp or ~
	for the socket, depending on SERVER_HOME_DIR.
	If using /tmp, put host name in the socket name.

	* movemail.c (pfatal_and_delete): New function.
	(main, popmail): Use it.
	(popmail): Close output before deleting messages.
	Check for error on close and on fsync.
	Use `fatal' where appropriate.
	(main): Remove (void).

	* aixcc.lex: New file.  Not officially part of Emacs.
	* Makefile: Rules for that.

1991-12-04  Jim Blandy  (

	* yow.c (main): Rename all references to PATH_EXEC to PATH_DATA.

	* etags.c (main): Properly cast call to alloca that initializes

1991-08-17  Roland McGrath  (

	* etags.c (files_are_tag_tables): Remove global var.
	(process_file): Don't test it.  Also remove hack checking for a
	file named "TAGS".
	(main): -i now takes an arg which is the name of a file to include.
	Collect these names and emit include tags for them after processing
	all the argument files.

1991-07-30  Richard Stallman  (

	* wakeup.c: Terminate if parent goes away.

1991-07-18  Richard Stallman  (

	* etags.c (C_entries): Process token before handling end of line.
	When inner loops reach end of line, just back up.
	Let the real end of line processing happen in just one place.
	(consider_token): Likewise.

1991-04-11  Jim Blandy  (

	* etags.c (TEX_mode): Skip comments while scanning the text to see
	which escape character this file uses.

1991-03-29  Richard Stallman  (

	* emacsserver.c [USG]: Terminate if msgrcv fails.

1991-03-03  Richard Stallman  (

	* emacsserver.c [BSD]: Check for errors on stdin after scanf.

1991-01-25  Jim Blandy  (

	* make-docfile: Find the arguments to a C function correctly,
	by not ignoring the character that read_c_string returns.  Don't
	even try to find argument names for functions that take MANY
	or UNEVALLED arguments, since they're a figment of the docstring's

1991-01-14  Jim Blandy  (

	* make-docfile: Read the .elc files generated by the new byte

1990-12-31  Richard Stallman  (

	* refcard.tex: Use cm fonts, not am, in multi-column mode.

1990-11-29  Richard Stallman  (

	* movemail.c (mbx_delimit_begin): Put space before `unseen'.

1990-11-27  Richard Stallman  (

	* Makefile (install*): No need to install wakeup.

1990-11-26  Richard Stallman  (

	* Makefile (install*): Install emacsclient like etags.

1990-11-13  Richard Stallman  (

	* movemail.c (error): Handle 3 args.
	(main): Don't check input access if using pop.

1990-10-16  Richard Stallman  (

	* etags.c (find_entries): Check for numbers after Scheme suffix.

1990-10-14  Richard Stallman  (

	* termcap.dat (vt200-80): Fix ke and ks to frob flag 1.

1990-10-09  Richard Stallman  (

	* Makefile (nemacstool, xvetool): New targets.

1990-09-26  Richard Stallman  (

	* emacsclient.c: Include errno.h and define related variables.

1990-09-23  Richard Stallman  (

	* emacsclient.c: Change usage message.

1990-08-30  David Lawrence  (

	* emacs.1: Add break before -nw option.

1990-08-19  David J. MacKenzie  (djm@apple-gunkies)

	* qsort.c: Replace with GNU version.

1990-08-14  David J. MacKenzie  (djm@apple-gunkies)

	* wakeup.c: New program replacing loadst.c.

1990-08-14  Richard Stallman  (

	* emacsclient.c [USG]: Pass msgsnd only 4 args.

1990-08-09  David J. MacKenzie  (

	* etags.c: Rename `flag' variables for what they do instead of
	which option character sets them.

1990-05-28  Richard Stallman  (

	* loadst.c (main): Conditional to get load average on Apollo.

1990-05-22  Joseph Arceneaux  (

	* emacsserver.c: Set the permission on the socket to 0600.

1990-03-27  Richard Stallman  (

	* emacsclient.c [BSD]: Print clean message for failing getwd.

1990-03-20  David Lawrence  (

	* getdate.y: Use the getdate.y from GNU tar for timer.

1990-03-18  Jim Kingdon  (

	* emacsclient.c (main): Don't put brackets around "filename" in
	usage message.  It isn't optional.

1990-03-14  Joseph Arceneaux  (

	* etags.c (getit): Recognize '$' as beginning identifiers.

1990-02-22  David Lawrence  (

	* emacsserver.c: Renamed from server.c.
	* Makefile: Reference emacsserver rather than server.
	* MACHINES: Doc fix for new emacsserver name.

1990-01-25  Richard Stallman  (

	* emacsclient.c: Print program name in error messages.

1990-01-19  David Lawrence  (tale@cocoa-puffs)

	* timer.c, getdate.y (new files) and Makefile:
	  Sub-process support for run-at-time in timer.el.
	  Doesn't yet work correctly for USG.

1990-01-10  Jim Kingdon  (kingdon@pogo)

	* MACHINES: Add HP 300 running BSD.

1990-01-02  Richard Stallman  (

	* yow.c: Dynamically allocate buffer; skip header before random
	choice to avoid bias toward first item.

1989-12-24  Richard Stallman  (

	* etags.c (readline): Separate out init of `pend'.

1989-12-17  Richard Stallman  (

	* etags.c: Undo changes relating to isgoodhdr.

1989-12-16  Mosur Mohan  (

	* etags.c (isgoodhdr): New macro.
	(_gdh, notgdh): New variable used by that.
	(init): Initialize _gdh.
	(find_entries): Set header_file.
	(consider_token): Use isgoodhdr if in header file.

	* etags.c (total_size_of_entries):
	Was miscalculating by 1 in rewritten case.

	* etags.c (PAS_funcs): One arg to pfnote was missing.

1989-12-05  Joseph Arceneaux  (jla@spiff)

	* MACHINES: Change for the ULTRIX entry.

1989-11-21  Joseph Arceneaux  (jla@spiff)

	* etags.c (process_file): If file is not regular, return.

1989-11-06  Richard Stallman  (

	* loadst.c (main): Handle FIXUP_KERNEL_SYMBOL_ADDR.

1989-10-30  Richard Stallman  (

	* loadst.c (load_average): If HAVE_GETLOADAVG, use getloadavg.
	(main): If HAVE_GETLOADAVG, don't call `nlist'.

1989-10-25  Richard Stallman  (

	* etags.c (consider_token): Allow any number of typespec keywords
	after `typedef', before new type name.
	(enum sym_type): Add st_C_typespec.
	(C_create_stab): Put typespec kwds in table.

1989-08-27  Richard Stallman  (

	* etags.c (main): Don't depend on name invoked by.
	If CTAGS is not defined, assume it is ETAGS.

1989-07-31  Richard Stallman  (

	* etags.c (L_funcs): Allow package name in define construct,
	as in (foo::defmumble name-defined ...).

1989-07-30  Richard Stallman  (

	* etags.c (find_entries): Stupid bug testing for C filename suffixes.

	* Makefile (yow): Depends on ../src/paths.h.

1989-07-04  Richard Stallman  (

	* etags.c: Fix compilation by moving Pascal after Fortran.

1989-06-15  Richard Stallman  (

	* movemail.c [USG]: Define F_OK, etc., if not found in header.

1989-05-27  Richard Stallman  (

	* hexl.c: New file, supports hexl-mode.

1989-05-14  Richard Stallman  (

	* movemail.c: New compilation flag MAIL_USE_MMDF.

1989-05-08  Richard Stallman  (

	* emacsclient.c: Use BSD code whenever HAVE_SOCKETS.
	* server.c: Likewise.

	* make-docfile.c (scan_c_file): Output argument names at end of string.
	(write_c_args): New subroutine.

1989-04-27  Richard Stallman  (

	* movemail.c: Report failure of flock.

1989-04-19  Richard Stallman  (

	* etags.c (find_entries): Allow multi-letter extensions for fortran.

1989-04-18  Richard Stallman  (

	* loadst.c: on bsd4.3, use gettimeofday instead of CPUSTATES.

1989-03-15  Jeff Peck  (

	* emacstool.c: setenv IN_EMACSTOOL=t, TERM=sun, TERMCAP=.

	* emacsstool.1: update to document environment variables.

1989-02-21  Richard Stallman  (

	* etags.c (PAS_funcs): New function by Mosur Mohan.

	* movemail.c: On sysv, include unistd.h.

1989-02-18  Richard Stallman  (

	* b2m.c: New file.

1989-02-15  Richard Stallman  (

	* etags.c: Prolog support from Sunichirou Sugou

1989-02-03  Richard Stallman  (

	* Makefile (clean): New target.

1989-01-25  Richard Stallman  (

	* fakemail.c (put_line): Break header lines at 79 cols.

1989-01-19  Richard Stallman  (

	* etags.c: Greatly rewritten by Sam Kendall for C++ support and for
	multiple tags per line.

1989-01-03  Richard Stallman  (

	* movemail.c: Check access before doing real work.
	Check that outfile is in a writable directory.
	On fatal error, delete the lock file.

1988-12-31  Richard Mlynarik  (

	* env.c: Add decl for my-index
	* etags.c (file-entries): .oak => scheme

1988-12-30  Richard Stallman  (

	* movemail.c: Use `access' to check input and output files.

1988-12-28  Richard Stallman  (

	* emacsclient.c (main): Ignore all of CWD before first slash.

1988-12-27  Richard Stallman  (

	* etags.c (readline): Double linebuffer->size outside the xrealloc.

1988-12-22  Richard Stallman  (

	* server.c, emacsclient.c: Don't try to use gid_t; it isn't defined.
	* server.c: chmod the socket to 0700.

1988-12-09  Richard Stallman  (

	* fakemail.c (main): Let env var FAKEMAILER override pgm to run.
	(add_field): Delete comments and turn `<', `>' to spaces
	in header lines.
	(USE_FAKEMAIL): New customization macro says to make fakemail
	not be a no-op even on a BSD system.

1988-12-01  Richard Stallman  (

	* etags.c (consider_token): Skip comments just like whitespace.
	Notice `struct', etc. and set strtag for those tokens.
	Return 1 for the token following `struct' if an open-brace follows it.
	(C_entries): Special handling of token following `struct'
	needed because we have probably advanced to the following line
	to find the `{'.
	(main): New option `T' sets tflag and strflag.
	Set both of them by default if eflags.

1988-11-30  Richard Stallman  (

	* movemail.c: Do fsync before closing output.

1988-11-29  Richard Mlynarik  (

	* movemail.c: Better error message when can't create tempname.
	This file needs a great deal of extra error-checking and lucid reporting...

1988-11-16  Richard Stallman  (

	* etags.c: Support assembler code for .s and .a files.
	(getit): Allow underscore in a tag.

1988-11-15  Richard Stallman  (

	* movemail.c: Close output and check errors before deleting input.

1988-10-01  Richard Stallman  (

	* emacsclient.c [SYSVIPC]: Compute cwd only once; decide properly
	whether to prefix it.  Handle line number args.

1988-09-24  Richard Stallman  (

	* etags.c (main): default setting of eflag was backwards.

1988-09-23  Richard Stallman  (

	* etags.c: New option -i.  -f renamed -o.
	`-' as input file means read input file names from stdin.
	-i spec'd or input file named TAGS means the input file is another
	tag table; output an "include" line for it.

1988-09-19  Richard Stallman  (

	New targets install, install.sysv, install.xenix.
	This makefile is now responsible for installing executables
	and documentation from this directory into system directories.

1988-09-16  Richard Stallman  (

	* server.c, emacsclient.c (main): Compute socket name from euid.

1988-08-04  Richard Stallman  (

	* emacsclient.c: Args like +DIGITS are passed through unchanged.

1988-07-12  Richard Stallman  (

	* server.c: If both BSD and HAVE_SYSVIPC, use the latter.
	* emacsclient.c: Likewise.
	In the HAVE_SYSVIPC alternative, if BSD, use getwd instead of getcwd.

1988-06-23  Richard Stallman  (

	* etags.c: Handle `typedef struct foo {' (
	(istoken) New string-comparison macro.
	(consider_token): New arg `level'.  New state `tag_ok' in `tydef'.

1988-06-14  Richard Stallman  (

	* etags.c: Changes for VMS.
	Always define ETAGS on VMS.
	Define macros GOOD and BAD for success and failure exit codes.
	(begtk, intk): Allow `$' in identifiers
	(main): Don't support -B, -F or -u on VMS.
	Alternate loop for scanning filename arguments.
	(system): Delete definition of this function.

	* etags-vmslib.c (system): Undefine this; VMS now provides it.

1988-06-08  Richard Stallman  (

	* loadst.c: Prevent multiple-def errors on BSD and BSD4_3
	around include of param.h.  (Like fns.c.)

1988-05-16  Richard Stallman  (

	* loadst.c (load_average): Move load-average code to this new fn.
	Add conditionals to compute load ave on UMAX.

1988-05-14  Richard Stallman  (

	with opposite sense.

1988-05-13  Chris Hanson  (cph@kleph)

	* emacsclient.c: Delete references to unused variable `out'.  This
	caused a bus error when used under hp-ux.

1988-05-06  Richard Stallman  (

	* loadst.c: Control dk.h conditional with DK_HEADER_FILE.

1988-05-04  Richard Stallman  (

	* etags.c (find_entries): `.t' or `.sch' means scheme code.

1988-04-29  Richard Stallman  (

	* loadst.c: Add BSD4_3 conditional for file dk.h instead of dkstat.h.

1988-04-28  Richard Stallman  (

	* movemail.c: #undef close, since config can #define it on V.3.
	* emacsclient.c, fakemail.c, loadst.c, server.c: likewise.

1988-04-26  Richard Stallman  (

	* etags.c (TEX_mode, etc.): Remove superfluous backslashes from
	invalid escape sequences such as `\{'.

	* loadst.c: Add `sequent' conditional for file dk.h.

1988-03-20  Richard M. Stallman  (rms@wilson)

	* server.c [not BSD and not HAVE_SYSVIPC]: fix error message.

	* loadst.c (main) [XENIX]: use /usr/spool/mail, not /usr/mail.

;; Local Variables:
;; coding: iso-2022-7bit
;; add-log-time-zone-rule: t
;; End:

    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
	1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
	2006, 2007 Free Software Foundation, Inc.

  This file is part of GNU Emacs.

  GNU Emacs is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2, or (at your option)
  any later version.

  GNU Emacs is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with GNU Emacs; see the file COPYING.  If not, write to the
  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  Boston, MA 02110-1301, USA.

;;; arch-tag: 2d979296-954c-448e-95c1-b46d134513dc