* elmo.el (elmo-folder-delete): Delete msgdb path.
authorteranisi <teranisi>
Sun, 23 Dec 2001 03:49:55 +0000 (03:49 +0000)
committerteranisi <teranisi>
Sun, 23 Dec 2001 03:49:55 +0000 (03:49 +0000)
* elmo-archive.el (elmo-folder-delete): Added `:before' qualifier.

* elmo-maildir.el (elmo-folder-delete): Ditto.

* elmo-localdir.el (elmo-folder-delete): Ditto.

* elmo-imap4.el (elmo-folder-delete): Ditto.

elmo/ChangeLog
elmo/elmo-archive.el
elmo/elmo-imap4.el
elmo/elmo-localdir.el
elmo/elmo-maildir.el
elmo/elmo.el

index 55482af..4458868 100644 (file)
@@ -1,3 +1,15 @@
+2001-12-23  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-delete): Delete msgdb path.
+
+       * elmo-archive.el (elmo-folder-delete): Added `:before' qualifier.
+
+       * elmo-maildir.el (elmo-folder-delete): Ditto.
+
+       * elmo-localdir.el (elmo-folder-delete): Ditto.
+
+       * elmo-imap4.el (elmo-folder-delete): Ditto.
+
 2001-12-19  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo.el (luna-define-class): Added `biff' slot.
index 7a888be..f55cfe4 100644 (file)
@@ -447,7 +447,7 @@ TYPE specifies the archiver's symbol."
             (delete-file dummy)))
        ))))
 
-(luna-define-method elmo-folder-delete ((folder elmo-archive-folder))
+(luna-define-method elmo-folder-delete :before ((folder elmo-archive-folder))
   (let ((arc (elmo-archive-get-archive-name folder)))
     (if (not (file-exists-p arc))
        (error "No such file: %s" arc)
index 1f35051..8d14bf7 100644 (file)
@@ -1973,7 +1973,7 @@ Return nil if no complete line has arrived."
 (luna-define-method elmo-folder-writable-p ((folder elmo-imap4-folder))
   t)
 
-(luna-define-method elmo-folder-delete ((folder elmo-imap4-folder))
+(luna-define-method elmo-folder-delete :before ((folder elmo-imap4-folder))
   (let ((session (elmo-imap4-get-session folder))
        msgs)
     (when (elmo-imap4-folder-mailbox-internal folder)
index cd571ea..b1f9ef9 100644 (file)
        (elmo-make-directory dir))
       t)))
 
-(luna-define-method elmo-folder-delete ((folder elmo-localdir-folder))
+(luna-define-method elmo-folder-delete :before ((folder elmo-localdir-folder))
   (let ((dir (elmo-localdir-folder-directory-internal folder)))
     (if (not (file-directory-p dir))
        (error "No such directory: %s" dir)
index 7fdae4c..ab3bf6a 100644 (file)
@@ -457,7 +457,7 @@ file name for maildir directories."
          t)
       (error))))
 
-(luna-define-method elmo-folder-delete ((folder elmo-maildir-folder))
+(luna-define-method elmo-folder-delete :before ((folder elmo-maildir-folder))
   (let ((basedir (elmo-maildir-folder-directory-internal folder)))
     (condition-case nil
        (let ((tmp-files (directory-files
index 95a3f26..2a37231 100644 (file)
@@ -148,6 +148,13 @@ If optional argument NON-PERSISTENT is non-nil, folder is treated as
     (save-match-data
       (elmo-folder-send folder 'elmo-folder-initialize name))))
 
+(defun elmo-create-folder (class name &rest args)
+  (apply
+   'luna-make-entity
+   (intern (concat "elmo-" (symbol-name class) "-folder"))
+   :name name
+   args))
+
 (defmacro elmo-folder-msgdb (folder)
   "Return the msgdb of FOLDER (on-demand loading)."
   (` (or (elmo-folder-msgdb-internal (, folder))
@@ -687,6 +694,9 @@ Return a cons cell of (NUMBER-CROSSPOSTS . NEW-MARK-ALIST).")
 (luna-define-method elmo-folder-writable-p ((folder elmo-folder))
   nil) ; default is not writable.
 
+(luna-define-method elmo-folder-delete ((folder elmo-folder))
+  (elmo-msgdb-delete-path folder))
+
 (luna-define-method elmo-folder-rename ((folder elmo-folder) new-name)
   (let* ((new-folder (elmo-make-folder new-name)))
     (unless (eq (elmo-folder-type-internal folder)