2005-03-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
 
+       * elmo-pipe.el (elmo-folder-close): Define.
+
+       * elmo-multi.el (elmo-folder-close): Call `elmo-folder-close' with
+       children folders.
+
+       * elmo-filter.el (elmo-folder-close): Call `elmo-folder-close'
+       with target folder.
+
        * modb-entity.el (elmo-msgdb-message-entity-set-number): Return
        `number'.
 
 
 (luna-define-method elmo-folder-close-internal ((folder elmo-filter-folder))
   (elmo-folder-close-internal (elmo-filter-folder-target-internal folder)))
 
-(luna-define-method elmo-folder-close :after ((folder elmo-filter-folder))
+(luna-define-method elmo-folder-close ((folder elmo-filter-folder))
+  (elmo-generic-folder-close folder)
   (elmo-filter-folder-set-number-list-internal folder nil)
   (elmo-filter-folder-set-flag-count-internal folder nil)
-  (elmo-folder-set-msgdb-internal
-   (elmo-filter-folder-target-internal folder) nil))
+  (elmo-folder-close (elmo-filter-folder-target-internal folder)))
 
 (luna-define-method elmo-folder-commit ((folder elmo-filter-folder))
   (elmo-folder-commit (elmo-filter-folder-target-internal folder))
 
   (dolist (fld (elmo-multi-folder-children-internal folder))
     (elmo-folder-close-internal fld)))
 
-(luna-define-method elmo-folder-close :after ((folder elmo-multi-folder))
+(luna-define-method elmo-folder-close ((folder elmo-multi-folder))
+  (elmo-generic-folder-close folder)
   (dolist (fld (elmo-multi-folder-children-internal folder))
-    (elmo-folder-set-msgdb-internal fld nil)))
+    (elmo-folder-close fld)))
 
 (luna-define-method elmo-folder-synchronize ((folder elmo-multi-folder)
                                             &optional
 
   (elmo-folder-open-internal (elmo-pipe-folder-dst-internal folder)))
 
 (luna-define-method elmo-folder-close-internal ((folder elmo-pipe-folder))
-  (elmo-folder-close-internal(elmo-pipe-folder-dst-internal folder)))
+  (elmo-folder-close-internal (elmo-pipe-folder-dst-internal folder)))
+
+(luna-define-method elmo-folder-close ((folder elmo-pipe-folder))
+  (elmo-generic-folder-close folder)
+  (elmo-folder-close (elmo-pipe-folder-dst-internal folder)))
 
 (luna-define-method elmo-folder-list-messages ((folder elmo-pipe-folder)
                                               &optional visible-only in-msgdb)