-(luna-define-method elmo-folder-mark-as-read :around ((folder
- elmo-filter-folder)
- numbers
- &optional ignore-flag)
- (elmo-folder-mark-as-read (elmo-filter-folder-target-internal folder)
- numbers ignore-flag)
- (luna-call-next-method))
-
-(luna-define-method elmo-folder-unmark-read :around ((folder
- elmo-filter-folder)
- numbers
- &optional ignore-flag)
- (elmo-folder-unmark-read (elmo-filter-folder-target-internal folder)
- numbers ignore-flag)
- (luna-call-next-method))
-
-(luna-define-method elmo-folder-mark-as-important :around ((folder
- elmo-filter-folder)
- numbers
- &optional
- ignore-flag)
- (elmo-folder-mark-as-important (elmo-filter-folder-target-internal folder)
- numbers ignore-flag)
- (luna-call-next-method))
-
-(luna-define-method elmo-folder-unmark-important :around ((folder
- elmo-filter-folder)
- numbers
- &optional
- ignore-flag)
- (elmo-folder-unmark-important (elmo-filter-folder-target-internal folder)
- numbers ignore-flag)
- (luna-call-next-method))
-
-(luna-define-method elmo-folder-mark-as-answered :around ((folder
- elmo-filter-folder)
- numbers)
- (elmo-folder-mark-as-answered (elmo-filter-folder-target-internal folder)
- numbers)
- (luna-call-next-method))
-
-
-(luna-define-method elmo-folder-unmark-answered :around ((folder
- elmo-filter-folder)
- numbers)
- (elmo-folder-unmark-answered (elmo-filter-folder-target-internal folder)
- numbers)
- (luna-call-next-method))
+(luna-define-method elmo-message-flag-available-p ((folder
+ elmo-filter-folder) number
+ flag)
+ (elmo-message-flag-available-p
+ (elmo-filter-folder-target-internal folder)
+ number flag))
+
+(luna-define-method elmo-message-flags ((folder elmo-filter-folder) number)
+ (elmo-message-flags (elmo-filter-folder-target-internal folder)
+ number))
+
+(luna-define-method elmo-message-set-cached ((folder elmo-filter-folder)
+ number cached)
+ (elmo-message-set-cached
+ (elmo-filter-folder-target-internal folder) number cached))
+
+(luna-define-method elmo-message-number ((folder elmo-filter-folder)
+ message-id)
+ (elmo-message-number (elmo-filter-folder-target-internal folder)
+ message-id))
+
+(luna-define-method elmo-message-entity ((folder elmo-filter-folder) key)
+ (elmo-message-entity (elmo-filter-folder-target-internal folder) key))
+
+(luna-define-method elmo-message-entity-parent ((folder elmo-filter-folder)
+ entity)
+ (let ((parent (elmo-message-entity-parent
+ (elmo-filter-folder-target-internal folder)
+ entity)))
+ (when (memq (elmo-message-entity-number parent)
+ (elmo-filter-folder-number-list folder))
+ parent)))
+
+(luna-define-method elmo-folder-flag-table ((folder elmo-filter-folder)
+ &optional if-exists)
+ (elmo-folder-flag-table (elmo-filter-folder-target-internal folder)
+ if-exists))
+
+(luna-define-method elmo-folder-close-flag-table ((folder elmo-filter-folder))
+ (elmo-folder-close-flag-table (elmo-filter-folder-target-internal folder)))
+
+(luna-define-method elmo-folder-count-flags ((folder elmo-filter-folder))
+ (elmo-filter-folder-flag-count folder))
+
+(luna-define-method elmo-folder-set-flag ((folder elmo-filter-folder)
+ numbers
+ flag
+ &optional is-local)
+ (elmo-folder-set-flag (elmo-filter-folder-target-internal folder)
+ numbers flag is-local))
+
+(luna-define-method elmo-folder-unset-flag ((folder elmo-filter-folder)
+ numbers
+ flag
+ &optional is-local)
+ (elmo-folder-unset-flag (elmo-filter-folder-target-internal folder)
+ numbers flag is-local))
+
+(luna-define-method elmo-message-folder ((folder elmo-filter-folder)
+ number)
+ (elmo-message-folder (elmo-filter-folder-target-internal folder) number))
+
+(luna-define-method elmo-message-field ((folder elmo-filter-folder)
+ number field)
+ (elmo-message-field
+ (elmo-filter-folder-target-internal folder) number field))
+
+(luna-define-method elmo-message-set-field ((folder elmo-filter-folder)
+ number field value)
+ (elmo-message-set-field
+ (elmo-filter-folder-target-internal folder) number field value))
+
+(luna-define-method elmo-folder-clear ((folder elmo-filter-folder)
+ &optional keep-killed)
+ (unless keep-killed
+ (elmo-folder-set-killed-list-internal folder nil))
+ (elmo-filter-folder-set-number-list-internal folder nil)
+ (elmo-filter-folder-set-flag-count-internal folder nil))
+
+(luna-define-method elmo-folder-synchronize ((folder elmo-filter-folder)
+ &optional
+ disable-killed
+ ignore-msgdb
+ no-check
+ mask)
+ (let ((killed-list (elmo-folder-killed-list-internal folder))
+ numbers)
+ (unless no-check
+ (when (elmo-filter-folder-require-msgdb-internal folder)
+ (elmo-folder-synchronize (elmo-filter-folder-target-internal folder)
+ disable-killed
+ ignore-msgdb
+ no-check
+ mask)))
+ (setq numbers (elmo-folder-list-messages folder (not disable-killed)))
+ (when (and numbers
+ (not (elmo-filter-folder-require-msgdb-internal folder)))
+ (elmo-folder-synchronize (elmo-filter-folder-target-internal folder)
+ 'disable-killed
+ ignore-msgdb
+ no-check
+ (if mask
+ (elmo-list-filter mask numbers)
+ numbers)))
+ (when (and disable-killed ignore-msgdb)
+ (elmo-folder-set-killed-list-internal folder nil))
+ (elmo-filter-folder-set-number-list-internal folder numbers)
+ (elmo-filter-folder-set-flag-count-internal folder nil)
+ 0))
+
+(luna-define-method elmo-folder-detach-messages ((folder elmo-filter-folder)
+ numbers)
+ (elmo-filter-folder-countup-message-flags folder numbers -1)
+ (elmo-filter-folder-set-number-list-internal
+ folder
+ (elmo-list-delete numbers (elmo-filter-folder-number-list folder) #'delq))
+ t)
+
+(luna-define-method elmo-folder-length ((folder elmo-filter-folder))
+ (length (elmo-filter-folder-number-list-internal folder)))