X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=elmo%2Felmo-maildir.el;h=8ff700da20afb8d7e7b7a09c4727eda915c0f6c6;hb=08fe50f15e7aed9643f87a7cbb552690c6908318;hp=4bd8a081bc444b55331a0bae37012951f84c23ba;hpb=8b003dd16e3d4a1f0d29b5fcd0f57a2ee294f967;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-maildir.el b/elmo/elmo-maildir.el index 4bd8a08..8ff700d 100644 --- a/elmo/elmo-maildir.el +++ b/elmo/elmo-maildir.el @@ -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 @@ -24,10 +24,10 @@ ;; ;;; Commentary: -;; +;; ;;; Code: -;; +;; (eval-when-compile (require 'cl)) @@ -35,6 +35,11 @@ (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 @@ -58,12 +63,12 @@ (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))