X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo-localdir.el;h=01993db15864fb37bc31048b4377a13f4acc7007;hb=a01aaec6aa584e26e79bca5e17bddf13893918a6;hp=32e012574194cd68b0fbdc58f5aa0274bd500e97;hpb=d9e2a1d256315bb9d148e2d1996f0c8c693d1d84;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-localdir.el b/elmo/elmo-localdir.el index 32e0125..01993db 100644 --- a/elmo/elmo-localdir.el +++ b/elmo/elmo-localdir.el @@ -138,9 +138,9 @@ (incf cur-number)) temp-dir)) -(defun elmo-localdir-msgdb-create-entity (dir number) - (elmo-msgdb-create-overview-entity-from-file - number (expand-file-name (int-to-string number) dir))) +(defun elmo-localdir-msgdb-create-entity (msgdb dir number) + (elmo-msgdb-create-message-entity-from-file + msgdb number (expand-file-name (int-to-string number) dir))) (luna-define-method elmo-folder-msgdb-create ((folder elmo-localdir-folder) numbers @@ -149,19 +149,19 @@ (let ((dir (elmo-localdir-folder-directory-internal folder)) (new-msgdb (elmo-make-msgdb)) entity message-id + flags (i 0) (len (length numbers))) (message "Creating msgdb...") (while numbers (setq entity (elmo-localdir-msgdb-create-entity - dir (car numbers))) + new-msgdb dir (car numbers))) (when entity - (setq message-id (elmo-msgdb-overview-entity-get-id entity)) - (elmo-msgdb-append-entity - new-msgdb - entity - (elmo-flag-table-get flag-table message-id))) + (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 @@ -326,7 +326,7 @@ (luna-define-method elmo-folder-pack-numbers ((folder elmo-localdir-folder)) (let* ((dir (elmo-localdir-folder-directory-internal folder)) (msgdb (elmo-folder-msgdb folder)) - (new-msgdb (elmo-make-msgdb)) + (new-msgdb (elmo-make-msgdb (elmo-folder-msgdb-path folder))) (numbers (sort (elmo-folder-list-messages folder nil @@ -334,7 +334,6 @@ '<)) (new-number 1) ; first ordinal position in localdir total entity) - (elmo-msgdb-set-path new-msgdb (elmo-folder-msgdb-path folder)) (setq total (length numbers)) (elmo-with-progress-display (> total elmo-display-progress-threshold) (elmo-folder-pack-numbers total "Packing...") @@ -346,7 +345,7 @@ ;; xxx nfs,hardlink (rename-file (int-to-string old-number) (int-to-string new-number) t)) - (elmo-msgdb-overview-entity-set-number entity new-number)) + (elmo-message-entity-set-number entity new-number)) (elmo-msgdb-append-entity new-msgdb entity (elmo-msgdb-flags msgdb old-number)) (setq new-number (1+ new-number)))) @@ -371,6 +370,8 @@ (throw 'found t)) (setq lock (cdr lock))))))) +(autoload 'elmo-global-flags-set "elmo-flag") + (require 'product) (product-provide (provide 'elmo-localdir) (require 'elmo-version))