`elmo-msgdb-mark'.
* elmo-util.el (elmo-with-progress-display): Fixed edebug spec.
* elmo-pipe.el (elmo-message-flags): Defined.
* elmo-multi.el (elmo-message-flags): Ditto.
+2003-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-flags): Use `elmo-msgdb-flags' instead of
+       `elmo-msgdb-mark'.
+
+       * elmo-util.el (elmo-with-progress-display): Fixed edebug spec.
+
+       * elmo-pipe.el (elmo-message-flags): Defined.
+
+       * elmo-multi.el (elmo-message-flags): Ditto.
+
 2003-09-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
 
        * elmo-msgdb.el (elmo-msgdb-delete-messages): Renamed from
 
   (let ((pair (elmo-multi-real-folder-number folder number)))
     (elmo-message-mark (car pair) (cdr pair))))
 
+(luna-define-method elmo-message-flags ((folder elmo-multi-folder) number)
+  (let ((pair (elmo-multi-real-folder-number folder number)))
+    (elmo-message-flags (car pair) (cdr pair))))
+
 (defun elmo-multi-split-numbers (folder numlist &optional as-is)
   (let ((numbers (sort numlist '<))
        (divider (elmo-multi-folder-divide-number-internal folder))
 
 (luna-define-method elmo-message-mark ((folder elmo-pipe-folder) number)
   (elmo-message-mark (elmo-pipe-folder-dst-internal folder) number))
 
+(luna-define-method elmo-message-flags ((folder elmo-pipe-folder) number)
+  (elmo-message-flags (elmo-pipe-folder-dst-internal folder) number))
+
 (luna-define-method elmo-message-field ((folder elmo-pipe-folder)
                                        number field)
   (elmo-message-field (elmo-pipe-folder-dst-internal folder)
 
 
 (put 'elmo-with-progress-display 'lisp-indent-function '2)
 (def-edebug-spec elmo-with-progress-display
-  (form (symbolp form &rest form) &rest form))
+  (form (symbolp form &optional form) &rest form))
 
 (defmacro elmo-with-progress-display (condition spec &rest body)
   "Evaluate BODY with progress gauge if CONDITION is non-nil.
 
 NUMBER is a number of the message.")
 
 (luna-define-method elmo-message-flags ((folder elmo-folder) number)
-  ;; This is a provisional implement.
-  (let ((mark (elmo-message-mark folder number)))
-    (append
-     (and (string= mark elmo-msgdb-new-mark)
-         '(new))
-     (and (string= mark elmo-msgdb-important-mark)
-         '(important))
-     (and (member mark (elmo-msgdb-unread-marks))
-         '(unread))
-     (and (member mark (elmo-msgdb-answered-marks))
-         '(answered)))))
+  (elmo-msgdb-flags (elmo-folder-msgdb folder) number))
 
 (defsubst elmo-message-flagged-p (folder number flag)
   "Return non-nil if the message is set FLAG.