(elmo-folder-append-buffer): change name of argument flag -> flags
[elisp/wanderlust.git] / elmo / elmo-cache.el
index efc7042..7ea9ae7 100644 (file)
@@ -75,7 +75,7 @@
                                     "cache/"
                                     (file-name-nondirectory f))))
             (directory-files (elmo-cache-folder-directory-internal folder)
-                             t "^[^.].*+"))))
+                             t "^[01][0-9A-F]$"))))
 
 (luna-define-method elmo-folder-message-file-p ((folder elmo-cache-folder))
   t)
   (let ((i 0)
        (len (length numbers))
        (new-msgdb (elmo-make-msgdb))
-       entity message-id mark)
+       entity message-id flags)
     (message "Creating msgdb...")
     (while numbers
       (setq entity
-           (elmo-msgdb-create-overview-entity-from-file
+           (elmo-msgdb-create-message-entity-from-file
+            (elmo-msgdb-message-entity-handler new-msgdb)
             (car numbers) (elmo-message-file-name folder (car numbers))))
       (when entity
-       (setq message-id (elmo-msgdb-overview-entity-get-id entity))
-       (setq mark (or (elmo-msgdb-global-mark-get message-id)
-                      (elmo-msgdb-mark
-                       (elmo-flag-table-get flag-table message-id)
-                       (elmo-file-cache-status
-                        (elmo-file-cache-get message-id))
-                       'new)))
-       (elmo-msgdb-append-entity new-msgdb entity mark))
+       (setq message-id (elmo-message-entity-field entity 'message-id)
+             flags (elmo-flag-table-get flag-table message-id))
+       (elmo-global-flags-set flags folder (car numbers) message-id)
+       (elmo-msgdb-append-entity new-msgdb entity flags))
       (when (> len elmo-display-progress-threshold)
        (setq i (1+ i))
        (elmo-display-progress
     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)