* wl-summary.el (wl-summary-line-subject): Decode.
[elisp/wanderlust.git] / elmo / elmo-mime.el
index feb5f42..baa2eb0 100644 (file)
@@ -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