(elmo-folder-kill-messages): Don't use msgdb directly.
authorhmurata <hmurata>
Thu, 26 Feb 2004 11:34:52 +0000 (11:34 +0000)
committerhmurata <hmurata>
Thu, 26 Feb 2004 11:34:52 +0000 (11:34 +0000)
elmo/ChangeLog
elmo/elmo.el
elmo/modb.el

index 64cf294..6ef35e7 100644 (file)
@@ -1,3 +1,7 @@
+2004-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-kill-messages): Don't use msgdb directly.
+
 2004-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
 
        * elmo.el (elmo-folder-kill-messages): Fix to update killed list.
index ea2b6a1..b4e0675 100644 (file)
@@ -365,6 +365,7 @@ FLAG is a symbol which is one of the following:
   `important' (remove important flag)
 'sugar' flag:
   `read'      (set unread flag)
+  `all'       (remove all flags)
 If optional IS-LOCAL is non-nil, update only local (not server) status.")
 
 (luna-define-generic elmo-folder-next-message-number (folder)
@@ -1383,13 +1384,12 @@ If Optional LOCAL is non-nil, don't update server flag."
 
 (defun elmo-folder-kill-messages (folder numbers)
   "Kill(hide) messages in the FOLDER with NUMBERS."
-  (let ((msgdb (elmo-folder-msgdb folder))
-       (killed (elmo-folder-killed-list-internal folder)))
-    (dolist (number numbers)
-      (setq killed (elmo-number-set-append killed number))
-      (elmo-msgdb-unset-flag msgdb number 'all))
-    (elmo-folder-set-killed-list-internal folder killed)))
-
+  (elmo-folder-set-killed-list-internal
+   folder
+   (elmo-number-set-append-list
+    (elmo-folder-killed-list-internal folder)
+    numbers))
+  (elmo-folder-unset-flag folder numbers 'all 'local-only))
 
 (luna-define-method elmo-folder-clear ((folder elmo-folder)
                                       &optional keep-killed)
index b42261e..adab8db 100644 (file)
@@ -75,22 +75,29 @@ Return a list of messages which have duplicated message-id.")
 MSGDB is the ELMO msgdb.
 NUMBER is a message number to set flag.
 FLAG is a symbol which is one of the following:
-`new'       ... Message which is new.
-`read'      ... Message which is already read.
-`important' ... Message which is important.
-`answered'  ... Message which is answered.
-`cached'    ... Message which is cached.")
+  `new'       ... Message which is new.
+  `unread'    ... Message which is not read.
+  `important' ... Message which is important.
+  `answered'  ... Message which is answered.
+  `cached'    ... Message which is cached.
+'sugar' falg:
+  `read'      ... Message which is already read.
+  `uncached'  ... Message which is not cached.")
 
 (luna-define-generic elmo-msgdb-unset-flag (msgdb number flag)
   "Unset message flag.
 MSGDB is the ELMO msgdb.
 NUMBER is a message number to set flag.
 FLAG is a symbol which is one of the following:
-`new'       ... Message which is new.
-`read'      ... Message which is already read.
-`important' ... Message which is important.
-`answered'  ... Message which is answered.
-`cached'    ... Message which is cached.")
+  `new'       ... Message which is new.
+  `unread'    ... Message which is not read.
+  `important' ... Message which is important.
+  `answered'  ... Message which is answered.
+  `cached'    ... Message which is cached.
+'sugar' falg:
+  `read'      ... Message which is already read.
+  `uncached'  ... Message which is not cached.
+  `all'       ... Remove all flags.")
 
 (luna-define-generic elmo-msgdb-flag-count (msgdb)
   "Return a list of cons cell as (flag . count).