FOLDER is the ELMO folder structure.
NUMBERS is a list of message numbers to be processed.")
-(luna-define-generic elmo-folder-unmark-read (folder numbers)
+(luna-define-generic elmo-folder-unmark-read (folder numbers
+ &optional ignore-flags)
"Un-mark messages as read.
FOLDER is the ELMO folder structure.
-NUMBERS is a list of message numbers to be processed.")
+NUMBERS is a list of message numbers to be processed.
+If IGNORE-FLAGS is non-nil, folder flags are not updated.")
-(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.")
+NUMBERS is a list of message numbers to be processed.
+If IGNORE-FLAGS is non-nil, folder flags are not updated.")
(luna-define-generic elmo-folder-unmark-answered (folder numbers)
"Un-mark messages as answered.
0))
(elmo-folder-set-info-hashtb folder in-db-max nil))
(setq in-db-max cached-in-db-max)))
- (setq unsync (if (and in-db
- (car in-folder))
+ (setq unsync (if (and in-db (car in-folder))
(- (car in-folder) in-db-max)
- (if (and in-folder
- (null in-db))
+ (if (and in-folder (null in-db))
(cdr in-folder)
- (if (null (car in-folder))
- nil))))
+ (car in-folder))))
(setq messages (cdr in-folder))
(if (and unsync messages (> unsync messages))
(setq unsync messages))
folder
(elmo-folder-expand-msgdb-path folder))))
+(defun elmo-message-set-cached (folder number cached)
+ "Set cache status of the message mark.
+FOLDER is the ELMO folder structure.
+NUMBER is a number of the message.
+If CACHED is t, message mark is set as cached."
+ (when (elmo-msgdb-set-cached
+ (elmo-folder-msgdb folder) number cached)
+ (elmo-folder-set-mark-modified-internal folder t)))
+
+
(defun elmo-message-mark (folder number)
"Get mark of the message.
FOLDER is the ELMO folder structure.
numbers)
(when (elmo-folder-msgdb-internal folder)
(dolist (number numbers)
- (elmo-msgdb-unset-status (elmo-folder-msgdb folder)
- folder
- number
- 'important))))
-
-(luna-define-method elmo-folder-mark-as-important ((folder elmo-folder)
- numbers)
- (when (elmo-folder-msgdb-internal folder)
- (dolist (number numbers)
- (elmo-msgdb-set-status (elmo-folder-msgdb folder)
+ (elmo-msgdb-unset-flag (elmo-folder-msgdb folder)
folder
number
'important))))
-(luna-define-method elmo-folder-unmark-read ((folder elmo-folder) numbers)
+(luna-define-method elmo-folder-mark-as-important ((folder elmo-folder)
+ numbers)
(when (elmo-folder-msgdb-internal folder)
(dolist (number numbers)
- (elmo-msgdb-unset-status (elmo-folder-msgdb folder)
- folder
- number
- 'read))))
-
-(luna-define-method elmo-folder-mark-as-read ((folder elmo-folder) numbers)
+ (elmo-msgdb-set-flag (elmo-folder-msgdb folder)
+ folder
+ number
+ 'important))))
+
+(luna-define-method elmo-folder-unmark-read ((folder elmo-folder)
+ numbers
+ &optional ignore-flags)
(when (elmo-folder-msgdb-internal folder)
(dolist (number numbers)
- (elmo-msgdb-set-status (elmo-folder-msgdb folder)
+ (elmo-msgdb-unset-flag (elmo-folder-msgdb folder)
folder
number
'read))))
-(luna-define-method elmo-folder-unmark-answered ((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-unset-status (elmo-folder-msgdb folder)
- folder
- number
- 'answered))))
+ (elmo-msgdb-set-flag (elmo-folder-msgdb folder)
+ folder
+ number
+ 'read))))
-(luna-define-method elmo-folder-mark-as-answered ((folder elmo-folder) numbers)
+(luna-define-method elmo-folder-unmark-answered ((folder elmo-folder) numbers)
(when (elmo-folder-msgdb-internal folder)
(dolist (number numbers)
- (elmo-msgdb-set-status (elmo-folder-msgdb folder)
+ (elmo-msgdb-unset-flag (elmo-folder-msgdb folder)
folder
number
'answered))))
+(luna-define-method elmo-folder-mark-as-answered ((folder elmo-folder) numbers)
+ (when (elmo-folder-msgdb-internal folder)
+ (dolist (number numbers)
+ (elmo-msgdb-set-flag (elmo-folder-msgdb folder)
+ folder
+ number
+ 'answered))))
+
(luna-define-method elmo-folder-process-crosspost ((folder elmo-folder)
&optional
number-alist)
"Synchronize the folder data to the newest status.
FOLDER is the ELMO folder structure.
If optional IGNORE-MSGDB is non-nil, current msgdb is thrown away except
-read mark status. If IGNORE-MSGDB is 'visible-only, only visible messages
+flag status. If IGNORE-MSGDB is 'visible-only, only visible messages
\(the messages which are not in the killed-list\) are thrown away and
synchronized.
If NO-CHECK is non-nil, rechecking folder is skipped.
;; autoloads
(autoload 'elmo-dop-queue-flush "elmo-dop")
+(autoload 'elmo-nntp-post "elmo-nntp")
(require 'product)
(product-provide (provide 'elmo) (require 'elmo-version))