This file describes various problems that have been encountered
in compiling, installing and running GNU Emacs.
+* 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
+of the GCC snapshots around Oct 2000 and later, or from a released
+version of GCC newer than 2.95.2. The preprocessor in those versions
+expands ".." into ". .", which breaks relative file names that
+reference the parent directory.
+
+The solution is to make sure the preprocessor is run with the
+`-traditional' option. (The `configure' script should do that
+automatically with Emacs 21 and later.)
+
+Note that this problem does not pertain to the MS-Windows port of
+Emacs, since it doesn't use the preprocessor to generate Makefile's.
+
+* Building the MS-Windows port with Cygwin GCC can fail.
+
+Emacs may not build using recent Cygwin builds of GCC, such as Cygwin
+version 1.1.8, using the default configure settings. It appears to be
+necessary to specify the -mwin32 flag when compiling, and define
+__MSVCRT__, like so:
+
+ configure --with-gcc --cflags -mwin32 --cflags -D__MSVCRT__
+
+* Building the MS-Windows port with Leim fails in the `leim' directory.
+
+The error message might be something like this:
+
+ Converting d:/emacs-21.1/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'
+ Stop.
+
+This can happen if the Leim distribution is unpacked with a program
+which converts the `*.tit' files to DOS-style CR-LF text format. The
+`*.tit' files in the leim/CXTERM-DIC directory require Unix-style line
+endings to compile properly, because Emacs reads them without any code
+or EOL conversions.
+
+The solution is to make sure the program used to unpack Leim does not
+change the files' line endings behind your back. The GNU FTP site has
+in the `/gnu/emacs/windows' directory a program called `djtarnt.exe'
+which can be used to unpack `.tar.gz' and `.zip' archives without
+mangling them.
+
+* Building `ctags' for MS-Windows with the MinGW port of GCC fails.
+
+This might happen due to a bug in the MinGW header assert.h, which
+defines the `assert' macro with a trailing semi-colon. The following
+patch to assert.h should solve this:
+
+*** include/assert.h.orig Sun Nov 7 02:41:36 1999
+--- include/assert.h Mon Jan 29 11:49:10 2001
+***************
+*** 41,47 ****
+ /*
+ * 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 */
+
+
+* `put-image' and `insert-image' don't work with JPEG images
+
+This can happen if Emacs is built with jpeg-6a library. Upgrading to
+jpeg-6b reportedly solves the problem.
+
+* When using Xaw3d scroll bars without arrows, the very first mouse
+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.
+
+* 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.
+
+* Problems in Emacs built with LessTif.
+
+The problems seem to depend on the version of LessTif and the Motif
+emulation for which it is set up.
+
+To the best of our knowledge, only the Motif 1.2 emulation seemed to
+be stable enough in LessTif. Lesstif 0.92-17's Motif 1.2 emulation
+seems to work okay on FreeBSD. On GNU/Linux systems, lesstif-0.92.6
+configured with "./configure --enable-build-12 --enable-default-12" is
+reported to be the most successful. By contrast,
+lesstif-0.92.0-1.i386.rpm was reported to have problems with menu
+placement, and should probably be avoided.
+
+On some systems, even with Motif 1.2 emulation, Emacs occasionally
+locks up, grabbing all mouse and keyboard events. The mouse still
+moves, but will not go outside of the Emacs window (so you can't get
+it over the frame title barm, for instance). None of the menus are
+responsive. In addition, the keyboard will not respond. Keypresses
+are totally ignored, including Ctrl-Alt-F1 to Ctrl-Alt-F6. This means
+you can not even get to the virtual console.
+
+We still don't know what causes these problems; they are not
+reproducible on some systems, notably those used 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.
+
+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:
+
+ . 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.
+
+ . When 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.
+
+ . Window contents is 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.
+
+Again, these problems only occur if `redisplay-dont-pause' is nil.
+
+Emacs can sometimes abort when non-ASCII text, possibly with null
+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.
+
+* Some accented ISO-8859-1 characters or umlauts are displayed as | or _.
+
+Try other font set sizes (S-mouse-1). If the problem persists with
+other sizes as well, your text is corrupted, probably through software
+that is not 8-bit clean. If the problem goes away with another font
+size, it's probably because some fonts pretend to be ISO-8859-1 fonts
+when they are really ASCII fonts. In particular the schumacher-clean
+fonts have this bug in some versions of X.
+
+To see what glyphs are included in a font, use `xfd', like this:
+
+ xfd -fn -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-1
+
+If this shows only ASCII glyphs, the font is indeed the source of the
+problem.
+
+The solution is to remove the corresponding lines from the appropriate
+`fonts.alias' file, then run `mkfontdir' in that directory, and then run
+`xset fp rehash'.
+
+* Large file support is disabled on HP-UX. See the comments in
+src/s/hpux10.h.
+
+* Crashes when displaying uncompressed GIFs with version
+libungif-4.1.0 are resolved by using version libungif-4.1.0b1.
+
+* Interrupting Cygwin port of Bash from Emacs doesn't work.
+
+Cygwin 1.x builds of the ported Bash cannot be interrupted from the
+MS-Windows version of Emacs. This is due to some change in the Bash
+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.)
+
+* The W3 package (either from from the CVS sources or the last
+release) currently (2000-12-14) doesn't run properly with Emacs 21 and
+needs work. This patch is reported to make w3-4.0pre.46 work:
+
+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)
+
+
+* 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
+`before-change-function' and `after-change-function', which are no
+longer used by Emacs. These changes to PSGML 1.2.1 fix that.
+
+--- psgml-edit.el 1999/12/17 10:55:07 1.1
++++ psgml-edit.el 1999/12/17 11:36:37
+@@ -263,4 +263,4 @@
+ ; inhibit-read-only
+- (before-change-function nil)
+- (after-change-function nil))
++ (before-change-functions nil)
++ (after-change-functions nil))
+ (setq selective-display t)
+@@ -1474,3 +1474,3 @@
+ (buffer-read-only nil)
+- (before-change-function nil)
++ (before-change-functions nil)
+ (markup-index ; match-data index in tag regexp
+@@ -1526,3 +1526,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))))
+@@ -1543,3 +1543,3 @@
+ (re-found nil)
+- before-change-function)
++ before-change-functions)
+ (goto-char sgml-markup-start)
+@@ -1576,3 +1576,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 1999/12/17 10:40:02 1.1
++++ psgml-other.el 1999/12/17 11:30:43
+@@ -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,7 +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))
+- (put-text-property start end 'face face)))
++ (before-change-functions nil)
++ (modified (buffer-modified-p))
++ (buffer-undo-list t)
++ deactivate-mark)
++ (put-text-property start end 'face face)
++ (when (and (not modified) (buffer-modified-p))
++ (set-buffer-modified-p nil))))
+ (t
+--- psgml-parse.el 1999/12/17 10:32:45 1.1
++++ psgml-parse.el 2000/12/05 17:12:34
+@@ -40,2 +40,4 @@
+
++(eval-when-compile (require 'cl))
++
+ \f
+@@ -2474,8 +2476,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))
+@@ -2846,6 +2848,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))
+@@ -3887,7 +3888,7 @@
+
+- (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))
+ )
+
+* 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}.
+
+
+* 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.
+
+On many systems, it is possible to set LD_LIBRARY_PATH in your
+environment to specify additional directories where shared libraries
+can be found.
+
+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.
+
+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
+C 5.0 failed, apparently with non-default CFLAGS, most probably due to
+compiler bugs. Using Sun Solaris 2.7 Sun WorkShop 6 update 1 C
+release was reported to work without problems. It worked OK on
+another system with Solaris 8 using apparently the same 5.0 compiler
+and the default CFLAGS.
+
* On Windows 95/98/ME, subprocesses do not terminate properly.
This is a limitation of the Operating System, and can cause problems
This problem is fixed in Patch 3175 for Irix 5.3.
It is also fixed in Irix versions 6.2 and up.
+* The S-C-t key combination doesn't get passed to Emacs on X.
+
+This happens because some X configurations assign the Ctrl-Shift-t
+combination the same meaning as the Multi_key. The offending
+definition is in the file `...lib/X11/locale/iso8859-1/Compose'; there
+might be other similar combinations which are grabbed by X for similar
+purposes.
+
+We think that this can be countermanded with the `xmodmap' utility, if
+you want to be able to bind one of these key sequences within Emacs.
+
* On Solaris, CTRL-t is ignored by Emacs when you use
the fr.ISO-8859-15 locale (and maybe other related locales).
The intlfonts distribution includes a full spectrum of fonts that can
display all the characters Emacs supports.
+Another cause of this for specific characters is fonts which have a
+missing glyph and no default character. This is known ot occur for
+character number 160 (no-break space) in some fonts, such as Lucida
+but Emacs sets the display table for the unibyte and Latin-1 version
+of this character to display a space.
+
* Under X11, some characters appear improperly aligned in their lines.
You may have bad X11 fonts; try installing the intlfonts distribution.