emacs-diffs
[Top][All Lists]
Advanced

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

master d3f6edf5aa 1/2: Make ibuffer-split-list obsolete in favor of seq-


From: Stefan Kangas
Subject: master d3f6edf5aa 1/2: Make ibuffer-split-list obsolete in favor of seq-group-by
Date: Tue, 9 Aug 2022 09:56:21 -0400 (EDT)

branch: master
commit d3f6edf5aa0a7083efa2dd08ed3eb7d8709689c8
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Make ibuffer-split-list obsolete in favor of seq-group-by
    
    * lisp/ibuf-ext.el (ibuffer-split-list): Make obsolete in favor of
    'seq-group-by'.
    (ibuffer-generate-filter-groups): Don't use above obsolete
    function.
---
 lisp/ibuf-ext.el | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 822ecbdd99..3fa17e583d 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -63,15 +63,10 @@
       (setq tail (cdr tail)))
     (nreverse new)))
 
-(defun ibuffer-split-list (ibuffer-split-list-fn ibuffer-split-list-elts)
-  (let ((hip-crowd nil)
-       (lamers nil))
-    (dolist (ibuffer-split-list-elt ibuffer-split-list-elts)
-      (if (funcall ibuffer-split-list-fn ibuffer-split-list-elt)
-         (push ibuffer-split-list-elt hip-crowd)
-       (push ibuffer-split-list-elt lamers)))
-    ;; Too bad Emacs Lisp doesn't have multiple values.
-    (list (nreverse hip-crowd) (nreverse lamers))))
+(defun ibuffer-split-list (fn elts)
+  (declare (obsolete seq-group-by "29.1"))
+  (let ((res (seq-group-by fn elts)))
+    (list (cdr (assq t res)) (cdr (assq nil res)))))
 
 (defcustom ibuffer-never-show-predicates nil
   "A list of predicates (a regexp or function) for buffers not to display.
@@ -769,11 +764,12 @@ specification, with the same structure as an element of 
the list
          (i 0))
       (dolist (filtergroup filter-group-alist)
        (let ((filterset (cdr filtergroup)))
-         (cl-destructuring-bind (hip-crowd lamers)
-             (ibuffer-split-list (lambda (bufmark)
-                                   (ibuffer-included-in-filters-p (car bufmark)
-                                                                  filterset))
-                                 bmarklist)
+          (let* ((res (seq-group-by (lambda (bufmark)
+                                      (ibuffer-included-in-filters-p (car 
bufmark)
+                                                                     
filterset))
+                                    bmarklist))
+                 (hip-crowd (cdr (assq t res)))
+                 (lamers (cdr (assq nil res))))
            (aset vec i hip-crowd)
            (cl-incf i)
            (setq bmarklist lamers))))



reply via email to

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