[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/bufferlo d74f2c1ece 21/37: Add bufferlo-remove-non-excl
|
From: |
ELPA Syncer |
|
Subject: |
[elpa] externals/bufferlo d74f2c1ece 21/37: Add bufferlo-remove-non-exclusive-buffers |
|
Date: |
Sun, 5 Nov 2023 09:57:33 -0500 (EST) |
branch: externals/bufferlo
commit d74f2c1ecef177e0d5fd5e9d9cf2b103beaa26b3
Author: Florian Rommel <mail@florommel.de>
Commit: Florian Rommel <mail@florommel.de>
Add bufferlo-remove-non-exclusive-buffers
---
README.org | 2 ++
bufferlo.el | 17 +++++++++++++----
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/README.org b/README.org
index 0256ede30a..80ab85f1a2 100644
--- a/README.org
+++ b/README.org
@@ -60,6 +60,8 @@ Bufferlo provides functions to manage the local buffer lists:
Clear the frame/tab's buffer list.
- ~bufferlo-remove~:
Remove a buffer from the frame/tab's buffer list.
+- ~bufferlo-remove-non-exclusive-buffers~
+ Remove all buffers from the local list that are not exclusive to this
frame/tab.
- ~bufferlo-bury~:
Bury and remove the current buffer from the frame/tab's buffer list.
- ~bufferlo-kill-buffers~:
diff --git a/bufferlo.el b/bufferlo.el
index bf1c6112d0..3494cbcea1 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -357,6 +357,13 @@ If FRAME is nil, use the current frame."
(switch-to-prev-buffer nil 'bury)))
nil))
+(defun bufferlo-remove-non-exclusive-buffers ()
+ "Remove all buffers from the frame/tab's buffer list that are not exclusively
+attached to this frame/tab."
+ (interactive)
+ (dolist (buffer (bufferlo--get-exclusive-buffers nil t))
+ (bufferlo-remove buffer)))
+
(defun bufferlo-bury (&optional buffer-or-name)
"Bury and remove the buffer specified by BUFFER-OR-NAME from the local list.
If `bufferlo-include-buried-buffers' is set to `nil' then this has the same
@@ -395,13 +402,15 @@ If EXCLUDE-FRAME is a frame, exclude the local buffer
list of this frame."
(not (memq b (bufferlo--get-captured-buffers))))
(buffer-list)))
-(defun bufferlo--get-exclusive-buffers (&optional frame)
+(defun bufferlo--get-exclusive-buffers (&optional frame invert)
"Get all buffers that are exclusive for this frame and tab.
-If frame is nil, use the current frame."
+If FRAME is nil, use the current frame.
+If INVERT is non-nil, return the non-exclusive buffer instead."
(let ((other-bufs (bufferlo--get-captured-buffers (or frame
(selected-frame))))
(this-bufs (bufferlo--current-buffers frame)))
- (seq-filter (lambda (b)
- (not (memq b other-bufs)))
+ (seq-filter (if invert
+ (lambda (b) (memq b other-bufs))
+ (lambda (b) (not (memq b other-bufs))))
this-bufs)))
(defun bufferlo-kill-buffers (&optional killall frame)
- [elpa] externals/bufferlo 82f51c31ab 23/37: desktop.el support: Fix error on deleted windows, (continued)
- [elpa] externals/bufferlo 82f51c31ab 23/37: desktop.el support: Fix error on deleted windows, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 8f82be00b1 30/37: Add basic buffer-menu support, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 914c381e9f 16/37: Fix buffer matching, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 46557c7f54 04/37: Minor changes, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo c000ff8398 09/37: Add bufferlo-non-local-buffer-p, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 23cbe682c4 15/37: More parameters, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo fbec2df3bd 28/37: Fix undelete-frame, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 598e20cf3b 31/37: Fix tab duplication on emacs < 29, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 6f3b79369f 02/37: Add README, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 83586af819 07/37: Fix empty buffer list, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo d74f2c1ece 21/37: Add bufferlo-remove-non-exclusive-buffers,
ELPA Syncer <=
- [elpa] externals/bufferlo 2fc945a81b 10/37: Update README, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 79eba76029 06/37: Include buried buffers, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo ecae697601 18/37: Fix local ibuffer buffer name, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 2bcbde24be 29/37: Update documentation, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 6d27fbd704 37/37: Add COPYING to elpaignore, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 1c16e19694 25/37: Fix frame predicate to include hidden buffers, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 795ef9e937 13/37: Fix README, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 1660b52975 24/37: Cleanup documentation, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 93154c1bc1 05/37: Add interactive auxiliary functions, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo ef806d7155 19/37: Fix bug when switching to a tab with empty local buffer list, ELPA Syncer, 2023/11/05