XEmacs 21.2.14.
[chise/xemacs-chise.git.1] / PROBLEMS
index 072fc72..3f57bc4 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,19 @@ 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.8.1 and egcs 1.0 under SPARC architectures
+without also using `-fno-schedule-insns'.
+
+gcc will generate incorrect code otherwise, typically resulting in
+crashes in the function skip-syntax-backward.
+
+*** egcs-1.1
+
+There have been reports of egcs-1.1 not compiling XEmacs correctly on
+Alpha Linux.  There have also been reports that egcs-1.0.3a is O.K.
+
+*** 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 +50,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 +60,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 +80,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
-
-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.
+*** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
 
-** 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 +114,166 @@ 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
+
+*** The libXt shipped with AIX 4.3 is broken.  This causes xemacs -nw
+    to fail in various ways.  The solution is to build against stock
+    X11R6.
+
+*** 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 +294,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 +342,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 +368,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 +405,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,180 +470,76 @@ 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.
+** Cygwin
+*** In general use etc/check_cygwin_setup.sh to trap environment problems.
 
-** On SunOS, you get linker errors
-    ld: Undefined symbol 
-       _get_wmShellWidgetClass
-       _get_applicationShellWidgetClass
+The script etc/check_cygwin_setup.sh will attempt to detect whether
+you have a suitable environment for building. This script may not work
+correctly if you are using ash instead of bash (see below).
 
-The fix to this is to install patch 100573 for OpenWindows 3.0
-or link libXmu statically.
+*** X11 not detected.
 
-** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
+This is usually because xmkmf is not in your path or because you are
+using the default cygwin shell. The default cygwin shell (/bin/sh.exe)
+is ash which appears to work in most circumstances but has some wierd
+failure modes. I recommend replacing sh.exe with bash.exe, this will
+mean configure is slower but more reliable.
 
-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.
+*** Subprocesses do not work.
 
-** 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.
+You do not have "tty" in your CYGWIN32 (for b19) or CYGWIN (for b20)
+environment variable. This must be set in your autoexec.bat (win95) or
+the system properties (winnt) as it must be read before the cygwin dll
+initializes.
 
-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:
+*** ^G does not work on hung subprocesses.
 
-    cp /usr/lib/libIM.a .
-    chmod 664 libIM.a
-    ranlib libIM.a
+This is a known problem. It can be remedied with cygwin b20 or greater
+by defining BROKEN_SIGIO in src/s/cygwin32.h, however this currently
+leads to instability in XEmacs.
 
-Then change -lIM to ./libIM.a in the command to link temacs (in
-Makefile).
+*** The XEmacs executable crashes at startup.
 
-** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
+This can be caused by many things.  
 
-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.
+If you are running with X11 you need to have cygwin b19 or cygwin
+b20.1 or greater, cygwin b20 will not work.
 
-** Link failure when using acc on a Sun.
+If you are running with cygwin b19 make sure you are using egcs 1.0.2
+rather than vanilla gcc. XEmacs builds by default with -O3 which does
+not work with the gcc that ships with b19. Alternatively use -O2.
 
-To use acc, you need additional options just before the libraries, such as
+*** The info files will not build.
 
-   /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
+makeinfo that ships with cygwin (all versions) is a noop. You need to
+obtain makeinfo from somewhere or build it yourself.
 
-and you need to add -lansi just before -lc.
+*** I have no graphics.
 
-The precise file names depend on the compiler version, so we
-cannot easily arrange to supply them.
+You need to obtain the various graphics libraries. Pre-built versions
+of these and the X libraries are located on the XEmacs website in
+ftp://ftp.xemacs.org/pub/aux/cygwin*.
 
-** Link failure on IBM AIX 1.3 ptf 0013.
+*** There are no images in the toolbar buttons.
 
-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:
+You need version 4.71 of commctrl.dll which does not ship with windows
+95. You can get this by installing IE 4.0 or downloading it from the
+microsoft website.
 
-    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.
+* Problems with running XEmacs
+==============================
+** General
+*** 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.
+*** 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
@@ -497,7 +554,7 @@ 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
+*** 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
@@ -527,30 +584,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 +599,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 +622,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 +637,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 +654,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 +686,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 +770,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 +785,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 +812,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 +823,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 +862,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
 
-** Slow startup on Linux.
+Or you could set TERMCAP only when you set TERM--which should not
+happen in a non-login shell.
 
-People using systems based on the Linux kernel sometimes report that
-startup takes 10 to 15 seconds longer than `usual'.
+*** The popup menu appears at the buttom/right of my screen.
 
-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.
+You probably have something like the following in your ~/.Xdefaults
 
-Here is how to fix the configuration.  It requires being root.
+       Emacs.geometry:         81x56--9--1
 
-*** Networked Case
+Use the following instead
 
-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):
+       Emacs*EmacsFrame.geometry:              81x56--9--1
 
-    127.0.0.1      localhost HOSTNAME
 
-Also make sure that the `/etc/host.conf' files contains the following
-lines:
+** AIX
+*** Your Delete key sends a Backspace to the terminal, using an AIXterm.
 
-    order hosts, bind 
-    multi on
+The solution is to include in your .Xdefaults the lines:
 
-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).
+   *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
+   aixterm*ttyModes: erase ^?
 
-*** Non-Networked Case
+This makes your Backspace key send DEL (ASCII 127).
 
-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 4, some programs fail when run in a Shell buffer
+with an error message like No terminfo entry for "unknown".
+
+On AIX, many terminal type definitions are not installed by default.
+`unknown' is one of them.  Install the "Special Generic Terminal
+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
+
+       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 2.4, Dired hangs and C-g does not work.  Or Emacs hangs
+*** 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 +1134,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'.
+*** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
 
-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.)
-
-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 +1168,181 @@ 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:
+*** 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.
 
-    Could not load program emacs
-    Symbol smtcheckinit in csh is undefined
-    Error was: Exec format error
+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.
 
-or this one:
+The result is that most programs, using the shared library, work with
+the nameserver, but Emacs does not.
 
-    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 fix is to install an unshared library that corresponds to what you
+installed in the shared library, and then relink Emacs.
 
-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.
+On SunOS 4.1, simply define HAVE_RES_INIT.
 
-** After running emacs once, subsequent invocations crash.
+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.
 
-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.
+Thus, you could start by adding this to config.h:
 
-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.
+#define LIBS_SYSTEM -lresolv
 
-** Inability to send an Alt-modified key, when Emacs is communicating
-directly with an X server.
+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 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.
+#define LIBS_SYSTEM -lresolv -lfoo -lbar
 
-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.
+*** With process-connection-type set to t, each line of subprocess
+output is terminated with a ^M, making ange-ftp and GNUS not work.
 
-If your keyboard has keys named Alt, you can enable them as follows:
+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.
 
-    xmodmap -e 'add mod2 = Alt_L'
-    xmodmap -e 'add mod2 = Alt_R'
 
-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.
+** Linux
+*** You get crashes in a non-C locale with Linux GNU Libc 2.0.
 
-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.
+Internationalization was not the top priority for GNU Libc 2.0.
+As of this writing (1998-12-28) you may get crashes while running
+XEmacs in a non-C locale.  For example, `LC_ALL=en_US xemacs' crashes
+while `LC_ALL=C xemacs' runs fine.  This happens for example with GNU
+libc 2.0.7.  Installing libintl.a and libintl.h built from gettext
+0.10.35 and re-building XEmacs solves the crashes.  Presumably soon 
+everyone will upgrade to GNU Libc 2.1 and this problem will go away.
 
-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.
+*** `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.
 
-** `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
 
-** `expand-file-name' fails to work on any but the machine you dumped
+*** 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
 Emacs on.
 
 On Ultrix, if you use any of the functions which look up information
@@ -1250,47 +1358,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 +1443,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.
 
-** Emacs ignores the "help" key when running OLWM.
+** SCO
+*** Regular expressions matching bugs on SCO systems.
 
-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>]"