Function: handle-delete-frame
handle-delete-frame is an interactive and byte-compiled function
defined in frame.el.gz.
Signature
(handle-delete-frame EVENT)
Documentation
Handle delete-frame events from the X server.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/frame.el.gz
(defun handle-delete-frame (event)
"Handle delete-frame events from the X server."
(interactive "e")
(let* ((frame (posn-window (event-start event))))
(if (catch 'other-frame
(dolist (frame-1 (frame-list))
;; A valid "other" frame is visible, has its `delete-before'
;; parameter unset and is not a child frame.
(when (and (not (eq frame-1 frame))
(frame-visible-p frame-1)
(not (frame-parent frame-1))
(not (frame-parameter frame-1 'delete-before)))
(throw 'other-frame t))))
(delete-frame frame t)
;; Gildea@x.org says it is ok to ask questions before terminating.
(save-buffers-kill-emacs))))