[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/frame.c,v
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/frame.c,v |
Date: |
Fri, 08 Feb 2008 02:38:09 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Richard M. Stallman <rms> 08/02/08 02:38:09
Index: frame.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/frame.c,v
retrieving revision 1.363
retrieving revision 1.364
diff -u -b -r1.363 -r1.364
--- frame.c 1 Feb 2008 16:00:44 -0000 1.363
+++ frame.c 8 Feb 2008 02:38:08 -0000 1.364
@@ -1342,7 +1342,9 @@
This function runs `delete-frame-functions' before actually deleting the
frame, unless the frame is a tooltip.
-The functions are run with one arg, the frame to be deleted. */)
+The functions are run with one arg, the frame to be deleted.
+But FORCE inhibits this too. */)
+/* FORCE is non-nil when handling a disconnected terminal. */
(frame, force)
Lisp_Object frame, force;
{
@@ -1393,12 +1395,21 @@
&& EQ (frame,
WINDOW_FRAME (XWINDOW
(FRAME_MINIBUF_WINDOW (XFRAME (this))))))
+ {
+ /* If we MUST delete this frame, delete the other first. */
+ if (!NILP (force))
+ Fdelete_frame (this, force);
+ else
error ("Attempt to delete a surrogate minibuffer frame");
}
}
+ }
- /* Run `delete-frame-functions' unless frame is a tooltip. */
- if (!NILP (Vrun_hooks)
+ /* Run `delete-frame-functions'
+ unless FORCE is true or frame is a tooltip.
+ FORCE is set when handling a disconnect from the terminal,
+ so we don't dare call Lisp code. */
+ if (!NILP (Vrun_hooks) && NILP (force)
&& NILP (Fframe_parameter (frame, intern ("tooltip"))))
{
Lisp_Object args[2];
@@ -1418,6 +1429,9 @@
if (! FRAME_LIVE_P (f))
return Qnil;
+ /* At this point, we are committed to deleting the frame.
+ There is no more chance for errors to prevent it. */
+
minibuffer_selected = EQ (minibuf_window, selected_window);
/* Don't let the frame remain selected. */
- [Emacs-diffs] Changes to emacs/src/frame.c,v, Miles Bader, 2008/02/01
- [Emacs-diffs] Changes to emacs/src/frame.c,v,
Richard M. Stallman <=
- [Emacs-diffs] Changes to emacs/src/frame.c,v, Stefan Monnier, 2008/02/10
- [Emacs-diffs] Changes to emacs/src/frame.c,v, Stefan Monnier, 2008/02/11
- [Emacs-diffs] Changes to emacs/src/frame.c,v, Stefan Monnier, 2008/02/11