aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew G Cohen2023-03-29 14:05:59 +0800
committerAndrew G Cohen2023-04-09 14:23:34 +0800
commit48ecbccaa3244183f58c5140f09b0b8eebdf65c9 (patch)
treeb7bc174f3b7002c04c17894945ad1370a9179a6b
parent859b94e338639e1838e607be5784dc65ad455671 (diff)
downloademacs-48ecbccaa3244183f58c5140f09b0b8eebdf65c9.tar.gz
emacs-48ecbccaa3244183f58c5140f09b0b8eebdf65c9.zip
Update gnus/nnselect marks only for current articles
* lisp/gnus/nnselect.el (nnselect-push-info): Restrict updating of marked articles to those whose headers have been retrieved, taking care to handle 'tuples.
-rw-r--r--lisp/gnus/nnselect.el18
1 files changed, 11 insertions, 7 deletions
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index 4680cf23e5e..9a2957c9f52 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -895,13 +895,17 @@ article came from is also searched."
895 ;; collect the set of marked article lists categorized by 895 ;; collect the set of marked article lists categorized by
896 ;; originating groups 896 ;; originating groups
897 (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists) 897 (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)
898 (let (type-list) 898 (let ((mark-type (gnus-article-mark-to-type type))
899 (when (setq type-list 899 (type-list (symbol-value
900 (symbol-value (intern (format "gnus-newsgroup-%s" mark)))) 900 (intern (format "gnus-newsgroup-%s" mark)))))
901 (push (cons 901 (when type-list
902 type 902 (unless (eq 'tuple mark-type)
903 (numbers-by-group type-list (gnus-article-mark-to-type type))) 903 (setq type-list (range-list-intersection
904 mark-list)))) 904 gnus-newsgroup-articles type-list)))
905 (push (cons
906 type
907 (numbers-by-group type-list mark-type))
908 mark-list))))
905 ;; now work on each originating group one at a time 909 ;; now work on each originating group one at a time
906 (pcase-dolist (`(,artgroup . ,artlist) 910 (pcase-dolist (`(,artgroup . ,artlist)
907 (numbers-by-group gnus-newsgroup-articles)) 911 (numbers-by-group gnus-newsgroup-articles))