See /usr/local/src/README for more.
Mailed emacs-devel on 16jul22.

diff -u2rN '--exclude=ORIG' dist-emacs-21.4/src/m/amdx86-64.h build-emacs-21.4/src/m/amdx86-64.h
--- dist-emacs-21.4/src/m/amdx86-64.h	1969-12-31 16:00:00.000000000 -0800
+++ work-emacs-21.4/src/m/amdx86-64.h	2022-06-25 15:27:23.000000000 -0700
@@ -0,0 +1,169 @@
+/* machine description file for AMD x86-64.
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
+     Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
+
+
+/* The following line tells the configuration script what sort of
+   operating system this machine is likely to run.
+   USUAL-OPSYS="linux"  */
+
+#define BITS_PER_LONG           64
+#define BITS_PER_EMACS_INT      64
+
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
+   is the most significant byte.  */
+
+#undef WORDS_BIG_ENDIAN
+
+/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
+ * group of arguments and treat it as an array of the arguments.  */
+
+#define NO_ARG_ARRAY
+
+/* Define WORD_MACHINE if addresses and such have
+ * to be corrected before they can be used as byte counts.  */
+
+/* #define WORD_MACHINE */
+
+/* Now define a symbol for the cpu type, if your compiler
+   does not define it automatically:
+   Ones defined so far include vax, m68000, ns16000, pyramid,
+   orion, tahoe, APOLLO and many others */
+/* __x86_64 defined automatically.  */
+
+/* Use type int rather than a union, to represent Lisp_Object */
+/* This is desirable for most machines.  */
+
+#define NO_UNION_TYPE
+
+/* Define the type to use.  */
+#define EMACS_INT               long
+#define EMACS_UINT              unsigned long
+#define SPECIAL_EMACS_INT
+
+/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
+   the 24-bit bit field into an int.  In other words, if bit fields
+   are always unsigned.
+
+   If you use NO_UNION_TYPE, this flag does not matter.  */
+
+#define EXPLICIT_SIGN_EXTEND
+
+/* Data type of load average, as read out of kmem.  */
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+
+#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
+
+/* If compiling with GCC, let GCC implement alloca.  */
+#if defined(__GNUC__) && !defined(alloca)
+#define alloca(n) __builtin_alloca(n)
+#define HAVE_ALLOCA
+#endif
+
+/* Define CANNOT_DUMP on machines where unexec does not work.
+   Then the function dump-emacs will not be defined
+   and temacs will do (load "loadup") automatically unless told otherwise.  */
+
+/* #define CANNOT_DUMP */
+
+/* Define VIRT_ADDR_VARIES if the virtual addresses of
+   pure and impure space as loaded can vary, and even their
+   relative order cannot be relied on.
+
+   Otherwise Emacs assumes that text space precedes data space,
+   numerically.  */
+
+/* #define VIRT_ADDR_VARIES */
+
+/* Define NO_REMAP if memory segmentation makes it not work well
+   to change the boundary between the text section and data section
+   when Emacs is dumped.  If you define this, the preloaded Lisp
+   code will not be sharable; but that's better than failing completely.  */
+
+/* #define NO_REMAP */
+
+#define PNTR_COMPARISON_TYPE unsigned long
+
+/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
+#undef DATA_SEG_BITS
+
+#ifdef __FreeBSD__
+
+/* The libraries for binaries native to the build host's architecture are
+   installed under /usr/lib in FreeBSD, and the ones that need special paths
+   are 32-bit compatibility libraries (installed under /usr/lib32).  To build
+   a native binary of Emacs on FreeBSD/amd64 we can just point to /usr/lib.  */
+
+#undef START_FILES
+#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
+
+/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
+   The reason is that some functions in libgcc.a call functions from libc.a,
+   and some libc.a functions need functions from libgcc.a.  Since most
+   versions of ld are one-pass linkers, we need to mention -lgcc twice,
+   or else we risk getting unresolved externals.  */
+#undef LIB_STANDARD
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
+
+#elif defined(__OpenBSD__)
+
+#undef START_FILES
+#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o
+#undef LIB_STANDARD
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o
+
+#elif defined(__NetBSD__)
+
+/* LIB_STANDARD and START_FILES set correctly in s/netbsd.h */
+
+#elif defined(sun)
+
+#undef START_FILES
+#undef LIB_STANDARD
+
+#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ && !sun */
+
+#undef START_FILES
+#define HAVE_X86_64_LIB64_DIR
+#ifdef HAVE_X86_64_LIB64_DIR
+#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
+#else
+#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
+#endif
+
+/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
+   The reason is that some functions in libgcc.a call functions from libc.a,
+   and some libc.a functions need functions from libgcc.a.  Since most
+   versions of ld are one-pass linkers, we need to mention -lgcc twice,
+   or else we risk getting unresolved externals.  */
+#undef LIB_STANDARD
+#ifdef HAVE_X86_64_LIB64_DIR
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
+#else
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
+#endif
+
+#endif /* __FreeBSD__ */
+
+/* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e
+   (do not change this comment) */
-----------------------------------------------------------------------------
diff -u2r '--exclude=ORIG' dist-emacs-21.4/Makefile.in work-emacs-21.4/Makefile.in
--- dist-emacs-21.4/Makefile.in	2002-10-18 18:21:01.000000000 -0700
+++ work-emacs-21.4/Makefile.in	2022-06-25 15:41:12.811328717 -0700
@@ -230,17 +230,5 @@
 # Generate epaths.h from epaths.in.  This target is invoked by `configure'.
 epaths-force: FRC
-	@(lisppath=`echo ${lisppath} | ${removenullpaths}` ;		\
-	  buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;	\
-	  x_default_search_path=`echo ${x_default_search_path}`; \
-	  sed < ${srcdir}/src/epaths.in > epaths.h.$$$$		\
-	  -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'	\
-	  -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
-	  -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";'		\
-	  -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";'			\
-	  -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";'			\
-	  -e 's;\(#.*PATH_BITMAPS\).*$$;\1 "${bitmapdir}";'		\
-	  -e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' \
-	  -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') &&		\
-	${srcdir}/move-if-change epaths.h.$$$$ src/epaths.h
+	@(lisppath=`echo ${lisppath} | ${removenullpaths}` ;			  buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;		  x_default_search_path=`echo ${x_default_search_path}`; 	  sed < ${srcdir}/src/epaths.in > epaths.h.$$$$			  -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'		  -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' 	  -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";'			  -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";'				  -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";'				  -e 's;\(#.*PATH_BITMAPS\).*$$;\1 "${bitmapdir}";'			  -e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' 	  -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') &&			${srcdir}/move-if-change epaths.h.$$$$ src/epaths.h
 
 # For parallel make, src should be build before leim.
@@ -249,7 +237,5 @@
 # the $TIT files there.
 leim:   src ${SUBDIR_MAKEFILES} FRC
-	(export PARALLEL; PARALLEL=0; cd $@; $(MAKE) all $(MFLAGS) \
-	  CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
-	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}')
+	(export PARALLEL; PARALLEL=0; cd $@; $(MAKE) all $(MFLAGS) 	  CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' 	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}')
 
 src:	lib-src FRC
@@ -260,11 +246,8 @@
 
 ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
-	cd $@; $(MAKE) all $(MFLAGS) \
-	  CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
-	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
+	cd $@; $(MAKE) all $(MFLAGS) 	  CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' 	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
 
 blessmail: ${SUBDIR_MAKEFILES} src FRC
-	cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \
-	  MAKE='${MAKE}' archlibdir='$(archlibdir)'
+	cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) 	  MAKE='${MAKE}' archlibdir='$(archlibdir)'
 
 Makefile: $(srcdir)/Makefile.in config.status
@@ -324,19 +307,10 @@
 ### to ensure that install-arch-indep finishes before this starts.
 install-arch-dep: mkdir
-	(cd lib-src; \
-	  $(MAKE) install $(MFLAGS) prefix=${prefix} \
-	    exec_prefix=${exec_prefix} bindir=${bindir} \
-	    libexecdir=${libexecdir} archlibdir=${archlibdir} \
-	    INSTALL_STRIP=${INSTALL_STRIP})
+	(cd lib-src; 	  $(MAKE) install $(MFLAGS) prefix=${prefix} 	    exec_prefix=${exec_prefix} bindir=${bindir} 	    libexecdir=${libexecdir} archlibdir=${archlibdir} 	    INSTALL_STRIP=${INSTALL_STRIP})
 	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/emacs-${version}
 	-chmod 1755  ${bindir}/emacs-${version}
 	rm -f ${bindir}/$(EMACS)
 	-ln ${bindir}/emacs-${version} ${bindir}/$(EMACS)
