From: Michael Albinus Date: Sun, 5 Apr 2009 18:06:55 +0000 (+0000) Subject: * net/tramp.el (tramp-default-file-modes) New defun. Replace all X-Git-Tag: emacs-pretest-23.0.93~226 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b86c1cd8d355d766f567350a874d137e74ecc765;p=emacs.git * net/tramp.el (tramp-default-file-modes) New defun. Replace all calls of `file-modes' by this. (tramp-handle-find-backup-file-name): Use `symbol-value' instead of `boundp'. --- diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index fb7fc9d471b..a405bb7159b 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2763,6 +2763,12 @@ and gid of the corresponding user is taken. Both parameters must be integers." (when (file-exists-p truename) (tramp-mode-string-to-int (nth 8 (file-attributes truename)))))) +(defun tramp-default-file-modes (filename) + "Return file modes of FILENAME as integer. +If the file modes of FILENAME cannot be determined, return the +value of `default-file-modes'." + (or (file-modes filename) (default-file-modes))) + (defun tramp-handle-file-directory-p (filename) "Like `file-directory-p' for Tramp files." ;; Care must be taken that this function returns `t' for symlinks @@ -3177,7 +3183,7 @@ KEEP-DATE is non-nil if NEWNAME should have the same timestamp as FILENAME." ;; KEEP-DATE handling. (when keep-date (set-file-times newname (nth 5 (file-attributes filename)))) ;; Set the mode. - (set-file-modes newname (file-modes filename)) + (set-file-modes newname (tramp-default-file-modes filename)) ;; If the operation was `rename', delete the original file. (unless (eq op 'copy) (delete-file filename))) @@ -3314,7 +3320,7 @@ the uid and gid from FILENAME." (condition-case nil (when (and keep-date (not preserve-uid-gid)) (set-file-times newname (nth 5 (file-attributes filename))) - (set-file-modes newname (file-modes filename))) + (set-file-modes newname (tramp-default-file-modes filename))) (error))))) (defun tramp-do-copy-or-rename-file-out-of-band (op filename newname keep-date) @@ -3414,7 +3420,7 @@ be a local filename. The method used must be an out-of-band method." ;; Set the mode. (unless (and keep-date copy-keep-date) - (set-file-modes newname (file-modes filename)))) + (set-file-modes newname (tramp-default-file-modes filename)))) ;; If the operation was `rename', delete the original file. (unless (eq op 'copy) @@ -4072,7 +4078,7 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." (tramp-message v 5 "Decoding remote file %s...done" filename) ;; Set proper permissions. - (set-file-modes tmpfile (file-modes filename)) + (set-file-modes tmpfile (tramp-default-file-modes filename)) ;; Set local user ownership. (tramp-set-file-uid-gid tmpfile))) @@ -4210,7 +4216,7 @@ coding system might not be determined. This function repairs it." (let ((backup-directory-alist ;; Emacs case (when (boundp 'backup-directory-alist) - (if (boundp 'tramp-backup-directory-alist) + (if (symbol-value 'tramp-backup-directory-alist) (mapcar '(lambda (x) (cons @@ -4226,7 +4232,7 @@ coding system might not be determined. This function repairs it." (bkup-backup-directory-info ;; XEmacs case (when (boundp 'bkup-backup-directory-info) - (if (boundp 'tramp-bkup-backup-directory-info) + (if (symbol-value 'tramp-bkup-backup-directory-info) (mapcar '(lambda (x) (nconc @@ -4333,7 +4339,7 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." (let ((rem-dec (tramp-get-remote-coding v "remote-decoding")) (loc-enc (tramp-get-local-coding v "local-encoding")) - (modes (save-excursion (file-modes filename))) + (modes (save-excursion (tramp-default-file-modes filename))) ;; We use this to save the value of ;; `last-coding-system-used' after writing the tmp file. ;; At the end of the function, we set