strategy
&optional
section
- outbuf unseen)
+ unseen)
"")
(luna-define-generic elmo-map-folder-list-unreads (folder)
(luna-define-generic elmo-map-folder-list-importants (folder)
"")
+(luna-define-method elmo-map-folder-list-importants ((folder elmo-map-folder))
+ t)
+
(luna-define-generic elmo-map-folder-delete-messages (folder locations)
"")
(elmo-map-folder-location-alist-internal folder))))
(cons (elmo-max-of-list numbers)
(length numbers)))
- ;; No save.
- (elmo-folder-close-internal folder)))
+ ;; 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-hash-internal
folder)))
location-alist))
- (elmo-clear-hash-val (concat "#" (int-to-string (car pair)))
- (elmo-map-folder-location-hash-internal
- folder))
- (elmo-clear-hash-val location
- (elmo-map-folder-location-hash-internal
- folder)))
+ (when pair
+ (elmo-clear-hash-val (concat "#" (int-to-string (car pair)))
+ (elmo-map-folder-location-hash-internal
+ folder))
+ (elmo-clear-hash-val location
+ (elmo-map-folder-location-hash-internal
+ folder))))
(setq i (elmo-map-folder-number-max-internal folder))
(dolist (location new-locs)
(setq i (1+ i))
(elmo-map-folder-location-setup
folder
(elmo-msgdb-location-load (elmo-folder-msgdb-path folder)))
- (elmo-map-folder-update-locations
- folder
- (elmo-map-folder-list-message-locations folder)))
+ (if (elmo-folder-plugged-p folder)
+ (elmo-map-folder-update-locations
+ folder
+ (elmo-map-folder-list-message-locations folder))))
(luna-define-method elmo-folder-commit :after ((folder elmo-map-folder))
(when (elmo-folder-persistent-p folder)
folder
(elmo-map-folder-numbers-to-locations folder numbers)))
-(luna-define-method elmo-message-fetch ((folder elmo-map-folder) number
- strategy section outbuf unread)
+(luna-define-method elmo-message-fetch-internal ((folder elmo-map-folder)
+ number strategy
+ &optional section unread)
(elmo-map-message-fetch
folder
(elmo-map-message-location folder number)
- strategy section outbuf unread))
+ strategy section unread))
(luna-define-method elmo-folder-list-unreads-internal
((folder elmo-map-folder) unread-marks &optional mark-alist)
(luna-define-method elmo-folder-list-importants-internal
((folder elmo-map-folder) important-mark)
- (elmo-map-folder-locations-to-numbers
- folder
- (elmo-map-folder-list-importants folder)))
+ (let ((locations (elmo-map-folder-list-importants folder)))
+ (if (listp locations)
+ (elmo-map-folder-locations-to-numbers folder locations)
+ t)))
(luna-define-method elmo-folder-delete-messages ((folder elmo-map-folder)
numbers)