+(defsubst elmo-shimbun-update-overview (folder shimbun-id header)
+ (let ((entity (elmo-msgdb-overview-get-entity shimbun-id
+ (elmo-folder-msgdb folder)))
+ (message-id (shimbun-header-id header))
+ references)
+ (unless (string= shimbun-id message-id)
+ (elmo-msgdb-overview-entity-set-extra-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
+ header
+ (elmo-shimbun-folder-header-hash-internal folder)))
+ (elmo-msgdb-overview-entity-set-from
+ entity
+ (elmo-mime-string (shimbun-header-from header)))
+ (elmo-msgdb-overview-entity-set-subject
+ entity
+ (elmo-mime-string (shimbun-header-subject header)))
+ (elmo-msgdb-overview-entity-set-date
+ entity (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-msgdb-overview-entity-set-references
+ entity
+ (or (elmo-shimbun-header-extra-field
+ (elmo-get-hash-val references
+ (elmo-shimbun-folder-header-hash-internal
+ folder))
+ "x-shimbun-id")
+ references)))))
+