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.
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.
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
* 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
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.
-** Certain fonts make each line take one pixel more than it "should".
+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
-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.
+http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00696.html
+
+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.
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
* 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
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
** Bootstrapping
Bootstrapping (compiling the .el files) is normally only necessary
-with CVS builds, since they the .elc files are pre-compiled in releases.
+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
** 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
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:
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