Add arch taglines
[bpt/emacs.git] / etc / PROBLEMS
index d4efbaf..e361044 100644 (file)
@@ -1,6 +1,122 @@
 This file describes various problems that have been encountered
 in compiling, installing and running GNU Emacs.
 
+* Process output truncated on Mac OS X (Carbon) when using pty's.
+
+There appears to be a problem with the implementation of pty's on the
+Mac OS X that causes process output to be truncated.  To avoid this,
+leave process-connection-type set to its default value of nil.
+
+* Emacs crashes on Mac OS X (Carbon) after system software upgrade.
+
+This problem seems to be now solved by Steven Tamm's patch to
+unexmacosx.c on Nov 24, 2002.
+
+Between Mac OS X release 10.2.1 and 10.2.2 there was an incompatible
+change in the memory allocator that causes a EXC_BAD_ACCESS error near
+xrealloc().  Relinking the application (by deleting src/temacs and
+running make) will solve the problem.  It appears to be caused by some
+problems with the unexec code and its interaction with libSystem.B.
+
+* Characters from the mule-unicode charsets aren't displayed under X.
+
+XFree86 4 contains many fonts in iso10646-1 encoding which have
+minimal character repertoires (whereas the encoding part of the font
+name is meant to be a reasonable indication of the repertoire
+according to the XLFD spec).  Emacs may choose one of these to display
+characters from the mule-unicode charsets and then typically won't be
+able to find the glyphs to display many characters.  (Check with C-u
+C-x = .)  To avoid this, you may need to use a fontset which sets the
+font for the mule-unicode sets explicitly.  E.g. to use GNU unifont,
+include in the fontset spec:
+
+mule-unicode-2500-33ff:-gnu-unifont-*-iso10646-1,\
+mule-unicode-e000-ffff:-gnu-unifont-*-iso10646-1,\
+mule-unicode-0100-24ff:-gnu-unifont-*-iso10646-1
+
+* The UTF-8/16/7 coding systems don't encode CJK (Far Eastern) characters.
+
+Emacs by default only supports the parts of the Unicode BMP whose code
+points are in the ranges 0000-33ff and e000-ffff.  This excludes: most
+of CJK, Yi and Hangul, as well as everything outside the BMP.
+
+If you read UTF-8 data with code points outside these ranges, the
+characters appear in the buffer as raw bytes of the original UTF-8
+(composed into a single quasi-character) and they will be written back
+correctly as UTF-8, assuming you don't break the composed sequences.
+If you read such characters from UTF-16 or UTF-7 data, they are
+substituted with the Unicode `replacement character', and you lose
+information.
+
+To edit such UTF data, turn on Utf-Translate-Cjk mode, which makes
+many common CJK characters available for encoding and decoding and can
+be extended by updating the tables it uses.  This also allows you to
+save as UTF buffers containing characters decoded by the chinese-,
+japanese- and korean- coding systems, e.g. cut and pasted from
+elsewhere.
+
+* Problems with file dialogs in Emacs built with Open Motif.
+
+When Emacs 21 is built with Open Motif 2.1, it can happen that the
+graphical file dialog boxes do not work properly.  The "OK", "Filter"
+and "Cancel" buttons do not respond to mouse clicks.  Dragging the
+file dialog window usually causes the buttons to work again.
+
+The solution is to use LessTif instead.  LessTif is a free replacement
+for Motif.  See the file INSTALL for information on how to do this.
+
+Another workaround is not to use the mouse to trigger file prompts,
+but to use the keyboard.  This way, you will be prompted for a file in
+the minibuffer instead of a graphical file dialog.
+
+* Emacs reports a BadAtom error (from X) running on Solaris 7 or 8.
+
+This happens when Emacs was built on some other version of Solaris.
+Rebuild it on Solaris 8.
+
+* Mule-UCS loads very slowly.
+
+Changes to Emacs internals interact badly with Mule-UCS's `un-define'
+library, which is the usual interface to Mule-UCS.  Apply the
+following patch to Mule-UCS 0.84 and rebuild it.  That will help,
+though loading will still be slower than in Emacs 20.  (Some
+distributions, such as Debian, may already have applied such a patch.)
+
+--- lisp/un-define.el  6 Mar 2001 22:41:38 -0000       1.30
++++ lisp/un-define.el  19 Apr 2002 18:34:26 -0000
+@@ -610,13 +624,21 @@ by calling post-read-conversion and pre-
+
+  (mapcar
+   (lambda (x)
+-    (mapcar
+-     (lambda (y)
+-       (mucs-define-coding-system
+-      (nth 0 y) (nth 1 y) (nth 2 y)
+-      (nth 3 y) (nth 4 y) (nth 5 y) (nth 6 y))
+-       (coding-system-put (car y) 'alias-coding-systems (list (car x))))
+-     (cdr x)))
++    (if (fboundp 'register-char-codings)
++      ;; Mule 5, where we don't need the eol-type specified and
++      ;; register-char-codings may be very slow for these coding
++      ;; system definitions.
++      (let ((y (cadr x)))
++        (mucs-define-coding-system
++         (car x) (nth 1 y) (nth 2 y)
++         (nth 3 y) (nth 4 y) (nth 5 y)))
++      (mapcar
++       (lambda (y)
++       (mucs-define-coding-system
++        (nth 0 y) (nth 1 y) (nth 2 y)
++        (nth 3 y) (nth 4 y) (nth 5 y) (nth 6 y))
++       (coding-system-put (car y) 'alias-coding-systems (list (car x)))))
++      (cdr x)))
+   `((utf-8
+      (utf-8-unix
+       ?u "UTF-8 coding system"
+
+Note that Emacs has native support for Unicode, roughly equivalent to
+Mule-UCS's, so you may not need it.
+
 * Building Emacs with GCC 2.9x fails in the `src' directory.
 
 This may happen if you use a development version of GNU `cpp' from one
@@ -27,6 +143,23 @@ the script).
 Note that this problem does not pertain to the MS-Windows port of
 Emacs, since it doesn't use the preprocessor to generate Makefiles.
 
+* Building Emacs with a system compiler fails to link because of an
+undefined symbol such as __eprintf which does not appear in Emacs.
+
+This can happen if some of the libraries linked into Emacs were built
+with GCC, but Emacs itself is being linked with a compiler other than
+GCC.  Object files compiled with GCC might need some helper functions
+from libgcc.a, the library which comes with GCC, but the system
+compiler does not instruct the linker to search libgcc.a during the
+link stage.
+
+A solution is to link with GCC, like this:
+
+       make CC=gcc
+
+Since the .o object files already exist, this will not recompile Emacs
+with GCC, but just restart by trying again to link temacs.
+
 * Building the MS-Windows port with Cygwin GCC can fail.
 
 Emacs may not build using recent Cygwin builds of GCC, such as Cygwin
@@ -40,7 +173,7 @@ __MSVCRT__, like so:
 
 The error message might be something like this:
 
- Converting d:/emacs-21.1/leim/CXTERM-DIC/4Corner.tit to quail-package...
+ Converting d:/emacs-21.3/leim/CXTERM-DIC/4Corner.tit to quail-package...
  Invalid ENCODE: value in TIT dictionary
  NMAKE : fatal error U1077: '"../src/obj-spd/i386/emacs.exe"' : return code
        '0xffffffff'
@@ -79,7 +212,7 @@ GNU/Linux systems on the PPC, you will have to manually uncomment the
 following section near the end of the file src/m/macppc.h in the Emacs
 distribution:
 
-  #if 0  /* This breaks things on PPC GNU/Linux ecept for Yellowdog,
+  #if 0  /* This breaks things on PPC GNU/Linux except for Yellowdog,
            even with identical GCC, as, ld.  Let's take it out until we
            know what's really going on here.  */
   /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to
@@ -98,7 +231,9 @@ should now succeed.
 * JPEG images aren't displayed.
 
 This has been reported when Emacs is built with jpeg-6a library.
-Upgrading to jpeg-6b solves the problem.
+Upgrading to jpeg-6b solves the problem.  Configure checks for the
+correct version, but this problem could occur if a binary built
+against a shared libjpeg is run on a system with an older version.
 
 * Building `ctags' for MS-Windows with the MinGW port of GCC fails.
 
@@ -114,29 +249,47 @@ patch to assert.h should solve this:
    * If not debugging, assert does nothing.
    */
 ! #define assert(x)    ((void)0);
-  
+
   #else /* debugging enabled */
-  
+
 --- 41,47 ----
   /*
    * If not debugging, assert does nothing.
    */
 ! #define assert(x)    ((void)0)
-  
+
   #else /* debugging enabled */
-  
 
 
-* Improving performance with slow X connections
 
-If you don't need X Input Methods (XIM) for entering text in some
-language you use, you can improve performance on WAN links by
-configuring Emacs with option `--without-xim'.  Configuring Emacs
-without XIM does not affect the use of Emacs' own input methods, which
-are part of the Leim package.
+* Improving performance with slow X connections
 
-If the connection is very slow, you might also want to consider
-switching off scroll bars, menu bar, and tool bar.
+There are several ways to improve this performance, any subset of which can
+be carried out at the same time:
+
+1) If you don't need X Input Methods (XIM) for entering text in some
+   language you use, you can improve performance on WAN links by using
+   the X resource useXIM to turn off use of XIM.  This does not affect
+   the use of Emacs' own input methods, which are part of the Leim
+   package.
+
+2) If the connection is very slow, you might also want to consider
+   switching off scroll bars, menu bar, and tool bar.
+
+3) Use ssh to forward the X connection, and enable compression on this
+   forwarded X connection (ssh -XC remotehostname emacs ...).
+
+4) Use lbxproxy on the remote end of the connection.  This is an interface
+   to the low bandwidth X extension in most modern X servers, which
+   improves performance dramatically, at the slight expense of correctness
+   of the X protocol.  lbxproxy acheives the performance gain by grouping
+   several X requests in one TCP packet and sending them off together,
+   instead of requiring a round-trip for each X request in a seperate
+   packet.  The switches that seem to work best for emacs are:
+    -noatomsfile  -nowinattr  -cheaterrors -cheatevents
+   Note that the -nograbcmap option is known to cause problems.
+   For more about lbxproxy, see:
+   http://www.xfree86.org/4.3.0/lbxproxy.1.html
 
 * Getting a Meta key on the FreeBSD console
 
@@ -200,12 +353,51 @@ click in a scroll bar might be ignored by the scroll bar widget.  This
 is probably a bug in Xaw3d; when Xaw3d is compiled with arrows, the
 problem disappears.
 
+* There are known binary incompatibilities between Xaw, Xaw3d, neXtaw,
+XawM and the few other derivatives of Xaw.  So when you compile with
+one of these, it may not work to dynamically link with another one.
+For example, strange problems, such as Emacs exiting when you type
+"C-x 1", were reported when Emacs compiled with Xaw3d and libXaw was
+used with neXtaw at run time.
+
+The solution is to rebuild Emacs with the toolkit version you actually
+want to use, or set LD_PRELOAD to preload the same toolkit version you
+built Emacs with.
+
 * Clicking C-mouse-2 in the scroll bar doesn't split the window.
 
 This currently doesn't work with scroll-bar widgets (and we don't know
 a good way of implementing it with widgets).  If Emacs is configured
 --without-toolkit-scroll-bars, C-mouse-2 on the scroll bar does work.
 
+* Emacs aborts inside the function `tparam1'.
+
+This can happen if Emacs was built without terminfo support, but the
+terminal's capabilities use format that is only supported by terminfo.
+If your system has ncurses installed, this might happen if your
+version of ncurses is broken; upgrading to a newer version of ncurses
+and reconfiguring and rebuilding Emacs should solve this.
+
+All modern systems support terminfo, so even if ncurses is not the
+problem, you should look for a way to configure Emacs so that it uses
+terminfo when built.
+
+* Error messages about undefined colors on X.
+
+The messages might say something like this:
+
+   Unable to load color "grey95"
+
+(typically, in the `*Messages*' buffer), or something like this:
+
+  Error while displaying tooltip: (error Undefined color lightyellow)
+
+These problems could happen if some other X program has used up too
+many colors of the X palette, leaving Emacs with insufficient system
+resources to load all the colors it needs.
+
+A solution is to exit the offending X programs before starting Emacs.
+
 * Colors are not available on a tty or in xterm.
 
 Emacs 21 supports colors on character terminals and terminal
@@ -237,6 +429,11 @@ entry that supports color is `xterm-color', so setting TERM's value to
 `xterm-color' might activate the color support on an xterm-compatible
 emulator.
 
+Beginning with version 21.4, Emacs supports the --color command-line
+option which may be used to force Emacs to use one of a few popular
+modes for getting colors on a tty.  For example, --color=ansi8 sets up
+for using the ANSI-standard escape sequences that support 8 colors.
+
 Some modes do not use colors unless you turn on the Font-lock mode.
 Some people have long ago set their `~/.emacs' files to turn on
 Font-lock on X only, so they won't see colors on a tty.  The
@@ -244,6 +441,32 @@ recommended way of turning on Font-lock is by typing "M-x
 global-font-lock-mode RET" or by customizing the variable
 `global-font-lock-mode'.
 
+* Emacs on a tty switches the cursor to large blinking block.
+
+This was reported to happen on some GNU/Linux systems which use
+ncurses version 5.0, but could be relevant for other versions as well.
+These versions of ncurses come with a `linux' terminfo entry, where
+the "cvvis" capability (termcap "vs") is defined as "\E[?25h\E[?8c"
+(show cursor, change size).  This escape sequence switches on a
+blinking hardware text-mode cursor whose size is a full character
+cell.  This blinking cannot be stopped, since a hardware cursor
+always blinks.
+
+A work-around is to redefine the "cvvis" capability so that it
+enables a *software* cursor.  The software cursor works by inverting
+the colors of the character at point, so what you see is a block
+cursor that doesn't blink.  For this to work, you need to redefine
+the "cnorm" capability as well, so that it operates on the software
+cursor instead of the hardware cursor.
+
+To this end, run "infocmp linux > linux-term", edit the file
+`linux-term' to make both the "cnorm" and "cvvis" capabilities send
+the sequence "\E[?25h\E[?17;0;64c", and then run "tic linux-term" to
+produce a modified terminfo entry.
+
+Alternatively, if you want a blinking underscore as your Emacs cursor,
+change the "cvvis" capability to send the "\E[?25h\E[?0c" command.
+
 * Problems in Emacs built with LessTif.
 
 The problems seem to depend on the version of LessTif and the Motif
@@ -262,32 +485,25 @@ locks up, grabbing all mouse and keyboard events.  We still don't know
 what causes these problems; they are not reproducible by Emacs
 developers.
 
-* Known problems with the MS-Windows port of Emacs 21.1.
-
-Emacs 21.1 built for MS-Windows doesn't support images, the tool bar,
-and tooltips.  Support for these will be added in future versions.
-
-Help text that is displayed in a tooltip on other window systems, on
-Windows is printed in the echo area, since tooltips are not yet
-available.  Help text for menu items is not displayed at all.
-
-There are problems with display if the variable `redisplay-dont-pause'
-is set to nil (w32-win.el sets it to t by default, to avoid these
-problems).  The problems include:
+* Known problems with the MS-Windows port of Emacs 21.2.
 
-  . No redisplay as long as help echo is displayed in the echo area,
-    e.g. if the mouse is on a mouse-sensitive part of the mode line.
+Frames are not refreshed while the File or Font dialog or a pop-up menu
+is displayed. This also means help text for pop-up menus is not
+displayed at all.  This is because message handling under Windows is
+synchronous, so we cannot handle repaint (or any other) messages while
+waiting for a system function to return the result of the dialog or
+pop-up menu interaction.
 
-  . When the mode line is dragged with the mouse, multiple copies of the
-    mode line are left behind, until the mouse button is released and
-    the next input event occurs.
+Windows 95 and Windows NT up to version 4.0 do not support help text
+for menus.  Help text is only available in later versions of Windows.
 
-  . Window contents are not updated when text is selected by dragging
-    the mouse, and the mouse is dragged below the bottom line of the
-    window.  When the mouse button is released, the window display is
-    correctly updated.
+There are problems with display if mouse-tracking is enabled and the
+mouse is moved off a frame, over another frame then back over the first
+frame.  A workaround is to click the left mouse button inside the frame
+after moving back into it.
 
-Again, these problems only occur if `redisplay-dont-pause' is nil.
+Some minor flickering still persists during mouse-tracking, although
+not as severely as in 21.1.
 
 Emacs can sometimes abort when non-ASCII text, possibly with null
 characters, is copied and pasted into a buffer.
@@ -295,9 +511,9 @@ characters, is copied and pasted into a buffer.
 An inactive cursor remains in an active window after the Windows
 Manager driven switch of the focus, until a key is pressed.
 
-Windows 2000 input methods are not recognized by Emacs (as of v21.1).
-These input methods cause the keyboard to send characters encoded in
-the appropriate coding system (e.g., ISO 8859-1 for Latin-1
+Windows input methods are not recognized by Emacs (as of v21.2).  Some
+of these input methods cause the keyboard to send characters encoded
+in the appropriate coding system (e.g., ISO 8859-1 for Latin-1
 characters, ISO 8859-8 for Hebrew characters, etc.).  To make this
 work, set the keyboard coding system to the appropriate value after
 you activate the Windows input method.  For example, if you activate
@@ -306,31 +522,28 @@ ought to recognize the Windows language-change event and set up the
 appropriate keyboard encoding automatically, but it doesn't do that
 yet.)
 
-Multilingual text put into the Windows 2000 clipboard by Windows
-applications cannot be safely pasted into Emacs (as of v21.1).  This
-is because Windows 2000 uses Unicode to represent multilingual text,
-but Emacs does not yet support Unicode well enough to decode it.  This
-means that Emacs can only interchange non-ASCII text with other
-Windows 2000 programs if the characters are in the system codepage.
-Reportedly, a partial solution is to install the Mule-UCS package and
-set selection-coding-system to utf-16-le-dos.
+Windows uses UTF-16 encoding to deal with multilingual text (text not
+encodable in the `system codepage') in the clipboard.  To deal with
+this, load the library `utf-16' and use `set-selection-coding-system'
+to set the clipboard coding system to `utf-16-le-with-signature-dos'.
 
-* The `configure' script doesn't find the jpeg library.
+The %b specifier for format-time-string does not produce abbreviated
+month names with consistent widths for some locales on some versions
+of Windows. This is caused by a deficiency in the underlying system
+library function.
 
-This can happen because the linker by default only looks for shared
-libraries, but jpeg distribution by default doesn't build and doesn't
-install a shared version of the library, `libjpeg.so'.  One system
-where this is known to happen is Compaq OSF/1 (`Tru64'), but it
-probably isn't limited to that system.
+* The `configure' script doesn't find the jpeg library.
 
-You can configure the jpeg library with the `--enable-shared' option
-and then rebuild libjpeg.  This produces a shared version of libjpeg,
-which you need to install.  Finally, rerun the Emacs configure script,
-which should now find the jpeg library.  Alternatively, modify the
-generated src/Makefile to link the .a file explicitly.
+There are reports that this happens on some systems because the linker
+by default only looks for shared libraries, but jpeg distribution by
+default only installs a nonshared version of the library, `libjpeg.a'.
 
-(If you need the static version of the jpeg library as well, configure
-libjpeg with both `--enable-static' and `--enable-shared' options.)
+If this is the problem, you can configure the jpeg library with the
+`--enable-shared' option and then rebuild libjpeg.  This produces a
+shared version of libjpeg, which you need to install.  Finally, rerun
+the Emacs configure script, which should now find the jpeg library.
+Alternatively, modify the generated src/Makefile to link the .a file
+explicitly, and edit src/config.h to define HAVE_JPEG.
 
 * Building Emacs over NFS fails with ``Text file busy''.
 
@@ -341,7 +554,7 @@ configuration alone.  Presumably, the NFS server doesn't commit the
 files' data to disk quickly enough, and the Emacs executable file is
 left ``busy'' for several seconds after Emacs has finished dumping
 itself.  This causes the subsequent commands which invoke the dumped
-Emacs excutable to fail with the above message.
+Emacs executable to fail with the above message.
 
 In some of these cases, a time skew between the NFS server and the
 machine where Emacs is built is detected and reported by GNU Make
@@ -372,6 +585,17 @@ you are working on the host called `marvin'.  Then an entry in the
 
 The solution is to remove this line from `etc/fstab'.
 
+* Emacs binary is not in executable format, and cannot be run.
+
+This was reported to happen when Emacs is built in a directory mounted
+via NFS.  Usually, the file `emacs' produced in these cases is full of
+binary null characters, and the `file' utility says:
+
+    emacs: ASCII text, with no line terminators
+
+We don't know what exactly causes this failure.  A work-around is to
+build Emacs in a directory on a local disk.
+
 * Accented ISO-8859-1 characters are displayed as | or _.
 
 Try other font set sizes (S-mouse-1).  If the problem persists with
@@ -395,10 +619,13 @@ The solution is to remove the corresponding lines from the appropriate
 * Large file support is disabled on HP-UX.  See the comments in
 src/s/hpux10.h.
 
-* Crashes when displaying uncompressed GIFs with version
+* Crashes when displaying GIF images in Emacs built with version
 libungif-4.1.0 are resolved by using version libungif-4.1.0b1.
+Configure checks for the correct version, but this problem could occur
+if a binary built against a shared libungif is run on a system with an
+older version.
 
-* Font Lock displays portions of the bufefr in incorrect faces.
+* Font Lock displays portions of the buffer in incorrect faces.
 
 By far the most frequent cause of this is a parenthesis `(' or a brace
 `{' in column zero.  Font Lock assumes that such a paren is outside of
@@ -406,11 +633,16 @@ any comment or string.  This is of course not true in general, but the
 vast majority of well-formatted program source files don't have such
 parens, and therefore this assumption is used to allow optimizations
 in Font Lock's syntactical analysis.  These optimizations avoid some
-patological cases where jit-lock, the Just-in-Time fontification
+pathological cases where jit-lock, the Just-in-Time fontification
 introduced with Emacs 21.1, could significantly slow down scrolling
 through the buffer, especially scrolling backwards, and also jumping
 to the end of a very large buffer.
 
+Beginning with version 21.4, a parenthesis or a brace in column zero
+is highlighted in bold-red face if it is inside a string or a comment,
+to indicate that it could interfere with Font Lock (and also with
+indentation) and should be moved or escaped with a backslash.
+
 If you don't use large buffers, or have a very fast machine which
 makes the delays insignificant, you can avoid the incorrect
 fontification by setting the variable
@@ -420,6 +652,31 @@ be done _after_ turning on Font Lock.)
 Another alternative is to avoid a paren in column zero.  For example,
 in a Lisp string you could precede the paren with a backslash.
 
+* When running on KDE, colors or fonts are not as specified for Emacs,
+or messed up.
+
+For example, you could see background you set for Emacs only in the
+empty portions of the Emacs display, while characters have some other
+background.
+
+This happens because KDE's defaults apply its color and font
+definitions even to applications that weren't compiled for KDE.  The
+solution is to uncheck the "Apply fonts and colors to non-KDE apps"
+option in Preferences->Look&Feel->Style (KDE 2).  In KDE 3, this option
+is in the "Colors" section, rather than "Style".
+
+Alternatively, if you do want the KDE defaults to apply to other
+applications, but not to Emacs, you could modify the file `Emacs.ad'
+(should be in the `/usr/share/apps/kdisplay/app-defaults/' directory)
+so that it doesn't set the default background and foreground only for
+Emacs.  For example, make sure the following resources are either not
+present or commented out:
+
+   Emacs.default.attributeForeground
+   Emacs.default.attributeBackground
+   Emacs*Foreground
+   Emacs*Background
+
 * Interrupting Cygwin port of Bash from Emacs doesn't work.
 
 Cygwin 1.x builds of the ported Bash cannot be interrupted from the
@@ -428,6 +685,23 @@ port or in the Cygwin library which apparently make Bash ignore the
 keyboard interrupt event sent by Emacs to Bash.  (Older Cygwin ports
 of Bash, up to b20.1, did receive SIGINT from Emacs.)
 
+* Dired is very slow.
+
+This could happen if invocation of the `df' program takes a long
+time.  Possible reasons for this include:
+
+  - ClearCase mounted filesystems (VOBs) that sometimes make `df'
+    response time extremely slow (dozens of seconds);
+
+  - slow automounters on some old versions of Unix;
+
+  - slow operation of some versions of `df'.
+
+To work around the problem, you could either (a) set the variable
+`directory-free-space-program' to nil, and thus prevent Emacs from
+invoking `df'; (b) use `df' from the GNU Fileutils package; or
+(c) use CVS, which is Free Software, instead of ClearCase.
+
 * Accessing remote files with ange-ftp hangs the MS-Windows version of Emacs.
 
 If the FTP client is the Cygwin port of GNU `ftp', this appears to be
@@ -439,10 +713,10 @@ confuses ange-ftp.
 
 The solution is to downgrade to an older version of the Cygwin DLL
 (version 1.3.2 was reported to solve the problem), or use the stock
-Windows FTP client, usually found in the `C:\WINDOWS' directory.  To
-force ange-ftp use the stock Windows client, set the variable
-`ange-ftp-ftp-program-name' to the absolute file name of the client's
-executable.  For example:
+Windows FTP client, usually found in the `C:\WINDOWS' or 'C:\WINNT'
+directory.  To force ange-ftp use the stock Windows client, set the
+variable `ange-ftp-ftp-program-name' to the absolute file name of the
+client's executable.  For example:
 
  (setq ange-ftp-ftp-program-name "c:/windows/ftp.exe")
 
@@ -451,433 +725,49 @@ this problem by putting this in your `.emacs' file:
 
  (setq ange-ftp-ftp-program-args '("-i" "-n" "-g" "-v" "--prompt" "")
 
-
-* The latest released version of the W3 package doesn't run properly
-with Emacs 21 and needs work.  However, these problems are already
-fixed in W3's CVS.  The patch below is reported to make w3-4.0pre.46
-work.
-
-Some users report they are unable to byte-compile W3 with Emacs 21.
-If the patches below don't help to resolve your problems, install the
-CVS version of W3, which should be compatible with Emacs 21.
-
-diff -aur --new-file w3-4.0pre.46-orig/lisp/w3-display.el w3-4.0pre.46-new/lisp/w3-display.el
---- w3-4.0pre.46-orig/lisp/w3-display.el       Sun Nov 14 22:00:12 1999
-+++ w3-4.0pre.46-new/lisp/w3-display.el        Thu Dec 14 14:59:15 2000
-@@ -181,7 +181,8 @@
-               (dispatch-event (next-command-event)))
-           (error nil))))
-      (t
--      (if (and (not (sit-for 0)) (input-pending-p))
-+      ;; modified for GNU Emacs 21 by bob@rattlesnake.com on 2000 Dec 14
-+      (if  (and (not (sit-for 0)) nil)
-         (condition-case ()
-             (progn
-               (setq w3-pause-keystroke
-diff -aur --new-file w3-4.0pre.46-orig/lisp/w3-e21.el w3-4.0pre.46-new/lisp/w3-e21.el
---- w3-4.0pre.46-orig/lisp/w3-e21.el   Thu Jan  1 00:00:00 1970
-+++ w3-4.0pre.46-new/lisp/w3-e21.el    Thu Dec 14 14:54:58 2000
-@@ -0,0 +1,5 @@
-+;;; w3-e21.el ---   ** required for GNU Emacs 21 **
-+;; Added by bob@rattlesnake.com on 2000 Dec 14
-+
-+(require 'w3-e19)
-+(provide 'w3-e21)
+* Versions of the W3 package released before Emacs 21.1 don't run
+under Emacs 21.  This fixed in W3 version 4.0pre.47.
 
 * On AIX, if linking fails because libXbsd isn't found, check if you
 are compiling with the system's `cc' and CFLAGS containing `-O5'.  If
 so, you have hit a compiler bug.  Please make sure to re-configure
 Emacs so that it isn't compiled with `-O5'.
 
-* The PSGML package uses the obsolete variables
+* Compiling on AIX 4.3.x or 4.4 fails.
+
+This could happen if you use /bin/c89 as your compiler, instead of
+the default `cc'.  /bin/c89 treats certain warnings, such as benign
+redefinitions of macros, as errors, and fails the build.  A solution
+is to use the default compiler `cc'.
+
+* Old versions of the PSGML package use the obsolete variables
 `before-change-function' and `after-change-function', which are no
-longer used by Emacs.  These changes to PSGML 1.2.2 fix that.
-
---- psgml-edit.el      2001/03/03 00:23:31     1.1
-+++ psgml-edit.el      2001/03/03 00:24:22
-@@ -264,4 +264,4 @@
-                                       ; inhibit-read-only
--      (before-change-function nil)
--      (after-change-function nil))
-+      (before-change-functions nil)
-+      (after-change-functions nil))
-     (setq selective-display t)
-@@ -1544,3 +1544,3 @@
-       (buffer-read-only nil)
--      (before-change-function nil)
-+      (before-change-functions nil)
-       (markup-index                   ; match-data index in tag regexp
-@@ -1596,3 +1596,3 @@
- (defun sgml-expand-shortref-to-text (name)
--  (let (before-change-function
-+  (let (before-change-functions
-       (entity (sgml-lookup-entity name (sgml-dtd-entities sgml-dtd-info))))
-@@ -1613,3 +1613,3 @@
-       (re-found nil)
--      before-change-function)
-+      before-change-functions)
-     (goto-char sgml-markup-start)
-@@ -1646,3 +1646,3 @@
-     (goto-char (sgml-element-end element)) 
--    (let ((before-change-function nil))
-+    (let ((before-change-functions nil))
-       (sgml-normalize-content element only-one)))
---- psgml-other.el     2001/03/03 00:23:42     1.1
-+++ psgml-other.el     2001/03/03 00:30:05
-@@ -32,2 +32,3 @@
- (require 'easymenu)
-+(eval-when-compile (require 'cl))
-@@ -61,4 +62,9 @@
-                  (let ((submenu
--                        (subseq entries 0 (min (length entries)
--                                               sgml-max-menu-size))))
-+;;;                     (subseq entries 0 (min (length entries)
-+;;;                                            sgml-max-menu-size))
-+                        (let ((new (copy-sequence entries)))
-+                          (setcdr (nthcdr (1- (min (length entries)
-+                                                   sgml-max-menu-size))
-+                                          new) nil)
-+                          new)))
-                    (setq entries (nthcdr sgml-max-menu-size entries))
-@@ -113,9 +119,10 @@
-       (let ((inhibit-read-only t)
--          (after-change-function nil) ; obsolete variable
--          (before-change-function nil) ; obsolete variable
-           (after-change-functions nil)
--          (before-change-functions nil))
-+          (before-change-functions nil)
-+          (modified (buffer-modified-p))
-+          (buffer-undo-list t)
-+          deactivate-mark)
-       (put-text-property start end 'face face)
--        (when (< start end)
--          (put-text-property (1- end) end 'rear-nonsticky '(face)))))
-+      (when (and (not modified) (buffer-modified-p))
-+        (set-buffer-modified-p nil))))
-      (t
---- psgml-parse.el     2001/03/03 00:23:57     1.1
-+++ psgml-parse.el     2001/03/03 00:29:56
-@@ -40,2 +40,4 @@
-+(eval-when-compile (require 'cl))
-+
\f
-@@ -2493,8 +2495,8 @@
-       (setq sgml-scratch-buffer nil))
--    (when after-change-function               ;***
--      (message "OOPS: after-change-function not NIL in scratch buffer %s: %s"
-+    (when after-change-functions              ;***
-+      (message "OOPS: after-change-functions not NIL in scratch buffer %s: %S"
-              (current-buffer)
--             after-change-function)
--      (setq before-change-function nil
--          after-change-function nil))
-+             after-change-functions)
-+      (setq before-change-functions nil
-+          after-change-functions nil))
-     (setq sgml-last-entity-buffer (current-buffer))
-@@ -2878,6 +2880,5 @@
-   "Set initial state of parsing"
--  (make-local-variable 'before-change-function)
--  (setq before-change-function 'sgml-note-change-at)
--  (make-local-variable 'after-change-function)
--  (setq after-change-function 'sgml-set-face-after-change)
-+  (set (make-local-variable 'before-change-functions) '(sgml-note-change-at))
-+  (set (make-local-variable 'after-change-functions)
-+       '(sgml-set-face-after-change))
-   (sgml-set-active-dtd-indicator (sgml-dtd-doctype dtd))
-@@ -3925,7 +3926,7 @@
-   (sgml-need-dtd)
--  (unless before-change-function
--    (message "WARN: before-change-function has been lost, restoring (%s)"
-+  (unless before-change-functions
-+    (message "WARN: before-change-functions has been lost, restoring (%s)"
-            (current-buffer))
--    (setq before-change-function 'sgml-note-change-at)
--    (setq after-change-function 'sgml-set-face-after-change))
-+    (setq before-change-functions '(sgml-note-change-at))
-+    (setq after-change-functions '(sgml-set-face-after-change)))
-   (sgml-with-parser-syntax-ro
-
-* The Calc package fails to build and signals errors with Emacs 21.
-
-Apply the following patches which reportedly fix several problems:
-
---- calc-ext.el.~1~    Sun Apr  3 02:26:34 1994
-+++ calc-ext.el        Wed Sep 18 17:35:01 1996
-@@ -1354,6 +1354,25 @@
-   (calc-fancy-prefix 'calc-inverse-flag "Inverse..." n)
- )
-+(defconst calc-fancy-prefix-map
-+  (let ((map (make-sparse-keymap)))
-+    (define-key map [t] 'calc-fancy-prefix-other-key)
-+    (define-key map (vector meta-prefix-char t) 'calc-fancy-prefix-other-key)
-+    (define-key map [switch-frame] nil)
-+    (define-key map [?\C-u] 'universal-argument)
-+    (define-key map [?0] 'digit-argument)
-+    (define-key map [?1] 'digit-argument)
-+    (define-key map [?2] 'digit-argument)
-+    (define-key map [?3] 'digit-argument)
-+    (define-key map [?4] 'digit-argument)
-+    (define-key map [?5] 'digit-argument)
-+    (define-key map [?6] 'digit-argument)
-+    (define-key map [?7] 'digit-argument)
-+    (define-key map [?8] 'digit-argument)
-+    (define-key map [?9] 'digit-argument)
-+    map)
-+  "Keymap used while processing calc-fancy-prefix.")
-+
- (defun calc-fancy-prefix (flag msg n)
-   (let (prefix)
-     (calc-wrapper
-@@ -1364,6 +1383,8 @@
-      (message (if prefix msg "")))
-     (and prefix
-        (not calc-is-keypad-press)
-+       (if (boundp 'overriding-terminal-local-map)
-+           (setq overriding-terminal-local-map calc-fancy-prefix-map)
-        (let ((event (calc-read-key t)))
-          (if (eq (setq last-command-char (car event)) ?\C-u)
-              (universal-argument)
-@@ -1376,9 +1397,18 @@
-            (if (or (not (integerp last-command-char))
-                    (eq last-command-char ?-))
-                (calc-unread-command)
--             (digit-argument n))))))
-+             (digit-argument n)))))))
- )
- (setq calc-is-keypad-press nil)
-+
-+(defun calc-fancy-prefix-other-key (arg)
-+  (interactive "P")
-+  (if (or (not (integerp last-command-char))
-+        (and (>= last-command-char 0) (< last-command-char ? )
-+             (not (eq last-command-char meta-prefix-char))))
-+      (calc-wrapper))  ; clear flags if not a Calc command.
-+  (calc-unread-command)
-+  (setq overriding-terminal-local-map nil))
- (defun calc-invert-func ()
-   (save-excursion
-
---- Makefile.~1~       Sun Dec 15 23:50:45 1996
-+++ Makefile   Thu Nov 30 15:09:45 2000
-@@ -41,7 +41,7 @@
- # Other macros.
- EFLAGS   = -batch
--MAINT  = -l calc-maint.elc
-+MAINT  = -l calc-maint.el
- # Control whether intermediate files are kept.
- PURGE  = -rm -f
-@@ -154,10 +154,7 @@
- # All this because "-l calc-maint" doesn't work.
--maint: calc-maint.elc
--calc-maint.elc: calc-maint.el
--      cp calc-maint.el calc-maint.elc
--
-+maint: calc-maint.el
- # Create an Emacs TAGS file
- tags: TAGS
-
---- calc-aent.el.~1~   Sun Dec 15 23:50:36 1996
-+++ calc-aent.el       Tue Nov 21 18:34:33 2000
-@@ -385,7 +385,7 @@
-         (calc-minibuffer-contains
-          "\\`\\([^\"]*\"[^\"]*\"\\)*[^\"]*\"[^\"]*\\'"))
-       (insert "`")
--    (setq alg-exp (buffer-string))
-+    (setq alg-exp (field-string))
-     (and (> (length alg-exp) 0) (setq calc-previous-alg-entry alg-exp))
-     (exit-minibuffer))
- )
-@@ -393,14 +393,14 @@
- (defun calcAlg-enter ()
-   (interactive)
--  (let* ((str (buffer-string))
-+  (let* ((str (field-string))
-        (exp (and (> (length str) 0)
-                  (save-excursion
-                    (set-buffer calc-buffer)
-                    (math-read-exprs str)))))
-     (if (eq (car-safe exp) 'error)
-       (progn
--        (goto-char (point-min))
-+        (goto-char (field-beginning))
-         (forward-char (nth 1 exp))
-         (beep)
-         (calc-temp-minibuffer-message
-@@ -455,14 +455,14 @@
-   (interactive)
-   (if (calc-minibuffer-contains ".*[@oh] *[^'m ]+[^'m]*\\'")
-       (calcDigit-key)
--    (setq calc-digit-value (buffer-string))
-+    (setq calc-digit-value (field-string))
-     (exit-minibuffer))
- )
- (defun calcDigit-edit ()
-   (interactive)
-   (calc-unread-command)
--  (setq calc-digit-value (buffer-string))
-+  (setq calc-digit-value (field-string))
-   (exit-minibuffer)
- )
---- calc.el.~1~        Sun Dec 15 23:50:47 1996
-+++ calc.el    Wed Nov 22 13:08:49 2000
-@@ -2051,11 +2051,11 @@
-   ;; Exercise for the reader:  Figure out why this is a good precaution!
-   (or (boundp 'calc-buffer)
-       (use-local-map minibuffer-local-map))
--  (let ((str (buffer-string)))
-+  (let ((str (field-string)))
-     (setq calc-digit-value (save-excursion
-                            (set-buffer calc-buffer)
-                            (math-read-number str))))
--  (if (and (null calc-digit-value) (> (buffer-size) 0))
-+  (if (and (null calc-digit-value) (> (field-end) (field-beginning)))
-       (progn
-       (beep)
-       (calc-temp-minibuffer-message " [Bad format]"))
-@@ -2071,7 +2071,7 @@
- (defun calc-minibuffer-contains (rex)
-   (save-excursion
--    (goto-char (point-min))
-+    (goto-char (field-end (point-min)))
-     (looking-at rex))
- )
-@@ -2158,10 +2158,8 @@
-                                         (upcase last-command-char))))
-                               (and dig
-                                    (< dig radix)))))))
--            (save-excursion
--              (goto-char (point-min))
--              (looking-at
--               "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'")))
-+            (calc-minibuffer-contains
-+               "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'"))
-         (if (and (memq last-command-char '(?@ ?o ?h ?\' ?m))
-                  (string-match " " calc-hms-format))
-             (insert " "))
-@@ -2190,7 +2188,7 @@
-       ((eq last-command 'calcDigit-start)
-        (erase-buffer))
-       (t (backward-delete-char 1)))
--  (if (= (buffer-size) 0)
-+  (if (= (field-beginning) (field-end))
-       (progn
-       (setq last-command-char 13)
-       (calcDigit-nondigit)))
-
-* TeX'ing the Calc manual fails.
-
-The following patches allow to build the Calc manual using texinfo.tex
-from Emacs 19.34 distribution:
-
-*** calc-maint.e~0     Mon Dec 16 07:11:26 1996
---- calc-maint.el      Sun Dec 10 14:32:38 2000
-***************
-*** 308,314 ****
-      (insert "@tex\n"
-           "\\global\\advance\\appendixno2\n"
-           "\\gdef\\xref#1.{See ``#1.''}\n")
-!     (setq midpos (point))
-      (insert "@end tex\n")
-      (insert-buffer-substring srcbuf sumpos endpos)
-      (insert "@bye\n")
---- 308,314 ----
-      (insert "@tex\n"
-           "\\global\\advance\\appendixno2\n"
-           "\\gdef\\xref#1.{See ``#1.''}\n")
-!     (setq midpos (point-marker))
-      (insert "@end tex\n")
-      (insert-buffer-substring srcbuf sumpos endpos)
-      (insert "@bye\n")
-*** Makefile.~0        Mon Dec 16 07:11:24 1996
---- Makefile   Sun Dec 10 14:44:00 2000
-***************
-*** 98,106 ****
-  # Format the Calc manual as one printable volume using TeX.
-  tex:
-       $(REMOVE) calc.aux
-!      $(TEX) calc.texinfo
-       $(TEXINDEX) calc.[cfkptv]?
-!      $(TEX) calc.texinfo
-       $(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr
-       $(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs
-       $(PURGE) calc.toc
---- 98,106 ----
-  # Format the Calc manual as one printable volume using TeX.
-  tex:
-       $(REMOVE) calc.aux
-!      -$(TEX) calc.texinfo
-       $(TEXINDEX) calc.[cfkptv]?
-!      -$(TEX) calc.texinfo
-       $(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr
-       $(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs
-       $(PURGE) calc.toc
-*** calc.texinfo.~1~   Thu Oct 10 18:18:56 1996
---- calc.texinfo       Mon Dec 11 08:25:00 2000
-***************
-*** 12,17 ****
---- 12,19 ----
-  % Because makeinfo.c exists, we can't just define new commands.
-  % So instead, we take over little-used existing commands.
-  %
-+ % Suggested by Karl Berry <karl@@freefriends.org>
-+ \gdef\!{\mskip-\thinmuskip}
-  % Redefine @cite{text} to act like $text$ in regular TeX.
-  % Info will typeset this same as @samp{text}.
-  \gdef\goodtex{\tex \let\rm\goodrm \let\t\ttfont \turnoffactive}
-***************
-*** 23686,23692 ****
-  a vector of the actual parameter values, written as equations:
-  @cite{[a = 3, b = 2]}, in case you'd rather read them in a list
-  than pick them out of the formula.  (You can type @kbd{t y}
-! to move this vector to the stack; @pxref{Trail Commands}.)
-  
-  Specifying a different independent variable name will affect the
-  resulting formula: @kbd{a F 1 k RET} produces @kbd{3 + 2 k}.
---- 23689,23695 ----
-  a vector of the actual parameter values, written as equations:
-  @cite{[a = 3, b = 2]}, in case you'd rather read them in a list
-  than pick them out of the formula.  (You can type @kbd{t y}
-! to move this vector to the stack; see @ref{Trail Commands}.)
-  
-  Specifying a different independent variable name will affect the
-  resulting formula: @kbd{a F 1 k RET} produces @kbd{3 + 2 k}.
-
-* Unicode characters are not unified with other Mule charsets.
-
-As of v21.1, Emacs charsets are still not unified.  This means that
-characters which belong to charsets such as Latin-2, Greek, Hebrew,
-etc. and the same characters in the `mule-unicode-*' charsets are
-different characters, as far as Emacs is concerned.  For example, text
-which includes Unicode characters from the Latin-2 locale cannot be
-encoded by Emacs with ISO 8859-2 coding system; and if you yank Greek
-text from a buffer whose buffer-file-coding-system is greek-iso-8bit
-into a mule-unicode-0100-24ff buffer, Emacs won't be able to save that
-buffer neither as ISO 8859-7 nor as UTF-8.
-
-To work around this, install some add-on package such as Mule-UCS.
+longer used by Emacs.  Please use PSGML 1.2.3 or later.
+
+* PSGML conflicts with sgml-mode.
+
+PSGML package uses the same names of some variables (like keymap)
+as built-in sgml-mode.el because it was created as a replacement
+of that package.  The conflict will be shown if you load
+sgml-mode.el before psgml.el.  E.g. this could happen if you edit
+HTML page and then start to work with SGML or XML file.  html-mode
+(from sgml-mode.el) is used for HTML file and loading of psgml.el
+(for sgml-mode or xml-mode) will cause an error.
+
+* The LDAP support rely on ldapsearch program from OpenLDAP version 2.
+
+It can fail to work with ldapsearch program from OpenLDAP version 1.
+Version 1 of OpenLDAP is now deprecated.  If you are still using it,
+please upgrade to version 2.  As a temporary workaround, remove
+argument "-x" from the variable `ldap-ldapsearch-args'.
 
 * The `oc-unicode' package doesn't work with Emacs 21.
 
 This package tries to define more private charsets than there are free
-slots now.  If the built-in Unicode/UTF-8 support is insufficient,
-e.g. if you need more CJK coverage, use the current Mule-UCS package.
-Any files encoded as emacs-mule using oc-unicode won't be read
-correctly by Emacs 21.
+slots now.  The current built-in Unicode support is actually more
+flexible.  (Use option `utf-translate-cjk-mode' if you need CJK
+support.)  Files encoded as emacs-mule using oc-unicode aren't
+generally read correctly by Emacs 21.
 
 * Using epop3.el package causes Emacs to signal an error.
 
@@ -890,12 +780,39 @@ built-in primitive beginning with Emacs 21.1.  We don't have a patch
 for epop3 that fixes this, but perhaps a newer version of epop3
 corrects that.
 
+* ps-print commands fail to find prologue files ps-prin*.ps.
+
+This can happen if you use an old version of X-Symbol package: it
+defines compatibility functions which trick ps-print into thinking it
+runs in XEmacs, and look for the prologue files in a wrong directory.
+
+The solution is to upgrade X-Symbol to a later version.
+
+* lpr commands don't work on MS-Windows with some cheap printers.
+
+This problem may also strike other platforms, but the solution is
+likely to be a global one, and not Emacs specific.
+
+Many cheap inkjet, and even some cheap laser printers, do not
+print plain text anymore, they will only print through graphical
+printer drivers. A workaround on MS-Windows is to use Windows' basic
+built in editor to print (this is possibly the only useful purpose it
+has):
+
+(setq printer-name "")         ;; notepad takes the default
+(setq lpr-command "notepad")   ;; notepad
+(setq lpr-switches nil)        ;; not needed
+(setq lpr-printer-switch "/P") ;; run notepad as batch printer
+
 * On systems with shared libraries you might encounter run-time errors
 from the dynamic linker telling you that it is unable to find some
 shared libraries, for instance those for Xaw3d or image support.
 These errors mean Emacs has been linked with a library whose shared
 library is not in the default search path of the dynamic linker.
 
+Similar problems could prevent Emacs from building, since the build
+process invokes Emacs several times.
+
 On many systems, it is possible to set LD_LIBRARY_PATH in your
 environment to specify additional directories where shared libraries
 can be found.
@@ -904,6 +821,26 @@ Other systems allow to set LD_RUN_PATH in a similar way, but before
 Emacs is linked.  With LD_RUN_PATH set, the linker will include a
 specified run-time search path in the executable.
 
+On some systems, Emacs can crash due to problems with dynamic
+linking.  Specifically, on SGI Irix 6.5, crashes were reported with
+backtraces like this:
+
+  (dbx) where
+   0 strcmp(0xf49239d, 0x4031184, 0x40302b4, 0x12, 0xf0000000, 0xf4923aa, 0x0, 0x492ddb2) ["/xlv22/ficus-jan23/work/irix/lib/libc/libc_n32_M3_ns/strings/strcmp.s":35, 0xfb7e480]
+   1 general_find_symbol(0xf49239d, 0x0, 0x0, 0x0, 0xf0000000, 0xf4923aa, 0x0, 0x492ddb2)
+ ["/comp2/mtibuild/v73/workarea/v7.3/rld/rld.c":2140, 0xfb65a98]
+   2 resolve_symbol(0xf49239d, 0x4031184, 0x0, 0xfbdd438, 0x0, 0xf4923aa, 0x0, 0x492ddb2)
+ ["/comp2/mtibuild/v73/workarea/v7.3/rld/rld.c":1947, 0xfb657e4]
+   3 lazy_text_resolve(0xd18, 0x1a3, 0x40302b4, 0x12, 0xf0000000, 0xf4923aa, 0x0, 0x492ddb2)
+ ["/comp2/mtibuild/v73/workarea/v7.3/rld/rld.c":997, 0xfb64d44]
+   4 _rld_text_resolve(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
+ ["/comp2/mtibuild/v73/workarea/v7.3/rld/rld_bridge.s":175, 0xfb6032c]
+
+(`rld' is the dynamic linker.)  We don't know yet why this
+happens, but setting the environment variable LD_BIND_NOW to 1 (which
+forces the dynamic linker to bind all shared objects early on) seems
+to work around the problem.
+
 Please refer to the documentation of your dynamic linker for details.
 
 * On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15
@@ -964,7 +901,7 @@ files.  Emacs cannot work with subdirs.el compressed, since the
 Auto-compress mode it needs for this will not be loaded until later,
 when your .emacs file is processed.  (The package `fontset.el' is
 required to set up fonts used to display text on window systems, and
-its loaded very early in the startup procedure.)
+it's loaded very early in the startup procedure.)
 
 Similarly, any other .el file for which there's no corresponding .elc
 file could fail to load if it is compressed.
@@ -972,16 +909,42 @@ file could fail to load if it is compressed.
 The solution is to uncompress all .el files which don't have a .elc
 file.
 
+Another possible reason for such failures is stale *.elc files
+lurking somewhere on your load-path.  The following command will
+print any duplicate Lisp files that are present in load-path:
+
+    emacs -q -batch -f list-load-path-shadows
+
+If this command prints any file names, some of these files are stale,
+and should be deleted or their directories removed from your
+load-path.
+
+* Emacs prints an error at startup after upgrading from an earlier version.
+
+An example of such an error is:
+
+  x-complement-fontset-spec: "Wrong type argument: stringp, nil"
+
+This can be another symptom of stale *.elc files in your classpath.
+The following command will print any duplicate Lisp files that are
+present in load-path:
+
+    emacs -q -batch -f list-load-path-shadows
+
+If this command prints any file names, some of these files are stale,
+and should be deleted or their directories removed from your
+load-path.
+
 * Attempting to visit remote files via ange-ftp fails.
 
 If the error message is "ange-ftp-file-modtime: Specified time is not
 representable", then this could happen when `lukemftp' is used as the
-ftp client.  This was reported to happen on Debian GNU/Linux 2.4.3
-with `lukemftp' 1.5-5, but might happen on other systems as well.  To
-avoid this problem, switch to using the standard ftp client.  On a
-Debian system, type
+ftp client.  This was reported to happen on Debian GNU/Linux, kernel
+version 2.4.3, with `lukemftp' 1.5-5, but might happen on other
+systems as well.  To avoid this problem, switch to using the standard
+ftp client.  On a Debian system, type
 
-  update-alternatives --config ftpd
+  update-alternatives --config ftp
 
 and then choose /usr/bin/netkit-ftp.
 
@@ -996,12 +959,37 @@ The solution is to switch the antivirus software to a less aggressive
 mode (e.g., disable the ``auto-protect'' feature), or even uninstall
 or disable it entirely.
 
-* On Windows 95/98/ME, subprocesses do not terminate properly.
+* On MS-Windows 95/98/ME, subprocesses do not terminate properly.
 
 This is a limitation of the Operating System, and can cause problems
 when shutting down Windows. Ensure that all subprocesses are exited
 cleanly before exiting Emacs. For more details, see the FAQ at
-ftp://ftp.gnu.org/gnu/windows/emacs/doc/index.html
+http://www.gnu.org/software/emacs/windows/.
+
+* MS-Windows 95/98/ME crashes when Emacs invokes non-existent programs.
+
+When a program you are trying to run is not found on the PATH,
+Windows might respond by crashing or locking up your system.  In
+particular, this has been reported when trying to compile a Java
+program in JDEE when javac.exe is installed, but not on the system
+PATH.
+
+* Pressing the mouse button on MS-Windows does not give a mouse-2 event.
+
+This is usually a problem with the mouse driver. Because most Windows
+programs do not do anything useful with the middle mouse button, many
+mouse drivers allow you to define the wheel press to do something
+different. Some drivers do not even have the option to generate a
+middle button press. In such cases, setting the wheel press to
+"scroll" sometimes works if you press the button twice. Trying a
+generic mouse driver might help.
+
+* Scrolling the mouse wheel on MS-Windows always scrolls the top window.
+
+This is another common problem with mouse drivers. Instead of
+generating scroll events, some mouse drivers try to fake scroll bar
+movement. But they are not intelligent enough to handle multiple
+scroll bars within a frame. Trying a generic mouse driver might help.
 
 * Mail sent through Microsoft Exchange in some encodings appears to be
 mangled and is not seen correctly in Rmail or Gnus.  We don't know
@@ -1045,7 +1033,7 @@ keyboard(5).
 
 Changing Alt_L to Meta_L fixes it:
 % xmodmap -e 'keysym Alt_L = Meta_L Alt_L'
-% xmodmap -e 'keysym Alt_R = Meta_R Alt_R'  
+% xmodmap -e 'keysym Alt_R = Meta_R Alt_R'
 
 * Error "conflicting types for `initstate'" compiling with GCC on Irix 6.
 
@@ -1120,7 +1108,7 @@ Reportedly this patch in X fixes the problem.
 
 
 * Emacs crashes on Irix 6.5 on the SGI R10K, when compiled with GCC.
-  
+
 This seems to be fixed in GCC 2.95.
 
 * Emacs crashes in utmpname on Irix 5.3.
@@ -1145,7 +1133,7 @@ the fr.ISO-8859-15 locale (and maybe other related locales).
 You can fix this by editing the file:
 
        /usr/openwin/lib/locale/iso8859-15/Compose
-       
+
 Near the bottom there is a line that reads:
 
        Ctrl<t> <quotedbl> <Y>                  : "\276"        threequarters
@@ -1181,10 +1169,10 @@ change this.
 When the display is set to an Exceed X-server and fonts are specified
 (either explicitly with the -fn option or implicitly with X resources)
 then the fonts may appear "too tall".  The actual character sizes are
-correct but there is too much vertical spacing between rows,  which 
-gives the appearance of "double spacing".  
+correct but there is too much vertical spacing between rows,  which
+gives the appearance of "double spacing".
 
-To prevent this,  turn off the Exceed's "automatic font substitution"
+To prevent this, turn off the Exceed's "automatic font substitution"
 feature (in the font part of the configuration window).
 
 * Failure in unexec while dumping emacs on Digital Unix 4.0
@@ -1254,6 +1242,11 @@ earlier versions.
 Emacs 21 needs version 10 or later of AUC TeX; upgrading should solve
 these problems.
 
+* No colors in AUC TeX with Emacs 21.
+
+Upgrade to AUC TeX version 10 or later, and make sure it is
+byte-compiled with Emacs 21.
+
 * Running TeX from AUC TeX package with Emacs 20.3 gives a Lisp error
 about a read-only tex output buffer.
 
@@ -1295,7 +1288,7 @@ This is not an Emacs bug; it is caused by something in SGI patch
 
 The VM mail package, which is not part of Emacs, sometimes does
   (standard-display-european t)
-That should be changed to 
+That should be changed to
   (standard-display-european 1 t)
 
 * Installing Emacs gets an error running `install-info'.
@@ -1396,6 +1389,11 @@ Ispell.  (Ispell can only spell-check one language at a time, because
 it uses a single dictionary.)  Make sure that the text you are
 spelling and the dictionary used by Ispell conform to each other.
 
+If your spell-checking program is Aspell, it has been reported that if
+you have a personal configuration file (normally ~/.aspell.conf), it
+can cause this error.  Remove that file, execute `ispell-kill-ispell'
+in Emacs, and then try spell-checking again.
+
 * On Linux-based GNU systems using libc versions 5.4.19 through
 5.4.22, Emacs crashes at startup with a segmentation fault.
 
@@ -1403,7 +1401,7 @@ This problem happens if libc defines the symbol __malloc_initialized.
 One known solution is to upgrade to a newer libc version.  5.4.33 is
 known to work.
 
-* On Windows, you cannot use the right-hand ALT key and the left-hand
+* On MS-Windows, you cannot use the right-hand ALT key and the left-hand
 CTRL key together to type a Control-Meta character.
 
 This is a consequence of a misfeature beyond Emacs's control.
@@ -1412,17 +1410,24 @@ Under Windows, the AltGr key on international keyboards generates key
 events with the modifiers Right-Alt and Left-Ctrl.  Since Emacs cannot
 distinguish AltGr from an explicit Right-Alt and Left-Ctrl
 combination, whenever it sees Right-Alt and Left-Ctrl it assumes that
-AltGr has been pressed.
+AltGr has been pressed.  The variable `w32-recognize-altgr' can be set
+to nil to tell Emacs that AltGr is really Ctrl and Alt.
+
+* Emacs crashes when using the Exceed 6.0 X server
+
+If you are using Exceed 6.1, upgrade to a later version.  This was
+reported to prevent the crashes.
 
-* Under some Windows X-servers, Emacs' display is incorrect 
+* Under some X-servers running on MS-Windows, Emacs' display is incorrect
 
 The symptoms are that Emacs does not completely erase blank areas of the
 screen during scrolling or some other screen operations (e.g., selective
 display or when killing a region).  M-x recenter will cause the screen
 to be completely redisplayed and the "extra" characters will disappear.
 
-This is known to occur under Exceed 6, and possibly earlier versions as
-well.  The problem lies in the X-server settings.
+This is known to occur under Exceed 6, and possibly earlier versions
+as well; it is reportedly solved in version 6.2.0.16 and later.  The
+problem lies in the X-server settings.
 
 There are reports that you can solve the problem with Exceed by
 running `Xconfig' from within NT, choosing "X selection", then
@@ -1465,6 +1470,13 @@ pen@lysator.liu.se says (Feb 1998) that the Compose key does work
 if you link with the MIT X11 libraries instead of the Solaris X11
 libraries.
 
+* Frames may cover dialogs they created when using CDE.
+
+This can happen if you have "Allow Primary Windows On Top" enabled which
+seems to be the default in the Common Desktop Environment.
+To change, go in to "Desktop Controls" -> "Window Style Manager"
+and uncheck "Allow Primary Windows On Top".
+
 * Emacs does not know your host's fully-qualified domain name.
 
 You need to configure your machine with a fully qualified domain name,
@@ -1644,7 +1656,7 @@ suspects that the bug was fixed by one of these more recent patches:
 106222-01  OpenWindows 3.6: filemgr (ff.core) fixes
 105284-12  Motif 1.2.7: sparc Runtime library patch
 
-* Problems running Perl under Emacs on Windows NT/95.
+* Problems running Perl under Emacs on MS-Windows NT/95.
 
 `perl -de 0' just hangs when executed in an Emacs subshell.
 The fault lies with Perl (indirectly with Windows NT/95).
@@ -1707,24 +1719,6 @@ For Perl 4:
       }
       else {
 
-* Problems running DOS programs on Windows NT versions earlier than 3.51.
-
-Some DOS programs, such as pkzip/pkunzip will not work at all, while
-others will only work if their stdin is redirected from a file or NUL.
-
-When a DOS program does not work, a new process is actually created, but
-hangs.  It cannot be interrupted from Emacs, and might need to be killed
-by an external program if Emacs is hung waiting for the process to
-finish.  If Emacs is not waiting for it, you should be able to kill the
-instance of ntvdm that is running the hung process from Emacs, if you
-can find out the process id.
-
-It is safe to run most DOS programs using call-process (eg. M-! and
-M-|) since stdin is then redirected from a file, but not with
-start-process since that redirects stdin to a pipe.  Also, running DOS
-programs in a shell buffer prompt without redirecting stdin does not
-work.
-
 * Problems on MS-DOG if DJGPP v2.0 is used to compile Emacs:
 
 There are two DJGPP library bugs which cause problems:
@@ -1738,7 +1732,7 @@ subdirectory: `is_exec.c' and `sigaction.c'.  Compile them and link
 them into the Emacs executable `temacs'; then they will replace the
 incorrect library functions.
 
-* When compiling with DJGPP on Windows NT, "config msdos" fails.
+* When compiling with DJGPP on MS-Windows NT, "config msdos" fails.
 
 If the error message is "VDM has been already loaded", this is because
 Windows has a program called `redir.exe' that is incompatible with a
@@ -1746,7 +1740,7 @@ program by the same name supplied with DJGPP, which is used by
 config.bat.  To resolve this, move the DJGPP's `bin' subdirectory to
 the front of your PATH environment variable.
 
-* When compiling with DJGPP on Windows 95, Make fails for some targets
+* When compiling with DJGPP on MS-Windows 95, Make fails for some targets
 like make-docfile.
 
 This can happen if long file name support (the setting of environment
@@ -1796,16 +1790,18 @@ undefined when Emacs runs.  The best way to do that is to add an
 `TERM'; this way, only Emacs gets the empty value, while the rest of
 your system works as before.
 
-* On Windows 95, Alt-f6 does not get through to Emacs.
+* On MS-Windows 95, Alt-f6 does not get through to Emacs.
 
 This character seems to be trapped by the kernel in Windows 95.
 You can enter M-f6 by typing ESC f6.
 
-* Typing Alt-Shift has strange effects on Windows 95.
+* Typing Alt-Shift has strange effects on MS-Windows.
 
 This combination of keys is a command to change keyboard layout.  If
 you proceed to type another non-modifier key before you let go of Alt
-and Shift, the Alt and Shift act as modifiers in the usual way.
+and Shift, the Alt and Shift act as modifiers in the usual way.  A
+more permanent work around is to change it to another key combination,
+or disable it in the keyboard control panel.
 
 * `tparam' reported as a multiply-defined symbol when linking with ncurses.
 
@@ -1817,6 +1813,20 @@ does not work with this version of ncurses.
 
 The fix is to install a newer version of ncurses, such as version 4.2.
 
+* Emacs does not start, complaining that it cannot open termcap database file.
+
+If your system uses Terminfo rather than termcap (most modern
+systems do), this could happen if the proper version of
+ncurses is not visible to the Emacs configure script (i.e. it
+cannot be found along the usual path the linker looks for
+libraries). It can happen because your version of ncurses is
+obsolete, or is available only in form of binaries.
+
+The solution is to install an up-to-date version of ncurses in
+the developer's form (header files, static libraries and
+symbolic links); in some GNU/Linux distributions (e.g. Debian)
+it constitutes a separate package.
+
 * Strange results from format %d in a few cases, on a Sun.
 
 Sun compiler version SC3.0 has been found to miscompile part of
@@ -1856,8 +1866,8 @@ you install all the latest patches (as of June 1996), the bug is fixed.
 We suspect the crucial patch is one of these, but we don't know
 for certain.
 
-        103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes) 
-        102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes) 
+        103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes)
+        102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes)
        103242-04: [README] SunOS 5.5: linker patch (595363 bytes)
 
 (One user reports that the bug was fixed by those patches together
@@ -1949,7 +1959,7 @@ On AIX, many terminal type definitions are not installed by default.
 Definitions" to make them defined.
 
 * On SunOS, you get linker errors
-   ld: Undefined symbol 
+   ld: Undefined symbol
       _get_wmShellWidgetClass
       _get_applicationShellWidgetClass
 
@@ -1979,7 +1989,7 @@ the Sun compiler, but not when he recompiled with GCC 2.7.0.
 We do not know whether something in Emacs is partly to blame for this.
 
 * Emacs exits with "X protocol error" when run with an X server for
-Windows.
+MS-Windows.
 
 A certain X server for Windows had a bug which caused this.
 Supposedly the newer 32-bit version of this server doesn't have the
@@ -2109,7 +2119,7 @@ exist.  The first line in the `/etc/hosts' file should look like this
 Also make sure that the `/etc/host.conf' files contains the following
 lines:
 
-    order hosts, bind 
+    order hosts, bind
     multi on
 
 Any changes, permanent and temporary, to the host name should be
@@ -2338,12 +2348,12 @@ releasing Ctrl/Act while not pressing or holding any other keys.
 * display-time causes kernel problems on ISC systems.
 
 Under Interactive Unix versions 3.0.1 and 4.0 (and probably other
-versions), display-time causes the loss of large numbers of STREVENT 
+versions), display-time causes the loss of large numbers of STREVENT
 cells.  Eventually the kernel's supply of these cells is exhausted.
-This makes emacs and the whole system run slow, and can make other 
+This makes emacs and the whole system run slow, and can make other
 processes die, in particular pcnfsd.
-       
-Other emacs functions that communicate with remote processes may have 
+
+Other emacs functions that communicate with remote processes may have
 the same problem.  Display-time seems to be far the worst.
 
 The only known fix: Don't run display-time.
@@ -2415,7 +2425,7 @@ problem by adding this to your .cshrc file:
 
     if ($?EMACS) then
         if ($EMACS == "t") then
-            unset edit 
+            unset edit
             stty  -icrnl -onlcr -echo susp ^Z
         endif
     endif
@@ -2706,7 +2716,7 @@ again to say this:
 
 * 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 
+    /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.
 
@@ -2728,18 +2738,18 @@ Use `smit pty' to reinstall them properly.
 christos@theory.tn.cornell.edu says:
 
 The problem is that in your .cshrc you have something that tries to
-execute `tty`. If you are not running the shell on a real tty then 
-tty will print "not a tty". Csh expects one word in some places, 
+execute `tty`. If you are not running the shell on a real tty then
+tty will print "not a tty". Csh expects one word in some places,
 but tty is giving it back 3.
 
 The solution is to add a pair of quotes around `tty` to make it a single
-word: 
+word:
 
-if (`tty` == "/dev/console") 
+if (`tty` == "/dev/console")
 
 should be changed to:
 
-if ("`tty`" == "/dev/console") 
+if ("`tty`" == "/dev/console")
 
 Even better, move things that set up terminal sections out of .cshrc
 and into .login.
@@ -2759,7 +2769,7 @@ the environment.
 
 If the error message says that a symbol such as `f68881_used' or
 `ffpa_used' or `start_float' is undefined, this probably indicates
-that you have compiled some libraries, such as the X libraries, 
+that you have compiled some libraries, such as the X libraries,
 with a floating point option other than the default.
 
 It's not terribly hard to make this work with small changes in
@@ -2785,7 +2795,7 @@ This problem seems to be a matter of configuring the DECserver to use
 * M-x shell persistently reports "Process shell exited abnormally with code 1".
 
 This happened on Suns as a result of what is said to be a bug in Sunos
-version 4.0.x.  The only fix was to reboot the machine. 
+version 4.0.x.  The only fix was to reboot the machine.
 
 * Programs running under terminal emulator do not recognize `emacs'
   terminal type.
@@ -2815,7 +2825,7 @@ You may be able to compensate for the bug by doing (set-input-mode nil nil).
 However, that has the disadvantage of turning off interrupts, so that
 you are unable to quit out of a Lisp program by typing C-g.
 
-The easy way to do this is to put 
+The easy way to do this is to put
 
   (setq x-sigio-bug t)
 
@@ -3371,3 +3381,16 @@ defined as a union on some rare architectures.
 This problem will not happen if the m-...h file for your type
 of machine defines NO_UNION_TYPE.
 
+\f
+Copyright 1987,88,89,93,94,95,96,97,98,1999,2001,2002
+  Free Software Foundation, Inc.
+
+Copying and redistribution of this file with or without modification
+are permitted without royalty provided this notice is preserved.
+
+Local variables:
+mode: outline
+paragraph-separate: "[         \f]*$"
+end:
+
+arch-tag: 49fc0d95-88cb-4715-b21c-f27fb5a4764a