(modb-legacy-flag-list): New constant.
authorhmurata <hmurata>
Sun, 5 Sep 2004 05:46:29 +0000 (05:46 +0000)
committerhmurata <hmurata>
Sun, 5 Sep 2004 05:46:29 +0000 (05:46 +0000)
(modb-legacy-suppoted-flag-p): New internal function.
(elmo-msgdb-set-flag): Check flag by `modb-legacy-suppoted-flag-p'.
(elmo-msgdb-unset-flag): Ditto.

elmo/ChangeLog
elmo/modb-legacy.el
elmo/modb.el

index 89087a8..39f7bb0 100644 (file)
@@ -1,3 +1,10 @@
+2004-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-legacy.el (modb-legacy-flag-list): New constant.
+       (modb-legacy-suppoted-flag-p): New internal function.
+       (elmo-msgdb-set-flag): Check flag by `modb-legacy-suppoted-flag-p'.
+       (elmo-msgdb-unset-flag): Ditto.
+
 2004-09-05  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo.el (elmo-make-folder): Remove text properties for prefix.
index 9adf900..161c0b0 100644 (file)
 (defconst modb-legacy-important-mark "$"
   "Mark for important message.")
 
+(defconst modb-legacy-flag-list
+  '(new unread important answered cached read uncached)
+  "A list of flag symbol which is suppoted by legacy msgdb.")
+
 (eval-and-compile
   (luna-define-class modb-legacy (modb-generic)
                     (overview number-alist mark-alist index))
 
 ;;;
 
+(defsubst modb-legacy-suppoted-flag-p (flag)
+  (memq flag modb-legacy-flag-list))
 
 (defvar modb-legacy-unread-marks-internal nil)
 (defsubst modb-legacy-unread-marks ()
@@ -363,6 +369,9 @@ Return a list of message numbers which have duplicated message-ids."
 
 (luna-define-method elmo-msgdb-set-flag ((msgdb modb-legacy)
                                         number flag)
+  (unless (modb-legacy-suppoted-flag-p flag)
+    (error "Flag `%s' is not supproted by this msgdb type"
+          (capitalize (symbol-name flag))))
   (case flag
     (read
      (elmo-msgdb-unset-flag msgdb number 'unread))
@@ -385,6 +394,9 @@ Return a list of message numbers which have duplicated message-ids."
 
 (luna-define-method elmo-msgdb-unset-flag ((msgdb modb-legacy)
                                           number flag)
+  (unless (modb-legacy-suppoted-flag-p flag)
+    (error "Flag `%s' is not supproted by this msgdb type"
+          (capitalize (symbol-name flag))))
   (case flag
     (read
      (elmo-msgdb-set-flag msgdb number 'unread))
index adab8db..9d5c9af 100644 (file)
@@ -80,7 +80,7 @@ FLAG is a symbol which is one of the following:
   `important' ... Message which is important.
   `answered'  ... Message which is answered.
   `cached'    ... Message which is cached.
-'sugar' falg:
+'sugar' flag:
   `read'      ... Message which is already read.
   `uncached'  ... Message which is not cached.")
 
@@ -94,7 +94,7 @@ FLAG is a symbol which is one of the following:
   `important' ... Message which is important.
   `answered'  ... Message which is answered.
   `cached'    ... Message which is cached.
-'sugar' falg:
+'sugar' flag:
   `read'      ... Message which is already read.
   `uncached'  ... Message which is not cached.
   `all'       ... Remove all flags.")