(elmo-folder-mark-as-read): Follow the API change.
* elmo-pipe.el (elmo-folder-mark-as-read): Follow the API change.
* elmo-nntp.el (elmo-folder-mark-as-read): Set :before qualifier.
* elmo-net.el (elmo-folder-unmark-important): Set :before qualifier.
(elmo-folder-mark-as-important): Ditto.
(elmo-folder-unmark-read): Ditto.
(elmo-folder-mark-as-read): Ditto.
(elmo-folder-unmark-answered): Ditto.
(elmo-folder-mark-as-answered): Ditto.
* elmo-multi.el (elmo-folder-mark-as-important): Set :before qualifier.
(elmo-folder-unmark-important): Ditto.
(elmo-folder-mark-as-read): Ditto.
(elmo-folder-unmark-read): Ditto.
(elmo-folder-mark-as-answered): Ditto.
(elmo-folder-unmark-answered): Ditto.
* elmo-mark.el (toplevel): Removed some mark method definitions.
* elmo-map.el (elmo-map-folder-unmark-answered): New method.
(elmo-map-folder-mark-as-answered): Ditto.
(elmo-folder-unmark-important): Add :before qualifier.
(elmo-folder-mark-as-important): Ditto.
(elmo-folder-unmark-read): Ditto.
(elmo-folder-mark-as-read): Ditto.
(elmo-folder-unmark-answered): Define.
(elmo-folder-mark-as-answered): Ditto.
* elmo-maildir.el (elmo-map-folder-mark-as-answered): Define.
(elmo-map-folder-unmark-answered): Ditto.
* elmo-filter.el (elmo-folder-mark-as-read): Follow the API change.
2002-09-17 Yuuichi Teranishi <teranisi@gohome.org>
+ * elmo.el (elmo-folder-mark-as-read): Added argument `ignore-flag'.
+ (elmo-folder-mark-as-read): Follow the API change.
+
+ * elmo-pipe.el (elmo-folder-mark-as-read): Follow the API change.
+
+ * elmo-nntp.el (elmo-folder-mark-as-read): Set :before qualifier.
+
+ * elmo-net.el (elmo-folder-unmark-important): Set :before qualifier.
+ (elmo-folder-mark-as-important): Ditto.
+ (elmo-folder-unmark-read): Ditto.
+ (elmo-folder-mark-as-read): Ditto.
+ (elmo-folder-unmark-answered): Ditto.
+ (elmo-folder-mark-as-answered): Ditto.
+
+ * elmo-multi.el (elmo-folder-mark-as-important): Set :before qualifier.
+ (elmo-folder-unmark-important): Ditto.
+ (elmo-folder-mark-as-read): Ditto.
+ (elmo-folder-unmark-read): Ditto.
+ (elmo-folder-mark-as-answered): Ditto.
+ (elmo-folder-unmark-answered): Ditto.
+
+ * elmo-mark.el (toplevel): Removed some mark method definitions.
+
+ * elmo-map.el (elmo-map-folder-unmark-answered): New method.
+ (elmo-map-folder-mark-as-answered): Ditto.
+ (elmo-folder-unmark-important): Add :before qualifier.
+ (elmo-folder-mark-as-important): Ditto.
+ (elmo-folder-unmark-read): Ditto.
+ (elmo-folder-mark-as-read): Ditto.
+ (elmo-folder-unmark-answered): Define.
+ (elmo-folder-mark-as-answered): Ditto.
+
+ * elmo-maildir.el (elmo-map-folder-mark-as-answered): Define.
+ (elmo-map-folder-unmark-answered): Ditto.
+
+ * elmo-filter.el (elmo-folder-mark-as-read): Follow the API change.
+
* elmo-net.el (elmo-folder-unmark-important): Added :around qualifier.
(elmo-folder-mark-as-important): Ditto.
(elmo-folder-unmark-read): Ditto.
(luna-define-method elmo-folder-mark-as-read :around ((folder
elmo-filter-folder)
- numbers)
+ numbers
+ &optional ignore-flag)
(elmo-folder-mark-as-read (elmo-filter-folder-target-internal folder)
- numbers)
+ numbers ignore-flag)
(luna-call-next-method))
(luna-define-method elmo-folder-unmark-read :around ((folder
locs)
(elmo-maildir-delete-mark-msgs folder locs ?S))
+(luna-define-method elmo-map-folder-mark-as-answered ((folder
+ elmo-maildir-folder)
+ locs)
+ (elmo-maildir-set-mark-msgs folder locs ?R))
+
+(luna-define-method elmo-map-folder-unmark-answered ((folder
+ elmo-maildir-folder)
+ locs)
+ (elmo-maildir-delete-mark-msgs folder locs ?R))
+
(luna-define-method elmo-folder-list-subfolders
((folder elmo-maildir-folder) &optional one-level)
(let ((prefix (concat (elmo-folder-name-internal folder)
(luna-define-generic elmo-map-folder-mark-as-read (folder locations)
"")
+(luna-define-generic elmo-map-folder-unmark-answered (folder locations)
+ "")
+
+(luna-define-generic elmo-map-folder-mark-as-answered (folder locations)
+ "")
+
(luna-define-generic elmo-map-message-fetch (folder location
strategy
&optional
((folder elmo-map-folder) &optional nohide)
(mapcar 'car (elmo-map-folder-location-alist-internal folder)))
-(luna-define-method elmo-folder-unmark-important ((folder elmo-map-folder)
- numbers)
+(luna-define-method elmo-folder-unmark-important :before ((folder
+ elmo-map-folder)
+ numbers)
(elmo-map-folder-unmark-important
folder
(elmo-map-folder-numbers-to-locations folder numbers)))
-(luna-define-method elmo-folder-mark-as-important ((folder elmo-map-folder)
- numbers)
+(luna-define-method elmo-folder-mark-as-important :before ((folder
+ elmo-map-folder)
+ numbers)
(elmo-map-folder-mark-as-important
folder
(elmo-map-folder-numbers-to-locations folder numbers)))
-(luna-define-method elmo-folder-unmark-read ((folder elmo-map-folder)
- numbers)
+(luna-define-method elmo-folder-unmark-read :before ((folder elmo-map-folder)
+ numbers)
(elmo-map-folder-unmark-read
folder
(elmo-map-folder-numbers-to-locations folder numbers)))
-(luna-define-method elmo-folder-mark-as-read ((folder elmo-map-folder) numbers)
- (elmo-map-folder-mark-as-read
+(luna-define-method elmo-folder-mark-as-read :before ((folder
+ elmo-map-folder)
+ numbers
+ &optional ignore-flags)
+ (unless ignore-flags
+ (elmo-map-folder-mark-as-read
+ folder
+ (elmo-map-folder-numbers-to-locations folder numbers))))
+
+(luna-define-method elmo-folder-unmark-answered :before ((folder
+ elmo-map-folder)
+ numbers)
+ (elmo-map-folder-unmark-answered
+ folder
+ (elmo-map-folder-numbers-to-locations folder numbers)))
+
+(luna-define-method elmo-folder-mark-as-answered :before ((folder
+ elmo-map-folder)
+ numbers)
+ (elmo-map-folder-mark-as-answered
folder
(elmo-map-folder-numbers-to-locations folder numbers)))
(luna-define-method elmo-folder-writable-p ((folder elmo-mark-folder))
t)
-;;; To override elmo-map-folder methods.
-(luna-define-method elmo-folder-unmark-important ((folder elmo-mark-folder)
- numbers)
- t)
-
-(luna-define-method elmo-folder-mark-as-important ((folder elmo-mark-folder)
- numbers)
- t)
-
-(luna-define-method elmo-folder-unmark-read ((folder elmo-mark-folder) numbers)
- t)
-
-(luna-define-method elmo-folder-mark-as-read ((folder elmo-mark-folder) numbers)
- t)
-
(require 'product)
(product-provide (provide 'elmo-mark) (require 'elmo-version))
(setq msg-list (cdr msg-list)))
ret-val))
-(luna-define-method elmo-folder-mark-as-important :around ((folder
+(luna-define-method elmo-folder-mark-as-important :before ((folder
elmo-multi-folder)
numbers)
(dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
(elmo-folder-mark-as-important (car folder-numbers)
- (cdr folder-numbers)))
- (luna-call-next-method))
+ (cdr folder-numbers))))
-(luna-define-method elmo-folder-unmark-important :around ((folder
+(luna-define-method elmo-folder-unmark-important :before ((folder
elmo-multi-folder)
numbers)
(dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
(elmo-folder-unmark-important (car folder-numbers)
- (cdr folder-numbers)))
- (luna-call-next-method))
+ (cdr folder-numbers))))
-(luna-define-method elmo-folder-mark-as-read :around ((folder
+(luna-define-method elmo-folder-mark-as-read :before ((folder
elmo-multi-folder)
- numbers)
+ numbers
+ &optional ignore-flag)
(dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
(elmo-folder-mark-as-read (car folder-numbers)
- (cdr folder-numbers)))
- (luna-call-next-method))
+ (cdr folder-numbers)
+ ignore-flag)))
-(luna-define-method elmo-folder-unmark-read :around ((folder
+(luna-define-method elmo-folder-unmark-read :before ((folder
elmo-multi-folder)
numbers)
(dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
(elmo-folder-unmark-read (car folder-numbers)
- (cdr folder-numbers)))
- (luna-call-next-method))
+ (cdr folder-numbers))))
-(luna-define-method elmo-folder-mark-as-answered :around ((folder
+(luna-define-method elmo-folder-mark-as-answered :before ((folder
elmo-multi-folder)
numbers)
(dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
(elmo-folder-mark-as-answered (car folder-numbers)
- (cdr folder-numbers)))
- (luna-call-next-method))
+ (cdr folder-numbers))))
-(luna-define-method elmo-folder-unmark-answered :around ((folder
+(luna-define-method elmo-folder-unmark-answered :before ((folder
elmo-multi-folder)
numbers)
(dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
(elmo-folder-unmark-answered (car folder-numbers)
- (cdr folder-numbers)))
- (luna-call-next-method))
+ (cdr folder-numbers))))
(require 'product)
(product-provide (provide 'elmo-multi) (require 'elmo-version))
(mapcar 'abs numbers)
seen-list)))
-(luna-define-method elmo-folder-unmark-important :around ((folder
+(luna-define-method elmo-folder-unmark-important :before ((folder
elmo-net-folder)
numbers)
- (if (elmo-folder-use-flag-p folder)
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-unmark-important-plugged
- numbers)
- (elmo-folder-send folder
- 'elmo-folder-unmark-important-unplugged numbers))
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-mark-as-important :around ((folder
+ (when (elmo-folder-use-flag-p folder)
+ (if (elmo-folder-plugged-p folder)
+ (elmo-folder-send folder 'elmo-folder-unmark-important-plugged
+ numbers)
+ (elmo-folder-send folder
+ 'elmo-folder-unmark-important-unplugged numbers))))
+
+(luna-define-method elmo-folder-mark-as-important :before ((folder
elmo-net-folder)
numbers)
- (if (elmo-folder-use-flag-p folder)
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-mark-as-important-plugged
- numbers)
- (elmo-folder-send folder 'elmo-folder-mark-as-important-unplugged
- numbers))
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-unmark-read :around ((folder elmo-net-folder)
+ (when (elmo-folder-use-flag-p folder)
+ (if (elmo-folder-plugged-p folder)
+ (elmo-folder-send folder 'elmo-folder-mark-as-important-plugged
+ numbers)
+ (elmo-folder-send folder 'elmo-folder-mark-as-important-unplugged
+ numbers))))
+
+(luna-define-method elmo-folder-unmark-read :before ((folder elmo-net-folder)
numbers)
- (if (elmo-folder-use-flag-p folder)
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-unmark-read-plugged numbers)
- (elmo-folder-send folder 'elmo-folder-unmark-read-unplugged numbers))
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-mark-as-read :around ((folder elmo-net-folder)
- numbers)
- (if (elmo-folder-use-flag-p folder)
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-mark-as-read-plugged numbers)
- (elmo-folder-send
- folder 'elmo-folder-mark-as-read-unplugged numbers))
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-unmark-answered :around ((folder
+ (when (elmo-folder-use-flag-p folder)
+ (if (elmo-folder-plugged-p folder)
+ (elmo-folder-send folder 'elmo-folder-unmark-read-plugged numbers)
+ (elmo-folder-send folder 'elmo-folder-unmark-read-unplugged numbers))))
+
+(luna-define-method elmo-folder-mark-as-read :before ((folder elmo-net-folder)
+ numbers
+ &optional ignore-flag)
+ (when (and (elmo-folder-use-flag-p folder)
+ (not ignore-flag))
+ (if (elmo-folder-plugged-p folder)
+ (elmo-folder-send folder 'elmo-folder-mark-as-read-plugged numbers)
+ (elmo-folder-send
+ folder 'elmo-folder-mark-as-read-unplugged numbers))))
+
+(luna-define-method elmo-folder-unmark-answered :before ((folder
elmo-net-folder)
numbers)
- (if (elmo-folder-use-flag-p folder)
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-unmark-answered-plugged
- numbers)
- (elmo-folder-send folder
- 'elmo-folder-unmark-answered-unplugged numbers))
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-mark-as-answered :around ((folder
+ (when (elmo-folder-use-flag-p folder)
+ (if (elmo-folder-plugged-p folder)
+ (elmo-folder-send folder 'elmo-folder-unmark-answered-plugged
+ numbers)
+ (elmo-folder-send folder
+ 'elmo-folder-unmark-answered-unplugged numbers))))
+
+(luna-define-method elmo-folder-mark-as-answered :before ((folder
elmo-net-folder)
numbers)
- (if (elmo-folder-use-flag-p folder)
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-mark-as-answered-plugged
- numbers)
- (elmo-folder-send folder 'elmo-folder-mark-as-answered-unplugged
- numbers))
- (luna-call-next-method)))
+ (when (elmo-folder-use-flag-p folder)
+ (if (elmo-folder-plugged-p folder)
+ (elmo-folder-send folder 'elmo-folder-mark-as-answered-plugged
+ numbers)
+ (elmo-folder-send folder 'elmo-folder-mark-as-answered-unplugged
+ numbers))))
(luna-define-method elmo-folder-mark-as-read-unplugged ((folder
elmo-net-folder)
folder
(delq elem (elmo-nntp-folder-temp-crosses-internal folder)))))))
-(luna-define-method elmo-folder-mark-as-read ((folder elmo-nntp-folder)
- numbers)
- (elmo-nntp-folder-update-crosspost-message-alist folder numbers)
- t)
+(luna-define-method elmo-folder-mark-as-read :before ((folder
+ elmo-nntp-folder)
+ numbers
+ &optional ignore-flags)
+ (elmo-nntp-folder-update-crosspost-message-alist folder numbers))
(luna-define-method elmo-folder-process-crosspost ((folder elmo-nntp-folder)
&optional
(elmo-make-folder
(elmo-match-string 3 name)))
(elmo-pipe-folder-set-copy-internal folder
- (string= ":" (elmo-match-string 2 name))))
+ (string= ":"
+ (elmo-match-string 2 name))))
folder)
(luna-define-method elmo-folder-get-primitive-list ((folder elmo-pipe-folder))
(elmo-pipe-folder-dst-internal folder) numbers start-number))
(luna-define-method elmo-folder-mark-as-read ((folder elmo-pipe-folder)
- numbers)
+ numbers &optional ignore-flag)
(elmo-folder-mark-as-read (elmo-pipe-folder-dst-internal folder)
- numbers))
+ numbers ignore-flag))
(luna-define-method elmo-folder-unmark-read ((folder elmo-pipe-folder)
numbers)
FOLDER is the ELMO folder structure.
NUMBERS is a list of message numbers to be processed.")
-(luna-define-generic elmo-folder-mark-as-read (folder numbers)
+(luna-define-generic elmo-folder-mark-as-read (folder numbers
+ &optional ignore-flags)
"Mark messages as read.
FOLDER is the ELMO folder structure.
NUMBERS is a list of message numbers to be processed.")
number
'read))))
-(luna-define-method elmo-folder-mark-as-read ((folder elmo-folder) numbers)
+(luna-define-method elmo-folder-mark-as-read ((folder elmo-folder)
+ numbers
+ &optional ignore-flag)
(when (elmo-folder-msgdb-internal folder)
(dolist (number numbers)
(elmo-msgdb-set-status (elmo-folder-msgdb folder)