summaryrefslogtreecommitdiff
path: root/src/frame.c
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-10-26 12:07:17 +0000
committerGerd Moellmann <gerd@gnu.org>2000-10-26 12:07:17 +0000
commit0e6623421d7f95a691cc66726e9ff38fb5bc830e (patch)
tree6885b4515b3816fe7c66b5c11b065d1dc2898235 /src/frame.c
parent6c5b90af8664ac6b44c3e5ed1210ac175e0b8daf (diff)
downloademacs-0e6623421d7f95a691cc66726e9ff38fb5bc830e.tar.gz
(Fdelete_frame): Doc fix. Move running the hook
down after the last error condition check.
Diffstat (limited to 'src/frame.c')
-rw-r--r--src/frame.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/frame.c b/src/frame.c
index 0233b171e24..d495846fcdf 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1137,7 +1137,10 @@ DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "",
If omitted, FRAME defaults to the selected frame.\n\
A frame may not be deleted if its minibuffer is used by other frames.\n\
Normally, you may not delete a frame if all other frames are invisible,\n\
-but if the second optional argument FORCE is non-nil, you may do so.")
+but if the second optional argument FORCE is non-nil, you may do so.\n\
+\n\
+This function runs `delete-frame-hook' before actually deleting the\n\
+frame. The hook is called with one argument FRAME.")
(frame, force)
Lisp_Object frame, force;
{
@@ -1169,14 +1172,6 @@ but if the second optional argument FORCE is non-nil, you may do so.")
error ("Attempt to delete the only frame");
#endif
- if (!NILP (Vrun_hooks))
- {
- Lisp_Object args[2];
- args[0] = intern ("delete-frame-hook");
- args[1] = frame;
- Frun_hook_with_args (2, args);
- }
-
/* Does this frame have a minibuffer, and is it the surrogate
minibuffer for any other frame? */
if (FRAME_HAS_MINIBUF_P (XFRAME (frame)))
@@ -1198,6 +1193,15 @@ but if the second optional argument FORCE is non-nil, you may do so.")
}
}
+ /* Run `delete-frame-hook'. */
+ if (!NILP (Vrun_hooks))
+ {
+ Lisp_Object args[2];
+ args[0] = intern ("delete-frame-hook");
+ args[1] = frame;
+ Frun_hook_with_args (2, args);
+ }
+
minibuffer_selected = EQ (minibuf_window, selected_window);
/* Don't let the frame remain selected. */