-	-unset CDPATH; \
-	for f in `cd lib-src && echo fns-*.el`; do \
-	  if test -r lib-src/$$f ; then \
-	    ${INSTALL_DATA} lib-src/$$f ${archlibdir}/$$f; \
-	  else true; fi ; \
-	done
+	-unset CDPATH; 	for f in `cd lib-src && echo fns-*.el`; do 	  if test -r lib-src/$$f ; then 	    ${INSTALL_DATA} lib-src/$$f ${archlibdir}/$$f; 	  else true; fi ; 	done
 
 ### Install the files that are machine-independent.
@@ -348,110 +322,18 @@
 ## as a workaround for a bug in tar on Ultrix 4.2.
 install-arch-indep: mkdir info
-	-set ${COPYDESTS} ; \
-	unset CDPATH; \
-	for dir in ${COPYDIR} ; do \
-	  if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
-	    rm -rf $$1 ; \
-	  fi ; \
-	  shift ; \
-	done
-	-set ${COPYDESTS} ; \
-	mkdir ${COPYDESTS} ; \
-	chmod ugo+rx ${COPYDESTS} ; \
-	unset CDPATH; \
-	for dir in ${COPYDIR} ; do \
-	  dest=$$1 ; shift ; \
-	  [ -d $${dir} ] \
-	  && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \
-	  && (echo "Copying $${dir} to $${dest}..." ; \
-	      (cd $${dir}; tar -chf - . ) \
-		| (cd $${dest}; umask 022; \
-                   tar -xvf - && cat > /dev/null) || exit 1; \
-	      for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do \
-		chmod a+rx $${subdir} ; \
-		rm -rf $${subdir}/RCS ; \
-		rm -rf $${subdir}/CVS ; \
-		rm -f  $${subdir}/.cvsignore ; \
-		rm -f  $${subdir}/\#* ; \
-		rm -f  $${subdir}/.\#* ; \
-		rm -f  $${subdir}/*~ ; \
-		rm -f  $${subdir}/*.orig ; \
-		rm -f  $${subdir}/[mM]akefile* ; \
-		rm -f  $${subdir}/ChangeLog* ; \
-		rm -f  $${subdir}/dired.todo ; \
-	      done) ; \
-	done
+	-set ${COPYDESTS} ; 	unset CDPATH; 	for dir in ${COPYDIR} ; do 	  if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then 	    rm -rf $$1 ; 	  fi ; 	  shift ; 	done
+	-set ${COPYDESTS} ; 	mkdir ${COPYDESTS} ; 	chmod ugo+rx ${COPYDESTS} ; 	unset CDPATH; 	for dir in ${COPYDIR} ; do 	  dest=$$1 ; shift ; 	  [ -d $${dir} ] 	  && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] 	  && (echo "Copying $${dir} to $${dest}..." ; 	      (cd $${dir}; tar -chf - . ) 		| (cd $${dest}; umask 022;                    tar -xvf - && cat > /dev/null) || exit 1; 	      for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do 		chmod a+rx $${subdir} ; 		rm -rf $${subdir}/RCS ; 		rm -rf $${subdir}/CVS ; 		rm -f  $${subdir}/.cvsignore ; 		rm -f  $${subdir}/\#* ; 		rm -f  $${subdir}/.\#* ; 		rm -f  $${subdir}/*~ ; 		rm -f  $${subdir}/*.orig ; 		rm -f  $${subdir}/[mM]akefile* ; 		rm -f  $${subdir}/ChangeLog* ; 		rm -f  $${subdir}/dired.todo ; 	      done) ; 	done
 	-rm -f ${lispdir}/subdirs.el
 	$(srcdir)/update-subdirs ${lispdir}
-	if [ -f ${datadir}/emacs/${version}/site-lisp/subdirs.el ]; \
-	then true; \
-	else \
-	  (echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; \
-	   echo "    (normal-top-level-add-subdirs-to-load-path))") \
-	    > ${datadir}/emacs/${version}/site-lisp/subdirs.el; \
-	fi
+	if [ -f ${datadir}/emacs/${version}/site-lisp/subdirs.el ]; 	then true; 	else 	  (echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; 	   echo "    (normal-top-level-add-subdirs-to-load-path))") 	    > ${datadir}/emacs/${version}/site-lisp/subdirs.el; 	fi
 	chmod a+r ${datadir}/emacs/${version}/site-lisp/subdirs.el
-	-if [ -f ${datadir}/emacs/site-lisp/subdirs.el ]; \
-	then true; \
-	else \
-	  (echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; \
-	   echo "    (normal-top-level-add-subdirs-to-load-path))") \
-	    > ${datadir}/emacs/site-lisp/subdirs.el; \
-	fi
+	-if [ -f ${datadir}/emacs/site-lisp/subdirs.el ]; 	then true; 	else 	  (echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; 	   echo "    (normal-top-level-add-subdirs-to-load-path))") 	    > ${datadir}/emacs/site-lisp/subdirs.el; 	fi
 	-chmod a+r ${datadir}/emacs/site-lisp/subdirs.el
-	-unset CDPATH; \
-	if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \
-	then \
-	   echo "Copying etc/DOC-* to ${docdir} ..." ; \
-	   (cd ./etc; tar -chf - DOC*) \
-	     |(cd ${docdir}; umask 0; tar -xvf - && cat > /dev/null) || exit 1; \
-	   (cd $(docdir); chmod a+r DOC*; \
-	    if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \
-	else true; fi
-	-unset CDPATH; \
-	if [ -r ./lisp ] \
-	   && [ -r ./lisp/simple.el ] \
-	   && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] \
-	   && [ x`(cd ${srcdir}/lisp; /bin/pwd)` != x`(cd ./lisp; /bin/pwd)` ]; \
-	then \
-	   echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \
-	   (cd lisp; tar -chf - *.el *.elc) \
-	     |(cd ${lispdir}; umask 0; tar -xvf - && cat > /dev/null) || exit 1; \
-	else true; fi
-	-unset CDPATH; \
-	thisdir=`/bin/pwd`; \
-	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
-	then \
-	  (cd ${infodir};  \
-	   if [ -f dir ]; then true; \
-	   else	\
-	     (cd $${thisdir}; \
-	      ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir; \
-	      chmod a+r ${infodir}/dir); \
-	   fi; \
-	   cd ${srcdir}/info ; \
-	   for f in ada-mode* autotype* ccmode* cl* dired-x* ebrowse* ediff* efaq* emacs* eshell* eudc* forms* gnus* idlwave* info* message* mh-e* pcl-cvs* reftex* sc* speedbar* vip* widget* woman*; do \
-	     (cd $${thisdir}; \
-	      ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
-	      chmod a+r ${infodir}/$$f); \
-	   done); \
-	else true; fi
-	-unset CDPATH; \
-	thisdir=`/bin/pwd`; \
-	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
-	then \
-	  for f in ada-mode autotype ccmode cl dired-x ebrowse ediff efaq emacs emacs-mime eshell eudc forms gnus idlwave info message mh-e pcl-cvs reftex sc speedbar vip viper widget woman; do \
-	    (cd $${thisdir}; \
-	     ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/$$f); \
-	  done; \
-	else true; fi
+	-unset CDPATH; 	if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; 	then 	   echo "Copying etc/DOC-* to ${docdir} ..." ; 	   (cd ./etc; tar -chf - DOC*) 	     |(cd ${docdir}; umask 0; tar -xvf - && cat > /dev/null) || exit 1; 	   (cd $(docdir); chmod a+r DOC*; 	    if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); 	else true; fi
+	-unset CDPATH; 	if [ -r ./lisp ] 	   && [ -r ./lisp/simple.el ] 	   && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] 	   && [ x`(cd ${srcdir}/lisp; /bin/pwd)` != x`(cd ./lisp; /bin/pwd)` ]; 	then 	   echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; 	   (cd lisp; tar -chf - *.el *.elc) 	     |(cd ${lispdir}; umask 0; tar -xvf - && cat > /dev/null) || exit 1; 	else true; fi
+	-unset CDPATH; 	thisdir=`/bin/pwd`; 	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; 	then 	  (cd ${infodir};  	   if [ -f dir ]; then true; 	   else		     (cd $${thisdir}; 	      ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir; 	      chmod a+r ${infodir}/dir); 	   fi; 	   cd ${srcdir}/info ; 	   for f in ada-mode* autotype* ccmode* cl* dired-x* ebrowse* ediff* efaq* emacs* eshell* eudc* forms* gnus* idlwave* info* message* mh-e* pcl-cvs* reftex* sc* speedbar* vip* widget* woman*; do 	     (cd $${thisdir}; 	      ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; 	      chmod a+r ${infodir}/$$f); 	   done); 	else true; fi
+	-unset CDPATH; 	thisdir=`/bin/pwd`; 	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; 	then 	  for f in ada-mode autotype ccmode cl dired-x ebrowse ediff efaq emacs emacs-mime eshell eudc forms gnus idlwave info message mh-e pcl-cvs reftex sc speedbar vip viper widget woman; do 	    (cd $${thisdir}; 	     ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/$$f); 	  done; 	else true; fi
 	-chmod -R a+r ${datadir}/emacs ${COPYDESTS} ${infodir}
-	thisdir=`/bin/pwd`; \
-	cd ${srcdir}/etc; \
-	for page in emacs etags ctags gfdl ; do \
-	  (cd $${thisdir}; \
-	   ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; \
-	   chmod a+r ${man1dir}/$${page}${manext}); \
-	done
+	thisdir=`/bin/pwd`; 	cd ${srcdir}/etc; 	for page in emacs etags ctags gfdl ; do 	  (cd $${thisdir}; 	   ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; 	   chmod a+r ${man1dir}/$${page}${manext}); 	done
 
 ### Install LEIM files.  Although they are machine-independent, we
@@ -471,13 +353,6 @@
 ### instead of mkdir.  Not all systems' mkdir programs have the `-p' flag.
 mkdir: FRC
-	if [ -d ${datadir} ]; then true; else \
-	  $(srcdir)/mkinstalldirs ${datadir}; \
-	  chmod a+r ${datadir};\
-	fi
-	$(srcdir)/mkinstalldirs ${COPYDESTS} ${infodir} ${man1dir} \
-	  ${bindir} ${docdir} ${libexecdir} \
-	  ${datadir}/emacs/site-lisp \
-	  ${datadir}/emacs/${version}/site-lisp \
-	  `echo ${locallisppath} | sed 's/:/ /g'`
+	if [ -d ${datadir} ]; then true; else 	  $(srcdir)/mkinstalldirs ${datadir}; 	  chmod a+r ${datadir};	fi
+	$(srcdir)/mkinstalldirs ${COPYDESTS} ${infodir} ${man1dir} 	  ${bindir} ${docdir} ${libexecdir} 	  ${datadir}/emacs/site-lisp 	  ${datadir}/emacs/${version}/site-lisp 	  `echo ${locallisppath} | sed 's/:/ /g'`
 
 ### Delete all the installed files that the `install' target would
@@ -487,22 +362,6 @@
 ### Don't delete the lisp and etc directories if they're in the source tree.
 uninstall:
-	(cd lib-src; 					\
-	 $(MAKE) $(MFLAGS) uninstall			\
-	    prefix=${prefix} exec_prefix=${exec_prefix}	\
-	    bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir})
-	-unset CDPATH; \
-	for dir in ${lispdir} ${etcdir} ; do 		\
-	  if [ -d $${dir} ]; then			\
-	    case `(cd $${dir} ; /bin/pwd)` in		\
-	      `(cd ${srcdir} ; /bin/pwd)`* ) ;;		\
-	      * ) rm -rf $${dir} ;;			\
-	    esac ;					\
-	    case $${dir} in				\
-	      ${datadir}/emacs/${version}/* )		\
-	        rm -rf ${datadir}/emacs/${version}	\
-	      ;;					\
-	    esac ;					\
-	  fi ;						\
-	done
+	(cd lib-src; 						 $(MAKE) $(MFLAGS) uninstall				    prefix=${prefix} exec_prefix=${exec_prefix}		    bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir})
+	-unset CDPATH; 	for dir in ${lispdir} ${etcdir} ; do 			  if [ -d $${dir} ]; then				    case `(cd $${dir} ; /bin/pwd)` in			      `(cd ${srcdir} ; /bin/pwd)`* ) ;;			      * ) rm -rf $${dir} ;;				    esac ;						    case $${dir} in					      ${datadir}/emacs/${version}/* )			        rm -rf ${datadir}/emacs/${version}		      ;;						    esac ;						  fi ;							done
 	(cd ${archlibdir} && rm -f fns-*)
 	-rm -rf ${libexecdir}/emacs/${version}
@@ -553,8 +412,5 @@
 ###      `make distclean' should leave only the files that were in the
 ###      distribution.
-top_distclean=\
-	rm -f config.status config.cache config.log ; \
-	rm -f Makefile ${SUBDIR_MAKEFILES} ; \
-	if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
+top_distclean=	rm -f config.status config.cache config.log ; 	rm -f Makefile ${SUBDIR_MAKEFILES} ; 	if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
 distclean: FRC
 	(cd src;      $(MAKE) $(MFLAGS) distclean)
@@ -607,6 +463,5 @@
 ### and VC will swiftly let you know if this happens, and it is easily
 ### corrected.
-SOURCES = ChangeLog FTP INSTALL Makefile.in \
-	README configure make-dist move-if-change
+SOURCES = ChangeLog FTP INSTALL Makefile.in 	README configure make-dist move-if-change
 
 .PHONY: unlock relock
@@ -668,7 +523,5 @@
 
 maybe_bootstrap:
-	if [ ! -f $(srcdir)/lisp/abbrev.elc ]; then \
-	  $(MAKE) $(MFLAGS) bootstrap; \
-	fi
+	if [ ! -f $(srcdir)/lisp/abbrev.elc ]; then 	  $(MAKE) $(MFLAGS) bootstrap; 	fi
 
 bootstrap: clean bootstrap-lisp-1 bootstrap-src bootstrap-lisp bootstrap-clean all info
diff -u2r '--exclude=ORIG' dist-emacs-21.4/configure work-emacs-21.4/configure
--- dist-emacs-21.4/configure	2003-03-18 06:19:12.000000000 -0800
+++ work-emacs-21.4/configure	2022-06-25 10:22:41.000000000 -0700
@@ -1687,4 +1687,9 @@
   ;;
 
+  ## AMD x86-64 Linux-based GNU system
+  x86_64-*-linux-gnu* )
+    machine=amdx86-64 opsys=gnu-linux
+  ;;
+
   * )
     unported=yes
diff -u2r '--exclude=ORIG' dist-emacs-21.4/lib-src/Makefile.in work-emacs-21.4/lib-src/Makefile.in
--- dist-emacs-21.4/lib-src/Makefile.in	2002-05-31 09:45:17.000000000 -0700
+++ work-emacs-21.4/lib-src/Makefile.in	2022-06-25 15:43:27.988378630 -0700
@@ -98,6 +98,5 @@
 # Things that Emacs runs internally, or during the build process,
 #  which should not be installed in bindir.
-UTILITIES=  profile digest-doc \
-	sorted-doc movemail cvtmail fakemail yow emacsserver hexl
+UTILITIES=  profile digest-doc 	sorted-doc movemail cvtmail fakemail yow emacsserver hexl
 
 DONT_INSTALL= test-distrib make-docfile
@@ -109,6 +108,5 @@
 EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
 
-SOURCES = COPYING ChangeLog Makefile.in README emacs.csh \
-	makedoc.com *.[chy] rcs2log vcdiff
+SOURCES = COPYING ChangeLog Makefile.in README emacs.csh 	makedoc.com *.[chy] rcs2log vcdiff
 
 # Additional -D flags for movemail (add to MOVE_FLAGS if desired):
@@ -235,15 +233,11 @@
    HAVE_CONFIG_H #defined before they know they can take advantage of
    the information in ../src/config.h.  */
-ALL_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-   -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
-LINK_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-   -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS}
-CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-   -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
+ALL_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H    -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
+LINK_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H    -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS}
+CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H    -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
 /* This was all of CPP_CFLAGS except -Demacs.
    Now that -Demacs has been deleted from CPP_CFLAGS,
    this is actually the same as CPP_CFLAGS, but let's not delete it yet.  */
-BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-   -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
+BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H    -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
 
 /* This is the default compilation command.
@@ -266,11 +260,5 @@
 /* Don't charge ahead and do it!  Let the installer decide.
 	  ./blessmail ${archlibdir}/movemail  */
-	@if [ `wc -l <blessmail` != 2 ] ; then \
-	  dir=`sed -n -e 's/echo mail directory = \(.*\)/\1/p' blessmail`; \
-	  echo Assuming $$dir is really the mail spool directory, you should; \
-	  echo run  lib-src/blessmail ${archlibdir}/movemail; \
-	  echo as root, to give  movemail  appropriate permissions.; \
-	  echo Do that after running  make install.; \
-	fi
+	@if [ `wc -l <blessmail` != 2 ] ; then 	  dir=`sed -n -e 's/echo mail directory = \(.*\)/\1/p' blessmail`; 	  echo Assuming $$dir is really the mail spool directory, you should; 	  echo run  lib-src/blessmail ${archlibdir}/movemail; 	  echo as root, to give  movemail  appropriate permissions.; 	  echo Do that after running  make install.; 	fi
 #endif
 
@@ -281,33 +269,16 @@
 	@echo "Installing utilities run internally by Emacs."
 	$(top_srcdir)/mkinstalldirs ${archlibdir}
-	if [ `(cd ${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then \
-	  for file in ${UTILITIES}; do \
-	    $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file ${archlibdir}/$$file ; \
-	  done ; \
-        fi
-        if [ `(cd ${archlibdir} && /bin/pwd)` \
-             != `(cd ${srcdir} && /bin/pwd)` ]; then \
-	  for file in ${SCRIPTS}; do \
-	    $(INSTALL_PROGRAM) ${srcdir}/$$file ${archlibdir}/$$file; \
-	  done ; \
-	fi
+	if [ `(cd ${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then 	  for file in ${UTILITIES}; do 	    $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file ${archlibdir}/$$file ; 	  done ;         fi
+        if [ `(cd ${archlibdir} && /bin/pwd)`              != `(cd ${srcdir} && /bin/pwd)` ]; then 	  for file in ${SCRIPTS}; do 	    $(INSTALL_PROGRAM) ${srcdir}/$$file ${archlibdir}/$$file; 	  done ; 	fi
 
 install: ${archlibdir}
 	@echo
 	@echo "Installing utilities for users to run."
-	for file in ${INSTALLABLES} ; do \
-	  $(INSTALL_PROGRAM) $(INSTALL_STRIP) $${file} ${bindir}/$${file} ; \
-	  chmod a+rx ${bindir}/$${file}; \
-	done
-	for file in ${INSTALLABLE_SCRIPTS} ; do \
-	  $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file} ; \
-	  chmod a+rx ${bindir}/$${file}; \
-	done
+	for file in ${INSTALLABLES} ; do 	  $(INSTALL_PROGRAM) $(INSTALL_STRIP) $${file} ${bindir}/$${file} ; 	  chmod a+rx ${bindir}/$${file}; 	done
+	for file in ${INSTALLABLE_SCRIPTS} ; do 	  $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file} ; 	  chmod a+rx ${bindir}/$${file}; 	done
 
 uninstall:
-	(cd ${bindir}; \
-	 rm -f ${INSTALLABLES} ${INSTALLABLE_SCRIPTS})
-	(cd ${archlibdir}; \
-	 rm -f ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS})
+	(cd ${bindir}; 	 rm -f ${INSTALLABLES} ${INSTALLABLE_SCRIPTS})
+	(cd ${archlibdir}; 	 rm -f ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS})
 
 mostlyclean:
@@ -394,6 +365,5 @@
 
 b2m: ${srcdir}/b2m.c ../src/config.h $(GETOPTDEPS)
-	$(CC) ${ALL_CFLAGS} ${srcdir}/b2m.c  -DVERSION="\"${version}\"" \
-	   $(GETOPTOBJS) $(LOADLIBES) -o b2m 
+	$(CC) ${ALL_CFLAGS} ${srcdir}/b2m.c  -DVERSION="\"${version}\"" 	   $(GETOPTOBJS) $(LOADLIBES) -o b2m 
 
 movemail: movemail.o pop.o $(GETOPTDEPS)
@@ -419,7 +389,5 @@
 
 emacsclient: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS)
-	$(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(GETOPTOBJS)  \
-	   -DVERSION=`sed -n -e '/(defconst emacs-version/ s/^[^"]*\("[^"]*"\).*/\1/p' ${srcdir}/../lisp/version.el` \
-	   $(LOADLIBES) -o emacsclient
+	$(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(GETOPTOBJS)  	   -DVERSION=`sed -n -e '/(defconst emacs-version/ s/^[^"]*\("[^"]*"\).*/\1/p' ${srcdir}/../lisp/version.el` 	   $(LOADLIBES) -o emacsclient
 
 hexl: ${srcdir}/hexl.c ../src/config.h
@@ -429,19 +397,13 @@
    See ../src/Makefile.in.  */
 emacstool: ${srcdir}/emacstool.c
-	$(CC) ${srcdir}/emacstool.c -o emacstool ${ALL_CFLAGS} \
-	  -lsuntool -lsunwindow -lpixrect $(LOADLIBES)
+	$(CC) ${srcdir}/emacstool.c -o emacstool ${ALL_CFLAGS} 	  -lsuntool -lsunwindow -lpixrect $(LOADLIBES)
 
 /* For SUN Japanese Language Environment.  */
 nemacstool: ${srcdir}/emacstool.c
-	$(CC) -o nemacstool -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c \
-	  -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)
+	$(CC) -o nemacstool -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c 	  -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)
 
 xvetool: ${srcdir}/emacstool.c
-	$(CC) -o xvetool -DXVIEW ${ALL_CFLAGS} ${srcdir}/emacstool.c \
-	  -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
-	  $(LOADLIBES)
+	$(CC) -o xvetool -DXVIEW ${ALL_CFLAGS} ${srcdir}/emacstool.c 	  -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib 	  $(LOADLIBES)
 
 xveterm: ${srcdir}/emacstool.c
-	$(CC) -o xveterm -DXVIEW -DTTERM ${ALL_CFLAGS} ${srcdir}/emacstool.c \
-	  -lxview -lolgx -lX  -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
-	  $(LOADLIBES)
+	$(CC) -o xveterm -DXVIEW -DTTERM ${ALL_CFLAGS} ${srcdir}/emacstool.c 	  -lxview -lolgx -lX  -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib 	  $(LOADLIBES)
diff -u2r '--exclude=ORIG' dist-emacs-21.4/src/.gdbinit work-emacs-21.4/src/.gdbinit
--- dist-emacs-21.4/src/.gdbinit	2001-02-20 02:56:48.000000000 -0800
+++ work-emacs-21.4/src/.gdbinit	2022-06-26 10:20:23.883656285 -0700
@@ -379,5 +379,5 @@
 show environment DISPLAY
 show environment TERM
-set args -geometry 80x40+0+0
+#set args -geometry 80x40+0+0
 
 # Don't let abort actually run, as it will make
@@ -388,3 +388,3 @@
 # before Emacs exits.  Perhaps we should put the break somewhere else
 # instead...
-break x_error_quitter
+#break x_error_quitter
diff -u2r '--exclude=ORIG' dist-emacs-21.4/src/Makefile.in work-emacs-21.4/src/Makefile.in
--- dist-emacs-21.4/src/Makefile.in	2003-01-23 02:34:06.000000000 -0800
+++ work-emacs-21.4/src/Makefile.in	2022-06-25 15:43:17.700450896 -0700
@@ -495,6 +495,5 @@
 #endif /* not ORDINARY_LINK */
 
-ALL_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE \
-	 LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE $(LDFLAGS)
+ALL_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE 	 LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE $(LDFLAGS)
 
 /* A macro which other sections of Makefile can redefine to munge the
@@ -530,24 +529,10 @@
 /* lastfile must follow all files
    whose initialized data areas should be dumped as pure by dump-emacs.  */
-obj=    dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o \
-	charset.o coding.o category.o ccl.o\
-	cm.o term.o xfaces.o $(XOBJ) \
-	emacs.o keyboard.o macros.o keymap.o sysdep.o \
-	buffer.o filelock.o insdel.o marker.o \
-	minibuf.o fileio.o dired.o filemode.o \
-	cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
-	alloc.o data.o doc.o editfns.o callint.o \
-	eval.o floatfns.o fns.o print.o lread.o \
-	abbrev.o syntax.o UNEXEC mocklisp.o bytecode.o \
-	process.o callproc.o \
-	region-cache.o sound.o atimer.o \
-	doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
-	$(MSDOS_OBJ)
+obj=    dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o 	charset.o coding.o category.o ccl.o	cm.o term.o xfaces.o $(XOBJ) 	emacs.o keyboard.o macros.o keymap.o sysdep.o 	buffer.o filelock.o insdel.o marker.o 	minibuf.o fileio.o dired.o filemode.o 	cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o 	alloc.o data.o doc.o editfns.o callint.o 	eval.o floatfns.o fns.o print.o lread.o 	abbrev.o syntax.o UNEXEC mocklisp.o bytecode.o 	process.o callproc.o 	region-cache.o sound.o atimer.o 	doprnt.o strftime.o intervals.o textprop.o composite.o md5.o 	$(MSDOS_OBJ)
 
 /* Object files used on some machine or other.
    These go in the DOC file on all machines
    in case they are needed there.  */
