Commits

Anonymous committed cca96a5

Import from CVS: tag r20-1b12

Comments (0)

Files changed (249)

 							-*- indented-text -*-
+to 20.1 beta12
+-- Synch to Emacs/MULE patches courtesy of MORIOKA Tomohiko
+-- VM-6.24
+-- miscellaneous documentation fixes/updates
+-- etc/GNUS-NEWS added from Gnus-5.4.42 distribution
+-- xemacs-version.h version in C stack backtrace hack
+-- More unimplemented NeXTstep cruft removed
+-- W3-3.0.80
+-- Lots and lots of Custom-ization by Hrvoje Niksic
+-- temp-buffer-shrink-to-fit (still needs a better name) defaults to nil.
+-- Gnus-5.4.42
+-- Cleanup -- vms C files removed, dummy NeXTStep C files removed.  They're
+   in the CVS attic if anyone wishes to revive this code.
+-- Custom-1.74
+-- miscellaneous bug fixes
+
 to 20.1 beta11
 -- Move lisp/auctex/style/*.el to etc/auctex/style/.
 -- regenerated finder database (every lisp file should have a Keywords: line)
+Wed Apr  9 22:52:06 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* XEmacs 20.1-b12 is released.
+
+Sun Apr  6 22:31:00 1997  Tatsuya Ichikawa  <ichikawa@hv.epson.co.jp>
+
+	* configure.in: Cosmetic change to summary print of POP/Kerberos/
+	Hesiod options.
+
 Sat Apr  5 09:11:36 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* XEmacs 20.1-b11 is released.
 loadup dump', found in `./src/Makefile.in.in', or possibly when
 running the final dumped XEmacs.
  
-Building XEmacs requires about 70 Mb of disk space (including the
-XEmacs sources).  Once installed, XEmacs occupies about 50 Mb in the
-file system where it is installed; this includes the executable files,
-Lisp libraries, miscellaneous data files, and on-line documentation.
-If the building and installation take place in different directories,
-then the installation procedure momentarily requires 70+50 Mb.
+Building XEmacs requires about 88 Mb of disk space (including the XEmacs
+sources).  Once installed, XEmacs occupies about 50 Mb in the file system
+where it is installed; this includes the executable files, Lisp libraries,
+miscellaneous data files, and on-line documentation. The amount of storage
+of the Lisp directories may be reduced by compressing the .el files. If
+the building and installation take place in different directories, then
+the installation procedure momentarily requires 88+50 Mb.
 
 XEmacs requires an ANSI C compiler, such as LCC or GCC.
 
 in compiling, installing and running XEmacs.
 
 (synched up with: 19.30)
-(updated for 20.0)
+(updated for 20.1)
+
+* Watch out for .emacs file
+
+~/.emacs is your Emacs init file.  If you observe strange problems,
+invoke XEmacs with the `-q' option and see if you can repeat the
+problem.
+
+* "Symbol's value as variable is void: unread-command-char".
+* "Wrong type argument: arrayp, #<keymap 143 entries>"
+* "Wrong type argument: stringp, [#<keypress-event return>]"
+
+There are a few incompatible changes in XEmacs, and these are the
+symptoms.  Some of the emacs-lisp code you are running needs to be
+updated to be compatible with XEmacs.
+
+The code should not treat keymaps as arrays (use `define-key', etc.),
+should not use obsolete variables like `unread-command-char' (use
+`unread-command-event').  Many (most) of the new ways of doing things
+are compatible in GNU Emacs and XEmacs.
+
+Modern Emacs packages (Gnus, VM, etc) are written cleanly, as to
+support GNU Emacs and XEmacs.  We have provided modified versions of
+several popular emacs packages (dired, etc) which are compatible with
+this version of emacs.  Check to make sure you have not set your
+load-path so that your private copies of these packages are being
+found before the versions in the lisp directory.
+
+Make sure that your load-path and your $EMACSLOADPATH environment
+variable are not pointing at an Emacs18 lisp directory.  This will
+cripple emacs.
 
 * On Irix, I don't see the toolbar icons and I'm getting lots of
   entries in the warnings buffer.
 the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings
 to take advantage of the keyboard map in emacskeys.sco.
 
-* Don't use -O2 with gcc under Linux without also using
-  -fno-strength-reduce.  gcc will generate incorrect code otherwise.
-  This bug is present in at least 2.6.x and 2.7.[0-2].  A patched
-  binary for 2.7.2 is available in
+* Don't use -O2 with gcc 2.7.2 under Linux without also using
+  -fno-strength-reduce.
 
-  ftp://tsx-11.mit.edu/pub/linux/packages/GCC/gcc272-no-sr-bug.lbin.tgz
-
-  Or use GCC 2.7.2.1.
+gcc will generate incorrect code otherwise.  This bug is present in at
+least 2.6.x and 2.7.[0-2].  This bug has been fixed in GCC 2.7.2.1 and
+later.
 
 * Under some versions of OSF XEmacs runs fine if built without
 optimization but will crash randomly if built with optimization.
 actually the GNU C compiler.  Use the --with-gcc=no flag when running
 configure.
 
-
 * When Emacs tries to ring the bell, you get an error like
 
 	audio: sst_open: SETQSIZE" Invalid argument
 /bin/sh fixed by installing Patch-ID# 101613-01.
 
 * "Cannot find callback list" messages from dialog boxes on HPUX, in
-Emacs built with Motif.
+  Emacs built with Motif.
 
 This problem resulted from a bug in GCC 2.4.5.  Newer GCC versions
 such as 2.7.0 fix the problem.
 Compiler fixes in Irix 6.0.1 should eliminate this problem.
 
 * With certain fonts, when the cursor appears on a character, the
-character doesn't appear--you get a solid box instead.
+  character doesn't appear--you get a solid box instead.
 
 One user on a Linux system reported that this problem went away with
 installation of a new X server.  The failing server was XFree86 3.1.1.
 it can do perfectly well for SunOS).
 
 * On SunOS 4, Emacs processes keep going after you kill the X server
-(or log out, if you logged in using X).
+  (or log out, if you logged in using X).
 
 Someone reported that recompiling with GCC 2.7.0 fixed this problem.
 
 * On AIX 4, some programs fail when run in a Shell buffer
-with an error message like   No terminfo entry for "unknown".
+  with an error message like   No terminfo entry for "unknown".
 
 On AIX, many terminal type definitions are not installed by default.
 `unknown' is one of them.  Install the "Special Generic Terminal
 Then change -lIM to ./libIM.a in the command to link temacs (in
 Makefile).
 
-* Unpredictable segmentation faults on Solaris 2.3 and 2.4.
-
-A user reported that this happened in 19.29 when it was compiled with
-the Sun compiler, but not when he recompiled with GCC 2.7.0.
-
-We do not know whether something in Emacs is partly to blame for this.
-
 * Emacs exits with "X protocol error" when run with an X server for
-Windows.
+  Windows.
 
 A certain X server for Windows had a bug which caused this.
 Supposedly the newer 32-bit version of this server doesn't have the
 ones available when you build Emacs.
 
 * The right Alt key works wrong on German HP keyboards (and perhaps
-other non-English HP keyboards too).
+  other non-English HP keyboards too).
 
 This is because HPUX defines the modifiers wrong in X.  Here is a
 shell script to fix the problem; be sure that it is run after VUE
 file is not necessary with this approach.
 
 * On Solaris 2.4, Dired hangs and C-g does not work.  Or Emacs hangs
-forever waiting for termination of a subprocess that is a zombie.
+  forever waiting for termination of a subprocess that is a zombie.
 
 casper@fwi.uva.nl says the problem is in X11R6.  Rebuild libX11.so
 after changing the file xc/config/cf/sunLib.tmpl.  Change the lines
 `-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and
 typing 'make install' in that directory also seemed to work.
 
-* With M-x enable-flow-control, you need to type C-\ twice
-  to do incremental search--a single C-\ gets no response.
+* With M-x enable-flow-control, you need to type C-\ twice to do
+  incremental search--a single C-\ gets no response.
 
 This has been traced to communicating with your machine via kermit,
 with C-\ as the kermit escape character.  One solution is to use
 though the system itself is capable of it.  Either use a different shell,
 or set the variable `cannot-suspend' to a non-nil value.
 
-* Watch out for .emacs files and EMACSLOADPATH environment vars
-
-These control the actions of Emacs.
-~/.emacs is your Emacs init file.
-EMACSLOADPATH overrides which directories the function
-"load" will search.
-
-If you observe strange problems, check for these and get rid
-of them, then try again.
-
 * After running emacs once, subsequent invocations crash.
 
 Some versions of SVR4 have a serious bug in the implementation of the
 * Emacs fails to understand most Internet host names, even though
 the names work properly with other programs on the same system.
 * Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
-* GNUs can't make contact with the specified host for nntp.
+* Gnus can't make contact with the specified host for nntp.
 
 This typically happens on Suns and other systems that use shared
 libraries.  The cause is that the site has installed a version of the
 x-allow-sendevents to t.  You can also cause fix this by telling OLWM to not
 grab the help key, with the null binding "OpenWindows.KeyboardCommand.Help:".
 
-* Something awful happens when I type M-ESC, instead of `eval-expression'.
-
-MWM intercepts this and several other keys.  Turn this off by adding this to
-your resources: "mwm*keyBindings: NoKeyBindings".
-
-* Using X Windows, control-shift-leftbutton makes Emacs hang.
+* Using X11, control-shift-leftbutton makes Emacs hang.
 
 Use the shell command `xset bc' to make the old X Menu package work.
 
-* Emacs running under X Windows does not handle mouse clicks.
+* Emacs running under X11 does not handle mouse clicks.
 * `emacs -geometry 80x20' finds a file named `80x20'.
 
 One cause of such problems is having (setq term-file-prefix nil) in
 should use those forms.  See the man pages for X(1), xlsfonts(1), and
 xfontsel(1).
 
-* The dumped Emacs (xemacs) crashes when run, trying to write pure data.
+* The dumped Emacs (XEmacs) crashes when run, trying to write pure data.
 
 Two causes have been seen for such problems.
 
 Sorry, XEmacs does not work under VMS.  You might consider working on
 the port if you really want to have XEmacs work under VMS.
 
-* "Symbol's value as variable is void: unread-command-char".
-* "Wrong type argument: arrayp, #<keymap 143 entries>"
-* "Wrong type argument: stringp, [#<keypress-event return>]"
-
-There are a few incompatible changes in XEmacs, and these are the
-symptoms.  Some of the emacs-lisp code you are running needs to be
-updated to be compatible with XEmacs.
-
-We have provided modified versions of several popular emacs packages (GNUS, 
-VM, etc) which are compatible with this version of emacs.  Check to make
-sure you have not set your load-path so that your private copies of these
-packages are being found before the versions in the lisp directory.
-
-Make sure that your load-path and your $EMACSLOADPATH environment variable
-are not pointing at an Emacs18 lisp directory.  This will cripple emacs.
-
-* rmail or VM gets error getting new mail
+* Mail agents (VM, Gnus, rmail) cannot get new mail
 
 rmail and VM get new mail from /usr/spool/mail/$USER using a program
-called `movemail'.  This program interlocks with /bin/mail using
-the protocol defined by /bin/mail.
+called `movemail'.  This program interlocks with /bin/mail using the
+protocol defined by /bin/mail.
 
 There are two different protocols in general use.  One of them uses
 the `flock' system call.  The other involves creating a lock file;
 `movemail' must be able to write in /usr/spool/mail in order to do
-this.  You control which one is used by defining, or not defining,
-the macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes.
-IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
-SYSTEM, YOU CAN LOSE MAIL!
+this.  You control which one is used by defining, or not defining, the
+macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes.  IF
+YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR SYSTEM,
+YOU CAN LOSE MAIL!
 
 If your system uses the lock file protocol, and fascist restrictions
 prevent ordinary users from writing the lock files in /usr/spool/mail,
 If your system uses the lock file protocol, and fascist restrictions
 prevent ordinary users from writing the lock files in /usr/spool/mail,
 you may need to make `movemail' setgid to a suitable group such as
-`mail'.  To do this,  use the following commands (as root) after doing the
-make install.
+`mail'.  To do this, use the following commands (as root) after doing
+the make install.
 
 	chgrp mail movemail
 	chmod 2755 movemail
 into C-s and C-q using keyboard-translate-table.  The example above
 shows how to do this with C-^ and C-\.
 
-* Control-S and Control-Q commands are ignored completely on a net connection.
+* Control-S and Control-Q commands are ignored completely on a net
+  connection.
 
 Some versions of rlogin (and possibly telnet) do not pass flow
 control characters to the remote system to which they connect.
 One way to cure this is to disable flow control on the local host
 (the one running rlogin, not the one running rlogind) using the
 stty command, before starting the rlogin process.  On many systems,
-"stty start u stop u" will do this.
+`stty start u stop u' will do this.
 
 Some versions of tcsh will prevent even this from working.  One way
 around this is to start another shell before starting rlogin, and
 issue the stty command to disable flow control from that shell.
 
 If none of these methods work, the best solution is to type
-M-x enable-flow-control at the beginning of your emacs session, or
+`M-x enable-flow-control' at the beginning of your emacs session, or
 if you expect the problem to continue, add a line such as the
 following to your .emacs (on the host running rlogind):
 
 
 * Screen is updated wrong, but only on one kind of terminal.
 
-This could mean that the termcap entry you are using for that
-terminal is wrong, or it could mean that Emacs has a bug handing
-the combination of features specified for that terminal.
+This could mean that the termcap entry you are using for that terminal
+is wrong, or it could mean that Emacs has a bug handing the
+combination of features specified for that terminal.
 
 The first step in tracking this down is to record what characters
 Emacs is sending to the terminal.  Execute the Lisp expression
-(open-termscript "./emacs-script") to make Emacs write all
-terminal output into the file ~/emacs-script as well; then do
-what makes the screen update wrong, and look at the file
-and decode the characters using the manual for the terminal.
-There are several possibilities:
+(open-termscript "./emacs-script") to make Emacs write all terminal
+output into the file ~/emacs-script as well; then do what makes the
+screen update wrong, and look at the file and decode the characters
+using the manual for the terminal.  There are several possibilities:
 
 1) The characters sent are correct, according to the terminal manual.
 
 In this case, there is no obvious bug in Emacs, and most likely you
 need more padding, or possibly the terminal manual is wrong.
 
-2) The characters sent are incorrect, due to an obscure aspect
- of the terminal behavior not described in an obvious way
- by termcap.
+2) The characters sent are incorrect, due to an obscure aspect of the
+   terminal behavior not described in an obvious way by termcap.
 
-This case is hard.  It will be necessary to think of a way for
-Emacs to distinguish between terminals with this kind of behavior
-and other terminals that behave subtly differently but are
-classified the same by termcap; or else find an algorithm for
-Emacs to use that avoids the difference.  Such changes must be
-tested on many kinds of terminals.
+This case is hard.  It will be necessary to think of a way for Emacs
+to distinguish between terminals with this kind of behavior and other
+terminals that behave subtly differently but are classified the same
+by termcap; or else find an algorithm for Emacs to use that avoids the
+difference.  Such changes must be tested on many kinds of terminals.
 
 3) The termcap entry is wrong.
 
-See the file etc/TERMS for information on changes
-that are known to be needed in commonly used termcap entries
-for certain terminals.
+See the file etc/TERMS for information on changes that are known to be
+needed in commonly used termcap entries for certain terminals.
 
-4) The characters sent are incorrect, and clearly cannot be
- right for any terminal with the termcap entry you were using.
+4) The characters sent are incorrect, and clearly cannot be right for
+   any terminal with the termcap entry you were using.
 
-This is unambiguously an Emacs bug, and can probably be fixed
-in termcap.c, tparam.c, term.c, scroll.c, cm.c or dispnew.c.
+This is unambiguously an Emacs bug, and can probably be fixed in
+termcap.c, tparam.c, term.c, scroll.c, cm.c or dispnew.c.
 
 * Output from Control-V is slow.
 
 
 * You type Control-H (Backspace) expecting to delete characters.
 
-Emacs has traditionally used Control-H for help; unfortunately
-this interferes with its use as Backspace on TTY's.  This has not
-been fixed due to an incredible arrogance on RMS's part.  One way
-to solve this problem is to put this in your .emacs:
+Emacs has traditionally used Control-H for help; unfortunately this
+interferes with its use as Backspace on TTY's.  One way to solve this
+problem is to put this in your .emacs:
 
-  (global-set-key "\b" 'delete-backward-char)
-  (global-set-key "\M-h" 'help-command)
+  (keyboard-translate ?\C-h ?\C-?)
+  (global-set-key "\M-?" 'help-command)
 
 This makes Control-H (Backspace) work sensibly, and moves help to
-Meta-H (ESC H).
+Meta-? (ESC ?).
 
 Note that you can probably also access help using F1.
 
 Most of the functions in GNU Emacs return type Lisp_Object, which is
 defined as a union on some rare architectures.
 
-This problem will not happen if the m-...h file for your type
-of machine defines NO_UNION_TYPE.  That is the recommended setting now.
+This problem will not happen if the m-...h file for your type of
+machine defines NO_UNION_TYPE.  That is the recommended setting now.
 
 * `Error: No ExtNode to pop!' on Linux systems with Lesstif.
 
 
 * Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38")
 
-This error is given when XEmacs v20 is compiled without MULE support
+This error is given when XEmacs 20 is compiled without MULE support
 but is attempting to load a .elc which requires MULE support.  The fix
 is to rebytecompile the offending file.
 
 * alloc.c will not compile without -P on HP-UX 9.05
 
 Pekka Marjola <pema@iki.fi> writes:
-Gcc (2.7.2, with cpplib IIRC) required something (-P worked :) to get
-it to compile. Otherwise it failed on those DEFUN macros with comments
-inside parameter lists (like buffer.c, line 296).
+  Gcc (2.7.2, with cpplib IIRC) required something (-P worked :) to
+  get it to compile. Otherwise it failed on those DEFUN macros with
+  comments inside parameter lists (like buffer.c, line 296).
 
-* Excessive optimization with Gcc-2.7.2 and pgcc can break XEmacs
+* Excessive optimization with pgcc can break XEmacs
 
 It has been reported on some systems that compiling with -O6 can lead
 to XEmacs failures.  The workaround is to use a lower optimization
 * -O2 optimization on Irix 5.3 can cause compiler complaint.
 
 Nick J. Crabtree <nickc@scopic.com> writes:
-Comes up OK on a tty (all I have available over this slow link). Ill
-give it a hammering tomorrow.  The -O2 optimisation complained about
-sizes exceeding thresholds; I haven't bothered to use the -Olimit
-option it recommends.
+  Comes up OK on a tty (all I have available over this slow link). Ill
+  give it a hammering tomorrow.  The -O2 optimisation complained about
+  sizes exceeding thresholds; I haven't bothered to use the -Olimit
+  option it recommends.
 
 * Excessive optimization on AIX 4.2 can lead to compiler failure.
 
 Valdis.Kletnieks@vt.edu writes:
-At least at the b34 level, and the latest-and-greatest IBM xlc
-(3.1.4.4), there are problems with -O3.  I haven't investigated
-further.
+  At least at the b34 level, and the latest-and-greatest IBM xlc
+  (3.1.4.4), there are problems with -O3.  I haven't investigated
+  further.
 
 * Sed problems on Solaris 2.5
 
 There have been reports of Sun sed truncating very lines in the
-Makefile during configuration.  The workaround is to use GNU sed.
+Makefile during configuration.  The workaround is to use GNU sed or,
+even better, think of a better way to generate Makefile, and send us a 
+patch. :-)
 
 * CDE is not autodetected on HP.
 
 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
-I have to force /usr/dt/{lib,include} into the site include/lib
-command line options. I could add these in hpux10.h, but then I would
-think these should be pretty standard (to my knowledge, that's also
-where Sun puts its CDE stuff), so that wouldn't fix the problem on
-other architectures. AAMOF, when these path are given, CDE is
-detected, and DragAndDrop works (more or less, see next issue).
+  I have to force /usr/dt/{lib,include} into the site include/lib
+  command line options. I could add these in hpux10.h, but then I
+  would think these should be pretty standard (to my knowledge, that's
+  also where Sun puts its CDE stuff), so that wouldn't fix the problem
+  on other architectures. AAMOF, when these path are given, CDE is
+  detected, and DragAndDrop works (more or less, see next issue).
 
 * Signalling: (wrong-type-argument ...) when loading mail-abbrevs
 
 * On Irix 5.x and 6.x, the dumped XEmacs (xemacs) core dumps when executed 
   on another machine, or after newer SGI IRIX patches have been installed.
 
-The xemacs binary must be executed with the same "libc.so" file which was used 
-when the xemacs binary was dumped.  Some SGI IRIX patches update this file.
-Make sure that all machines using the xemacs binary are using the same
-set of IRIX patches.  If xemacs core dumps after a patch upgrade then you 
-will have to redump it from temacs.
+The xemacs binary must be executed with the same "libc.so" file which
+was used when the xemacs binary was dumped.  Some SGI IRIX patches
+update this file.  Make sure that all machines using the xemacs binary
+are using the same set of IRIX patches.  If xemacs core dumps after a
+patch upgrade then you will have to redump it from temacs.
 
 * xemacs: can't resolve symbol '__malloc_hook'
 
 
 * VM appears to hang in large folders
 
-This is normal (trust us) when upgrading to VM-6.22 from earlier versions.
-Let VM finish what it is doing and all will be well.
+This is normal (trust us) when upgrading to VM-6.22 from earlier
+versions.  Let VM finish what it is doing and all will be well.
 
 `msdos' holds configuration files for compiling XEmacs under MSDOG.
     See the file etc/MSDOS for more information.
-`vms' holds instructions and useful files for running XEmacs under VMS.
-    (not supported)
+
+`nt' holds configuration files for compiling XEmacs under Microsoft Windows
+    NT.  The support for NT is very tentative right now.
 --with-x=no		Don't support X.
 --x-includes=DIR 	Search for X header files in DIR.
 --x-libraries=DIR	Search for X libraries in DIR.
---with-ns		Support NeXTstep windows (not yet implemented).
 --with-menubars=TYPE	Use TYPE menubars (lucid, motif, or no).  The Lucid
 			widgets emulate Motif (mostly) but are faster.
 			*WARNING*  The Motif menubar is currently broken.
 --native-sound-lib=LIB	Native sound support library.  Needed on Suns
 			with --with-sound=both because both sound libraries
 			are called libaudio.
---with-epoch		Compile with additional Epoch compatibility.
 --with-mocklisp		Compile with Mocklisp support.  Don't do this
 			unless you have a Mocklisp program that you need
 			to run.
 #									   #
 ############################################################################
 
+
+
 ### Record all the arguments, so we can save them in config.status.
 arguments="$@"
 
 ### Shell Magic: Quote the quoted arguments in ARGUMENTS.  At a later date,
 ### in order to get the arguments back in $@, we have to do an
 ###  `eval set x "$quoted_arguments"; shift'.
+### We use sed to turn embedded ' into '"'"'.  I truly hate sh's quoting.
+quoted_sed_magic=s/"'"/"'"'"'"'"'"'"'"/g
 quoted_arguments=
 for i in "$@"; do
-   quoted_arguments="$quoted_arguments '$i'"
+   case "$i" in
+   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+   | --no-cr | --no-c) ;;
+   -norecursion | --norecursion | --norecursio | --norecursi \
+   | --norecurs | --norecur | --norecu | --norec | --nore | --nor) ;;
+   *)
+   quoted_i="`echo $i | sed $quoted_sed_magic`"
+   quoted_arguments="$quoted_arguments '$quoted_i'" ;;
+   esac
 done
 
 ### Don't use shift -- that destroys the argument list, which autoconf needs
 	with_gcc	| \
 	with_lcc	| \
 	with_gnu_make	| \
-	with_epoch	| \
 	dynamic		| \
 	with_term	| \
 	with_cde	| \
 	with_xface	| \
 	with_xmu	| \
 	quantify	| \
-	with_ns		| \
 	with_toolbars	| \
 	with_tty	| \
 	with_i18n3	| \
 	with_kerberos	| \
 	with_hesiod	| \
 	external_widget | \
-	extra_verbose   | \
+	verbose		| \
+	extra_verbose	| \
 	const_is_losing | \
 	usage_tracking  | \
 	use_union_type  | \
 	  case "${val}" in
 	    y | ye | yes )	val=yes ;;
 	    n | no )		val=no  ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
-Set it to either \`yes' or \`no'."
-	       echo "${short_usage}") >&2
-	      exit 1 ;;
+	    * ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option requires a boolean value: \`yes' or \`no'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 	  esac
           eval "${opt}=\"${val}\"" ;;
 
 	srcdir		| \
 	compiler	| \
 	puresize	| \
-	native_sound_lib	| \
+	native_sound_lib | \
 	x_includes	| \
 	x_libraries	| \
         wnn_includes    | \
         wnn_libraries   | \
-        canna_includes    | \
-        canna_libraries   | \
+        canna_includes  | \
+        canna_libraries | \
 	site_includes	| \
 	site_libraries	| \
 	site_runtime_libraries  )
 	  ## If the value was omitted, get it from the next argument.
 	  if test "${valomitted}" = "yes" ; then
 	    ## Get the next argument from the argument list, if there is one.
-            if test $# = 0 ; then
-	      (echo "${progname}: You must give a value for the \`--${optname}' option, as in
-    \`--${optname}=FOO'."
-	       echo "${short_usage}") >&2
-	      exit 1
+            if test "$#" = 0 ; then
+	      (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option requires a value."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1;
 	    fi
 	    val="$1"; shift
 	  fi
 	    n | no )		val=no  ;;
 	    d | de | def | defa | defau | defaul | default )
 				val=default ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value or \`default'.
-Set it to either \`yes', \`no', or \`default'."
-	       echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option requires one of these values:
+  \`yes', \`no', or \`default'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
 
         ## Has the user requested database support?
         "with_database" )
-	  if test "${val}" = "no"  ; then
-	    with_database_berkdb=no
-	    with_database_dbm=no
-	    with_database_gnudbm=no
-	  else
-            ## Make sure the value given was berkdb, dbm, gnudbm, or a list
-	    for x in `echo "${val}" | sed 's/,/ /'` ; do
-	      case "${x}" in
-                b | be | ber | berk | berkd | berkdb )  with_database_berkdb=yes ;;
-                d | db | dbm )				with_database_dbm=yes ;;
+	  with_database_berkdb=no
+	  with_database_dbm=no
+	  with_database_gnudbm=no
+          ## Make sure the value given was `no' or a list of berkdb, dbm, gnudbm
+	  for x in `echo "${val}" | sed 's/,/ /'` ; do
+	    case "${x}" in
+		no ) : ;;
+		b | be | ber | berk | berkd | berkdb )  with_database_berkdb=yes ;;
+		d | db | dbm )				with_database_dbm=yes    ;;
 		g | gn | gnu | gnud | gnudb | gnudbm )  with_database_gnudbm=yes ;;
-		* )
-                  (echo "${progname}: the \`--${optname}' option is supposed to be either \`no'
-  or a comma-separated list of one or more of \`berkdb', \`dbm', or \`gnudbm'."
-                   echo "${short_usage}") >&2
-                  exit 1
-                ;;
-              esac
-	    done
-	    if test "${with_database_dbm}" = "yes" -a "${with_database_gnudbm}" = "yes"
-	    then
-	      (echo "${progname}: only one of \`dbm' and \`gnudbm' should be specified.") >&2
-	      exit 1
-	    fi
+		* ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option value
+  must be either \`no' or a comma-separated list
+  of one or more of \`berkdb', \`dbm', or \`gnudbm'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
+            esac
+	  done
+	  if test "${with_database_dbm}"    = "yes" -a \
+	          "${with_database_gnudbm}" = "yes" ; then
+	  (echo "${progname}: Usage error:"
+echo " " "Only one of \`dbm' and \`gnudbm' may be specified
+  with the \`--${optname}' option."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1
 	  fi
         ;;
 
 	    na | nat | nati | nativ | native )	val=native  ;;
 	    ne | net | neta | netau | netaud | netaudi | netaudio | nas )	val=nas  ;;
 	    b | bo | bot | both )		val=both;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option should have one of the values:"
-		echo "\`native', \`nas', \`both', or \`none'."
-		echo ""
-		echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option must have one of these values:
+  \`native', \`nas', \`both', or \`none'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
         ## Has the user requested XIM support?
 	"with_xim" )
 	  ## value can be xlib or motif
-	  ## as a backwards compatible synonym for native
 	  case "${val}" in
 	    y | ye | yes )			val=yes   ;;
 	    n | no | non | none )		val=no    ;;
 	    x | xl | xli | xlib )		val=xlib  ;;
 	    m | mo | mot | moti | motif )	val=motif ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option should have one of the values:"
-		echo "\`motif', \`xlib', \`yes', or \`no'."
-		echo ""
-		echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option must have one of these values:
+  \`motif', \`xlib', \`yes', or \`no'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
 	    y | ye | yes )	  val=yes  ;;
 	    n | no )		  val=no   ;;
 	    g | gn | gnu | gnuz ) val=gnuz ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option is supposed to
-  be either \`yes', \`no', or \`gnuz'."
-	       echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option must have one of these values:
+  \`yes', \`no', or \`gnuz'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
 	    esac
 	    if test "$bogus_error_check" -o \
 	         \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then
-		( echo "${progname}: Valid types for the \`--${optname}' option are:"
 		if test $error_check_default = yes ; then
-		  echo "\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'."
+		  types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'."
 		else
-		  echo "\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
+		  types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
 		fi
-		echo "${short_usage}" ) >&2
-		exit 1
+		(echo "${progname}: Usage error:"
+echo " " "Valid types for the \`--${optname}' option are:
+  $types."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1
 	    elif test "$new_default" ; then
 		error_check_extents=$new_default
 		error_check_typecheck=$new_default
 	sitelispdir | docdir )
 	   ## If the value was omitted, get it from the next argument.
 	   if test "${valomitted}" = "yes" ; then
-	      if test $# = 0 ; then
-		 (echo \
-"$progname: You must give a value for the \`--${optname}' option,";
-		  echo \
-"as in \`--${optname}=`eval echo '$'$optname`.'"
-		  echo "$short_usage") >&2
-		 exit 1
-	      fi
-	      val="$1"; shift
+	     if test "$#" = 0 ; then
+		 (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option requires a value."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1;
+	     fi
+	     val="$1"; shift
 	   fi
 	   eval "${opt}=\"${val}\""
 
 	cflags )
 	   ## If the value was omitted, get it from the next argument.
 	   if test "${valomitted}" = "yes" ; then
-	      if test $# = 0 ; then
-		 (echo \
-"$progname: You must give a value for the \`--${optname}' option,";
-		  echo \
-"as in \`--${optname}=`eval echo '$'$optname`-g -O'"
-		  echo "$short_usage") >&2
-		 exit 1
+	      if test "$#" = 0 ; then
+	        (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option requires a value."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1;
 	      fi
 	      val="$1"; shift
 	   fi
 	   eval "${opt}_specified=1"
 	;;
 
-	## Verbose flag, tested by autoconf macros.
-	"verbose" )
-	  verbose=yes
-	;;
-
 	## --no-create added by autoconf for use by config.status
 	"no_create" )
 	;;
 
 	## Has the user asked for some help?
 	"usage" | "help" )
-	  if test -z "$PAGER"
-	  then echo "${short_usage}" | more
-	  else echo "${short_usage}" | $PAGER
-	  fi
-	  exit
+	  echo "${short_usage}" | ${PAGER:-more}
+	  exit 0
 	;;
 
 	## Has the user specified what toolkit to use for the menubars,
 	    athena3d | athena-3d )			val=athena3d ;;
 	    a | at | ath | athe | athen | athena )	val=athena ;;
 	    n | no | non | none )			val=no ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option should have one of the values:"
-		echo "\`lucid', \`motif', \`athena', or \`no'."
-		echo ""
-		echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) (echo "${progname}: Usage error:"
+echo " " "The \`--${optname}' option must have one of these values:
+  \`lucid', \`motif', \`athena', or \`no'."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 	  esac
 	  eval "${opt}=\"${val}\""
 	;;
 
         ## Fail on unrecognized arguments.
-	* )
-	  (echo "${progname}: Error: unrecognized option: ${arg}"
-	   echo ""
-           echo "${short_usage}") >& 2
-	  exit 1
-	;;
+	* ) (echo "${progname}: Usage error:"
+echo " " "Unrecognized option: ${arg}"
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1 ;;
 
       esac
     ;;
 
 ### Can't specify 2 compilers
 if test "${with_gcc}" = "yes" -a "${with_lcc}" = "yes"; then
-  (echo "${progname}: only one of --with-gcc and --with-lcc may be specified."
-   echo "${short_usage}") >&2
-  exit 1
+  (echo "${progname}: Usage error:"
+echo " " "Only one of --with-gcc and --with-lcc may be specified."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1
 fi
 
 ### Ignore useless run-in-place flag
 if test "${run_in_place}" = "yes"; then
-   echo "configure: warning: The --run-in-place option is ignored because it is unnecessary." >&2 
+  echo "configure: warning: The --run-in-place option is ignored because it is unnecessary." >&2
 fi
 
 ###########################################################################
   if configuration=`${CONFIG_SHELL-/bin/sh} ${guesssys}` ; then
     echo "- Looks like this is a ${configuration}" 1>&2
   else
-    echo '- Failed to guess the system type.  You need to tell me.' 1>&2
-    echo "${short_usage}" >&2
-    exit 1
+    (echo "${progname}: Usage error:"
+echo " " "Failed to guess the system type.  You need to tell me."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1
   fi
 fi
 
   ## If it's not specified, see if  `.' or `..' might work.
   "" )
     for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`" "." ".." ; do
-      if test -f "$dir/src/lisp.h" -a -f "$dir/lisp/version.el" ; then
+      if test -f "$dir/src/lisp.h" -a \
+	      -f "$dir/lisp/version.el" ; then
         srcdir="${dir}"
         break
       fi
     done
     if test -z "${srcdir}" ; then
-      echo "\
-${progname}: Neither the current directory nor its parent seem to
-contain the XEmacs sources.  If you do not want to build XEmacs in its
-source tree, you should run \`${progname}' in the directory in which
-you wish to build XEmacs, using its \`--srcdir' option to say where the
-sources may be found.
-${short_usage}" >&2
-	exit 1
-      fi
+      (echo "${progname}: Usage error:"
+echo " " "Neither the current directory nor its parent seem to
+  contain the XEmacs sources.  If you do not want to build XEmacs in its
+  source tree, you should run \`${progname}' in the directory in which
+  you wish to build XEmacs, using the \`--srcdir' option to say where the
+  sources may be found."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1
+    fi
   ;;
 
   ## Otherwise, check if the directory they specified is okay.
   * )
-    if test ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ; then
-      (echo "\
-${progname}: The directory specified with the \`--srcdir' option,
-\`${srcdir}', doesn't seem to contain the XEmacs sources.  You should
-either run the \`${progname}' script at the top of the XEmacs source
-tree, or use the \`--srcdir' option to specify where the XEmacs sources
-are."
-       echo "${short_usage}") >&2
-      exit 1
+    if test ! -d "${srcdir}" -o \
+	    ! -f "${srcdir}/src/lisp.h" -o \
+	    ! -f "${srcdir}/lisp/version.el" ; then
+      (echo "${progname}: Usage error:"
+echo " " "The directory specified with the \`--srcdir' option,
+  \`${srcdir}', doesn't seem to contain the XEmacs sources.  You should
+  either run the \`${progname}' script at the top of the XEmacs source
+  tree, or use the \`--srcdir' option to specify the XEmacs source directory."
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1
     fi
   ;;
 esac
 
 ## We check for this now instead of later when we check for other
 ## programs because we need to use its return value now.
- test -n "$silent" || echo "checking for ln -s"
+test -n "$silent" || echo "checking for ln -s"
 rm -f conftestdata
 if ln -s X conftestdata 2>/dev/null
 then
   fi
 done
 
-
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessary, since pwd can
 #### give you automounter prefixes, which can go away.
 
   ## Alpha (DEC) machines.
   ## XEmacs change: split apart into numerous files.
-  alpha-dec-osf1.3 | alpha-dec-osf2* ) machine=alpha opsys=decosf1-3 ;;
-  alpha-dec-osf1.2 | alpha-dec-osf1* ) machine=alpha opsys=decosf1-2 ;;
-
-  ## XEmacs: Add switch for OSF 1 version 3 (roth@cse.ucsc.edu)
-  ## XEmacs: Add switch for Digital Unix version 4 (srivasta@pilgrim.umass.edu)
-  alpha-dec-osf3.[2-9] ) machine=alpha opsys=decosf3-2 ;;
-  alpha-dec-osf3* )      machine=alpha opsys=decosf3-1 ;;
-  alpha-dec-osf4* )      machine=alpha opsys=decosf4-0 ;;
-  alpha-*-linux* )       machine=alpha opsys=linux ;;
+  alpha-*-* )
+    machine=alpha
+    case "${canonical}" in
+      *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;;
+      *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;;
+
+      ## XEmacs: Add switch for OSF 1 version 3 (roth@cse.ucsc.edu)
+      ## XEmacs: Add switch for Digital Unix version 4 (srivasta@pilgrim.umass.edu)
+      *-dec-osf3.[2-9] ) opsys=decosf3-2 ;;
+      *-dec-osf3* )        opsys=decosf3-1 ;;
+      *-dec-osf4* )        opsys=decosf4-0 ;;
+      *-*-linux*  )        opsys=linux ;;
+    esac
+  ;;
 
   ## Altos 3068
   m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;;
   cydra*-cydrome-sysv* ) machine=cydra5 opsys=usg5-3 ;;
 
   ## Data General AViiON Machines
-  i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;;
+  i586-dg-dgux*R4*   | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;;
   m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) machine=aviion opsys=dgux5-4r3 ;;
   m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* ) machine=aviion opsys=dgux5-4r2 ;;
   m88k-dg-dgux* 			  ) machine=aviion opsys=dgux	   ;;
 
-  mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) machine=pmax opsys=bsd4-2 ;;
-  mips-dec-ultrix4.[12]* | mips-dec-bsd* ) machine=pmax opsys=bsd4-3 ;;
-  mips-dec-ultrix* )                       machine=pmax opsys=ultrix4-3 ;;
-  mips-dec-osf* )                          machine=pmax opsys=osf1 ;;
-  mips-dec-mach_bsd4.3* )                  machine=pmax opsys=mach-bsd4-3 ;;
+  ## Dec Mips machines
+  mips-dec-* )
+    machine=pmax
+    case "${canonical}" in
+      *-*-ultrix[0-3].* | *-*-ultrix4.0* | *-*-bsd4.2* ) opsys=bsd4-2 ;;
+      *-*-ultrix4.[12]* | *-*-bsd* ) opsys=bsd4-3 ;;
+      *-*-ultrix* )                    opsys=ultrix4-3 ;;
+      *-*-osf* )                       opsys=osf1 ;;
+      *-*-mach_bsd4.3* )               opsys=mach-bsd4-3 ;;
+    esac
+  ;;
 
   ## Motorola Delta machines
   m68k-motorola-sysv* | m68000-motorola-sysv* )
   ## Iris 4D
   mips-sgi-irix3.*      ) machine=iris4d opsys=irix3-3 ;;
   mips-sgi-irix4.*      ) machine=iris4d opsys=irix4-0 ;;
-  mips-sgi-irix6*       ) machine=iris4d
-			opsys=irix6-0
-			NON_GNU_CC="cc -Olimit 2000" ;;
+  mips-sgi-irix6*       ) machine=iris4d opsys=irix6-0 NON_GNU_CC="cc -Olimit 2000" ;;
   mips-sgi-irix5.[3-9]* ) machine=iris4d opsys=irix5-3 ;;
   mips-sgi-irix5.2*     ) machine=iris4d opsys=irix5-2 ;;
   mips-sgi-irix5.1*     ) machine=iris4d opsys=irix5-1 ;;
       m68*-sunos1* )	         machine=sun1     ;;
       m68*-sunos2* )	         machine=sun2     ;;
       m68* )		         machine=sun3     ;;
-      i[3-9]86*-sun-sunos[34]* ) machine=sun386   ;;
+      i[3-9]86*-sun-sunos[34]* ) machine=sun386 ;;
       i[3-9]86-*-* )	         machine=intel386 ;;
       rs6000* )                  machine=rs6000   ;;
       sparc* )		         machine=sparc    ;;
       *-sunos4.0*	  ) opsys=sunos4-0	;;
       *-sunos4.1.2*	  ) opsys=sunos4-1-2	;;
       *-sunos4.1.3*	  ) opsys=sunos4-1-3	;;
-      *-sunos4.1.[4-9]*	  ) opsys=sunos4-1-4	;;
+      *-sunos4.1.[4-9]* ) opsys=sunos4-1-4	;;
       *-sunos4* | *-sunos ) opsys=sunos4-1	;;
 
       *-solaris2.3*	  ) opsys=sol2-3	;;
       *-solaris2.4*	  ) opsys=sol2-4	;;
       *-solaris2.5*	  ) opsys=sol2-5	;;
-      *-solaris2.[6-9]*	  ) opsys=sol2-6	;;
+      *-solaris2.[6-9]* ) opsys=sol2-6	;;
       *-solaris*	  ) opsys=sol2		;;
 
       *-mach*		  ) opsys=mach-bsd4-3	;;
   i[3-9]86-*-* )
     machine=intel386
     case "${canonical}" in
-      *-isc1.* | *-isc2.[01]* )	opsys=386-ix ;;
+      *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
       *-isc2.2* )		opsys=isc2-2 ;;
       *-isc4.0* )		opsys=isc4-0 ;;
       *-isc4.* )		opsys=isc4-1
 
 
 
-
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='${CPP}'
   esac
 fi
 
-
-
 #### Some systems specify a CPP to use unless we are using GCC.
 #### Now that we know whether we are using GCC, we can decide whether
 #### to use that one.
 #### Some other nice autoconf tests.  If you add a test here which
 #### should make an entry in src/config.h, don't forget to add an
 #### #undef clause to src/config.h.in for autoconf to modify.
-
 test -n "$silent" || echo "checking how to run the C preprocessor"
 if test -z "$CPP"; then
   # This must be in double quotes, not single quotes, because CPP may get
 
 
 
-for ac_hdr in mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h utime.h sys/wait.h libintl.h locale.h libgen.h linux/version.h kstat.h sys/pstat.h
+for ac_hdr in mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h
+do
+ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
+test -n "$silent" || echo "checking for ${ac_hdr}"
+cat > conftest.${ac_ext} <<EOF
+#include "confdefs.h"
+#include <${ac_hdr}>
+EOF
+ac_err=`eval "(exec $ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
+if test "${extra_verbose}" = "yes"  && test -n "$ac_err"; then
+  echo "$ac_err"
+fi
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  
+{
+test -n "$verbose" && \
+echo "	defining ${ac_tr_hdr}"
+echo "#define" ${ac_tr_hdr} "1" >> confdefs.h
+DEFS="$DEFS -D${ac_tr_hdr}=1"
+ac_sed_defs="${ac_sed_defs}\${ac_dA}${ac_tr_hdr}\${ac_dB}${ac_tr_hdr}\${ac_dC}1\${ac_dD}
+\${ac_uA}${ac_tr_hdr}\${ac_uB}${ac_tr_hdr}\${ac_uC}1\${ac_uD}
+\${ac_eA}${ac_tr_hdr}\${ac_eB}${ac_tr_hdr}\${ac_eC}1\${ac_eD}
+"
+}
+
+
+fi
+rm -f conftest*
+done
+
+for ac_hdr in utime.h sys/wait.h libintl.h locale.h libgen.h
+do
+ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
+test -n "$silent" || echo "checking for ${ac_hdr}"
+cat > conftest.${ac_ext} <<EOF
+#include "confdefs.h"
+#include <${ac_hdr}>
+EOF
+ac_err=`eval "(exec $ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
+if test "${extra_verbose}" = "yes"  && test -n "$ac_err"; then
+  echo "$ac_err"
+fi
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  
+{
+test -n "$verbose" && \
+echo "	defining ${ac_tr_hdr}"
+echo "#define" ${ac_tr_hdr} "1" >> confdefs.h
+DEFS="$DEFS -D${ac_tr_hdr}=1"
+ac_sed_defs="${ac_sed_defs}\${ac_dA}${ac_tr_hdr}\${ac_dB}${ac_tr_hdr}\${ac_dC}1\${ac_dD}
+\${ac_uA}${ac_tr_hdr}\${ac_uB}${ac_tr_hdr}\${ac_uC}1\${ac_uD}
+\${ac_eA}${ac_tr_hdr}\${ac_eB}${ac_tr_hdr}\${ac_eC}1\${ac_eD}
+"
+}
+
+
+fi
+rm -f conftest*
+done
+
+for ac_hdr in linux/version.h kstat.h sys/pstat.h inttypes.h
 do
 ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
 test -n "$silent" || echo "checking for ${ac_hdr}"
   fi
 fi
 
-
 # What the hell was this doing here??????
 ### echo > confdefs.h		# this gets nuked above...
 
   ;;
 esac
 
-
 case "${window_system}" in "" | "x11" )
     ### If the user hasn't specified where we should find X, try
     ### letting autoconf figure that out.
     echo "Unable to proceed." >&2
     exit 1
   fi
-  for feature in epoch cde offix menubars scrollbars toolbars dialogs xim tiff
+  for feature in cde offix menubars scrollbars toolbars dialogs xim tiff
   do
     if eval "test -n \"\$with_$feature\" -a \"\$with_$feature\" != no" ; then
        echo "configure: warning: --with-$feature ignored:  Not valid without X support" >&2
 
 #### Add the libraries to LIBS and check for some functions.
 
-
 CPPFLAGS="${C_SWITCH_SITE} $c_switch_system $c_switch_machine $c_switch_x_system $CPPFLAGS"
 DEFS="${C_SWITCH_SITE} $c_switch_system $c_switch_machine $c_switch_x_system $DEFS"
 LIBS="${LD_SWITCH_SITE} $ld_switch_x_system $libsrc_libs $LIBS"
 
 
 ac_save_LIBS="${LIBS}"
+LIBS="${LIBS} -lintl"
+ac_have_lib=""
+test -n "$silent" || echo "checking for -lintl"
+cat > conftest.${ac_ext} <<EOF
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() { main();; return 0; }
+EOF
+if eval $ac_compile; then
+  rm -rf conftest*
+  ac_have_lib="1"
+
+fi
+rm -f conftest*
+LIBS="${ac_save_LIBS}"
+if test -n "${ac_have_lib}"; then
+   :; 
+{
+test -n "$verbose" && \
+echo "	defining HAVE_LIBINTL"
+echo "#define" HAVE_LIBINTL "1" >> confdefs.h
+DEFS="$DEFS -DHAVE_LIBINTL=1"
+ac_sed_defs="${ac_sed_defs}\${ac_dA}HAVE_LIBINTL\${ac_dB}HAVE_LIBINTL\${ac_dC}1\${ac_dD}
+\${ac_uA}HAVE_LIBINTL\${ac_uB}HAVE_LIBINTL\${ac_uC}1\${ac_uD}
+\${ac_eA}HAVE_LIBINTL\${ac_eB}HAVE_LIBINTL\${ac_eC}1\${ac_eD}
+"
+}
+
+else
+   :; 
+fi
+
+
+ac_save_LIBS="${LIBS}"
 LIBS="${LIBS} -lXbsd"
 ac_have_lib=""
 test -n "$silent" || echo "checking for -lXbsd"
 "
 }
 
-test "${with_epoch}" = yes && 
-{
-test -n "$verbose" && \
-echo "	defining EPOCH"
-echo "#define" EPOCH "1" >> confdefs.h
-DEFS="$DEFS -DEPOCH=1"
-ac_sed_defs="${ac_sed_defs}\${ac_dA}EPOCH\${ac_dB}EPOCH\${ac_dC}1\${ac_dD}
-\${ac_uA}EPOCH\${ac_uB}EPOCH\${ac_uC}1\${ac_uD}
-\${ac_eA}EPOCH\${ac_eB}EPOCH\${ac_eC}1\${ac_eD}
-"
-}
-
 test "${external_widget}" = yes && 
 {
 test -n "$verbose" && \
 (
 echo "uname -a: `uname -a`" 
 echo "" 
-echo "$0 $configure_args" 
+echo "$0 $quoted_arguments" 
 ) >> Installation
 # Start stdout redirection to '| tee -a Installation'
 (
 elif test -n "$site_runtime_libraries"; then
   echo "  Additional libraries:                                   ${site_runtime_libraries}"
 fi
-if test "$with_wnn" = yes ; then
-  echo "  Finding WNN includes with:                              ${wnn_includes}"
-  echo "  Loading WNN libs with:                                  ${wnn_libraries}"
-fi
 test "$with_socks" = yes && echo "  Compiling in support for SOCKS."
 test "$with_term"  = yes && echo "  Compiling in support for TERM."
 test "$with_xauth" = yes && echo "  Compiling in support for XAUTH."
   echo "  (Using -lgz instead of -lz.)"
 fi
 test "$with_tiff"  = yes && echo "  Compiling in support for TIFF image conversion (not implemented)."
-test "$with_epoch" = yes && echo "  Compiling in extra Epoch compatibility."
 
 test "$with_sound" = nas    && echo "  Compiling in network sound support."
 test "$with_sound" = native && echo "  Compiling in native sound support."
 test "$with_xim" = motif    && echo "    Using Motif to provide XIM support."
 test "$with_xim" = xlib     && echo "    Using raw Xlib to provide XIM support."
 test "$with_canna"    = yes && echo "  Compiling in support for Canna on Mule."
-test "$with_wnn"      = yes && echo "  Compiling in support for WNN on Mule."
-test "$with_wnn6"     = yes && echo "  WNN support for version 6."
+if test "$with_wnn" = yes; then
+  echo "  Compiling in support for the WNN input method on Mule."
+  test "$with_wnn6" = yes && echo "    WNN support for version 6."
+  echo "    Finding WNN includes with:                          ${wnn_includes}"
+  echo "    Finding WNN libs with:                              ${wnn_libraries}"
+fi
 test "$with_i18n3"    = yes && echo "  Compiling in I18N support, level 3 (doesn't currently work)."
 
 test "$with_cde"      = yes && echo "  Compiling in support for CDE."
 test "$with_dialogs"    = motif  && echo "  Using the Motif dialog boxes."
 test "$with_dialogs"    = athena && echo "  Using the Athena dialog boxes."
 test "$with_dialogs"    = athena3d && echo "  Using the Athena-3d dialog boxes."
-test "$with_pop"	= yes && "Using POP for mail access"
-test "$with_kerberos"	= yes && "Using Kerberos for POP authentication"
-test "$with_hesiod"	= yes && "Using Hesiod to get POP server host"
+test "$with_pop"	= yes && "  Using POP for mail access"
+test "$with_kerberos"	= yes && "  Using Kerberos for POP authentication"
+test "$with_hesiod"	= yes && "  Using Hesiod to get POP server host"
 
 test "${use_union_type}"     = yes && echo "  Using the union type for Lisp_Objects."
 test "${debug}"              = yes && echo "  Compiling in extra code for debugging."
 echo ""
 
 
- 
+
 # Remove any trailing slashes in these variables.
 test -n "${prefix}" &&
   prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`
 # This directory was configured as follows,
 # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 #
-# $0 $configure_args
+# $0 $quoted_arguments
 
 ac_cs_usage="Usage: config.status [--recheck] [--version] [--help]"
 for ac_option
 do
   case "\$ac_option" in
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args --no-create
-    exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args --no-create ;;
+    echo running \${CONFIG_SHELL-/bin/sh} $0 $quoted_arguments --no-create
+    exec \${CONFIG_SHELL-/bin/sh} $0 $quoted_arguments --no-create ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
     echo "config.status generated by autoconf version 1.11"
     exit 0 ;;
 chmod +x config.status
 # Some shells look in PATH for config.status without the "./".
 test -n "$no_create" || ${CONFIG_SHELL-/bin/sh} ./config.status
- 
+
 # Build:
 # src/Makefile      from ${srcdir}/src/Makefile.in
 # lwlib/Makefile    from ${srcdir}/lwlib/Makefile.in
 
 exit 0
 
+
+# Local Variables:
+# eval: (modify-syntax-entry ?\" "\"")
+# End:
-dnl -*- mode: m4; m4-mode-hook : (lambda () (modify-syntax-entry ?\" "\"\"")) ;  -*-
+dnl -*- mode: m4; -*-
 dnl Synched up with: FSF 19.31.
 dnl (19.29 -- 19.31 use Autoconf 2.x instead of Autoconf 1.x.
 dnl  Some stuff related to this change has not been synched because
 dnl explaining how to rebuild it.
 dnl
 AC_PREREQ(1.9)dnl means 'delete newline' and this one needs to be here
-[#!/bin/sh
+#!/bin/sh
 #### Configuration script for XEmacs.
 #### Copyright (C) 1994 Free Software Foundation, Inc.
 #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
 #									   #
 ############################################################################
 
-short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
+short_usage="Usage: ${progname} CONFIGURATION [[-OPTION[=VALUE] ...]]
 
 Set compilation and installation parameters for XEmacs, and report.
 CONFIGURATION specifies the machine and operating system to build for.
 --with-x=no		Don't support X.
 --x-includes=DIR 	Search for X header files in DIR.
 --x-libraries=DIR	Search for X libraries in DIR.
---with-ns		Support NeXTstep windows (not yet implemented).
 --with-menubars=TYPE	Use TYPE menubars (lucid, motif, or no).  The Lucid
 			widgets emulate Motif (mostly) but are faster.
 			*WARNING*  The Motif menubar is currently broken.
 --native-sound-lib=LIB	Native sound support library.  Needed on Suns
 			with --with-sound=both because both sound libraries
 			are called libaudio.
---with-epoch		Compile with additional Epoch compatibility.
 --with-mocklisp		Compile with Mocklisp support.  Don't do this
 			unless you have a Mocklisp program that you need
 			to run.
 
 --debug			Compile with support for debugging XEmacs.
 			(Causes code-size increase and little loss of speed.)
---error-checking=TYPE[,TYPE]...
+--error-checking=TYPE[[,TYPE]]...
 			Compile with internal error-checking added.
 			Causes noticeable loss of speed.  Valid types
 			are extents, bufpos, malloc, gc, typecheck.
 #									   #
 ############################################################################
 
+define([USAGE_ERROR],
+[(echo "${progname}: Usage error:"
+echo " " $1
+echo "  Use \`${progname} --help' for more details.") >&2 && exit 1])
+
 ### Record all the arguments, so we can save them in config.status.
 arguments="$@"
 
 ### Shell Magic: Quote the quoted arguments in ARGUMENTS.  At a later date,
 ### in order to get the arguments back in $@, we have to do an
 ###  `eval set x "$quoted_arguments"; shift'.
+### We use sed to turn embedded ' into '"'"'.  I truly hate sh's quoting.
+quoted_sed_magic=s/"'"/"'"'"'"'"'"'"'"/g
 quoted_arguments=
 for i in "$@"; do
-   quoted_arguments="$quoted_arguments '$i'"
+   case "$i" in
+   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+   | --no-cr | --no-c) ;;
+   -norecursion | --norecursion | --norecursio | --norecursi \
+   | --norecurs | --norecur | --norecu | --norec | --nore | --nor) ;;
+   *)
+   quoted_i="`echo $i | sed $quoted_sed_magic`"
+   quoted_arguments="$quoted_arguments '$quoted_i'" ;;
+   esac
 done
 
 ### Don't use shift -- that destroys the argument list, which autoconf needs
       ## Separate the switch name from the value it's being given.
       case "${arg}" in
         -*=*)
-	  opt=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*\([^=]*\)=.*$:\1:'`
-	  val=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*[^=]*=\(.*\)$:\1:'`
+	  opt=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*\([[^=]]*\)=.*$:\1:'`
+	  val=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*[[^=]]*=\(.*\)$:\1:'`
 	  valomitted=no
 	;;
 #         ## special case these strings since echo may
 	with_gcc	| \
 	with_lcc	| \
 	with_gnu_make	| \
-	with_epoch	| \
 	dynamic		| \
 	with_term	| \
 	with_cde	| \
 	with_xface	| \
 	with_xmu	| \
 	quantify	| \
-	with_ns		| \
 	with_toolbars	| \
 	with_tty	| \
 	with_i18n3	| \
 	with_kerberos	| \
 	with_hesiod	| \
 	external_widget | \
-	extra_verbose   | \
+	verbose		| \
+	extra_verbose	| \
 	const_is_losing | \
 	usage_tracking  | \
 	use_union_type  | \
 	  case "${val}" in
 	    y | ye | yes )	val=yes ;;
 	    n | no )		val=no  ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
-Set it to either \`yes' or \`no'."
-	       echo "${short_usage}") >&2
-	      exit 1 ;;
+	    * ) USAGE_ERROR("The \`--${optname}' option requires a boolean value: \`yes' or \`no'.") ;;
 	  esac
           eval "${opt}=\"${val}\"" ;;
 
 	srcdir		| \
 	compiler	| \
 	puresize	| \
-	native_sound_lib	| \
+	native_sound_lib | \
 	x_includes	| \
 	x_libraries	| \
         wnn_includes    | \
         wnn_libraries   | \
-        canna_includes    | \
-        canna_libraries   | \
+        canna_includes  | \
+        canna_libraries | \
 	site_includes	| \
 	site_libraries	| \
 	site_runtime_libraries  )
 	  ## If the value was omitted, get it from the next argument.
 	  if test "${valomitted}" = "yes" ; then
 	    ## Get the next argument from the argument list, if there is one.
-            if test $# = 0 ; then
-	      (echo "${progname}: You must give a value for the \`--${optname}' option, as in
-    \`--${optname}=FOO'."
-	       echo "${short_usage}") >&2
-	      exit 1
+            if test "$#" = 0 ; then
+	      USAGE_ERROR("The \`--${optname}' option requires a value.");
 	    fi
 	    val="$1"; shift
 	  fi
 	    n | no )		val=no  ;;
 	    d | de | def | defa | defau | defaul | default )
 				val=default ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value or \`default'.
-Set it to either \`yes', \`no', or \`default'."
-	       echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) USAGE_ERROR(["The \`--${optname}' option requires one of these values:
+  \`yes', \`no', or \`default'."]) ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
 
         ## Has the user requested database support?
         "with_database" )
-	  if test "${val}" = "no"  ; then
-	    with_database_berkdb=no
-	    with_database_dbm=no
-	    with_database_gnudbm=no
-	  else
-            ## Make sure the value given was berkdb, dbm, gnudbm, or a list
-	    for x in `echo "${val}" | sed 's/,/ /'` ; do
-	      case "${x}" in
-                b | be | ber | berk | berkd | berkdb )  with_database_berkdb=yes ;;
-                d | db | dbm )				with_database_dbm=yes ;;
+	  with_database_berkdb=no
+	  with_database_dbm=no
+	  with_database_gnudbm=no
+          ## Make sure the value given was `no' or a list of berkdb, dbm, gnudbm
+	  for x in `echo "${val}" | sed 's/,/ /'` ; do
+	    case "${x}" in
+		no ) : ;;
+		b | be | ber | berk | berkd | berkdb )  with_database_berkdb=yes ;;
+		d | db | dbm )				with_database_dbm=yes    ;;
 		g | gn | gnu | gnud | gnudb | gnudbm )  with_database_gnudbm=yes ;;
-		* )
-                  (echo "${progname}: the \`--${optname}' option is supposed to be either \`no'
-  or a comma-separated list of one or more of \`berkdb', \`dbm', or \`gnudbm'."
-                   echo "${short_usage}") >&2
-                  exit 1
-                ;;
-              esac
-	    done
-	    if test "${with_database_dbm}" = "yes" -a "${with_database_gnudbm}" = "yes"
-	    then
-	      (echo "${progname}: only one of \`dbm' and \`gnudbm' should be specified.") >&2
-	      exit 1
-	    fi
+		* ) USAGE_ERROR(["The \`--${optname}' option value
+  must be either \`no' or a comma-separated list
+  of one or more of \`berkdb', \`dbm', or \`gnudbm'."]) ;;
+            esac
+	  done
+	  if test "${with_database_dbm}"    = "yes" -a \
+	          "${with_database_gnudbm}" = "yes" ; then
+	  USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
+  with the \`--${optname}' option.")
 	  fi
         ;;
 
 	    na | nat | nati | nativ | native )	val=native  ;;
 	    ne | net | neta | netau | netaud | netaudi | netaudio | nas )	val=nas  ;;
 	    b | bo | bot | both )		val=both;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option should have one of the values:"
-		echo "\`native', \`nas', \`both', or \`none'."
-		echo ""
-		echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values:
+  \`native', \`nas', \`both', or \`none'."]) ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
         ## Has the user requested XIM support?
 	"with_xim" )
 	  ## value can be xlib or motif
-	  ## as a backwards compatible synonym for native
 	  case "${val}" in
 	    y | ye | yes )			val=yes   ;;
 	    n | no | non | none )		val=no    ;;
 	    x | xl | xli | xlib )		val=xlib  ;;
 	    m | mo | mot | moti | motif )	val=motif ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option should have one of the values:"
-		echo "\`motif', \`xlib', \`yes', or \`no'."
-		echo ""
-		echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values:
+  \`motif', \`xlib', \`yes', or \`no'."]) ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
 	    y | ye | yes )	  val=yes  ;;
 	    n | no )		  val=no   ;;
 	    g | gn | gnu | gnuz ) val=gnuz ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option is supposed to
-  be either \`yes', \`no', or \`gnuz'."
-	       echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values:
+  \`yes', \`no', or \`gnuz'."]) ;;
 	  esac
           eval "${opt}=\"${val}\""
         ;;
 	    esac
 	    if test "$bogus_error_check" -o \
 	         \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then
-		( echo "${progname}: Valid types for the \`--${optname}' option are:"
 		if test $error_check_default = yes ; then
-		  echo "\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'."
+		  types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'."
 		else
-		  echo "\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
+		  types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
 		fi
-		echo "${short_usage}" ) >&2
-		exit 1
+		USAGE_ERROR(["Valid types for the \`--${optname}' option are:
+  $types."])
 	    elif test "$new_default" ; then
 		error_check_extents=$new_default
 		error_check_typecheck=$new_default
 	sitelispdir | docdir )
 	   ## If the value was omitted, get it from the next argument.
 	   if test "${valomitted}" = "yes" ; then
-	      if test $# = 0 ; then
-		 (echo \
-"$progname: You must give a value for the \`--${optname}' option,";
-		  echo \
-"as in \`--${optname}=`eval echo '$'$optname`.'"
-		  echo "$short_usage") >&2
-		 exit 1
-	      fi
-	      val="$1"; shift
+	     if test "$#" = 0 ; then
+		 USAGE_ERROR("The \`--${optname}' option requires a value.");
+	     fi
+	     val="$1"; shift
 	   fi
 	   eval "${opt}=\"${val}\""
 
 	cflags )
 	   ## If the value was omitted, get it from the next argument.
 	   if test "${valomitted}" = "yes" ; then
-	      if test $# = 0 ; then
-		 (echo \
-"$progname: You must give a value for the \`--${optname}' option,";
-		  echo \
-"as in \`--${optname}=`eval echo '$'$optname`-g -O'"
-		  echo "$short_usage") >&2
-		 exit 1
+	      if test "$#" = 0 ; then
+	        USAGE_ERROR("The \`--${optname}' option requires a value.");
 	      fi
 	      val="$1"; shift
 	   fi
 	   eval "${opt}_specified=1"
 	;;
 
-	## Verbose flag, tested by autoconf macros.
-	"verbose" )
-	  verbose=yes
-	;;
-
 	## --no-create added by autoconf for use by config.status
 	"no_create" )
 	;;
 
 	## Has the user asked for some help?
 	"usage" | "help" )
-	  if test -z "$PAGER"
-	  then echo "${short_usage}" | more
-	  else echo "${short_usage}" | $PAGER
-	  fi
-	  exit
+	  echo "${short_usage}" | ${PAGER:-more}
+	  exit 0
 	;;
 
 	## Has the user specified what toolkit to use for the menubars,
 	    athena3d | athena-3d )			val=athena3d ;;
 	    a | at | ath | athe | athen | athena )	val=athena ;;
 	    n | no | non | none )			val=no ;;
-	    * )
-	      (echo "${progname}: the \`--${optname}' option should have one of the values:"
-		echo "\`lucid', \`motif', \`athena', or \`no'."
-		echo ""
-		echo "${short_usage}") >&2
-	      exit 1
-	    ;;
+	    * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values:
+  \`lucid', \`motif', \`athena', or \`no'."]) ;;
 	  esac
 	  eval "${opt}=\"${val}\""
 	;;
 
         ## Fail on unrecognized arguments.
-	* )
-	  (echo "${progname}: Error: unrecognized option: ${arg}"
-	   echo ""
-           echo "${short_usage}") >& 2
-	  exit 1
-	;;
+	* ) USAGE_ERROR("Unrecognized option: ${arg}") ;;
 
       esac
     ;;
 
 ### Can't specify 2 compilers
 if test "${with_gcc}" = "yes" -a "${with_lcc}" = "yes"; then
-  (echo "${progname}: only one of --with-gcc and --with-lcc may be specified."
-   echo "${short_usage}") >&2
-  exit 1
+  USAGE_ERROR("Only one of --with-gcc and --with-lcc may be specified.")
 fi
 
 ### Ignore useless run-in-place flag
 if test "${run_in_place}" = "yes"; then
-  ] AC_WARN(The --run-in-place option is ignored because it is unnecessary.) [
+  AC_WARN(The --run-in-place option is ignored because it is unnecessary.)
 fi
 
 ###########################################################################
   if configuration=`${CONFIG_SHELL-/bin/sh} ${guesssys}` ; then
     echo "- Looks like this is a ${configuration}" 1>&2
   else
-    echo '- Failed to guess the system type.  You need to tell me.' 1>&2
-    echo "${short_usage}" >&2
-    exit 1
+    USAGE_ERROR("Failed to guess the system type.  You need to tell me.")
   fi
 fi
 
 
   ## If it's not specified, see if  `.' or `..' might work.
   "" )
-    for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`" "." ".." ; do
-      if test -f "$dir/src/lisp.h" -a -f "$dir/lisp/version.el" ; then
+    for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[[^/]]*$||'`" "." ".." ; do
+      if test -f "$dir/src/lisp.h" -a \
+	      -f "$dir/lisp/version.el" ; then
         srcdir="${dir}"
         break
       fi
     done
     if test -z "${srcdir}" ; then
-      echo "\
-${progname}: Neither the current directory nor its parent seem to
-contain the XEmacs sources.  If you do not want to build XEmacs in its
-source tree, you should run \`${progname}' in the directory in which
-you wish to build XEmacs, using its \`--srcdir' option to say where the
-sources may be found.
-${short_usage}" >&2
-	exit 1
-      fi
+      USAGE_ERROR(["Neither the current directory nor its parent seem to
+  contain the XEmacs sources.  If you do not want to build XEmacs in its
+  source tree, you should run \`${progname}' in the directory in which
+  you wish to build XEmacs, using the \`--srcdir' option to say where the
+  sources may be found."])
+    fi
   ;;
 
   ## Otherwise, check if the directory they specified is okay.
   * )
-    if test ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ; then
-      (echo "\
-${progname}: The directory specified with the \`--srcdir' option,
-\`${srcdir}', doesn't seem to contain the XEmacs sources.  You should
-either run the \`${progname}' script at the top of the XEmacs source
-tree, or use the \`--srcdir' option to specify where the XEmacs sources
-are."
-       echo "${short_usage}") >&2
-      exit 1
+    if test ! -d "${srcdir}" -o \
+	    ! -f "${srcdir}/src/lisp.h" -o \
+	    ! -f "${srcdir}/lisp/version.el" ; then
+      USAGE_ERROR(["The directory specified with the \`--srcdir' option,
+  \`${srcdir}', doesn't seem to contain the XEmacs sources.  You should
+  either run the \`${progname}' script at the top of the XEmacs source
+  tree, or use the \`--srcdir' option to specify the XEmacs source directory."])
     fi
   ;;
 esac
 
 ## We check for this now instead of later when we check for other
 ## programs because we need to use its return value now.
-] AC_LN_S
+AC_LN_S
 
 AC_VERBOSE("setting LN_S to ${LN_S}")
 
   fi
 done
 
-[
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessary, since pwd can
 #### give you automounter prefixes, which can go away.
    echo "   use GNU make.  If you do not have GNU make, then you must"
    echo "   now do \`make distclean' in ${srcdir},"
    echo "   and then run ${progname} again.") >&2
-  extrasub='/^VPATH[	 ]*=/c\
+  extrasub='/^VPATH[[	 ]]*=/c\
 vpath %.c $(srcdir)\
 vpath %.h $(srcdir)\
 vpath %.y $(srcdir)\
     opsys=netbsd
     case "${canonical}" in
       sparc-*-netbsd*)    machine=sparc ;;
-      i[3-9]86-*-netbsd*) machine=intel386 ;;
+      i[[3-9]]86-*-netbsd*) machine=intel386 ;;
       hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* )
                       # Yes, this is somewhat bogus.
                       machine=hp9000s300 ;;
 
   ## Alpha (DEC) machines.
   ## XEmacs change: split apart into numerous files.
-  alpha-dec-osf1.3 | alpha-dec-osf2* ) machine=alpha opsys=decosf1-3 ;;
-  alpha-dec-osf1.2 | alpha-dec-osf1* ) machine=alpha opsys=decosf1-2 ;;
-
-  ## XEmacs: Add switch for OSF 1 version 3 (roth@cse.ucsc.edu)
-  ## XEmacs: Add switch for Digital Unix version 4 (srivasta@pilgrim.umass.edu)
-  alpha-dec-osf3.[2-9] ) machine=alpha opsys=decosf3-2 ;;
-  alpha-dec-osf3* )      machine=alpha opsys=decosf3-1 ;;
-  alpha-dec-osf4* )      machine=alpha opsys=decosf4-0 ;;
-  alpha-*-linux* )       machine=alpha opsys=linux ;;
+  alpha-*-* )
+    machine=alpha
+    case "${canonical}" in
+      *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;;
+      *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;;
+
+      ## XEmacs: Add switch for OSF 1 version 3 (roth@cse.ucsc.edu)
+      ## XEmacs: Add switch for Digital Unix version 4 (srivasta@pilgrim.umass.edu)
+      *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;;
+      *-dec-osf3* )        opsys=decosf3-1 ;;