X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo-cache.el;h=37f506cda8af1a231f106915af9dd72b7e2bab66;hb=93025ed9d6792ef40793910e2a2b7ac46029b5cb;hp=5db0fd9eeefff37362492eaf1307b62ac4e4aa25;hpb=c869501fc881f10421f2192f1499153de31771a1;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-cache.el b/elmo/elmo-cache.el index 5db0fd9..37f506c 100644 --- a/elmo/elmo-cache.el +++ b/elmo/elmo-cache.el @@ -89,28 +89,22 @@ (luna-define-method elmo-folder-msgdb-create ((folder elmo-cache-folder) numbers flag-table) - (let ((i 0) - (len (length numbers)) - (new-msgdb (elmo-make-msgdb)) + (let ((new-msgdb (elmo-make-msgdb)) entity message-id flags) - (message "Creating msgdb...") - (while numbers - (setq entity - (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-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 - 'elmo-cache-folder-msgdb-create "Creating msgdb..." - (/ (* i 100) len))) - (setq numbers (cdr numbers))) - (message "Creating msgdb...done") + (elmo-with-progress-display (elmo-folder-msgdb-create (length numbers)) + "Creating msgdb" + (dolist (number numbers) + (setq entity + (elmo-msgdb-create-message-entity-from-file + (elmo-msgdb-message-entity-handler new-msgdb) + number + (elmo-message-file-name folder number))) + (when entity + (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 number message-id) + (elmo-msgdb-append-entity new-msgdb entity flags)) + (elmo-progress-notify 'elmo-folder-msgdb-create))) new-msgdb)) (luna-define-method elmo-folder-append-buffer ((folder elmo-cache-folder)