From 8caa91b2ce4a27a9a11d8a7cf190a15b136768e7 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Tue, 9 Aug 2022 22:09:20 +0200 Subject: [PATCH] * lisp/vc/pcvs-util.el (cvs-partition): Simplify. --- lisp/vc/pcvs-util.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lisp/vc/pcvs-util.el b/lisp/vc/pcvs-util.el index 702033dd88a..89f8d26880b 100644 --- a/lisp/vc/pcvs-util.el +++ b/lisp/vc/pcvs-util.el @@ -38,6 +38,7 @@ (apply #'append (mapcar (lambda (x) (if (listp x) x (list x))) xs))) (defun cvs-first (l &optional n) + ;; FIXME: Replace this with `seq-take'? (if (null n) (car l) (when l (let* ((nl (list (pop l))) @@ -53,10 +54,9 @@ The function returns a `cons' cell where the `car' contains elements of L for which P is true while the `cdr' contains the other elements. The ordering among elements is maintained." - (let (car cdr) - (dolist (x l) - (if (funcall p x) (push x car) (push x cdr))) - (cons (nreverse car) (nreverse cdr)))) + (let ((res (seq-group-by p l))) + (cons (cdr (assq t res)) + (cdr (assq nil res))))) ;;; ;;; frame, window, buffer handling