fix(lib): don't kill buffers visible in another frame
For Doom's kill-current-buffer advice.
This commit is contained in:
parent
5718e4e96e
commit
a24ff58a5a
2 changed files with 7 additions and 3 deletions
|
@ -225,7 +225,7 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
|
||||||
(when (or ;; if there aren't more real buffers than visible buffers,
|
(when (or ;; if there aren't more real buffers than visible buffers,
|
||||||
;; then there are no real, non-visible buffers left.
|
;; then there are no real, non-visible buffers left.
|
||||||
(not (cl-set-difference (doom-real-buffer-list)
|
(not (cl-set-difference (doom-real-buffer-list)
|
||||||
(doom-visible-buffers)))
|
(doom-visible-buffers nil t)))
|
||||||
;; if we end up back where we start (or previous-buffer
|
;; if we end up back where we start (or previous-buffer
|
||||||
;; returns nil), we have nowhere left to go
|
;; returns nil), we have nowhere left to go
|
||||||
(memq (switch-to-prev-buffer nil t) (list buf 'nil)))
|
(memq (switch-to-prev-buffer nil t) (list buf 'nil)))
|
||||||
|
|
|
@ -179,9 +179,13 @@ If DERIVED-P, test with `derived-mode-p', otherwise use `eq'."
|
||||||
collect window))
|
collect window))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun doom-visible-buffers (&optional buffer-list)
|
(defun doom-visible-buffers (&optional buffer-list all-frames)
|
||||||
"Return a list of visible buffers (i.e. not buried)."
|
"Return a list of visible buffers (i.e. not buried)."
|
||||||
(let ((buffers (delete-dups (mapcar #'window-buffer (window-list)))))
|
(let ((buffers
|
||||||
|
(delete-dups
|
||||||
|
(cl-loop for frame in (if all-frames (visible-frame-list) (list (selected-frame)))
|
||||||
|
if (window-list frame)
|
||||||
|
nconc (mapcar #'window-buffer it)))))
|
||||||
(if buffer-list
|
(if buffer-list
|
||||||
(cl-delete-if (lambda (b) (memq b buffer-list))
|
(cl-delete-if (lambda (b) (memq b buffer-list))
|
||||||
buffers)
|
buffers)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue