* wl-message.el (wl-message-buffer-create): Run
[elisp/wanderlust.git] / elmo / elmo-maildir.el
index 4bd8a08..8ff700d 100644 (file)
@@ -1,4 +1,4 @@
-;;; elmo-maildir.el -- Maildir interface for ELMO.
+;;; elmo-maildir.el --- Maildir interface for ELMO.
 
 ;; Copyright (C) 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
 
 ;;
 
 ;;; Commentary:
-;; 
+;;
 
 ;;; Code:
-;; 
+;;
 
 (eval-when-compile (require 'cl))
 
 (require 'elmo)
 (require 'elmo-map)
 
+(defcustom elmo-maildir-folder-path "~/Maildir"
+  "*Maildir folder path."
+  :type 'directory
+  :group 'elmo)
+
 ;;; ELMO Maildir folder
 (eval-and-compile
   (luna-define-class elmo-maildir-folder
 
 (luna-define-method elmo-folder-expand-msgdb-path ((folder
                                                    elmo-maildir-folder))
-  (expand-file-name 
-   (elmo-replace-string-as-filename 
+  (expand-file-name
+   (elmo-replace-string-as-filename
     (elmo-maildir-folder-directory-internal folder))
    (expand-file-name
     "maildir"
-    elmo-msgdb-dir)))
+    elmo-msgdb-directory)))
 
 (defun elmo-maildir-message-file-name (folder location)
   "Get a file name of the message from FOLDER which corresponded to
@@ -377,7 +382,7 @@ file name for maildir directories."
                                                         numbers
                                                         &optional
                                                         start-number)
-  (let ((temp-dir (elmo-folder-make-temp-dir folder))
+  (let ((temp-dir (elmo-folder-make-temporary-directory folder))
        (cur-number (if start-number 0)))
     (dolist (number numbers)
       (elmo-copy-file
@@ -394,8 +399,8 @@ file name for maildir directories."
       (let ((dir (elmo-maildir-folder-directory-internal folder))
            (succeeds numbers)
            filename)
-       (setq filename (elmo-maildir-temporal-filename dir))
        (dolist (number numbers)
+         (setq filename (elmo-maildir-temporal-filename dir))
          (elmo-copy-file
           (elmo-message-file-name src-folder number)
           filename)
@@ -403,7 +408,8 @@ file name for maildir directories."
           filename
           (expand-file-name
            (concat "new/" (file-name-nondirectory filename))
-           dir)))
+           dir))
+         (elmo-progress-notify 'elmo-folder-move-messages))
        succeeds)
     (luna-call-next-method)))
 
@@ -440,6 +446,9 @@ file name for maildir directories."
 (luna-define-method elmo-folder-creatable-p ((folder elmo-maildir-folder))
   t)
 
+(luna-define-method elmo-folder-writable-p ((folder elmo-maildir-folder))
+  t)
+
 (luna-define-method elmo-folder-create ((folder elmo-maildir-folder))
   (let ((basedir (elmo-maildir-folder-directory-internal folder)))
     (condition-case nil
@@ -453,7 +462,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
@@ -470,27 +479,6 @@ file name for maildir directories."
          t)
       (error nil))))
 
-(luna-define-method elmo-folder-search ((folder elmo-maildir-folder)
-                                       condition &optional numbers)
-  (save-excursion
-    (let* ((msgs (or numbers (elmo-folder-list-messages folder)))
-          (i 0)
-          case-fold-search matches
-          percent num
-          (len (length msgs))
-          number-list msg-num)
-      (setq number-list msgs)
-      (dolist (number numbers)
-       (if (elmo-file-field-condition-match
-            (elmo-message-file-name folder number)
-            condition number number-list)
-           (setq matches (cons number matches)))
-       (setq i (1+ i))
-       (elmo-display-progress
-        'elmo-maildir-search "Searching..."
-        (/ (* i 100) len)))
-      (nreverse matches))))
-
 (require 'product)
 (product-provide (provide 'elmo-maildir) (require 'elmo-version))