(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
(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
(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
'<))
(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...")
;; 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))))
(throw 'found t))
(setq lock (cdr lock)))))))
+(autoload 'elmo-global-flags-set "elmo-flag")
+
(require 'product)
(product-provide (provide 'elmo-localdir) (require 'elmo-version))