emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100137: Document GTK Emacs kill o


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100137: Document GTK Emacs kill on display close in PROBLEMS.
Date: Mon, 25 Oct 2010 12:08:27 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100137
committer: Chong Yidong <address@hidden>
branch nick: emacs-23
timestamp: Mon 2010-10-25 12:08:27 -0400
message:
  Document GTK Emacs kill on display close in PROBLEMS.
  
  * src/xterm.c (x_connection_closed): Expand comment.
modified:
  etc/PROBLEMS
  src/xterm.c
=== modified file 'etc/PROBLEMS'
--- a/etc/PROBLEMS      2010-07-27 19:50:01 +0000
+++ b/etc/PROBLEMS      2010-10-25 16:08:27 +0000
@@ -241,19 +241,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:05:11 +0000
+++ b/src/xterm.c       2010-10-25 16:08:27 +0000
@@ -7911,7 +7911,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));


reply via email to

[Prev in Thread] Current Thread [Next in Thread]