X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo-localdir.el;h=3f3c8d4c59b1a04cb2ae2bcc1ab3fbab78f97080;hb=aa17faed23890f965bec841a9e3794532bf5e89b;hp=f9e5c2f1235231ac6f67b0c5d4b8cacd47173dc2;hpb=3823cb47f19c37a739371e84d76f051cdcc365bd;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-localdir.el b/elmo/elmo-localdir.el index f9e5c2f..3f3c8d4 100644 --- a/elmo/elmo-localdir.el +++ b/elmo/elmo-localdir.el @@ -91,8 +91,12 @@ 'identity (mapcar 'elmo-replace-string-as-filename - (split-string (elmo-localdir-folder-dir-name-internal folder) - "/")) + (split-string + (let ((dir-name (elmo-localdir-folder-dir-name-internal folder))) + (if (file-name-absolute-p dir-name) + (expand-file-name dir-name) + dir-name)) + "/")) "/") (expand-file-name ;;"localdir" (symbol-name (elmo-folder-type-internal folder)) @@ -299,7 +303,7 @@ (let ((dir (elmo-localdir-folder-directory-internal folder))) (if (not (file-directory-p dir)) (error "No such directory: %s" dir) - (elmo-delete-directory dir t) + (elmo-delete-match-files dir "[0-9]+" t) t))) (luna-define-method elmo-folder-rename-internal ((folder elmo-localdir-folder) @@ -311,7 +315,7 @@ (error "No such directory: %s" old) (if (file-exists-p new) (error "Already exists directory: %s" new) - (if (not (file-exists-p new-dir)) + (if (not (file-directory-p new-dir)) (elmo-make-directory new-dir)) (rename-file old new) t)))) @@ -363,12 +367,10 @@ (message "Packing...done") (elmo-folder-set-msgdb-internal folder - (list (elmo-msgdb-get-overview msgdb) - onum-alist - new-mark-alist - ;; remake hash table - (elmo-msgdb-make-overview-hashtb - (elmo-msgdb-get-overview msgdb)))))) + (elmo-make-msgdb + (elmo-msgdb-get-overview msgdb) + onum-alist + new-mark-alist)))) (luna-define-method elmo-folder-message-file-p ((folder elmo-localdir-folder)) t)