gnus-start: do nothing special on first run
[gnus] / lisp / nnimap.el
index 43dbbb8..98839e2 100644 (file)
@@ -78,6 +78,9 @@ Uses the same syntax as nnmail-split-methods")
 (defvoo nnimap-split-fancy nil
   "Uses the same syntax as nnmail-split-fancy.")
 
+(defvoo nnimap-unsplittable-articles '(%Deleted %Seen)
+  "Articles with the flags in the list will not be considered when splitting.")
+
 (make-obsolete-variable 'nnimap-split-rule "see `nnimap-split-methods'"
                        "Emacs 24.1")
 
@@ -1200,7 +1203,8 @@ textual parts.")
              (setq marks (gnus-info-marks info))
              (dolist (type (cdr nnimap-mark-alist))
                (when (or (not (listp permanent-flags))
-                         (memq (assoc (caddr type) flags) permanent-flags)
+                         (memq (car (assoc (caddr type) flags))
+                               permanent-flags)
                          (memq '%* permanent-flags))
                  (let ((old-marks (assoc (car type) marks))
                        (new-marks
@@ -1612,6 +1616,7 @@ textual parts.")
          new-articles)
       (erase-buffer)
       (nnimap-command "SELECT %S" nnimap-inbox)
+      (setf (nnimap-group nnimap-object) nnimap-inbox)
       (setq new-articles (nnimap-new-articles (nnimap-get-flags "1:*")))
       (when new-articles
        (nnimap-fetch-inbox new-articles)
@@ -1684,9 +1689,8 @@ textual parts.")
 (defun nnimap-new-articles (flags)
   (let (new)
     (dolist (elem flags)
-      (when (or (null (cdr elem))
-               (and (not (memq '%Deleted (cdr elem)))
-                    (not (memq '%Seen (cdr elem)))))
+      (unless (gnus-list-memq-of-list nnimap-unsplittable-articles
+                                     (cdr elem))
        (push (car elem) new)))
     (gnus-compress-sequence (nreverse new))))