+(defsubst elmo-shimbun-update-overview (folder shimbun-id header)
+ (let ((entity (elmo-message-entity folder shimbun-id))
+ (message-id (shimbun-header-id header))
+ references)
+ (unless (string= shimbun-id message-id)
+ (elmo-message-entity-set-field
+ entity 'x-original-id message-id)
+ (elmo-shimbun-header-set-extra-field
+ header "x-shimbun-id" shimbun-id)
+ (elmo-set-hash-val message-id
+ entity
+ (elmo-shimbun-folder-entity-hash folder))
+ (elmo-set-hash-val shimbun-id
+ entity
+ (elmo-shimbun-folder-entity-hash folder)))
+ (elmo-message-entity-set-field
+ entity
+ 'from
+ (elmo-mime-string (shimbun-header-from header)))
+ (elmo-message-entity-set-field
+ entity
+ 'subject
+ (elmo-mime-string (shimbun-header-subject header)))
+ (elmo-message-entity-set-field
+ entity
+ 'date
+ (shimbun-header-date header))
+ (when (setq references
+ (or (elmo-msgdb-get-last-message-id
+ (elmo-field-body "in-reply-to"))
+ (elmo-msgdb-get-last-message-id
+ (elmo-field-body "references"))))
+ (elmo-message-entity-set-field
+ entity
+ 'references
+ (or (elmo-message-entity-field
+ (elmo-get-hash-val
+ references
+ (elmo-shimbun-folder-entity-hash folder))
+ 'message-id)
+ references)))))
+