branch: externals/ace-window
commit d20bd7c6f1bf6682a74df874bcfad9d7af4429ab
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
ace-window.el (aw-delete-window): Add optional kill-buffer arg
Example config:
(add-to-list
'aw-dispatch-alist
(list
?X
(lambda (w)
(aw-delete-window w t))
"Delete Window and Kill Buffer"))
Fixes #146
---
ace-window.el | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ace-window.el b/ace-window.el
index 7c30659..bd26474 100644
--- a/ace-window.el
+++ b/ace-window.el
@@ -660,8 +660,9 @@ Windows are numbered top down, left to right."
(mapc #'delete-overlay aw-overlays-back)
(call-interactively 'ace-window)))
-(defun aw-delete-window (window)
- "Delete window WINDOW."
+(defun aw-delete-window (window &optional kill-buffer)
+ "Delete window WINDOW.
+When KILL-BUFFER is non-nil, also kill the buffer."
(let ((frame (window-frame window)))
(when (and (frame-live-p frame)
(not (eq frame (selected-frame))))
@@ -669,7 +670,10 @@ Windows are numbered top down, left to right."
(if (= 1 (length (window-list)))
(delete-frame frame)
(if (window-live-p window)
- (delete-window window)
+ (let ((buffer (window-buffer window)))
+ (delete-window window)
+ (when kill-buffer
+ (kill-buffer buffer)))
(error "Got a dead window %S" window)))))
(defun aw-switch-buffer-in-window (window)