changeset 617:cde1f15848c6

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Sun, 19 Apr 1992 08:53:55 +0000
parents 3c1ffcac443f
children 4c7d08bcc1f2
files Makefile.in build-ins.in configure1.in etc/README lisp/lpr.el lisp/mail/rmail.el lisp/simple.el src/=Makefile.in src/callint.c src/config.in src/indent.c src/lread.c
diffstat 12 files changed, 538 insertions(+), 307 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Sun Apr 19 08:53:10 1992 +0000
+++ b/Makefile.in	Sun Apr 19 08:53:55 1992 +0000
@@ -1,83 +1,131 @@
-# This is the distribution Makefile for Emacs.  configure can make
-# most of the changes to this file you might want, so try that first.
+# DIST: This is the distribution Makefile for Emacs.  configure can
+# DIST: make most of the changes to this file you might want, so try
+# DIST: that first.
 
-# make all	to compile and build Emacs
-# make install	to install it
-# make install.sysv  to install on system V.
-# make install.xenix  to install on Xenix
+# make all	to compile and build Emacs.
+# make install	to install it.
+# make install.sysv to install on system V.  Note that on system V you
+#		must change mandir to /usr/local/man/man1.
+# make install.xenix  to install on Xenix.
 # make install.aix    to install on AIX.
-# make tags	to update tags tables
+# make tags	to update tags tables.
 #
-# make distclean	to delete everything that wasn't in the distribution
+# make distclean	to delete everything that wasn't in the distribution.
 #	This is a very dangerous thing to do!
 # make clean
-#       This is a little less dangerous.
+#	This is a little less dangerous.
 
 SHELL = /bin/sh
 
-# ==================== Where to install things ====================
-# Note that on system V you must change MANDIR to /usr/local/man/man1.
+# ==================== Where To Install Things ====================
+
+# The default location for installation.  Everything is placed in
+# subdirectories of this directory.  This directory must exist when
+# you start installation.  The default values for many of the
+# variables below are expressed in terms of this one, so you may not
+# need to change them.
+prefix=/usr/local
+
+# Where to install Emacs and other binaries that people will want to
+# run directly (like etags).
+bindir=$(prefix)/bin
 
-# Where to install all of Emacs's data files - the lisp code,
-# documentation tree, and the architecture-dependent and -independent
-# libraries.  If this is not the directory we're building under
-# already, the `install' targets will move or copy it there.  The
-# default definitions for the variables below are expressed in terms
-# of this one, so you may not need to change them.
-LIBROOT=/home/gd/gnu/emacs
+# A directory under which we will install many of Emacs's files.  The
+# default values for many of the variables below are expressed in
+# terms of this one, so you may not need to change them.
+emacsdir=$(prefix)/emacs-19.0
+
+# Where to install and expect the architecture-independent data files
+# (like the tutorial and the Zippy database).
+datadir=$(emacsdir)/etc
 
-# This is where the `install' make target should place the binaries
-# people will want to run directly (like etags and Emacs itself).
-INSTALLBIN=/usr/local/bin
+# Where to install the elisp files distributed with Emacs.  Strictly
+# speaking, all the elisp files should go under datadir (above), since
+# both elisp source and compiled elisp are completely portable, but
+# it's traditional to give the lisp files their own subdirectory.
+lispdir=$(emacsdir)/lisp
+
+# Directories Emacs should search for elisp files specific to this
+# site (i.e. customizations), before consulting $(lispdir).  This
+# should be a colon-separated list of directories.
+locallisppath=$(emacsdir)/local-lisp
 
-# Emacs will search this path to find its elisp files.  This should be
-# a colon-separated list of directories.  Strictly speaking, all the
-# elisp files should go under DATADIR (below), since both elisp source
-# and compiled elisp are completely portable, but it's traditional to
-# give the lisp files their own subdirectory.
-LISPPATH=/home/gd/gnu/emacs/local-lisp:/home/gd/gnu/emacs/lisp
+# Where Emacs will search to find its elisp files.  Before changing
+# this, check to see if your purpose wouldn't better be served by
+# changing locallisppath.  This should be a colon-separated list of
+# directories.
+lisppath=$(locallisppath):$(lispdir)
 
-# Emacs will look here for its architecture-independent files (like
-# the tutorial and the zippy database).
-DATADIR=/home/gd/gnu/emacs/etc
+# Where Emacs will search for its elisp files before dumping.  This is
+# only used during the process of compiling Emacs, to help Emacs find
+# its lisp files before they've been installed in their final
+# location.  It's usually identical to lisppath, except that the entry
+# for the directory containing the installed lisp files has been
+# replaced with ../lisp.  This should be a colon-separated list of
+# directories.
+dumplisppath=$(locallisppath):../lisp
 
-# Emacs will look here for its architecture-dependent files, like
-# executables for its utilities.
-LIBDIR=/home/gd/gnu/emacs/arch-lib
+# Where to install and expect the files that Emacs modifies as it
+# runs.	 These files are all architecture-independent.	Right now,
+# the only such data is the locking directory.
+statedir=$(emacsdir)
+
+# Where to create and expect the locking directory, where the Emacs
+# locking code keeps track of which files are currently being edited.
+lockdir=$(statedir)/lock
 
-# The locking directory, where the Emacs locking code keeps track of
-# which files are currently being edited.
-LOCKDIR=/home/gd/gnu/emacs/lock
+# Where to install and expect executable files to be run by Emacs
+# rather than directly by users, and other architecture-dependent
+# data.
+libdir=$(emacsdir)/arch-lib
 
-# This is where the `install' make target should place the man pages
-# for the binaries it installs.
-MANDIR= /usr/man/man1
+# Where to install Emacs's man pages.
+mandir=/usr/man/man1
+
+# Where to install and expect the info files describing Emacs.	In the
+# past, this defaulted to a subdirectory of $(prefix)/lib/emacs, but
+# since there are now many packages documented with the texinfo
+# system, it is inappropriate to imply that it is part of Emacs.
+infodir=$(prefix)/info
 
 
+# ==================== Utility Programs for the Build ====================
+
+# Allow the user to specify the install program.
+INSTALL = install
+INSTALLFLAGS = -c
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL}
+
+
+# ============================= Targets ==============================
 
 # Flags passed down to subdirectory makefiles.
-MFLAGS=
+MFLAGS =
 
 # Subdirectories to make recursively.  `lisp' is not included
 # because the compiled lisp files are part of the distribution
 # and you cannot remake them without installing Emacs first.
-SUBDIR= lib-src src
+SUBDIR = lib-src src
 
