1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00

New option frame-auto-hide-function replacing frame-auto-delete.

* window.el (frame-auto-hide-function): New option replacing
frame-auto-delete.  Suggested by Stefan Monnier.
(window--delete): Call frame-auto-hide-function instead of
investigating frame-auto-delete.
This commit is contained in:
Martin Rudalics 2011-10-05 08:49:53 +02:00
parent 9854542eaa
commit 5a4cf28234
2 changed files with 21 additions and 10 deletions

View File

@ -1,3 +1,10 @@
2011-10-05 Martin Rudalics <rudalics@gmx.at>
* window.el (frame-auto-hide-function): New option replacing
frame-auto-delete. Suggested by Stefan Monnier.
(window--delete): Call frame-auto-hide-function instead of
investigating frame-auto-delete.
2011-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/edebug.el: Heed checkdoc recommendations.

View File

@ -2738,13 +2738,18 @@ the buffer `*scratch*', creating it if necessary."
(set-buffer-major-mode scratch)
scratch)))
(defcustom frame-auto-delete nil
"Non-nil means automatically delete frames.
The default value nil means to iconify frames instead. Functions
affected by this variable are `quit-window' (when burying the
window's buffer) and `bury-buffer'."
:type 'boolean
:group 'windows)
(defcustom frame-auto-hide-function #'iconify-frame
"Function called to automatically hide frames.
The function is called with one argument - a frame.
Functions affected by this option are those that bury a buffer
shown in a separate frame like `quit-window' and `bury-buffer'."
:type '(choice (const :tag "Iconify" iconify-frame)
(const :tag "Delete" delete-frame)
(const :tag "Do nothing" ignore)
function)
:group 'windows
:group 'frames)
(defun window--delete (&optional window dedicated-only kill)
"Delete WINDOW if possible.
@ -2760,9 +2765,8 @@ if WINDOW gets deleted."
(cond
((eq deletable 'frame)
(let ((frame (window-frame window)))
(if (or kill frame-auto-delete)
(delete-frame frame)
(iconify-frame frame)))
(when (functionp frame-auto-hide-function)
(funcall frame-auto-hide-function frame)))
'frame)
(deletable
(delete-window window)