Merge branch 'master' of https://git.gnus.org/gnus
[gnus] / lisp / gnus-sum.el
index 2ef0ce6..c4a7216 100644 (file)
@@ -5851,8 +5851,9 @@ If SELECT-ARTICLES, only select those articles from GROUP."
         marks var articles article mark mark-type
          bgn end)
     ;; Hack to avoid adjusting marks for imap.
-    (when (eq (car (gnus-find-method-for-group group)) 'nnimap)
-      (setq min 1)
+    (when (eq (car (gnus-find-method-for-group (gnus-info-group info)))
+             'nnimap)
+      (setq min 1))
 
     (dolist (marks marked-lists)
       (setq mark (car marks)
@@ -5975,6 +5976,10 @@ If SELECT-ARTICLES, only select those articles from GROUP."
            (when add
              (push (list add 'add (list (cdr type))) delta-marks))
            (when del
+             ;; Don't delete marks from outside the active range.  This
+             ;; shouldn't happen, but is a sanity check.
+             (setq del (gnus-sorted-range-intersection
+                        (gnus-active gnus-newsgroup-name) del))
              (push (list del 'del (list (cdr type))) delta-marks))))
 
        (when list