-NUMBER is a number of the message.")
-
-(luna-define-method elmo-message-flags ((folder elmo-folder) number)
- (elmo-msgdb-flags (elmo-folder-msgdb folder) number))
+NUMBER is a number of the message.
+If optional argument MSGID is specified,
+the message with NUMBER checks whether it has MSGID.")
+
+(luna-define-method elmo-message-flags ((folder elmo-folder) number
+ &optional msgid)
+ (if msgid
+ (let ((this-id (elmo-message-field folder number 'message-id)))
+ (and this-id
+ (string= this-id msgid)
+ (or (elmo-msgdb-flags (elmo-folder-msgdb folder) number)
+ '(read))))
+ (elmo-msgdb-flags (elmo-folder-msgdb folder) number)))