changeset 103635:11f316dfa4b5

* net/tramp.el (tramp-do-copy-or-rename-file-directly): Handle also the 'rename case, when setting file modes. (Bug#3712)
author Michael Albinus <michael.albinus@gmx.de>
date Tue, 30 Jun 2009 11:55:19 +0000
parents c9a91925541c
children 207712a07b9c
files lisp/net/tramp.el
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/net/tramp.el	Tue Jun 30 02:16:32 2009 +0000
+++ b/lisp/net/tramp.el	Tue Jun 30 11:55:19 2009 +0000
@@ -3225,7 +3225,9 @@
 as FILENAME.  PRESERVE-UID-GID, when non-nil, instructs to keep
 the uid and gid from FILENAME."
   (let ((t1 (tramp-tramp-file-p filename))
-	(t2 (tramp-tramp-file-p newname)))
+	(t2 (tramp-tramp-file-p newname))
+	(file-times (nth 5 (file-attributes filename)))
+	(file-modes (tramp-default-file-modes filename)))
     (with-parsed-tramp-file-name (if t1 filename newname) nil
       (let* ((cmd (cond ((and (eq op 'copy) preserve-uid-gid) "cp -f -p")
 			((eq op 'copy) "cp -f")
@@ -3364,8 +3366,8 @@
       ;; Set the time and mode. Mask possible errors.
       (condition-case nil
 	  (when keep-date
-	    (set-file-times newname (nth 5 (file-attributes filename)))
-	    (set-file-modes newname (tramp-default-file-modes filename)))
+	    (set-file-times newname file-times)
+	    (set-file-modes newname file-modes))
 	(error)))))
 
 (defun tramp-do-copy-or-rename-file-out-of-band (op filename newname keep-date)