-SOME_MACHINE_OBJECTS = sunfns.o dosfns.o msdos.o \
-  xterm.o xfns.o xmenu.o xselect.o xrdb.o fontset.o
+SOME_MACHINE_OBJECTS = sunfns.o dosfns.o msdos.o   xterm.o xfns.o xmenu.o xselect.o xrdb.o fontset.o
 
 
@@ -606,6 +591,5 @@
 
 #ifdef HAVE_MOUSE
-#define MOUSE_SUPPORT ${lispsource}mouse.elc \
-  ${lispsource}select.elc ${lispsource}scroll-bar.elc
+#define MOUSE_SUPPORT ${lispsource}mouse.elc   ${lispsource}select.elc ${lispsource}scroll-bar.elc
 #else
 #define MOUSE_SUPPORT
@@ -619,7 +603,5 @@
 
 #ifdef MSDOS
-#define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
- ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
- ${lispsource}international/ccl.elc ${lispsource}international/codepage.elc
+#define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc  ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc  ${lispsource}international/ccl.elc ${lispsource}international/codepage.elc
 
 #else
@@ -628,6 +610,5 @@
 
 #ifdef WINDOWSNT
-#define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}w32-fns.elc \
-  ${lispsource}dos-w32.elc
+#define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}w32-fns.elc   ${lispsource}dos-w32.elc
 #else
 #define WINNT_SUPPORT
@@ -646,81 +627,5 @@
    in SOME_MACHINE_LISP.  */
 
-lisp= \
-	${lispsource}abbrev.elc \
-	${lispsource}buff-menu.elc \
-	${lispsource}byte-run.elc \
-	${lispsource}cus-start.el \
-	${lispsource}custom.elc \
-	${lispsource}emacs-lisp/lisp-mode.elc \
-	${lispsource}emacs-lisp/lisp.elc \
-	${lispsource}env.elc \
-	${lispsource}faces.elc \
-	${lispsource}files.elc \
-	${lispsource}format.elc \
-	${lispsource}facemenu.elc \
-	MOUSE_SUPPORT \
-	${lispsource}float-sup.elc \
-	${lispsource}frame.elc\
-	${lispsource}help.elc \
-	${lispsource}indent.elc \
-	${lispsource}isearch.elc \
-	${lispsource}loadup.el \
-	${lispsource}loaddefs.el \
-	${lispsource}bindings.elc \
-	${lispsource}map-ynp.elc \
-	${lispsource}menu-bar.elc \
-	${lispsource}international/mule.elc \
-	${lispsource}international/mule-conf.el \
-	${lispsource}international/mule-cmds.elc \
-	${lispsource}international/characters.elc \
-	${lispsource}international/utf-8.elc \
-	${lispsource}international/utf-16.elc \
-	${lispsource}international/latin-1.el \
-	${lispsource}international/latin-2.el \
-	${lispsource}international/latin-3.el \
-	${lispsource}international/latin-4.el \
-	${lispsource}international/latin-5.el \
-	${lispsource}international/latin-8.el \
-	${lispsource}international/latin-9.el \
-	${lispsource}case-table.elc \
-	${lispsource}language/chinese.elc \
-	${lispsource}language/cyrillic.elc \
-	${lispsource}language/indian.elc \
-	${lispsource}language/devanagari.elc \
-	${lispsource}language/english.elc \
-	${lispsource}language/ethiopic.elc \
-	${lispsource}language/european.elc \
-	${lispsource}language/czech.elc \
-	${lispsource}language/slovak.elc \
-	${lispsource}language/romanian.elc \
-	${lispsource}language/greek.elc \
-	${lispsource}language/hebrew.elc \
-	${lispsource}language/japanese.elc \
-	${lispsource}language/korean.elc \
-	${lispsource}language/lao.elc \
-	${lispsource}language/thai.elc \
-	${lispsource}language/tibetan.elc \
-	${lispsource}language/vietnamese.elc \
-	${lispsource}language/misc-lang.elc \
-	${lispsource}international/ucs-tables.elc \
-	${lispsource}paths.el \
-	${lispsource}register.elc \
-	${lispsource}replace.elc \
-	${lispsource}simple.elc \
-	${lispsource}startup.elc \
-	${lispsource}subr.elc \
-	${lispsource}term/tty-colors.elc \
-	${lispsource}textmodes/fill.elc \
-	${lispsource}textmodes/page.elc \
-	${lispsource}textmodes/paragraphs.elc \
-	${lispsource}textmodes/text-mode.elc \
-	${lispsource}vc-hooks.elc \
-	${lispsource}ediff-hook.elc \
-	VMS_SUPPORT \
-	MSDOS_SUPPORT \
-	WINNT_SUPPORT \
-	${lispsource}widget.elc \
-	${lispsource}window.elc \
-	${lispsource}version.el
+lisp= 	${lispsource}abbrev.elc 	${lispsource}buff-menu.elc 	${lispsource}byte-run.elc 	${lispsource}cus-start.el 	${lispsource}custom.elc 	${lispsource}emacs-lisp/lisp-mode.elc 	${lispsource}emacs-lisp/lisp.elc 	${lispsource}env.elc 	${lispsource}faces.elc 	${lispsource}files.elc 	${lispsource}format.elc 	${lispsource}facemenu.elc 	MOUSE_SUPPORT 	${lispsource}float-sup.elc 	${lispsource}frame.elc	${lispsource}help.elc 	${lispsource}indent.elc 	${lispsource}isearch.elc 	${lispsource}loadup.el 	${lispsource}loaddefs.el 	${lispsource}bindings.elc 	${lispsource}map-ynp.elc 	${lispsource}menu-bar.elc 	${lispsource}international/mule.elc 	${lispsource}international/mule-conf.el 	${lispsource}international/mule-cmds.elc 	${lispsource}international/characters.elc 	${lispsource}international/utf-8.elc 	${lispsource}international/utf-16.elc 	${lispsource}international/latin-1.el 	${lispsource}international/latin-2.el 	${lispsource}international/latin-3.el 	${lispsource}international/latin-4.el 	${lispsource}international/latin-5.el 	${lispsource}international/latin-8.el 	${lispsource}international/latin-9.el 	${lispsource}case-table.elc 	${lispsource}language/chinese.elc 	${lispsource}language/cyrillic.elc 	${lispsource}language/indian.elc 	${lispsource}language/devanagari.elc 	${lispsource}language/english.elc 	${lispsource}language/ethiopic.elc 	${lispsource}language/european.elc 	${lispsource}language/czech.elc 	${lispsource}language/slovak.elc 	${lispsource}language/romanian.elc 	${lispsource}language/greek.elc 	${lispsource}language/hebrew.elc 	${lispsource}language/japanese.elc 	${lispsource}language/korean.elc 	${lispsource}language/lao.elc 	${lispsource}language/thai.elc 	${lispsource}language/tibetan.elc 	${lispsource}language/vietnamese.elc 	${lispsource}language/misc-lang.elc 	${lispsource}international/ucs-tables.elc 	${lispsource}paths.el 	${lispsource}register.elc 	${lispsource}replace.elc 	${lispsource}simple.elc 	${lispsource}startup.elc 	${lispsource}subr.elc 	${lispsource}term/tty-colors.elc 	${lispsource}textmodes/fill.elc 	${lispsource}textmodes/page.elc 	${lispsource}textmodes/paragraphs.elc 	${lispsource}textmodes/text-mode.elc 	${lispsource}vc-hooks.elc 	${lispsource}ediff-hook.elc 	VMS_SUPPORT 	MSDOS_SUPPORT 	WINNT_SUPPORT 	${lispsource}widget.elc 	${lispsource}window.elc 	${lispsource}version.el
 
 /* These are relative file names for the Lisp files
@@ -728,78 +633,5 @@
    It need not contain the files that are loaded conditionally
    because SOME_MACHINE_LISP has those.  */
