From a1a7c9ab3c8c30b65dec9ec453c475ffa2971684 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 24 Jul 2008 16:16:00 +0000 Subject: [PATCH] (dired-copy-file-recursive): Avoid calling set-file-modes when creating target directories. --- lisp/dired-aux.el | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 407e7296adc..a786ed1c903 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -1180,9 +1180,15 @@ Special value `always' suppresses confirmation." (if (file-exists-p to) (or top (dired-handle-overwrite to)) (condition-case err - (progn - (make-directory to) - (set-file-modes to #o700)) + ;; We used to call set-file-modes here, but on some + ;; Linux kernels, that returns an error on vfat + ;; filesystems + (let ((default-mode (default-file-modes))) + (unwind-protect + (progn + (set-default-file-modes #o700) + (make-directory to)) + (set-default-file-modes default-mode))) (file-error (push (dired-make-relative from) dired-create-files-failures) -- 2.11.4.GIT