(luna-define-method elmo-folder-status ((folder elmo-map-folder))
(elmo-folder-open-internal folder)
- (prog1
- (let ((numbers (mapcar
- 'car
- (elmo-map-folder-location-alist-internal folder))))
+ (elmo-folder-set-killed-list-internal
+ folder
+ (elmo-msgdb-killed-list-load (elmo-folder-msgdb-path folder)))
+ (let ((numbers (mapcar
+ 'car
+ (elmo-map-folder-location-alist-internal folder))))
+ (setq numbers (elmo-living-messages numbers (elmo-folder-killed-list-internal folder)))
+ (prog1
(cons (elmo-max-of-list numbers)
- (length numbers)))
- ;; Don't close after status.
- (unless (elmo-folder-reserve-status-p folder)
- (elmo-folder-close-internal folder))))
+ (length numbers))
+ ;; Don't close after status.
+ (unless (elmo-folder-reserve-status-p folder)
+ (elmo-folder-close-internal folder)))))
(defun elmo-map-message-number (folder location)
"Return number of the message in the FOLDER with LOCATION."
(elmo-map-folder-location-setup folder (nreverse location))
(elmo-folder-set-msgdb-internal
folder
- (list overview
- (nreverse number-alist)
- (nreverse mark-alist)
- (elmo-msgdb-make-overview-hashtb overview)))))
+ (elmo-make-msgdb overview
+ (nreverse number-alist)
+ (nreverse mark-alist)))))
(defun elmo-map-folder-location-setup (folder locations)
(elmo-map-folder-set-location-alist-internal