Mercurial > emacs
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)