emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ace-window d20bd7c 59/92: ace-window.el (aw-delete-wind


From: Stefan Monnier
Subject: [elpa] externals/ace-window d20bd7c 59/92: ace-window.el (aw-delete-window): Add optional kill-buffer arg
Date: Wed, 17 Mar 2021 18:39:22 -0400 (EDT)

branch: externals/ace-window
commit d20bd7c6f1bf6682a74df874bcfad9d7af4429ab
Author: Oleh Krehel <ohwoeowho@gmail.com>
Commit: Oleh Krehel <ohwoeowho@gmail.com>

    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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]