]> git.eshelyaron.com Git - emacs.git/commitdiff
(dired-copy-file-recursive): Avoid calling
authorChong Yidong <cyd@stupidchicken.com>
Thu, 24 Jul 2008 16:12:20 +0000 (16:12 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Thu, 24 Jul 2008 16:12:20 +0000 (16:12 +0000)
set-file-modes when creating target directories.

lisp/dired-aux.el

index 8ebd796c2bde331647bb80a406850870057cb421..7c4c29abb235decf952b015196613ce8b73ff13f 100644 (file)
@@ -1195,9 +1195,13 @@ 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))
+                 ;; Create the directory with correct permissions.
+                 (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)