XEmacs 21.2-b2
authortomo <tomo>
Mon, 17 May 1999 09:41:32 +0000 (09:41 +0000)
committertomo <tomo>
Mon, 17 May 1999 09:41:32 +0000 (09:41 +0000)
82 files changed:
CHANGES-beta
ChangeLog
INSTALL
PROBLEMS
configure
configure.in
configure.usage
etc/BETA
etc/NEWS
etc/TUTORIAL.de
etc/check_cygwin_setup.sh
etc/chr.png [new file with mode: 0644]
etc/chrm.png [new file with mode: 0644]
etc/photos/ajc.png [new file with mode: 0644]
etc/photos/ajcm.png [new file with mode: 0644]
etc/photos/baw.png [new file with mode: 0644]
etc/photos/bawm.png [new file with mode: 0644]
etc/photos/bw.png [new file with mode: 0644]
etc/photos/bwm.png [new file with mode: 0644]
etc/photos/cthomp.png [new file with mode: 0644]
etc/photos/cthompm.png [new file with mode: 0644]
etc/photos/dkindred.png [new file with mode: 0644]
etc/photos/dkindredm.png [new file with mode: 0644]
etc/photos/dmoore.png [new file with mode: 0644]
etc/photos/dmoorem.png [new file with mode: 0644]
etc/photos/dv.png [new file with mode: 0644]
etc/photos/dvm.png [new file with mode: 0644]
etc/photos/hniksic.png [new file with mode: 0644]
etc/photos/hniksicm.png [new file with mode: 0644]
etc/photos/jareth.png [new file with mode: 0644]
etc/photos/jarethm.png [new file with mode: 0644]
etc/photos/jens.png [new file with mode: 0644]
etc/photos/jensm.png [new file with mode: 0644]
etc/photos/jmiller.png [new file with mode: 0644]
etc/photos/jmillerm.png [new file with mode: 0644]
etc/photos/jwz.png [new file with mode: 0644]
etc/photos/jwzm.png [new file with mode: 0644]
etc/photos/kazz.png [new file with mode: 0644]
etc/photos/kazzm.png [new file with mode: 0644]
etc/photos/kyle.png [new file with mode: 0644]
etc/photos/kylem.png [new file with mode: 0644]
etc/photos/larsi.png [new file with mode: 0644]
etc/photos/larsim.png [new file with mode: 0644]
etc/photos/martin.png [new file with mode: 0644]
etc/photos/martinm.png [new file with mode: 0644]
etc/photos/mcook.png [new file with mode: 0644]
etc/photos/mcookm.png [new file with mode: 0644]
etc/photos/mly.png [new file with mode: 0644]
etc/photos/mlym.png [new file with mode: 0644]
etc/photos/morioka.png [new file with mode: 0644]
etc/photos/moriokam.png [new file with mode: 0644]
etc/photos/ograf.png [new file with mode: 0644]
etc/photos/ografm.png [new file with mode: 0644]
etc/photos/pez.png [new file with mode: 0644]
etc/photos/pezm.png [new file with mode: 0644]
etc/photos/piper.png [new file with mode: 0644]
etc/photos/piperm.png [new file with mode: 0644]
etc/photos/rickc.png [new file with mode: 0644]
etc/photos/rickcm.png [new file with mode: 0644]
etc/photos/slb.png [new file with mode: 0644]
etc/photos/slbm.png [new file with mode: 0644]
etc/photos/sperber.png [new file with mode: 0644]
etc/photos/sperberm.png [new file with mode: 0644]
etc/photos/stig.png [new file with mode: 0644]
etc/photos/stigb.png [new file with mode: 0644]
etc/photos/stigbm.png [new file with mode: 0644]
etc/photos/stigm.png [new file with mode: 0644]
etc/photos/thiessel.png [new file with mode: 0644]
etc/photos/thiesselm.png [new file with mode: 0644]
etc/photos/vin.png [new file with mode: 0644]
etc/photos/vinm.png [new file with mode: 0644]
etc/photos/vladimir.png [new file with mode: 0644]
etc/photos/vladimirm.png [new file with mode: 0644]
etc/photos/wmperry.png [new file with mode: 0644]
etc/photos/wmperrym.png [new file with mode: 0644]
etc/xemacs-enhanced.png [new file with mode: 0644]
lisp/package-ui.el [new file with mode: 0644]
man/lispref/customize.texi [new file with mode: 0644]
nt/PROBLEMS [new file with mode: 0644]
nt/tiff.mak [new file with mode: 0644]
src/dgif_lib.c [new file with mode: 0644]
version.sh

index 530bc55..9a96988 100644 (file)
@@ -1,4 +1,16 @@
                                                        -*- indented-text -*-
+to 21.2 beta2 "Aether"
+-- Synched with 21.0-pre14 "Poitou"
+-- isearch improvements from Hrvoje Niksic
+-- bytecompiler fix from Martin Buccholz
+-- shadow.el speedup from Martin Buchholz
+-- clash detection update from Jan Vroonhof
+-- Indirect buffers from Hrvoje Niksic
+-- ~user completion cleanup from Greg Klanderman
+-- New face property from Didier Verna
+-- ~user completion and fixes from Greg Klanderman
+-- casefiddle.c speedup from Martin Buchholz
+
 to 21.2 beta1 "Aeolus"
 -- Synch with 21.0-pre6
 -- Removal of ancient obsolete symbols courtesy of Altrasoft
index 2671250..a92e140 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,86 @@
+1998-09-29  SL Baur  <steve@altair.xemacs.org>
+
+       * XEmacs 21.2-beta2 is released.
+
+1998-09-09  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
+
+       * lwlib/xlwmenu.c:
+       * lwlib/xlwscrollbar: fix for Motif >=2.0
+       Patch provided by Glenn Barry <gtb@eng.sun.com>
+
+       * PROBLEMS: XEmacs 21.0 now works on HP-UX 11.0
+
+1998-09-02  Andy Piper  <andyp@parallax.co.uk>
+
+       * configure.in: check for cygwin32/version.h.
+
+1998-08-31  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+       * PROBLEMS: Added AIX 4.3 note.
+
+       * configure.in: Better detection of AIX 4.3.
+       AIX xlc can do -g and -Ox at the same time.
+
+1998-09-05  SL Baur  <steve@altair.xemacs.org>
+
+       * etc/check_cygwin_setup.sh: grammar fix.
+
+1998-09-02  Andy Piper  <andyp@parallax.co.uk>
+
+       * etc/check_cygwin_setup.sh: fix a couple of buglets.
+
+1998-08-23  Adrian Aichner  <aichner@ecf.teradyne.com>
+
+       * etc/sample.emacs: Enable sound support on mswindows devices.
+
+1998-08-17  P. E. Jareth Hein  <jareth@camelot.co.jp>
+
+       * configure.in: Alter configure so that it checks for mismatched PNG
+       header/libs, screams a little louder on old/mismatched library
+       conditions for both PNG and XPM, stop screaming if png is not found and
+       no window-system is selected, and fixed a bug in the XPM checking.
+
+1998-08-06  Adrian Aichner  <aichner@ecf.teradyne.com>
+
+       * etc/TUTORIAL.de: Fixing typos and grammatical errors.  Fixing
+       inconsistent usage of RET, <Return>, and <return> (only using
+       <Return> now).  Changing TUTORIAL to TUTORIAL.de throughout
+       itself.  Adding english equivalent to german translation of all
+       concepts used in TUTORIAL.de.
+
+1998-08-07  P. E. Jareth Hein  <jareth@camelot.co.jp>
+
+       * configure.usage (--without-gif): Modify text to reflect status
+       of GIF support
+
+1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>
+
+       * configure.in: add back in the support for the in-core GIF
+       code, change the required PNG library version to 1.0.2, and add
+       a warning if PNG not found, since PNG images are now distributed
+       as part of the core.  Also minor wording changes in things reported
+       to the user.
+
+1998-07-28  Kai Haberzettl  <khaberz@synnet.de>
+
+       * BETA: Update mailing-list address for build-reports
+
+1998-08-01  SL Baur  <steve@altair.xemacs.org>
+
+       * Makefile.in (TAGS tags): Add variable `tagslisp' so a TAGS file
+       can built that includes package lisp.
+
+1998-07-23  Martin Buchholz  <martin@xemacs.org>
+
+       * configure.in:
+       - support multiple flavors of alpha, (XEmacs treats them identically)
+       - Fix AC_TRY_RUN so that actions have access to $?
+       - Identify DEC C compilers. Add default optimization CFLAGS and
+         always use -std.
+       - Use an extensible method for adding support for future compilers.
+       - Have SunPro C use that same extensible method.
+       - Make sol2 always use `-R', Linux and DEC OSF always use `-rpath'
+
 1998-07-19  SL Baur  <steve@altair.xemacs.org>
 
        * XEmacs 21.2-beta1 is released.
diff --git a/INSTALL b/INSTALL
index 50fba0b..bccc7f1 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -80,7 +80,7 @@ system using Mule and Wnn6 from OMRON corporation would be the
 packages `mule-base' and `egg-its'.  By default, packages will be
 searched for in the path
 
-~/.xemacs::$prefix/lib/xemacs-${version}/mule-packages:$prefix/lib/xemacs/mule-packages:$prefix/lib/xemacs-${version}/packages:$prefix/lib/xemacs/packages
+~/.xemacs::$prefix/lib/xemacs-${version}/mule-packages:$prefix/lib/xemacs/mule-packages:$prefix/lib/xemacs-${version}/xemacs-packages:$prefix/lib/xemacs/xemacs-packages
 
 This may be changed by specifying a different value with the
 --package-path configuration option.
index 072fc72..aa65af5 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -2,7 +2,7 @@
 
 This file describes various problems that have been encountered
 in compiling, installing and running XEmacs.  It has been updated for
-XEmacs 21.2.
+XEmacs 21.0.
 
 This file is rather large, but we have tried to sort the entries by
 their respective relevance for XEmacs, but may have not succeeded
@@ -29,7 +29,8 @@ A general advice:
 * Problems with building XEmacs
 ===============================
 
-** Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using
+** General
+*** Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using
 `-fno-strength-reduce'.
 
 gcc will generate incorrect code otherwise.  This bug is present in at
@@ -38,7 +39,7 @@ later.  This bug is O/S independent, but is limited to x86 architectures.
 
 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
 
-** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
+*** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
 using `-fno-caller-saves'.
 
 gcc will generate incorrect code otherwise.  This bug is still
@@ -48,7 +49,16 @@ independent, but limited to x86 architectures.
 
 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
 
-** Excessive optimization with pgcc can break XEmacs
+*** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
+When using gcc, you get the error message "undefined symbol __main".
+
+This means that you need to link with the gcc library.  It may be called
+"gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
+config.h to point to it.
+
+It may also work to use the GCC version of `ld' instead of the standard one.
+
+*** 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
@@ -59,28 +69,21 @@ of libc.  Snapshots near the release of pgcc-1.0 have been tested
 extensively and no sign of breakage has been seen on systems using
 glibc-2.
 
-** `compress' and `uncompress' not found and XFree86
+*** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
 
-XFree86 installs a very old version of libz.a by default ahead of where
-more modern version of libz might be installed.  This will cause problems
-when attempting to link against libMagick.  The fix is to remove the old
-libz.a in the X11 binary directory.
-
-** Excessive optimization on AIX 4.2 can lead to compiler failure.
+This can happen if configure uses GNU sed version 2.03.  That version
+had a bug.  GNU sed version 2.05 works properly.
 
-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.
+*** When compiling with X11, you get "undefined symbol _XtStrings".
 
-** Sed problems on Solaris 2.5
+This means that you are trying to link emacs against the X11r4 version of
+libXt.a, but you have compiled either Emacs or the code in the lwlib
+subdirectory with the X11r5 header files.  That doesn't work.
 
-There have been reports of Sun sed truncating very lines in the
-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. :-)
+Remember, you can't compile lwlib for r4 and emacs for r5, or vice versa.
+They must be in sync.
 
-** test-distrib says that the distribution has been clobbered
+*** test-distrib says that the distribution has been clobbered
 or, temacs prints "Command key out of range 0-127"
 or, temacs runs and dumps xemacs, but xemacs totally fails to work.
 or, temacs gets errors dumping xemacs
@@ -100,12 +103,162 @@ characters, you can fix them by running:
 
 This will rebuild all the needed .elc files.
 
-** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
+*** `compress' and `uncompress' not found and XFree86
+
+XFree86 installs a very old version of libz.a by default ahead of where
+more modern version of libz might be installed.  This will cause problems
+when attempting to link against libMagick.  The fix is to remove the old
+libz.a in the X11 binary directory.
+
+
+** AIX
+*** On AIX 4.3, you must specify --with-dialogs=athena with configure
+
+*** On AIX, you get this compiler error message:
+
+    Processing include file ./XMenuInt.h
+        1501-106: (S) Include file X11/Xlib.h not found.
+
+This means your system was installed with only the X11 runtime i.d
+libraries.  You have to find your sipo (bootable tape) and install
+X11Dev... with smit.
+
+*** On AIX 4.1.2, linker error messages such as
+   ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
+        of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
+
+This is a problem in libIM.a.  You can work around it by executing
+these shell commands in the src subdirectory of the directory where
+you build Emacs:
+
+    cp /usr/lib/libIM.a .
+    chmod 664 libIM.a
+    ranlib libIM.a
+
+Then change -lIM to ./libIM.a in the command to link temacs (in
+Makefile).
+
+*** 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.
+
+
+** SunOS/Solaris
+*** Link failure when using acc on a Sun.
+
+To use acc, you need additional options just before the libraries, such as
+
+   /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
+
+and you need to add -lansi just before -lc.
+
+The precise file names depend on the compiler version, so we
+cannot easily arrange to supply them.
+
+*** Problems finding X11 libraries on Solaris with Openwindows
+
+Some users have reported problems in this area.  The reported solution
+is to define the environment variable OPENWINHOME, even if you must set
+it to `/usr/openwin'.
+
+*** 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 or,
+even better, think of a better way to generate Makefile, and send us a 
+patch. :-)
+
+*** On Solaris 2 I get undefined symbols from libcurses.a.
+
+You probably have /usr/ucblib/ on your LD_LIBRARY_PATH.  Do the link with
+LD_LIBRARY_PATH unset.  Generally, avoid using any ucb* stuff when
+building XEmacs.
+
+*** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
+
+The SparcWorks C compiler may have difficulty building those modules
+with optimization level -xO4.  Try using only "-fast" optimization
+for just those modules.  (Or use gcc).
+
+*** Solaris 2.3 /bin/sh coredumps during configuration.
+
+This only occurs if you have LANG != C.  This is a known bug with
+/bin/sh fixed by installing Patch-ID# 101613-01.  Or, you can use
+bash, as a workaround.
+
+*** On SunOS, you get linker errors
+    ld: Undefined symbol 
+       _get_wmShellWidgetClass
+       _get_applicationShellWidgetClass
+
+The fix to this is to install patch 100573 for OpenWindows 3.0
+or link libXmu statically.
+
+*** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
+
+This is the result of using cc or gcc with the shared library meant
+for acc (the Sunpro compiler).  Check your LD_LIBRARY_PATH and delete
+/usr/lang/SC2.0.1 or some similar directory.
+
+*** Undefined symbols when linking on Sunos 4.1.
+
+If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
+_iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
+-lXaw in the command that links temacs.
+
+This problem seems to arise only when the international language
+extensions to X11R5 are installed.
+
+*** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
+
+    /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment 
+
+The problem is in the Sun shared C library, not in GNU ld.
+
+The solution is to install Patch-ID# 100267-03 from Sun.
+
+*** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass
+
+  Apparently the version of libXmu.so.a that Sun ships is hosed: it's missing
+  some stuff that is in libXmu.a (the static version).  Sun has a patch for 
+  this, but a workaround is to use the static version of libXmu, by changing
+  the link command from "-lXmu" to "-Bstatic -lXmu -Bdynamic".  If you have
+  OpenWindows 3.0, ask Sun for these patches:
+    100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
+    100573-03       4.1.x OpenWindows 3.0 undefined symbols with shared libXmu
+
+*** Random other SunOS 4.1.[12] link errors.
+
+  The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
+  broken.  Use the ones in /usr/openwin/{include,lib} instead.
+
+** Linux
+*** Under Linux, you get "too many arguments to function `getpgrp'".
+
+You have probably installed LessTiff under `/usr/local' and `libXm.so'
+could not be found when linking `getpgrp()' test program, making XEmacs
+think that `getpgrp()' takes an argument. Try adding `/usr/local/lib'
+in `/etc/ld.so.conf' and run `ldconfig'. Then run XEmacs's `configure'
+again.  As with all problems of this type, reading the config.log file
+generated from configure and seeing the log of how the test failed can
+prove enlightening.
+
+*** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
 
 This error message has been observed with lesstif-0.75a.  It does not
 appear to cause any harm.
 
-** Linking with -rpath on IRIX.
+*** xemacs: can't resolve symbol '__malloc_hook'
+
+This is a Linux problem where you've compiled the XEmacs binary on a libc
+5.4 with version higher than 5.4.19 and attempted to run the binary against
+an earlier version.  The solution is to upgrade your old library.
+
+** IRIX
+*** Linking with -rpath on IRIX.
 
 Darrell Kindred <dkindred@cmu.edu> writes:
 There are a couple of problems [with use of -rpath with Irix ld], though:
@@ -126,35 +279,42 @@ There are a couple of problems [with use of -rpath with Irix ld], though:
      or --site-runtime-libraries, you must use --use-gcc=no,
      or configure will fail.
 
-** On Irix 6.3, the SGI ld quits with segmentation fault when linking temacs
+*** On Irix 6.3, the SGI ld quits with segmentation fault when linking temacs
 
 This occurs if you use the SGI linker version 7.1.  Installing the
 patch SG0001872 fixes this problem.
 
-** xemacs: can't resolve symbol '__malloc_hook'
+*** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
 
-This is a Linux problem where you've compiled the XEmacs binary on a libc
-5.4 with version higher than 5.4.19 and attempted to run the binary against
-an earlier version.  The solution is to upgrade your old library.
+A compiler bug inserts spaces into the string "unexelfsgi . o"
+in src/Makefile.  Edit src/Makefile, after configure is run,
+find that string, and take out the spaces.
 
-** Compilation errors on VMS.
+Compiler fixes in Irix 6.0.1 should eliminate this problem.
 
-Sorry, XEmacs does not work under VMS.  You might consider working on
-the port if you really want to have XEmacs work under VMS.
+*** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
 
-** On Solaris 2 I get undefined symbols from libcurses.a.
+The file cmplrs/stsupport.h was included in the wrong file set in the
+Irix 5.2 distribution.  You can find it in the optional fileset
+compiler_dev, or copy it from some other Irix 5.2 system.  A kludgy
+workaround is to change unexelfsgi.c to include sym.h instead of
+syms.h.
 
-You probably have /usr/ucblib/ on your LD_LIBRARY_PATH.  Do the link with
-LD_LIBRARY_PATH unset.  Generally, avoid using any ucb* stuff when
-building XEmacs.
+*** Coredumping in Irix 6.2
 
-** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
+Pete Forman <gsez020@compo.bedford.waii.com> writes:
+A problem noted by myself and others (I've lost the references) was
+that XEmacs coredumped when the cut or copy toolbar buttons were
+pressed.  This has been fixed by loading the SGI patchset (Feb 98)
+without having to recompile XEmacs.
 
-The SparcWorks C compiler may have difficulty building those modules
-with optimization level -xO4.  Try using only "-fast" optimization
-for just those modules.  (Or use gcc).
+My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX
+6.2, compiled using -n32.  I'd guess that the relevant individual
+patch was "SG0002580: multiple fixes for X libraries".  SGI recommends
+that the complete patch set be installed rather than parts of it.
 
-** On Digital UNIX, the DEC C compiler might have a problem compiling
+** Digital UNIX/OSF/VMS
+*** On Digital UNIX, the DEC C compiler might have a problem compiling
 some files.
 
 In particular, src/extents.c and src/faces.c might cause the DEC C
@@ -167,7 +327,19 @@ hand, use the old C compiler for the following versions of Digital UNIX:
 A related compiler bug has been fixed by the DEC compiler team.  The
 new versions of the compiler should run fine.
 
-** On HPUX, the HP C compiler might have a problem compiling some files
+*** Under some versions of OSF XEmacs runs fine if built without
+optimization but will crash randomly if built with optimization.
+
+Using 'cc -g' is not sufficient to eliminate all optimization.  Try
+'cc -g -O0' instead.
+
+*** Compilation errors on VMS.
+
+Sorry, XEmacs does not work under VMS.  You might consider working on
+the port if you really want to have XEmacs work under VMS.
+
+** HP-UX
+*** On HPUX, the HP C compiler might have a problem compiling some files
 with optimization.
 
 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
@@ -181,30 +353,30 @@ Richard Cognot <cognot@ensg.u-nancy.fr> writes:
   remember the patch numbers. I think potential XEmacs builders
   on HP should be warned about this.
 
-** I don't have `xmkmf' and `imake' on my HP.
+*** I don't have `xmkmf' and `imake' on my HP.
 
   You can get these standard X tools by anonymous FTP to
   hpcvaaz.cv.hp.com.  Essentially all X programs need these.
 
-** On HP-UX, problems with make
+*** On HP-UX, problems with make
 
 Marcus Thiessel <marcus_thiessel@hp.com>
 
   Some releases of XEmacs (e.g. 20.4) require GNU make to build
   successfully. You don't need GNU make when building 21.x.
 
-** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
+*** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
 
 Marcus Thiessel <marcus_thiessel@hp.com>
 
   This might be a sed problem. For your own safety make sure to use
   GNU sed while dumping XEmacs.
 
-** On HP-UX 11.0 XEmacs causes excessive X11 errors when running.
+*** On HP-UX 11.0 XEmacs causes excessive X11 errors when running.
 
 Marcus Thiessel <marcus_thiessel@hp.com>
 
-  Unfortunately, XEmacs releases don't work with Motif2.1. It
+  Unfortunately, XEmacs releases <21.0 don't work with Motif2.1. It
   will compile but you will get excessive X11 errors like
 
   xemacs: X Error of failed request:  BadGC (invalid GC parameter)
@@ -218,34 +390,8 @@ Marcus Thiessel <marcus_thiessel@hp.com>
   Make sure /usr/lib/Motif1.2_R6/libXm.sl is a link to
   /usr/lib/Motif1.2_R6/libXm.3.
 
-** Solaris 2.3 /bin/sh coredumps during configuration.
-
-This only occurs if you have LANG != C.  This is a known bug with
-/bin/sh fixed by installing Patch-ID# 101613-01.  Or, you can use
-bash, as a workaround.
-
-** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
-
-A compiler bug inserts spaces into the string "unexelfsgi . o"
-in src/Makefile.  Edit src/Makefile, after configure is run,
-find that string, and take out the spaces.
-
-Compiler fixes in Irix 6.0.1 should eliminate this problem.
-
-** Coredumping in Irix 6.2
-
-Pete Forman <gsez020@compo.bedford.waii.com> writes:
-A problem noted by myself and others (I've lost the references) was
-that XEmacs coredumped when the cut or copy toolbar buttons were
-pressed.  This has been fixed by loading the SGI patchset (Feb 98)
-without having to recompile XEmacs.
-
-My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX
-6.2, compiled using -n32.  I'd guess that the relevant individual
-patch was "SG0002580: multiple fixes for X libraries".  SGI recommends
-that the complete patch set be installed rather than parts of it.
-
-** Native cc on SCO OpenServer 5 is now OK.  Icc may still throw you
+** SCO OpenServer
+*** Native cc on SCO OpenServer 5 is now OK.  Icc may still throw you
 a curve.  Here is what Robert Lipe <robertl@arnet.com> says:
 
 Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5 
@@ -309,199 +455,40 @@ The comments at the top of emacskeys.sco describe its function, and
 the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings
 to take advantage of the keyboard map in emacskeys.sco.
 
-Note: Much of the above entry is probably not valid for XEmacs 21.2
+Note: Much of the above entry is probably not valid for XEmacs 21.0
 and later.
 
-** Under some versions of OSF XEmacs runs fine if built without
-optimization but will crash randomly if built with optimization.
 
-Using 'cc -g' is not sufficient to eliminate all optimization.  Try
-'cc -g -O0' instead.
 
-** On SunOS, you get linker errors
-    ld: Undefined symbol 
-       _get_wmShellWidgetClass
-       _get_applicationShellWidgetClass
+* Problems with running XEmacs
+==============================
+** General
+*** C-z just refreshes the screen instead of suspending Emacs.
 
-The fix to this is to install patch 100573 for OpenWindows 3.0
-or link libXmu statically.
+You are probably using a shell that doesn't support job control, even
+though the system itself is capable of it.  Try using a different
+shell.
 
-** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
+*** You type Control-H (Backspace) expecting to delete characters.
 
-This is the result of using cc or gcc with the shared library meant
-for acc (the Sunpro compiler).  Check your LD_LIBRARY_PATH and delete
-/usr/lang/SC2.0.1 or some similar directory.
+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:
 
-** On AIX 4.1.2, linker error messages such as
-   ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
-        of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
+  (when (eq tty-erase-char ?\C-h)
+    (keyboard-translate ?\C-h ?\C-?)
+    (global-set-key "\M-?" 'help-command))
 
-This is a problem in libIM.a.  You can work around it by executing
-these shell commands in the src subdirectory of the directory where
-you build Emacs:
+This checks whether the TTY erase char is C-h, and if it is, makes
+Control-H (Backspace) work sensibly, and moves help to Meta-? (ESC ?).
 
-    cp /usr/lib/libIM.a .
-    chmod 664 libIM.a
-    ranlib libIM.a
+Note that you can probably also access help using F1.
 
-Then change -lIM to ./libIM.a in the command to link temacs (in
-Makefile).
+*** Mail agents (VM, Gnus, rmail) cannot get new mail
 
-** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
-
-The file cmplrs/stsupport.h was included in the wrong file set in the
-Irix 5.2 distribution.  You can find it in the optional fileset
-compiler_dev, or copy it from some other Irix 5.2 system.  A kludgy
-workaround is to change unexelfsgi.c to include sym.h instead of
-syms.h.
-
-** Link failure when using acc on a Sun.
-
-To use acc, you need additional options just before the libraries, such as
-
-   /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
-
-and you need to add -lansi just before -lc.
-
-The precise file names depend on the compiler version, so we
-cannot easily arrange to supply them.
-
-** Link failure on IBM AIX 1.3 ptf 0013.
-
-There is a real duplicate definition of the function `_slibc_free' in
-the library /lib/libc_s.a (just do nm on it to verify).  The
-workaround/fix is:
-
-    cd /lib
-    ar xv libc_s.a NLtmtime.o
-    ar dv libc_s.a NLtmtime.o
-
-** Undefined symbols when linking on Sunos 4.1.
-
-If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
-_iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
--lXaw in the command that links temacs.
-
-This problem seems to arise only when the international language
-extensions to X11R5 are installed.
-
-** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
-
-This can happen if configure uses GNU sed version 2.03.  That version
-had a bug.  GNU sed version 2.05 works properly.
-
-** On AIX, you get this compiler error message:
-
-    Processing include file ./XMenuInt.h
-        1501-106: (S) Include file X11/Xlib.h not found.
-
-This means your system was installed with only the X11 runtime i.d
-libraries.  You have to find your sipo (bootable tape) and install
-X11Dev... with smit.
-
-** C-z just refreshes the screen instead of suspending Emacs.
-
-You are probably using a shell that doesn't support job control, even
-though the system itself is capable of it.  Try using a different
-shell.
-
-** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
-
-    /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment 
-
-The problem is in the Sun shared C library, not in GNU ld.
-
-The solution is to install Patch-ID# 100267-03 from Sun.
-
-** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass
-
-  Apparently the version of libXmu.so.a that Sun ships is hosed: it's missing
-  some stuff that is in libXmu.a (the static version).  Sun has a patch for 
-  this, but a workaround is to use the static version of libXmu, by changing
-  the link command from "-lXmu" to "-Bstatic -lXmu -Bdynamic".  If you have
-  OpenWindows 3.0, ask Sun for these patches:
-    100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
-    100573-03       4.1.x OpenWindows 3.0 undefined symbols with shared libXmu
-
-** Random other SunOS 4.1.[12] link errors.
-
-  The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
-  broken.  Use the ones in /usr/openwin/{include,lib} instead.
-
-** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
-When using gcc, you get the error message "undefined symbol __main".
-
-This means that you need to link with the gcc library.  It may be called
-"gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
-config.h to point to it.
-
-It may also work to use the GCC version of `ld' instead of the standard one.
-
-** When compiling with X11, you get "undefined symbol _XtStrings".
-
-This means that you are trying to link emacs against the X11r4 version of
-libXt.a, but you have compiled either Emacs or the code in the lwlib
-subdirectory with the X11r5 header files.  That doesn't work.
-
-Remember, you can't compile lwlib for r4 and emacs for r5, or vice versa.
-They must be in sync.
-
-** Problems finding X11 libraries on Solaris with Openwindows
-
-Some users have reported problems in this area.  The reported solution
-is to define the environment variable OPENWINHOME, even if you must set
-it to `/usr/openwin'.
-
-** Under Linux, you get "too many arguments to function `getpgrp'".
-
-You have probably installed LessTiff under `/usr/local' and `libXm.so'
-could not be found when linking `getpgrp()' test program, making XEmacs
-think that `getpgrp()' takes an argument. Try adding `/usr/local/lib'
-in `/etc/ld.so.conf' and run `ldconfig'. Then run XEmacs's `configure'
-again.  As with all problems of this type, reading the config.log file
-generated from configure and seeing the log of how the test failed can
-prove enlightening.
-
-
-* Problems with running XEmacs
-==============================
-** On Solaris 2.6, XEmacs dumps core when exiting.
-
-This happens if you're XEmacs is running on the same machine as the X
-server, and the optimized memory transport has been turned on by
-setting the environment variable XSUNTRANSPORT.  The crash occurs
-during the call to XCloseDisplay.
-
-If this describes your situation, you need to undefine the
-XSUNTRANSPORT environment variable.
-
-** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
-
-If you build with `gpm' support on Linux, you cannot suspend XEmacs
-because gpm installs a buggy SIGTSTP handler.  Either compile with
-`--with-gpm=no', or don't suspend XEmacs on the Linux console until
-this bug is fixed.
-
-** 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.  One way to solve this
-problem is to put this in your .emacs:
-
-  (when (eq tty-erase-char ?\C-h)
-    (keyboard-translate ?\C-h ?\C-?)
-    (global-set-key "\M-?" 'help-command))
-
-This checks whether the TTY erase char is C-h, and if it is, makes
-Control-H (Backspace) work sensibly, and moves help to Meta-? (ESC ?).
-
-Note that you can probably also access help using F1.
-
-** 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.
+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.
 
 There are two different protocols in general use.  One of them uses
 the `flock' system call.  The other involves creating a lock file;
@@ -527,30 +514,12 @@ installed copy of movemail is usually in the directory
 mode of the installed copy; changing the group and mode of the build
 directory copy is ineffective.
 
-** XEmacs crashes on Digital Unix within font-lock, or when dealing
-with large compilation buffers.
-
-The default stack size under Digital Unix is rather small (2M as
-opposed to Solaris 8M), hosing the regexp code, which uses alloca()
-extensively, overflowing the stack when complex regexps are used.
-Workarounds:
-
-1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
-   equivalent;
-
-2) Recompile regex.c with REGEX_MALLOC defined.
-
-** On Solaris, C-x doesn't get through to Emacs when you use the console.
-
-This is a Solaris feature (at least on Intel x86 cpus).  Type C-r
-C-r C-t, to toggle whether C-x gets through to Emacs.
-
-** VM appears to hang in large folders.
+*** 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.
 
-** Changes made to .el files do not take effect.
+*** Changes made to .el files do not take effect.
 
 You may have forgotten to recompile them into .elc files.  Then the
 old .elc files will be loaded, and your changes will not be seen.  To
@@ -560,7 +529,7 @@ that contains the Lisp files.
 Note that you will get a warning when loading a .elc file that is
 older than the corresponding .el file.
 
-** Things which should be bold or italic (such as the initial
+*** Things which should be bold or italic (such as the initial
 copyright notice) are not.
 
 The fonts of the "bold" and "italic" faces are generated from the font
@@ -583,7 +552,7 @@ versions.  All X fonts can be referred to via XLFD-style names, so you
 should use those forms.  See the man pages for X(1), xlsfonts(1), and
 xfontsel(1).
 
-** The dumped Emacs crashes when run, trying to write pure data.
+*** The dumped Emacs crashes when run, trying to write pure data.
 
 Two causes have been seen for such problems.
 
@@ -598,43 +567,14 @@ of its files pure after dumping, but the variables declared static and
 not initialized are not supposed to be pure.  On these systems you
 may need to add "#define static" to the m- or the s- file.
 
-** Reading and writing files is very very slow.
+*** Reading and writing files is very very slow.
 
 Try evaluating the form (setq lock-directory nil) and see if that helps.
 There is a problem with file-locking on some systems (possibly related
 to NFS) that I don't understand.  Please send mail to the address 
 xemacs@xemacs.org if you figure this one out.
 
-** The Emacs window disappears when you type M-q.
-
-Some versions of the Open Look window manager interpret M-q as a quit
-command for whatever window you are typing at.  If you want to use
-Emacs with that window manager, you should try to configure the window
-manager to use some other command.   You can disable the
-shortcut keys entirely by adding this line to ~/.OWdefaults:
-
-    OpenWindows.WindowMenuAccelerators: False
-
-** The `Alt' key doesn't behave as `Meta' when running DECwindows.
-
-The default DEC keyboard mapping has the Alt keys set up to generate the
-keysym `Multi_key', which has a meaning to xemacs which is distinct from that
-of the `Meta_L' and `Meta-R' keysyms.  A second problem is that certain keys
-have the Mod2 modifier attached to them for no adequately explored reason.
-The correct fix is to pass this file to xmodmap upon starting X:
-
-       clear mod2
-       keysym Multi_key = Alt_L
-       add mod1 = Alt_L
-       add mod1 = Alt_R
-
-** The Compose key on a DEC keyboard does not work as Meta key.
-
-This shell command should fix it:
-
-  xmodmap -e 'keycode 0xb1 = Meta_L'
-
-** When emacs starts up, I get lots of warnings about unknown keysyms.
+*** When emacs starts up, I get lots of warnings about unknown keysyms.
 
 If you are running the prebuilt binaries, the Motif library expects to find
 certain thing in the XKeysymDB file.  This file is normally in /usr/lib/X11/
@@ -644,25 +584,14 @@ you still have the problem after doing that, perhaps your version of X is
 too old.  There is a copy of the MIT X11R5 XKeysymDB file in the emacs `etc'
 directory.  Try using that one.
 
-** My X resources used to work, and now some of them are being ignored.
+*** My X resources used to work, and now some of them are being ignored.
 
 Check the resources in .../etc/Emacs.ad (which is the same as the file
 sample.Xdefaults).  Perhaps some of the default resources built in to 
 emacs are now overriding your existing resources.  Copy and edit the
 resources in Emacs.ad as necessary.
 
-** I get complaints about the mapping of my HP keyboard at startup,
-but I haven't changed anything.
-
-The default HP keymap is set up to have Mod1 assigned to two different keys:
-Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
-the keyboard -- it uses an "imaginary" keycode.)  There actually is a reason
-for this, but it's not a good one.  The correct fix is to execute this command
-upon starting X:
-
-       xmodmap -e 'remove mod1 = Mode_switch'
-
-** I have focus problems when I use `M-o' to switch to another screen
+*** I have focus problems when I use `M-o' to switch to another screen
 without using the mouse.
 
 The focus issues with a program like XEmacs, which has multiple
@@ -687,7 +616,7 @@ on another screen in point-to-type mode.  This is not ICCCM-compliant
 behavior.  Implementing such policy is the responsibility of the
 window manager itself, it is not legal for a client to do this.)
 
-** Emacs spontaneously displays "I-search: " at the bottom of the screen.
+*** Emacs spontaneously displays "I-search: " at the bottom of the screen.
 
 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
 used.  C-s/C-q flow control is bad for Emacs editors because it takes
@@ -771,7 +700,7 @@ use out of GNU Emacs on inferior terminals, more power to you, but I
 will not make Emacs worse for properly designed systems for the sake
 of inferior systems.
 
-** Control-S and Control-Q commands are ignored completely.
+*** Control-S and Control-Q commands are ignored completely.
 
 For some reason, your system is using brain-damaged C-s/C-q flow
 control despite Emacs's attempts to turn it off.  Perhaps your
@@ -786,7 +715,7 @@ If that line of approach is not successful, map some other characters
 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
+*** Control-S and Control-Q commands are ignored completely on a net
 connection.
 
 Some versions of rlogin (and possibly telnet) do not pass flow
@@ -813,7 +742,7 @@ following to your .emacs (on the host running rlogind):
 See the entry about spontaneous display of I-search (above) for more
 info.
 
-** TTY redisplay is slow.
+*** TTY redisplay is slow.
 
 XEmacs has fairly new TTY redisplay support (beginning from 19.12),
 which doesn't include some basic TTY optimizations -- like using
@@ -824,7 +753,7 @@ slow.
 If you are interested in fixing this, please let us know at
 <xemacs@xemacs.org>.
 
-** Screen is updated wrong, but only on one kind of terminal.
+*** 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
@@ -863,183 +792,237 @@ This is unambiguously an Emacs bug, and can probably be fixed in
 termcap.c, terminfo.c, tparam.c, cm.c, redisplay-tty.c,
 redisplay-output.c, or redisplay.c.
 
-** Your Delete key sends a Backspace to the terminal, using an AIXterm.
+*** My buffers are full of \000 characters or otherwise corrupt.
 
-The solution is to include in your .Xdefaults the lines:
+Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
+without optimization.  If that doesn't work, try recompiling with
+SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
 
-   *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
-   aixterm*ttyModes: erase ^?
+*** A position you specified in .Xdefaults is ignored, using twm.
 
-This makes your Backspace key send DEL (ASCII 127).
+twm normally ignores "program-specified" positions.
+You can tell it to obey them with this command in your `.twmrc' file:
 
-** With certain fonts, when the cursor appears on a character, the
-character doesn't appear--you get a solid box instead.
+  UsePPosition "on"            #allow clents to request a position
 
-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.
-XFree86 3.1.2 works.
+*** With M-x enable-flow-control, you need to type C-\ twice to do
+incremental search--a single C-\ gets no response.
 
-** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
+This has been traced to communicating with your machine via kermit,
+with C-\ as the kermit escape character.  One solution is to use
+another escape character in kermit.  One user did
 
-This happens if you configure Emacs specifying just `sparc-sun-sunos4'
-on a system that is version 4.1.3.  You must specify the precise
-version number (or let configure figure out the configuration, which
-it can do perfectly well for SunOS).
+   set escape-character 17
 
-** On Irix, I don't see the toolbar icons and I'm getting lots of
-entries in the warnings buffer.
+in his .kermrc file, to make C-q the kermit escape character.
 
-SGI ships a really old Xpm library in /usr/lib which does not work at
-all well with XEmacs.  The solution is to install your own copy of the
-latest version of Xpm somewhere and then use the --site-includes and
---site-libraries flags to tell configure where to find it.
+*** The Motif version of Emacs paints the screen a solid color.
 
-** On HPUX, you get "poll: Interrupted system call" message in the
-window where XEmacs was launched.
+This has been observed to result from the following X resource:
 
-Richard Cognot <cognot@ensg.u-nancy.fr> writes:
+   Emacs*default.attributeFont:        -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
 
-  I get a very strange problem when linking libc.a dynamically: every
-  event (mouse, keyboard, expose...) results in a "poll: Interrupted
-  system call" message in the window where XEmacs was
-  launched. Forcing a static link of libc.a alone by adding
-  /usr/lib/libc.a at the end of the link line solves this. Note that
-  my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
-  the same behaviour. I've tried various hpux patches to no avail. If
-  this problem cannot be solved before the release date, binary kits
-  for HP *must* be linked statically against libc, otherwise this
-  problem will show up. (This is directed at whoever will volunteer
-  for this kit, as I won't be available to do it, unless 19.14 gets
-  delayed until mid-june ;-). I think this problem will be an FAQ soon
-  after the release otherwise.
+That the resource has this effect indicates a bug in something, but we
+do not yet know what.  If it is an Emacs bug, we hope someone can
+explain what the bug is so we can fix it.  In the mean time, removing
+the resource prevents the problem.
 
-Note: The above entry is probably not valid for XEmacs 21.2 and
-later.
+*** After running emacs once, subsequent invocations crash.
 
-** When Emacs tries to ring the bell, you get an error like
+Some versions of SVR4 have a serious bug in the implementation of the
+mmap () system call in the kernel; this causes emacs to run correctly
+the first time, and then crash when run a second time.
 
-       audio: sst_open: SETQSIZE" Invalid argument
-       audio: sst_close: SETREG MMR2, Invalid argument
+Contact your vendor and ask for the mmap bug fix; in the mean time,
+you may be able to work around the problem by adding a line to your
+operating system description file (whose name is reported by the
+configure script) that reads:
+#define SYSTEM_MALLOC
+This makes Emacs use memory less efficiently, but seems to work around
+the kernel bug.
 
-you have probably compiled using an ANSI C compiler, but with non-ANSI
-include files.  In particular, on Suns, the file
-/usr/include/sun/audioio.h uses the _IOW macro to define the constant
-AUDIOSETQSIZE.  _IOW in turn uses a K&R preprocessor feature that is
-now explicitly forbidden in ANSI preprocessors, namely substitution
-inside character constants.  All ANSI C compilers must provide a
-workaround for this problem.  Lucid's C compiler is shipped with a new
-set of system include files.  If you are using GCC, there is a script
-called fixincludes that creates new versions of some system include
-files that use this obsolete feature.
+*** Inability to send an Alt-modified key, when Emacs is communicating
+directly with an X server.
 
-** My buffers are full of \000 characters or otherwise corrupt.
+If you have tried to bind an Alt-modified key as a command, and it
+does not work to type the command, the first thing you should check is
+whether the key is getting through to Emacs.  To do this, type C-h c
+followed by the Alt-modified key.  C-h c should say what kind of event
+it read.  If it says it read an Alt-modified key, then make sure you
+have made the key binding correctly.
 
-Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
-without optimization.  If that doesn't work, try recompiling with
-SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
+If C-h c reports an event that doesn't have the Alt modifier, it may
+be because your X server has no key for the Alt modifier.  The X
+server that comes from MIT does not set up the Alt modifier by
+default.
 
-** On AIX 4, some programs fail when run in a Shell buffer
-with an error message like No terminfo entry for "unknown".
+If your keyboard has keys named Alt, you can enable them as follows:
 
-On AIX, many terminal type definitions are not installed by default.
-`unknown' is one of them.  Install the "Special Generic Terminal
-Definitions" to make them defined.
+    xmodmap -e 'add mod2 = Alt_L'
+    xmodmap -e 'add mod2 = Alt_R'
 
-** Emacs exits with "X protocol error" when run with an X server for
-Windows.
+If the keyboard has just one key named Alt, then only one of those
+commands is needed.  The modifier `mod2' is a reasonable choice if you
+are using an unmodified MIT version of X.  Otherwise, choose any
+modifier bit not otherwise used.
 
-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
-problem.
+If your keyboard does not have keys named Alt, you can use some other
+keys.  Use the keysym command in xmodmap to turn a function key (or
+some other 'spare' key) into Alt_L or into Alt_R, and then use the
+commands show above to make them modifier keys.
 
-** A position you specified in .Xdefaults is ignored, using twm.
+Note that if you have Alt keys but no Meta keys, Emacs translates Alt
+into Meta.  This is because of the great importance of Meta in Emacs.
 
-twm normally ignores "program-specified" positions.
-You can tell it to obey them with this command in your `.twmrc' file:
+*** In Shell mode, you get a ^M at the end of every line.
 
-  UsePPosition "on"            #allow clents to request a position
+This happens to people who use tcsh, because it is trying to be too
+smart.  It sees that the Shell uses terminal type `unknown' and turns
+on the flag to output ^M at the end of each line.  You can fix the
+problem by adding this to your .cshrc file:
 
-** The right Alt key works wrong on German HP keyboards (and perhaps
-   other non-English HP keyboards too).
+    if ($?EMACS) then
+        if ($EMACS == "t") then
+            unset edit 
+            stty  -icrnl -onlcr -echo susp ^Z
+        endif
+    endif
 
-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
-configures the X server.
+*** An error message such as `X protocol error: BadMatch (invalid
+parameter attributes) on protocol request 93'.
 
-    xmodmap 2> /dev/null - << EOF
-    keysym Alt_L = Meta_L
-    keysym Alt_R = Meta_R
-    EOF
+This comes from having an invalid X resource, such as
+   emacs*Cursor:   black
+(which is invalid because it specifies a color name for something
+that isn't a color.)
 
-    xmodmap - << EOF
-    clear mod1
-    keysym Mode_switch = NoSymbol
-    add mod1 = Meta_L
-    keysym Meta_R = Mode_switch
-    add mod2 = Mode_switch
-    EOF
+The fix is to correct your X resources.
 
-** Trouble using ptys on IRIX, or running out of ptys.
+*** Once you pull down a menu from the menubar, it won't go away.
 
-The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
-be set-UID to root, or non-root programs like Emacs will not be able
-to allocate ptys reliably.
+It has been claimed that this is caused by a bug in certain very old
+(1990?)  versions of the twm window manager.  It doesn't happen with
+recent vintages, or with other window managers.
 
-** Motif dialog boxes lose on Irix.
+*** Emacs ignores the "help" key when running OLWM.
 
-Larry Auton <lda@control.att.com> writes:
-Beware of not specifying
+OLWM grabs the help key, and retransmits it to the appropriate client
+using XSendEvent.  Allowing emacs to react to synthetic events is a
+security hole, so this is turned off by default.  You can enable it by
+setting the variable 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:".
 
-       --with-dialogs=athena
+*** Programs running under terminal emulator do not recognize `emacs'
+terminal type.
 
-if it builds with the motif dialogs [boom!] you're a dead man.
+The cause of this is a shell startup file that sets the TERMCAP
+environment variable.  The terminal emulator uses that variable to
+provide the information on the special terminal type that Emacs
+emulates.
 
-** Beware of the default image & graphics library on Irix
+Rewrite your shell startup file so that it does not change TERMCAP
+in such a case.  You could use the following conditional which sets
+it only if it is undefined.
 
-Richard Cognot <cognot@ensg.u-nancy.fr> writes:
-You *have* to compile your own jpeg lib. The one delivered with SGI
-systems is a C++ lib, which apparently XEmacs cannot cope with.
+    if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
+
+Or you could set TERMCAP only when you set TERM--which should not
+happen in a non-login shell.
 
-** Slow startup on Linux.
+*** The popup menu appears at the buttom/right of my screen.
 
-People using systems based on the Linux kernel sometimes report that
-startup takes 10 to 15 seconds longer than `usual'.
+You probably have something like the following in your ~/.Xdefaults
 
-This is because Emacs looks up the host name when it starts.
-Normally, this takes negligible time; the extra delay is due to
-improper system configuration.  This problem can occur for both
-networked and non-networked machines.
+       Emacs.geometry:         81x56--9--1
 
-Here is how to fix the configuration.  It requires being root.
+Use the following instead
 
-*** Networked Case
+       Emacs*EmacsFrame.geometry:              81x56--9--1
 
-First, make sure the files `/etc/hosts' and `/etc/host.conf' both
-exist.  The first line in the `/etc/hosts' file should look like this
-(replace HOSTNAME with your host name):
 
-    127.0.0.1      localhost HOSTNAME
+** AIX
+*** Your Delete key sends a Backspace to the terminal, using an AIXterm.
 
-Also make sure that the `/etc/host.conf' files contains the following
-lines:
+The solution is to include in your .Xdefaults the lines:
 
-    order hosts, bind 
-    multi on
+   *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
+   aixterm*ttyModes: erase ^?
 
-Any changes, permanent and temporary, to the host name should be
-indicated in the `/etc/hosts' file, since it acts a limited local
-database of addresses and names (e.g., some SLIP connections
-dynamically allocate ip addresses).
+This makes your Backspace key send DEL (ASCII 127).
 
-*** Non-Networked Case
+*** On AIX 4, some programs fail when run in a Shell buffer
+with an error message like No terminfo entry for "unknown".
 
-The solution described in the networked case applies here as well.
-However, if you never intend to network your machine, you can use a
-simpler solution: create an empty `/etc/host.conf' file.  The command
-`touch /etc/host.conf' suffices to create the file.  The `/etc/hosts'
-file is not necessary with this approach.
+On AIX, many terminal type definitions are not installed by default.
+`unknown' is one of them.  Install the "Special Generic Terminal
+Definitions" to make them defined.
+
+*** On AIX, you get this message when running Emacs:
+
+    Could not load program emacs
+    Symbol smtcheckinit in csh is undefined
+    Error was: Exec format error
+
+or this one:
+
+    Could not load program .emacs
+    Symbol _system_con in csh is undefined
+    Symbol _fp_trapsta in csh is undefined
+    Error was: Exec format error
+
+These can happen when you try to run on AIX 3.2.5 a program that was
+compiled with 3.2.4.  The fix is to recompile.
+
+*** Trouble using ptys on AIX.
+
+People often install the pty devices on AIX incorrectly.
+Use `smit pty' to reinstall them properly.
+
+
+** SunOS/Solaris
+*** The Emacs window disappears when you type M-q.
+
+Some versions of the Open Look window manager interpret M-q as a quit
+command for whatever window you are typing at.  If you want to use
+Emacs with that window manager, you should try to configure the window
+manager to use some other command.   You can disable the
+shortcut keys entirely by adding this line to ~/.OWdefaults:
+
+    OpenWindows.WindowMenuAccelerators: False
+
+*** When Emacs tries to ring the bell, you get an error like
 
-** On Solaris 2.4, Dired hangs and C-g does not work.  Or Emacs hangs
+       audio: sst_open: SETQSIZE" Invalid argument
+       audio: sst_close: SETREG MMR2, Invalid argument
+
+you have probably compiled using an ANSI C compiler, but with non-ANSI
+include files.  In particular, on Suns, the file
+/usr/include/sun/audioio.h uses the _IOW macro to define the constant
+AUDIOSETQSIZE.  _IOW in turn uses a K&R preprocessor feature that is
+now explicitly forbidden in ANSI preprocessors, namely substitution
+inside character constants.  All ANSI C compilers must provide a
+workaround for this problem.  Lucid's C compiler is shipped with a new
+set of system include files.  If you are using GCC, there is a script
+called fixincludes that creates new versions of some system include
+files that use this obsolete feature.
+
+*** On Solaris 2.6, XEmacs dumps core when exiting.
+
+This happens if you're XEmacs is running on the same machine as the X
+server, and the optimized memory transport has been turned on by
+setting the environment variable XSUNTRANSPORT.  The crash occurs
+during the call to XCloseDisplay.
+
+If this describes your situation, you need to undefine the
+XSUNTRANSPORT environment variable.
+
+*** On Solaris, C-x doesn't get through to Emacs when you use the console.
+
+This is a Solaris feature (at least on Intel x86 cpus).  Type C-r
+C-r C-t, to toggle whether C-x gets through to Emacs.
+
+*** 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.
 
 casper@fwi.uva.nl says the problem is in X11R6.  Rebuild libX11.so
@@ -1081,61 +1064,14 @@ in sun.cf and did `make World' to rebuild X11R6.  Removing all
 `-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.
-
-This has been traced to communicating with your machine via kermit,
-with C-\ as the kermit escape character.  One solution is to use
-another escape character in kermit.  One user did
-
-   set escape-character 17
-
-in his .kermrc file, to make C-q the kermit escape character.
-
-** The Motif version of Emacs paints the screen a solid color.
-
-This has been observed to result from the following X resource:
-
-   Emacs*default.attributeFont:        -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
-
-That the resource has this effect indicates a bug in something, but we
-do not yet know what.  If it is an Emacs bug, we hope someone can
-explain what the bug is so we can fix it.  In the mean time, removing
-the resource prevents the problem.
-
-** Regular expressions matching bugs on SCO systems.
-
-On SCO, there are problems in regexp matching when Emacs is compiled
-with the system compiler.  The compiler version is "Microsoft C
-version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
-C Compiler Version 1.00.46 (Beta).  The solution is to compile with
-GCC.
-
-** In Shell mode, you get a ^M at the end of every line.
-
-This happens to people who use tcsh, because it is trying to be too
-smart.  It sees that the Shell uses terminal type `unknown' and turns
-on the flag to output ^M at the end of each line.  You can fix the
-problem by adding this to your .cshrc file:
-
-    if ($?EMACS) then
-        if ($EMACS == "t") then
-            unset edit 
-            stty  -icrnl -onlcr -echo susp ^Z
-        endif
-    endif
-
-** An error message such as `X protocol error: BadMatch (invalid
-parameter attributes) on protocol request 93'.
-
-This comes from having an invalid X resource, such as
-   emacs*Cursor:   black
-(which is invalid because it specifies a color name for something
-that isn't a color.)
+*** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
 
-The fix is to correct your X resources.
+This happens if you configure Emacs specifying just `sparc-sun-sunos4'
+on a system that is version 4.1.3.  You must specify the precise
+version number (or let configure figure out the configuration, which
+it can do perfectly well for SunOS).
 
-** Mail is lost when sent to local aliases.
+*** Mail is lost when sent to local aliases.
 
 Many emacs mail user agents (VM and rmail, for instance) use the
 sendmail.el library.  This library can arrange for mail to be
@@ -1162,79 +1098,171 @@ of this writing, these official versions are available:
  IDA sendmail on vixen.cso.uiuc.edu in /pub:
    sendmail-5.67b+IDA-1.5.tar.gz
 
-** On AIX, you get this message when running Emacs:
-
-    Could not load program emacs
-    Symbol smtcheckinit in csh is undefined
-    Error was: Exec format error
+*** 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.
 
-or this one:
+This typically happens on Suns and other systems that use shared
+libraries.  The cause is that the site has installed a version of the
+shared library which uses a name server--but has not installed a
+similar version of the unshared library which Emacs uses.
 
-    Could not load program .emacs
-    Symbol _system_con in csh is undefined
-    Symbol _fp_trapsta in csh is undefined
-    Error was: Exec format error
+The result is that most programs, using the shared library, work with
+the nameserver, but Emacs does not.
 
-These can happen when you try to run on AIX 3.2.5 a program that was
-compiled with 3.2.4.  The fix is to recompile.
+The fix is to install an unshared library that corresponds to what you
+installed in the shared library, and then relink Emacs.
 
-** After running emacs once, subsequent invocations crash.
+On SunOS 4.1, simply define HAVE_RES_INIT.
 
-Some versions of SVR4 have a serious bug in the implementation of the
-mmap () system call in the kernel; this causes emacs to run correctly
-the first time, and then crash when run a second time.
+If you have already installed the name resolver in the file libresolv.a,
+then you need to compile Emacs to use that library.  The easiest way to
+do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
+or LIB_STANDARD which uses -lresolv.  Watch out!  If you redefine a macro
+that is already in use in your configuration to supply some other libraries,
+be careful not to lose the others.
 
-Contact your vendor and ask for the mmap bug fix; in the mean time,
-you may be able to work around the problem by adding a line to your
-operating system description file (whose name is reported by the
-configure script) that reads:
-#define SYSTEM_MALLOC
-This makes Emacs use memory less efficiently, but seems to work around
-the kernel bug.
+Thus, you could start by adding this to config.h:
 
-** Inability to send an Alt-modified key, when Emacs is communicating
-directly with an X server.
+#define LIBS_SYSTEM -lresolv
 
-If you have tried to bind an Alt-modified key as a command, and it
-does not work to type the command, the first thing you should check is
-whether the key is getting through to Emacs.  To do this, type C-h c
-followed by the Alt-modified key.  C-h c should say what kind of event
-it read.  If it says it read an Alt-modified key, then make sure you
-have made the key binding correctly.
+Then if this gives you an error for redefining a macro, and you see that
+the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
+again to say this:
 
-If C-h c reports an event that doesn't have the Alt modifier, it may
-be because your X server has no key for the Alt modifier.  The X
-server that comes from MIT does not set up the Alt modifier by
-default.
+#define LIBS_SYSTEM -lresolv -lfoo -lbar
 
-If your keyboard has keys named Alt, you can enable them as follows:
+*** With process-connection-type set to t, each line of subprocess
+output is terminated with a ^M, making ange-ftp and GNUS not work.
 
-    xmodmap -e 'add mod2 = Alt_L'
-    xmodmap -e 'add mod2 = Alt_R'
+On SunOS systems, this problem has been seen to be a result of an
+incomplete installation of gcc 2.2 which allowed some non-ANSI
+compatible include files into the compilation.  In particular this
+affected virtually all ioctl() calls.
 
-If the keyboard has just one key named Alt, then only one of those
-commands is needed.  The modifier `mod2' is a reasonable choice if you
-are using an unmodified MIT version of X.  Otherwise, choose any
-modifier bit not otherwise used.
 
-If your keyboard does not have keys named Alt, you can use some other
-keys.  Use the keysym command in xmodmap to turn a function key (or
-some other 'spare' key) into Alt_L or into Alt_R, and then use the
-commands show above to make them modifier keys.
+** Linux
+*** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
 
-Note that if you have Alt keys but no Meta keys, Emacs translates Alt
-into Meta.  This is because of the great importance of Meta in Emacs.
+If you build with `gpm' support on Linux, you cannot suspend XEmacs
+because gpm installs a buggy SIGTSTP handler.  Either compile with
+`--with-gpm=no', or don't suspend XEmacs on the Linux console until
+this bug is fixed.
 
-** `Pid xxx killed due to text modification or page I/O error'
+*** With certain fonts, when the cursor appears on a character, the
+character doesn't appear--you get a solid box instead.
 
-On HP/UX, you can get that error when the Emacs executable is on an NFS
-file system.  HP/UX responds this way if it tries to swap in a page and
-does not get a response from the server within a timeout whose default
-value is just ten seconds.
+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.
+XFree86 3.1.2 works.
 
-If this happens to you, extend the timeout period.
+*** Slow startup on Linux.
+
+People using systems based on the Linux kernel sometimes report that
+startup takes 10 to 15 seconds longer than `usual'.
+
+This is because Emacs looks up the host name when it starts.
+Normally, this takes negligible time; the extra delay is due to
+improper system configuration.  This problem can occur for both
+networked and non-networked machines.
+
+Here is how to fix the configuration.  It requires being root.
+
+**** Networked Case
+
+First, make sure the files `/etc/hosts' and `/etc/host.conf' both
+exist.  The first line in the `/etc/hosts' file should look like this
+(replace HOSTNAME with your host name):
+
+    127.0.0.1      localhost HOSTNAME
+
+Also make sure that the `/etc/host.conf' files contains the following
+lines:
+
+    order hosts, bind 
+    multi on
+
+Any changes, permanent and temporary, to the host name should be
+indicated in the `/etc/hosts' file, since it acts a limited local
+database of addresses and names (e.g., some SLIP connections
+dynamically allocate ip addresses).
+
+**** Non-Networked Case
+
+The solution described in the networked case applies here as well.
+However, if you never intend to network your machine, you can use a
+simpler solution: create an empty `/etc/host.conf' file.  The command
+`touch /etc/host.conf' suffices to create the file.  The `/etc/hosts'
+file is not necessary with this approach.
+
+
+** IRIX
+*** On Irix, I don't see the toolbar icons and I'm getting lots of
+entries in the warnings buffer.
+
+SGI ships a really old Xpm library in /usr/lib which does not work at
+all well with XEmacs.  The solution is to install your own copy of the
+latest version of Xpm somewhere and then use the --site-includes and
+--site-libraries flags to tell configure where to find it.
+
+*** Trouble using ptys on IRIX, or running out of ptys.
+
+The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
+be set-UID to root, or non-root programs like Emacs will not be able
+to allocate ptys reliably.
+
+*** Motif dialog boxes lose on Irix.
+
+Larry Auton <lda@control.att.com> writes:
+Beware of not specifying
+
+       --with-dialogs=athena
+
+if it builds with the motif dialogs [boom!] you're a dead man.
+
+*** Beware of the default image & graphics library on Irix
+
+Richard Cognot <cognot@ensg.u-nancy.fr> writes:
+
+You *have* to compile your own jpeg lib. The one delivered with SGI
+systems is a C++ lib, which apparently XEmacs cannot cope with.
+
+
+** Digital UNIX/OSF/VMS/Ultrix
+*** XEmacs crashes on Digital Unix within font-lock, or when dealing
+with large compilation buffers.
+
+The default stack size under Digital Unix is rather small (2M as
+opposed to Solaris 8M), hosing the regexp code, which uses alloca()
+extensively, overflowing the stack when complex regexps are used.
+Workarounds:
+
+1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
+   equivalent;
+
+2) Recompile regex.c with REGEX_MALLOC defined.
+
+*** The `Alt' key doesn't behave as `Meta' when running DECwindows.
+
+The default DEC keyboard mapping has the Alt keys set up to generate the
+keysym `Multi_key', which has a meaning to xemacs which is distinct from that
+of the `Meta_L' and `Meta-R' keysyms.  A second problem is that certain keys
+have the Mod2 modifier attached to them for no adequately explored reason.
+The correct fix is to pass this file to xmodmap upon starting X:
+
+       clear mod2
+       keysym Multi_key = Alt_L
+       add mod1 = Alt_L
+       add mod1 = Alt_R
+
+*** The Compose key on a DEC keyboard does not work as Meta key.
+
+This shell command should fix it:
+
+  xmodmap -e 'keycode 0xb1 = Meta_L'
 
-** `expand-file-name' fails to work on any but the machine you dumped
+*** `expand-file-name' fails to work on any but the machine you dumped
 Emacs on.
 
 On Ultrix, if you use any of the functions which look up information
@@ -1250,47 +1278,71 @@ going on, and perhaps find a fix or a workaround, please let us know.
 Perhaps the YP functions cache some information, the cache is included
 in the dumped Emacs, and is then inaccurate on any other host.
 
-** 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.
 
-This typically happens on Suns and other systems that use shared
-libraries.  The cause is that the site has installed a version of the
-shared library which uses a name server--but has not installed a
-similar version of the unshared library which Emacs uses.
+** HP-UX
+*** I get complaints about the mapping of my HP keyboard at startup,
+but I haven't changed anything.
 
-The result is that most programs, using the shared library, work with
-the nameserver, but Emacs does not.
+The default HP keymap is set up to have Mod1 assigned to two different keys:
+Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
+the keyboard -- it uses an "imaginary" keycode.)  There actually is a reason
+for this, but it's not a good one.  The correct fix is to execute this command
+upon starting X:
 
-The fix is to install an unshared library that corresponds to what you
-installed in the shared library, and then relink Emacs.
+       xmodmap -e 'remove mod1 = Mode_switch'
 
-On SunOS 4.1, simply define HAVE_RES_INIT.
+*** On HP-UX, you get "poll: Interrupted system call" message in the
+window where XEmacs was launched.
 
-If you have already installed the name resolver in the file libresolv.a,
-then you need to compile Emacs to use that library.  The easiest way to
-do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
-or LIB_STANDARD which uses -lresolv.  Watch out!  If you redefine a macro
-that is already in use in your configuration to supply some other libraries,
-be careful not to lose the others.
+Richard Cognot <cognot@ensg.u-nancy.fr> writes:
 
-Thus, you could start by adding this to config.h:
+  I get a very strange problem when linking libc.a dynamically: every
+  event (mouse, keyboard, expose...) results in a "poll: Interrupted
+  system call" message in the window where XEmacs was
+  launched. Forcing a static link of libc.a alone by adding
+  /usr/lib/libc.a at the end of the link line solves this. Note that
+  my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
+  the same behaviour. I've tried various hpux patches to no avail. If
+  this problem cannot be solved before the release date, binary kits
+  for HP *must* be linked statically against libc, otherwise this
+  problem will show up. (This is directed at whoever will volunteer
+  for this kit, as I won't be available to do it, unless 19.14 gets
+  delayed until mid-june ;-). I think this problem will be an FAQ soon
+  after the release otherwise.
 
-#define LIBS_SYSTEM -lresolv
+Note: The above entry is probably not valid for XEmacs 21.0 and
+later.
 
-Then if this gives you an error for redefining a macro, and you see that
-the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
-again to say this:
+*** The right Alt key works wrong on German HP keyboards (and perhaps
+   other non-English HP keyboards too).
 
-#define LIBS_SYSTEM -lresolv -lfoo -lbar
+This is because HP-UX defines the modifiers wrong in X.  Here is a
+shell script to fix the problem; be sure that it is run after VUE
+configures the X server.
 
-** Trouble using ptys on AIX.
+    xmodmap 2> /dev/null - << EOF
+    keysym Alt_L = Meta_L
+    keysym Alt_R = Meta_R
+    EOF
 
-People often install the pty devices on AIX incorrectly.
-Use `smit pty' to reinstall them properly.
+    xmodmap - << EOF
+    clear mod1
+    keysym Mode_switch = NoSymbol
+    add mod1 = Meta_L
+    keysym Meta_R = Mode_switch
+    add mod2 = Mode_switch
+    EOF
+
+*** `Pid xxx killed due to text modification or page I/O error'
+
+On HP-UX, you can get that error when the Emacs executable is on an NFS
+file system.  HP-UX responds this way if it tries to swap in a page and
+does not get a response from the server within a timeout whose default
+value is just ten seconds.
+
+If this happens to you, extend the timeout period.
 
-** Shell mode on HP/UX gives the message, "`tty`: Ambiguous".
+*** Shell mode on HP-UX gives the message, "`tty`: Ambiguous".
 
 christos@theory.tn.cornell.edu says:
 
@@ -1311,51 +1363,31 @@ if ("`tty`" == "/dev/console")
 Even better, move things that set up terminal sections out of .cshrc
 and into .login.
 
-** With process-connection-type set to t, each line of subprocess
-output is terminated with a ^M, making ange-ftp and GNUS not work.
-
-On SunOS systems, this problem has been seen to be a result of an
-incomplete installation of gcc 2.2 which allowed some non-ANSI
-compatible include files into the compilation.  In particular this
-affected virtually all ioctl() calls.
-
-** Once you pull down a menu from the menubar, it won't go away.
 
-It has been claimed that this is caused by a bug in certain very old
-(1990?)  versions of the twm window manager.  It doesn't happen with
-recent vintages, or with other window managers.
+** SCO
+*** Regular expressions matching bugs on SCO systems.
 
-** Emacs ignores the "help" key when running OLWM.
-
-OLWM grabs the help key, and retransmits it to the appropriate client
-using XSendEvent.  Allowing emacs to react to synthetic events is a
-security hole, so this is turned off by default.  You can enable it by
-setting the variable 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:".
-
-** Programs running under terminal emulator do not recognize `emacs'
-terminal type.
+On SCO, there are problems in regexp matching when Emacs is compiled
+with the system compiler.  The compiler version is "Microsoft C
+version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
+C Compiler Version 1.00.46 (Beta).  The solution is to compile with
+GCC.
 
-The cause of this is a shell startup file that sets the TERMCAP
-environment variable.  The terminal emulator uses that variable to
-provide the information on the special terminal type that Emacs
-emulates.
 
-Rewrite your shell startup file so that it does not change TERMCAP
-in such a case.  You could use the following conditional which sets
-it only if it is undefined.
+** Windows
+*** Emacs exits with "X protocol error" when run with an X server for
+Windows.
 
-    if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
+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
+problem.
 
-Or you could set TERMCAP only when you set TERM--which should not
-happen in a non-login shell.
 
 
 * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)
 ==============================================================================
 
-** "Symbol's value as variable is void: unread-command-char".
+*** "Symbol's value as variable is void: unread-command-char".
  "Wrong type argument: arrayp, #<keymap 143 entries>"
  "Wrong type argument: stringp, [#<keypress-event return>]"
 
index 0beba52..9347c6c 100755 (executable)
--- a/configure
+++ b/configure
@@ -999,7 +999,7 @@ machine='' opsys=''
 
 case "$canonical" in
   sparc-*-*        ) machine=sparc ;;
-  alpha-*-*        ) machine=alpha ;;
+  alpha*-*-*       ) machine=alpha ;;
   vax-*-*          ) machine=vax ;;
   mips-dec-*       ) machine=pmax ;;
   mips-sgi-*       ) machine=iris4d ;;
@@ -1034,9 +1034,9 @@ case "$canonical" in
     *-*-aix3.1*  ) opsys=aix3-1        ;;
   *-*-aix3.2.5 ) opsys=aix3-2-5        ;;
   *-*-aix3*    ) opsys=aix3-2  ;;
-  *-*-aix4.2*  ) opsys=aix4-2  ;;
+  *-*-aix4.0*  ) opsys=aix4    ;;
   *-*-aix4.1*  ) opsys=aix4-1  ;;
-  *-*-aix4*    ) opsys=aix4    ;;
+  *-*-aix4*    ) opsys=aix4-2  ;;
 
     *-gnu* )                   opsys=gnu    ;;
   *-*-bsd4.[01] )              opsys=bsd4-1 ;;
@@ -2081,31 +2081,35 @@ EOF
 }
 
 
-echo $ac_n "checking whether we are using SunPro C""... $ac_c" 1>&6
-echo "configure:2086: checking whether we are using SunPro C" >&5
+
 cat > conftest.$ac_ext <<EOF
-#line 2088 "configure"
+#line 2087 "configure"
 #include "confdefs.h"
-
-int main() {
-#ifndef __SUNPRO_C
-#error Not a  SunPro compiler :-(
-******* ======= ******** &&&&&&&&
+int main () {
+#if defined __SUNPRO_C
+return 11;
+#elif defined __DECC
+return 12;
+#else
+return 0;
 #endif
-
-; return 0; }
+}
 EOF
-if { (eval echo configure:2099: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  __sunpro_c=yes
+if { (eval echo configure:2099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+then
+  :
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  __sunpro_c=no
+  rm -fr conftest*
+  case "$conftest_rc" in
+  11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
+  12) echo "You appear to be using the DEC C compiler."   ; __DECC=yes ;;
+esac
 fi
-rm -f conftest*
-echo "$ac_t""$__sunpro_c" 1>&6
+rm -fr conftest*
+
 
 
 
@@ -2277,20 +2281,24 @@ test "$extra_verbose" = "yes" && \
 
 test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
 
+test "$__DECC" = "yes" && c_switch_site="$c_switch_site -std" &&  if test "$extra_verbose" = "yes"; then echo "    Appending \"-std\" to \$c_switch_site"; fi
+
 if test "$cflags_specified" = "no"; then
       if   test "$GCC" = "yes"; then
     CFLAGS="-g -O3 -Wall -Wno-switch"
                     test "$opsys $machine" = "cygwin32 intel386" && \
       CFLAGS="-g -O2 -Wall -Wno-switch"
-  elif test "$__sunpro_c" = "yes"; then
+  elif test "$__SUNPRO_C" = "yes"; then
     case "$opsys" in
       sol2    ) CFLAGS="-v -xO4" ;;
       sunos4* ) CFLAGS="-xO2";;
     esac
+  elif test "$__DECC" = "yes"; then
+    CFLAGS="-O3"
   elif test "$CC" = "xlc"; then
-    CFLAGS="-O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
-  else
-        CFLAGS="-O" ;  fi
+    CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+    else
+    CFLAGS="-O" ;  fi
 fi
 
 
@@ -2357,7 +2365,7 @@ test -n "$unexec"          && extra_objs="$extra_objs $unexec" &&  if test "$ext
  fi
 
 echo $ac_n "checking for dynodump""... $ac_c" 1>&6
-echo "configure:2361: checking for dynodump" >&5
+echo "configure:2369: checking for dynodump" >&5
 if test "$unexec" != "unexsol2.o"; then
   echo "$ac_t""no" 1>&6
 else
@@ -2395,12 +2403,12 @@ if test "$unexec" = "unexaix.o"; then
   done
   
 echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6
-echo "configure:2399: checking for terminateAndUnload in -lC" >&5
+echo "configure:2407: checking for terminateAndUnload in -lC" >&5
 ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lC "
 cat > conftest.$ac_ext <<EOF
-#line 2404 "configure"
+#line 2412 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2411,7 +2419,7 @@ int main() {
 terminateAndUnload()
 ; return 0; }
 EOF
-if { (eval echo configure:2415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2488,18 +2496,22 @@ fi
 if   test "$dynamic" = "no"; then add_runtime_path=no
 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
 else case "$opsys" in
-       sol2 | irix* | *bsd* ) add_runtime_path=yes ;;
+       sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
        * ) add_runtime_path=no ;;
      esac
 fi
 
 if test "$add_runtime_path" = "yes"; then
       echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6
-echo "configure:2499: checking "for runtime libraries flag"" >&5
-  dash_r=""
-  for try_dash_r in "-R" "-R " "-rpath "; do
-    xe_check_libs="${try_dash_r}/no/such/file-or-directory"
-    
+echo "configure:2507: checking "for runtime libraries flag"" >&5
+  case "$opsys" in
+    sol2 ) dash_r = "-R" ;;
+    decosf* | linux* ) dash_r = "-rpath " ;;
+    *)
+      dash_r=""
+      for try_dash_r in "-R" "-R " "-rpath "; do
+        xe_check_libs="${try_dash_r}/no/such/file-or-directory"
+        
 if test "$GCC" = "yes"; then
   set x $xe_check_libs; shift; xe_check_libs=""
   while test -n "$1"; do
@@ -2512,15 +2524,15 @@ if test "$GCC" = "yes"; then
     shift
   done
 fi
-    cat > conftest.$ac_ext <<EOF
-#line 2517 "configure"
+        cat > conftest.$ac_ext <<EOF
+#line 2529 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   dash_r="$try_dash_r"
 else
@@ -2528,9 +2540,10 @@ else
   cat conftest.$ac_ext >&5
 fi
 rm -f conftest*
-    xe_check_libs=""
-    test -n "$dash_r" && break
-  done
+        xe_check_libs=""
+        test -n "$dash_r" && break
+      done ;;
+  esac
   if test -n "$dash_r";
     then echo "$ac_t"""\"${dash_r}\""" 1>&6
     else echo "$ac_t""NONE" 1>&6
@@ -2620,10 +2633,10 @@ else
 fi
 after_morecore_hook_exists=yes
 echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6
-echo "configure:2624: checking for malloc_get_state" >&5
+echo "configure:2637: checking for malloc_get_state" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2627 "configure"
+#line 2640 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char malloc_get_state(); below.  */
@@ -2646,7 +2659,7 @@ malloc_get_state();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_malloc_get_state=yes"
 else
@@ -2666,10 +2679,10 @@ doug_lea_malloc=no
 fi
 
 echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6
-echo "configure:2670: checking for malloc_set_state" >&5
+echo "configure:2683: checking for malloc_set_state" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2673 "configure"
+#line 2686 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char malloc_set_state(); below.  */
@@ -2692,7 +2705,7 @@ malloc_set_state();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_malloc_set_state=yes"
 else
@@ -2712,16 +2725,16 @@ doug_lea_malloc=no
 fi
 
 echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6
-echo "configure:2716: checking whether __after_morecore_hook exists" >&5
+echo "configure:2729: checking whether __after_morecore_hook exists" >&5
 cat > conftest.$ac_ext <<EOF
-#line 2718 "configure"
+#line 2731 "configure"
 #include "confdefs.h"
 extern void (* __after_morecore_hook)();
 int main() {
 __after_morecore_hook = 0
 ; return 0; }
 EOF
-if { (eval echo configure:2725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 else
@@ -2780,7 +2793,7 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2784: checking for $ac_word" >&5
+echo "configure:2797: checking for $ac_word" >&5
 
 if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -2833,7 +2846,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:2837: checking for a BSD compatible install" >&5
+echo "configure:2850: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 
   IFS="${IFS=  }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
@@ -2884,7 +2897,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2888: checking for $ac_word" >&5
+echo "configure:2901: checking for $ac_word" >&5
 
 if test -n "$YACC"; then
   ac_cv_prog_YACC="$YACC" # Let the user override the test.
@@ -2915,15 +2928,15 @@ for ac_hdr in mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2919: checking for $ac_hdr" >&5
+echo "configure:2932: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2922 "configure"
+#line 2935 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2940: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2952,19 +2965,19 @@ else
 fi
 done
 
-for ac_hdr in utime.h locale.h libgen.h fcntl.h ulimit.h
+for ac_hdr in utime.h locale.h libgen.h fcntl.h ulimit.h cygwin32/version.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2960: checking for $ac_hdr" >&5
+echo "configure:2973: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2963 "configure"
+#line 2976 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2981: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2997,15 +3010,15 @@ for ac_hdr in linux/version.h kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3001: checking for $ac_hdr" >&5
+echo "configure:3014: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3004 "configure"
+#line 3017 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3009: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3035,10 +3048,10 @@ fi
 done
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:3039: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:3052: checking for sys/wait.h that is POSIX.1 compatible" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3042 "configure"
+#line 3055 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -3054,7 +3067,7 @@ wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:3058: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3071: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -3078,10 +3091,10 @@ EOF
 fi
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3082: checking for ANSI C header files" >&5
+echo "configure:3095: checking for ANSI C header files" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3085 "configure"
+#line 3098 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -3089,7 +3102,7 @@ cat > conftest.$ac_ext <<EOF
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3106,7 +3119,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3110 "configure"
+#line 3123 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -3124,7 +3137,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3128 "configure"
+#line 3141 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -3142,7 +3155,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
 cat > conftest.$ac_ext <<EOF
-#line 3146 "configure"
+#line 3159 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -3153,10 +3166,11 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:3157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   :
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -3178,10 +3192,10 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3182: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3196: checking whether time.h and sys/time.h may both be included" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3185 "configure"
+#line 3199 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -3190,7 +3204,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:3194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3208: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -3214,10 +3228,10 @@ EOF
 fi
 
 echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
-echo "configure:3218: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo "configure:3232: checking for sys_siglist declaration in signal.h or unistd.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3221 "configure"
+#line 3235 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -3229,7 +3243,7 @@ int main() {
 char *msg = *(sys_siglist + 1);
 ; return 0; }
 EOF
-if { (eval echo configure:3233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_decl_sys_siglist=yes
 else
@@ -3254,9 +3268,9 @@ fi
 
 
 echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6
-echo "configure:3258: checking for struct utimbuf" >&5
+echo "configure:3272: checking for struct utimbuf" >&5
 cat > conftest.$ac_ext <<EOF
-#line 3260 "configure"
+#line 3274 "configure"
 #include "confdefs.h"
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
@@ -3275,7 +3289,7 @@ int main() {
 static struct utimbuf x; x.actime = x.modtime;
 ; return 0; }
 EOF
-if { (eval echo configure:3279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
    { test "$extra_verbose" = "yes" && cat << \EOF
@@ -3295,10 +3309,10 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3299: checking return type of signal handlers" >&5
+echo "configure:3313: checking return type of signal handlers" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3302 "configure"
+#line 3316 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -3315,7 +3329,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -3337,10 +3351,10 @@ EOF
 
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3341: checking for size_t" >&5
+echo "configure:3355: checking for size_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3344 "configure"
+#line 3358 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3371,10 +3385,10 @@ EOF
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:3375: checking for pid_t" >&5
+echo "configure:3389: checking for pid_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3378 "configure"
+#line 3392 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3405,10 +3419,10 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:3409: checking for uid_t in sys/types.h" >&5
+echo "configure:3423: checking for uid_t in sys/types.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3412 "configure"
+#line 3426 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -3444,10 +3458,10 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:3448: checking for mode_t" >&5
+echo "configure:3462: checking for mode_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3451 "configure"
+#line 3465 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3478,10 +3492,10 @@ EOF
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3482: checking for off_t" >&5
+echo "configure:3496: checking for off_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3485 "configure"
+#line 3499 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3513,9 +3527,9 @@ fi
 
 
 echo $ac_n "checking for struct timeval""... $ac_c" 1>&6
-echo "configure:3517: checking for struct timeval" >&5
+echo "configure:3531: checking for struct timeval" >&5
 cat > conftest.$ac_ext <<EOF
-#line 3519 "configure"
+#line 3533 "configure"
 #include "confdefs.h"
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
@@ -3531,7 +3545,7 @@ int main() {
 static struct timeval x; x.tv_sec = x.tv_usec;
 ; return 0; }
 EOF
-if { (eval echo configure:3535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
   HAVE_TIMEVAL=yes
@@ -3553,10 +3567,10 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:3557: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:3571: checking whether struct tm is in sys/time.h or time.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3560 "configure"
+#line 3574 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <time.h>
@@ -3564,7 +3578,7 @@ int main() {
 struct tm *tp; tp->tm_sec;
 ; return 0; }
 EOF
-if { (eval echo configure:3568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm=time.h
 else
@@ -3588,10 +3602,10 @@ EOF
 fi
 
 echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:3592: checking for tm_zone in struct tm" >&5
+echo "configure:3606: checking for tm_zone in struct tm" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3595 "configure"
+#line 3609 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_cv_struct_tm>
@@ -3599,7 +3613,7 @@ int main() {
 struct tm tm; tm.tm_zone;
 ; return 0; }
 EOF
-if { (eval echo configure:3603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm_zone=yes
 else
@@ -3622,10 +3636,10 @@ EOF
 
 else
   echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:3626: checking for tzname" >&5
+echo "configure:3640: checking for tzname" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3629 "configure"
+#line 3643 "configure"
 #include "confdefs.h"
 #include <time.h>
 #ifndef tzname /* For SGI.  */
@@ -3635,7 +3649,7 @@ int main() {
 atoi(*tzname);
 ; return 0; }
 EOF
-if { (eval echo configure:3639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_var_tzname=yes
 else
@@ -3661,10 +3675,10 @@ fi
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:3665: checking for working const" >&5
+echo "configure:3679: checking for working const" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3668 "configure"
+#line 3682 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -3713,7 +3727,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:3717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -3738,7 +3752,7 @@ fi
 
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:3742: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:3756: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 
 cat > conftestmake <<\EOF
@@ -3763,12 +3777,12 @@ fi
 
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:3767: checking whether byte ordering is bigendian" >&5
+echo "configure:3781: checking whether byte ordering is bigendian" >&5
 
 ac_cv_c_bigendian=unknown
 # See if sys/param.h defines the BYTE_ORDER macro.
 cat > conftest.$ac_ext <<EOF
-#line 3772 "configure"
+#line 3786 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -3779,11 +3793,11 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:3783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat > conftest.$ac_ext <<EOF
-#line 3787 "configure"
+#line 3801 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -3794,7 +3808,7 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:3798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3812: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
@@ -3811,7 +3825,7 @@ fi
 rm -f conftest*
 if test $ac_cv_c_bigendian = unknown; then
 cat > conftest.$ac_ext <<EOF
-#line 3815 "configure"
+#line 3829 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -3824,10 +3838,11 @@ main () {
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-if { (eval echo configure:3828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_c_bigendian=no
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -3850,10 +3865,10 @@ fi
 
 
 echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:3854: checking size of short" >&5
+echo "configure:3869: checking size of short" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3857 "configure"
+#line 3872 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3864,10 +3879,11 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_short=`cat conftestval`
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -3891,10 +3907,10 @@ if test "$ac_cv_sizeof_short" = 0; then
   exit 1
 fi
 echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:3895: checking size of int" >&5
+echo "configure:3911: checking size of int" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3898 "configure"
+#line 3914 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3905,10 +3921,11 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_int=`cat conftestval`
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -3926,10 +3943,10 @@ EOF
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:3930: checking size of long" >&5
+echo "configure:3947: checking size of long" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3933 "configure"
+#line 3950 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3940,10 +3957,11 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_long=`cat conftestval`
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -3961,10 +3979,10 @@ EOF
 
 
 echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:3965: checking size of long long" >&5
+echo "configure:3983: checking size of long long" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3968 "configure"
+#line 3986 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3975,10 +3993,11 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_long_long=`cat conftestval`
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -3996,10 +4015,10 @@ EOF
 
 
 echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4000: checking size of void *" >&5
+echo "configure:4019: checking size of void *" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4003 "configure"
+#line 4022 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4010,10 +4029,11 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:4014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:4033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_void_p=`cat conftestval`
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -4032,7 +4052,7 @@ EOF
 
 
 echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:4036: checking for long file names" >&5
+echo "configure:4056: checking for long file names" >&5
 
 ac_cv_sys_long_file_names=yes
 # Test for long file names in all the places we know might matter:
@@ -4079,12 +4099,12 @@ fi
 
 
 echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:4083: checking for sin in -lm" >&5
+echo "configure:4103: checking for sin in -lm" >&5
 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lm "
 cat > conftest.$ac_ext <<EOF
-#line 4088 "configure"
+#line 4108 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4095,7 +4115,7 @@ int main() {
 sin()
 ; return 0; }
 EOF
-if { (eval echo configure:4099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4137,14 +4157,14 @@ EOF
 
 
 cat > conftest.$ac_ext <<EOF
-#line 4141 "configure"
+#line 4161 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
 return atanh(1.0) + asinh(1.0) + acosh(1.0); 
 ; return 0; }
 EOF
-if { (eval echo configure:4148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_INVERSE_HYPERBOLIC
@@ -4161,7 +4181,7 @@ fi
 rm -f conftest*
 
 echo "checking type of mail spool file locking" 1>&6
-echo "configure:4165: checking type of mail spool file locking" >&5
+echo "configure:4185: checking type of mail spool file locking" >&5
 test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
 test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
 if   test "$mail_locking" = "lockf"; then { test "$extra_verbose" = "yes" && cat << \EOF
@@ -4185,12 +4205,12 @@ fi
 
 
 echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
-echo "configure:4189: checking for kstat_open in -lkstat" >&5
+echo "configure:4209: checking for kstat_open in -lkstat" >&5
 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lkstat "
 cat > conftest.$ac_ext <<EOF
-#line 4194 "configure"
+#line 4214 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4201,7 +4221,7 @@ int main() {
 kstat_open()
 ; return 0; }
 EOF
-if { (eval echo configure:4205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4235,12 +4255,12 @@ fi
 
 
 echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
-echo "configure:4239: checking for kvm_read in -lkvm" >&5
+echo "configure:4259: checking for kvm_read in -lkvm" >&5
 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lkvm "
 cat > conftest.$ac_ext <<EOF
-#line 4244 "configure"
+#line 4264 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4251,7 +4271,7 @@ int main() {
 kvm_read()
 ; return 0; }
 EOF
-if { (eval echo configure:4255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4286,12 +4306,12 @@ fi
 case "$opsys" in decosf*)
   
 echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6
-echo "configure:4290: checking for cma_open in -lpthreads" >&5
+echo "configure:4310: checking for cma_open in -lpthreads" >&5
 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lpthreads "
 cat > conftest.$ac_ext <<EOF
-#line 4295 "configure"
+#line 4315 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4302,7 +4322,7 @@ int main() {
 cma_open()
 ; return 0; }
 EOF
-if { (eval echo configure:4306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4338,7 +4358,7 @@ fi
 esac
 
 echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6
-echo "configure:4342: checking whether the -xildoff compiler flag is required" >&5
+echo "configure:4362: checking whether the -xildoff compiler flag is required" >&5
 if   ${CC-cc} '-###' -xildon  no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
   if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
     then echo "$ac_t""no" 1>&6;
@@ -4349,7 +4369,7 @@ fi
 
 if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then
   echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6
-echo "configure:4353: checking for \"-z ignore\" linker flag" >&5
+echo "configure:4373: checking for \"-z ignore\" linker flag" >&5
   case "`ld -h 2>&1`" in
     *-z\ ignore\|record* ) echo "$ac_t""yes" 1>&6
       ld_switch_site="-z ignore $ld_switch_site" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-z ignore\" to \$ld_switch_site"; fi ;;
@@ -4359,7 +4379,7 @@ fi
 
 
 echo "checking "for specified window system"" 1>&6
-echo "configure:4363: checking "for specified window system"" >&5
+echo "configure:4383: checking "for specified window system"" >&5
 
 if test "$with_x11" != "no"; then
     test "$x_includes $x_libraries" != "NONE NONE" && \
@@ -4392,7 +4412,7 @@ if test "$with_x11" != "no"; then
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:4396: checking for X" >&5
+echo "configure:4416: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -4452,12 +4472,12 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 4456 "configure"
+#line 4476 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4481: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4526,14 +4546,14 @@ if test "$ac_x_libraries" = NO; then
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4530 "configure"
+#line 4550 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:4537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
@@ -4642,17 +4662,17 @@ else
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:4646: checking whether -R must be followed by a space" >&5
+echo "configure:4666: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 4649 "configure"
+#line 4669 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:4656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -4668,14 +4688,14 @@ rm -f conftest*
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 4672 "configure"
+#line 4692 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:4679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -4711,12 +4731,12 @@ ac_cv_lib_dnet_dnet_ntoa=no
 else
 
 echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:4715: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:4735: checking for dnet_ntoa in -ldnet" >&5
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldnet "
 cat > conftest.$ac_ext <<EOF
-#line 4720 "configure"
+#line 4740 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4727,7 +4747,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:4731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4751,12 +4771,12 @@ fi
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       
 echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:4755: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:4775: checking for dnet_ntoa in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldnet_stub "
 cat > conftest.$ac_ext <<EOF
-#line 4760 "configure"
+#line 4780 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4767,7 +4787,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:4771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4796,10 +4816,10 @@ fi
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:4800: checking for gethostbyname" >&5
+echo "configure:4820: checking for gethostbyname" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4803 "configure"
+#line 4823 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -4822,7 +4842,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -4843,12 +4863,12 @@ fi
     if test $ac_cv_func_gethostbyname = no; then
       
 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:4847: checking for gethostbyname in -lnsl" >&5
+echo "configure:4867: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lnsl "
 cat > conftest.$ac_ext <<EOF
-#line 4852 "configure"
+#line 4872 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4859,7 +4879,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:4863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4889,10 +4909,10 @@ fi
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:4893: checking for connect" >&5
+echo "configure:4913: checking for connect" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4896 "configure"
+#line 4916 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -4915,7 +4935,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -4938,12 +4958,12 @@ fi
 xe_msg_checking="for connect in -lsocket"
 test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:4942: checking "$xe_msg_checking"" >&5
+echo "configure:4962: checking "$xe_msg_checking"" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lsocket $X_EXTRA_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4947 "configure"
+#line 4967 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4954,7 +4974,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:4958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4978,10 +4998,10 @@ fi
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:4982: checking for remove" >&5
+echo "configure:5002: checking for remove" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4985 "configure"
+#line 5005 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -5004,7 +5024,7 @@ remove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -5025,12 +5045,12 @@ fi
     if test $ac_cv_func_remove = no; then
       
 echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:5029: checking for remove in -lposix" >&5
+echo "configure:5049: checking for remove in -lposix" >&5
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lposix "
 cat > conftest.$ac_ext <<EOF
-#line 5034 "configure"
+#line 5054 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5041,7 +5061,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:5045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5065,10 +5085,10 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:5069: checking for shmat" >&5
+echo "configure:5089: checking for shmat" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5072 "configure"
+#line 5092 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -5091,7 +5111,7 @@ shmat();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -5112,12 +5132,12 @@ fi
     if test $ac_cv_func_shmat = no; then
       
 echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:5116: checking for shmat in -lipc" >&5
+echo "configure:5136: checking for shmat in -lipc" >&5
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lipc "
 cat > conftest.$ac_ext <<EOF
-#line 5121 "configure"
+#line 5141 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5128,7 +5148,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:5132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5162,12 +5182,12 @@ fi
   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
   
 echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:5166: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:5186: checking for IceConnectionNumber in -lICE" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lICE "
 cat > conftest.$ac_ext <<EOF
-#line 5171 "configure"
+#line 5191 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5178,7 +5198,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:5182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5253,6 +5273,8 @@ EOF
       break;     fi
   done
 
+    if test "$GCC" = yes -a -d /usr/shlib; then X_LIBS="$X_LIBS -L/usr/shlib" &&  if test "$extra_verbose" = "yes"; then echo "    Appending \"-L/usr/shlib\" to \$X_LIBS"; fi; fi
+
   ld_switch_x_site="$X_LIBS"
 
   
@@ -5345,7 +5367,7 @@ EOF
 
 
     echo "checking for X defines extracted by xmkmf" 1>&6
-echo "configure:5349: checking for X defines extracted by xmkmf" >&5
+echo "configure:5371: checking for X defines extracted by xmkmf" >&5
   rm -fr conftestdir
   if mkdir conftestdir; then
     cd conftestdir
@@ -5377,15 +5399,15 @@ EOF
 
     ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6
-echo "configure:5381: checking for X11/Intrinsic.h" >&5
+echo "configure:5403: checking for X11/Intrinsic.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5384 "configure"
+#line 5406 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5409,12 +5431,12 @@ fi
 
       
 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:5413: checking for XOpenDisplay in -lX11" >&5
+echo "configure:5435: checking for XOpenDisplay in -lX11" >&5
 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lX11 "
 cat > conftest.$ac_ext <<EOF
-#line 5418 "configure"
+#line 5440 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5425,7 +5447,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:5429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5450,12 +5472,12 @@ fi
 xe_msg_checking="for XGetFontProperty in -lX11"
 test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:5454: checking "$xe_msg_checking"" >&5
+echo "configure:5476: checking "$xe_msg_checking"" >&5
 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lX11 -b i486-linuxaout"
 cat > conftest.$ac_ext <<EOF
-#line 5459 "configure"
+#line 5481 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5466,7 +5488,7 @@ int main() {
 XGetFontProperty()
 ; return 0; }
 EOF
-if { (eval echo configure:5470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5493,12 +5515,12 @@ fi
 
     
 echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
-echo "configure:5497: checking for XShapeSelectInput in -lXext" >&5
+echo "configure:5519: checking for XShapeSelectInput in -lXext" >&5
 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXext "
 cat > conftest.$ac_ext <<EOF
-#line 5502 "configure"
+#line 5524 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5509,7 +5531,7 @@ int main() {
 XShapeSelectInput()
 ; return 0; }
 EOF
-if { (eval echo configure:5513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5532,12 +5554,12 @@ fi
 
     
 echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6
-echo "configure:5536: checking for XtOpenDisplay in -lXt" >&5
+echo "configure:5558: checking for XtOpenDisplay in -lXt" >&5
 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXt "
 cat > conftest.$ac_ext <<EOF
-#line 5541 "configure"
+#line 5563 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5548,7 +5570,7 @@ int main() {
 XtOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:5552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5571,17 +5593,18 @@ fi
 
 
   echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6
-echo "configure:5575: checking the version of X11 being used" >&5
+echo "configure:5597: checking the version of X11 being used" >&5
   cat > conftest.$ac_ext <<EOF
-#line 5577 "configure"
+#line 5599 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
     int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }
 EOF
-if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:5604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ./conftest foobar; x11_release=$?
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -5602,15 +5625,15 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5606: checking for $ac_hdr" >&5
+echo "configure:5629: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5609 "configure"
+#line 5632 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5637: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5641,7 +5664,7 @@ done
 
 
     echo $ac_n "checking for XFree86""... $ac_c" 1>&6
-echo "configure:5645: checking for XFree86" >&5
+echo "configure:5668: checking for XFree86" >&5
   if test -d "/usr/X386/include" -o \
           -f "/etc/XF86Config"    -o \
          -f "/etc/X11/XF86Config" -o \
@@ -5661,12 +5684,12 @@ EOF
 
     test -z "$with_xmu" && { 
 echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6
-echo "configure:5665: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
+echo "configure:5688: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXmu "
 cat > conftest.$ac_ext <<EOF
-#line 5670 "configure"
+#line 5693 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5677,7 +5700,7 @@ int main() {
 XmuReadBitmapDataFromFile()
 ; return 0; }
 EOF
-if { (eval echo configure:5681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5716,19 +5739,19 @@ EOF
 
       
 echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
-echo "configure:5720: checking for main in -lXbsd" >&5
+echo "configure:5743: checking for main in -lXbsd" >&5
 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXbsd "
 cat > conftest.$ac_ext <<EOF
-#line 5725 "configure"
+#line 5748 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5765,22 +5788,22 @@ fi
 fi 
 if test "$with_msw" != "no"; then
   echo "checking for MS-Windows" 1>&6
-echo "configure:5769: checking for MS-Windows" >&5
+echo "configure:5792: checking for MS-Windows" >&5
   
 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6
-echo "configure:5772: checking for main in -lgdi32" >&5
+echo "configure:5795: checking for main in -lgdi32" >&5
 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lgdi32 "
 cat > conftest.$ac_ext <<EOF
-#line 5777 "configure"
+#line 5800 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5844,12 +5867,12 @@ EOF
  fi
     fi
         cat > conftest.$ac_ext <<EOF
-#line 5848 "configure"
+#line 5871 "configure"
 #include "confdefs.h"
 #include <fcntl.h>
     int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }
 EOF
-if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:5876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_MSG_SELECT
@@ -5860,6 +5883,7 @@ EOF
 }
 
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
 fi
@@ -5927,7 +5951,7 @@ case "$x_libraries" in *X11R4* )
 esac
 
 echo "checking for session-management option" 1>&6
-echo "configure:5931: checking for session-management option" >&5;
+echo "configure:5955: checking for session-management option" >&5;
 if test "$with_session" != "no"; then
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_SESSION
@@ -5942,15 +5966,15 @@ fi
 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
 test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6
-echo "configure:5946: checking for X11/Xauth.h" >&5
+echo "configure:5970: checking for X11/Xauth.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5949 "configure"
+#line 5973 "configure"
 #include "confdefs.h"
 #include <X11/Xauth.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5978: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5973,12 +5997,12 @@ fi
  }
 test -z "$with_xauth" && { 
 echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6
-echo "configure:5977: checking for XauGetAuthByAddr in -lXau" >&5
+echo "configure:6001: checking for XauGetAuthByAddr in -lXau" >&5
 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXau "
 cat > conftest.$ac_ext <<EOF
-#line 5982 "configure"
+#line 6006 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5989,7 +6013,7 @@ int main() {
 XauGetAuthByAddr()
 ; return 0; }
 EOF
-if { (eval echo configure:5993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6034,15 +6058,15 @@ if test "$with_tooltalk" != "no" ; then
       for dir in "" "Tt/" "desktop/" ; do
     ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6
-echo "configure:6038: checking for ${dir}tt_c.h" >&5
+echo "configure:6062: checking for ${dir}tt_c.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6041 "configure"
+#line 6065 "configure"
 #include "confdefs.h"
 #include <${dir}tt_c.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6078,12 +6102,12 @@ if test "$with_tooltalk" != "no" ; then
 xe_msg_checking="for tt_message_create in -ltt"
 test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6082: checking "$xe_msg_checking"" >&5
+echo "configure:6106: checking "$xe_msg_checking"" >&5
 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ltt $extra_libs"
 cat > conftest.$ac_ext <<EOF
-#line 6087 "configure"
+#line 6111 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6094,7 +6118,7 @@ int main() {
 tt_message_create()
 ; return 0; }
 EOF
-if { (eval echo configure:6098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6151,15 +6175,15 @@ fi
 
 test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6
-echo "configure:6155: checking for Dt/Dt.h" >&5
+echo "configure:6179: checking for Dt/Dt.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6158 "configure"
+#line 6182 "configure"
 #include "confdefs.h"
 #include <Dt/Dt.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6163: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6187: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6182,12 +6206,12 @@ fi
  }
 test -z "$with_cde" && { 
 echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6
-echo "configure:6186: checking for DtDndDragStart in -lDtSvc" >&5
+echo "configure:6210: checking for DtDndDragStart in -lDtSvc" >&5
 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lDtSvc "
 cat > conftest.$ac_ext <<EOF
-#line 6191 "configure"
+#line 6215 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6198,7 +6222,7 @@ int main() {
 DtDndDragStart()
 ; return 0; }
 EOF
-if { (eval echo configure:6202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6267,7 +6291,7 @@ EOF
 fi
 
 echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6
-echo "configure:6271: checking if drag and drop API is needed" >&5
+echo "configure:6295: checking if drag and drop API is needed" >&5
 if test "$with_dragndrop" != "no" ; then
   if test -n "$dragndrop_proto" ; then
     with_dragndrop=yes
@@ -6288,18 +6312,18 @@ EOF
 fi
 
 echo "checking for LDAP" 1>&6
-echo "configure:6292: checking for LDAP" >&5
+echo "configure:6316: checking for LDAP" >&5
 test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ldap.h""... $ac_c" 1>&6
-echo "configure:6295: checking for ldap.h" >&5
+echo "configure:6319: checking for ldap.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6298 "configure"
+#line 6322 "configure"
 #include "confdefs.h"
 #include <ldap.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6303: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6327: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6322,15 +6346,15 @@ fi
  }
 test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for lber.h""... $ac_c" 1>&6
-echo "configure:6326: checking for lber.h" >&5
+echo "configure:6350: checking for lber.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6329 "configure"
+#line 6353 "configure"
 #include "confdefs.h"
 #include <lber.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6358: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6356,12 +6380,12 @@ if test "$with_ldap" != "no"; then
 xe_msg_checking="for ldap_open in -lldap"
 test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6360: checking "$xe_msg_checking"" >&5
+echo "configure:6384: checking "$xe_msg_checking"" >&5
 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lldap -llber"
 cat > conftest.$ac_ext <<EOF
-#line 6365 "configure"
+#line 6389 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6372,7 +6396,7 @@ int main() {
 ldap_open()
 ; return 0; }
 EOF
-if { (eval echo configure:6376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6395,12 +6419,12 @@ fi
  }
   test "$with_umich_ldap" = "no" && { 
 echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6
-echo "configure:6399: checking for ldap_set_option in -lldap10" >&5
+echo "configure:6423: checking for ldap_set_option in -lldap10" >&5
 ac_lib_var=`echo ldap10'_'ldap_set_option | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lldap10 "
 cat > conftest.$ac_ext <<EOF
-#line 6404 "configure"
+#line 6428 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6411,7 +6435,7 @@ int main() {
 ldap_set_option()
 ; return 0; }
 EOF
-if { (eval echo configure:6415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6475,14 +6499,15 @@ fi
 
 if test "$window_system" != "none"; then
   echo "checking for graphics libraries" 1>&6
-echo "configure:6479: checking for graphics libraries" >&5
+echo "configure:6503: checking for graphics libraries" >&5
 
-    if test -z "$with_xpm"; then
+    xpm_problem=""
+  if test -z "$with_xpm"; then
     echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6
-echo "configure:6483: checking for Xpm - no older than 3.4f" >&5
+echo "configure:6508: checking for Xpm - no older than 3.4f" >&5
     xe_check_libs=-lXpm
     cat > conftest.$ac_ext <<EOF
-#line 6486 "configure"
+#line 6511 "configure"
 #include "confdefs.h"
 #include <X11/xpm.h>
     int main(int c, char **v) {
@@ -6490,27 +6515,28 @@ echo "configure:6483: checking for Xpm - no older than 3.4f" >&5
       XpmIncludeVersion != XpmLibraryVersion() ? 1 :
       XpmIncludeVersion < 30406 ? 2 : 0 ;}
 EOF
-if { (eval echo configure:6494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:6519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ./conftest dummy_arg; xpm_status=$?;
-      if test "$?" = "0"; then
+      if test "$xpm_status" = "0"; then
         with_xpm=yes;
       else
         with_xpm=no;
-        if test "$?" = "1"; then
+        if test "$xpm_status" = "1"; then
           xpm_problem="Xpm library version and header file version don't match!"
-        elif test "$?" = "2"; then
+        elif test "$xpm_status" = "2"; then
           xpm_problem="Xpm library version is too old!"
         else
           xpm_problem="Internal xpm detection logic error!"
         fi
         echo "
-*** WARNING *** $problem
+*** WARNING *** $xpm_problem
   I'm not touching that with a 10-foot pole!
   If you really want to use the installed version of Xpm, rerun
-  configure --with-xpm=yes, but don't blame me if XEmacs crashes!"
+  configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
     fi
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -6531,17 +6557,17 @@ EOF
 
     libs_x="-lXpm $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-lXpm\" to \$libs_x"; fi
     echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6
-echo "configure:6535: checking for \"FOR_MSW\" xpm" >&5
+echo "configure:6561: checking for \"FOR_MSW\" xpm" >&5
     xe_check_libs=-lXpm
     cat > conftest.$ac_ext <<EOF
-#line 6538 "configure"
+#line 6564 "configure"
 #include "confdefs.h"
 
 int main() {
 XpmCreatePixmapFromData()
 ; return 0; }
 EOF
-if { (eval echo configure:6545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   xpm_for_msw=no
 else
@@ -6565,15 +6591,30 @@ EOF
     fi
   fi
 
+        if test "$with_gif" != "no"; then
+    with_gif="yes"
+    { test "$extra_verbose" = "yes" && cat << \EOF
+    Defining HAVE_GIF
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_GIF 1
+EOF
+}
+
+    extra_objs="$extra_objs dgif_lib.o gif_io.o" &&  if test "$extra_verbose" = "yes"; then
+   echo "    xemacs will be linked with \"dgif_lib.o gif_io.o\""
+ fi
+  fi
+
       if test "$with_png $with_tiff" != "no no"; then
     
 echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
-echo "configure:6572: checking for inflate in -lc" >&5
+echo "configure:6613: checking for inflate in -lc" >&5
 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lc "
 cat > conftest.$ac_ext <<EOF
-#line 6577 "configure"
+#line 6618 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6584,7 +6625,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:6588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6603,12 +6644,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:6607: checking for inflate in -lz" >&5
+echo "configure:6648: checking for inflate in -lz" >&5
 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lz "
 cat > conftest.$ac_ext <<EOF
-#line 6612 "configure"
+#line 6653 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6619,7 +6660,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:6623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6638,12 +6679,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
-echo "configure:6642: checking for inflate in -lgz" >&5
+echo "configure:6683: checking for inflate in -lgz" >&5
 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lgz "
 cat > conftest.$ac_ext <<EOF
-#line 6647 "configure"
+#line 6688 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6654,7 +6695,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:6658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
 
   fi
 
-    echo $ac_n "checking for gifreader""... $ac_c" 1>&6
-echo "configure:6687: checking for gifreader" >&5
-  test -z "$with_gif" && { ac_safe=`echo "gifrlib.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for gifrlib.h""... $ac_c" 1>&6
-echo "configure:6690: checking for gifrlib.h" >&5
-
-cat > conftest.$ac_ext <<EOF
-#line 6693 "configure"
-#include "confdefs.h"
-#include <gifrlib.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  :
-else
-  echo "$ac_t""no" 1>&6
-with_gif=no
-fi
- }
-  test -z "$with_gif" && { 
-echo $ac_n "checking for GetGifError in -lgifreader""... $ac_c" 1>&6
-echo "configure:6721: checking for GetGifError in -lgifreader" >&5
-ac_lib_var=`echo gifreader'_'GetGifError | sed 'y%./+-%__p_%'`
-
-xe_check_libs=" -lgifreader "
-cat > conftest.$ac_ext <<EOF
-#line 6726 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char GetGifError();
-
-int main() {
-GetGifError()
-; return 0; }
-EOF
-if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-xe_check_libs=""
-
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
-  echo "$ac_t""yes" 1>&6
-  : 
-else
-  echo "$ac_t""no" 1>&6
-with_gif=no
-fi
-
- }
-  test -z "$with_gif" && with_gif=yes
-  if test "$with_gif" = "yes"; then
-    { test "$extra_verbose" = "yes" && cat << \EOF
-    Defining HAVE_GIF
-EOF
-cat >> confdefs.h <<\EOF
-#define HAVE_GIF 1
-EOF
-}
-
-    libs_x="-lgifreader $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-lgifreader\" to \$libs_x"; fi
-  fi
-
     test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
-echo "configure:6773: checking for jpeglib.h" >&5
+echo "configure:6729: checking for jpeglib.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6776 "configure"
+#line 6732 "configure"
 #include "confdefs.h"
 #include <jpeglib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6781: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6800,12 +6756,12 @@ fi
  }
   test -z "$with_jpeg" && { 
 echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
-echo "configure:6804: checking for jpeg_destroy_decompress in -ljpeg" >&5
+echo "configure:6760: checking for jpeg_destroy_decompress in -ljpeg" >&5
 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ljpeg "
 cat > conftest.$ac_ext <<EOF
-#line 6809 "configure"
+#line 6765 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6816,7 +6772,7 @@ int main() {
 jpeg_destroy_decompress()
 ; return 0; }
 EOF
-if { (eval echo configure:6820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6850,34 +6806,12 @@ EOF
     libs_x="-ljpeg $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-ljpeg\" to \$libs_x"; fi
   fi
 
-    if test -z "$with_png"; then
-    echo $ac_n "checking for png.h - no older than 0.96""... $ac_c" 1>&6
-echo "configure:6856: checking for png.h - no older than 0.96" >&5
-    cat > conftest.$ac_ext <<EOF
-#line 6858 "configure"
-#include "confdefs.h"
-#include <png.h>
-#if PNG_LIBPNG_VER >= 96
-yes
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "yes" >/dev/null 2>&1; then
-  rm -rf conftest*
-  echo "$ac_t""yes" 1>&6
-else
-  rm -rf conftest*
-  echo "$ac_t""no" 1>&6; with_png=no
-fi
-rm -f conftest*
-
-  fi
+    png_problem=""
   test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6
-echo "configure:6878: checking for pow" >&5
+echo "configure:6812: checking for pow" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6881 "configure"
+#line 6815 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char pow(); below.  */
@@ -6900,7 +6834,7 @@ pow();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_pow=yes"
 else
@@ -6919,14 +6853,45 @@ else
 with_png=no
 fi
  }
+  test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for png.h""... $ac_c" 1>&6
+echo "configure:6859: checking for png.h" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 6862 "configure"
+#include "confdefs.h"
+#include <png.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:6867: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+with_png=no
+fi
+ }
   test -z "$with_png" && { 
 echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:6925: checking for png_read_image in -lpng" >&5
+echo "configure:6890: checking for png_read_image in -lpng" >&5
 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lpng "
 cat > conftest.$ac_ext <<EOF
-#line 6930 "configure"
+#line 6895 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6937,7 +6902,7 @@ int main() {
 png_read_image()
 ; return 0; }
 EOF
-if { (eval echo configure:6941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6958,7 +6923,48 @@ with_png=no
 fi
 
  }
-  test -z "$with_png" && with_png=yes
+  if test -z "$with_png"; then
+    echo $ac_n "checking for workable png version information""... $ac_c" 1>&6
+echo "configure:6929: checking for workable png version information" >&5
+    xe_check_libs="-lpng -lz"
+    cat > conftest.$ac_ext <<EOF
+#line 6932 "configure"
+#include "confdefs.h"
+#include <png.h>
+    int main(int c, char **v) {
+    if (c == 1) return 0;
+    if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
+    return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}
+EOF
+if { (eval echo configure:6940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+then
+  ./conftest dummy_arg; png_status=$?;
+      if test "$png_status" = "0"; then
+       with_png=yes;
+      else
+       with_png=no;
+       if test "$png_status" = "1"; then
+         png_problem="PNG library version and header file don't match!"
+        elif test "$png_status" = "2"; then
+         png_problem="PNG library version too old (pre 1.0.2)!"
+       fi
+       echo "
+*** WARNING *** $png_problem
+  I'm not touching that with a 10-foot pole!
+  If you really want to use the installed version of libPNG, rerun
+  configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
+    fi
+else
+  conftest_rc="$?"
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  with_png=no
+fi
+rm -fr conftest*
+    xe_check_libs=
+    echo "$ac_t""$with_png" 1>&6
+  fi
   if test "$with_png" = "yes"; then
     { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_PNG
@@ -6973,15 +6979,15 @@ EOF
 
     test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6
-echo "configure:6977: checking for tiffio.h" >&5
+echo "configure:6983: checking for tiffio.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6980 "configure"
+#line 6986 "configure"
 #include "confdefs.h"
 #include <tiffio.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6991: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7004,12 +7010,12 @@ fi
  }
   test -z "$with_tiff" && { 
 echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:7008: checking for TIFFClientOpen in -ltiff" >&5
+echo "configure:7014: checking for TIFFClientOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ltiff "
 cat > conftest.$ac_ext <<EOF
-#line 7013 "configure"
+#line 7019 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7020,7 +7026,7 @@ int main() {
 TIFFClientOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:7024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7059,19 +7065,19 @@ fi
 if test "$with_x11" = "yes"; then
 
   echo "checking for X11 graphics libraries" 1>&6
-echo "configure:7063: checking for X11 graphics libraries" >&5
+echo "configure:7069: checking for X11 graphics libraries" >&5
 
     test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for compface.h""... $ac_c" 1>&6
-echo "configure:7067: checking for compface.h" >&5
+echo "configure:7073: checking for compface.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7070 "configure"
+#line 7076 "configure"
 #include "confdefs.h"
 #include <compface.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7094,12 +7100,12 @@ fi
  }
   test -z "$with_xface" && { 
 echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:7098: checking for UnGenFace in -lcompface" >&5
+echo "configure:7104: checking for UnGenFace in -lcompface" >&5
 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lcompface "
 cat > conftest.$ac_ext <<EOF
-#line 7103 "configure"
+#line 7109 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7110,7 +7116,7 @@ int main() {
 UnGenFace()
 ; return 0; }
 EOF
-if { (eval echo configure:7114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7146,12 +7152,12 @@ EOF
 
     
 echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6
-echo "configure:7150: checking for XawScrollbarSetThumb in -lXaw" >&5
+echo "configure:7156: checking for XawScrollbarSetThumb in -lXaw" >&5
 ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXaw "
 cat > conftest.$ac_ext <<EOF
-#line 7155 "configure"
+#line 7161 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7162,7 +7168,7 @@ int main() {
 XawScrollbarSetThumb()
 ; return 0; }
 EOF
-if { (eval echo configure:7166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7186,15 +7192,15 @@ fi
                     
     ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:7190: checking for Xm/Xm.h" >&5
+echo "configure:7196: checking for Xm/Xm.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7193 "configure"
+#line 7199 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7198: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7204: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7211,12 +7217,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   
 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6
-echo "configure:7215: checking for XmStringFree in -lXm" >&5
+echo "configure:7221: checking for XmStringFree in -lXm" >&5
 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXm "
 cat > conftest.$ac_ext <<EOF
-#line 7220 "configure"
+#line 7226 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7227,7 +7233,7 @@ int main() {
 XmStringFree()
 ; return 0; }
 EOF
-if { (eval echo configure:7231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7256,9 +7262,9 @@ fi
 
   if test "$have_motif" = "yes"; then
         echo $ac_n "checking for Lesstif""... $ac_c" 1>&6
-echo "configure:7260: checking for Lesstif" >&5
+echo "configure:7266: checking for Lesstif" >&5
     cat > conftest.$ac_ext <<EOF
-#line 7262 "configure"
+#line 7268 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 #ifdef LESSTIF_VERSION
@@ -7542,7 +7548,7 @@ fi
 
 if test "$with_mule" = "yes" ; then
   echo "checking for Mule-related features" 1>&6
-echo "configure:7546: checking for Mule-related features" >&5
+echo "configure:7552: checking for Mule-related features" >&5
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining MULE
 EOF
@@ -7567,15 +7573,15 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7571: checking for $ac_hdr" >&5
+echo "configure:7577: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7574 "configure"
+#line 7580 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7585: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7606,12 +7612,12 @@ done
 
   
 echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6
-echo "configure:7610: checking for strerror in -lintl" >&5
+echo "configure:7616: checking for strerror in -lintl" >&5
 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lintl "
 cat > conftest.$ac_ext <<EOF
-#line 7615 "configure"
+#line 7621 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7622,7 +7628,7 @@ int main() {
 strerror()
 ; return 0; }
 EOF
-if { (eval echo configure:7626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7655,19 +7661,19 @@ fi
 
 
   echo "checking for Mule input methods" 1>&6
-echo "configure:7659: checking for Mule input methods" >&5
+echo "configure:7665: checking for Mule input methods" >&5
         case "$with_xim" in "" | "yes" )
     echo "checking for XIM" 1>&6
-echo "configure:7662: checking for XIM" >&5
+echo "configure:7668: checking for XIM" >&5
         if test "$have_lesstif" = "yes"; then with_xim=xlib
     else 
 echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6
-echo "configure:7666: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:7672: checking for XmImMbLookupString in -lXm" >&5
 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lXm "
 cat > conftest.$ac_ext <<EOF
-#line 7671 "configure"
+#line 7677 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7678,7 +7684,7 @@ int main() {
 XmImMbLookupString()
 ; return 0; }
 EOF
-if { (eval echo configure:7682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7744,15 +7750,15 @@ EOF
 
     if test "$with_xfs" = "yes" ; then
     echo "checking for XFontSet" 1>&6
-echo "configure:7748: checking for XFontSet" >&5
+echo "configure:7754: checking for XFontSet" >&5
     
 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6
-echo "configure:7751: checking for XmbDrawString in -lX11" >&5
+echo "configure:7757: checking for XmbDrawString in -lX11" >&5
 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lX11 "
 cat > conftest.$ac_ext <<EOF
-#line 7756 "configure"
+#line 7762 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7763,7 +7769,7 @@ int main() {
 XmbDrawString()
 ; return 0; }
 EOF
-if { (eval echo configure:7767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7803,15 +7809,15 @@ EOF
     test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
   test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6
-echo "configure:7807: checking for wnn/jllib.h" >&5
+echo "configure:7813: checking for wnn/jllib.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7810 "configure"
+#line 7816 "configure"
 #include "confdefs.h"
 #include <wnn/jllib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7815: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7836,10 +7842,10 @@ fi
     for ac_func in crypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7840: checking for $ac_func" >&5
+echo "configure:7846: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7843 "configure"
+#line 7849 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7862,7 +7868,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7891,12 +7897,12 @@ done
 
     test "$ac_cv_func_crypt" != "yes" && { 
 echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:7895: checking for crypt in -lcrypt" >&5
+echo "configure:7901: checking for crypt in -lcrypt" >&5
 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lcrypt "
 cat > conftest.$ac_ext <<EOF
-#line 7900 "configure"
+#line 7906 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7907,7 +7913,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:7911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7941,12 +7947,12 @@ fi
   fi
     test -z "$with_wnn" && { 
 echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6
-echo "configure:7945: checking for jl_dic_list_e in -lwnn" >&5
+echo "configure:7951: checking for jl_dic_list_e in -lwnn" >&5
 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lwnn "
 cat > conftest.$ac_ext <<EOF
-#line 7950 "configure"
+#line 7956 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7957,7 +7963,7 @@ int main() {
 jl_dic_list_e()
 ; return 0; }
 EOF
-if { (eval echo configure:7961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7995,12 +8001,12 @@ EOF
     if test "$with_wnn6" != "no"; then
       
 echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6
-echo "configure:7999: checking for jl_fi_dic_list in -lwnn" >&5
+echo "configure:8005: checking for jl_fi_dic_list in -lwnn" >&5
 ac_lib_var=`echo wnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lwnn "
 cat > conftest.$ac_ext <<EOF
-#line 8004 "configure"
+#line 8010 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8011,7 +8017,7 @@ int main() {
 jl_fi_dic_list()
 ; return 0; }
 EOF
-if { (eval echo configure:8015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8046,15 +8052,15 @@ EOF
   if test "$with_canna" != "no"; then
     ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:8050: checking for canna/jrkanji.h" >&5
+echo "configure:8056: checking for canna/jrkanji.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8053 "configure"
+#line 8059 "configure"
 #include "confdefs.h"
 #include <canna/jrkanji.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8081,15 +8087,15 @@ fi
     c_switch_site="$c_switch_site -I/usr/local/canna/include"
     ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:8085: checking for canna/jrkanji.h" >&5
+echo "configure:8091: checking for canna/jrkanji.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8088 "configure"
+#line 8094 "configure"
 #include "confdefs.h"
 #include <canna/jrkanji.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8099: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8117,15 +8123,15 @@ fi
 
   test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6
-echo "configure:8121: checking for canna/RK.h" >&5
+echo "configure:8127: checking for canna/RK.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8124 "configure"
+#line 8130 "configure"
 #include "confdefs.h"
 #include <canna/RK.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8148,12 +8154,12 @@ fi
  }
   test -z "$with_canna" && { 
 echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6
-echo "configure:8152: checking for RkBgnBun in -lRKC" >&5
+echo "configure:8158: checking for RkBgnBun in -lRKC" >&5
 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lRKC "
 cat > conftest.$ac_ext <<EOF
-#line 8157 "configure"
+#line 8163 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8164,7 +8170,7 @@ int main() {
 RkBgnBun()
 ; return 0; }
 EOF
-if { (eval echo configure:8168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8187,12 +8193,12 @@ fi
  }
   test -z "$with_canna" && { 
 echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6
-echo "configure:8191: checking for jrKanjiControl in -lcanna" >&5
+echo "configure:8197: checking for jrKanjiControl in -lcanna" >&5
 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lcanna "
 cat > conftest.$ac_ext <<EOF
-#line 8196 "configure"
+#line 8202 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8203,7 +8209,7 @@ int main() {
 jrKanjiControl()
 ; return 0; }
 EOF
-if { (eval echo configure:8207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8252,12 +8258,12 @@ if test "$need_motif" = "yes" ; then
   libs_x="-lXm $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-lXm\" to \$libs_x"; fi
     
 echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6
-echo "configure:8256: checking for layout_object_getvalue in -li18n" >&5
+echo "configure:8262: checking for layout_object_getvalue in -li18n" >&5
 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -li18n "
 cat > conftest.$ac_ext <<EOF
-#line 8261 "configure"
+#line 8267 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8268,7 +8274,7 @@ int main() {
 layout_object_getvalue()
 ; return 0; }
 EOF
-if { (eval echo configure:8272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8354,10 +8360,10 @@ fi
 for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8358: checking for $ac_func" >&5
+echo "configure:8364: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8361 "configure"
+#line 8367 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8380,7 +8386,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8417,10 +8423,10 @@ case "$opsys" in
     for ac_func in realpath
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8421: checking for $ac_func" >&5
+echo "configure:8427: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8424 "configure"
+#line 8430 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8443,7 +8449,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8476,16 +8482,16 @@ done
 esac
 
 echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6
-echo "configure:8480: checking whether netdb declares h_errno" >&5
+echo "configure:8486: checking whether netdb declares h_errno" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8482 "configure"
+#line 8488 "configure"
 #include "confdefs.h"
 #include <netdb.h>
 int main() {
 return h_errno;
 ; return 0; }
 EOF
-if { (eval echo configure:8489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
    { test "$extra_verbose" = "yes" && cat << \EOF
@@ -8505,16 +8511,16 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:8509: checking for sigsetjmp" >&5
+echo "configure:8515: checking for sigsetjmp" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8511 "configure"
+#line 8517 "configure"
 #include "confdefs.h"
 #include <setjmp.h>
 int main() {
 sigjmp_buf bar; sigsetjmp (bar, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:8518: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8524: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
    { test "$extra_verbose" = "yes" && cat << \EOF
@@ -8534,11 +8540,11 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6
-echo "configure:8538: checking whether localtime caches TZ" >&5
+echo "configure:8544: checking whether localtime caches TZ" >&5
 
 if test "$ac_cv_func_tzset" = "yes"; then
 cat > conftest.$ac_ext <<EOF
-#line 8542 "configure"
+#line 8548 "configure"
 #include "confdefs.h"
 #include <time.h>
 #if STDC_HEADERS
@@ -8573,10 +8579,11 @@ main()
   exit (0);
 }
 EOF
-if { (eval echo configure:8577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:8583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   emacs_cv_localtime_cache=no
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -8602,9 +8609,9 @@ fi
 
 if test "$HAVE_TIMEVAL" = "yes"; then
 echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6
-echo "configure:8606: checking whether gettimeofday accepts one or two arguments" >&5
+echo "configure:8613: checking whether gettimeofday accepts one or two arguments" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8608 "configure"
+#line 8615 "configure"
 #include "confdefs.h"
 
 #ifdef TIME_WITH_SYS_TIME
@@ -8626,7 +8633,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:8630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""two" 1>&6
 else
@@ -8648,19 +8655,19 @@ fi
 
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:8652: checking for inline" >&5
+echo "configure:8659: checking for inline" >&5
 
 ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 8657 "configure"
+#line 8664 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:8664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -8710,17 +8717,17 @@ fi
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:8714: checking for working alloca.h" >&5
+echo "configure:8721: checking for working alloca.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8717 "configure"
+#line 8724 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:8724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -8744,10 +8751,10 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:8748: checking for alloca" >&5
+echo "configure:8755: checking for alloca" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8751 "configure"
+#line 8758 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -8770,7 +8777,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:8774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -8809,10 +8816,10 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:8813: checking whether alloca needs Cray hooks" >&5
+echo "configure:8820: checking whether alloca needs Cray hooks" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8816 "configure"
+#line 8823 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -8836,10 +8843,10 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8840: checking for $ac_func" >&5
+echo "configure:8847: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8843 "configure"
+#line 8850 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8862,7 +8869,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8892,10 +8899,10 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:8896: checking stack direction for C alloca" >&5
+echo "configure:8903: checking stack direction for C alloca" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8899 "configure"
+#line 8906 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -8914,10 +8921,11 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:8918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:8925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_c_stack_direction=1
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -8942,15 +8950,15 @@ test -n "$ALLOCA" && extra_objs="$extra_objs $ALLOCA" &&  if test "$extra_verbos
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:8946: checking for vfork.h" >&5
+echo "configure:8954: checking for vfork.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8949 "configure"
+#line 8957 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8978,10 +8986,10 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:8982: checking for working vfork" >&5
+echo "configure:8990: checking for working vfork" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8985 "configure"
+#line 8993 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -9076,10 +9084,11 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:9080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_func_vfork_works=yes
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -9101,10 +9110,10 @@ fi
 
 
 echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:9105: checking for working strcoll" >&5
+echo "configure:9114: checking for working strcoll" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9108 "configure"
+#line 9117 "configure"
 #include "confdefs.h"
 #include <string.h>
 main ()
@@ -9114,10 +9123,11 @@ main ()
        strcoll ("123", "456") >= 0);
 }
 EOF
-if { (eval echo configure:9118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_func_strcoll_works=yes
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -9141,10 +9151,10 @@ fi
 for ac_func in getpgrp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9145: checking for $ac_func" >&5
+echo "configure:9155: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9148 "configure"
+#line 9158 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9167,7 +9177,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9195,10 +9205,10 @@ fi
 done
 
 echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:9199: checking whether getpgrp takes no argument" >&5
+echo "configure:9209: checking whether getpgrp takes no argument" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9202 "configure"
+#line 9212 "configure"
 #include "confdefs.h"
 
 /*
@@ -9253,10 +9263,11 @@ main()
 }
 
 EOF
-if { (eval echo configure:9257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_func_getpgrp_void=yes
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -9279,10 +9290,10 @@ fi
 
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:9283: checking for working mmap" >&5
+echo "configure:9294: checking for working mmap" >&5
 case "$opsys" in ultrix* ) have_mmap=no ;; *)
 cat > conftest.$ac_ext <<EOF
-#line 9286 "configure"
+#line 9297 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <unistd.h>
@@ -9315,10 +9326,11 @@ int main (int argc, char *argv[])
   return 1;
 }
 EOF
-if { (eval echo configure:9319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   have_mmap=yes
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -9335,6 +9347,271 @@ cat >> confdefs.h <<\EOF
 EOF
 }
 
+for ac_hdr in unistd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9355: checking for $ac_hdr" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9358 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9363: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  { test "$extra_verbose" = "yes" && cat << EOF
+    Defining $ac_tr_hdr
+EOF
+cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+}
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getpagesize
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:9395: checking for $ac_func" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9398 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:9421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  { test "$extra_verbose" = "yes" && cat << EOF
+    Defining $ac_tr_func
+EOF
+cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+}
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+echo "configure:9449: checking for working mmap" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9452 "configure"
+#include "confdefs.h"
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+   Here is a matrix of mmap possibilities:
+       mmap private not fixed
+       mmap private fixed at somewhere currently unmapped
+       mmap private fixed at somewhere already mapped
+       mmap shared not fixed
+       mmap shared fixed at somewhere currently unmapped
+       mmap shared fixed at somewhere already mapped
+   For private mappings, we should verify that changes cannot be read()
+   back from the file, nor mmap's back from the file at a different
+   address.  (There have been systems where private was not correctly
+   implemented like the infamous i386 svr4.0, and systems where the
+   VM page cache was not coherent with the filesystem buffer cache
+   like early versions of FreeBSD and possibly contemporary NetBSD.)
+   For shared mappings, we should conversely verify that changes get
+   propogated back to all the places they're supposed to be.
+
+   Grep wants private fixed already mapped.
+   The main things grep needs to know about mmap are:
+   * does it exist and is it safe to write into the mmap'd area
+   * how to use it (BSD variants)  */
+#include <sys/types.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+/* This mess was copied from the GNU getpagesize.h.  */
+#ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+# endif
+
+/* Assume that all systems that can run configure have sys/param.h.  */
+# ifndef HAVE_SYS_PARAM_H
+#  define HAVE_SYS_PARAM_H 1
+# endif
+
+# ifdef _SC_PAGESIZE
+#  define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+#  ifdef HAVE_SYS_PARAM_H
+#   include <sys/param.h>
+#   ifdef EXEC_PAGESIZE
+#    define getpagesize() EXEC_PAGESIZE
+#   else /* no EXEC_PAGESIZE */
+#    ifdef NBPG
+#     define getpagesize() NBPG * CLSIZE
+#     ifndef CLSIZE
+#      define CLSIZE 1
+#     endif /* no CLSIZE */
+#    else /* no NBPG */
+#     ifdef NBPC
+#      define getpagesize() NBPC
+#     else /* no NBPC */
+#      ifdef PAGESIZE
+#       define getpagesize() PAGESIZE
+#      endif /* PAGESIZE */
+#     endif /* no NBPC */
+#    endif /* no NBPG */
+#   endif /* no EXEC_PAGESIZE */
+#  else /* no HAVE_SYS_PARAM_H */
+#   define getpagesize() 8192  /* punt totally */
+#  endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+#ifdef __cplusplus
+extern "C" { void *malloc(unsigned); }
+#else
+char *malloc();
+#endif
+
+int
+main()
+{
+       char *data, *data2, *data3;
+       int i, pagesize;
+       int fd;
+
+       pagesize = getpagesize();
+
+       /*
+        * First, make a file with some known garbage in it.
+        */
+       data = malloc(pagesize);
+       if (!data)
+               exit(1);
+       for (i = 0; i < pagesize; ++i)
+               *(data + i) = rand();
+       umask(0);
+       fd = creat("conftestmmap", 0600);
+       if (fd < 0)
+               exit(1);
+       if (write(fd, data, pagesize) != pagesize)
+               exit(1);
+       close(fd);
+
+       /*
+        * Next, try to mmap the file at a fixed address which
+        * already has something else allocated at it.  If we can,
+        * also make sure that we see the same garbage.
+        */
+       fd = open("conftestmmap", O_RDWR);
+       if (fd < 0)
+               exit(1);
+       data2 = malloc(2 * pagesize);
+       if (!data2)
+               exit(1);
+       data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
+       if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
+           MAP_PRIVATE | MAP_FIXED, fd, 0L))
+               exit(1);
+       for (i = 0; i < pagesize; ++i)
+               if (*(data + i) != *(data2 + i))
+                       exit(1);
+
+       /*
+        * Finally, make sure that changes to the mapped area
+        * do not percolate back to the file as seen by read().
+        * (This is a bug on some variants of i386 svr4.0.)
+        */
+       for (i = 0; i < pagesize; ++i)
+               *(data2 + i) = *(data2 + i) + 1;
+       data3 = malloc(pagesize);
+       if (!data3)
+               exit(1);
+       if (read(fd, data3, pagesize) != pagesize)
+               exit(1);
+       for (i = 0; i < pagesize; ++i)
+               if (*(data + i) != *(data3 + i))
+                       exit(1);
+       close(fd);
+       unlink("conftestmmap");
+       exit(0);
+}
+
+EOF
+if { (eval echo configure:9592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+then
+  ac_cv_func_mmap_fixed_mapped=yes
+else
+  conftest_rc="$?"
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_func_mmap_fixed_mapped=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+  { test "$extra_verbose" = "yes" && cat << \EOF
+    Defining HAVE_MMAP
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_MMAP 1
+EOF
+}
+
+fi
+
 
 test "$GNU_MALLOC" != "yes"   -a "$have_mmap" != "yes" && rel_alloc=no
 test "$rel_alloc" = "default" -a "$have_mmap"  = "yes" && rel_alloc=yes
@@ -9349,15 +9626,15 @@ EOF
 
 ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for termios.h""... $ac_c" 1>&6
-echo "configure:9353: checking for termios.h" >&5
+echo "configure:9630: checking for termios.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9356 "configure"
+#line 9633 "configure"
 #include "confdefs.h"
 #include <termios.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9361: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9638: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9400,15 +9677,15 @@ else
   echo "$ac_t""no" 1>&6
 ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for termio.h""... $ac_c" 1>&6
-echo "configure:9404: checking for termio.h" >&5
+echo "configure:9681: checking for termio.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9407 "configure"
+#line 9684 "configure"
 #include "confdefs.h"
 #include <termio.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9440,10 +9717,10 @@ fi
 
 
 echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:9444: checking for socket" >&5
+echo "configure:9721: checking for socket" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9447 "configure"
+#line 9724 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char socket(); below.  */
@@ -9466,7 +9743,7 @@ socket();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_socket=yes"
 else
@@ -9481,15 +9758,15 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6
-echo "configure:9485: checking for netinet/in.h" >&5
+echo "configure:9762: checking for netinet/in.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9488 "configure"
+#line 9765 "configure"
 #include "confdefs.h"
 #include <netinet/in.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9506,15 +9783,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6
-echo "configure:9510: checking for arpa/inet.h" >&5
+echo "configure:9787: checking for arpa/inet.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9513 "configure"
+#line 9790 "configure"
 #include "confdefs.h"
 #include <arpa/inet.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9795: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9539,9 +9816,9 @@ EOF
 }
 
       echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6
-echo "configure:9543: checking "for sun_len member in struct sockaddr_un"" >&5
+echo "configure:9820: checking "for sun_len member in struct sockaddr_un"" >&5
       cat > conftest.$ac_ext <<EOF
-#line 9545 "configure"
+#line 9822 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9552,7 +9829,7 @@ int main() {
 static struct sockaddr_un x; x.sun_len = 1;
 ; return 0; }
 EOF
-if { (eval echo configure:9556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_SOCKADDR_SUN_LEN
@@ -9570,9 +9847,9 @@ else
 fi
 rm -f conftest*
       echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6
-echo "configure:9574: checking "for ip_mreq struct in netinet/in.h"" >&5
+echo "configure:9851: checking "for ip_mreq struct in netinet/in.h"" >&5
       cat > conftest.$ac_ext <<EOF
-#line 9576 "configure"
+#line 9853 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9582,7 +9859,7 @@ int main() {
 static struct ip_mreq x;
 ; return 0; }
 EOF
-if { (eval echo configure:9586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_MULTICAST
@@ -9613,10 +9890,10 @@ fi
 
 
 echo $ac_n "checking for msgget""... $ac_c" 1>&6
-echo "configure:9617: checking for msgget" >&5
+echo "configure:9894: checking for msgget" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9620 "configure"
+#line 9897 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char msgget(); below.  */
@@ -9639,7 +9916,7 @@ msgget();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_msgget=yes"
 else
@@ -9654,15 +9931,15 @@ if eval "test \"`echo '$ac_cv_func_'msgget`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
-echo "configure:9658: checking for sys/ipc.h" >&5
+echo "configure:9935: checking for sys/ipc.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9661 "configure"
+#line 9938 "configure"
 #include "confdefs.h"
 #include <sys/ipc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9943: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9679,15 +9956,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6
-echo "configure:9683: checking for sys/msg.h" >&5
+echo "configure:9960: checking for sys/msg.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9686 "configure"
+#line 9963 "configure"
 #include "confdefs.h"
 #include <sys/msg.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
 
 ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for dirent.h""... $ac_c" 1>&6
-echo "configure:9729: checking for dirent.h" >&5
+echo "configure:10006: checking for dirent.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9732 "configure"
+#line 10009 "configure"
 #include "confdefs.h"
 #include <dirent.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10014: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9760,15 +10037,15 @@ else
   echo "$ac_t""no" 1>&6
 ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6
-echo "configure:9764: checking for sys/dir.h" >&5
+echo "configure:10041: checking for sys/dir.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9767 "configure"
+#line 10044 "configure"
 #include "confdefs.h"
 #include <sys/dir.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
 
 ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for nlist.h""... $ac_c" 1>&6
-echo "configure:9805: checking for nlist.h" >&5
+echo "configure:10082: checking for nlist.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9808 "configure"
+#line 10085 "configure"
 #include "confdefs.h"
 #include <nlist.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9839,7 +10116,7 @@ fi
 
 
 echo "checking "for sound support"" 1>&6
-echo "configure:9843: checking "for sound support"" >&5
+echo "configure:10120: checking "for sound support"" >&5
 case "$with_sound" in
   native | both ) with_native_sound=yes;;
   nas    | no   ) with_native_sound=no;;
@@ -9850,15 +10127,15 @@ if test "$with_native_sound" != "no"; then
     if test -n "$native_sound_lib"; then
     ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6
-echo "configure:9854: checking for multimedia/audio_device.h" >&5
+echo "configure:10131: checking for multimedia/audio_device.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9857 "configure"
+#line 10134 "configure"
 #include "confdefs.h"
 #include <multimedia/audio_device.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10139: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
       if test -z "$native_sound_lib"; then
         
 echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6
-echo "configure:9910: checking for ALopenport in -laudio" >&5
+echo "configure:10187: checking for ALopenport in -laudio" >&5
 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -laudio "
 cat > conftest.$ac_ext <<EOF
-#line 9915 "configure"
+#line 10192 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9922,7 +10199,7 @@ int main() {
 ALopenport()
 ; return 0; }
 EOF
-if { (eval echo configure:9926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
       if test -z "$native_sound_lib"; then
        
 echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6
-echo "configure:9957: checking for AOpenAudio in -lAlib" >&5
+echo "configure:10234: checking for AOpenAudio in -lAlib" >&5
 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lAlib "
 cat > conftest.$ac_ext <<EOF
-#line 9962 "configure"
+#line 10239 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9969,7 +10246,7 @@ int main() {
 AOpenAudio()
 ; return 0; }
 EOF
-if { (eval echo configure:9973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
     for dir in "machine" "sys" "linux"; do
       ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6
-echo "configure:10011: checking for ${dir}/soundcard.h" >&5
+echo "configure:10288: checking for ${dir}/soundcard.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10014 "configure"
+#line 10291 "configure"
 #include "confdefs.h"
 #include <${dir}/soundcard.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10019: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10085,7 +10362,7 @@ EOF
  fi
   libs_x="-laudio $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-laudio\" to \$libs_x"; fi
       cat > conftest.$ac_ext <<EOF
-#line 10089 "configure"
+#line 10366 "configure"
 #include "confdefs.h"
 #include <audio/Xtutil.h>
 EOF
@@ -10112,7 +10389,7 @@ test -z "$with_tty" && with_tty=yes
 
 if test "$with_tty" = "yes"  ; then
   echo "checking for TTY-related features" 1>&6
-echo "configure:10116: checking for TTY-related features" >&5
+echo "configure:10393: checking for TTY-related features" >&5
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_TTY
 EOF
@@ -10128,12 +10405,12 @@ EOF
     if test -z "$with_ncurses"; then
     
 echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:10132: checking for tgetent in -lncurses" >&5
+echo "configure:10409: checking for tgetent in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lncurses "
 cat > conftest.$ac_ext <<EOF
-#line 10137 "configure"
+#line 10414 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10144,7 +10421,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10177,15 +10454,15 @@ EOF
 
     ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:10181: checking for ncurses/curses.h" >&5
+echo "configure:10458: checking for ncurses/curses.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10184 "configure"
+#line 10461 "configure"
 #include "confdefs.h"
 #include <ncurses/curses.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
 
     ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6
-echo "configure:10211: checking for ncurses/term.h" >&5
+echo "configure:10488: checking for ncurses/term.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10214 "configure"
+#line 10491 "configure"
 #include "confdefs.h"
 #include <ncurses/term.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10219: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10496: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
       c_switch_site="$c_switch_site -I/usr/include/ncurses"
       ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:10249: checking for ncurses/curses.h" >&5
+echo "configure:10526: checking for ncurses/curses.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10252 "configure"
+#line 10529 "configure"
 #include "confdefs.h"
 #include <ncurses/curses.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10534: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
        for lib in curses termlib termcap; do
          
 echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6
-echo "configure:10292: checking for tgetent in -l$lib" >&5
+echo "configure:10569: checking for tgetent in -l$lib" >&5
 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -l$lib "
 cat > conftest.$ac_ext <<EOF
-#line 10297 "configure"
+#line 10574 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10304,7 +10581,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
       else
        
 echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:10339: checking for tgetent in -lcurses" >&5
+echo "configure:10616: checking for tgetent in -lcurses" >&5
 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lcurses "
 cat > conftest.$ac_ext <<EOF
-#line 10344 "configure"
+#line 10621 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10351,7 +10628,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10369,12 +10646,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:10373: checking for tgetent in -ltermcap" >&5
+echo "configure:10650: checking for tgetent in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ltermcap "
 cat > conftest.$ac_ext <<EOF
-#line 10378 "configure"
+#line 10655 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10385,7 +10662,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10433,15 +10710,15 @@ EOF
 
     test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gpm.h""... $ac_c" 1>&6
-echo "configure:10437: checking for gpm.h" >&5
+echo "configure:10714: checking for gpm.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10440 "configure"
+#line 10717 "configure"
 #include "confdefs.h"
 #include <gpm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
  }
   test -z "$with_gpm" && { 
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:10468: checking for Gpm_Open in -lgpm" >&5
+echo "configure:10745: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lgpm "
 cat > conftest.$ac_ext <<EOF
-#line 10473 "configure"
+#line 10750 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10480,7 +10757,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:10484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10529,22 +10806,22 @@ test "$with_x11" = "yes" -o "$with_tty" = "yes" && extra_objs="$extra_objs event
 
 
 echo "checking for database support" 1>&6
-echo "configure:10533: checking for database support" >&5
+echo "configure:10810: checking for database support" >&5
 
 if test "$with_database_gnudbm" != "no"; then
   for ac_hdr in ndbm.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10540: checking for $ac_hdr" >&5
+echo "configure:10817: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10543 "configure"
+#line 10820 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10576,12 +10853,12 @@ done
   if test "$have_ndbm_h" = "yes"; then
     
 echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:10580: checking for dbm_open in -lgdbm" >&5
+echo "configure:10857: checking for dbm_open in -lgdbm" >&5
 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lgdbm "
 cat > conftest.$ac_ext <<EOF
-#line 10585 "configure"
+#line 10862 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10592,7 +10869,7 @@ int main() {
 dbm_open()
 ; return 0; }
 EOF
-if { (eval echo configure:10596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   fi
   if test "$with_database_gnudbm" != "yes"; then
     echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:10619: checking for dbm_open" >&5
+echo "configure:10896: checking for dbm_open" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10622 "configure"
+#line 10899 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dbm_open(); below.  */
@@ -10641,7 +10918,7 @@ dbm_open();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_dbm_open=yes"
 else
 
 if test "$with_database_dbm" != "no"; then
   echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:10681: checking for dbm_open" >&5
+echo "configure:10958: checking for dbm_open" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10684 "configure"
+#line 10961 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dbm_open(); below.  */
@@ -10703,7 +10980,7 @@ dbm_open();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_dbm_open=yes"
 else
   if test "$need_libdbm" != "no"; then
     
 echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:10728: checking for dbm_open in -ldbm" >&5
+echo "configure:11005: checking for dbm_open in -ldbm" >&5
 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldbm "
 cat > conftest.$ac_ext <<EOF
-#line 10733 "configure"
+#line 11010 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10740,7 +11017,7 @@ int main() {
 dbm_open()
 ; return 0; }
 EOF
-if { (eval echo configure:10744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
 
 if test "$with_database_berkdb" != "no"; then
   echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
-echo "configure:10781: checking for Berkeley db.h" >&5
+echo "configure:11058: checking for Berkeley db.h" >&5
   for path in "db/db.h" "db.h"; do
     cat > conftest.$ac_ext <<EOF
-#line 10784 "configure"
+#line 11061 "configure"
 #include "confdefs.h"
 #ifdef HAVE_INTTYPES_H
 #define __BIT_TYPES_DEFINED__
@@ -10798,7 +11075,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:10802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   db_h_path="$path"; break
 else
@@ -10807,16 +11084,16 @@ else
 fi
 rm -f conftest*
   done
-  if test -z "$db_h_path" 
+  if test -z "$db_h_path"
   then echo "$ac_t""no" 1>&6; with_database_berkdb=no
   else echo "$ac_t""$db_h_path" 1>&6
   fi
 
   if test "$with_database_berkdb" != "no"; then
     echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6
-echo "configure:10818: checking for Berkeley DB version" >&5
+echo "configure:11095: checking for Berkeley DB version" >&5
     cat > conftest.$ac_ext <<EOF
-#line 10820 "configure"
+#line 11097 "configure"
 #include "confdefs.h"
 #include <$db_h_path>
 #if DB_VERSION_MAJOR > 1
 rm -f conftest*
 
     echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6
-echo "configure:10839: checking for $dbfunc" >&5
+echo "configure:11116: checking for $dbfunc" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10842 "configure"
+#line 11119 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $dbfunc(); below.  */
@@ -10861,7 +11138,7 @@ $dbfunc();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$dbfunc=yes"
 else
@@ -10880,12 +11157,12 @@ else
 
     
 echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6
-echo "configure:10884: checking for $dbfunc in -ldb" >&5
+echo "configure:11161: checking for $dbfunc in -ldb" >&5
 ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldb "
 cat > conftest.$ac_ext <<EOF
-#line 10889 "configure"
+#line 11166 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10896,7 +11173,7 @@ int main() {
 $dbfunc()
 ; return 0; }
 EOF
-if { (eval echo configure:10900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
 if test "$with_socks" = "yes"; then
   
 echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6
-echo "configure:10964: checking for SOCKSinit in -lsocks" >&5
+echo "configure:11241: checking for SOCKSinit in -lsocks" >&5
 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lsocks "
 cat > conftest.$ac_ext <<EOF
-#line 10969 "configure"
+#line 11246 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10976,7 +11253,7 @@ int main() {
 SOCKSinit()
 ; return 0; }
 EOF
-if { (eval echo configure:10980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11033,15 +11310,15 @@ for ac_hdr in dlfcn.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11037: checking for $ac_hdr" >&5
+echo "configure:11314: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11040 "configure"
+#line 11317 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11045: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11322: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11072,12 +11349,12 @@ done
 
 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { 
 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:11076: checking for dlopen in -ldl" >&5
+echo "configure:11353: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldl "
 cat > conftest.$ac_ext <<EOF
-#line 11081 "configure"
+#line 11358 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11088,7 +11365,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:11092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
  }
 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { 
 echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6
-echo "configure:11121: checking for _dlopen in -lc" >&5
+echo "configure:11398: checking for _dlopen in -lc" >&5
 ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lc "
 cat > conftest.$ac_ext <<EOF
-#line 11126 "configure"
+#line 11403 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11133,7 +11410,7 @@ int main() {
 _dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:11137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
  }
 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { 
 echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6
-echo "configure:11166: checking for dlopen in -lc" >&5
+echo "configure:11443: checking for dlopen in -lc" >&5
 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -lc "
 cat > conftest.$ac_ext <<EOF
-#line 11171 "configure"
+#line 11448 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11178,7 +11455,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:11182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
  }
 test -z "$with_shlib" && { 
 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:11211: checking for shl_load in -ldld" >&5
+echo "configure:11488: checking for shl_load in -ldld" >&5
 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldld "
 cat > conftest.$ac_ext <<EOF
-#line 11216 "configure"
+#line 11493 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11223,7 +11500,7 @@ int main() {
 shl_load()
 ; return 0; }
 EOF
-if { (eval echo configure:11227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
  }
 test -z "$with_shlib" && { 
 echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
-echo "configure:11256: checking for dld_init in -ldld" >&5
+echo "configure:11533: checking for dld_init in -ldld" >&5
 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'`
 
 xe_check_libs=" -ldld "
 cat > conftest.$ac_ext <<EOF
-#line 11261 "configure"
+#line 11538 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11268,7 +11545,7 @@ int main() {
 dld_init()
 ; return 0; }
 EOF
-if { (eval echo configure:11272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11318,7 +11595,7 @@ dll_cflags="-r"
 dll_oflags="-o "
 
 echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6
-echo "configure:11322: checking how to build a shared library" >&5
+echo "configure:11599: checking how to build a shared library" >&5
 case `uname -rs` in
        UNIX_SV*|UNIX_System_V*)
                dll_lflags="-G"
@@ -11409,10 +11686,10 @@ case `uname -rs` in
   for ac_func in dlerror
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11413: checking for $ac_func" >&5
+echo "configure:11690: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11416 "configure"
+#line 11693 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11435,7 +11712,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -11471,14 +11748,15 @@ done
 fi
 
 cat > conftest.$ac_ext <<EOF
-#line 11475 "configure"
+#line 11752 "configure"
 #include "confdefs.h"
 int main(int c,char *v[]){return 0;}
 EOF
-if { (eval echo configure:11479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:11756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   :
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
@@ -11615,7 +11893,7 @@ if test -f $srcdir/src/gdbinit -a ! -f src/gdbinit ; then
   echo "source $srcdir/src/gdbinit" > src/gdbinit
 fi
 
-if test "$__sunpro_c" = "yes"; then
+if test "$__SUNPRO_C" = "yes"; then
   echo "creating .sbinit"; echo ""
   ( echo "# For use with Sun WorkShop's Source browser."
     echo "# See sbquery(1) and sbinit(4) for more information"
@@ -12035,15 +12313,31 @@ if test "$with_xpm" = yes; then
 elif test "$with_x11" = yes; then
   echo "  --------------------------------------------------------------------"
   echo "  WARNING: Compiling without XPM support."
-  echo "  WARNING: You should strongly considering installing XPM."
+  if test "$xpm_problem" != ""; then
+    echo "  Reason: $xpm_problem"
+  fi
+  echo "  WARNING: You should strongly consider installing XPM."
   echo "  WARNING: Otherwise toolbars and other graphics will look suboptimal."
+  echo "  WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
+  echo "  --------------------------------------------------------------------"
+fi
+if test "$with_png" = yes; then
+  echo "  Compiling in support for PNG image handling."
+elif test "$window_system" != "none"; then
+  echo "  --------------------------------------------------------------------"
+  echo "  WARNING: Compiling without PNG image support."
+  if test "$png_problem" != ""; then
+    echo "  Reason: $png_problem"
+  fi
+  echo "  WARNING: You should strongly consider installing the PNG libraries."
+  echo "  WARNING: Otherwise certain images and glyphs may not display."
+  echo "  WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
   echo "  --------------------------------------------------------------------"
 fi
+test "$with_gif"   = yes && echo "  Compiling in support for (builtin) GIF image handling."
+test "$with_jpeg"  = yes && echo "  Compiling in support for JPEG image handling."
+test "$with_tiff"  = yes && echo "  Compiling in support for TIFF image handling."
 test "$with_xface" = yes && echo "  Compiling in support for X-Face message headers."
-test "$with_gif"   = yes && echo "  Compiling in support for GIF image conversion."
-test "$with_jpeg"  = yes && echo "  Compiling in support for JPEG image conversion."
-test "$with_png"   = yes && echo "  Compiling in support for PNG image conversion."
-test "$with_tiff"  = yes && echo "  Compiling in support for TIFF image conversion."
 case "$with_sound" in
   nas    ) echo "  Compiling in network sound (NAS) support." ;;
   native ) echo "  Compiling in native sound support." ;;
index 3044365..fc963ae 100644 (file)
@@ -79,11 +79,12 @@ define([AC_TRY_RUN_NATIVE],
 #include "confdefs.h"
 [$1]
 EOF
-if AC_TRY_EVAL(ac_link) && test -s conftest && (./conftest; exit) 2>&AC_FD_CC
+if AC_TRY_EVAL(ac_link) && test -s conftest && (./conftest; exit $?) 2>&AC_FD_CC
 then
 dnl Do not remove the temporary files here, so they can be examined.
   ifelse([$2], , :, [$2])
 else
+  conftest_rc="$?"
   echo "configure: failed program was:" >&AC_FD_CC
   cat conftest.$ac_ext >&AC_FD_CC
 ifelse([$3], , , [  rm -fr conftest*
@@ -1019,7 +1020,7 @@ machine='' opsys=''
 dnl Straightforward machine determination
 case "$canonical" in
   sparc-*-*        ) machine=sparc ;;
-  alpha-*-*        ) machine=alpha ;;
+  alpha*-*-*       ) machine=alpha ;;
   vax-*-*          ) machine=vax ;;
   mips-dec-*       ) machine=pmax ;;
   mips-sgi-*       ) machine=iris4d ;;
@@ -1058,9 +1059,9 @@ case "$canonical" in
   *-*-aix3.1*  ) opsys=aix3-1  ;;
   *-*-aix3.2.5 ) opsys=aix3-2-5        ;;
   *-*-aix3*    ) opsys=aix3-2  ;;
-  *-*-aix4.2*  ) opsys=aix4-2  ;;
+  *-*-aix4.0*  ) opsys=aix4    ;;
   *-*-aix4.1*  ) opsys=aix4-1  ;;
-  *-*-aix4*    ) opsys=aix4    ;;
+  *-*-aix4*    ) opsys=aix4-2  ;;
 
   dnl Other generic OSes
   *-gnu* )                     opsys=gnu    ;;
@@ -1594,13 +1595,24 @@ dnl I'm tired of pop being broken with GLIBC -slb
 dnl Well. then why not fix fucking pop?
 test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE)
 
-AC_MSG_CHECKING(whether we are using SunPro C)
-AC_TRY_COMPILE([],[#ifndef __SUNPRO_C
-#error Not a  SunPro compiler :-(
-******* ======= ******** &&&&&&&&
+
+dnl Identify compilers to enable compiler-specific hacks.
+dnl Add support for other compilers HERE!
+dnl GCC is already identified elsewhere.
+AC_TRY_RUN([int main () {
+#if defined __SUNPRO_C
+return 11;
+#elif defined __DECC
+return 12;
+#else
+return 0;
 #endif
-], __sunpro_c=yes, __sunpro_c=no)
-AC_MSG_RESULT($__sunpro_c)
+}], [],
+[case "$conftest_rc" in
+  11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
+  12) echo "You appear to be using the DEC C compiler."   ; __DECC=yes ;;
+esac])
+
 
 dnl case "$canonical" in
 dnl   *-sun-sunos* ) test "$CPP" = "acc -E" && CPP="acc -E -Xs" ;;
@@ -1726,6 +1738,10 @@ test "$extra_verbose" = "yes" && \
 dnl Non-ordinary link usually requires -lc
 test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
 
+dnl Compiler-specific hacks
+dnl DEC C requires -std
+test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
+
 dnl Calculalate value of CFLAGS:
 dnl Use either command line flag, environment var, or autodetection
 if test "$cflags_specified" = "no"; then
@@ -1739,15 +1755,17 @@ if test "$cflags_specified" = "no"; then
     dnl cygwin can't cope with -O3
     test "$opsys $machine" = "cygwin32 intel386" && \
       CFLAGS="-g -O2 -Wall -Wno-switch"
-  elif test "$__sunpro_c" = "yes"; then
+  elif test "$__SUNPRO_C" = "yes"; then
     case "$opsys" in
       sol2    ) CFLAGS="-v -xO4" ;;
       sunos4* ) CFLAGS="-xO2";;
     esac
+  elif test "$__DECC" = "yes"; then
+    CFLAGS="-O3"
   elif test "$CC" = "xlc"; then
-    CFLAGS="-O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+    CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+  dnl ### Add optimal CFLAGS support for other compilers HERE!
   else
-    dnl ### Add tests for other compilers here...
     CFLAGS="-O" ;dnl The only POSIX-approved flag
   fi
 fi
@@ -1889,7 +1907,7 @@ dnl -------------------------------------
 if   test "$dynamic" = "no"; then add_runtime_path=no
 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
 else case "$opsys" in
-       sol2 | irix* | *bsd* ) add_runtime_path=yes ;;
+       sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
        * ) add_runtime_path=no ;;
      esac
 fi
@@ -1898,14 +1916,19 @@ if test "$add_runtime_path" = "yes"; then
   dnl Try to autodetect runtime library flag (usually -R),
   dnl and whether it works (or at least does no harm)
   AC_MSG_CHECKING("for runtime libraries flag")
-  dash_r=""
-  for try_dash_r in "-R" "-R " "-rpath "; do
-    xe_check_libs="${try_dash_r}/no/such/file-or-directory"
-    XE_PROTECT_LINKER_FLAGS(xe_check_libs)
-    AC_TRY_LINK(, , dash_r="$try_dash_r")
-    xe_check_libs=""
-    test -n "$dash_r" && break
-  done
+  case "$opsys" in
+    sol2 ) dash_r = "-R" ;;
+    decosf* | linux* ) dash_r = "-rpath " ;;
+    *)
+      dash_r=""
+      for try_dash_r in "-R" "-R " "-rpath "; do
+        xe_check_libs="${try_dash_r}/no/such/file-or-directory"
+        XE_PROTECT_LINKER_FLAGS(xe_check_libs)
+        AC_TRY_LINK(, , dash_r="$try_dash_r")
+        xe_check_libs=""
+        test -n "$dash_r" && break
+      done ;;
+  esac
   if test -n "$dash_r";
     then AC_MSG_RESULT("\"${dash_r}\"")
     else AC_MSG_RESULT(NONE)
@@ -2058,7 +2081,7 @@ AC_PROG_YACC
 
 dnl checks for header files
 AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h)
-AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h)
+AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h cygwin32/version.h)
 AC_CHECK_HEADERS(linux/version.h kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
 AC_HEADER_SYS_WAIT
 AC_HEADER_STDC
@@ -2281,6 +2304,9 @@ if test "$with_x11" = "yes"; then
     fi
   done
 
+  dnl Avoid version mismatch for shared library libXm.so on osf4
+  if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi
+
   ld_switch_x_site="$X_LIBS"
 
   XE_COMPUTE_RUNPATH()
@@ -2651,6 +2677,7 @@ if test "$window_system" != "none"; then
   AC_CHECKING(for graphics libraries)
 
   dnl Autodetect Xpm
+  xpm_problem=""
   if test -z "$with_xpm"; then
     AC_MSG_CHECKING(for Xpm - no older than 3.4f)
     xe_check_libs=-lXpm
@@ -2660,22 +2687,22 @@ if test "$window_system" != "none"; then
       XpmIncludeVersion != XpmLibraryVersion() ? 1 :
       XpmIncludeVersion < 30406 ? 2 : 0 ;}],
     [./conftest dummy_arg; xpm_status=$?;
-      if test "$?" = "0"; then
+      if test "$xpm_status" = "0"; then
         with_xpm=yes;
       else
         with_xpm=no;
-        if test "$?" = "1"; then
+        if test "$xpm_status" = "1"; then
           xpm_problem="Xpm library version and header file version don't match!"
-        elif test "$?" = "2"; then
+        elif test "$xpm_status" = "2"; then
           xpm_problem="Xpm library version is too old!"
         else
           xpm_problem="Internal xpm detection logic error!"
         fi
         echo "
-*** WARNING *** $problem
+*** WARNING *** $xpm_problem
   I'm not touching that with a 10-foot pole!
   If you really want to use the installed version of Xpm, rerun
-  configure --with-xpm=yes, but don't blame me if XEmacs crashes!"
+  configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
     fi],
     [with_xpm=no])
     xe_check_libs=
@@ -2696,6 +2723,15 @@ if test "$window_system" != "none"; then
     fi
   fi
 
+  dnl For a brief period we had the GIF code split out into a separate library,
+  dnl but patent problems, etc. sort of squashed that idea.
+  dnl We default to building with builtin GIF decoding
+  if test "$with_gif" != "no"; then
+    with_gif="yes"
+    AC_DEFINE(HAVE_GIF)
+    XE_ADD_OBJS(dgif_lib.o gif_io.o)
+  fi
+
   dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
   dnl So we always search for libz compression support.
   if test "$with_png $with_tiff" != "no no"; then
@@ -2704,16 +2740,6 @@ if test "$window_system" != "none"; then
     AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
   fi
 
-  dnl Autodetect GIFlib
-  AC_MSG_CHECKING(for gifreader)
-  test -z "$with_gif" && { AC_CHECK_HEADER(gifrlib.h,        ,with_gif=no) }
-  test -z "$with_gif" && { AC_CHECK_LIB(gifreader, GetGifError,[:] ,with_gif=no) }
-  test -z "$with_gif" && with_gif=yes
-  if test "$with_gif" = "yes"; then
-    AC_DEFINE(HAVE_GIF)
-    XE_PREPEND(-lgifreader, libs_x)
-  fi
-
   dnl autodetect JPEG
   test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h,                    ,with_jpeg=no) }
   test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) }
@@ -2724,18 +2750,38 @@ if test "$window_system" != "none"; then
   fi
 
   dnl autodetect PNG
-  if test -z "$with_png"; then
-    AC_MSG_CHECKING(for png.h - no older than 0.96)
-    AC_EGREP_CPP(yes,
-[#include <png.h>
-#if PNG_LIBPNG_VER >= 96
-yes
-#endif
-], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); with_png=no])
-  fi
+  png_problem=""
   test -z "$with_png" && { AC_CHECK_FUNC(pow,                  ,with_png=no) }
+  test -z "$with_png" && { AC_CHECK_HEADER(png.h,              ,with_png=no) }
   test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no) }
-  test -z "$with_png" && with_png=yes
+  if test -z "$with_png"; then
+    AC_MSG_CHECKING(for workable png version information)
+    xe_check_libs="-lpng -lz"
+    AC_TRY_RUN([#include <png.h>
+    int main(int c, char **v) {
+    if (c == 1) return 0;
+    if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
+    return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}],
+    [./conftest dummy_arg; png_status=$?;
+      if test "$png_status" = "0"; then
+       with_png=yes;
+      else
+       with_png=no;
+       if test "$png_status" = "1"; then
+         png_problem="PNG library version and header file don't match!"
+        elif test "$png_status" = "2"; then
+         png_problem="PNG library version too old (pre 1.0.2)!"
+       fi
+       echo "
+*** WARNING *** $png_problem
+  I'm not touching that with a 10-foot pole!
+  If you really want to use the installed version of libPNG, rerun
+  configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
+    fi],
+    [with_png=no])
+    xe_check_libs=
+    AC_MSG_RESULT($with_png)
+  fi
   if test "$with_png" = "yes"; then
     AC_DEFINE(HAVE_PNG)
     XE_PREPEND(-lpng, libs_x)
@@ -2752,7 +2798,7 @@ yes
 fi
 
 dnl ----------------------
-dnl Graphics libraries
+dnl X-Specific Graphics libraries
 dnl ----------------------
 
 if test "$with_x11" = "yes"; then
@@ -3181,6 +3227,7 @@ int main (int argc, char *argv[])
 esac
 AC_MSG_RESULT($have_mmap)
 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
+AC_FUNC_MMAP
 
 dnl rel_alloc requires either GNU malloc or system malloc with mmap
 dnl We only turn rel_alloc on by default if mmap is available.
@@ -3467,7 +3514,7 @@ typedef uint64_t u_int64_t;
 #include <$path>
 ],[], db_h_path="$path"; break)
   done
-  if test -z "$db_h_path" 
+  if test -z "$db_h_path"
   then AC_MSG_RESULT(no); with_database_berkdb=no
   else AC_MSG_RESULT($db_h_path)
   fi
@@ -3623,7 +3670,7 @@ if test -f $srcdir/src/gdbinit -a ! -f src/gdbinit ; then
 fi
 
 dnl Create top level .sbinit for Sun compilers
-if test "$__sunpro_c" = "yes"; then
+if test "$__SUNPRO_C" = "yes"; then
   echo "creating .sbinit"; echo ""
   ( echo "# For use with Sun WorkShop's Source browser."
     echo "# See sbquery(1) and sbinit(4) for more information"
@@ -3899,15 +3946,31 @@ if test "$with_xpm" = yes; then
 elif test "$with_x11" = yes; then
   echo "  --------------------------------------------------------------------"
   echo "  WARNING: Compiling without XPM support."
-  echo "  WARNING: You should strongly considering installing XPM."
+  if test "$xpm_problem" != ""; then
+    echo "  Reason: $xpm_problem"
+  fi
+  echo "  WARNING: You should strongly consider installing XPM."
   echo "  WARNING: Otherwise toolbars and other graphics will look suboptimal."
+  echo "  WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
+  echo "  --------------------------------------------------------------------"
+fi
+if test "$with_png" = yes; then
+  echo "  Compiling in support for PNG image handling."
+elif test "$window_system" != "none"; then
+  echo "  --------------------------------------------------------------------"
+  echo "  WARNING: Compiling without PNG image support."
+  if test "$png_problem" != ""; then
+    echo "  Reason: $png_problem"
+  fi
+  echo "  WARNING: You should strongly consider installing the PNG libraries."
+  echo "  WARNING: Otherwise certain images and glyphs may not display."
+  echo "  WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
   echo "  --------------------------------------------------------------------"
 fi
+test "$with_gif"   = yes && echo "  Compiling in support for (builtin) GIF image handling."
+test "$with_jpeg"  = yes && echo "  Compiling in support for JPEG image handling."
+test "$with_tiff"  = yes && echo "  Compiling in support for TIFF image handling."
 test "$with_xface" = yes && echo "  Compiling in support for X-Face message headers."
-test "$with_gif"   = yes && echo "  Compiling in support for GIF image conversion."
-test "$with_jpeg"  = yes && echo "  Compiling in support for JPEG image conversion."
-test "$with_png"   = yes && echo "  Compiling in support for PNG image conversion."
-test "$with_tiff"  = yes && echo "  Compiling in support for TIFF image conversion."
 case "$with_sound" in
   nas    ) echo "  Compiling in network sound (NAS) support." ;;
   native ) echo "  Compiling in native sound support." ;;
index bcab03e..dfb58d9 100644 (file)
@@ -97,9 +97,8 @@ Window-system options:
 --with-xface (*)       Compile with support for X-Face mail header
                        conversion.  Requires the compface library.
                        Get it from the XEmacs FTP site.
---with-gif (*)         Compile with support for GIF image conversion.
-                       Requires GifLib 3.1 or greater.  Get it from
-                       the XEmacs FTP site.
+--without-gif          Compile without the built-in support for GIF image
+                       conversion.
 --with-jpeg (*)                Compile with support for JPEG image conversion.
                        Requires libjpeg from the Independent JPEG Group.
                        Get it from the XEmacs FTP site.
index 0e619ee..a6658c1 100644 (file)
--- a/etc/BETA
+++ b/etc/BETA
@@ -197,7 +197,7 @@ Then type `make' and you should have a working XEmacs.
 
 After you have verified that you have a functional editor, fire up
 your favorite mail program and send a build report to
-xemacs-beta@xemacs.org.  The build report should include
+xemacs-build-reports@xemacs.org.  The build report should include
 
 1. Your hardware configuration (OS version, etc.)
 
index 01711ba..ffd4989 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -32,8 +32,32 @@ file.
 \f
 * Changes in XEmacs 21.2
 ========================
-None yet.
 
+*** You can now create an "indirect buffer", like in GNU Emacs.  An
+indirect buffer shares its text with another buffer ("base buffer"),
+but has its own major mode, local variables, extents, and narrowing.
+An indirect buffer has a name of its own, distinct from those of the
+base buffer and all other buffers.  An indirect buffer cannot itself
+be visiting a file (though its base buffer can be).  The base buffer
+cannot itself be indirect.
+
+Use (make-indirect-buffer BASE-BUFFER NAME) to make an indirect buffer
+named NAME whose base is BASE-BUFFER.  If BASE-BUFFER is an indirect
+buffer, its base buffer is used as the base for the new buffer.
+
+You can make an indirect buffer current, or switch to it in a window,
+just as you would a non-indirect buffer.
+
+The function `buffer-base-buffer', given an indirect buffer, returns
+its base buffer.  It returns nil when given an ordinary buffer (not
+indirect).  `buffer-indirect-children' returns a list of the indirect
+children of a base buffer.
+
+#### The library `noutline' has versions of Outline mode and Outline
+minor mode which let you display different parts of the outline in
+different indirect buffers.
+
+\f
 * Changes in XEmacs 21.0
 ========================
 
index a7b9fa8..b0ef6d0 100644 (file)
@@ -110,7 +110,7 @@ C-f kann sich, wie C-b, 
    Nun versuche ein weiteres C-f um in die nächste Zeile zu gelangen.
 
 Wenn Du Dich am Anfang oder Ende aus dem Bildschirm bewegst, schiebt
-sich der Text ins Blickfeld.  Diesen Vorgang nennt man rollen oder
+sich der Text ins Blickfeld.  Diesen Vorgang nennt man Rollen oder
 "scrolling".  Er erlaubt Emacs den Textzeiger an die gewünschte
 Stelle zu bringen, ohne ihn aus dem Bildschirmfenster zu bewegen.
 
@@ -148,9 +148,9 @@ Schau wie mehrere C-a's nichts bewirken, mehrere M-a's sich aber Satz
 für Satz weiterbewegen.  Obwohl sich ihr Verhalten unterscheidet,
 erscheint es natürlich.
 
-Die Stelle des Textzeigers im Text wird auch "Punkt" genannt. Der
-Textzeiger auf dem Bildschirm zeigt an welchem Punkt im Text sich
-dieser befindet.
+Die Stelle des Textzeigers im Text wird auch Punkt oder "point"
+genannt. Der Textzeiger auf dem Bildschirm zeigt an welchem Punkt im
+Text sich dieser befindet.
 
 Hier ist eine Zusammenfassung der einfachen Befehle zur Bewegung des
 Textzeigers, inklusive der Befehle zur wort- und satzweisen Bewegung:
@@ -187,7 +187,7 @@ Shift-Taste w
    Dann verwende C-v wiederholt um hierher zurück zu kommen.
 
 >> Versuche jetzt M-> um ans Ende der Übungen zu springen.
-   Benutzte M-v widerholt um hierher zurück zu gelangen.
+   Benutzte M-v wiederholt um hierher zurück zu gelangen.
 
 Du kannst den Textzeiger auch mit den Pfeil-Tasten bewegen, falls
 Deine Tastatur solche besitzt.  Wir empfehlen das Erlernen von C-b,
@@ -195,7 +195,7 @@ C-f, C-n und C-p aus drei Gr
 Tastaturen. Zweitens wirst Du herausfinden, wenn Du einige Übung mit
 Emacs bekommst, daß es schneller ist die CTRL-Tasten zu drücken als
 die Pfeil-Tasten (weil Du Deine Hände nicht aus dem normalen
-Fingersatz bringen mußt). Drittens: Hast Du die Versendung der CTRL
+Fingersatz bringen mußt). Drittens: Hast Du die Verwendung der CTRL
 Befehle erst zu Deiner Gewohnheit gemacht, wird es ein Leichtes
 weitere Bewegungs-Befehle zu erlernen.
 
@@ -226,7 +226,7 @@ haben.  Wenn Du ihn wieder zur
 entsprechendes Argument geben.
 
 Verwendest Du das X Window System, so befindet sich wahrscheinlich ein
-rechteckiger Balken, Scrollbar oder Rollbalken genannt, rechts neben
+rechteckiger Balken, Rollbalken oder "scrollbar" genannt, rechts neben
 dem Emacs-Fenster. Du kannst den Text auch durch Manipulieren dieses
 Rollbalkens mit der Maus rollen.
 
@@ -242,8 +242,8 @@ Rollbalkens mit der Maus rollen.
 -------------------------------------------
 
 An einem X-Terminal wirst Du es wahrscheinlich einfacher finden die
-Tasten des Tastenfeldes zur Textzeiger Steuerung zu gebrauchen.  Die
-Links, Rechts, Auf und Ab Pfeil Tasten steuern in die erwartete
+Tasten des Tastenfeldes zur Textzeiger-Steuerung zu gebrauchen.  Die
+Links, Rechts, Auf und Ab Pfeil-Tasten steuern in die erwartete
 Richtung; sie funktionieren exakt wie C-b, C-f, C-p und C-n, sind aber
 leichter zu tippen und zu merken.  Du kannst auch C-Links und C-Rechts
 verwenden um wortweise zu springen.  C-Auf und C-Ab bewegen den
@@ -264,9 +264,9 @@ CONTROL-Taste, getippt werden kann.
 * WENN EMACS HÄNGT
 ------------------
 
-Wenn Emacs auf Deine Befehle nicht mehr reagiert, kannst Du den
-Befehle risikolos mit C-g unterbrechen.  Mit C-g kann man Befehle
-abbrechen, die zu lange dauern.
+Wenn Emacs auf Deine Befehle nicht mehr reagiert, kannst Du den Befehl
+risikolos mit C-g unterbrechen.  Mit C-g kann man Befehle abbrechen,
+die zu lange dauern.
 
 Du kannst mit C-g auch ein numerisches Argument oder einen teilweise
 eingegebenen Befehl, den Du nicht mehr ausführen willst, verwerfen.
@@ -367,7 +367,7 @@ wieder eine Fortsetzungszeile.
 >> Geh an den Anfang einer Zeile und tippe <Delete>.  Dies fügt die
    Zeile an die vorhergehende an.
 
->> Tippe <Return> um den Newline-Zeichen wieder einzufügen.
+>> Tippe <Return> um das Newline-Zeichen wieder einzufügen.
 
 Denke daran, daß die meisten Emacs-Befehle mittels eines Arguments
 wiederholt werden können; Ein Textzeichen wird mittels Argument
@@ -393,12 +393,12 @@ Verwandtschaft von C-f und M-f fortsetzen (<Delete> ist zwar keine
 CONTROL-Taste, aber das kümmert uns nicht).  C-k und M-k verhalten
 sich zueinander wie C-e und M-e zu Zeilen und Sätzen.
 
-Wenn Du mehr als ein Zeichen auf einmal löschst, speichert sie
-Emacs, damit Du sie wieder abrufen kannst.  Den gelöschten Text
-zurückzuholen nennt man "yanking".  Du kannst den gelöschten Text an
-der selben oder an einer anderen Textstelle zurückholen.  Der Text
-kann mehrere Male zurückgeholt geholt werden um Mehrfachkopien
-anzulegen.  Der Zurückhol-Befehl ist C-y.
+Wenn Du mehr als ein Zeichen auf einmal löschst, speichert sie Emacs,
+damit Du sie wieder abrufen kannst.  Den gelöschten Text zurückzuholen
+nennt man "yanking".  Du kannst den gelöschten Text an der selben oder
+an einer anderen Textstelle zurückholen.  Der Text kann mehrere Male
+zurückgeholt werden um Mehrfachkopien anzulegen.  Der Zurückhol-Befehl
+ist C-y.
 
 Beachte daß der Unterschied zwischen Entfernen ("Killing") und Löschen
 ("Deleting") darin besteht, daß gelöschte Teile zurückgeholt werden
@@ -442,8 +442,8 @@ zur
 zurückgeholten Text durch früher gelöschten Text ersetzten.  Tippst Du
 M-y wieder und wieder, holst Du früher und früher Gelöschtes zurück.
 Hast Du den gewünschten Text erreicht, brauchst Du nichts weiter zu
-tun um diesen zu behalten.  Fahre mit mit Deiner Arbeit fort und laß
-den zurückgeholten Text wo er ist.
+tun um diesen zu behalten.  Fahre mit Deiner Arbeit fort und laß den
+zurückgeholten Text wo er ist.
 
 Verwendest Du M-y oft genug, kehrst Du an den Anfang zurück (der
 letzte Löschvorgang).
@@ -505,9 +505,9 @@ Namen falls Du sp
 Fehler waren.
 
 Nahe dem unteren Ende des Bildschirms siehst Du eine Zeile die mit
-Bindestrichen beginnt und endet und den Text "Emacs: TUTORIAL"
+Bindestrichen beginnt und endet und den Text "XEmacs: TUTORIAL.de"
 enthält.  Dieser Teil des Bildschirms zeigt immer den Namen der
-besuchten Datei. Zur Zeit besuchst Du eine Datei namens "TUTORIAL",
+besuchten Datei. Zur Zeit besuchst Du eine Datei namens "TUTORIAL.de",
 welche Deine persönliche Kopie des Emacs Tutorials ist.  Was immer für
 eine Datei Du findest, ihr Name wird immer an dieser Stelle
 erscheinen.
@@ -560,7 +560,7 @@ Du solltest recht oft sichern, damit Du nicht viel Arbeit verlierst,
 sollte das System abstürzen.
 
 >> Tippe C-x C-s um Deine Kopie des tutorials zu sichern.
-   Dies sollte "Wrote ...TUTORIAL" am Fuß des Bildschirms ausgeben.
+   Dies sollte "Wrote ...TUTORIAL.de" am Fuß des Bildschirms ausgeben.
 
 ACHTUNG: Auf manchen Systemen wird C-x C-s den Bildschirm anhalten und
 Du wirst keine weitere Ausgabe von Emacs sehen.  Dies bedeutet, daß
@@ -592,7 +592,7 @@ haben.
    <Return>.
    Dann füge etwas Text ein, bearbeite ihn und sichere die Datei "foo"
    mit C-x C-s.
-   Schließlich tippe C-x C-f TUTORIAL <Return> um zum Tutorial zurück
+   Schließlich tippe C-x C-f TUTORIAL.de <Return> um zum Tutorial zurück
    zu gelangen.
 
 Emacs hält den Text jeder Datei in einem Objekt namens "buffer".  Das
@@ -628,20 +628,20 @@ enth
 willst.
 
 >> Füge eine Text-Zeile ein, dann tippe C-x s.
-   Du wirst gefragt, ob Du den Buffer namens TUTORIAL speichern
+   Du wirst gefragt, ob Du den Buffer namens TUTORIAL.de speichern
    willst.
 
 * VERWENDUNG DES MENÜS
 ----------------------
 
-An einem X-Terminal wirst Du eine Menüleiste am oberen Ende des Emacs
+An einem X-Terminal wirst Du eine Menüleiste am oberen Ende des Emacs-
 Fensters bemerken.  Mit der Menüleiste kannst Du die allgemeinsten
 Emacs-Befehle, wie "Finde Datei" ("find file"), erreichen.  Du wirst
-dies anfänglich einfacher finden, da Du dir die notwendigen
-Tastenkombinationen der Befehle nicht merken mußt.  Bist Du einmal
-mit Emacs vertraut, wird es ein Leichtes sein die Kommandos zu
-benutzen, da jeder Menüeintrag, der einer Tastenkombination
-entspricht, diese auch anzeigt.
+dies anfänglich einfacher finden, da Du Dir die notwendigen Tasten-
+kombinationen der Befehle nicht merken mußt.  Bist Du einmal mit Emacs
+vertraut, wird es ein Leichtes sein die Kommandos zu benutzen, da
+jeder Menüeintrag, der einer Tastenkombination entspricht, diese auch
+anzeigt.
 
 Beachte, daß es viele Menüeinträge ohne entsprechende Tastensequenz
 gibt.  So listet z.B. das Buffers-Menü die verfügbaren Buffer in
@@ -669,7 +669,7 @@ abholen k
 Verwende "Paste" im Edit-Menü um Text vom X Clipboard zurückzuholen.
 
 Die mittlere Maustaste wird häufig verwendet um sichtbare Objekte auf
-dem Bildschirm auszuwählen.  Wenn Du z.B. "Info" (die Online Emacs
+dem Bildschirm auszuwählen.  Wenn Du z.B. "Info" (die Emacs Online
 Dokumentation) mit C-h i oder über das Help-Menü aufrufst, kannst Du
 einer hervorgehobenen Verknüpfung durch Klicken der mittleren
 Maustaste folgen. Ganz ähnlich, wenn Du einen Dateinamen eingibst
@@ -694,7 +694,7 @@ META-Zeichen unterbringen k
 (eXtend) Befehl. Davon gibt es zwei Ausführungen:
 
        C-x     Zeichenerweiterung eXtend.  Gefolgt von einer
-               Tastaturkombination.
+               Tastenkombination.
        M-x     Namenserweiterung eXtend.  Gefolgt von einer
                ausgeschriebenen Befehlsbezeichnung.
 
@@ -709,7 +709,7 @@ Sichern einer jeden ge
 Mit C-z kann man Emacs vorübergehend verlassen -- so daß Du später zur
 gleichen Sitzung zurückkehren kannst.
 
-Auf Systemen, die dies unterstützen sendet C-z Emacs "in den
+Auf Systemen, die dies unterstützen, sendet C-z Emacs "in den
 Hintergrund"; man kehrt zur Shell zurück, ohne daß der Emacs-Prozeß
 beendet wird.  In den gebräuchlichsten Shells kann man zu Emacs mit
 `fg' oder `%emacs' zurückkehren.
@@ -725,7 +725,7 @@ Es ist auch die richtige Methode um einen Emacs zu verlassen der f
 E-mail-Programme, oder andere Erweiterungen, die das Aussetzen von
 Emacs nicht korrekt handhaben können, benutzt wird.  Normalerweise 
 ist es besser Emacs mit C-z auszusetzen statt ihn zu beenden, wenn 
-man das System nicht verlassen will,.
+man das System nicht verlassen will.
 
 Es gibt viele C-x-Befehle.  Hier ist eine Liste der bereits erlernten:
 
@@ -753,7 +753,7 @@ werden.
 
    Beachte wie diese Zeile sich veraendert hat: Du hast das Wort
    v-e-r-a-e-n-d-e-r-t mit "geaendert" ersetzt wo immer es nach der
-   anfänglichen Textzeiger Position auftrat.
+   anfänglichen Textzeiger-Position auftrat.
 
 
 * AUTOMATISCHE SICHERUNG
@@ -764,14 +764,14 @@ gesichert hast, so k
 gehen.  Um Dich davor zu schützen, schreibt Emacs regelmäßig eine 
 Autosave-Datei für jede Datei, die Du bearbeitest.  Autosave-Dateien
 beginnen und enden mit "#"; wenn Deine Datei z.B. "hello.c" heißt, so
-heißt die auto-save Datei "#hello.c#".  Sicherst Du die Datei, so
+heißt ihre auto-save Datei "#hello.c#".  Sicherst Du die Datei, so
 löscht Emacs die entsprechende auto-save Datei.
 
 Nach einem Computerabsturz kannst Du die automatisch
 gesicherten Änderungen nach dem normalen Finden der Datei (Deiner
 Datei, nicht der Autosave-Datei) durch Eintippen von M-x
-recover-file<return> zurückholen.  Wenn Du nach der Bestätigung 
-gefragt wirst, tippst Du yes<return> um die Änderungen in der 
+recover-file<Return> zurückholen.  Wenn Du nach der Bestätigung 
+gefragt wirst, tippst Du yes<Return> um die Änderungen in der 
 Autosave-Datei wiederherzustellen.
 
 
@@ -789,7 +789,7 @@ area nimmt die unterste Zeile im Emacs-Fenster ein.
 Die Zeile über der echo area wird "mode line" genannt.  Die Moduszeile
 zeigt etwa folgendes:
 
---**-XEmacs: TUTORIAL          (Fundamental)--L670--58%----------------
+--**-XEmacs: TUTORIAL.de       (Fundamental)--L791--67%----------------
 
 Diese Zeile gibt nützliche Information über den Zustand von Emacs und
 dem Text, den Du bearbeitest.
@@ -817,7 +817,7 @@ Hauptmodus aktiv und sein Name kann dort gefunden werden, wo jetzt
 "Fundamental" steht.
 
 Jeder Hauptmodus ändert das Verhalten einiger Befehle. So gibt es
-z.B. Befehle zum Erstellen von Kommentaren in Programmen und da diese
+z.B. Befehle zum Erstellen von Kommentaren in Programmen. Da diese
 in jeder Programmiersprache unterschiedlich aussehen, muß jeder
 Hauptmodus diese Kommentare entsprechend vorbereiten.  Jeder
 Hauptmodus trägt den Namen eines entsprechenden Erweiterungsbefehls, so
@@ -899,7 +899,7 @@ f
 
 Wenn Du C-s tippt, wirst Du den String "I-search" in der echo area
 bemerken.  Dies bedeutet, daß Emacs im inkrementellen Suchmodus auf
-Deine Eingabe wartet.  <RET> bricht die Suche ab.
+Deine Eingabe wartet.  <Return> bricht die Suche ab.
 
 >> Nun tippe C-s um die Suche einzuleiten. LANGSAM, Buchstabe für
    Buchstabe, tippe das Wort 'Textzeiger', mit Pausen dazwischen,
@@ -909,7 +909,7 @@ Deine Eingabe wartet.  <RET> bricht die Suche ab.
    zu suchen.
 >> Nun tippe <Delete> viermal und schau wie sich der Textzeiger
    bewegt.
->> Tippe <RET> zum Abbrechen der Suche.
+>> Tippe <Return> zum Abbrechen der Suche.
 
 Hast Du gesehen was passiert?  Emacs, in der inkrementellen Suche,
 versucht zu dem String zu springen, den Du bisher getippt hast.  Um
@@ -1054,7 +1054,7 @@ keine Hilfe mehr, dann tippe einfach C-g zum Abbrechen des Befehls.
 dies wirklich nicht tun, beschwere Dich also beim System
 Administrator.  In der Zwischenzeit, wenn C-h keine Mitteilung
 bezüglich Hilfe am Fuß des Emacs-Fensters anzeigt, versuche M-x help
-RET zu tippen.)
+<Return> zu tippen.)
 
 Die einfachste Hilfe-Einrichtung ist C-h c.  Tippe C-h, ein c und
 einen Befehls-Buchstaben oder eine Sequenz davon und Emacs gibt Dir
@@ -1065,7 +1065,7 @@ eine ganz kurze Beschreibung des Befehls.
 
        C-p runs the command previous-line
 
-Dies teils Dir den "Namen der Funktion" mit. Funktions-Namen werden
+Dies teilt Dir den "Namen der Funktion" mit. Funktions-Namen werden
 hauptsächlich zum Spezialisieren und Erweitern von Emacs verwendet.
 Aber da die Funktions-Namen etwas darüber aussagen was der Befehl tut,
 können Sie auch als sehr kurze Dokumentation dienen -- genug um Dich
@@ -1079,11 +1079,11 @@ C-h c.
 
 >> Tippe C-h k C-p.
 
-Dies zeigt die Dokumentation der Funktion, als auch ihren Namen, in
-einem eigenen Emacs-Fenster.  Wenn Du mit dem Lesen fertig bist, tippe
-C-x 1 um den Hilfetext loszuwerden.  Du mußt dies nicht gleich tun.
-Du kannst etwas bearbeiten, das sich auf den Hilfetext bezieht und
-dann C-x 1 tippen.
+Dies zeigt sowohl die Dokumentation der Funktion, als auch ihren
+Namen, in einem eigenen Emacs-Fenster.  Wenn Du mit dem Lesen fertig
+bist, tippe C-x 1 um den Hilfetext loszuwerden.  Du mußt dies nicht
+gleich tun.  Du kannst etwas bearbeiten, das sich auf den Hilfetext
+bezieht und dann C-x 1 tippen.
 
 Hier sind einige andere nützliche C-h Möglichkeiten:
 
@@ -1120,7 +1120,7 @@ in eine Shell auszusteigen, so da
 verwende C-z.  (Unter X ikonifiziert dies den aktuellen Emacs-Rahmen.)
 
 Dieses Tutorial sollte für Anfänger verständlich sein, hast Du etwas
-Unklares gefunden, schiebe die Schuld nicht auf Dich - beschwere Dich!
+Unklares gefunden, schiebe die Schuld nicht auf Dich -- beschwere Dich!
 
 
 ANFERTIGEN VON KOPIEN
index f569562..8c24ce9 100644 (file)
@@ -23,17 +23,17 @@ fi
 OSversion="`uname -v | sed 's/^\(.\).*$/\1/'`"
 
 shell=`type sh | sed 's/sh is //'`
-distdir=`dirname $shell`
+distdir=`dirname $shell | sed 's!^//\(.\)/\(.*\)!\1:/\2!'`
 
 echo "cygwin installed in $distdir"
 
 echo "checking paths ..."
 
 if [ ! -d "/bin" ]; then
-    echo "You don't have /bin would like to mount cygwin as /bin ?"
+    echo "You don't have a /bin directory.  Would you like to mount cygwin as /bin ?"
     if yorn; then
        mkdir /bin
-       mount -b /bin $distdir
+       mount -b $distdir /bin
     fi
 elif [ "$distdir" != "/bin" ]; then
     echo "Warning: you have /bin but it's not the cygwin installation."
diff --git a/etc/chr.png b/etc/chr.png
new file mode 100644 (file)
index 0000000..f329bae
Binary files /dev/null and b/etc/chr.png differ
diff --git a/etc/chrm.png b/etc/chrm.png
new file mode 100644 (file)
index 0000000..f329bae
Binary files /dev/null and b/etc/chrm.png differ
diff --git a/etc/photos/ajc.png b/etc/photos/ajc.png
new file mode 100644 (file)
index 0000000..1840291
Binary files /dev/null and b/etc/photos/ajc.png differ
diff --git a/etc/photos/ajcm.png b/etc/photos/ajcm.png
new file mode 100644 (file)
index 0000000..1840291
Binary files /dev/null and b/etc/photos/ajcm.png differ
diff --git a/etc/photos/baw.png b/etc/photos/baw.png
new file mode 100644 (file)
index 0000000..2e1eb1e
Binary files /dev/null and b/etc/photos/baw.png differ
diff --git a/etc/photos/bawm.png b/etc/photos/bawm.png
new file mode 100644 (file)
index 0000000..2e1eb1e
Binary files /dev/null and b/etc/photos/bawm.png differ
diff --git a/etc/photos/bw.png b/etc/photos/bw.png
new file mode 100644 (file)
index 0000000..bf04f2a
Binary files /dev/null and b/etc/photos/bw.png differ
diff --git a/etc/photos/bwm.png b/etc/photos/bwm.png
new file mode 100644 (file)
index 0000000..b721837
Binary files /dev/null and b/etc/photos/bwm.png differ
diff --git a/etc/photos/cthomp.png b/etc/photos/cthomp.png
new file mode 100644 (file)
index 0000000..2946e3c
Binary files /dev/null and b/etc/photos/cthomp.png differ
diff --git a/etc/photos/cthompm.png b/etc/photos/cthompm.png
new file mode 100644 (file)
index 0000000..bc36004
Binary files /dev/null and b/etc/photos/cthompm.png differ
diff --git a/etc/photos/dkindred.png b/etc/photos/dkindred.png
new file mode 100644 (file)
index 0000000..2956bf6
Binary files /dev/null and b/etc/photos/dkindred.png differ
diff --git a/etc/photos/dkindredm.png b/etc/photos/dkindredm.png
new file mode 100644 (file)
index 0000000..dd78752
Binary files /dev/null and b/etc/photos/dkindredm.png differ
diff --git a/etc/photos/dmoore.png b/etc/photos/dmoore.png
new file mode 100644 (file)
index 0000000..83f6810
Binary files /dev/null and b/etc/photos/dmoore.png differ
diff --git a/etc/photos/dmoorem.png b/etc/photos/dmoorem.png
new file mode 100644 (file)
index 0000000..5c1ca35
Binary files /dev/null and b/etc/photos/dmoorem.png differ
diff --git a/etc/photos/dv.png b/etc/photos/dv.png
new file mode 100644 (file)
index 0000000..db531ff
Binary files /dev/null and b/etc/photos/dv.png differ
diff --git a/etc/photos/dvm.png b/etc/photos/dvm.png
new file mode 100644 (file)
index 0000000..18ddd8a
Binary files /dev/null and b/etc/photos/dvm.png differ
diff --git a/etc/photos/hniksic.png b/etc/photos/hniksic.png
new file mode 100644 (file)
index 0000000..6394eb9
Binary files /dev/null and b/etc/photos/hniksic.png differ
diff --git a/etc/photos/hniksicm.png b/etc/photos/hniksicm.png
new file mode 100644 (file)
index 0000000..190b4c9
Binary files /dev/null and b/etc/photos/hniksicm.png differ
diff --git a/etc/photos/jareth.png b/etc/photos/jareth.png
new file mode 100644 (file)
index 0000000..0e8146b
Binary files /dev/null and b/etc/photos/jareth.png differ
diff --git a/etc/photos/jarethm.png b/etc/photos/jarethm.png
new file mode 100644 (file)
index 0000000..206c1ec
Binary files /dev/null and b/etc/photos/jarethm.png differ
diff --git a/etc/photos/jens.png b/etc/photos/jens.png
new file mode 100644 (file)
index 0000000..fbdfe83
Binary files /dev/null and b/etc/photos/jens.png differ
diff --git a/etc/photos/jensm.png b/etc/photos/jensm.png
new file mode 100644 (file)
index 0000000..fbdfe83
Binary files /dev/null and b/etc/photos/jensm.png differ
diff --git a/etc/photos/jmiller.png b/etc/photos/jmiller.png
new file mode 100644 (file)
index 0000000..5005cd5
Binary files /dev/null and b/etc/photos/jmiller.png differ
diff --git a/etc/photos/jmillerm.png b/etc/photos/jmillerm.png
new file mode 100644 (file)
index 0000000..aa1ed0e
Binary files /dev/null and b/etc/photos/jmillerm.png differ
diff --git a/etc/photos/jwz.png b/etc/photos/jwz.png
new file mode 100644 (file)
index 0000000..fe55b4f
Binary files /dev/null and b/etc/photos/jwz.png differ
diff --git a/etc/photos/jwzm.png b/etc/photos/jwzm.png
new file mode 100644 (file)
index 0000000..327d73d
Binary files /dev/null and b/etc/photos/jwzm.png differ
diff --git a/etc/photos/kazz.png b/etc/photos/kazz.png
new file mode 100644 (file)
index 0000000..03b97ef
Binary files /dev/null and b/etc/photos/kazz.png differ
diff --git a/etc/photos/kazzm.png b/etc/photos/kazzm.png
new file mode 100644 (file)
index 0000000..f47ac01
Binary files /dev/null and b/etc/photos/kazzm.png differ
diff --git a/etc/photos/kyle.png b/etc/photos/kyle.png
new file mode 100644 (file)
index 0000000..3fd18f3
Binary files /dev/null and b/etc/photos/kyle.png differ
diff --git a/etc/photos/kylem.png b/etc/photos/kylem.png
new file mode 100644 (file)
index 0000000..3fd18f3
Binary files /dev/null and b/etc/photos/kylem.png differ
diff --git a/etc/photos/larsi.png b/etc/photos/larsi.png
new file mode 100644 (file)
index 0000000..148add1
Binary files /dev/null and b/etc/photos/larsi.png differ
diff --git a/etc/photos/larsim.png b/etc/photos/larsim.png
new file mode 100644 (file)
index 0000000..148add1
Binary files /dev/null and b/etc/photos/larsim.png differ
diff --git a/etc/photos/martin.png b/etc/photos/martin.png
new file mode 100644 (file)
index 0000000..c6877cd
Binary files /dev/null and b/etc/photos/martin.png differ
diff --git a/etc/photos/martinm.png b/etc/photos/martinm.png
new file mode 100644 (file)
index 0000000..d4bc731
Binary files /dev/null and b/etc/photos/martinm.png differ
diff --git a/etc/photos/mcook.png b/etc/photos/mcook.png
new file mode 100644 (file)
index 0000000..98efe4a
Binary files /dev/null and b/etc/photos/mcook.png differ
diff --git a/etc/photos/mcookm.png b/etc/photos/mcookm.png
new file mode 100644 (file)
index 0000000..f3ff539
Binary files /dev/null and b/etc/photos/mcookm.png differ
diff --git a/etc/photos/mly.png b/etc/photos/mly.png
new file mode 100644 (file)
index 0000000..2fb240a
Binary files /dev/null and b/etc/photos/mly.png differ
diff --git a/etc/photos/mlym.png b/etc/photos/mlym.png
new file mode 100644 (file)
index 0000000..435ac93
Binary files /dev/null and b/etc/photos/mlym.png differ
diff --git a/etc/photos/morioka.png b/etc/photos/morioka.png
new file mode 100644 (file)
index 0000000..5329b5e
Binary files /dev/null and b/etc/photos/morioka.png differ
diff --git a/etc/photos/moriokam.png b/etc/photos/moriokam.png
new file mode 100644 (file)
index 0000000..b46f618
Binary files /dev/null and b/etc/photos/moriokam.png differ
diff --git a/etc/photos/ograf.png b/etc/photos/ograf.png
new file mode 100644 (file)
index 0000000..5211917
Binary files /dev/null and b/etc/photos/ograf.png differ
diff --git a/etc/photos/ografm.png b/etc/photos/ografm.png
new file mode 100644 (file)
index 0000000..3c453f9
Binary files /dev/null and b/etc/photos/ografm.png differ
diff --git a/etc/photos/pez.png b/etc/photos/pez.png
new file mode 100644 (file)
index 0000000..6d0f5f4
Binary files /dev/null and b/etc/photos/pez.png differ
diff --git a/etc/photos/pezm.png b/etc/photos/pezm.png
new file mode 100644 (file)
index 0000000..acd6007
Binary files /dev/null and b/etc/photos/pezm.png differ
diff --git a/etc/photos/piper.png b/etc/photos/piper.png
new file mode 100644 (file)
index 0000000..de555fd
Binary files /dev/null and b/etc/photos/piper.png differ
diff --git a/etc/photos/piperm.png b/etc/photos/piperm.png
new file mode 100644 (file)
index 0000000..de555fd
Binary files /dev/null and b/etc/photos/piperm.png differ
diff --git a/etc/photos/rickc.png b/etc/photos/rickc.png
new file mode 100644 (file)
index 0000000..0a91306
Binary files /dev/null and b/etc/photos/rickc.png differ
diff --git a/etc/photos/rickcm.png b/etc/photos/rickcm.png
new file mode 100644 (file)
index 0000000..37630b1
Binary files /dev/null and b/etc/photos/rickcm.png differ
diff --git a/etc/photos/slb.png b/etc/photos/slb.png
new file mode 100644 (file)
index 0000000..5ae2659
Binary files /dev/null and b/etc/photos/slb.png differ
diff --git a/etc/photos/slbm.png b/etc/photos/slbm.png
new file mode 100644 (file)
index 0000000..0ed6713
Binary files /dev/null and b/etc/photos/slbm.png differ
diff --git a/etc/photos/sperber.png b/etc/photos/sperber.png
new file mode 100644 (file)
index 0000000..5853b05
Binary files /dev/null and b/etc/photos/sperber.png differ
diff --git a/etc/photos/sperberm.png b/etc/photos/sperberm.png
new file mode 100644 (file)
index 0000000..88b49cb
Binary files /dev/null and b/etc/photos/sperberm.png differ
diff --git a/etc/photos/stig.png b/etc/photos/stig.png
new file mode 100644 (file)
index 0000000..93c9958
Binary files /dev/null and b/etc/photos/stig.png differ
diff --git a/etc/photos/stigb.png b/etc/photos/stigb.png
new file mode 100644 (file)
index 0000000..e391d97
Binary files /dev/null and b/etc/photos/stigb.png differ
diff --git a/etc/photos/stigbm.png b/etc/photos/stigbm.png
new file mode 100644 (file)
index 0000000..49b8c5c
Binary files /dev/null and b/etc/photos/stigbm.png differ
diff --git a/etc/photos/stigm.png b/etc/photos/stigm.png
new file mode 100644 (file)
index 0000000..73209e6
Binary files /dev/null and b/etc/photos/stigm.png differ
diff --git a/etc/photos/thiessel.png b/etc/photos/thiessel.png
new file mode 100644 (file)
index 0000000..0ba5cf2
Binary files /dev/null and b/etc/photos/thiessel.png differ
diff --git a/etc/photos/thiesselm.png b/etc/photos/thiesselm.png
new file mode 100644 (file)
index 0000000..0ba5cf2
Binary files /dev/null and b/etc/photos/thiesselm.png differ
diff --git a/etc/photos/vin.png b/etc/photos/vin.png
new file mode 100644 (file)
index 0000000..3d5fb27
Binary files /dev/null and b/etc/photos/vin.png differ
diff --git a/etc/photos/vinm.png b/etc/photos/vinm.png
new file mode 100644 (file)
index 0000000..94587f5
Binary files /dev/null and b/etc/photos/vinm.png differ
diff --git a/etc/photos/vladimir.png b/etc/photos/vladimir.png
new file mode 100644 (file)
index 0000000..30a3d6d
Binary files /dev/null and b/etc/photos/vladimir.png differ
diff --git a/etc/photos/vladimirm.png b/etc/photos/vladimirm.png
new file mode 100644 (file)
index 0000000..30a3d6d
Binary files /dev/null and b/etc/photos/vladimirm.png differ
diff --git a/etc/photos/wmperry.png b/etc/photos/wmperry.png
new file mode 100644 (file)
index 0000000..efae1cd
Binary files /dev/null and b/etc/photos/wmperry.png differ
diff --git a/etc/photos/wmperrym.png b/etc/photos/wmperrym.png
new file mode 100644 (file)
index 0000000..6e28324
Binary files /dev/null and b/etc/photos/wmperrym.png differ
diff --git a/etc/xemacs-enhanced.png b/etc/xemacs-enhanced.png
new file mode 100644 (file)
index 0000000..90c8eb6
Binary files /dev/null and b/etc/xemacs-enhanced.png differ
diff --git a/lisp/package-ui.el b/lisp/package-ui.el
new file mode 100644 (file)
index 0000000..cfcd053
--- /dev/null
@@ -0,0 +1,483 @@
+;;; package-ui.el ---
+
+;; Copyright (C) 1998 by Darryl Okahata
+
+;; Author: Darryl Okahata <darrylo@sr.hp.com>
+;; Keywords: internal
+
+;; This file is part of XEmacs.
+
+;; XEmacs is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+(require 'package-get)         ;; which, in turn, requires 'package-admin
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; User-changeable variables:
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defvar pui-up-to-date-package-face nil
+  "The face to use for packages that are up-to-date.")
+
+(defvar pui-selected-package-face (get-face 'bold)
+  "The face to use for selected packages.
+Set this to `nil' to use the `default' face.")
+
+(defvar pui-outdated-package-face (get-face 'red)
+  "The face to use for outdated packages.
+Set this to `nil' to use the `default' face.")
+
+(defvar pui-uninstalled-package-face (get-face 'italic)
+  "The face to use for uninstalled packages.
+Set this to `nil' to use the `default' face.")
+
+(defvar pui-list-verbose t
+  "If non-nil, display verbose info in the package list buffer.")
+
+(defvar pui-info-buffer "*Packages*"
+  "Buffer to use for displaying package information.")
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; End of user-changeable variables.
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defvar pui-selected-packages nil
+  "The list of user-selected packages to install.")
+
+(defvar pui-display-keymap
+  (let ((m (make-keymap)))
+    (suppress-keymap m)
+    (set-keymap-name m 'pui-display-keymap)
+    (define-key m "q" 'pui-quit)
+    (define-key m "g" 'pui-list-packages)
+    (define-key m " " 'pui-display-info)
+    (define-key m "?" 'pui-help)
+    (define-key m "v" 'pui-toggle-verbosity-redisplay)
+    (define-key m "d" 'pui-toggle-verbosity-redisplay)
+    (define-key m [return] 'pui-toggle-package-key)
+    (define-key m "x" 'pui-install-selected-packages)
+    (define-key m "I" 'pui-install-selected-packages)
+    (define-key m "n" 'next-line)
+    (define-key m "+" 'next-line)
+    (define-key m "p" 'previous-line)
+    (define-key m "-" 'previous-line)
+    m)
+  "Keymap to use in the `pui-info-buffer' buffer")
+
+(defvar pui-package-keymap
+  (let ((m (make-sparse-keymap)))
+    (set-keymap-name m 'pui-package-keymap)
+    (define-key m 'button2 'pui-toggle-package-event)
+    (define-key m 'button3 'pui-toggle-package-event)
+    m)
+  "Keymap to use over package names/descriptions.")
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; End of variables
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Configuration routines
+
+(defun pui-directory-exists (dir)
+  "Check to see if DIR exists in `package-get-remote'."
+  (let (found)
+    (mapcar '(lambda (item)
+              (if (and (null (car item))
+                       (string-equal (file-name-as-directory (car (cdr item)))
+                                     (file-name-as-directory dir)))
+                  (setq found t))
+              ) package-get-remote)
+    found
+    ))
+
+(defun pui-package-dir-list (buffer)
+  "In BUFFER, format the list of package binary paths."
+  (let ( (count 1) paths sys dir)
+    (set-buffer buffer)
+    (buffer-disable-undo buffer)
+    (erase-buffer buffer)
+    (insert "Existing package binary paths:\n\n")
+    (setq paths package-get-remote)
+    (while paths
+      (setq sys (car (car paths))
+           dir (car (cdr (car paths))))
+      (insert (format "%2s. " count))
+      (if (null sys)
+         (insert dir)
+       (insert sys ":" dir))
+      (insert "\n")
+      (setq count (1+ count))
+      (setq paths (cdr paths))
+      )
+    (insert "\nThese are the places that will be searched for package binaries.\n")
+    (goto-char (point-min))
+    ))
+
+;;;###autoload
+(defun pui-add-install-directory (dir)
+  "Add a new package binary directory to the head of `package-get-remote'.
+Note that no provision is made for saving any changes made by this function.
+It exists mainly as a convenience for one-time package installations from
+disk."
+  (interactive (let ( (tmpbuf (get-buffer-create
+                              "*Existing Package Binary Paths*"))
+                     dir)
+                (save-window-excursion
+                  (save-excursion
+                    (unwind-protect
+                        (progn
+                          (pui-package-dir-list tmpbuf)
+                          (display-buffer tmpbuf)
+                          (setq dir (read-directory-name
+                                     "New package binary directory to add? "
+                                     nil nil t))
+                          )
+                      (kill-buffer tmpbuf)
+                      )))
+                (list dir)
+                ))
+  (progn
+    (if (not (pui-directory-exists dir))
+       (progn
+         (setq package-get-remote (cons (list nil dir) package-get-remote))
+         (message "Package directory \"%s\" added." dir)
+         )
+      (message "Directory \"%s\" already exists in `package-get-remote'." dir))
+    ))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Package list/installer routines
+
+(defun pui-quit ()
+  (interactive)
+  (kill-buffer nil))
+
+(defun pui-help ()
+  (interactive)
+  (let ( (help-buffer (get-buffer-create "*Help*")) )
+    (display-buffer help-buffer t)
+    (save-window-excursion
+      (set-buffer help-buffer)
+      (buffer-disable-undo help-buffer)
+      (erase-buffer help-buffer)
+      (insert (pui-help-string))
+      )
+    ))
+
+(defun pui-package-symbol-char (pkg-sym version)
+  (progn
+    (if (package-get-info-find-package packages-package-list pkg-sym)
+       (if (package-get-installedp pkg-sym version)
+           (list " " pui-up-to-date-package-face)
+         (list "*" pui-outdated-package-face))
+      (list "-" pui-uninstalled-package-face))
+    ))
+
+(defun pui-update-package-display (extent &optional pkg-sym version)
+  "Update the package status for EXTENT.
+If PKG-SYM or VERSION are not given, they are read from the extent.
+These are used to determine whether or not the package is installed,
+and whether or not it is up-to-date."
+  (let (buffer-read-only disp sym-char)
+    (if (not pkg-sym)
+       (setq pkg-sym (extent-property extent 'pui-package)))
+    (if (not version)
+       (setq version (package-get-info-prop (extent-property extent 'pui-info)
+                                            'version)))
+    (if (member pkg-sym pui-selected-packages)
+       (progn
+         (if pui-selected-package-face
+             (set-extent-face extent (get-face pui-selected-package-face))
+           (set-extent-face extent (get-face 'default)))
+         (setq sym-char "+")
+         )
+      (progn
+       (setq disp (pui-package-symbol-char pkg-sym version))
+       (setq sym-char (car disp))
+       (if (cdr disp)
+           (set-extent-face extent (car (cdr disp)))
+         (set-extent-face extent (get-face 'default)))
+       ))
+    (save-excursion
+      (goto-char (extent-start-position extent))
+      (delete-char 1)
+      (insert sym-char)
+      (set-buffer-modified-p nil)
+      )
+    ))
+
+(defun pui-toggle-package (extent)
+  (let (pkg-sym)
+    (setq pkg-sym (extent-property extent 'pui-package))
+    (if (member pkg-sym pui-selected-packages)
+       (setq pui-selected-packages
+             (delete pkg-sym pui-selected-packages))
+      (setq pui-selected-packages
+           (cons pkg-sym pui-selected-packages)))
+    (pui-update-package-display extent pkg-sym)
+    ))
+
+(defun pui-toggle-package-key ()
+  "Select/unselect package for installation, using the keyboard."
+  (interactive)
+  (let (extent)
+    (if (setq extent (extent-at (point) (current-buffer) 'pui))
+       (progn
+         (pui-toggle-package extent)
+         (forward-line 1)
+         )
+      (error "No package under cursor!"))
+    ))
+
+(defun pui-toggle-package-event (event)
+  "Select/unselect package for installation, using the mouse."
+  (interactive "e")
+  (let* ( (ep (event-point event))
+          (buffer (window-buffer (event-window event)))
+          (extent (extent-at ep buffer 'pui-package))
+          )
+    (pui-toggle-package extent)
+    ))
+
+(defun pui-toggle-verbosity-redisplay ()
+  "Toggle verbose package info."
+  (interactive)
+  (progn
+    (setq pui-list-verbose (not pui-list-verbose))
+    (pui-list-packages)
+    ))
+
+(defun pui-install-selected-packages ()
+  "Install selected packages."
+  (interactive)
+  (let ( (tmpbuf "*Packages-To-Install*") do-install)
+    (if pui-selected-packages
+       (progn
+         ;; Don't change window config when asking the user if he really
+         ;; wants to install the packages.  We do this to avoid messing up
+         ;; the window configuration if errors occur (we don't want to
+         ;; display random buffers in addition to the error buffer, if
+         ;; errors occur, which would normally be caused by display-buffer).
+         (save-window-excursion
+           (with-output-to-temp-buffer tmpbuf
+             (display-completion-list (sort
+                                       (mapcar '(lambda (pkg)
+                                                  (symbol-name pkg)
+                                                  )
+                                               pui-selected-packages)
+                                       'string<)
+                                      :activate-callback nil
+                                      :help-string "Packages selected for installation:\n"
+                                      :completion-string t
+                                      ))
+           (setq tmpbuf (get-buffer-create tmpbuf))
+           (display-buffer tmpbuf)
+           (setq do-install (y-or-n-p "Install these packages? "))
+           (kill-buffer tmpbuf)
+           )
+         (if do-install
+             (progn
+               (save-excursion
+                 ;; Clear old temp buffer history
+                 (set-buffer (get-buffer-create package-admin-temp-buffer))
+                 (buffer-disable-undo package-admin-temp-buffer)
+                 (erase-buffer package-admin-temp-buffer)
+                 )
+               (message "Installing selected packages ...") (sit-for 0)
+               (if (catch 'done
+                     (mapcar (lambda (pkg)
+                               (if (not (package-get-all pkg nil))
+                                   (throw 'done nil)))
+                             pui-selected-packages)
+                     t)
+                   (progn
+                     (pui-list-packages)
+                     (message "Packages installed")
+                     ))
+               )
+             (clear-message)
+             )
+         )
+      (error "No packages have been selected!"))
+    ))
+
+(defun pui-help-echo (extent &optional force-update)
+  "Display additional package info in the modeline.
+EXTENT determines the package to display (the package information is
+attached to the extent as properties)."
+  (let (pkg-sym info inst-ver auth-ver date maintainer)
+    (if (or force-update (not (current-message))
+           (string-match ".*: .*: " (current-message))
+           )
+       (progn
+         (setq pkg-sym (extent-property extent 'pui-package)
+               info (extent-property extent 'pui-info)
+               inst-ver (package-get-key pkg-sym :version)
+               auth-ver (package-get-info-prop info 'author-version)
+               date (package-get-info-prop info 'date)
+               maintainer (package-get-info-prop info 'maintainer))
+         (if (not inst-ver)
+             (setq inst-ver ""))
+         (if pui-list-verbose
+             (format "Author version: %-8s %11s: %s"
+                     auth-ver date maintainer)
+           (format "%-6s: %-8s %11s: %s"
+                   inst-ver auth-ver date maintainer))
+         ))
+    ))
+
+(defun pui-display-info (&optional no-error)
+  "Display additional package info in the modeline.
+Designed to be called interactively (from a keypress)."
+  (interactive)
+  (let (extent)
+    (save-excursion
+      (beginning-of-line)
+      (if (setq extent (extent-at (point) (current-buffer) 'pui))
+         (message (pui-help-echo extent t))
+       (if no-error
+           (clear-message nil)
+         (error "No package under cursor!")))
+      )))
+
+(defun pui-help-string ()
+  "Return the help string for the package-info buffer.
+This is not a defconst because of the call to substitute-command-keys."
+  (save-excursion
+    (set-buffer (get-buffer pui-info-buffer))
+    (substitute-command-keys
+"Symbols in the leftmost column:
+
+  +    The package is marked for installation.
+  -     The package has not been installed.
+  *     The currently installed package is old, and a newer version is
+       available.
+
+Useful keys:
+
+  `\\[pui-toggle-package-key]' to select/unselect the current package for installation.
+  `\\[pui-install-selected-packages]' to install selected packages.
+  `\\[pui-display-info]' to display additional information about the package in the modeline.
+  `\\[pui-list-packages]' to refresh the package list.
+  `\\[pui-toggle-verbosity-redisplay]' to toggle between a verbose and non-verbose display.
+  `\\[pui-quit]' to kill this buffer.
+")
+    ))
+
+;;;###autoload
+(defun pui-list-packages ()
+  "List all packages and package information.
+The package name, version, and description are displayed.  From the displayed
+buffer, the user can see which packages are installed, which are not, and
+which are out-of-date (a newer version is available).  The user can then
+select packages for installation via the keyboard or mouse."
+  (interactive)
+  (let ( (outbuf (get-buffer-create pui-info-buffer))
+        (sep-string "===============================================================================\n")
+        start )
+    (message "Creating package list ...") (sit-for 0)
+    (set-buffer outbuf)
+    (setq buffer-read-only nil)
+    (buffer-disable-undo outbuf)
+    (erase-buffer outbuf)
+    (use-local-map pui-display-keymap)
+    (if pui-list-verbose
+       (insert "                 Latest Installed
+  Package name   Vers.  Vers.   Description
+")
+      (insert "                 Latest
+  Package name   Vers.  Description
+"))
+    (insert sep-string)
+    (setq start (point))
+    (mapcar '(lambda (pkg)
+              (let (pkg-sym info version desc
+                            b e extent current-vers disp)
+                (setq pkg-sym (car pkg)
+                      info (package-get-info-version (cdr pkg) nil))
+                (setq version (package-get-info-prop info 'version)
+                      desc (package-get-info-prop info 'description))
+
+                (setq disp (pui-package-symbol-char pkg-sym
+                                                    version))
+                (setq b (point))
+                (if pui-list-verbose
+                    (progn
+                      (setq current-vers (package-get-key pkg-sym :version))
+                      (cond
+                       ( (not current-vers)
+                         (setq current-vers "-----") )
+                       ( (stringp current-vers)
+                         (setq current-vers
+                               (format "%.2f"
+                                       (string-to-number current-vers))) )
+                       ( (numberp current-vers)
+                         (setq current-vers (format "%.2f" current-vers)) )
+                       )
+                      (insert
+                       (format "%s %-15s %-5.2f  %-5s  %s\n"
+                               (car disp) pkg-sym 
+                               (if (stringp version)
+                                   (string-to-number version)
+                                 version)
+                               current-vers desc))
+;;                    (insert
+;;                     (format "\t\t  %-12s  %s\n"
+;;                             (package-get-info-prop info 'author-version)
+;;                             (package-get-info-prop info 'date)
+;;                             ))
+                      )
+                  (insert (format "%s %-15s %-5s %s\n"
+                                  (car disp)
+                                  pkg-sym version desc)))
+                (save-excursion
+                  (setq e (progn
+                            (forward-line -1)
+                            (end-of-line)
+                            (point)))
+                  )
+                (setq extent (make-extent b e))
+                (if (cdr disp)
+                    (set-extent-face extent (car (cdr disp)))
+                  (set-extent-face extent (get-face 'default)))
+                (set-extent-property extent 'highlight t)
+                (set-extent-property extent 'pui t)
+                (set-extent-property extent 'pui-package pkg-sym)
+                (set-extent-property extent 'pui-info info)
+                (set-extent-property extent 'help-echo 'pui-help-echo)
+                (set-extent-property extent 'keymap pui-package-keymap)
+                )) (sort (copy-sequence package-get-base)
+                         '(lambda (a b)
+                            (string< (symbol-name (car a))
+                                     (symbol-name (car b)))
+                              )))
+    (insert sep-string)
+    (insert (pui-help-string))
+    (set-buffer-modified-p nil)
+    (setq buffer-read-only t)
+    (pop-to-buffer outbuf)
+    (delete-other-windows)
+    (goto-char start)
+    (setq pui-selected-packages nil)   ; Reset list
+    (clear-message)
+;    (message (substitute-command-keys "Press `\\[pui-help]' for help."))
+    ))
+
+(provide 'package-ui)
+
+;;; package-ui.el ends here
diff --git a/man/lispref/customize.texi b/man/lispref/customize.texi
new file mode 100644 (file)
index 0000000..6d7a3a5
--- /dev/null
@@ -0,0 +1,750 @@
+@c -*-texinfo-*-
+@c This is part of the XEmacs Lisp Reference Manual.
+@c Copyright (C) 1997, 1998 Free Software Foundation, Inc. 
+@c See the file lispref.texi for copying conditions.
+@setfilename ../info/customize
+@node Customization, , , Top
+@chapter Writing Customization Definitions
+
+  This chapter describes how to declare user options for customization,
+and also customization groups for classifying them.  We use the term
+@dfn{customization item} to include both kinds of customization
+definitions---as well as face definitions.
+
+@menu
+* Common Keywords::
+* Group Definitions::            
+* Variable Definitions::         
+* Customization Types::
+@end menu
+
+@node Common Keywords
+@section Common Keywords for All Kinds of Items
+
+  All kinds of customization declarations (for variables and groups, and
+for faces) accept keyword arguments for specifying various information.
+This section describes some keywords that apply to all kinds.
+
+  All of these keywords, except @code{:tag}, can be used more than once
+in a given item.  Each use of the keyword has an independent effect.
+The keyword @code{:tag} is an exception because any given item can only
+display one name.
+
+@table @code
+@item :tag @var{name}
+Use @var{name}, a string, instead of the item's name, to label the item
+in customization menus and buffers.
+
+@item :group @var{group}
+Put this customization item in group @var{group}.  When you use
+@code{:group} in a @code{defgroup}, it makes the new group a subgroup of
+@var{group}.
+
+If you use this keyword more than once, you can put a single item into
+more than one group.  Displaying any of those groups will show this
+item.  Be careful not to overdo this!
+
+@item :link @var{link-data}
+Include an external link after the documentation string for this item.
+This is a sentence containing an active field which references some
+other documentation.
+
+There are three alternatives you can use for @var{link-data}:
+
+@table @code
+@item (custom-manual @var{info-node})
+Link to an Info node; @var{info-node} is a string which specifies the
+node name, as in @code{"(emacs)Top"}.  The link appears as
+@samp{[manual]} in the customization buffer.
+
+@item (info-link @var{info-node})
+Like @code{custom-manual} except that the link appears
+in the customization buffer with the Info node name.
+
+@item (url-link @var{url})
+Link to a web page; @var{url} is a string which specifies the @sc{url}.
+The link appears in the customization buffer as @var{url}.
+@end table
+
+You can specify the text to use in the customization buffer by adding
+@code{:tag @var{name}} after the first element of the @var{link-data};
+for example, @code{(info-link :tag "foo" "(emacs)Top")} makes a link to
+the Emacs manual which appears in the buffer as @samp{foo}.
+
+An item can have more than one external link; however, most items have
+none at all.
+
+@item :load @var{file}
+Load file @var{file} (a string) before displaying this customization
+item.  Loading is done with @code{load-library}, and only if the file is
+not already loaded.
+
+@item :require @var{feature}
+Require feature @var{feature} (a symbol) when installing a value for
+this item (an option or a face) that was saved using the customization
+feature.  This is done by calling @code{require}.
+
+The most common reason to use @code{:require} is when a variable enables
+a feature such as a minor mode, and just setting the variable won't have
+any effect unless the code which implements the mode is loaded.
+@end table
+
+@node Group Definitions
+@section Defining Custom Groups
+
+  Each Emacs Lisp package should have one main customization group which
+contains all the options, faces and other groups in the package.  If the
+package has a small number of options and faces, use just one group and
+put everything in it.  When there are more than twelve or so options and
+faces, then you should structure them into subgroups, and put the
+subgroups under the package's main customization group.  It is OK to
+put some of the options and faces in the package's main group alongside
+the subgroups.
+
+  The package's main or only group should be a member of one or more of
+the standard customization groups.  (To display the full list of them,
+use @kbd{M-x customize}.)  Choose one or more of them (but not too
+many), and add your group to each of them using the @code{:group}
+keyword.
+
+  The way to declare new customization groups is with @code{defgroup}.
+
+@tindex defgroup
+@defmac defgroup group members doc [keyword value]...
+Declare @var{group} as a customization group containing @var{members}.
+Do not quote the symbol @var{group}.  The argument @var{doc} specifies
+the documentation string for the group.
+
+The argument @var{members} is a list specifying an initial set of
+customization items to be members of the group.  However, most often
+@var{members} is @code{nil}, and you specify the group's members by
+using the @code{:group} keyword when defining those members.
+
+If you want to specify group members through @var{members}, each element
+should have the form @code{(@var{name} @var{widget})}.  Here @var{name}
+is a symbol, and @var{widget} is a widget type for editing that symbol.
+Useful widgets are @code{custom-variable} for a variable,
+@code{custom-face} for a face, and @code{custom-group} for a group