aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2011-10-08 15:52:16 +0200
committerMartin Rudalics2011-10-08 15:52:16 +0200
commitc557cd6b97df3989fda0b2d19cff80bb7a9a5c70 (patch)
treea49d93a69a5c5e32c684b4af107c0a62bb69655c
parent7061c986301ecc3d69c73a9d8b6a51299bd4fb6a (diff)
downloademacs-c557cd6b97df3989fda0b2d19cff80bb7a9a5c70.tar.gz
emacs-c557cd6b97df3989fda0b2d19cff80bb7a9a5c70.zip
Delete dedicated frame when killing its buffer. (Bug#9699)
* window.el (window--delete): Delete dedicated frame unconditionally when argument KILL is non-nil. (Bug#9699)
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/window.el9
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fdc61721a13..7bd71260763 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12011-10-08 Martin Rudalics <rudalics@gmx.at>
2
3 * window.el (window--delete): Delete dedicated frame
4 unconditionally when argument KILL is non-nil. (Bug#9699)
5
12011-10-08 Thierry Volpiatto <thierry.volpiatto@gmail.com> 62011-10-08 Thierry Volpiatto <thierry.volpiatto@gmail.com>
2 7
3 * lisp/eshell/eshell.el (eshell-command): Avoid using hooks. 8 * lisp/eshell/eshell.el (eshell-command): Avoid using hooks.
diff --git a/lisp/window.el b/lisp/window.el
index 74460ae6058..72b14e1852e 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -2780,7 +2780,7 @@ WINDOW must be a live window and defaults to the selected one.
2780Optional argument DEDICATED-ONLY non-nil means to delete WINDOW 2780Optional argument DEDICATED-ONLY non-nil means to delete WINDOW
2781only if it's dedicated to its buffer. Optional argument KILL 2781only if it's dedicated to its buffer. Optional argument KILL
2782means the buffer shown in window will be killed. Return non-nil 2782means the buffer shown in window will be killed. Return non-nil
2783if WINDOW gets deleted." 2783if WINDOW gets deleted or its frame is auto-hidden."
2784 (setq window (window-normalize-live-window window)) 2784 (setq window (window-normalize-live-window window))
2785 (unless (and dedicated-only (not (window-dedicated-p window))) 2785 (unless (and dedicated-only (not (window-dedicated-p window)))
2786 (let* ((buffer (window-buffer window)) 2786 (let* ((buffer (window-buffer window))
@@ -2788,8 +2788,11 @@ if WINDOW gets deleted."
2788 (cond 2788 (cond
2789 ((eq deletable 'frame) 2789 ((eq deletable 'frame)
2790 (let ((frame (window-frame window))) 2790 (let ((frame (window-frame window)))
2791 (when (functionp frame-auto-hide-function) 2791 (cond
2792 (funcall frame-auto-hide-function frame))) 2792 (kill
2793 (delete-frame frame))
2794 ((functionp frame-auto-hide-function)
2795 (funcall frame-auto-hide-function frame))))
2793 'frame) 2796 'frame)
2794 (deletable 2797 (deletable
2795 (delete-window window) 2798 (delete-window window)