]> code.delx.au - gnu-emacs/blobdiff - etc/PROBLEMS
Fix typo.
[gnu-emacs] / etc / PROBLEMS
index a18cee8996eff38e9ab5948d66d170d1b3b7a745..6204ccaafc0e07eb64e0e8efa646d6001aea987d 100644 (file)
@@ -27,6 +27,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 +57,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 +96,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
@@ -203,8 +220,13 @@ 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.
-If you try it and it does not work, try rebuilding Emacs with the
-toolkit version you actually want to use.
+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.
 
@@ -212,6 +234,34 @@ 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
@@ -243,6 +293,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.3, 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
@@ -320,9 +375,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.1).  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
@@ -331,12 +386,12 @@ 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
+Multilingual text put into the Windows clipboard by other 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
+is because Windows 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.
+Windows 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.
 
@@ -366,7 +421,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
@@ -434,7 +489,7 @@ src/s/hpux10.h.
 * Crashes when displaying uncompressed GIFs with version
 libungif-4.1.0 are resolved by using version libungif-4.1.0b1.
 
-* 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
@@ -442,7 +497,7 @@ 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.
@@ -456,6 +511,30 @@ 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.
+
+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
@@ -475,10 +554,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")
 
@@ -525,166 +604,23 @@ 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'.
 
+* 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'.
+
 * 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.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)))
-Index: psgml-other.el
---- 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
-Index: psgml-parse.el
---- 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
-
-* 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
+longer used by Emacs.  Please use PSGML 1.2.3 or later.
+
+* 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'.
 
 * Unicode characters are not unified with other Mule charsets.
 
@@ -742,6 +678,14 @@ 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.
+
 * 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.
@@ -759,6 +703,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
@@ -837,6 +801,22 @@ 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
@@ -866,7 +846,15 @@ or disable it entirely.
 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/.
+
+* 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.
 
 * 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
@@ -1282,7 +1270,8 @@ 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.
 
 * Under some Windows X-servers, Emacs' display is incorrect 
 
@@ -1577,24 +1566,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:
@@ -1671,11 +1642,13 @@ your system works as before.
 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 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.
 
@@ -3241,3 +3214,8 @@ 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
+Local variables:
+mode: outline
+paragraph-separate: "[         \f]*$"
+end: