branch: externals/consult
commit dc81a0d44b6257565a6299a4891703404e755d8e
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    Optimize consult--buffer-query
---
 consult.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/consult.el b/consult.el
index a19da23392..c61108f59a 100644
--- a/consult.el
+++ b/consult.el
@@ -4728,9 +4728,7 @@ AS is a conversion function."
                         ((functionp buffer-list) (funcall buffer-list))
                         ((listp buffer-list) (copy-sequence buffer-list))
                         (t (buffer-list))))
-    (when sort
-      (setq buffer-list (funcall (intern (format "consult--buffer-sort-%s" 
sort)) buffer-list)))
-    (when (or filter mode as root)
+    (when (or filter mode root)
       (let ((exclude-re (consult--regexp-filter exclude))
             (include-re (consult--regexp-filter include))
             (case-fold-search))
@@ -4757,7 +4755,11 @@ AS is a conversion function."
                                       dir
                                     (expand-file-name dir)))))
            (or (not predicate) (funcall predicate it))
-           (if as (funcall as it) it)))))
+           it))))
+    (when sort
+      (setq buffer-list (funcall (intern (format "consult--buffer-sort-%s" 
sort)) buffer-list)))
+    (when as
+      (cl-loop for it in-ref buffer-list do (setf it (funcall as it))))
     buffer-list))
 
 (defun consult--buffer-file-hash ()

Reply via email to