emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/net/tramp-ftp.el,v


From: Michael Albinus
Subject: [Emacs-diffs] Changes to emacs/lisp/net/tramp-ftp.el,v
Date: Wed, 03 Oct 2007 10:54:05 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Michael Albinus <albinus>       07/10/03 10:54:04

Index: net/tramp-ftp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp-ftp.el,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- net/tramp-ftp.el    24 Aug 2007 05:27:22 -0000      1.19
+++ net/tramp-ftp.el    3 Oct 2007 10:54:03 -0000       1.20
@@ -149,6 +149,19 @@
            (with-parsed-tramp-file-name (car args) nil
              (tramp-set-connection-property v "started" t))
          nil))
+       ;; If the second argument of `copy-file' or `rename-file' is a
+       ;; remote file name but via FTP, ange-ftp doesn't check this.
+       ;; We must copy it locally first, because there is no place in
+       ;; ange-ftp for correct handling.
+       ((and (memq operation '(copy-file rename-file))
+            (file-remote-p (cadr args))
+            (not (tramp-ftp-file-name-p (cadr args))))
+       (let* ((filename (car args))
+              (newname (cadr args))
+              (tmpfile (tramp-make-temp-file filename))
+              (args (cddr args)))
+         (apply operation filename tmpfile args)
+         (rename-file tmpfile newname (car args))))
        ;; Normally, the handlers must be discarded.
        (t (let* ((inhibit-file-name-handlers
                  (list 'tramp-file-name-handler




reply via email to

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