changeset 107285:edfde380e83e

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 22 Feb 2010 21:54:01 +0000
parents 366dab1d1b3e (current diff) 4a0ca858272e (diff)
children 9e97e6c8e8a2
files
diffstat 2 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Feb 21 21:56:15 2010 +0000
+++ b/lisp/ChangeLog	Mon Feb 22 21:54:01 2010 +0000
@@ -1,3 +1,10 @@
+2010-02-22  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Protect
+	setting the modes by `ignore-errors'.  It might fail, for example
+	if the file is not owned by the user but the group.
+	(tramp-handle-write-region): Ensure, that `tmpfile' is always readable.
+
 2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 
 	* files.el (directory-listing-before-filename-regexp): Use
--- a/lisp/net/tramp.el	Sun Feb 21 21:56:15 2010 +0000
+++ b/lisp/net/tramp.el	Mon Feb 22 21:54:01 2010 +0000
@@ -3926,7 +3926,8 @@
 
 	;; Set the mode.
 	(unless (and keep-date copy-keep-date)
-	  (set-file-modes newname (tramp-default-file-modes filename))))
+	  (ignore-errors
+	    (set-file-modes newname (tramp-default-file-modes filename)))))
 
       ;; If the operation was `rename', delete the original file.
       (unless (eq op 'copy)
@@ -5031,7 +5032,10 @@
 	  ;; filename does not exist (eq modes nil) it has been
 	  ;; renamed to the backup file.  This case `save-buffer'
 	  ;; handles permissions.
-	  (when modes (set-file-modes tmpfile modes))
+	  ;; Ensure, that it is still readable.
+	  (when modes
+	    (set-file-modes
+	     tmpfile (logior (or modes 0) (tramp-octal-to-decimal "0400"))))
 
 	  ;; This is a bit lengthy due to the different methods
 	  ;; possible for file transfer.  First, we check whether the