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

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

[elpa] externals/beframe 24d0f133b2 4/8: Proposal for refactored `befram


From: ELPA Syncer
Subject: [elpa] externals/beframe 24d0f133b2 4/8: Proposal for refactored `beframe--global-buffers'
Date: Thu, 15 Aug 2024 15:57:32 -0400 (EDT)

branch: externals/beframe
commit 24d0f133b2675ed446ed36797752499b10d26742
Author: Bruno Boal <egomet@bboal.com>
Commit: Bruno Boal <egomet@bboal.com>

    Proposal for refactored `beframe--global-buffers'
---
 beframe.el | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/beframe.el b/beframe.el
index 6b61643db0..c57c0e2145 100644
--- a/beframe.el
+++ b/beframe.el
@@ -155,6 +155,20 @@ The following values of ARG can be used:
      (beframe--remove-internal-buffers (frame-parameter arg 'buffer-list)))
     (_ (user-error "Wrong argument in `beframe--get-buffers' pcase"))))
 
+
+(defun beframe--global-buffers ()
+  "Return list of `beframe-global-buffers' buffer objects."
+  (pcase-let* ((pub-buffs (beframe--get-buffers 'public))
+               (`(,str-re ,modes-lst)
+                (cl-loop for E in beframe-global-buffers
+                         if (stringp E) collect E into str
+                         else if (symbolp E) collect E into sym
+                         finally return (list (string-join str "\\|") sym))))
+    (cl-loop for b in pub-buffs
+             if (string-match-p str-re (buffer-name b)) collect b
+             else if (with-current-buffer b (derived-mode-p modes-lst))
+             collect b)))
+
 (cl-defun beframe-buffer-list (&optional frame &key sort)
   "Return list of buffers that are used by the current frame.
 With optional FRAME as an object that satisfies `framep', return



reply via email to

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