-# Subdirectories to install
-COPYDIR= arch-lib etc info lisp
-
-# Subdirectories to clean
-CLEANDIR= ${COPYDIR} lisp/term
+# Subdirectories to install, and where they'll go.
+COPYDIR = arch-lib etc info lisp
+COPYDESTS = $(libdir) $(datadir) $(infodir) $(lispdir)
 
 all:	src/paths.h ${SUBDIR}
 
-src/paths.h: Makefile src/paths.h-dist
-	/bin/sed < src/paths.h-dist > src/paths.h			\
-	-e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "$(LISPPATH)";'		\
-	-e 's;\(#.*PATH_EXEC\).*$$;\1 "$(LIBDIR)";'			\
-	-e 's;\(#.*PATH_DATA\).*$$;\1 "$(DATADIR)";'			\
-	-e 's;\(#.*PATH_LOCK\).*$$;\1 "$(LOCKDIR)/";'			\
-	-e 's;\(#.*PATH_SUPERLOCK\).*$$;\1 "$(LOCKDIR)/!!!SuperLock!!!";'
+removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
+
+src/paths.h: Makefile src/paths.h.in
+	lisppath=`echo $(lisppath) | $(removenullpaths)` ;		\
+	dumplisppath=`echo $(dumplisppath) | $(removenullpaths)` ;	\
+	/bin/sed < src/paths.h.in > src/paths.h			\
+	-e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'		\
+	-e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${dumplisppath}'";'	\
+	-e 's;\(#.*PATH_EXEC\).*$$;\1 "$(libdir)";'			\
+	-e 's;\(#.*PATH_DATA\).*$$;\1 "$(datadir)";'			\
+	-e 's;\(#.*PATH_LOCK\).*$$;\1 "$(lockdir)/";'			\
+	-e 's;\(#.*PATH_SUPERLOCK\).*$$;\1 "$(lockdir)/!!!SuperLock!!!";'
 
 src:	lib-src
 
@@ -87,93 +135,142 @@
 	cd $@; make ${MFLAGS} all
 
 install: all mkdir lockdir
-	-if [ `/bin/pwd` != `(cd ${LIBROOT}; /bin/pwd)` ] ; then \
-		tar cf - ${COPYDIR} | (cd ${LIBROOT}; umask 0; tar xf - ) ;\
-		for i in ${CLEANDIR}; do \
-			(rm -rf ${LIBROOT}/$$i/RCS; \
-			 rm -f ${LIBROOT}/$$i/\#*; \
-			 rm -f ${LIBROOT}/$$i/*~); \
-		done \
-	else true; \
-	fi
-	install -c -s arch-lib/emacsclient ${INSTALLBIN}/emacsclient
-	install -c -s arch-lib/etags ${INSTALLBIN}/etags
-	install -c -s arch-lib/ctags ${INSTALLBIN}/ctags
-	install -c -s -m 1755 src/xemacs ${INSTALLBIN}/xemacs
-	install -c -m 444 etc/emacs.1 ${MANDIR}/emacs.1
-	-rm -f ${INSTALLBIN}/emacs
-	mv ${INSTALLBIN}/xemacs ${INSTALLBIN}/emacs
+	-set ${COPYDESTS} ; \
+	 for dir in ${COPYDIR} ; do \
+	   dest=$$1 ; shift ; \
+	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
+	     (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xf - ) ; \
+	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+	       rm -rf $${subdir}/RCS ; \
+	       rm -f  $${subdir}/\#* ; \
+	       rm -f  $${subdir}/*~ ; \
+	     done ; \
+	   fi ; \
+	 done
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -c arch-lib/emacsclient ${bindir}/emacsclient
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -c arch-lib/etags ${bindir}/etags
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -c arch-lib/ctags ${bindir}/ctags
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -c -m 1755 src/xemacs ${bindir}/xemacs
+	${INSTALL_DATA} ${INSTALLFLAGS} -c -m 444 etc/emacs.1 ${mandir}/emacs.1
+	-rm -f ${bindir}/emacs
+	mv ${bindir}/xemacs ${bindir}/emacs
 
 install.sysv: all mkdir lockdir
-	-if [ `/bin/pwd` != `(cd ${LIBROOT}; /bin/pwd)` ] ; then \
-		find ${COPYDIR} -print | cpio -pdum ${LIBROOT} ;\
-		for i in ${CLEANDIR}; do \
-			(rm -rf ${LIBROOT}/$$i/RCS; \
-			 rm -f ${LIBROOT}/$$i/\#*; \
-			 rm -f ${LIBROOT}/$$i/*~); \
-		done \
-	else true; \
-	fi
-	-cpset arch-lib/emacsclient ${INSTALLBIN}/emacsclient 755 bin bin
-	-cpset arch-lib/etags ${INSTALLBIN}/etags 755 bin bin
-	-cpset arch-lib/ctags ${INSTALLBIN}/ctags 755 bin bin
-	-cpset etc/emacs.1 ${MANDIR}/emacs.1 444 bin bin
-	-/bin/rm -f ${INSTALLBIN}/emacs
-	-cpset src/xemacs ${INSTALLBIN}/emacs 1755 bin bin
+	-set ${COPYDESTS} ; \
+	 for dir in ${COPYDIR} ; do \
+	   dest=$$1 ; shift ; \
+	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
+	     (cd $${dir}; find . -print | cpio -pdum ${dest} ) ; \
+	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+	       rm -rf $${subdir}/RCS ; \
+	       rm -f  $${subdir}/\#* ; \
+	       rm -f  $${subdir}/*~ ; \
+	     done ; \
+	   fi ; \
+	 done
+	-cpset arch-lib/emacsclient ${bindir}/emacsclient 755 bin bin
+	-cpset arch-lib/etags ${bindir}/etags 755 bin bin
+	-cpset arch-lib/ctags ${bindir}/ctags 755 bin bin
+	-cpset etc/emacs.1 ${mandir}/emacs.1 444 bin bin
+	-/bin/rm -f ${bindir}/emacs
+	-cpset src/xemacs ${bindir}/emacs 1755 bin bin
   
 install.xenix: all mkdir lockdir
-	if [ `pwd` != `(cd ${LIBROOT}; pwd)` ] ; then \
-		tar cf - ${COPYDIR} | (cd ${LIBROOT}; umask 0; tar xpf - ) ;\
-		for i in ${CLEANDIR}; do \
-			(rm -rf ${LIBROOT}/$$i/RCS; \
-			 rm -f ${LIBROOT}/$$i/\#*; \
-			 rm -f ${LIBROOT}/$$i/*~); \
-		done \
-	else true; \
-	fi
-	cp arch-lib/etags arch-lib/ctags arch-lib/emacsclient ${INSTALLBIN}
-	chmod 755 ${INSTALLBIN}/etags ${INSTALLBIN}/ctags ${INSTALLBIN}/emacsclient
-	cp etc/emacs.1 ${MANDIR}/emacs.1
-	chmod 444 ${MANDIR}/emacs.1
-	-mv -f ${INSTALLBIN}/emacs ${INSTALLBIN}/emacs.old
-	cp src/xemacs ${INSTALLBIN}/emacs
-	chmod 1755 ${INSTALLBIN}/emacs
-	-rm -f ${INSTALLBIN}/emacs.old
+	-set ${COPYDESTS} ; \
+	 for dir in ${COPYDIR} ; do \
+	   dest=$$1 ; shift ; \
+	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
+	     (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xpf - ) ; \
+	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+	       rm -rf $${subdir}/RCS ; \
+	       rm -f  $${subdir}/\#* ; \
+	       rm -f  $${subdir}/*~ ; \
+	     done ; \
+	   fi ; \
+	 done
+	cp arch-lib/etags arch-lib/ctags arch-lib/emacsclient ${bindir}
+	chmod 755 ${bindir}/etags ${bindir}/ctags ${bindir}/emacsclient
+	cp etc/emacs.1 ${mandir}/emacs.1
+	chmod 444 ${mandir}/emacs.1
+	-mv -f ${bindir}/emacs ${bindir}/emacs.old
+	cp src/xemacs ${bindir}/emacs
+	chmod 1755 ${bindir}/emacs
+	-rm -f ${bindir}/emacs.old
 
 install.aix: all mkdir lockdir
-	-if [ `/bin/pwd` != `(cd ${LIBROOT}; /bin/pwd)` ] ; then \
-		tar cf - ${COPYDIR} | (cd ${LIBROOT}; umask 0; tar xBf - ) ;\
-		for i in ${CLEANDIR}; do \
-			(rm -rf ${LIBROOT}/$$i/RCS; \
-			 rm -f ${LIBROOT}/$$i/\#*; \
-			 rm -f ${LIBROOT}/$$i/*~); \
-		done \
-	else true; \
-	fi
-	install -f ${INSTALLBIN} etc/emacsclient
-	install -f ${INSTALLBIN} etc/etags
-	install -f ${INSTALLBIN} etc/ctags
-	install -M 1755 -f ${INSTALLBIN} src/xemacs
-	install -M 444 -f ${MANDIR} etc/emacs.1
-	-rm -f ${INSTALLBIN}/emacs
-	mv ${INSTALLBIN}/xemacs ${INSTALLBIN}/emacs
+	-set ${COPYDESTS} ; \
+	 for dir in ${COPYDIR} ; do \
+	   dest=$$1 ; shift ; \
+	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
+	     (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xBf - ) ; \
+	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+	       rm -rf $${subdir}/RCS ; \
+	       rm -f  $${subdir}/\#* ; \
+	       rm -f  $${subdir}/*~ ; \
+	     done ; \
+	   fi ; \
+	 done
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -f ${bindir} etc/emacsclient
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -f ${bindir} etc/etags
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -f ${bindir} etc/ctags
+	${INSTALL_PROGRAM} ${INSTALLFLAGS} -M 1755 -f ${bindir} src/xemacs
+	${INSTALL_DATA} ${INSTALLFLAGS} -M 444 -f ${mandir} etc/emacs.1
+	-rm -f ${bindir}/emacs
+	mv ${bindir}/xemacs ${bindir}/emacs
 
+# Build all the directories
 mkdir: FRC
-	-mkdir ${LIBROOT}
-	-chmod 777 ${LIBROOT}
-
-distclean:
-	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} distclean); done
-
-clean:
-	cd src; make clean
-	cd lib-src; make clean
+	# If any of the directories are below ${emacsdir}, create it.
+	-for dir in ${COPYDESTS}; do \
+	   case "$${dir}" in \
+	     ${emacsdir}/* ) \
+	       if [ ! -d ${emacsdir} ]; then \
+		 -mkdir ${emacsdir} ; \
+		 -chmod 777 ${emacsdir} ; \
+	       fi ; \
+	       break\
+	     ;; \
+	   esac ; \
+	 done
+	-mkdir ${COPYDESTS}
+	-chmod 777 ${COPYDESTS}
 
 lockdir:
+	# If the lockdir needs ${emacsdir}, create it.
+	-case "${lockdir}" in \
+	   ${statedir}/* ) \
+	     if [ ! -d ${emacsdir} ]; then \
+	       -mkdir ${emacsdir} ; \
+	       -chmod 777 ${emacsdir} ; \
+	     fi \
+	   ;; \
+	 esac
 	-mkdir ${LOCKDIR}
 	-chmod 777 ${LOCKDIR}
 
 FRC:
 
-tags:	lib-src
+clean mostlyclean:
+	cd src; make clean
+	if [ `/bin/pwd` != `(cd ${DESTDIR}${LIBDIR}; /bin/pwd)` ] ; then \
+		cd etc; make clean; \
+	else true; \
+	fi
+	cd oldXMenu; make clean
+
+distclean:
+	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} distclean); done
+	-(cd lock; rm *)
+	-rm config.status config-tmp-*
+	-rm #*# *~
+
+realclean:
+	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} realclean); done
+	(cd lock; rm *)
+	rm config.status
+
+TAGS tags:	lib-src
 	cd src; ../arch-lib/etags *.[ch] ../lisp/*.el ../lisp/term/*.el
+
+check:
+	@echo "We don't have any tests for GNU Emacs yet."
--- a/build-ins.in	Sun Apr 19 08:53:10 1992 +0000
+++ b/build-ins.in	Sun Apr 19 08:53:55 1992 +0000
@@ -2,60 +2,149 @@
 #
 #Shell script for building and installing Emacs.
 
+# ==================== Where To Install Things ====================
+
+# The default location for installation.  Everything is placed in
+# subdirectories of this directory.  This directory must exist when
+# you start installation.  The default values for many of the
+# variables below are expressed in terms of this one, so you may not
+# need to change them.
+prefix=/usr/local
+
+# Where to install Emacs and other binaries that people will want to
+# run directly (like etags).
+bindir=${prefix}/bin
+
+# A directory under which we will install many of Emacs's files.  The
+# default values for many of the variables below are expressed in
+# terms of this one, so you may not need to change them.
+emacsdir=${prefix}/lib/emacs-19.0
+
+# Where to install and expect the architecture-independent data files
+# (like the tutorial and the zippy database).
+datadir=${emacsdir}/etc
+
+# Where to install the elisp files distributed with Emacs.
+lispdir=${emacsdir}/lisp
+
+# Where Emacs will search to find its elisp files.  This should be a
+# colon-separated list of directories.	Strictly speaking, all the
+# elisp files should go under datadir (above), since both elisp source
+# and compiled elisp are completely portable, but it's traditional to
+# give the lisp files their own subdirectory.
+lisppath=${emacsdir}/local-lisp:${lispdir}
+
+# Where to install and expect the files that Emacs modifies as it
+# runs.	 These files are all architecture-independent.	Right now,
+# the only such data is the locking directory.
+statedir=${emacsdir}
+
+# Where to create and expect the locking directory, where the Emacs
+# locking code keeps track of which files are currently being edited.
+lockdir=${statedir}/lock
+
+# Where to install and expect executable files to be run by Emacs
+# rather than directly by users, and other architecture-dependent
+# data.
+libdir=${emacsdir}/arch-lib
+
+# Where to install Emacs's man pages.
+mandir=/usr/man/man1
+
+# Where to install and expect the info files describing Emacs.	In the
+# past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but
+# since there are now many packages documented with the texinfo
+# system, it is inappropriate to imply that it is part of Emacs.
+infodir=${prefix}/info
+
+scum
+
+
 # Where to install all of Emacs's data files - the lisp code,
 # documentation tree, and the architecture-dependent and -independent
 # libaries.  The default definitions for the variables below are
 # expressed in terms of this one, so you may not need to change them.
 # set LIBROOT=/usr/local/lib/emacs-19.0
-LIBROOT=/home/gd/gnu/emacs
+emacsdir=/u/src/emacs/19.0
 
 # Emacs will search this path to find its elisp files.  This should be
 # a colon-separated list of directories.  Strictly speaking, all the
 # elisp files should go under DATADIR (below), since both elisp source
 # and compiled elisp are completely portable, but it's traditional to
 # give the lisp files their own subdirectory.
-LISPPATH=/home/gd/gnu/emacs/local-lisp:/home/gd/gnu/emacs/lisp
+LISPPATH=/u/src/emacs/19.0/local-lisp:/u/src/emacs/19.0/lisp
 
 # Emacs will look here for its architecture-independent files (like
 # the tutorial and the zippy database).
-DATADIR=/home/gd/gnu/emacs/etc
+DATADIR=/u/src/emacs/19.0/etc
 
 # Emacs will look here for its architecture-dependent files, like
 # executables for its utilities.
-LIBDIR=/home/gd/gnu/emacs/arch-lib
+LIBDIR=/u/src/emacs/19.0/arch-lib
 
 # The locking directory, where the Emacs locking code keeps track of
 # which files are currently being edited.
 # set LOCKDIR=${LIBROOT}/lock
-LOCKDIR=/home/gd/gnu/emacs/lock
+LOCKDIR=/u/src/emacs/19.0/lock
 
 # This is where build-install should place the binaries people will
 # want to run directly (like etags and Emacs itself).
 BINDIR=/usr/local/bin
 
-/bin/sed < src/paths.h-dist > src/paths.h			\
--e 's;\(#.*PATH_LOADSEARCH\).*$;\1 "'${LISPPATH}'";'		\
--e 's;\(#.*PATH_EXEC\).*$;\1 "'${LIBDIR}'";'			\
--e 's;\(#.*PATH_DATA\).*$;\1 "'${DATADIR}'";'			\
--e 's;\(#.*LOCK\).*$;\1 "'${LOCKDIR}'/";'
+/bin/sed < src/paths.h.in > src/paths.h			\
+-e 's;\(#.*PATH_LOADSEARCH\).*$;\1 "${lisppath}";'		\
+-e 's;\(#.*PATH_EXEC\).*$;\1 "${libdir}";'			\
+-e 's;\(#.*PATH_DATA\).*$;\1 "${datadir}";'			\
+-e 's;\(#.*PATH_LOCK\).*$;\1 "${lockdir}/";'			\
+-e 's;\(#.*PATH_SUPERLOCK\).*$;\1 "${lockdir}/!!!SuperLock!!!";'
 
 (cd lib-src; make) || exit 1
 (cd src; make) || exit 1
 
-if [ `pwd` != `(cd ${LIBROOT}; pwd)` ]; then
-  mv `pwd` ${LIBROOT}
-  if [ $? != '0' ]; then
-    mkdir ${LIBROOT}
-    echo mv `pwd` to ${LIBROOT} failed--using tar to copy.
-    tar cf - . | (cd ${LIBROOT}; umask 0; tar xf -)
-    if [ $? != '0' ]; then
-      echo tar-copying `pwd` to ${LIBROOT} failed.
-      exit 1
+# Subdirectories to install, and where they'll go.
+copydir=arch-lib etc info lisp
+copydests=${libdir} ${datadir} ${infodir} ${lispdir}
+
+# If any of the directories are below ${emacsdir} or ${statedir}, create them.
+for dir in ${copydests}; do
+  case "${dir}" in
+    ${emacsdir}/* )
+      if [ ! -d ${emacsdir} ]; then
+	-mkdir ${emacsdir}
+	-chmod 777 ${emacsdir}
+      fi
+    ;;
+    ${statedir}/* )
+      if [ ! -d ${statedir} ]; then
+	-mkdir ${statedir}
+	-chmod 777 ${statedir}
+      fi
+    ;;
+  esac
+done
+
+set ${copydests}
+for dir in ${copydir} ; do
+  dest=$1 ; shift
+  mv ${dir} ${dest}
+  if [ $? != 0 ]; then
+    echo mv ${dir} to ${dest} failed -- using tar to copy.
+    if [ `/bin/pwd`/${dir} != `(cd ${dest}; /bin/pwd)` ] ; then
+      (cd ${dir}; tar cf - . ) | (cd ${dest}; umask 0; tar xf - )
+      if [ $? != 0 ]; then
+	echo "tar-copying ${dir} to ${dest} failed too.  I give up."
+	exit 1
+      fi
+      for subdir in `find ${dest} -type d ! -name RCS -print` ; do
+	rm -rf ${subdir}/RCS
+	rm -f  ${subdir}/\#*
+	rm -f  ${subdir}/*~
+      done
     fi
   fi
-fi
+done
 
-cp ${LIBROOT}/etc/[ce]tags ${BINDIR}
-mv ${LIBROOT}/src/xemacs ${BINDIR}/emacs
-rm ${LIBROOT}/src/temacs
-chmod 777 ${BINDIR}/[ce]tags ${BINDIR}/emacs
+cp ${libdir}/[ce]tags ${bindir}
+mv src/xemacs ${BINDIR}/emacs
+rm src/temacs
+chmod 777 ${bindir}/[ce]tags ${bindir}/emacs
--- a/configure1.in	Sun Apr 19 08:53:10 1992 +0000
+++ b/configure1.in	Sun Apr 19 08:53:55 1992 +0000
@@ -20,11 +20,11 @@
 
 # Shell script to edit files and make symlinks in preparation for
 # compiling Emacs.
-# 
+#
 # Usage: configure machine
 #
 # If configure succeeds, it leaves its status in config.status.
-# If configure fails after disturbing the status quo, 
+# If configure fails after disturbing the status quo,
 # 	config.status is removed.
 #
 
@@ -95,16 +95,7 @@
 window_system=""
 have_x_menu=""
 
-# This must be the only option on the line, and it can't be abbreviated.
-# This keeps it from interfering with the other, documented options.
-if [ "$*" = "+distribute" ]; then
-  libroot=/usr/local/lib/emacs
-  machine=hp300bsd
-  opsystem=bsd4-3
-  shift
-fi
-
-echo "Examining options..."
+echo "Examining options."
 for arg in $*; do
   case "${arg}" in
     -*)
@@ -190,7 +181,7 @@
   exit 1
 fi
 
-echo "Checking machine..."
+echo "Checking the machine."
 machfile="m/${machine}.h"
 if [ ! -r src/${machfile} ]; then
   echo "${progname}: Emacs has no configuration info for the machine called
@@ -199,11 +190,11 @@
   exit 1
 fi
 
-echo "Checking operating system..."
+echo "Checking the operating system."
 if [ "${opsystem}" = "" ]; then
 
   echo "  No operating system explicitly specified."
-  echo "  Guessing, based on machine..."
+  echo "  Guessing, based on machine."
   # Get the default operating system to go with the specified machine.
   opsystem=`grep 'USUAL-OPSYS="' src/${machfile} \
 	    | sed 's/^.*USUAL-OPSYS="\([^"]*\)".*$/\1/'`
@@ -251,21 +242,21 @@
 fi
 
 if [ "${libroot}" = "" ]; then
-  echo "Guessing library directory..."
+  echo "Guessing library directory."
   libroot=`/bin/pwd`
 fi
 
-echo "Checking window system..."
+echo "Checking window system."
 window_system="`echo ${window_system} | tr A-Z a-z`"
 case "${window_system}" in
   "none" | "x11" | "x10" ) ;;
   "x" ) window_system=x11 ;;
   "" )
-    echo "  No window system specifed.  Looking for X Windows."    
+    echo "  No window system specifed.  Looking for X Windows."
     window_system=none
     if [ -r /usr/lib/libX11.a -a -d /usr/include/X11 ]; then
       window_system=x11
-    fi        
+    fi
   ;;
   * )
     echo "The \`-window_system' option must be set to \`none' or \`X11'." 1>&2
@@ -291,7 +282,7 @@
 # What is the return type of a signal handler?  We grep
 # /usr/include/signal.h for the declaration of the signal function.
 # Yuck.
-echo "Looking for return type of signal handler functions..."
+echo "Looking for return type of signal handler functions."
 if [ -r /usr/include/signal.h ]; then
   sigpattern='[ 	]*([ 	]*\*[ 	]*signal[ 	]*('
   sigtype=void
@@ -301,37 +292,27 @@
 fi
 
 
-# Do the opsystem or machine files prohibit the use of the GNU malloc?
-echo "Checking to see if the GNU malloc routines are permissible..."
-if (cd ./src;grep SYSTEM_MALLOC ${opsysfile} ${machfile} > /dev/null); then
-  gnu_malloc=no
-  gnu_malloc_reason="
-  (The GNU allocators don't work with this machine and/or operating system.)"
-fi
-
-rel_alloc=${gnu_malloc}
-
 if [ "${have_x_menu}" = "" ]; then
   have_x_menu=no
 fi
 
 if [ "${lisppath}" = "" ]; then
-  lisppath=${libroot}/local-lisp:${libroot}/lisp
+  lisppath='$(locallisppath):$(lispdir)'
 fi
 
 if [ "${datadir}" = "" ]; then
-  datadir=${libroot}/etc
+  datadir='$(emacsdir)/etc'
 fi
 
 if [ "${libdir}" = "" ]; then
-  libdir=${libroot}/arch-lib
+  libdir='$(emacsdir)/arch-lib'
 fi
 
 if [ "${lockdir}" = "" ]; then
-  lockdir=${libroot}/lock
+  lockdir='$(statedir)/lock'
 fi
 
-echo "Checking for GCC..."
+echo "Checking for GCC."
 case "${cc}" in
   "" )
     temppath=`echo $PATH | sed 's/^:/.:/
@@ -352,8 +333,10 @@
   ,,*   ) O=yes; g=no  ;;
 esac
 
-echo "Guessing which libraries the lib-src programs will want,"
-echo "  based on the machine- and system-dependent files..."
+echo "Examining the machine- and system-dependent files to find out"
+echo " - which libraries the lib-src programs will want, and"
+echo " - whether the GNU malloc routines are usable."
+tempcname="configure.tmp.$$.c"
 echo '#include "src/'${machfile}'"
 #include "src/'${opsysfile}'"
 #ifndef LIBS_MACHINE
@@ -363,15 +346,31 @@
 #define LIBS_SYSTEM
 #endif
 libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
-' > config-tmp-$$.c
-eval `${cc} -E config-tmp-$$.c | grep 'libsrc_libs='`
-rm config-tmp-$$.c
+#ifdef SYSTEM_MALLOC
+system_malloc=yes
+#else
+system_malloc=no
+#endif
+' > ${tempcname}
+eval `${cc} -E ${tempcname} | grep -v '^#' | grep -v '^[ 	]*$'`
+rm ${tempcname}
+
+# Do the opsystem or machine files prohibit the use of the GNU malloc?
+if [ "${system_malloc}" = "yes" ]; then
+  gnu_malloc=no
+  gnu_malloc_reason="
+  (The GNU allocators don't work with this machine and/or operating system.)"
+fi
+
+if [ ! "${rel_alloc}" ]; then
+  rel_alloc=${gnu_malloc}
+fi
 
 rm -f config.status
 set -e
 
 # Make the proper settings in the config file.
-echo "Making src/config.h from src/config.h-dist"
+echo "Making src/config.h from src/config.h.in"
 if [ "${highpri}" != "" ]; then
   highpri="(-${highpri})"
 fi
@@ -399,48 +398,69 @@
   esac
   sed_flags="${sed_flags} ${f}"
 done
-eval '/bin/sed '${sed_flags}' < src/config.h-dist > src/config.h'
+rm -f src/config.h
+eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h'
+# Remind people not to edit this.
+chmod -w src/config.h
 
 # Modify the parameters in the top makefile.
-echo "Editing ./Makefile..."
-tempMakefile="tempMakefile"$$
-/bin/sed < Makefile > ${tempMakefile}			\
--e 's;^\(LIBROOT=\).*$;\1'"${libroot};"			\
--e 's;^\(BINDIR=\).*$;\1'"${bindir};"			\
--e 's;^\(LISPPATH=\).*$;\1'"${lisppath};"		\
--e 's;^\(DATADIR=\).*$;\1'"${datadir};"			\
--e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};"			\
--e 's;^\(LIBDIR=\).*$;\1'"${libdir};"
-mv ${tempMakefile} Makefile
+echo "Producing ./Makefile from ./Makefile.in."
+rm -f ./Makefile
+(echo "# This file is generated by \`${progname}' from \`./Makefile.in'.
+# If you are thinking about editing it, you should seriously consider
+# editing \`./Makefile.in' itself, or running \`${progname}' instead."
+ /bin/sed < Makefile.in					\
+ -e '/^# DIST: /d'					\
+ -e 's;^\(emacsdir=\).*$;\1'"${libroot};"		\
+ -e 's;^\(bindir=\).*$;\1'"${bindir};"			\
+ -e 's;^\(lisppath=\).*$;\1'"${lisppath};"		\
+ -e 's;^\(datadir=\).*$;\1'"${datadir};"		\
+ -e 's;^\(lockdir=\).*$;\1'"${lockdir};"		\
+ -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./Makefile
+# Remind people not to edit this.
+chmod -w ./Makefile
 
 # Modify the parameters in the `build-install' script.
-echo "Editing ./build-install..."
-tempbi="tempbi"$$
-/bin/sed < build-install > ${tempbi}		\
--e 's;^\(LIBROOT=\).*$;\1'"${libroot};"		\
--e 's;^\(BINDIR=\).*$;\1'"${bindir};"	\
--e 's;^\(LISPPATH=\).*$;\1'"${lisppath};"	\
--e 's;^\(DATADIR=\).*$;\1'"${datadir};"		\
--e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};"		\
--e 's;^\(LIBDIR=\).*$;\1'"${libdir};"
-mv ${tempbi} build-install
-chmod a+x build-install
+echo "Producing ./build-install from ./build-install.in."
+rm -f ./build-install
+(echo "# This file is generated by \`${progname}' from \`./build-install.in'.
+# If you are thinking about editing it, you should seriously consider
+# editing \`./build-install.in' itself, or running \`${progname}' instead."
+ /bin/sed < build-install.in				\
+ -e 's;^\(LIBROOT=\).*$;\1'"${libroot};"		\
+ -e 's;^\(BINDIR=\).*$;\1'"${bindir};"			\
+ -e 's;^\(LISPPATH=\).*$;\1'"${lisppath};"		\
+ -e 's;^\(DATADIR=\).*$;\1'"${datadir};"		\
+ -e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};"		\
+ -e 's;^\(LIBDIR=\).*$;\1'"${libdir};") > ./build-install
+# Remind people not to edit this.
+chmod -w build-install
+chmod +x build-install
 
 # Modify the parameters in the src makefile.
-echo "Editing src/Makefile..."
-tempMakefile="tempMakefile"$$
-/bin/sed < src/Makefile > ${tempMakefile}		\
--e 's;^\(CC[ ]*=\).*$;\1'"${cc};"
-mv ${tempMakefile} src/Makefile
+echo "Producing src/Makefile from src/Makefile.in."
+rm -f src/Makefile
+(echo "# This file is generated by \`${progname}' from \`Makefile.in'.
+# If you are thinking about editing it, you should seriously consider
+# editing \`Makefile.in' itself, or running \`${progname}' instead."
+ /bin/sed < src/Makefile.in				\
+ -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile
+# Remind people not to edit this.
+chmod -w src/Makefile
 
 # Modify the parameters in the lib-src makefile.
-echo "Editing lib-src/Makefile..."
-tempMakefile="tempMakefile"$$
-/bin/sed < lib-src/Makefile > ${tempMakefile}		\
--e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};"		\
--e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};"		\
--e 's;^\(CC=\).*$;\1'"${cc};"
-mv ${tempMakefile} lib-src/Makefile
+echo "Producing lib-src/Makefile from lib-src/Makefile.in."
+rm -f lib-src/Makefile
+(echo "# This file is generated by \`${progname}' from \`Makefile.in'.
+# If you are thinking about editing it, you should seriously consider
+# editing \`Makefile.in' itself, or running \`${progname}' instead."
+ /bin/sed < lib-src/Makefile.in				\
+ -e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};"		\
+ -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};"		\
+ -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile
+# Remind people not to edit this.
+chmod -w lib-src/Makefile
+
 
 # Create a verbal description of what we have done.
 message="# Configured for machine \`${machine}' running \`${opsystem}'.
@@ -476,7 +496,7 @@
 " >> config.status
 echo "${message}" >> config.status
 echo "'${progname}' \\
-	-machine='${machine}' \\ 
+	-machine='${machine}' \\
 	-opsystem='${opsystem}' \\
         -g=${g} \\
 	-O=${O} \\
@@ -488,10 +508,12 @@
 	-lockdir='${lockdir}' \\
 	-window_system='${window_system}' \\
 	-have_x_menu='${have_x_menu}' \\
-	-gnu_malloc='${gnu_malloc}'
-	-rel_malloc='${rel_alloc}' \\
+	-gnu_malloc='${gnu_malloc}' \\
+	-rel_alloc='${rel_alloc}' \\
 	-highpri='${highpri}' \\
 	-lisp_float_type='${lisp_float_type}'" >> config.status
+# Remind people not to edit this.
+chmod -w config.status
 chmod +x config.status
 
 # Print the description.
--- a/etc/README	Sun Apr 19 08:53:10 1992 +0000
+++ b/etc/README	Sun Apr 19 08:53:55 1992 +0000
@@ -5,12 +5,3 @@
 
 `termcap.dat' is for VMS.  It is a copy of the `/etc/termcap' file
 used on Unix.
-
-[/amiga/editors/README				Fri Nov 23 15:37:39 EST 1990]
-
-ue-patches/	Patches to Uedit by Rick Stiles.
-		[contributed by acs@pccuts.pcc.amdahl.com (Tony Sumrall)]
-
-stevie-*.lzh	The VI-like editor STEVIE.  Source is portable to many
-		machines (Makefiles and Amiga executable included
-		[contributed by Fred Walter <grwalter@watmath.waterloo.edu>]
--- a/lisp/lpr.el	Sun Apr 19 08:53:10 1992 +0000
+++ b/lisp/lpr.el	Sun Apr 19 08:53:55 1992 +0000
@@ -1,5 +1,5 @@
 ;; Print Emacs buffer on line printer.
-;; Copyright (C) 1985, 1988 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1988, 1992 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
@@ -24,7 +24,7 @@
 
 (defvar lpr-command (if (eq system-type 'usg-unix-v)
 			"lp" "lpr")
-  "Shell command for printing a file")
+  "*Shell command for printing a file")
 
 (defvar print-region-function nil
   "Function to call to print the region on a printer.
--- a/lisp/mail/rmail.el	Sun Apr 19 08:53:10 1992 +0000
+++ b/lisp/mail/rmail.el	Sun Apr 19 08:53:55 1992 +0000
@@ -1,5 +1,5 @@
 ;; "RMAIL" mail reader for Emacs.
-;; Copyright (C) 1985, 1986, 1987, 1988, 1991 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1987, 1988, 1991, 1992 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
@@ -98,6 +98,11 @@
 (defvar rmail-last-multi-labels nil)
 (defvar rmail-last-file nil)
 (defvar rmail-last-rmail-file nil)
+
+(defvar rmail-unix-mail-delimiter
+  "From \\([^ \n]*\\(\\|\".*\"[^ \n]*\\)\\)  ?\\([^ \n]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( ?[A-Z]?[A-Z][A-Z]T\\( DST\\)?\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) [0-9][0-9]\\([0-9]*\\) *\\(remote from [^\n]*\\)?\n"
+   "Regexp matching the delimiter of messages in UNIX mail format (UNIX From lines), minus the
+initial ^.  ")
 
 ;;;; *** Rmail Mode ***
 
@@ -634,9 +639,8 @@
 	       (rmail-nuke-pinhead-header)
 	       (if (re-search-forward
 		    (concat "^[\^_]?\\("
-			    "From [^ \n]*\\(\\|\".*\"[^ \n]*\\)  ?[^ \n]* [^ \n]* *"
-			    "[0-9]* [0-9:]*\\( ?[A-Z]?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) " ; EDT, -0500
-			    "[0-9]+ *\\(remote from [^\n]*\\)?$\\|"
+			    rmail-unix-mail-delimiter
+			    "\\|"
 			    mmdf-delim1 "\\|"
 			    "^BABYL OPTIONS:\\|"
 			    "\^L\n[01],\\)") nil t)
@@ -681,8 +685,7 @@
 	  (setq has-date (and (search-forward "\nDate:" nil t) (point)))
 	  (goto-char start))
 	(let ((case-fold-search nil))
-	  (if (re-search-forward
-	       "^From \\([^ ]*\\(\\|\".*\"[^ ]*\\)\\)  ?\\([^ ]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( ?[A-Z]?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) [0-9][0-9]\\([0-9]*\\) *\\(remote from [^\n]*\\)?\n" nil t)
+	  (if (re-search-forward (concat "^" rmail-unix-mail-delimiter) nil t)
 	      (replace-match
 		(concat
 		  "Mail-from: \\&"
@@ -692,8 +695,8 @@
 		      ""
 		    ;; If no time zone specified, assume est.
 		    (if (= (match-beginning 7) (match-end 7))
-			"Date: \\3, \\5 \\4 \\8 \\6 EST\n"
-			"Date: \\3, \\5 \\4 \\8 \\6\\7\n"))
+			"Date: \\3, \\5 \\4 \\9 \\6 EST\n"
+			"Date: \\3, \\5 \\4 \\9 \\6\\7\n"))
 		  ;; Keep and reformat the sender if we don't
 		  ;; have a From: field.
 		  (if has-from
--- a/lisp/simple.el	Sun Apr 19 08:53:10 1992 +0000
+++ b/lisp/simple.el	Sun Apr 19 08:53:55 1992 +0000
@@ -136,7 +136,7 @@
 specified left-margin column."
   (interactive "*")
   (delete-region (point) (progn (skip-chars-backward " \t") (point)))
-  (insert ?\n)
+  (newline)
   (indent-according-to-mode))
 
 (defun reindent-then-newline-and-indent ()
@@ -150,7 +150,7 @@
   (save-excursion
     (delete-region (point) (progn (skip-chars-backward " \t") (point)))
     (indent-according-to-mode))
-  (insert ?\n)
+  (newline)
   (indent-according-to-mode))
 
 ;; Internal subroutine of delete-char
@@ -748,7 +748,8 @@
 
 (defun copy-region-as-kill (beg end)
   "Save the region as if killed, but don't kill it.
-If `x-select-kill' is non-nil, also save the text for X cut and paste."
+If `interprogram-cut-function' is non-nil, also save the text for a window
+system cut and paste."
   (interactive "r")
   (if (eq last-command 'kill-region)
       (kill-append (buffer-substring beg end) (< end beg))
--- a/src/=Makefile.in	Sun Apr 19 08:53:10 1992 +0000
+++ b/src/=Makefile.in	Sun Apr 19 08:53:55 1992 +0000
@@ -11,7 +11,7 @@
 all: xmakefile doall
 
 doall:
-	$(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all
+	$(MAKE) CC=${CC} $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all
 
 #This is used in making a distribution.
 #Do not use it on development directories!
--- a/src/callint.c	Sun Apr 19 08:53:10 1992 +0000
+++ b/src/callint.c	Sun Apr 19 08:53:55 1992 +0000
@@ -1,5 +1,5 @@
 /* Call a Lisp function interactively.
-   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+   Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -177,12 +177,14 @@
   /* Save this now, since use ofminibuffer will clobber it. */
   prefix_arg = Vcurrent_prefix_arg;
 
-retry:
+ retry:
 
   for (fun = function;
        XTYPE (fun) == Lisp_Symbol && !EQ (fun, Qunbound);
        fun = XSYMBOL (fun)->function)
-    ;
+    {
+      QUIT;
+    }
 
   specs = Qnil;
   string = 0;
@@ -231,8 +233,14 @@
   else
     goto lose;
 
+  /* If either specs or string is set to a string, use it.  */
   if (XTYPE (specs) == Lisp_String)
-    string = XSTRING (specs)->data;
+    {
+      /* Make a copy of string so that if a GC relocates specs,
+	 `string' will still be valid.  */
+      string = (char *) alloca (XSTRING (specs)->size + 1);
+      bcopy (XSTRING (specs)->data, string, XSTRING (specs)->size + 1);
+    }
   else if (string == 0)
     {
       i = num_input_chars;
@@ -297,7 +305,7 @@
   gcpro4.nvars = (count + 1);
 
   tem = string;
-   for (i = 1; *tem; i++)
+  for (i = 1; *tem; i++)
     {
       strncpy (prompt1, tem + 1, sizeof prompt1 - 1);
       prompt1[sizeof prompt1 - 1] = 0;
@@ -309,7 +317,7 @@
 	argstrings[j]
 	  = EQ (visargs[j], Qnil)
 	    ? (unsigned char *) ""
-	    : XSTRING (visargs[j])->data;
+	      : XSTRING (visargs[j])->data;
 
       doprnt (prompt, sizeof prompt, prompt1, 0, j - 1, argstrings + 1);
 
--- a/src/config.in	Sun Apr 19 08:53:10 1992 +0000
+++ b/src/config.in	Sun Apr 19 08:53:55 1992 +0000
@@ -1,4 +1,4 @@
-/* GNU Emacs site configuration template file.
+/* GNU Emacs site configuration template file.  -*- C -*-
    Copyright (C) 1988 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -93,18 +93,20 @@
 #define GLYPH unsigned char
 #endif
 
-/* The configuration script links system.h to a s- file that describes
-   the system type you are using.
-   See the file ../etc/MACHINES for a list of systems and
-   the names of the s- files to use for them.
-   See s-template.h for documentation on writing s- files.  */
+/* The configuration script replaces the string @opsystem@ with the
+   name of the s/*.h file that describes the system type you are
+   using; an option of the form "-opsystem=OPSYS" says to use
+   "s/OPSYS.h".  See the file ../etc/MACHINES for a list of systems
+   and the -opsystem flags to use for them.
+   See s/template.h for documentation on writing s/*.h files.  */
 #include "@opsystem@"
 
-/* The configuration script links machine.h to a m- file that
-   describes the machine and system you use.
-   See the file ../etc/MACHINES for a list of machines and
-   the names of the m- files to use for them.
-   See m-template.h for info on what m- files should define.  */
+/* The configuration script replaces the string @machine@ with the
+   name of the m/*.h file that describes the machine you are
+   using; an option of the form "-machine=MACH" says to use
+   "m/MACH.h".  See the file ../etc/MACHINES for a list of machines
+   and the -machine flags to use for them.
+   See m/template.h for documentation on writing m/*.h files.  */
 #include "@machine@"
 
 /* Load in the conversion definitions if this system
@@ -122,7 +124,7 @@
    have code for asynchronous subprocesses
    (as used in M-x compile and M-x shell).
    These do not work for some USG systems yet;
-   for the ones where they work, the s-*.h file defines this flag.  */
+   for the ones where they work, the s/*.h file defines this flag.  */
 
 #ifndef VMS
 #ifndef USG
--- a/src/indent.c	Sun Apr 19 08:53:10 1992 +0000
+++ b/src/indent.c	Sun Apr 19 08:53:55 1992 +0000
@@ -477,10 +477,10 @@
 	      /* A visible line.  */
 	      vpos++;
 	      hpos = 0;
-	      hpos -= hscroll;
-	      if (hscroll > 0) hpos++; /* Count the ! on column 0 */
-	      tab_offset = 0;
-	    }
+	  hpos -= hscroll;
+	  if (hscroll > 0) hpos++; /* Count the ! on column 0 */
+	  tab_offset = 0;
+	}
 	}
       else if (c == CR && selective < 0)
 	{
--- a/src/lread.c	Sun Apr 19 08:53:10 1992 +0000
+++ b/src/lread.c	Sun Apr 19 08:53:55 1992 +0000
@@ -5,7 +5,7 @@
 
 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 1, or (at your option)
+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,
@@ -1431,49 +1431,67 @@
 
 init_lread ()
 {
-  char *normal = PATH_LOADSEARCH;
-  Lisp_Object normal_path;
+  char *normal;
 
   /* Compute the default load-path.  */
-#ifndef CANNOT_DUMP
-  /* If running a dumped Emacs in which load-path was set before dumping
-     to a nonstandard value, use that value.  */
+#ifdef CANNOT_DUMP
+  normal = PATH_LOADSEARCH;
+  Vload_path = decode_env_path ("", normal);
+#else
+  if (NILP (Vpurify_flag))
+    normal = PATH_LOADSEARCH;
+  else
+    normal = PATH_DUMPLOADSEARCH;
+
+  /* In a dumped Emacs, we normally have to reset the value of
+     Vload_path from PATH_LOADSEARCH, since the value that was dumped
+     uses ../lisp, instead of the path of the installed elisp
+     libraries.  However, if it appears that Vload_path was changed
+     from the default before dumping, don't override that value.  */
+  {
+    Lisp_Object normal_path;
+
+    normal_path = decode_env_path ("", normal);
+
+    if (
   if (initialized
-      && !(XTYPE (Vload_path) == Lisp_Cons
-	   && XTYPE (XCONS (Vload_path)->car) == Lisp_String
-	   && !strcmp (XSTRING (XCONS (Vload_path)->car)->data, "../lisp")))
-    normal_path = Vload_path;
-  else
+      || EQ (Vload_path, initial_path))
+    Vload_path = decode_env_path ("", normal);
 #endif
-    {
-      normal_path = decode_env_path ("", normal);
-
-      Vload_path = normal_path;
-    }
 
   /* Warn if dirs in the *standard* path don't exist.  */
-  for (; !NILP (normal_path); normal_path = XCONS (normal_path)->cdr)
-    {
-      Lisp_Object dirfile;
-      dirfile = Fcar (normal_path);
-      if (!NILP (dirfile))
-	{
-	  dirfile = Fdirectory_file_name (dirfile);
-	  if (access (XSTRING (dirfile)->data, 0) < 0)
-	    printf ("Warning: lisp library (%s) does not exist.\n",
-		    XSTRING (Fcar (normal_path))->data);
-	}
-    }
+  {
+    Lisp_Object path_tail;
 
-  if (egetenv ("EMACSLOADPATH"))
+    for (path_tail = Vload_path;
+	 !NILP (path_tail);
+	 path_tail = XCONS (path_tail)->cdr)
+      {
+	Lisp_Object dirfile;
+	dirfile = Fcar (path_tail);
+	if (XTYPE (dirfile) == Lisp_String)
+	  {
+	    dirfile = Fdirectory_file_name (dirfile);
+	    if (access (XSTRING (dirfile)->data, 0) < 0)
+	      printf ("Warning: lisp library (%s) does not exist.\n",
+		      XSTRING (Fcar (path_tail))->data);
+	  }
+      }
+  }
+
+  /* If the EMACSLOADPATH environment variable is set, use its value.
+     This doesn't apply if we're dumping.  */
+  if (NILP (Vpurify_flag)
+      && egetenv ("EMACSLOADPATH"))
     Vload_path = decode_env_path ("EMACSLOADPATH", normal);
-#ifndef CANNOT_DUMP
-  if (!NILP (Vpurify_flag))
-    Vload_path = Fcons (build_string ("../lisp"), Vload_path);
-#endif
 
   Vvalues = Qnil;
 
+  if (initialized)
+    initial_path = Qnil;
+  else
+    initial_path = Vload_path;
+
   load_in_progress = 0;
 }