(elmo-map-message-location folder number)))
(luna-define-method elmo-folder-msgdb-create ((folder elmo-sendlog-folder)
- numbers seen-list)
+ numbers flag-table)
(let ((i 0)
(len (length numbers))
- overview number-alist mark-alist entity message-id
- num mark)
+ (new-msgdb (elmo-make-msgdb))
+ entity message-id flags)
(message "Creating msgdb...")
(while numbers
(setq entity
(nconc
(elmo-folder-killed-list-internal folder)
(list (car numbers))))
- (setq num (elmo-msgdb-overview-entity-get-number entity))
- (setq overview
- (elmo-msgdb-append-element
- overview entity))
- (setq message-id (elmo-msgdb-overview-entity-get-id entity))
- (setq number-alist
- (elmo-msgdb-number-add number-alist
- num
- message-id))
- (if (setq mark (or (elmo-msgdb-global-mark-get message-id)
- (if (member message-id seen-list) nil
- elmo-msgdb-new-mark)))
- (setq mark-alist
- (elmo-msgdb-mark-append
- mark-alist
- num mark)))
- (when (> len elmo-display-progress-threshold)
- (setq i (1+ i))
- (elmo-display-progress
- 'elmo-sendlog-folder-msgdb-create "Creating msgdb..."
- (/ (* i 100) len))))
+ (setq message-id (elmo-msgdb-overview-entity-get-id entity)
+ 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-sendlog-folder-msgdb-create "Creating msgdb..."
+ (/ (* i 100) len)))
(setq numbers (cdr numbers)))
(message "Creating msgdb...done")
- (list overview number-alist mark-alist)))
+ new-msgdb))
(luna-define-method elmo-message-fetch-with-cache-process
((folder elmo-sendlog-folder) number strategy &optional section unseen)