(elmo-folder-append-buffer): change name of argument flag -> flags
[elisp/wanderlust.git] / elmo / elmo-cache.el
index 592bc62..7ea9ae7 100644 (file)
@@ -75,7 +75,7 @@
                                     "cache/"
                                     (file-name-nondirectory f))))
             (directory-files (elmo-cache-folder-directory-internal folder)
-                             t "^[0-9A-F][0-9A-F]$"))))
+                             t "^[01][0-9A-F]$"))))
 
 (luna-define-method elmo-folder-message-file-p ((folder elmo-cache-folder))
   t)
     new-msgdb))
 
 (luna-define-method elmo-folder-append-buffer ((folder elmo-cache-folder)
-                                              &optional flag number)
+                                              &optional flags number)
   ;; dir-name is changed according to msgid.
   (unless (elmo-cache-folder-dir-name-internal folder)
-    (let* ((file (elmo-file-cache-get-path (std11-field-body "message-id")))
-          (dir (directory-file-name (file-name-directory file))))
-      (unless (file-exists-p dir)
-       (elmo-make-directory dir))
-      (when (file-writable-p file)
-       (write-region-as-binary
-        (point-min) (point-max) file nil 'no-msg))))
-  t)
+    (let ((msgid (std11-field-body "message-id"))
+         file dir)
+      (when msgid
+       (setq file (elmo-file-cache-get-path msgid))
+       (setq dir (directory-file-name (file-name-directory file)))
+       (unless (file-exists-p dir)
+         (elmo-make-directory dir))
+       (when (and (file-writable-p file)
+                  (not (file-exists-p file)))
+         (write-region-as-binary
+          (point-min) (point-max) file nil 'no-msg)
+         t)))))
 
 (luna-define-method elmo-map-folder-delete-messages ((folder elmo-cache-folder)
                                                     locations)