-shortlisp= \
-	../lisp/abbrev.elc \
-	../lisp/buff-menu.elc \
-	../lisp/byte-run.elc \
-	../lisp/cus-start.el \
-	../lisp/custom.elc \
-	../lisp/emacs-lisp/backquote.elc \
-	../lisp/emacs-lisp/lisp-mode.elc \
-	../lisp/emacs-lisp/lisp.elc \
-	../lisp/facemenu.elc \
-	../lisp/faces.elc \
-	../lisp/files.elc \
-	../lisp/float-sup.elc \
-	../lisp/format.elc \
-	../lisp/frame.elc \
-	../lisp/help.elc \
-	../lisp/indent.elc \
-	../lisp/isearch.elc \
-	../lisp/loadup.el \
-	../lisp/loaddefs.el \
-	../lisp/bindings.elc \
-	../lisp/map-ynp.elc \
-	../lisp/env.elc \
-	../lisp/international/mule.elc \
-	../lisp/international/mule-conf.el \
-	../lisp/international/mule-cmds.elc \
-	../lisp/international/characters.elc \
-	../lisp/international/utf-8.elc \
-	../lisp/international/utf-16.elc \
-	../lisp/international/latin-1.el \
-	../lisp/international/latin-2.el \
-	../lisp/international/latin-3.el \
-	../lisp/international/latin-4.el \
-	../lisp/international/latin-5.el \
-	../lisp/international/latin-8.el \
-	../lisp/international/latin-9.el \
-	../lisp/case-table.elc \
-	../lisp/language/chinese.elc \
-	../lisp/language/cyrillic.elc \
-	../lisp/language/indian.elc \
-	../lisp/language/devanagari.elc \
-	../lisp/language/english.elc \
-	../lisp/language/ethiopic.elc \
-	../lisp/language/european.elc \
-	../lisp/language/czech.elc \
-	../lisp/language/slovak.elc \
-	../lisp/language/romanian.elc \
-	../lisp/language/greek.elc \
-	../lisp/language/hebrew.elc \
-	../lisp/language/japanese.elc \
-	../lisp/language/korean.elc \
-	../lisp/language/lao.elc \
-	../lisp/language/thai.elc \
-	../lisp/language/tibetan.elc \
-	../lisp/language/vietnamese.elc \
-	../lisp/language/misc-lang.elc \
-	../lisp/international/ucs-tables.elc \
-	../lisp/menu-bar.elc \
-	../lisp/paths.el \
-	../lisp/register.elc \
-	../lisp/replace.elc \
-	../lisp/simple.elc \
-	../lisp/startup.elc \
-	../lisp/subr.elc \
-	../lisp/term/tty-colors.elc \
-	../lisp/textmodes/fill.elc \
-	../lisp/textmodes/page.elc \
-	../lisp/textmodes/paragraphs.elc \
-	../lisp/textmodes/text-mode.elc \
-	../lisp/vc-hooks.elc \
-	../lisp/ediff-hook.elc \
-	../lisp/widget.elc \
-	../lisp/window.elc \
-	../lisp/version.el
+shortlisp= 	../lisp/abbrev.elc 	../lisp/buff-menu.elc 	../lisp/byte-run.elc 	../lisp/cus-start.el 	../lisp/custom.elc 	../lisp/emacs-lisp/backquote.elc 	../lisp/emacs-lisp/lisp-mode.elc 	../lisp/emacs-lisp/lisp.elc 	../lisp/facemenu.elc 	../lisp/faces.elc 	../lisp/files.elc 	../lisp/float-sup.elc 	../lisp/format.elc 	../lisp/frame.elc 	../lisp/help.elc 	../lisp/indent.elc 	../lisp/isearch.elc 	../lisp/loadup.el 	../lisp/loaddefs.el 	../lisp/bindings.elc 	../lisp/map-ynp.elc 	../lisp/env.elc 	../lisp/international/mule.elc 	../lisp/international/mule-conf.el 	../lisp/international/mule-cmds.elc 	../lisp/international/characters.elc 	../lisp/international/utf-8.elc 	../lisp/international/utf-16.elc 	../lisp/international/latin-1.el 	../lisp/international/latin-2.el 	../lisp/international/latin-3.el 	../lisp/international/latin-4.el 	../lisp/international/latin-5.el 	../lisp/international/latin-8.el 	../lisp/international/latin-9.el 	../lisp/case-table.elc 	../lisp/language/chinese.elc 	../lisp/language/cyrillic.elc 	../lisp/language/indian.elc 	../lisp/language/devanagari.elc 	../lisp/language/english.elc 	../lisp/language/ethiopic.elc 	../lisp/language/european.elc 	../lisp/language/czech.elc 	../lisp/language/slovak.elc 	../lisp/language/romanian.elc 	../lisp/language/greek.elc 	../lisp/language/hebrew.elc 	../lisp/language/japanese.elc 	../lisp/language/korean.elc 	../lisp/language/lao.elc 	../lisp/language/thai.elc 	../lisp/language/tibetan.elc 	../lisp/language/vietnamese.elc 	../lisp/language/misc-lang.elc 	../lisp/international/ucs-tables.elc 	../lisp/menu-bar.elc 	../lisp/paths.el 	../lisp/register.elc 	../lisp/replace.elc 	../lisp/simple.elc 	../lisp/startup.elc 	../lisp/subr.elc 	../lisp/term/tty-colors.elc 	../lisp/textmodes/fill.elc 	../lisp/textmodes/page.elc 	../lisp/textmodes/paragraphs.elc 	../lisp/textmodes/text-mode.elc 	../lisp/vc-hooks.elc 	../lisp/ediff-hook.elc 	../lisp/widget.elc 	../lisp/window.elc 	../lisp/version.el
 
 /* Lisp files that may or may not be used.
@@ -808,12 +640,5 @@
    to reduce the size of the argument list for make-docfile
    for the sake of systems which can't handle large ones.  */
-SOME_MACHINE_LISP = ${dotdot}/lisp/mouse.elc \
-  ${dotdot}/lisp/select.elc ${dotdot}/lisp/scroll-bar.elc \
-  ${dotdot}/lisp/vmsproc.elc ${dotdot}/lisp/vms-patch.elc \
-  ${dotdot}/lisp/ls-lisp.elc ${dotdot}/lisp/dos-fns.elc \
-  ${dotdot}/lisp/w32-fns.elc ${dotdot}/lisp/dos-w32.elc \
-  ${dotdot}/lisp/disp-table.elc ${dotdot}/lisp/dos-vars.elc \
-  ${dotdot}/lisp/international/ccl.elc \
-  ${dotdot}/lisp/international/codepage.elc
+SOME_MACHINE_LISP = ${dotdot}/lisp/mouse.elc   ${dotdot}/lisp/select.elc ${dotdot}/lisp/scroll-bar.elc   ${dotdot}/lisp/vmsproc.elc ${dotdot}/lisp/vms-patch.elc   ${dotdot}/lisp/ls-lisp.elc ${dotdot}/lisp/dos-fns.elc   ${dotdot}/lisp/w32-fns.elc ${dotdot}/lisp/dos-w32.elc   ${dotdot}/lisp/disp-table.elc ${dotdot}/lisp/dos-vars.elc   ${dotdot}/lisp/international/ccl.elc   ${dotdot}/lisp/international/codepage.elc
 
 /* Construct full set of libraries to be linked.
@@ -821,8 +646,5 @@
    duplicated symbols.  If the standard libraries were compiled
    with GCC, we might need gnulib again after them.  */
-LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) \
-   LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
-   LIBS_DEBUG $(GETLOADAVG_LIBS) $(GNULIB_VAR) LIB_MATH LIB_STANDARD \
-   $(GNULIB_VAR)
+LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND)    LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP    LIBS_DEBUG $(GETLOADAVG_LIBS) $(GNULIB_VAR) LIB_MATH LIB_STANDARD    $(GNULIB_VAR)
 
 /* Enable recompilation of certain other files depending on system type.  */
@@ -873,7 +695,5 @@
 
 temacs: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args
-	$(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${ALL_LDFLAGS}) \
-    -o temacs ${STARTFILES} ${obj} ${otherobj}  \
-    OBJECTS_MACHINE ${LIBES}
+	$(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${ALL_LDFLAGS})     -o temacs ${STARTFILES} ${obj} ${otherobj}      OBJECTS_MACHINE ${LIBES}
 
 /* We don't use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
@@ -916,12 +736,5 @@
 C_SWITCH_X_SYSTEM_1 = C_SWITCH_X_SYSTEM
 really-lwlib:
-	cd ${lwlibdir}; ${MAKE} ${MFLAGS} LWLIB_OPTIONS \
-    CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \
-    "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
-    "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
-    "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
-    "C_SWITCH_SITE=$(C_SWITCH_SITE_1)" \
-    "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
-    "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
+	cd ${lwlibdir}; ${MAKE} ${MFLAGS} LWLIB_OPTIONS     CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'     "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)"     "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)"     "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)"     "C_SWITCH_SITE=$(C_SWITCH_SITE_1)"     "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)"     "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
 	@true  /* make -t should not create really-lwlib.  */
 .PHONY: really-lwlib
@@ -938,12 +751,5 @@
 C_SWITCH_X_SYSTEM_1 = C_SWITCH_X_SYSTEM
 really-oldXMenu:
-	cd ${oldXMenudir}; ${MAKE} ${MFLAGS} OLDXMENU_OPTIONS \
-    CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \
-    "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
-    "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
-    "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
-    "C_SWITCH_SITE=$(C_SWITCH_SITE_1)" \
-    "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
-    "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
+	cd ${oldXMenudir}; ${MAKE} ${MFLAGS} OLDXMENU_OPTIONS     CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'     "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)"     "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)"     "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)"     "C_SWITCH_SITE=$(C_SWITCH_SITE_1)"     "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)"     "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
 	@true  /* make -t should not create really-oldXMenu.  */
 .PHONY: really-oldXMenu
@@ -978,6 +784,5 @@
    users of alloca in Emacs.  Check out ../lib-src/getopt.c.  */
 alloca.o : alloca.c
-	$(CC) -c $(CPPFLAGS) -DEMACS_FREE=xfree \
-	$(ALL_CFLAGS) ${srcdir}/alloca.c
+	$(CC) -c $(CPPFLAGS) -DEMACS_FREE=xfree 	$(ALL_CFLAGS) ${srcdir}/alloca.c
 #else
 #ifndef HAVE_ALLOCA
@@ -991,7 +796,5 @@
    output file, since some stupid compilers (Green Hill's) use that
    name for the intermediate assembler file. */
-	$(CPP) $(CPPFLAGS) $(ALL_CFLAGS) allocatem.c | \
-	sed -e 's///' -e 's/^#.*//' | \
-	sed -n -e '/^..*$$/p' > allocax.s
+	$(CPP) $(CPPFLAGS) $(ALL_CFLAGS) allocatem.c | 	sed -e 's///' -e 's/^#.*//' | 	sed -n -e '/^..*$$/p' > allocax.s
 	-rm -f alloca.o
 /* Xenix, in particular, needs to run assembler via cc.  */
@@ -1007,63 +810,38 @@
    and so rarely changed in ways that do require any.  */
 
-abbrev.o: abbrev.c buffer.h window.h dispextern.h commands.h charset.h \
-	$(config_h)
-buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
-   dispextern.h $(INTERVAL_SRC) blockinput.h atimer.h systime.h charset.h \
-   $(config_h)
-callint.o: callint.c window.h commands.h buffer.h mocklisp.h \
-   keyboard.h dispextern.h $(config_h)
-callproc.o: callproc.c epaths.h buffer.h commands.h $(config_h) \
-	process.h systty.h syssignal.h charset.h coding.h ccl.h msdos.h \
-        composite.h
+abbrev.o: abbrev.c buffer.h window.h dispextern.h commands.h charset.h 	$(config_h)
+buffer.o: buffer.c buffer.h region-cache.h commands.h window.h    dispextern.h $(INTERVAL_SRC) blockinput.h atimer.h systime.h charset.h    $(config_h)
+callint.o: callint.c window.h commands.h buffer.h mocklisp.h    keyboard.h dispextern.h $(config_h)
+callproc.o: callproc.c epaths.h buffer.h commands.h $(config_h) 	process.h systty.h syssignal.h charset.h coding.h ccl.h msdos.h         composite.h
 casefiddle.o: casefiddle.c syntax.h commands.h buffer.h composite.h $(config_h)
 casetab.o: casetab.c buffer.h $(config_h)
 category.o: category.c category.h buffer.h charset.h $(config_h)
 ccl.o: ccl.c ccl.h charset.h coding.h $(config_h)
-charset.o: charset.c charset.h buffer.h coding.h composite.h disptab.h \
-	$(config_h)
+charset.o: charset.c charset.h buffer.h coding.h composite.h disptab.h 	$(config_h)
 coding.o: coding.c coding.h ccl.h buffer.h charset.h $(config_h)
 cm.o: cm.c cm.h termhooks.h $(config_h)
-cmds.o: cmds.c syntax.h buffer.h charset.h commands.h window.h $(config_h) \
-	msdos.h dispextern.h
+cmds.o: cmds.c syntax.h buffer.h charset.h commands.h window.h $(config_h) 	msdos.h dispextern.h
 pre-crt0.o: pre-crt0.c
 ecrt0.o: ecrt0.c $(config_h)
 	CRT0_COMPILE ${srcdir}/ecrt0.c
-dired.o: dired.c commands.h buffer.h $(config_h) charset.h coding.h regex.h \
-   systime.h
-dispnew.o: dispnew.c  commands.h frame.h window.h buffer.h dispextern.h \
-   termchar.h termopts.h termhooks.h cm.h disptab.h systty.h systime.h \
-   xterm.h blockinput.h atimer.h charset.h msdos.h composite.h keyboard.h \
-   $(config_h)
+dired.o: dired.c commands.h buffer.h $(config_h) charset.h coding.h regex.h    systime.h
+dispnew.o: dispnew.c  commands.h frame.h window.h buffer.h dispextern.h    termchar.h termopts.h termhooks.h cm.h disptab.h systty.h systime.h    xterm.h blockinput.h atimer.h charset.h msdos.h composite.h keyboard.h    $(config_h)
 doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h charset.h
 doprnt.o: doprnt.c charset.h $(config_h)
 dosfns.o: buffer.h termchar.h termhooks.h frame.h msdos.h dosfns.h $(config_h)
-editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
-   coding.h dispextern.h $(config_h)
-emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
-   termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h)
-fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
-   coding.h ccl.h msdos.h dispextern.h $(config_h)
+editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h    coding.h dispextern.h $(config_h)
+emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h    termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h)
+fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h    coding.h ccl.h msdos.h dispextern.h $(config_h)
 filelock.o: filelock.c buffer.h systime.h epaths.h $(config_h)
 filemode.o: filemode.c  $(config_h)
-frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
-   buffer.h charset.h fontset.h msdos.h dosfns.h dispextern.h $(config_h)
-fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h charset.h frame.h \
-   keyboard.h $(config_h)
+frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h    buffer.h charset.h fontset.h msdos.h dosfns.h dispextern.h $(config_h)
+fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h charset.h frame.h    keyboard.h $(config_h)
 getloadavg.o: getloadavg.c $(config_h)
-indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h \
-   termopts.h disptab.h region-cache.h charset.h composite.h dispextern.h \
-   keyboard.h
-insdel.o: insdel.c window.h buffer.h $(INTERVAL_SRC) blockinput.h charset.h\
-   dispextern.h atimer.h systime.h $(config_h)
-keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h charset.h \
-   commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
-   systty.h systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h \
-   atimer.h xterm.h puresize.h msdos.h $(config_h)
-keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
-   atimer.h systime.h puresize.h charset.h intervals.h $(config_h)
+indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h    termopts.h disptab.h region-cache.h charset.h composite.h dispextern.h    keyboard.h
+insdel.o: insdel.c window.h buffer.h $(INTERVAL_SRC) blockinput.h charset.h   dispextern.h atimer.h systime.h $(config_h)
+keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h charset.h    commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h    systty.h systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h    atimer.h xterm.h puresize.h msdos.h $(config_h)
+keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h    atimer.h systime.h puresize.h charset.h intervals.h $(config_h)
 lastfile.o: lastfile.c  $(config_h)
-macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \
-	dispextern.h $(config_h)
+macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h 	dispextern.h $(config_h)
 malloc.o: malloc.c $(config_h)
 gmalloc.o: gmalloc.c $(config_h)
@@ -1071,29 +849,17 @@
 vm-limit.o: vm-limit.c mem-limits.h $(config_h)
 marker.o: marker.c buffer.h charset.h $(config_h)
-minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \
-   buffer.h commands.h charset.h msdos.h $(config_h)
+minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h    buffer.h commands.h charset.h msdos.h $(config_h)
 mktime.o: mktime.c $(config_h)
 mocklisp.o: mocklisp.c buffer.h $(config_h)
-msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
-   termopts.h termchar.h charset.h coding.h ccl.h disptab.h window.h \
-   keyboard.h $(config_h)
-process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
-   commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
-   blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
-   keyboard.h $(config_h)
+msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h    termopts.h termchar.h charset.h coding.h ccl.h disptab.h window.h    keyboard.h $(config_h)
+process.o: process.c process.h buffer.h window.h termhooks.h termopts.h    commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h    blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h    keyboard.h $(config_h)
 regex.o: regex.c syntax.h buffer.h $(config_h) regex.h category.h charset.h
 region-cache.o: region-cache.c buffer.h region-cache.h
-scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
-   $(config_h)
-search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
-   blockinput.h atimer.h systime.h category.h charset.h composite.h $(config_h)
+scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h    $(config_h)
+search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h    blockinput.h atimer.h systime.h category.h charset.h composite.h $(config_h)
 strftime.o: strftime.c $(config_h)
