X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo-mime.el;h=baa2eb0f39c2980d010f486bab583a5b2041c1f8;hb=5cf2b467d42522d5a3da47db8d9851f521ba8c10;hp=feb5f420370f128646baac6d5f073471ae732228;hpb=b7c5891531a0e381fb625601b1cbf0e59721fa6c;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-mime.el b/elmo/elmo-mime.el index feb5f42..baa2eb0 100644 --- a/elmo/elmo-mime.el +++ b/elmo/elmo-mime.el @@ -224,9 +224,11 @@ Return non-nil if not entire message was fetched." (let (mime-display-header-hook ; Do nothing. (elmo-message-displaying t) entity strategy) - (setq entity (elmo-message-entity folder number)) - (setq strategy (elmo-find-fetch-strategy folder entity - ignore-cache)) + (unless (zerop (elmo-folder-length folder)) + (setq entity (elmo-message-entity folder number))) + (setq strategy (if entity (elmo-find-fetch-strategy folder entity + ignore-cache) + (elmo-make-fetch-strategy 'entire))) (mime-display-message (mime-open-entity (if (and strategy @@ -252,25 +254,26 @@ If optional argument IGNORE-CACHE is specified, existing cache is ignored. If second optional argument UNREAD is specified, message is displayed but keep it as unread. Return non-nil if cache is used." - (let ((entity (elmo-msgdb-overview-get-entity number - (elmo-folder-msgdb folder))) + (let ((entity (elmo-msgdb-message-entity (elmo-folder-msgdb folder) number)) mime-display-header-hook ; Do nothing. cache-file strategy use-cache) - (setq cache-file (elmo-file-cache-get - (elmo-msgdb-overview-entity-get-id entity))) - (setq use-cache (and (elmo-message-use-cache-p folder number) - (eq (elmo-file-cache-status cache-file) 'entire))) + (when entity + (setq cache-file (elmo-file-cache-get + (elmo-message-entity-field entity 'message-id))) + (setq use-cache (and (elmo-message-use-cache-p folder number) + (eq (elmo-file-cache-status cache-file) 'entire)))) (setq strategy (elmo-make-fetch-strategy - 'entire use-cache (elmo-message-use-cache-p folder number) - (elmo-file-cache-path - cache-file))) + 'entire use-cache + (elmo-message-use-cache-p folder number) + (elmo-file-cache-path cache-file))) (elmo-mime-display-as-is-internal (mime-open-entity 'elmo-buffer (elmo-make-mime-message-location folder number strategy rawbuf unread)) viewbuf nil keymap original-mode) - (elmo-fetch-strategy-use-cache strategy))) + (when strategy + (elmo-fetch-strategy-use-cache strategy)))) ;; Replacement of mime-display-message. (defun elmo-mime-display-as-is-internal (message