If nnmail-expiry-wait is immediate, then expire all articles.
[gnus] / lisp / nnimap.el
index cef88fe..44869d6 100644 (file)
@@ -502,7 +502,8 @@ not done by default on servers that doesn't support that command.")
     nil)
    (t
     (let ((deletable-articles
-          (if force
+          (if (or force
+                  (eq nnmail-expiry-wait 'immediate))
               articles
             (gnus-sorted-intersection
              articles
@@ -587,7 +588,6 @@ not done by default on servers that doesn't support that command.")
 
 (deffoo nnimap-request-scan (&optional group server)
   (when (and (nnimap-possibly-change-group nil server)
-            (equal group nnimap-inbox)
             nnimap-inbox
             nnimap-split-methods)
     (message "nnimap %s splitting mail..." server)
@@ -844,7 +844,7 @@ not done by default on servers that doesn't support that command.")
       (push (list group info active) nnimap-current-infos))))
 
 (defun nnimap-flags-to-marks (groups)
-  (let (data group totalp uidnext articles start-article mark)
+  (let (data group totalp uidnext articles start-article mark permanent-flags)
     (dolist (elem groups)
       (setq group (car elem)
            uidnext (nth 1 elem)
@@ -881,7 +881,7 @@ not done by default on servers that doesn't support that command.")
                     (forward-line 1)
                     (setq end (point))
                     (goto-char start)
-                    (setq permanent-forward
+                    (setq permanent-flags
                           (and (search-forward "PERMANENTFLAGS "
                                                 (or end (point-min)) t)
                                (read (current-buffer))))