-syntax.o: syntax.c syntax.h buffer.h commands.h category.h charset.h \
-   composite.h $(config_h)
-sysdep.o: sysdep.c $(config_h) dispextern.h termhooks.h termchar.h termopts.h \
-   frame.h syssignal.h systty.h systime.h syswait.h blockinput.h atimer.h \
-   window.h msdos.h dosfns.h keyboard.h
-term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \
-   disptab.h dispextern.h keyboard.h charset.h coding.h ccl.h msdos.h
+syntax.o: syntax.c syntax.h buffer.h commands.h category.h charset.h    composite.h $(config_h)
+sysdep.o: sysdep.c $(config_h) dispextern.h termhooks.h termchar.h termopts.h    frame.h syssignal.h systty.h systime.h syswait.h blockinput.h atimer.h    window.h msdos.h dosfns.h keyboard.h
+term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h    disptab.h dispextern.h keyboard.h charset.h coding.h ccl.h msdos.h
 termcap.o: termcap.c $(config_h)
 terminfo.o: terminfo.c $(config_h)
@@ -1104,28 +870,13 @@
 UNEXEC_ALIAS=UNEXEC
 $(UNEXEC_ALIAS): UNEXEC_SRC $(config_h)
-w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
-   msdos.h $(config_h)
-widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
-   $(srcdir)/../lwlib/lwlib.h $(config_h)
-window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
-   termhooks.h disptab.h keyboard.h dispextern.h msdos.h composite.h \
-   $(config_h)
-xdisp.o: xdisp.c macros.h commands.h indent.h buffer.h dispextern.h coding.h \
-   termchar.h frame.h window.h disptab.h termhooks.h charset.h $(config_h) \
-   msdos.h composite.h fontset.h
-xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
-   window.h charset.h msdos.h dosfns.h composite.h atimer.h systime.h $(config_h)
-xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
-   $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
-   charset.h $(config_h)
-xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h keyboard.h \
-   buffer.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h \
-   msdos.h $(config_h)
-xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
-  dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
-  keyboard.h gnu.h charset.h ccl.h fontset.h composite.h \
-  coding.h $(config_h)
-xselect.o: xselect.c dispextern.h frame.h xterm.h blockinput.h charset.h \
-  coding.h ccl.h buffer.h atimer.h systime.h $(config_h)
+w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h    msdos.h $(config_h)
+widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h    $(srcdir)/../lwlib/lwlib.h $(config_h)
+window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h    termhooks.h disptab.h keyboard.h dispextern.h msdos.h composite.h    $(config_h)
+xdisp.o: xdisp.c macros.h commands.h indent.h buffer.h dispextern.h coding.h    termchar.h frame.h window.h disptab.h termhooks.h charset.h $(config_h)    msdos.h composite.h fontset.h
+xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h    window.h charset.h msdos.h dosfns.h composite.h atimer.h systime.h $(config_h)
+xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h    $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h    charset.h $(config_h)
+xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h keyboard.h    buffer.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h    msdos.h $(config_h)
+xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h   dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h   keyboard.h gnu.h charset.h ccl.h fontset.h composite.h   coding.h $(config_h)
+xselect.o: xselect.c dispextern.h frame.h xterm.h blockinput.h charset.h   coding.h ccl.h buffer.h atimer.h systime.h $(config_h)
 xrdb.o: xrdb.c $(config_h) epaths.h
 hftctl.o: hftctl.c $(config_h)
@@ -1135,21 +886,15 @@
 /* The files of Lisp proper */
 
-alloc.o: alloc.c frame.h window.h buffer.h  puresize.h syssignal.h keyboard.h \
- blockinput.h atimer.h systime.h charset.h dispextern.h $(config_h) $(INTERVAL_SRC)
+alloc.o: alloc.c frame.h window.h buffer.h  puresize.h syssignal.h keyboard.h  blockinput.h atimer.h systime.h charset.h dispextern.h $(config_h) $(INTERVAL_SRC)
 bytecode.o: bytecode.c buffer.h syntax.h charset.h $(config_h)
 data.o: data.c buffer.h puresize.h charset.h syssignal.h keyboard.h $(config_h)
-eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
-  $(config_h)
+eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h   $(config_h)
 floatfns.o: floatfns.c $(config_h)
-fns.o: fns.c commands.h $(config_h) frame.h buffer.h charset.h keyboard.h \
- frame.h window.h dispextern.h $(INTERVAL_SRC)
-print.o: print.c process.h frame.h window.h buffer.h keyboard.h charset.h\
-   $(config_h) dispextern.h msdos.h composite.h
-lread.o: lread.c commands.h keyboard.h buffer.h epaths.h charset.h $(config_h) \
- termhooks.h msdos.h
+fns.o: fns.c commands.h $(config_h) frame.h buffer.h charset.h keyboard.h  frame.h window.h dispextern.h $(INTERVAL_SRC)
+print.o: print.c process.h frame.h window.h buffer.h keyboard.h charset.h   $(config_h) dispextern.h msdos.h composite.h
+lread.o: lread.c commands.h keyboard.h buffer.h epaths.h charset.h $(config_h)  termhooks.h msdos.h
 
 /* Text properties support */
-textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) \
-	$(config_h)
+textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) 	$(config_h)
 intervals.o: intervals.c buffer.h $(INTERVAL_SRC) keyboard.h puresize.h $(config_h)
 composite.o: composite.c buffer.h  charset.h $(INTERVAL_SRC) $(config_h)
@@ -1183,6 +928,5 @@
 /* The rule for the [sm] files has to be written a little funny to
    avoid looking like a C comment to CPP. */
-SOURCES = *.[ch] [sm]/?* COPYING Makefile.in \
-	config.in epaths.in README COPYING ChangeLog vms.pp-trans
+SOURCES = *.[ch] [sm]/?* COPYING Makefile.in 	config.in epaths.in README COPYING ChangeLog vms.pp-trans
 unlock:
 	chmod u+w $(SOURCES)
@@ -1199,7 +943,5 @@
 
 TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
-	../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS \
-	  --regex='/[ 	]*DEFVAR_[A-Z_ 	(]+"\([^"]+\)"/' \
-	  $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
+	../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS 	  --regex='/[ 	]*DEFVAR_[A-Z_ 	(]+"\([^"]+\)"/' 	  $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
 frc:
 TAGS-LISP: frc
@@ -1227,7 +969,5 @@
 bootstrap-doc: ${libsrc}make-docfile
 	-rm -f ${etc}DOC
-	els=`echo ${shortlisp} ${SOME_MACHINE_LISP} \
-		| sed -e "s/\\.elc/.el/g"`; \
-	${libsrc}make-docfile -d ${srcdir} $$els ${obj} > ${etc}DOC
+	els=`echo ${shortlisp} ${SOME_MACHINE_LISP} 		| sed -e "s/\\.elc/.el/g"`; 	${libsrc}make-docfile -d ${srcdir} $$els ${obj} > ${etc}DOC
 
 /* Dump an Emacs executable named bootstrap-emacs containing the 
diff -u2r '--exclude=ORIG' dist-emacs-21.4/src/config.in work-emacs-21.4/src/config.in
--- dist-emacs-21.4/src/config.in	2002-07-08 15:23:31.000000000 -0700
+++ work-emacs-21.4/src/config.in	2022-06-26 09:38:44.160091925 -0700
@@ -334,5 +334,7 @@
    generally, because even if non-gcc compilers accept `inline', they
    may reject `extern inline'.  */
-#ifdef __GNUC__
+/* disable inline, doesn't link on alma 8 */
+#if 0
+/* #ifdef __GNUC__ */
 #define INLINE __inline__
 #else
diff -u2r '--exclude=ORIG' dist-emacs-21.4/src/s/gnu-linux.h work-emacs-21.4/src/s/gnu-linux.h
--- dist-emacs-21.4/src/s/gnu-linux.h	2001-09-28 08:50:04.000000000 -0700
+++ work-emacs-21.4/src/s/gnu-linux.h	2022-06-26 10:20:04.793798893 -0700
@@ -156,4 +156,7 @@
 #ifdef emacs
 #include <stdio.h>  /* Get the definition of _IO_STDIO_H.  */
+/* not defined in Alma Linux 8, though actual struct has these members. */
+#define _IO_STDIO_H
+#define _STDIO_USES_IOSTREAM
 #if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
 /* new C libio names */
@@ -251,5 +254,6 @@
    since libc-4.4.1.  So -lipc was deleted.  */
 #define LIBS_SYSTEM
-#define C_SWITCH_SYSTEM -D_BSD_SOURCE
+/*  -D_BSD_SOURCE removed for modern x86 */
+#define C_SWITCH_SYSTEM
 #endif
 
@@ -324,4 +328,8 @@
 #define NARROWPROTO 1
 
+/* without this define, no mmap, relocating allocator is uses,
+   crashes on alma. */
+#define USE_MMAP_FOR_BUFFERS 1
+/* #define GNU_MALLOC -- defined by configure */
 /* Use mmap directly for allocating larger buffers.  */
 #ifdef DOUG_LEA_MALLOC

