- (elmo-folder-search (elmo-filter-folder-target-internal folder)
- (elmo-filter-folder-condition-internal folder)))
-
-(defsubst elmo-filter-folder-list-unreads-internal (folder unread-marks
- mark-alist)
- (let ((unreads (elmo-folder-list-unreads-internal
- (elmo-filter-folder-target-internal folder)
- unread-marks mark-alist)))
- (unless (listp unreads)
- (setq unreads
- (delq nil
- (mapcar
- (function
- (lambda (x)
- (if (member (cadr x) unread-marks)
- (car x))))
- (elmo-msgdb-get-mark-alist (elmo-folder-msgdb folder))))))
- (elmo-list-filter
- (mapcar 'car (elmo-msgdb-get-number-alist
- (elmo-folder-msgdb folder)))
- unreads)))
-
-(luna-define-method elmo-folder-list-unreads-internal
- ((folder elmo-filter-folder)
- unread-marks &optional mark-alist)
- (elmo-filter-folder-list-unreads-internal folder unread-marks mark-alist))
-
-(defsubst elmo-filter-folder-list-importants-internal (folder important-mark)
- (let ((importants (elmo-folder-list-importants-internal
- (elmo-filter-folder-target-internal folder)
- important-mark)))
- (if (listp importants)
- (elmo-list-filter
- (mapcar 'car (elmo-msgdb-get-number-alist
- (elmo-folder-msgdb folder)))
- importants)
+ (let ((target (elmo-filter-folder-target-internal folder)))
+ (if (or (elmo-folder-plugged-p target)
+ (not (elmo-folder-persistent-p folder)))
+ ;; search target folder
+ (elmo-folder-search
+ target
+ (elmo-filter-folder-condition-internal folder))
+ ;; not available