Update.
[elisp/wanderlust.git] / elmo / elmo-archive.el
index 323d47b..39d32a1 100644 (file)
@@ -408,7 +408,7 @@ TYPE specifies the archiver's symbol."
        (elmo-localdir-folder-path elmo-archive-folder-path))
     (if elmo-archive-treat-file
        (let* ((path (elmo-localdir-get-folder-directory spec))
-              (base-folder (or (file-name-directory (nth 1 spec)) ""))
+              (base-folder (or (nth 1 spec) ""))
               (suffix (nth 2 spec))
               (prefix (if (string= (nth 3 spec) "")
                           "" (concat ";" (nth 3 spec))))
@@ -423,6 +423,11 @@ TYPE specifies the archiver's symbol."
                                '(lambda (x) (regexp-quote (cdr x)))
                                elmo-archive-suffix-alist
                                "\\|"))))
+         (if (string-match "\\(.*\\)/$" base-folder) ; ends with '/'.
+             (setq base-folder (elmo-match-string 1 base-folder))
+           (unless (file-directory-p path)
+             (setq base-folder (or (file-name-directory base-folder)
+                                   base-folder))))
          (delq
           nil
           (mapcar
@@ -434,8 +439,7 @@ TYPE specifies the archiver's symbol."
                                       elmo-archive-suffix-alist))))
                 (format "$%s;%s%s"
                         (elmo-concat-path base-folder (elmo-match-string 1 x))
-                        suffix prefix)
-                ))
+                        suffix prefix)))
            flist)))
       (elmo-localdir-list-folders-subr folder hierarchy))))