* elmo-archive.el (elmo-archive-field-condition-match)
[elisp/wanderlust.git] / elmo / modb-legacy.el
index 5165218..aea1c59 100644 (file)
@@ -519,25 +519,26 @@ Return a list of message numbers which have duplicated message-ids."
     (let ((number (elmo-msgdb-overview-entity-get-number-internal entity))
          (message-id (elmo-msgdb-overview-entity-get-id-internal entity))
          mark cell)
-      (elmo-msgdb-set-overview
-       msgdb
-       (nconc (elmo-msgdb-get-overview msgdb)
-             (list entity)))
-      (elmo-msgdb-set-number-alist
-       msgdb
-       (nconc (elmo-msgdb-get-number-alist msgdb)
-             (list (cons number message-id))))
-      (modb-generic-set-message-modified-internal msgdb t)
-      (when (setq mark (modb-legacy-flags-to-mark flags))
-       (setq cell (list number mark))
-       (elmo-msgdb-set-mark-alist
+      (when (and number message-id)
+       (elmo-msgdb-set-overview
         msgdb
-        (nconc (elmo-msgdb-get-mark-alist msgdb) (list cell)))
-       (modb-generic-set-flag-modified-internal msgdb t))
-      (elmo-msgdb-make-index
-       msgdb
-       (list entity)
-       (and cell (list cell))))))
+        (nconc (elmo-msgdb-get-overview msgdb)
+               (list entity)))
+       (elmo-msgdb-set-number-alist
+        msgdb
+        (nconc (elmo-msgdb-get-number-alist msgdb)
+               (list (cons number message-id))))
+       (modb-generic-set-message-modified-internal msgdb t)
+       (when (setq mark (modb-legacy-flags-to-mark flags))
+         (setq cell (list number mark))
+         (elmo-msgdb-set-mark-alist
+          msgdb
+          (nconc (elmo-msgdb-get-mark-alist msgdb) (list cell)))
+         (modb-generic-set-flag-modified-internal msgdb t))
+       (elmo-msgdb-make-index
+        msgdb
+        (list entity)
+        (and cell (list cell)))))))
 
 (luna-define-method elmo-msgdb-delete-messages ((msgdb modb-legacy)
                                                numbers)