*** empty log message ***
authorJim Blandy <jimb@redhat.com>
Sun, 19 Apr 1992 08:53:55 +0000 (08:53 +0000)
committerJim Blandy <jimb@redhat.com>
Sun, 19 Apr 1992 08:53:55 +0000 (08:53 +0000)
12 files changed:
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

dissimilarity index 84%
index cd084aa..1c7d6df 100644 (file)
-# This is the distribution Makefile for Emacs.  configure can make
-# most of the changes to this file you might want, so try 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 install.aix    to install on AIX.
-# make tags    to update tags tables
-#
-# 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.
-
-SHELL = /bin/sh
-
-# ==================== Where to install things ====================
-# Note that on system V you must change MANDIR to /usr/local/man/man1.
-
-# 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
-
-# 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
-
-# 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
-
-# Emacs will look here for its architecture-independent files (like
-# the tutorial and the zippy database).
-DATADIR=/home/gd/gnu/emacs/etc
-
-# Emacs will look here for its architecture-dependent files, like
-# executables for its utilities.
-LIBDIR=/home/gd/gnu/emacs/arch-lib
-
-# The locking directory, where the Emacs locking code keeps track of
-# which files are currently being edited.
-LOCKDIR=/home/gd/gnu/emacs/lock
-
-# This is where the `install' make target should place the man pages
-# for the binaries it installs.
-MANDIR= /usr/man/man1
-
-
-
-# Flags passed down to subdirectory makefiles.
-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
-
-# Subdirectories to install
-COPYDIR= arch-lib etc info lisp
-
-# Subdirectories to clean
-CLEANDIR= ${COPYDIR} lisp/term
-
-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!!!";'
-
-src:   lib-src
-
-.RECURSIVE: ${SUBDIR}
-
-${SUBDIR}: FRC
-       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
-
-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
-  
-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
-
-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
-
-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
-
-lockdir:
-       -mkdir ${LOCKDIR}
-       -chmod 777 ${LOCKDIR}
-
-FRC:
-
-tags:  lib-src
-       cd src; ../arch-lib/etags *.[ch] ../lisp/*.el ../lisp/term/*.el
+# 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.  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 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.
+
+SHELL = /bin/sh
+
+# ==================== 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)/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.  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
+
+# 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)
+
+# 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
+
+# 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
+
+
+# ==================== 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 =
+
+# 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
+
+# Subdirectories to install, and where they'll go.
+COPYDIR = arch-lib etc info lisp
+COPYDESTS = $(libdir) $(datadir) $(infodir) $(lispdir)
+
+all:   src/paths.h ${SUBDIR}
+
+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
+
+.RECURSIVE: ${SUBDIR}
+
+${SUBDIR}: FRC
+       cd $@; make ${MFLAGS} all
+
+install: all mkdir lockdir
+       -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
+       -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
+       -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
+       -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
+       # 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:
+
+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."
index 778c822..d23a1b2 100755 (executable)
 #
 #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
index d7b6ab6..cc02b2e 100755 (executable)
 
 # 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 @@ lockdir=""
 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 @@ if [ "${machine}" = "" ]; then
   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 @@ that Emacs has been ported to." 1>&2
   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 @@ systems that Emacs has been ported to." 1>&2
 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 @@ esac
 # 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 @@ if [ -r /usr/include/signal.h ]; then
 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 @@ case "${O},${g},${cc}" in
   ,,*   ) 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 @@ echo '#include "src/'${machfile}'"
 #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 @@ for flag in `echo ${config_h_opts} | tr ':' ' '`; do
   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 @@ echo "# This file is generated by \`${progname}.'
 " >> config.status
 echo "${message}" >> config.status
 echo "'${progname}' \\
-       -machine='${machine}' \\ 
+       -machine='${machine}' \\
        -opsystem='${opsystem}' \\
         -g=${g} \\
        -O=${O} \\
@@ -488,10 +508,12 @@ echo "'${progname}' \\
        -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.
index 7c49214..1d32cc8 100644 (file)
@@ -5,12 +5,3 @@ for Emacs functions and variables.
 
 `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>]
index e377f4c..2962246 100644 (file)
@@ -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.
index ace3498..347fce7 100644 (file)
@@ -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 @@ Called with region narrowed to unformatted header.")
 (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 ^.  ")
 \f
 ;;;; *** Rmail Mode ***
 
@@ -634,9 +639,8 @@ argument causes us to read a file name and use that file as the inbox."
               (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 @@ argument causes us to read a file name and use that file as the inbox."
          (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 @@ argument causes us to read a file name and use that file as the inbox."
                      ""
                    ;; 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
index 8519219..087cbc8 100644 (file)
@@ -136,7 +136,7 @@ In some text modes, where TAB inserts a tab, this indents to the
 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 @@ specified left-margin column."
   (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 @@ the text which should be made available.")
 
 (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))
index 2458dc5..8cb7bdb 100644 (file)
@@ -11,7 +11,7 @@ SHELL = /bin/sh
 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!
index f78a82a..ffee078 100644 (file)
@@ -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 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
   /* 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 @@ retry:
   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 @@ retry:
   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 @@ retry:
        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);
 
index be3cc0d..6fd403f 100644 (file)
@@ -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 @@ and this notice must be preserved on all copies.  */
 #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 @@ and this notice must be preserved on all copies.  */
    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
index 5053612..3f3745a 100644 (file)
@@ -477,10 +477,10 @@ compute_motion (from, fromvpos, fromhpos, to, tovpos, tohpos, width, hscroll, ta
              /* 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)
        {
index 5a5c106..78d5787 100644 (file)
@@ -5,7 +5,7 @@ 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 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 @@ defvar_per_buffer (namestring, address, doc)
 \f
 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.  */
-  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;
+#ifdef CANNOT_DUMP
+  normal = PATH_LOADSEARCH;
+  Vload_path = decode_env_path ("", normal);
+#else
+  if (NILP (Vpurify_flag))
+    normal = PATH_LOADSEARCH;
   else
-#endif
-    {
-      normal_path = decode_env_path ("", normal);
+    normal = PATH_DUMPLOADSEARCH;
 
-      Vload_path = normal_path;
-    }
+  /* 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
+      || EQ (Vload_path, initial_path))
+    Vload_path = decode_env_path ("", normal);
+#endif
 
   /* 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;
 }