(elmo-shimbun-folder-shimbun-internal folder)
(elmo-shimbun-folder-group-internal folder))
(let ((inhibit-quit t))
- (unless (elmo-map-folder-location-alist-internal folder)
- (elmo-map-folder-location-setup
+ (unless (elmo-location-map-alist folder)
+ (elmo-location-map-setup
folder
(elmo-msgdb-location-load (elmo-folder-msgdb-path folder))))
(when (and (elmo-folder-plugged-p folder)
(elmo-shimbun-headers-check-p folder))
(elmo-shimbun-get-headers folder)
- (elmo-map-folder-update-locations
+ (elmo-location-map-update
folder
(elmo-map-folder-list-message-locations folder))))))
(luna-define-method elmo-folder-msgdb-create ((folder elmo-shimbun-folder)
numlist flag-table)
(let ((new-msgdb (elmo-make-msgdb))
- entity i percent length msgid flags)
- (setq length (length numlist))
- (setq i 0)
- (message "Creating msgdb...")
- (while numlist
- (setq entity
- (elmo-shimbun-msgdb-create-entity
- folder (car numlist)))
- (when entity
- (setq msgid (elmo-message-entity-field entity 'message-id)
- flags (elmo-flag-table-get flag-table msgid))
- (elmo-global-flags-set flags folder (car numlist) msgid)
- (elmo-msgdb-append-entity new-msgdb entity flags))
- (when (> length elmo-display-progress-threshold)
- (setq i (1+ i))
- (setq percent (/ (* i 100) length))
- (elmo-display-progress
- 'elmo-folder-msgdb-create "Creating msgdb..."
- percent))
- (setq numlist (cdr numlist)))
- (message "Creating msgdb...done")
- (elmo-msgdb-sort-by-date new-msgdb)))
+ entity msgid flags)
+ (elmo-with-progress-display (elmo-folder-msgdb-create (length numlist))
+ "Creating msgdb"
+ (dolist (number numlist)
+ (setq entity (elmo-shimbun-msgdb-create-entity folder number))
+ (when entity
+ (setq msgid (elmo-message-entity-field entity 'message-id)
+ flags (elmo-flag-table-get flag-table msgid))
+ (elmo-global-flags-set flags folder number msgid)
+ (elmo-msgdb-append-entity new-msgdb entity flags))
+ (elmo-progress-notify 'elmo-folder-msgdb-create)))
+ new-msgdb))
(luna-define-method elmo-folder-message-file-p ((folder elmo-shimbun-folder))
nil)
-(defsubst elmo-shimbun-update-overview (folder shimbun-id header)
- (let ((entity (elmo-message-entity folder shimbun-id))
- (message-id (shimbun-header-id header))
+(defsubst elmo-shimbun-update-overview (folder entity shimbun-id header)
+ (let ((message-id (shimbun-header-id header))
references)
(when (elmo-msgdb-update-entity
(elmo-folder-msgdb folder)
(elmo-string-match-member
(elmo-folder-name-internal folder)
elmo-shimbun-update-overview-folder-list))
- (elmo-shimbun-update-overview folder location header))
+ (let ((entity (elmo-message-entity folder location)))
+ (when entity
+ (elmo-shimbun-update-overview folder entity location header))))
(when (setq shimbun-id
(elmo-shimbun-header-extra-field header "x-shimbun-id"))
(goto-char (point-min))
(setq folders
(append folders
(mapcar
- (lambda (fld) (concat prefix server "." fld))
+ (lambda (group) (concat prefix server "." group))
(shimbun-groups
- (shimbun-open server
- (let ((fld
- (elmo-make-folder
- (concat prefix server))))
- (luna-make-entity
- 'shimbun-elmo-mua
- :folder fld))))))))
+ (elmo-shimbun-folder-shimbun-internal
+ (elmo-get-folder (concat prefix server))))))))
folders)))))
(luna-define-method elmo-folder-exists-p ((folder elmo-shimbun-folder))