Known Problems with GNU Emacs
-Copyright (C) 1987-1989, 1993-1999, 2001-2012
- Free Software Foundation, Inc.
+Copyright (C) 1987-1989, 1993-1999, 2001-2014 Free Software Foundation, Inc.
See the end of the file for license conditions.
and old Emacs releases, has been removed. Consult older versions of
this file if you are interested in that information.
-* Mule-UCS doesn't work in Emacs 23.
+* Mule-UCS doesn't work in Emacs 23 onwards
It's completely redundant now, as far as we know.
and should be deleted or their directories removed from your
load-path.
-** With X11R6.4, public-patch-3, Emacs crashes at startup.
-
-Reportedly this patch in X fixes the problem.
-
- --- xc/lib/X11/imInt.c~ Wed Jun 30 13:31:56 1999
- +++ xc/lib/X11/imInt.c Thu Jul 1 15:10:27 1999
- @@ -1,4 +1,4 @@
- -/* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */
- +/* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */
- /******************************************************************
-
- Copyright 1992, 1993, 1994 by FUJITSU LIMITED
- @@ -166,8 +166,8 @@
- _XimMakeImName(lcd)
- XLCd lcd;
- {
- - char* begin;
- - char* end;
- + char* begin = NULL;
- + char* end = NULL;
- char* ret;
- int i = 0;
- char* ximmodifier = XIMMODIFIER;
- @@ -182,7 +182,11 @@
- }
- ret = Xmalloc(end - begin + 2);
- if (ret != NULL) {
- - (void)strncpy(ret, begin, end - begin + 1);
- + if (begin != NULL) {
- + (void)strncpy(ret, begin, end - begin + 1);
- + } else {
- + ret[0] = '\0';
- + }
- ret[end - begin + 1] = '\0';
- }
- return ret;
-
-** Emacs crashes on startup after a glibc upgrade.
-
-This is caused by a binary incompatible change to the malloc
-implementation in glibc 2.5.90-22. As a result, Emacs binaries built
-using prior versions of glibc crash when run under 2.5.90-22.
-
-This problem was first seen in pre-release versions of Fedora 7, and
-may be fixed in the final Fedora 7 release. To stop the crash from
-happening, first try upgrading to the newest version of glibc; if this
-does not work, rebuild Emacs with the same version of glibc that you
-will run it under. For details, see
-
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239344
-
* Crash bugs
** Emacs crashes when running in a terminal, if compiled with GCC 4.5.0
This version of GCC is buggy: see
- http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6031
+ http://debbugs.gnu.org/6031
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904
You can work around this error in gcc-4.5 by omitting sibling call
If your tar has this problem, install GNU tar--if you can manage to
untar it :-).
+** Emacs can crash when displaying PNG images with transparency.
+This is due to a bug introduced in ImageMagick 6.8.2-3. The bug should
+be fixed in ImageMagick 6.8.3-10. See <URL:http://debbugs.gnu.org/13867>.
+
** 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
you must issue the command "module load openmpi". This adds
/usr/lib/openmpi/lib to LD_LIBRARY_PATH. If you then start Emacs from
the same shell, you will encounter this crash.
-Ref: <URL:https://bugzilla.redhat.com/show_bug.cgi?id=806031>
+Ref: <URL:https://bugzilla.redhat.com/show_bug.cgi?id=844776>
There is no good solution to this problem if you need to use both
OpenMPI and Emacs with libotf support. The best you can do is use a
will not be seen. To fix this, do M-x byte-recompile-directory
and specify the directory that contains the Lisp files.
-Emacs should print a warning when loading a .elc file which is older
+Emacs prints a warning when loading a .elc file which is older
than the corresponding .el file.
-*** Watch out for .emacs files and EMACSLOADPATH environment vars.
+Alternatively, if you set the option `load-prefer-newer' non-nil,
+Emacs will load whichever version of a file is the newest.
+
+*** Watch out for the EMACSLOADPATH environment variable
-These control the actions of Emacs.
-~/.emacs is your Emacs init file.
EMACSLOADPATH overrides which directories the function "load" will search.
-If you observe strange problems, check for these and get rid
-of them, then try again.
+If you observe strange problems, check for this variable in your
+environment.
*** Using epop3.el package causes Emacs to signal an error.
though the system itself is capable of it. Either use a different shell,
or set the variable `cannot-suspend' to a non-nil value.
-*** With M-x enable-flow-control, you need to type C-\ twice
-to do incremental search--a single C-\ gets no response.
-
-This has been traced to communicating with your machine via kermit,
-with C-\ as the kermit escape character. One solution is to use
-another escape character in kermit. One user did
-
- set escape-character 17
-
-in his .kermrc file, to make C-q the kermit escape character.
-
** Mailers and other helper programs
*** movemail compiled with POP support can't connect to the POP server.
** Problems with hostname resolution
-*** Emacs fails to understand most Internet host names, even though
-the names work properly with other programs on the same system.
-*** Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
-*** Gnus can't make contact with the specified host for nntp.
-
-This typically happens on Suns and other systems that use shared
-libraries. The cause is that the site has installed a version of the
-shared library which uses a name server--but has not installed a
-similar version of the unshared library which Emacs uses.
-
-The result is that most programs, using the shared library, work with
-the nameserver, but Emacs does not.
-
-The fix is to install an unshared library that corresponds to what you
-installed in the shared library, and then relink Emacs.
-
-If you have already installed the name resolver in the file libresolv.a,
-then you need to compile Emacs to use that library. The easiest way to
-do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
-or LIB_STANDARD which uses -lresolv. Watch out! If you redefine a macro
-that is already in use in your configuration to supply some other libraries,
-be careful not to lose the others.
-
-Thus, you could start by adding this to config.h:
-
-#define LIBS_SYSTEM -lresolv
-
-Then if this gives you an error for redefining a macro, and you see that
-config.h already defines LIBS_SYSTEM as -lfoo -lbar at some other point
-(possibly in an included file) you could change it to say this:
-
-#define LIBS_SYSTEM -lresolv -lfoo -lbar
-
*** Emacs does not know your host's fully-qualified domain name.
For example, (system-name) returns some variation on
If you cannot fix the configuration, you can set the Lisp variable
mail-host-address to the value you want.
-** NFS and RFS
+** NFS
*** Emacs says it has saved a file, but the file does not actually
appear on disk.
calls involved in writing a file, including `close'; but in the case
where the problem occurs, none of those system calls fails.
-*** Editing files through RFS gives spurious "file has changed" warnings.
-It is possible that a change in Emacs 18.37 gets around this problem,
-but in case not, here is a description of how to fix the RFS bug that
-causes it.
-
- There was a serious pair of bugs in the handling of the fsync() system
- call in the RFS server.
-
- The first is that the fsync() call is handled as another name for the
- close() system call (!!). It appears that fsync() is not used by very
- many programs; Emacs version 18 does an fsync() before closing files
- to make sure that the bits are on the disk.
-
- This is fixed by the enclosed patch to the RFS server.
-
- The second, more serious problem, is that fsync() is treated as a
- non-blocking system call (i.e., it's implemented as a message that
- gets sent to the remote system without waiting for a reply). Fsync is
- a useful tool for building atomic file transactions. Implementing it
- as a non-blocking RPC call (when the local call blocks until the sync
- is done) is a bad idea; unfortunately, changing it will break the RFS
- protocol. No fix was supplied for this problem.
-
- (as always, your line numbers may vary)
-
- % rcsdiff -c -r1.2 serversyscall.c
- RCS file: RCS/serversyscall.c,v
- retrieving revision 1.2
- diff -c -r1.2 serversyscall.c
- *** /tmp/,RCSt1003677 Wed Jan 28 15:15:02 1987
- --- serversyscall.c Wed Jan 28 15:14:48 1987
- ***************
- *** 163,169 ****
- /*
- * No return sent for close or fsync!
- */
- ! if (syscall == RSYS_close || syscall == RSYS_fsync)
- proc->p_returnval = deallocate_fd(proc, msg->m_args[0]);
- else
- {
- --- 166,172 ----
- /*
- * No return sent for close or fsync!
- */
- ! if (syscall == RSYS_close)
- proc->p_returnval = deallocate_fd(proc, msg->m_args[0]);
- else
- {
-
** PSGML conflicts with sgml-mode.
PSGML package uses the same names of some variables (like keymap)
*** Emacs uses 100% of CPU time
-This is a known problem with some versions of the Semantic package.
-The solution is to upgrade Semantic to version 2.0pre4 (distributed
-with CEDET 1.0pre4) or later.
+This was a known problem with some old versions of the Semantic package.
+The solution was to upgrade Semantic to version 2.0pre4 (distributed
+with CEDET 1.0pre4) or later. Note that Emacs includes Semantic since
+23.2, and this issue does not apply to the included version.
*** Self-documentation messages are garbled.
-This means that the file `etc/DOC-...' doesn't properly correspond
+This means that the file `etc/DOC' doesn't properly correspond
with the Emacs executable. Redumping Emacs and then installing the
corresponding pair of files should fix the problem.
and then choose /usr/bin/netkit-ftp.
-*** JPEG images aren't displayed.
-
-This has been reported when Emacs is built with jpeg-6a library.
-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.
-
*** Dired is very slow.
This could happen if invocation of the `df' program takes a long
Please refer to the documentation of your dynamic linker for details.
-*** You request inverse video, and the first Emacs frame is in inverse
-video, but later frames are not in inverse video.
-
-This can happen if you have an old version of the custom library in
-your search path for Lisp packages. Use M-x list-load-path-shadows to
-check whether this is true. If it is, delete the old custom library.
-
*** When you run Ispell from Emacs, it reports a "misalignment" error.
This can happen if you compiled the Ispell program to use ASCII
the font's nominal height. Emacs needs to make sure that lines do not
overlap.
-** Loading fonts is very slow.
-
-You might be getting scalable fonts instead of precomputed bitmaps.
-Known scalable font directories are "Type1" and "Speedo". A font
-directory contains scalable fonts if it contains the file
-"fonts.scale".
-
-If this is so, re-order your X windows font path to put the scalable
-font directories last. See the documentation of `xset' for details.
-
-With some X servers, it may be necessary to take the scalable font
-directories out of your path entirely, at least for Emacs 19.26.
-Changes in the future may make this unnecessary.
-
** Font Lock displays portions of the buffer in incorrect faces.
By far the most frequent cause of this is a parenthesis `(' or a brace
example, work fine. A bug report has been filed in the Gnome
bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=357032
-*** Gnome: Emacs' xterm-mouse-mode doesn't work on the Gnome terminal.
+*** Gnome: Emacs's xterm-mouse-mode doesn't work on the Gnome terminal.
A symptom of this bug is that double-clicks insert a control sequence
into the buffer. The reason this happens is an apparent
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
+ the use of Emacs's own input methods, which are part of the Leim
package.
2) If the connection is very slow, you might also want to consider
manager in versions of xfce4-settings-helper before 4.8.2 is buggy;
https://bugzilla.xfce.org/show_bug.cgi?id=7588 .
+*** Warning messages when running in Ubuntu
+
+When you start Emacs you may see something like this:
+
+(emacs:2286): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion
+`GTK_IS_MENU_SHELL(menu)' failed
+
+This happens if the Emacs binary has been renamed. The cause is the Ubuntu
+appmenu concept. It tries to track Emacs menus and show them in the top
+panel, instead of in each Emacs window. This is not properly implemented,
+so it fails for Emacs. The order of menus is wrong, and things like copy/paste
+that depend on what state Emacs is in are usually wrong (i.e. paste disabled
+even if you should be able to paste, and similar).
+
+You can get back menus on each frame by starting emacs like this:
+% env UBUNTU_MENUPROXY= emacs
+
* Runtime problems on character terminals
** The meta key does not work on xterm.
`global-font-lock-mode'.
** Unexpected characters inserted into the buffer when you start Emacs.
-See eg http://debbugs.gnu.org/11129
+See e.g. <URL:http://debbugs.gnu.org/11129>
This can happen when you start Emacs in -nw mode in an Xterm.
For example, in the *scratch* buffer, you might see something like:
exec ssh "$@"
*** GNU/Linux: Truncated svn annotate output with SSH.
-http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7791
+http://debbugs.gnu.org/7791
The symptoms are: you are accessing a svn repository over SSH.
You use vc-annotate on a large (several thousand line) file, and the
same contents as the one used above for CVS_RSH, and set the SVN_SSH
environment variable to point to it.
-*** GNU/Linux: On Linux-based GNU systems using libc versions 5.4.19 through
-5.4.22, Emacs crashes at startup with a segmentation fault.
-
-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.
-
*** GNU/Linux: After upgrading to a newer version of Emacs,
the Meta key stops working.
Alternatively, if you want a blinking underscore as your Emacs cursor,
change the "cvvis" capability to send the "\E[?25h\E[?0c" command.
-*** GNU/Linux: Error messages `internal facep []' happen on GNU/Linux systems.
-
-There is a report that replacing libc.so.5.0.9 with libc.so.5.2.16
-caused this to start happening. People are not sure why, but the
-problem seems unlikely to be in Emacs itself. Some suspect that it
-is actually Xlib which won't work with libc.so.5.2.16.
-
-Using the old library version is a workaround.
-
** FreeBSD
*** FreeBSD 2.1.5: useless symbolic links remain in /tmp or other
is missing, all Emacs networking features are disabled.
Old versions of Windows 95 may not have the required DLL. To use
-Emacs' networking features on Windows 95, you must install the
+Emacs's networking features on Windows 95, you must install the
"Windows Socket 2" update available from MicroSoft's support Web.
** Emacs exits with "X protocol error" when run with an X server for MS-Windows.
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 X-servers running on MS-Windows, Emacs' display is incorrect.
+** Under some X-servers running on MS-Windows, Emacs's 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
** Configuration
-*** The `configure' script doesn't find the jpeg library.
-
-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 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.
-
*** `configure' warns ``accepted by the compiler, rejected by the preprocessor''.
This indicates a mismatch between the C compiler and preprocessor that
The precise file names depend on the compiler version, so we
cannot easily arrange to supply them.
-*** Linking says that the functions insque and remque are undefined.
-
-Change oldXMenu/Makefile by adding insque.o to the variable OBJS.
-
*** `tparam' reported as a multiply-defined symbol when linking with ncurses.
This problem results from an incompatible change in ncurses, in
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.
+from source, rather than the Ubuntu version, worked.
+See <URL:http://debbugs.gnu.org/327, <URL:http://debbugs.gnu.org/821>.
** Dumping
** Installation
-*** Installing Emacs gets an error running `install-info'.
-
-You need to install a recent version of Texinfo; that package
-supplies the `install-info' command.
-
-*** Installing to a directory with spaces in the name fails.
-
-For example, if you call configure with a directory-related option
-with spaces in the value, eg --enable-locallisppath='/path/with\ spaces'.
-Using directory paths with spaces is not supported at this time: you
-must re-configure without using spaces.
-
-*** Installing to a directory with non-ASCII characters in the name fails.
-
-Installation may fail, or the Emacs executable may not start
-correctly, if a directory name containing non-ASCII characters is used
-as a `configure' argument (e.g. `--prefix'). The problem can also
-occur if a non-ASCII directory is specified in the EMACSLOADPATH
-envvar.
-
*** On Solaris, use GNU Make when installing an out-of-tree build
The Emacs configuration process allows you to configure the
*** 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
-http://www.gnu.org/software/emacs/windows/.
+when shutting down Windows. Ensure that all subprocesses are exited
+cleanly before exiting Emacs. For more details, see the Emacs on MS
+Windows FAQ (info manual "efaq-w32").
*** MS-Windows 95/98/ME: crashes when Emacs invokes non-existent programs.
This problem seems to be a matter of configuring the DECserver to use
7 bit characters rather than 8 bit characters.
-
-* Build problems on legacy systems
-
-** SunOS: Emacs gets error message from linker on Sun.
-
-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,
-with a floating point option other than the default.
-
-It's not terribly hard to make this work with small changes in
-crt0.c together with linking with Fcrt1.o, Wcrt1.o or Mcrt1.o.
-However, the easiest approach is to build Xlib with the default
-floating point option: -fsoft.
-
-** HPUX 10.20: Emacs crashes during dumping on the HPPA machine.
-
-This seems to be due to a GCC bug; it is fixed in GCC 2.8.1.
-
-** Vax C compiler bugs affecting Emacs.
-
-You may get one of these problems compiling Emacs:
-
- foo.c line nnn: compiler error: no table entry for op STASG
- foo.c: fatal error in /lib/ccom
-
-These are due to bugs in the C compiler; the code is valid C.
-Unfortunately, the bugs are unpredictable: the same construct
-may compile properly or trigger one of these bugs, depending
-on what else is in the source file being compiled. Even changes
-in header files that should not affect the file being compiled
-can affect whether the bug happens. In addition, sometimes files
-that compile correctly on one machine get this bug on another machine.
-
-As a result, it is hard for me to make sure this bug will not affect
-you. I have attempted to find and alter these constructs, but more
-can always appear. However, I can tell you how to deal with it if it
-should happen. The bug comes from having an indexed reference to an
-array of Lisp_Objects, as an argument in a function call:
- Lisp_Object *args;
- ...
- ... foo (5, args[i], ...)...
-putting the argument into a temporary variable first, as in
- Lisp_Object *args;
- Lisp_Object tem;
- ...
- tem = args[i];
- ... foo (r, tem, ...)...
-causes the problem to go away.
-The `contents' field of a Lisp vector is an array of Lisp_Objects,
-so you may see the problem happening with indexed references to that.
-
\f
This file is part of GNU Emacs.