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

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

[elpa] externals/bufferlo 1c16e19694 25/37: Fix frame predicate to inclu


From: ELPA Syncer
Subject: [elpa] externals/bufferlo 1c16e19694 25/37: Fix frame predicate to include hidden buffers
Date: Sun, 5 Nov 2023 09:57:33 -0500 (EST)

branch: externals/bufferlo
commit 1c16e196944c092bee8bba26b03718ec98201a5a
Author: Florian Rommel <mail@florommel.de>
Commit: Florian Rommel <mail@florommel.de>

    Fix frame predicate to include hidden buffers
    
    Commit 1660b52 breaks the frame predicate that bufferlo installs with
    `bufferlo-prefer-local-buffers`.  The current predicate ignores hidden
    local buffers (`bufferlo-hidden-buffers`).  This results in displaying
    a non-local buffer when killing or burying the last non-hidden buffer
    in a window despite the existence of hidden local buffers.
    This commit reintroduces `bufferlo--buffer-predicate` that includes
    hidden buffers.
---
 bufferlo.el | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/bufferlo.el b/bufferlo.el
index a5b2299e00..77f8bdda0f 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -213,13 +213,18 @@ before calling OLDFN with ARGS.  See 
`bufferlo--clear-buffer-lists'."
 
     result))
 
+(defun bufferlo--buffer-predicate (buffer)
+  "Return whether BUFFER is local to the current fram/tab.
+Includes hidden buffers."
+  (bufferlo-local-buffer-p buffer nil nil t))
+
 (defun bufferlo--set-buffer-predicate (frame)
-  "Set the buffer predicate of FRAME to `bufferlo-local-buffer-p'."
-  (set-frame-parameter frame 'buffer-predicate #'bufferlo-local-buffer-p))
+  "Set the buffer predicate of FRAME to `bufferlo--buffer-predicate'."
+  (set-frame-parameter frame 'buffer-predicate #'bufferlo--buffer-predicate))
 
 (defun bufferlo--reset-buffer-predicate (frame)
-  "Reset the buffer predicate of FRAME if it is `bufferlo-local-buffer-p'."
-  (when (eq (frame-parameter frame 'buffer-predicate) 
#'bufferlo-local-buffer-p)
+  "Reset the buffer predicate of FRAME if it is `bufferlo--buffer-predicate'."
+  (when (eq (frame-parameter frame 'buffer-predicate) 
#'bufferlo--buffer-predicate)
     (set-frame-parameter frame 'buffer-predicate nil)))
 
 (defun bufferlo--merge-regexp-list (regexp-list)



reply via email to

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