ChangeLog   [plain text]

2007-06-02  Chong Yidong  <>

	* Version 22.1 released.

2007-05-22  Eli Zaretskii  <>

	* INSTALL: Add information about where to find GDB, and warn
	against --no-debug option to configure.bat.

2007-05-19  Eli Zaretskii  <>

	* INSTALL: Fix URL of EmacsW32 site where building with image
	support is described.

2007-03-31  Eli Zaretskii  <>

	* INSTALL: Mention the VCVARS32.BAT batch file for VS.NET users.

2007-03-09  Richard Stallman  <>

	* INSTALL: Say explicitly this is not for Cygwin.

2007-03-03  Eli Zaretskii  <>

	* INSTALL: Add URL of another site with detailed build instructions.

2007-02-16  Glenn Morris  <>

	* icons/gnu2a32.ico, icons/gnu2a32t.ico, icons/gnu2b48.ico:
	* icons/gnu2b48t.ico, icons/gnu3b32.ico, icons/gnu3b32t.ico:
	* icons/gnu4g48.ico, icons/gnu4g48t.ico, icons/gnu5w32.ico:
	* icons/gnu5w32t.ico, icons/gnu6w48.ico, icons/gnu6w48t.ico:
	* icons/gnu7.ico, icons/gnu8.ico, icons/gnu9.ico:
	Restore all but two of icons deleted in previous change.

2007-02-13  Chong Yidong  <>

	* icons/README: New file.

	* icons/gnu2a32t.ico, icons/gnu3b32t.ico, icons/gnu5w32t.ico:
	* icons/gnu8.ico, icons/emacs21.ico, icons/gnu2b48.ico:
	* icons/gnu4g48.ico, icons/gnu6w48.ico, icons/gnu9.ico:
	* icons/gnu2b48t.ico, icons/gnu4g48t.ico:
	* icons/gnu6w48t.ico, icons/gnu2a32.ico, icons/gnu3b32.ico:
	* icons/gnu5w32.ico, icons/gnu7.ico, icons/sink.ico:
	Unused icons deleted.

2007-01-31  Juanma Barranquero  <>

	* configure.bat: Update ../site-lisp/subdirs.el when needed.

2007-01-30  Juanma Barranquero  <>

	* subdirs.el: Add "no-byte-compile: t" local variable.

2007-01-10  Jason Rumney  <>

	* README: Update URLs and advice about reporting bugs.

2006-12-29  Jason Rumney  <>

	* nmake.defs (TEMACS_EXTRA_LINK): Remove duplicated flags from
	(DEBUG_LINK): Remove -debugtype:both.

2006-12-27  Eli Zaretskii  <>

	* INSTALL: Update table of supported Make ports.  Show "make -j"
	command that is known to work.

	* configure.bat: Update table of supported Make ports.

2006-12-24  Eli Zaretskii  <>

	* makefile.w32-in ($(TRES)): Don't use $<, as nmake supports it
	only in implicit rules.  Use literal "emacs.rc" instead.

2006-12-23  Eli Zaretskii  <>

	* gmake.defs: Export XMFLAGS.

	* makefile.w32-in (all-other-dirs-nmake, recompile-nmake): Don't
	use $(XMFLAGS) for nmake, as it doesn't support parallelism.

2006-12-22  Eli Zaretskii  <>

	* INSTALL: Explain how to invoke GNU Make for parallel builds.

	* makefile.w32-in (bootstrap-gmake): Pass XMFLAGS="$(XMFLAGS)"
	command-line argument to sub-Make in src, since src/makefile.w32-in
	invokes Make recursively during bootstrap.
	(clean): Delete stamp_BLD.
	(bootstrap): Make `all' explicitly in a recursive Make.

	* gmake.defs (stamp_BLD): Rename from $(BLD).  Create a file
	stamp_BLD after creating the $(BLD) directory.

	* nmake.defs (stamp_BLD): Rename from $(BLD).  Create a file
	stamp_BLD after creating the $(BLD) directory.

	* makefile.w32-in (addpm, ddeclient, cmdproxy, addsection)
	(preprep, $(TRES), runemacs)
	($(BLD)/addpm.$(O), $(BLD)/ddeclient.$(O), $(BLD)/runemacs.$(O))
	($(BLD)/cmdproxy.$(O), (BLD)/addsection.$(O), $(BLD)/preprep.$(O)):
	Depend on stamp_BLD instead of on $(BLD).
	(XMFLAGS): New macro.
	(all-other-dirs-nmake, all-other-dirs-gmake, recompile-nmake)
	(recompile-gmake, bootstrap-gmake, bootstrap-clean-gmake)
	(install-other-dirs-gmake, info-gmake, clean-other-dirs-gmake)
	(cleanall-other-dirs-gmake): Pass $(XMFLAGS) to sub-Make.

2006-12-20  Eli Zaretskii  <>

	* makefile.w32-in ($(TRES)): Depend on $(BLD).  Use $< instead of
	($(BLD)/addpm.$(O), $(BLD)/ddeclient.$(O), $(BLD)/runemacs.$(O)
	($(BLD)/cmdproxy.$(O), $(BLD)/addsection.$(O), $(BLD)/preprep.$(O)):
	New dependency on $(BLD).
	(all-other-dirs-nmake, all-other-dirs-gmake, bootstrap-nmake)
	(bootstrap-gmake): Depend on addsection.

2006-10-29  Juanma Barranquero  <>

	* runemacs.c (WinMain): Process all recognized arguments, not just
	the first one.  Remove unused variable sec_desc.

2006-09-24  Eli Zaretskii  <>

	* config.nt (HAVE_LANGINFO_CODESET): Define.

	* inc/langinfo.h: New file.

	* inc/nl_types.h: New file.

2006-09-15  Jay Belanger  <>

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

2006-07-27  Jason Rumney  <>

	* INSTALL: Add notes about Cygwin make to impatient section.

2006-06-02  Eli Zaretskii  <>

	* INSTALL: Add Make 3.81 to the list of Make & shell combinations
	known to work.

2006-03-12  Jason Rumney  <>

	* addpm.c (add_registry): Don't change the registry unless keys
	already exist from a previous version.

	* makefile.w32-in (install): Use -q when invoking addpm.

	* addpm.c (main): Accept -q as alternative for /q.

2006-03-11  Jason Rumney  <>

	* runemacs.c (WinMain): Set screen buffer to 80x25.

2005-12-24  Eli Zaretskii  <>

	* gmake.defs (TEMACS_EXTRA_LINK): Remove redundant -g.
	(DEBUG_FLAG, DEBUG_LINK): Upgrade to "-gstabs+ -g3".

2005-12-09  Eli Zaretskii  <>

	* INSTALL: Add explanation of how to debug with GDB starting from
	the Emacs Abort dialog.

2005-11-26  Chong Yidong  <>

	* emacs.rc: Use new icons.

2005-11-26  Eli Zaretskii  <>

	* emacs21.ico: Renamed from emacs.ico.
	* emacs.ico: New icons from Andrew Zhilin

2005-09-10  Eli Zaretskii  <>

	* config.nt (HAVE_GET_CURRENT_DIR_NAME): Undefine.

2005-08-10  Juanma Barranquero  <>

	* .cvsignore: Add `obj' and `oo' for in-place installations.

2005-07-30  Eli Zaretskii  <>

	* config.nt (HAVE_GETOPT_H, HAVE_GETOPT_LONG_ONLY): Undefine.

2005-07-29  Juanma Barranquero  <>

	* configure.bat: Don't create lisp/Makefile.unix.

2005-07-28  Juanma Barranquero  <>

	* .cvsignore: Add `makefile' and `config.log'.

2005-07-26  Paul Eggert  <>

	Merge gnulib getopt implementation into Emacs.

	* inc/gettext.h: Remove; no longer needed now that
	lib-src/gettext.h exists.

2005-07-16  Eli Zaretskii  <>

	* configure.bat: Finish config.log with a line that indicates that
	the configure step was successful.

2005-07-04  Lute Kamstra  <>

	Update FSF's address in GPL notices.

2005-06-11  Eli Zaretskii  <>

	* configure.bat: If their fc.exe returns a meaningful exit status,
	don't overwrite src/config.h and src/epaths.h with identical

	* INSTALL: Warn about using "cvs up -kb" if one intends to commit
	changes.  Add a pointer to another site with detailed configure
	and build instructions.  Suggest to look at config.log when
	configure fails.  Add MinGW Make 3.80 to the list of successful

	* gmake.defs (ARCH_CFLAGS): Use $(MCPU_FLAG) instead of a literal

	* configure.bat: Update copyright years.
	Delete config.log before doing anything else.
	Write additional diagnostics to config.log in case of failures to
	compile test programs, including the failed test program itself.
	Add a test for support of -mtune=pentium4 switch to GCC; if it is
	supported, set up MCPU_FLAG variable on the various Makefiles to
	use that switch during compilations.  (This avoids GCC warning
	about -mcpu being deprecated.)

2005-06-10  Eli Zaretskii  <>

	* addsection.c (copy_executable_and_add_section): Pass non-zero
	`verbose' arg to COPY_CHUNK only if DEBUG_DUMP is defined in the
	environment.  Print section names with %.8s.
	(COPY_CHUNK): New 4th arg `verbose'; print diagnostic messages
	only if non-zero.  All callers changed.

2005-06-05  Eli Zaretskii  <>

	* inc/sys/socket.h: Change arg 4 of sys_setsockopt to
	`const void *', for consistency with Posix.

2005-06-04  Eli Zaretskii  <>

	* inc/pwd.h (getpwnam, getpwuid): Add prototypes.

2005-05-24  Juanma Barranquero  <>

	* INSTALL: Add more pointers to ports of Unix tools to Windows,
	and to the Emacs Wiki (which contains building instructions for
	Windows).  Reword image library instructions and remove obsolete
	incompatibility information.

2005-04-23  David Hunter  <>  (tiny change)

	* config.nt (HAVE_PWD_H): Undef.

2004-06-07  Juanma Barranquero  <>

	* INSTALL: Clarify paragraph about compatibility between image
	libraries and builds of Emacs with several compilers.

2004-06-06  Juanma Barranquero  <>

	* makefile.w32-in (bootstrap-nmake): When nmake'ing bootstrap on
	the lisp/ directory, set SHELL to $(SHELLTYPE); this avoids
	calling non-existent cmdproxy.exe on boostrappings after a
	previous install followed by realclean.

	* nmake.defs: Add quote in comment to resync font-locking.

2004-06-04  Juanma Barranquero  <>

	* INSTALL: Reword the section on image support.  Add reference to
	GnuWin32.  Mention problems when mixing binaries from different

2004-05-06  Jason Rumney  <>

	* configure.bat: Use -mno-cygwin to check for image libraries
	when needed.

2004-05-03  Jason Rumney  <>

	* makefile.nt, ebuild.bat, install.bat, fast-install.bat:
	* makefile.def: Remove.

	* nmake.defs (SYS_LDFLAGS): Add -nologo.

	* makefile.w32-in (info-gmake, info-nmake): New targets.
	(info): Use them.

2004-04-23  Juanma Barranquero  <>

	* nmake.defs:
	* gmake.defs:
	* makefile.w32-in:
	* makefile.def:
	* makefile.nt: Add "-*- makefile -*-" mode tag.

2004-04-10  Benjamin Riefenstahl  <>

	* runemacs.c (WinMain): Let Emacs environment default to parent.

2004-03-11  Jason Rumney  <>

	* paths.h: Remove PATH_LOCK, add PATH_BITMAPS.

2004-03-10  Juanma Barranquero  <>

	* makefile.w32-in (install): Don't try to copy
	../lib-src/fns-*.el, as it isn't used anymore.

2004-01-28  Peter Runestig  <>

	* gmake.defs, nmake.defs: Add linking to ``winspool.lib''.

2003-12-24  Miles Bader  <>

	* .cvsignore: Add `.arch-inventory'.

2003-11-22  Lars Hansen  <>

	* inc/grp.h: New file.

2003-09-03  Peter Runestig  <>

	* configure.bat: Create ``makefile'' in directories man, lispref
	and lispintro.

	* makefile.w32-in (force-info, info): New targets.

	* envadd.bat: New file.

	* multi-install-info.bat: New file.

2003-06-27  Jan Dj,Ad(Brv  <>

	* config.nt (my_strftime): New define.

2003-02-01  Jason Rumney  <>

	* configure.bat: Automatically detect libXpm.
	Suppress compiler output when testing for image libraries.
	Give names of un-found libraries in messages.

2003-01-31  Juanma Barranquero  <>

	* configure.bat: Automatically detect giflib and tifflib.

2003-01-29  Jason Rumney  <>

	* gmake.defs (CURDIR): Disable cygpath kludge.

2003-01-29  KOBAYASHI Yasuhiro  <>

	* configure.bat: Avoid endless loop when configuring without image

2003-01-26  Jason Rumney  <>

	* configure.bat: Automatically detect jpeglib.

2003-01-25  Jason Rumney  <>

	* configure.bat: Automatically detect libpng.

2003-01-21  Jason Rumney  <>

	* icons/hand.cur: New file.

2003-01-21  David Ponce  <>

	* emacs.rc (32649): Declare hand cursor resource.

2003-01-15  Andrew Innes  <>

	* gmake.defs (CURDIR): Convert to native Windows format (with
	forward slashes), to support building with Cygwin builds of make.

2002-11-17  Ben Key  <>

	* nmake.defs:
	* gmake.defs: Made changes so that Emacs would link with
	WinMM.lib.  This change was required for my addition of a Windows
	compatible implementation of play-sound-internal.

2002-09-03  Peter Runestig  <>  (tiny change)

	* emacs.rc: Version updated to 21.3.50.

2002-06-13  Jason Rumney  <>

	* addpm.c (env_vars): Remove EMACSLOCKDIR.

	* makefile.w32-in (maybe-bootstrap, doit, maybe-bootstrap-CMD)
	(maybe-bootstrap-SH): New targets.
	(all): Depend on maybe-bootstrap.

2002-05-03  Jason Rumney  <>

	* inc/sys/socket.h (F_SETFL, O_NDELAY): Define.
	(sys_getpeername, fcntl): Declare as wrappers.

2002-04-10  Juanma Barranquero  <>

	* makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Make DOC
	after compiling .el files.

2002-03-20  Jason Rumney  <>

	* inc/sys/socket.h (sys_setsockopt, sys_listen, sys_getsockname)
	(sys_accept, sys_recvfrom, sys_sendto): Declare as wrappers.

2002-03-19  Kim F. Storm  <>

	(HAVE_SYS_UN_H): Undef.
	From David Ponce <>.

2002-03-13  Jason Rumney  <>

	* config.nt (STRFTIME_NO_POSIX2): Define.

2002-02-18  Jason Rumney  <>

	* emacs.rc: Define VS_VERSION_INFO if not already.
	Update version info.

2002-01-04  Andrew Innes  <>

	* gmake.defs (CFLAGS): Define _WIN32_WINNT as 0x0400, in order to
	pick up relevant bits of the Windows API definitions.

	* nmake.defs (CFLAGS): Define _WIN32_WINNT as 0x0400, in order to
	pick up relevant bits of the Windows API definitions.

2001-12-14  Andrew Innes  <>

	* makefile.w32-in (bootstrap): Build addsection program before
	bootstrap (required for post-processing temacs.exe).

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

	* COPYING: New file.

2001-12-03  Andrew Innes  <>

	* makefile.w32-in (bootstrap-nmake):
	(bootstrap-gmake): Extend bootstrap process to first do
	bootstrap-clean in lisp dir and rebuild the DOC file.
	(bootstrap): Do a "normal" make after the bootstrap work.

2001-11-20  Jason Rumney  <>

	* INSTALL: Update table of versions of make that are suitable
	for building Emacs, based on recent feedback.

	* TODO, _emacs,, Remove.

2001-11-19  Andrew Innes  <>

	* ftime-nostartup.bat: New file.

	* ftime.bat: Don't include libc.lib for profiling - the profiler
	corrupts part of memcpy.

2001-11-17  Jason Rumney  <>

	* nmake.defs (SYS_LDFLAGS): Add setargv.obj for wildcard
	expansion.  From Juanma Barranquero <>.

2001-10-20  Gerd Moellmann  <>

	* (Version 21.1 released.)

2001-10-12  Andrew Innes  <>

	* inc/pwd.h (uid_t, gid_t): New typedefs.

2001-10-05  Gerd Moellmann  <>

	* Branch for 21.1.

2001-09-08  Eli Zaretskii  <>

	* README: Update the address of the mailing list and subscription
	instructions.  From Geoff Voelker <>.

2001-09-06  Eli Zaretskii  <>

	* INSTALL: Suggest to avoid using WinZip.

	* configure.bat: Make sure ../site-lisp exists; create if necessary.

2001-09-05  Eli Zaretskii  <>

	* INSTALL: Mention that "make install" can be "nmake install".

2001-09-04  Eli Zaretskii  <>

	* makefile.w32-in ($(INSTALL_DIR)/bin): Depend on $(INSTALL_DIR),
	since some versions of `mkdir' don't automatically create parent
	directories.  From Bruno Grossniklaus <>.

2001-08-31  Eli Zaretskii  <>

	* subdirs.el: New file.

	* configure.bat: Copy subdirs.el to the site-lisp directory.

	* makefile.w32-in (install): Copy subdirs.el to the installation

2001-06-20  Jason Rumney  <>

	* runemacs.c (WinMain): Add quotes around command in case of spaces.

2001-06-01  Andrew Innes  <>

	* gmake.defs (sh_output): Don't use $(warning ...) to output
	messages, since that is not supported by GNU make 3.77.

2001-05-24  Jason Rumney  <>

	* INSTALL: Clarify that building with MSVC requires nmake.

2001-05-17  Andrew Innes  <>

	* gmake.defs (NEW_CYGWIN): Output message about spurious error
	message that is to be ignored.

2001-05-13  Andrew Innes  <>

	* TODO: Remove file, since it is completely out of date.

	* README: Add copyright notice.

	* INSTALL: Add copyright notice.

2001-04-18  Andrew Innes  <>

	* nmake.defs (EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
	the environment.

	* gmake.defs (SETLOADPATH): Remove definition.
	(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in the

2001-03-26  Eli Zaretskii  <>

	* configure.bat: Make the checkw32api* labels be distinct in the
	first 8 characters.

2001-03-17  Andrew Innes  <>

	* cmdproxy.c (get_next_token): Fix indefinite loop bug scanning
	escaped quotes.

	* gmake.defs (DEBUG_LINK): New macro.
	(LINK_FLAGS): Use it.

	* nmake.defs (DEBUG_LINK): New macro.
	(LINK_FLAGS): Use it.

2001-03-06  Andrew Innes  <>

	* INSTALL: Add --ldflags to configure line for building with
	recent versions of Cygwin GCC.

2001-03-05  Eli Zaretskii  <>

	* configure.bat: Use correct options when compiling a test program
	with Cygwin.  From David Ponce <>.

2001-02-24  Andrew Innes  <>

	* _emacs: Remove obsolete file.

	* Remove obsolete file.

	* Remove obsolete file.

	* inc/sys/socket.h: Add copyright notice.

	* paths.h: Add copyright notice.

	* makefile.nt: Update copyright notice.

	* makefile.def: Update copyright notice.

	* configure.bat: Update copyright notice.

	* nmake.defs: Add copyright notice.

	* gmake.defs: Add copyright notice.

	* makefile.w32-in: Add copyright notice.

2001-02-05  Andrew Innes  <>

	* nmake.defs (THISDIR): New definition.

	* gmake.defs (THISDIR): New definition.

2001-02-03  Andrew Innes  <>

	* configure.bat: Leave a space before >> only when there is a
	preceding digit.  Add a comment about the importance of this.

	* README: Replace outdated information.

	* INSTALL (Trouble-shooting): Add note about need to specify extra
	compiler flags with recent Cygwin ports of gcc.

2001-02-01  Eli Zaretskii  <>

	* configure.bat: Use "rm -f" instead of "del /f", as the latter
	is not supported by Windows 9X's COMMAND.COM.

2001-01-31  Eli Zaretskii  <>

	* configure.bat: Make sure redirection is preceeded by a blank, to
	avoid problems with "1>>foo" when CMD.EXE is the shell, which eats
	up the "1" part.  From Rob Giardina <>.

2001-01-30  Eli Zaretskii  <>

	* INSTALL: Copy the table of tested combinations of development
	tools from confuigure.bat.  Add suggestion to install Bash on
	Windows 9X.

	* configure.bat: Don't copy lisp/Makefile, it doesn't exist; copy
	lisp/ instead.  Use "rm -f" where more than one file
	needs to be deleted, since in Windows 9X doesn't grok
	more than one argument.

2001-01-24  Andrew Innes  <>

	* makefile.w32-in (cleanall-other-dirs-nmake):
	(cleanall-other-dirs-gmake): New targets.
	(cleanall): Invoke them.

2001-01-19  Andrew Innes  <>

	* addpm.c (env_vars): Add a version-independent site-lisp
	directory to EMACSLOADPATH, after the version dependent one.

2001-01-06  Andrew Innes  <>

	* README: Update info about compilers.

	* makefile.w32-in: Use $(MAKETYPE) instead of $(SHELLTYPE) to
	select correct rule for invoking make in another directory.  Amend
	rules accordingly.
	(clean): Delete $(COMPILER_TEMP_FILES) instead of *.pdb.

	* nmake.defs (EMACS_ICON_PATH): Delete definition.
	(COMPILER_TEMP_FILES): New definition.
	(MAKETYPE): New definition.

	* gmake.defs (EMACS_ICON_PATH): Delete definition.
	(COMPILER_TEMP_FILES): New definition.
	(MAKETYPE): New definition.

	* makefile.def (EMACS_ICON_PATH): Delete definition.

	* configure.bat: Be careful not to add trailing spaces when
	outputting to config.settings.

2001-01-02  Andrew Innes  <>

	* config.nt (RE_TRANSLATE): Use CHAR_TABLE_TRANSLATE macro rather
	than the function.

2000-12-17  Andrew Innes  <>

	* makefile.w32-in (install): Copy directories to the correct
	(real_install): Remove obsolete target.

2000-12-06  Andrew Innes  <>

	* nmake.defs (CURDIR): New define.
	(INSTALL_DIR): Use it.

	* gmake.defs (NEW_CYGWIN): New define.
	(DQUOTE) [NEW_CYGWIN]: Cygnus changed the quoting rules since b20,
	so we need to adjust how we escape embedded quotes.
	(SETLOADPATH): Set EMACSLOADPATH to an absolute directory,
	relative to $(CURDIR).

2000-11-25  Jason Rumney  <>

	* config.nt (GC_MARK_STACK, GC_SETJMP_WORKS): Define.

2000-10-17  Andrew Innes  <>

	* makefile.w32-in (recompile): New target to recompile lisp
	(recompile-CMD, recompile-SH): New support targets.

2000-09-24  Jason Rumney  <>

	* config.nt (NO_RETURN): Define it.

2000-09-17  Andrew Innes  <>

	* gmake.defs: Revert to Unix line endings.

	* nmake.defs: Revert to Unix line endings.

2000-09-16  Andrew Innes  <>

	* gmake.defs (SETLOADPATH): Change definition to work from any

2000-09-14  Andrew Innes  <>

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

2000-09-14  Andrew Innes  <>

	* INSTALL: Add note about expected error messages when configure
	is run.

	* configure.bat: Simplify the generation of makefiles (don't need
	to generate various top-level targets that invoke make in other

	* gmake.defs (SHELLTYPE): New define.
	(SETLOADPATH): New define.

	* nmake.defs (SHELLTYPE): New define.

	* makefile.w32-in: Standardize indentation somewhat.
	Add bootstrap support.
	Pass $(MFLAGS) when invoking make recursively.
	Add shell-specific variants of top-level targets that invoke make
	recursively in other directories, and add necessary computed

2000-09-03  Andrew Innes  <>

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

	* configure.bat: Change to DOS line endings.

	* addsection.c (_ANONYMOUS_UNION) [__GNUC__]: New define.
	(_ANONYMOUS_STRUCT) [__GNUC__]: New define.

	* preprep.c (_ANONYMOUS_UNION) [__GNUC__]: New define.
	(_ANONYMOUS_STRUCT) [__GNUC__]: New define.

	* gmake.defs (CFLAGS): No need for -D_ANONYMOUS_UNION
	-D_ANONYMOUS_STRUCT on compile line.
	(ARCH_CFLAGS): Change optimization flags to -O2.
	(FOREACH, FORVAR, FORDO, ENDFOR): New definitions.
	(ARGQUOTE, DQUOTE): New defines.

	* nmake.defs (CFLAGS): No need for -D_ANONYMOUS_UNION
	-D_ANONYMOUS_STRUCT on compile line.
	(FOREACH, FORVAR, FORDO, ENDFOR): New definitions.
	(ARGQUOTE, DQUOTE): New defines.

2000-08-22  Andrew Innes  <>

	* configure.bat: New file.

	* gmake.defs: New file.

	* nmake.defs: New file.

	* makefile.w32-in: New file.

	* INSTALL: Rewrite to match new configure process.

	* config.nt [WINDOWSNT]: Don't declare getenv.
	(EMACS_CONFIG_OPTIONS): Define according to compiler being used.

	* addpm.c (main): Accept /q to mean install based on addpm's
	location without asking.  Remove reference to emacs.bat which is
	now obsolete.

	* addsection.c (PTR_TO_OFFSET): Cast ptr to unsigned char*.

	* paths.h: Use forward slash as directory separator in all path
	(PATH_DUMPLOADSEARCH): Revert to definition used on Unix.

	* preprep.c (PTR_TO_OFFSET): Cast ptr to unsigned char *.

	* runemacs.c: Remove WIN32 define.

	* inc/sys/file.h (F_OK, X_OK, W_OK, R_OK, D_OK): Define if D_OK is
	not defined.

	* inc/sys/socket.h (_WINSOCK_H): Undefine if defined.
	(fd_set): Define to new name, after including winsock.h, so we can
	provide our own implementation.

2000-07-05  Andrew Innes  <>

	* ebuild.bat: Add support for specifying make arguments.

	* makefile.nt: Add support for `bootstrap' and related targets.

2000-06-11  Jason Rumney  <>

	* config.nt: Define POINTER_TYPE, PTR, PROTOTYPES and __P.

2000-02-06  Andrew Innes  <>

	* inc/sys/time.h: Add inclusion protection.

	* makefile.def (SYS_LDFLAGS): Add -nologo.

1999-11-22  Andrew Innes  <>

	* install.bat: Pass on command line arguments to make.

	* makefile.nt (fast_install): Bring commands up-to-date, and fix typo.

1999-11-21  Andrew Innes  <>

	* makefile.nt (all): Build leim if present.
	(install): Install leim if present.
	(clean): Clean leim if present.

	* addpm.c (env_vars): Include leim in default EMACSLOADPATH

	* (EMACSLOADPATH): Include leim.

1999-07-12  Richard Stallman  <>

	* Version 20.4 released.

1999-06-16  Andrew Innes  <>

	* emacs.rc: Use an icon with a transparent background, to be in
	keeping with other applications.

1999-06-03  Andrew Innes  <>

	* preprep.c: Fix typo.

1999-05-02  Andrew Innes  <>

	* config.h: Remove obsolete file.

	* preprep.c (copy_executable_and_move_sections): Ifdef out a
	couple of unused switch cases that aren't defined on all

	* ftime.bat: Add another variation of the profile command, which
	only profiles extended commands.

1999-03-31  Geoff Voelker  <>

	* cmdproxy.c (main): Fix parens.

1999-03-25  Andrew Innes  <>

	* cmdproxy.c (main): Call GetShortPathName to normalize program
	names for comparison.

1999-03-05  Geoff Voelker  <>

	* makefile.def: Compile multiple .c files when possible.
	Use BLD instead of assuming i386.
	* makefile.nt: Remove common multiple file compilation commands.

1999-03-04  Geoff Voelker  <>

	* cmdproxy.c (main): Add missing parens.

1999-02-20  Andrew Innes  <>

	* preprep.c: New program to allow dumped image to be profiled.

	* makefile.nt (preprep): New target.
	(ALL): Build it.

	* makefile.def (ARCH_CFLAGS): Set struct packing to 8.

	* ftime.bat: Invoke preprep to prepare dumped image for profiling.
	Change prep options to profile libc functions and skip the startup

1999-02-15  Geoff Voelker  <>

	* makefile.nt: Create installation directory as first step.

1999-01-31  Andrew Innes  <>

	* addsection.c: (ROUND_UP_DST_AND_ZERO): Renamed from
	ROUND_UP_DST.  Zeroes the alignment slop.
	(copy_executable_and_add_section): Update the
	SizeOfHeaders field properly.

1999-01-27  Andrew Innes  <>

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

1999-01-26  Andrew Innes  <>

	* runemacs.c (WinMain): Pass explicit environment block to
	CreateProcess, to work around a bug in Windows 95/98.

1999-01-22  Geoff Voelker  <>

	* icons: New directory with Davenport's icons.
	* icons/sink.ico: Renamed from emacs.ico.

	* makefile.nt (install, fast_install): Install Windows icons
	into etc/icons.

	* emacs.rc (ICON): Use icons/gnu2a32.ico as the default icon.

1999-01-17  Andrew Innes  <>

	* makefile.nt: (ALL): List top-level targets.
	(addsection): New top-level target.
	(install): Copy fns-*.el to bin directory.

	* addsection.c: New program to add static heap section to
	temacs.exe after linking, in support of new unexec method.

1998-12-28  Andrew Innes  <>

	* cmdproxy.c (spawn): Pass directory for child as parameter.
	(main): Save startup directory to give to spawn, then change
	directory to location of .exe in order not to prevent startup
	directory from being deleted.

1998-12-08  Geoff Voelker  <>

	* makefile.nt: Do string comparision of _NMAKE_VER.

1998-12-02  Geoff Voelker  <>

	* config.nt (LOCALTIME_CACHE): Define.

1998-11-13  Andrew Innes  <>

	* install.bat: Convert to DOS format.

1998-11-10  Andrew Innes  <>

	* cmdproxy.c (main): Set environment size only when running

1998-11-03  Theodore Jump  <>

	* makefile.def (SYS_LDFLAGS): Use swapfile when running from cd or net.
	(DEL_TREE): Use rd instead of rmdir.
	(ARCH_CFLAGS): Optimize for P6.  Align structures on 8-byte boundaries.
	* makefile.nt: Compile multiple source files when possible.

1998-10-05  Geoff Voelker  <>

	* cmdproxy.c (main): Treat command line options as case-insensitive.

1998-08-19  Richard Stallman  <>

	* Version 20.3 released.

1998-07-20  Geoff Voelker  <>

	* addpm.c (main): Explicitly check result of message box for OK.

1998-06-05  Andrew Innes  <>

	* inc/sys/file.h (D_OK): Define new macro.

1998-06-01  Andrew Innes  <>

	* makefile.def (CFLAGS): Do not define HAVE_NTGUI.

1998-05-30  Geoff Voelker  <>

	* emacs.rc (VS_VERSION_INFO): Define.

1998-04-23  Geoff Voelker  <>

	* makefile.nt (emacs.bat, debug.bat): Create them in the
	installation directory.

1998-04-23  Andrew Innes  <>

	* ddeclient.c: New file.  (Support program for performing limited
	interprocess communication on Windows.)

	* makefile.nt: Build ddeclient.

	* cmdproxy.c (main): Only set environment size for real shell, and
	provide extra directory argument, when running on Windows 95.

1998-04-17  Geoff Voelker  <>

	* cmdproxy.c (fail): Exit with a negative return value.
	(spawn): Return subprocess return code as an argument.
	Explicitly copy environment block.
	(main): Update to use return value argument with spawn.
	Retry if spawn failed when a subshell was not tried.

	* config.nt: Include new macros from src/
	(RE_TRANSLATE_TYPE): Use Lisp_Object as type.
	(RE_TRANSLATE): Use char_table_translate.

	* makefile.def (CP_DIR): Preserve attributes.

	* makefile.nt (clean): Delete patch generated files, optimized
	build directory.

1997-10-01  Geoff Voelker  <>

	* addpm.c (env_vars): Fix misplaced % in SHELL entry.

1997-09-19  Richard Stallman  <>

	* Version 20.2 released.

1997-09-15  Richard Stallman  <>

	* Version 20.1 released.

1997-09-11  Geoff Voelker  <>

	* New file.
	* makefile.nt (debug.bat): New target.

1997-09-02  Andrew Innes  <>

	* addpm.c (env_vars): Put site-lisp before lisp in EMACSLOADPATH.
	Quote group name.  Allow different icons to be specified.

	* cmdproxy.c (get_env_size): New function.
	(spawn): Explicitly pass in environment when creating subprocess.
	(main): Cleaup error messages.
	Specify dynamically sized environment block for real shell.
	Pass on unhandled switches to real shell.
	Quote program name.

	* makefile.def (CFLAGS_COMMON): Place pdb file in object build
	(CFLAGS) [!MSVCNT11]: Define _CRTAPI1.

	* runemacs.c (WinMain): Allow Emacs process to be started with
	high or low priority.

	* Remove OS dependent operations.

1997-09-02  Geoff Voelker  <>

	* addpm.c (env_vars): No longer set INFOPATH.

	* cmdproxy.c (get_next_token): Null terminate token returned.

	* (INFOPATH): No longer set INFOPATH.

1997-08-10  Andrew Innes  <>

	* addpm.c (env_vars): Set SHELL to cmdproxy.
	(main): Initialize idDde to 0.
	Determine emacs_path from module file name.
	Prompt for install.

	* makefile.def (MSVCNT11): Conditionally define it.
	(BASE_LIBS): Do not use oldnames.lib.
	(SYS_LDFLAGS): Use pdb files.
	(ARCH_CFLAGS) [i386 && spd]: Use space optimizations.
	(ARCH_CFLAGS) [alpha && spd]: Use optimizations.

	* makefile.nt (ALL): Build cmdproxy.
	(cmdproxy): New target.
	(install): Install cmdproxy.

	* ftime.bat, debug.bat, cmdproxy.c: New files.

1997-07-10  Geoff Voelker  <>

	* inc/sys/socket.h: (shutdown): Define.
	(sys_shutdown): Export.

1997-07-08  Richard Stallman  <>

	* config.nt (RE_TRANSLATE): Copy definition from

1997-07-01  Geoff Voelker  <>

	* config.nt: Update file comments.
	Update undefs added/removed in src/

1997-06-19  Geoff Voelker  <>

	* makefil.def, emacs.bat: Use windows95 and windowsnt instead
	of win95 and winnt, respectively.

1997-01-04  Geoff Voelker  <>

	* makefile.nt (real_install): Create site-lisp in installation dir.
	* addpm.c (env_vars): Add site-lisp to EMACSLOADPATH.
	* Add site-lisp to EMACSLOADPATH.

1996-08-11  Richard Stallman  <>

	* Version 19.33 released.

1996-08-09  Geoff Voelker  <>

	* runemacs.c (WinMain): Put a space between the binary and its args.

1996-07-31  Richard Stallman  <>

	* Version 19.32 released.

1996-07-16  Andrew Innes  <>

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

1996-06-03  Kim F. Storm  <>

	* runemacs.c (CHOOSE_NEWEST_EXE): New parameter macro.
	Not defined by default.
	(WinMain): Add conditional testing CHOOSE_NEWEST_EXE.
	(WinMain): Convert backslashes to slashes in env var values.

	* addpm.c (env_vars): Use slashes, not backslashes.

1996-05-25  Karl Heuer  <>

	* Version 19.31 released.

1996-05-13  Andrew Innes  <>

	* install.bat: Set BUILD_TYPE and INSTALL_DIR before calling make;
	undo settings afterwards.

1996-05-08  Andrew Innes  <>

	* addpm.c (env_vars): Set SHELL registry entry to value of COMSPEC
	environment variable.

1996-05-03  Andrew Innes  <>

	* install.bat: Allow for optimized build.
	* makefile.def [BUILD_TYPE]: Build optimized version in its own dir.
	(ARCH_CFLAGS) [BUILD_TYPE == spd]: Build optimized version.

1996-05-03  Andrew Innes  <>

	* addpm.c (REG_ROOT): Don't use a trailing backslash.
	(env_vars): Rename field emacs_path to emacs_dir.
	(main): Add link to runemacs instead of emacs.

	* install.bat: Check if INSTALL_DIR is passed as an argument.

	* makefile.def (CONFIG_H) [WIN95]: Use config.nt.

	* makefile.nt: Build and install runemacs.exe.

	* runemacs.c: New file.

	* config.w95: File removed.

	* inc/netdb.h, inc/unistd.h, inc/arpa/inet.h, inc/netinet/in.h,
	inc/sys/socket.h, inc/sys/time.h: New header files.

	* inc/sys/file.h (F_OK, X_OK, W_OK, R_OK): New macros.

1996-03-27  Geoff Voelker  <>

	* makefile.def (DEL): Defined.
	(DEL_TREE) [win95]: Defined.
	(SYS_LDFLAGS): Set executable versions to 3.10.

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

1996-01-17  Erik Naggum  <>

	* All files: Update FSF's address in comment preamble.

1996-01-03  George V. Reilly  <>

	* emacs.ico: Now the proverbial kitchen sink icon.

1995-11-24  Richard Stallman  <>

	* Version 19.30 released.

1995-11-22  Geoff Voelker  <>

	* makefile.def (CP_DIR): Use platform independent switches for xcopy.

	* makefile.nt (install, fast_install, real_install, clean):
	Don't use switches to del not supported by Win95.

1995-11-07  Kevin Gallo  <>

	* makefile.nt (addpm.exe): Link with $(ADVAPI32).
	(install, fast_install): Change same-dir test to create test file in
	installation tree and thereby support read-only shares.
	(clean): Remove .pdb files.

	* makefile.def (NTGUI): New macro.

	* config.nt, config.w95: Update to latest src/

	* addpm.c (env_vars): New variable.
	(add_registry): New procedure.
	(main): Use values of configuration environment variables from
	the registry if defined, the process environment otherwise.

1995-06-19  Richard Stallman  <>

	* Version 19.29 released.

	* makefile.nt (addpm.exe): Change WinMainCRTStartup to mainCRTStartup.

1995-06-13  Geoff Voelker  <>

	* makefile.nt: Define .c to .obj suffix rule.
	(addpm.obj): Compile directly, use CFLAGS.
	(addpm.exe): Link from addpm.obj.

	* makefile.def (MSVCNT11): Defined.
	(BASE_LIBS) [MSVCNT11]: Use oldnames.lib.
	(CFLAGS_COMMON): Defined.
	(CFLAGS) [MSVCNT11]: Define _CRTAPI1 to _cdecl.

1995-06-09  Geoff Voelker  <>

	* Renamed from emacs.bat.
	(emacs_dir): Renamed from emacs_path.
	Definition removed.

	* addpm.c: New file.
	* makefile.nt (ALL,addpm,addpm.exe,addpm.obj): Defined.
	(all): Depend upon $(BLD) and $(ALL).
	(install): Depend upon emacs.bat.
	Create program item for Emacs.
	(clean): Delete obj.
	(emacs.bat): Defined.
	* makefile.def (EMACS_ICON_PATH,ADDPM): Defined.

1995-05-27  Geoff Voelker  <>

	* ebuild.bat, emacs.bat, fast-install.bat, install.bat:
	Add carriage returns; necessary for batch files on Win95.

1995-05-25  Geoff Voelker  <>

	* config.w95: Created.
	* config.h: Changed to config.nt.

	* makefile.nt (SUBDIRS): Commented out.
	(all,install,clean): Expand for-loops.

	* makefile.def (SYS_LIB_DIR,SYS_INC_DIR): Undefined.
	(ARCH): New definition.
	(INCLUDE,LIB): Checked if valid.
	(ntwin32.mak): Included.
	(AR,CC,LINK): New definition.
	(ADVAPI32,libc,BASE_LIBS): Defined.
	(SYS_LDFLAGS): New definition.
	Update comments and preprocessor conditionals.

	* emacs.bat (SHELL): Conditionally defined.
	(HOME): Conditionally defined.
	(emacs_path,HOME): Update comments.
	Turn off all echo.

1995-05-09  Geoff Voelker  <>

	* _emacs, config.h, ebuild.bat, emacs.bat, emacs.rc,
	fast-install.bat, install.bat, makefile.def, makefile.nt, paths.h,
	inc/pwd.h, inc/sys/dir.h, inc/sys/file.h, inc/sys/ioctl.h,
	inc/sys/param.h: Removed carriage-returns.

1995-05-06  Geoff Voelker  <>

	* makefile.def (CVTRES): Defined.

	* emacs.ico, emacs.rc: New files by Kevin Gallo.

1995-04-10  Geoff Voelker  <>

	* src: Remove directory.

	* src\config.h, src\paths.h: Moved to parent dir, src removed.

1995-04-09  Geoff Voelker  <>

	* makefile.def (INSTALL_DIR): Changed to generic directory.

	* emacs.bat: Added arguments when emacs.exe invoked.

	* ebuild.cmd, emacs.cmd, install.cmd: Changed extension to .bat.

1994-12-13  Geoff Voelker  <>

	* makefile.def (CC): In configuration section.
	(COMPAT_LIB): Defined.

1994-11-01  Geoff Voelker  <>

	* src/paths.h: New file.

	* src/config.h: New file.

	* inc/pwd.h: New file.

	* inc/sys/dir.h: New file.

	* inc/sys/file.h: New file.

	* inc/sys/ioctl.h: New file.

	* inc/sys/param.h: New file.

	* todo: New file.

	* README: New file.

	* makefile.nt: New file.

	* makefile.def: New file.

	* install.cmd: New file.

	* INSTALL: New file.

	* fast-install.cmd: New file.

	* emacs.cmd: New file.

	* ebuild.cmd: New file.

	* _emacs: New file.

;; Local Variables:
;; coding: iso-2022-7bit
;; add-log-time-zone-rule: t
;; End:

    Copyright (C) 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: b3d2c29c-04a0-45d0-b52d-57354711c414