]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix gnus search by message-id
authorAndrew G Cohen <cohen@andy.bu.edu>
Sat, 18 Dec 2021 22:11:50 +0000 (06:11 +0800)
committerAndrew G Cohen <cohen@andy.bu.edu>
Sat, 18 Dec 2021 22:11:50 +0000 (06:11 +0800)
* lisp/gnus/gnus-search.el (gnus-search-run-search): Continue
iterating until a match is found.

* lisp/gnus/nnselect.el (nnselect-request-article): Use new
gnus-search query format.

lisp/gnus/gnus-search.el
lisp/gnus/nnselect.el

index 46dc1cf6c1f14e451cbaa32e05f3e9f06cfeff2a..d64c0cb90c3fd4f5572dc5daf82e5c2e89e70a09 100644 (file)
@@ -1060,7 +1060,7 @@ Responsible for handling and, or, and parenthetical expressions.")
               q-string)))
 
       (while (and (setq group (pop grouplist))
-                 (or (null single-search) (null artlist)))
+                 (or (null single-search) (= 0 (length artlist))))
        (when (nnimap-change-group
               (gnus-group-short-name group) server)
          (with-current-buffer (nnimap-buffer)
index 252e9f668380de89892619aca3ce95fec2f9fdf1..0130f6899917598a905154f8d3ba401ee40143f5 100644 (file)
@@ -395,8 +395,7 @@ If this variable is nil, or if the provided function returns nil,
            (gnus-search-run-query
             (list
              (cons 'search-query-spec
-                   (list (cons 'query `((id . ,article)))
-                         (cons 'criteria "")  (cons 'shortcut t)))
+                   (list (cons 'query (format "id:%s" article))))
              (cons 'search-group-spec servers))))
       (unless (zerop (nnselect-artlist-length artlist))
        (setq
@@ -905,7 +904,7 @@ article came from is also searched."
                ;; make sure
                (setq list
                      (sort (map-merge
-                            'list list
+                            'alist list
                             (alist-get type (gnus-info-marks group-info)))
                            (lambda (elt1 elt2)
                              (< (car elt1) (car elt2))))))