* elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Added
[elisp/wanderlust.git] / elmo / elmo-multi.el
index 26149cd..5be1400 100644 (file)
@@ -71,9 +71,9 @@
   (dolist (fld (elmo-multi-folder-children-internal folder))
     (elmo-folder-close-internal fld)))
 
-(luna-define-method elmo-folder-close :around ((folder elmo-multi-folder))
+(luna-define-method elmo-folder-close :after ((folder elmo-multi-folder))
   (dolist (fld (elmo-multi-folder-children-internal folder))
-    (elmo-folder-close fld)))
+    (elmo-folder-set-msgdb-internal fld nil)))
 
 (luna-define-method elmo-folder-expand-msgdb-path ((folder
                                                    elmo-multi-folder))
       (setq msg-list (cdr msg-list)))
     ret-val))
 
-(luna-define-method elmo-folder-mark-as-important :around ((folder
+(luna-define-method elmo-folder-mark-as-important :before ((folder
                                                            elmo-multi-folder)
                                                           numbers)
   (dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
     (elmo-folder-mark-as-important (car folder-numbers)
-                                  (cdr folder-numbers)))
-  (luna-call-next-method))
+                                  (cdr folder-numbers))))
 
-(luna-define-method elmo-folder-unmark-important :around ((folder
+(luna-define-method elmo-folder-unmark-important :before ((folder
                                                           elmo-multi-folder)
                                                          numbers)
   (dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
     (elmo-folder-unmark-important (car folder-numbers)
-                                 (cdr folder-numbers)))
-  (luna-call-next-method))
+                                 (cdr folder-numbers))))
 
-(luna-define-method elmo-folder-mark-as-read :around ((folder
+(luna-define-method elmo-folder-mark-as-read :before ((folder
                                                       elmo-multi-folder)
-                                                     numbers)
+                                                     numbers
+                                                     &optional ignore-flag)
   (dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
     (elmo-folder-mark-as-read (car folder-numbers)
-                             (cdr folder-numbers)))
-  (luna-call-next-method))
+                             (cdr folder-numbers)
+                             ignore-flag)))
 
-(luna-define-method elmo-folder-unmark-read :around ((folder
+(luna-define-method elmo-folder-unmark-read :before ((folder
                                                      elmo-multi-folder)
-                                                    numbers)
+                                                    numbers
+                                                    &optional ignore-flag)
   (dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
     (elmo-folder-unmark-read (car folder-numbers)
-                            (cdr folder-numbers)))
-  (luna-call-next-method))
+                            (cdr folder-numbers)
+                            ignore-flag)))
 
-(luna-define-method elmo-folder-mark-as-answered :around ((folder
+(luna-define-method elmo-folder-mark-as-answered :before ((folder
                                                           elmo-multi-folder)
                                                          numbers)
   (dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
     (elmo-folder-mark-as-answered (car folder-numbers)
-                                 (cdr folder-numbers)))
-  (luna-call-next-method))
+                                 (cdr folder-numbers))))
 
-(luna-define-method elmo-folder-unmark-answered :around ((folder
+(luna-define-method elmo-folder-unmark-answered :before ((folder
                                                          elmo-multi-folder)
                                                         numbers)
   (dolist (folder-numbers (elmo-multi-make-folder-numbers-list folder numbers))
     (elmo-folder-unmark-answered (car folder-numbers)
-                                (cdr folder-numbers)))
-  (luna-call-next-method))
+                                (cdr folder-numbers))))
 
 (require 'product)
 (product-provide (provide 'elmo-multi) (require 'elmo-version))