# HG changeset patch # User Karoly Lorentey # Date 1094839642 0 # Node ID bc89b722d36fca10a394b0dfbda66ac2f4db9080 # Parent 42acc7fa8a4f59b7fc1b0abd73739e7a5aca62a9 Inhibit redisplay while frames are being deleted after an X disconnect. * src/xterm.c (x_connection_closed): Inhibit redisplay while frames are being deleted. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-243 diff -r 42acc7fa8a4f -r bc89b722d36f README.multi-tty --- a/README.multi-tty Fri Sep 10 13:06:10 2004 +0000 +++ b/README.multi-tty Fri Sep 10 18:07:22 2004 +0000 @@ -275,7 +275,8 @@ IRIE Tetsuya Yoshiaki Kasahara Jurej Kubelka -Istvan Marko +David Lichteblau +Istvan Marko Ted Morse Dan Nicolaescu Gergely Nagy diff -r 42acc7fa8a4f -r bc89b722d36f src/xterm.c --- a/src/xterm.c Fri Sep 10 13:06:10 2004 +0000 +++ b/src/xterm.c Fri Sep 10 18:07:22 2004 +0000 @@ -7728,6 +7728,7 @@ struct x_display_info *dpyinfo = x_display_info_for_display (dpy); Lisp_Object frame, tail; int count; + int index = SPECPDL_INDEX (); error_msg = (char *) alloca (strlen (error_message) + 1); strcpy (error_msg, error_message); @@ -7775,6 +7776,9 @@ if (dpyinfo) dpyinfo->display = 0; + /* Inhibit redisplay while frames are being deleted. */ + specbind (Qinhibit_redisplay, Qt); + /* First delete frames whose mini-buffers are on frames that are on the dead display. */ FOR_EACH_FRAME (tail, frame) @@ -7821,6 +7825,7 @@ sigunblock (sigmask (SIGALRM)); TOTALLY_UNBLOCK_INPUT; + unbind_to (index, Qnil); clear_waiting_for_input (); error ("%s", error_msg); }