+2001-08-03  YAMASHITA Junji <ysjj@unixuser.org>
+
+       * elmo-localdir.el (elmo-folder-rename-internal): Fixed typo.
+
+2001-08-03  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-archive.el (elmo-archive-get-archive-name): Fixed logic.
+       (Advised by YAMASHITA Junji <ysjj@unixuser.org>.)
+
 2001-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo-shimbun.el (elmo-folder-msgdb-create): Bind unbound
 
                                     folder)
                                    suffix)
                            elmo-archive-folder-path))
-      (if (and (let ((handler
-                     (find-file-name-handler dir 'copy-file))) ; dir is local.
-                (or (not handler)
-                    (if (featurep 'xemacs)
-                        (eq handler 'dired-handler-fn))))
-              (or (not (file-exists-p dir))
-                  (file-directory-p dir)))
-         (expand-file-name
-          (concat elmo-archive-basename suffix)
-          dir)
-       ;; for full-path specification.
-       (if (find-file-name-handler dir 'copy-file) ; ange-ftp, efs
-           (progn
-             (setq filename (expand-file-name
-                             (concat elmo-archive-basename suffix)
-                             (setq dbdir
-                                   (elmo-folder-msgdb-path folder))))
-             (if (file-directory-p dbdir)
-                 (); ok.
-               (if (file-exists-p dbdir)
-                   (error "File %s already exists" dbdir)
-                 (elmo-make-directory dbdir)))
-             (if (not (file-exists-p filename))
-                 (copy-file
-                  (if (file-directory-p dir)
-                      (expand-file-name
-                       (concat elmo-archive-basename suffix)
-                       dir)
-                    dir)
-                  filename))
-             filename)
+      (if (string-match
+          "^\\(ange-ftp\\|efs\\)-"
+          (symbol-name (find-file-name-handler dir 'copy-file)))
+         ;; ange-ftp, efs
+         (progn
+           (setq filename (expand-file-name
+                           (concat elmo-archive-basename suffix)
+                           (setq dbdir
+                                 (elmo-folder-msgdb-path folder))))
+           (if (file-directory-p dbdir)
+               (); ok.
+             (if (file-exists-p dbdir)
+                 (error "File %s already exists" dbdir)
+               (elmo-make-directory dbdir)))
+           (if (not (file-exists-p filename))
+               (copy-file
+                (if (file-directory-p dir)
+                    (expand-file-name
+                     (concat elmo-archive-basename suffix)
+                     dir)
+                  dir)
+                filename))
+           filename)
+       (if (or (not (file-exists-p dir)
+                    (file-directory-p dir)))
+           (expand-file-name
+            (concat elmo-archive-basename suffix)
+            dir)
          dir)))))
 
 (luna-define-method elmo-folder-exists-p ((folder elmo-archive-folder))
 
 (luna-define-method elmo-folder-rename-internal ((folder elmo-localdir-folder)
                                                 new-folder)
   (let* ((old (elmo-localdir-folder-directory-internal folder))
-        (new (elmo-localdir-folder-directory-internal folder))
+        (new (elmo-localdir-folder-directory-internal new-folder))
         (new-dir (directory-file-name (file-name-directory new))))
     (if (not (file-directory-p old))
        (error "No such directory: %s" old)
 
                                  (wl-folder-get-elmo-folder new-folder))))
              (error "Already exists folder: %s" new-folder))
          (elmo-folder-rename (wl-folder-get-elmo-folder old-folder)
-                             (wl-folder-get-elmo-folder new-folder))
+                             new-folder)
          (wl-folder-set-entity-info
           new-folder
           (wl-folder-get-entity-info old-folder))