emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] scratch/gnus-search 09aff52 26/30: Do result limiting in t


From: Eric Abrahamsen
Subject: [Emacs-diffs] scratch/gnus-search 09aff52 26/30: Do result limiting in the indexed engine process
Date: Thu, 1 Jun 2017 03:50:24 -0400 (EDT)

branch: scratch/gnus-search
commit 09aff5299d4755639192b628343a34f209b4cfad
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>

    Do result limiting in the indexed engine process
    
    * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Limit
      number of results, in case the engine didn't handle it.
---
 lisp/gnus/gnus-search.el | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 25933d9..d4b9db1 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -1460,6 +1460,12 @@ Returns a list of [group article score] vectors."
     ;; Are we running an additional grep query?
     (when-let ((grep-reg (alist-get 'grep query)))
       (setq artlist (gnus-search-grep-search engine artlist grep-reg)))
+    ;; Some engines do result limiting on their own, some don't.  Just
+    ;; make sure.
+    (when-let ((limit (alist-get 'limit query)))
+      (setq artlist (cl-subseq artlist 0
+                              (min limit (length artlist)))))
+    ;; Turn (file-name score) into [group article score].
     (pcase-dolist (`(,f-name ,score) artlist)
       (setq article (file-name-nondirectory f-name))
       ;; Remove prefix.



reply via email to

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