]> git.eshelyaron.com Git - emacs.git/commitdiff
Delete dedicated frame when killing its buffer. (Bug#9699)
authorMartin Rudalics <rudalics@gmx.at>
Sat, 8 Oct 2011 13:52:16 +0000 (15:52 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Sat, 8 Oct 2011 13:52:16 +0000 (15:52 +0200)
* window.el (window--delete): Delete dedicated frame unconditionally
when argument KILL is non-nil.  (Bug#9699)

lisp/ChangeLog
lisp/window.el

index fdc61721a13a46c1ffad1bfdc98d15181d070f4d..7bd71260763782fbe611803cfc515119d9ef02c7 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-08  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.el (window--delete): Delete dedicated frame
+       unconditionally when argument KILL is non-nil.  (Bug#9699)
+
 2011-10-08  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 
        * lisp/eshell/eshell.el (eshell-command): Avoid using hooks.
index 74460ae60583d34788a9d5f8c84d4e2bcb826e54..72b14e1852eabcd5def275f4a89f1b496fc3a286 100644 (file)
@@ -2780,7 +2780,7 @@ WINDOW must be a live window and defaults to the selected one.
 Optional argument DEDICATED-ONLY non-nil means to delete WINDOW
 only if it's dedicated to its buffer.  Optional argument KILL
 means the buffer shown in window will be killed.  Return non-nil
-if WINDOW gets deleted."
+if WINDOW gets deleted or its frame is auto-hidden."
   (setq window (window-normalize-live-window window))
   (unless (and dedicated-only (not (window-dedicated-p window)))
     (let* ((buffer (window-buffer window))
@@ -2788,8 +2788,11 @@ if WINDOW gets deleted."
       (cond
        ((eq deletable 'frame)
        (let ((frame (window-frame window)))
-         (when (functionp frame-auto-hide-function)
-           (funcall frame-auto-hide-function frame)))
+         (cond
+          (kill
+           (delete-frame frame))
+          ((functionp frame-auto-hide-function)
+           (funcall frame-auto-hide-function frame))))
        'frame)
        (deletable
        (delete-window window)