Please try this patch instead. *** dired-aux.el 17 Jul 2006 16:31:56 -0400 1.146 --- dired-aux.el 05 Sep 2006 11:20:50 -0400 *************** *** 39,44 **** --- 39,49 ---- ;; We need macros in dired.el to compile properly. (eval-when-compile (require 'dired)) + (defvar dired-create-files-failures nil + "Variable where `dired-create-files' records failing file names. + Functions that operate recursively can store additional names + into this list; they also should call `dired-log' to log the errors.") + ;;; 15K ;;;###begin dired-cmd.el ;; Diffing and compressing *************** *** 1145,1181 **** ;;;###autoload (defun dired-copy-file (from to ok-flag) (dired-handle-overwrite to) ! (condition-case () ! (dired-copy-file-recursive from to ok-flag dired-copy-preserve-time t ! dired-recursive-copies) ! (file-date-error (message "Can't set date") ! (sit-for 1)))) (defun dired-copy-file-recursive (from to ok-flag &optional preserve-time top recursive) ! (let ((attrs (file-attributes from))) (if (and recursive (eq t (car attrs)) (or (eq recursive 'always) (yes-or-no-p (format "Recursive copies of %s? " from)))) ;; This is a directory. ! (let ((files (directory-files from nil dired-re-no-dot))) (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more. ! (if (file-exists-p to) ! (or top (dired-handle-overwrite to)) ! (make-directory to)) (while files (dired-copy-file-recursive (expand-file-name (car files) from) (expand-file-name (car files) to) ok-flag preserve-time nil recursive) ! (setq files (cdr files)))) ;; Not a directory. (or top (dired-handle-overwrite to)) ! (if (stringp (car attrs)) ! ;; It is a symlink ! (make-symbolic-link (car attrs) to ok-flag) ! (copy-file from to ok-flag dired-copy-preserve-time))))) ;;;###autoload (defun dired-rename-file (file newname ok-if-already-exists) --- 1150,1208 ---- ;;;###autoload (defun dired-copy-file (from to ok-flag) (dired-handle-overwrite to) ! (dired-copy-file-recursive from to ok-flag dired-copy-preserve-time t ! dired-recursive-copies)) (defun dired-copy-file-recursive (from to ok-flag &optional preserve-time top recursive) ! (let ((attrs (file-attributes from)) ! dirfailed) (if (and recursive (eq t (car attrs)) (or (eq recursive 'always) (yes-or-no-p (format "Recursive copies of %s? " from)))) ;; This is a directory. ! (let ((files ! (condition-case err ! (directory-files from nil dired-re-no-dot) ! (file-error ! (push (dired-make-relative from) ! dired-create-file-failures) ! (dired-log "Copying error for %s:\n%s\n" from err) ! (setq dirfailed t) ! nil)))) (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more. ! (unless dirfailed ! (if (file-exists-p to) ! (or top (dired-handle-overwrite to)) ! (condition-case err ! (make-directory to) ! (file-error ! (push (dired-make-relative from) ! dired-create-file-failures) ! (setq files nil) ! (dired-log "Copying error for %s:\n%s\n" from err))))) (while files (dired-copy-file-recursive (expand-file-name (car files) from) (expand-file-name (car files) to) ok-flag preserve-time nil recursive) ! (pop files))) ;; Not a directory. (or top (dired-handle-overwrite to)) ! (condition-case err ! (if (stringp (car attrs)) ! ;; It is a symlink ! (make-symbolic-link (car attrs) to ok-flag) ! (copy-file from to ok-flag dired-copy-preserve-time)) ! (file-date-error ! (push (dired-make-relative from) ! dired-create-file-failures) ! (dired-log "Can't set date on %s:\n%s\n" from err)) ! (file-error ! (push (dired-make-relative from) ! dired-create-file-failures) ! (dired-log "Copying error for %s:\n%s\n" from err)))))) ;;;###autoload (defun dired-rename-file (file newname ok-if-already-exists) *************** *** 1297,1303 **** ;; newfile's entry, or t to use the current marker character if the ;; oldfile was marked. ! (let (failures skipped (success-count 0) (total (length fn-list))) (let (to overwrite-query overwrite-backup-query) ; for dired-handle-overwrite (mapcar --- 1324,1330 ---- ;; newfile's entry, or t to use the current marker character if the ;; oldfile was marked. ! (let (dired-create-files-failures skipped (success-count 0) (total (length fn-list))) (let (to overwrite-query overwrite-backup-query) ; for dired-handle-overwrite (mapcar *************** *** 1340,1356 **** (dired-add-file to actual-marker-char)) (file-error ; FILE-CREATOR aborted (progn ! (setq failures (cons (dired-make-relative from) failures)) (dired-log "%s `%s' to `%s' failed:\n%s\n" operation from to err)))))))) fn-list)) (cond ! (failures (dired-log-summary (format "%s failed for %d of %d file%s" ! operation (length failures) total (dired-plural-s total)) ! failures)) (skipped (dired-log-summary (format "%s: %d of %d file%s skipped" --- 1367,1384 ---- (dired-add-file to actual-marker-char)) (file-error ; FILE-CREATOR aborted (progn ! (push (dired-make-relative from) ! dired-create-files-failures) (dired-log "%s `%s' to `%s' failed:\n%s\n" operation from to err)))))))) fn-list)) (cond ! (dired-create-files-failures (dired-log-summary (format "%s failed for %d of %d file%s" ! operation (length dired-create-files-failures) total (dired-plural-s total)) ! dired-create-files-failures)) (skipped (dired-log-summary (format "%s: %d of %d file%s skipped"
_______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug