]> code.delx.au - gnu-emacs/blobdiff - etc/PROBLEMS
(VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for release 8.2.
[gnu-emacs] / etc / PROBLEMS
index bd839f82570e4bb355d2a191b9200d8709b2a5be..8a14e1cdaf642fd85b3c0313c752a311aa66e852 100644 (file)
@@ -1,14 +1,15 @@
 Known Problems with GNU Emacs
 
 Copyright (C) 1987, 1988, 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
 This file describes various problems that have been encountered
-in compiling, installing and running GNU Emacs.  Try doing Ctl-C Ctl-t
-and browsing through the outline headers.
+in compiling, installing and running GNU Emacs.  Try doing C-c C-t
+and browsing through the outline headers.  (See C-h m for help on
+Outline mode.)
 
 * Mule-UCS doesn't work in Emacs 23.
 
@@ -211,10 +212,11 @@ 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.
 
-** Emacs crashes when using the Exceed 6.0 X server.
+** Emacs crashes when using some version of the Exceed X server.
 
-If you are using Exceed 6.1, upgrade to a later version.  This was
-reported to prevent the crashes.
+Upgrading to a newer version of Exceed has been reported to prevent
+these crashes.  You should consider switching to a free X server, such
+as Xming or Cygwin/X.
 
 ** Emacs crashes with SIGSEGV in XtInitializeWidgetClass.
 
@@ -233,6 +235,15 @@ configuring your compiler to use the native linker instead of GNU ld.
 This happens because of bugs in Gtk+.  Gtk+ 2.10 seems to be OK.  See bug
 http://bugzilla.gnome.org/show_bug.cgi?id=85715.
 
+** Emacs compiled with Gtk+ may loop forever if a display crashes.
+
+This is related to the bug above.  A scenario for this is when emacs is run
+as a server, and an X frame is created.  If the X server for the frame
+crashes or exits unexpectedly and an attempt is made to create a new
+frame on another X display, then a Gtk+ error happens in the emacs
+server that results in an endless loop.  This is not fixed in any known
+Gtk+ version (2.14.4 being current).
+
 ** Emacs compiled with Gtk+ crashes on startup on Cygwin.
 
 A typical error message is
@@ -731,15 +742,31 @@ in Emacs, and then try spell-checking again.
 
 * Runtime problems related to font handling
 
-** Under X11, some characters appear as hollow boxes.
+** Characters are displayed as empty boxes or with wrong font under X.
+
+*** This can occur when two different versions of FontConfig are used.
+For example, XFree86 4.3.0 has one version and Gnome usually comes
+with a newer version.  Emacs compiled with Gtk+ will then use the
+newer version.  In most cases the problem can be temporarily fixed by
+stopping the application that has the error (it can be Emacs or any
+other application), removing ~/.fonts.cache-1, and then start the
+application again.  If removing ~/.fonts.cache-1 and restarting
+doesn't help, the application with problem must be recompiled with the
+same version of FontConfig as the rest of the system uses.  For KDE,
+it is sufficient to recompile Qt.
+
+*** Some fonts have a missing glyph and no default character.  This is
+known to 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.
+
+*** Some of the fonts called for in your fontset may not exist on your
+X server.
 
 Each X11 font covers just a fraction of the characters that Emacs
 supports.  To display the whole range of Emacs characters requires
-many different fonts, collected into a fontset.
-
-If some of the fonts called for in your fontset do not exist on your X
-server, then the characters that have no font appear as hollow boxes.
-You can remedy the problem by installing additional fonts.
+many different fonts, collected into a fontset.  You can remedy the
+problem by installing additional fonts.
 
 The intlfonts distribution includes a full spectrum of fonts that can
 display all the characters Emacs supports.  The etl-unicode collection
@@ -748,22 +775,33 @@ of fonts (available from <URL:ftp://ftp.x.org/contrib/fonts/> and
 fonts that can display many Unicode characters; they can also be used
 by ps-print and ps-mule to print Unicode characters.
 
-Another cause of this for specific characters is fonts which have a
-missing glyph and no default character.  This is known to 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
-or the etl-unicode collection (see the previous entry).
+or the etl-unicode collection (see above).
+
+** Under X, an unexpected monospace font is used as the default font.
+
+When compiled with XFT, Emacs tries to use a default font named
+"monospace".  This is a "virtual font", which the operating system
+(Fontconfig) redirects to a suitable font such as DejaVu Sans Mono.
+On some systems, there exists a font that is actually named Monospace,
+which takes over the virtual font.  This is considered an operating
+system bug; see
 
-** Certain fonts make each line take one pixel more than it "should".
+http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00696.html
 
-This is because these fonts contain characters a little taller
-than the font's nominal height.  Emacs needs to make sure that
-lines do not overlap.
+If you encounter this problem, set the default font to a specific font
+in your .Xresources or initialization file.  For instance, you can put
+the following in your .Xresources:
+
+Emacs.font: DejaVu Sans Mono 12
+
+** Certain fonts make each line take one pixel more than it should.
+
+This is because these fonts contain characters a little taller than
+the font's nominal height.  Emacs needs to make sure that lines do not
+overlap.
 
 ** Loading fonts is very slow.
 
@@ -813,20 +851,6 @@ One user on a Linux-based GNU system reported that this problem went
 away with installation of a new X server.  The failing server was
 XFree86 3.1.1.  XFree86 3.1.2 works.
 
-** Characters are displayed as empty boxes or with wrong font under X.
-
-This can occur when two different versions of FontConfig are used.
-For example, XFree86 4.3.0 has one version and Gnome usually comes
-with a newer version.  Emacs compiled with Gtk+ will then use
-the newer version.  In most cases the problem can be temporarily
-fixed by stopping the application that has the error (it can be
-Emacs or any other application), removing ~/.fonts.cache-1,
-and then start the application again.
-If removing ~/.fonts.cache-1 and restarting doesn't help, the
-application with problem must be recompiled with the same version
-of FontConfig as the rest of the system uses.  For KDE, it is
-sufficient to recompile Qt.
-
 ** Emacs pauses for several seconds when changing the default font.
 
 This has been reported for fvwm 2.2.5 and the window manager of KDE
@@ -2106,6 +2130,23 @@ to allocate ptys reliably.
 
 * Runtime problems specific to MS-Windows
 
+** PATH can contain unexpanded environment variables
+
+Old releases of TCC (version 9) and 4NT (up to version 8) do not correctly
+expand App Paths entries of type REG_EXPAND_SZ.  When Emacs is run from TCC
+and such an entry exists for emacs.exe, exec-path will contain the
+unexpanded entry.  This has been fixed in TCC 10.  For more information,
+see bug#2062.
+
+** Setting w32-pass-rwindow-to-system and w32-pass-lwindow-to-system to nil
+does not prevent the Start menu from popping up when the left or right
+``Windows'' key is pressed.
+
+This was reported to happen when XKeymacs is installed.  At least with
+XKeymacs Version 3.47, deactivating XKeymacs when Emacs is active is
+not enough to avoid its messing with the keyboard input.  Exiting
+XKeymacs completely is reported to solve the problem.
+
 ** Windows 95 and networking.
 
 To support server sockets, Emacs 22.1 loads ws2_32.dll.  If this file
@@ -2564,10 +2605,25 @@ dynamically linked C library has all the functions, but there is a
 conflict between the versions of malloc in the DLL and in Emacs, which
 is not resolvable due to the way Windows does dynamic linking.
 
-We recommend the use of the MingW port of GCC for compiling Emacs, as
+We recommend the use of the MinGW port of GCC for compiling Emacs, as
 not only does it not suffer these problems, but it is also Free
 software like Emacs.
 
+*** Building the MS-Windows port with Visual Studio fails compiling emacs.rc
+
+If the build fails with the following message then the problem
+described here most likely applies:
+
+../nt/emacs.rc(1) : error RC2176 : old DIB in icons\emacs.ico; pass it
+through SDKPAINT
+
+The Emacs icon contains a high resolution PNG icon for Vista, which is
+not recognized by older versions of the resource compiler. There are
+several workarounds for this problem:
+       1. Use Free MinGW tools to compile, which do not have this problem.
+       2. Install the latest Windows SDK.
+       3. Replace emacs.ico with an older or edited icon.
+
 ** Linking
 
 *** Building Emacs with a system compiler fails to link because of an
@@ -2637,6 +2693,18 @@ does not work with this version of ncurses.
 
 The fix is to install a newer version of ncurses, such as version 4.2.
 
+** Bootstrapping
+
+Bootstrapping (compiling the .el files) is normally only necessary
+with CVS builds, since the .elc files are pre-compiled in releases.
+
+*** "No rule to make target" with Ubuntu 8.04 make 3.81-3build1
+
+Compiling the lisp files fails at random places, complaining:
+"No rule to make target `/path/to/some/lisp.elc'".
+The causes of this problem are not understood.  Using GNU make 3.81 compiled
+from source, rather than the Ubuntu version, worked. See Bug#327,821.
+
 ** Dumping
 
 *** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel.
@@ -3459,7 +3527,7 @@ PATH.
 
 ** MS-DOS
 
-*** When compiling with DJGPP on MS-Windows NT, "config msdos" fails.
+*** When compiling with DJGPP on MS-Windows NT or later, "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
@@ -3467,13 +3535,41 @@ 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 Emacs compiled with DJGPP runs on Windows 2000 and later, it cannot
+find your HOME directory.
+
+This was reported to happen when you click on "Save for future
+sessions" button in a Customize buffer.  You might see an error
+message like this one:
+
+  basic-save-buffer-2: c:/FOO/BAR/~dosuser/: no such directory
+
+(The telltale sign is the "~USER" part at the end of the directory
+Emacs complains about, where USER is your username or the literal
+string "dosuser", which is the default username set up by the DJGPP
+startup file DJGPP.ENV.)
+
+This happens when the functions `user-login-name' and
+`user-real-login-name' return different strings for your username as
+Emacs sees it.  To correct this, make sure both USER and USERNAME
+environment variables are set to the same value.  Windows 2000 and
+later sets USERNAME, so if you want to keep that, make sure USER is
+set to the same value.  If you don't want to set USER globally, you
+can do it in the [emacs] section of your DJGPP.ENV file.
+
+*** When Emacs compiled with DJGPP runs on Vista, it runs out of memory.
+
+If Emacs running on Vista displays "!MEM FULL!" in the mode line, you
+are hitting the memory allocation bugs in the Vista DPMI server.  See
+msdos/INSTALL for how to work around these bugs (search for "Vista").
+
 *** 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
 variable LFN) when Emacs distribution was unpacked and during
-compilation are not the same.  See the MSDOG section of INSTALL for
-the explanation of how to avoid this problem.
+compilation are not the same.  See msdos/INSTALL for the explanation
+of how to avoid this problem.
 
 *** Emacs compiled with DJGPP complains at startup:
 
@@ -3546,8 +3642,8 @@ support, thus causing long filenames to be truncated to the first 6
 characters and a numeric tail that Windows 95 normally attaches to it.
 You should unzip the files again with a utility that supports long
 filenames (such as djtar from DJGPP or InfoZip's UnZip program
-compiled with DJGPP v2).  The MSDOG section of the file INSTALL
-explains this issue in more detail.
+compiled with DJGPP v2).  The file msdos/INSTALL explains this issue
+in more detail.
 
 Another possible reason for such failures is that Emacs compiled for
 MSDOS is used on Windows NT, where long file names are not supported