* elmo-msgdb.el (elmo-msgdb-flag-table): Fixed problem when
authorhmurata <hmurata>
Fri, 7 Nov 2003 15:32:06 +0000 (15:32 +0000)
committerhmurata <hmurata>
Fri, 7 Nov 2003 15:32:06 +0000 (15:32 +0000)
message-id is nil.
(Reported by MAKINO Takashi <makino@digitalway.co.jp>)

* modb-entity.el (elmo-message-entity-handler): Likewise.

elmo/ChangeLog
elmo/elmo-msgdb.el
elmo/modb-entity.el

index ea776ac..282a9ce 100644 (file)
@@ -1,3 +1,11 @@
+2003-11-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-msgdb-flag-table): Fixed problem when
+       message-id is nil.
+       (Reported by MAKINO Takashi <makino@digitalway.co.jp>)
+
+       * modb-entity.el (elmo-message-entity-handler): Likewise.
+
 2003-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo.el (toplevel): Remove setting of autoloding for
index 6eddd2d..238a08e 100644 (file)
@@ -234,13 +234,14 @@ VALUE is the field value (raw)."
   ;; Make a table of msgid flag (read, answered)
   (let ((flag-table (or flag-table
                        (elmo-make-hash (elmo-msgdb-length msgdb))))
-       entity)
+       msg-id)
     (dolist (number (elmo-msgdb-list-messages msgdb))
-      (setq entity (elmo-msgdb-message-entity msgdb number))
-      (elmo-flag-table-set
-       flag-table
-       (elmo-message-entity-field entity 'message-id)
-       (elmo-msgdb-flags msgdb number)))
+      (when (setq msg-id (elmo-message-entity-field
+                         (elmo-msgdb-message-entity msgdb number)
+                         'message-id))
+       (elmo-flag-table-set flag-table
+                            msg-id
+                            (elmo-msgdb-flags msgdb number))))
     flag-table))
 
 (defun elmo-multiple-fields-body-list (field-names &optional boundary)
index b44cc02..de20c92 100644 (file)
@@ -48,6 +48,7 @@
 (defun elmo-message-entity-handler (&optional entity)
   "Get modb entity handler instance which corresponds to the ENTITY."
   (if (and entity
+          (car-safe entity)
           (not (stringp (car entity))))
       (car entity)
     (or modb-entity-default-cache-internal