[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r102099: Document GTK Emacs kill on d
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r102099: Document GTK Emacs kill on display close in PROBLEMS. |
Date: |
Mon, 25 Oct 2010 12:04:54 -0400 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 102099
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Mon 2010-10-25 12:04:54 -0400
message:
Document GTK Emacs kill on display close in PROBLEMS.
* src/xterm.c (x_connection_closed): Update comment.
modified:
etc/PROBLEMS
src/xterm.c
=== modified file 'etc/PROBLEMS'
--- a/etc/PROBLEMS 2010-08-08 21:12:29 +0000
+++ b/etc/PROBLEMS 2010-10-25 16:04:54 +0000
@@ -235,19 +235,18 @@
On platforms such as Solaris, you can also work around this problem by
configuring your compiler to use the native linker instead of GNU ld.
-** Emacs compiled with Gtk+ crashes when closing a display
(x-close-connection).
-
-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).
+** When Emacs is compiled with Gtk+, closing a display kills Emacs.
+
+There is a long-standing bug in GTK that prevents it from recovering
+from disconnects: http://bugzilla.gnome.org/show_bug.cgi?id=85715.
+
+Thus, for instance, when Emacs is run as a server on a text terminal,
+and an X frame is created, and the X server for that frame crashes or
+exits unexpectedly, Emacs must exit to prevent a GTK error that would
+result in an endless loop.
+
+If you need Emacs to be able to recover from closing displays, compile
+it with the Lucid toolkit instead of GTK.
* General runtime problems
=== modified file 'src/xterm.c'
--- a/src/xterm.c 2010-10-24 21:36:09 +0000
+++ b/src/xterm.c 2010-10-25 16:04:54 +0000
@@ -7698,7 +7698,13 @@
#endif
#ifdef USE_GTK
- /* Due to bugs in some Gtk+ versions, just exit here. */
+ /* There is a long-standing bug in GTK that prevents the GTK
+ main loop from recovering gracefully from disconnects
+ (https://bugzilla.gnome.org/show_bug.cgi?id=85715). Among
+ other problems, this gives rise to a stream of Glib error
+ messages that, in one incident, filled up a user's hard disk
+ (http://lists.gnu.org/archive/html/emacs-devel/2010-10/msg00927.html).
+ So, kill Emacs unconditionally if the display is closed. */
{
fprintf (stderr, "%s\n", error_msg);
Fkill_emacs (make_number (70));