bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#30533: 26.0.60; (copy-file) over TRAMP FTP mistakes file for directo


From: Christian Johansson
Subject: bug#30533: 26.0.60; (copy-file) over TRAMP FTP mistakes file for directory
Date: Wed, 21 Feb 2018 07:13:21 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

Here are two cases that display different tramp errors related to copy-file, but only if you don't open the remote path using dired-mode first.

;; Case 1
(let ((remote-path "/ftp:address@hidden:/1KB.zip")
      (local-path "~/Downloads/1KB.zip"))
  (if (file-directory-p remote-path)
      (progn
        (message "File %s is a directory" remote-path)
        (copy-directory remote-path local-path t t t))
    (progn
      (message "File %s is not a directory" remote-path)
      (copy-file remote-path local-path t t t t))))

;; Case 2
(let ((remote-path "/ftp:address@hidden:/1KB.zip")
      (local-path "~/Downloads/1KB.zip"))
  (if (file-regular-p remote-path)
      (progn
        (message "File %s is a regular file" remote-path)
        (copy-file remote-path local-path t t t t))
    (progn
      (message "File %s is not a regular file" remote-path)
      (copy-directory remote-path local-path t t t))))


If I first open the path in dired mode (/ftp:address@hidden) then the operations work as expected. It seems that tramp stores information about remote file-system when accessing it in dired-mode.

Even after restarting the problem seems to be gone when the remote path has been opened once in dired-mode. Is there some cache to this?


On 2018-02-20 16:49, Christian Johansson wrote:
(let ((remote-path "/ftp:address@hidden:/1KB.zip")
      (local-path "~/Downloads/1KB.zip"))
  (if (file-regular-p remote-path)
      (progn
    (message "File %s is a regular file" remote-path)
    (copy-file remote-path local-path t t t t))
    (progn
      (message "File %s is a directory" remote-path)
      (copy-directory remote-path local-path t t t))))






reply via email to

[Prev in Thread] Current Thread [Next in Thread]