diff options
author | Eric Abrahamsen <eric@ericabrahamsen.net> | 2021-05-21 13:35:38 -0700 |
---|---|---|
committer | Eric Abrahamsen <eric@ericabrahamsen.net> | 2021-05-21 13:35:38 -0700 |
commit | 5fe343a44cdd83c43793c86b92ab5dd16a29bc3a (patch) | |
tree | 44217c017d55cf5cfc865c4958cd75507e1214d8 /lisp/gnus/gnus-search.el | |
parent | 484bd8137a71d26fc712053c6904e16877ca9be3 (diff) | |
download | emacs-5fe343a44cdd83c43793c86b92ab5dd16a29bc3a.tar.gz |
Robustify parsing of gnus-search search results
* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Look
for a "process finished" tag, and don't choke on mis-parsed lines.
Diffstat (limited to 'lisp/gnus/gnus-search.el')
-rw-r--r-- | lisp/gnus/gnus-search.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index a59d0e57a79..fc9f8684f63 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -1358,9 +1358,12 @@ Returns a list of [group article score] vectors." "\\|"))) artlist vectors article group) (goto-char (point-min)) - (while (not (eobp)) + (while (not (or (eobp) + (looking-at-p + "\\(?:[[:space:]\n]+\\)?Process .+ finished"))) (pcase-let ((`(,f-name ,score) (gnus-search-indexed-extract engine))) - (when (and (file-readable-p f-name) + (when (and f-name + (file-readable-p f-name) (null (file-directory-p f-name)) (or (null groups) (and (gnus-search-single-p query) |