Commit b8b45afc authored by Michael Albinus's avatar Michael Albinus

* files.el (copy-directory): Compute target for recursive

directories with identical names.  (Bug#5343)
parent 832fdcab
2010-01-12 Michael Albinus <michael.albinus@gmx.de>
* files.el (copy-directory): Compute target for recursive
directories with identical names. (Bug#5343)
2010-01-12 Glenn Morris <rgm@gnu.org>
* mail/emacsbug.el (report-emacs-bug-pretest-address): Set
......
......@@ -4714,20 +4714,17 @@ this happens by default."
;; Compute target name.
(setq directory (directory-file-name (expand-file-name directory))
newname (directory-file-name (expand-file-name newname)))
(if (and (file-directory-p newname)
(not (string-equal (file-name-nondirectory directory)
(file-name-nondirectory newname))))
(setq newname
(expand-file-name (file-name-nondirectory directory) newname)))
(if (not (file-directory-p newname)) (make-directory newname parents))
;; Copy recursively.
(mapc
(lambda (file)
(if (file-directory-p file)
(copy-directory file newname keep-time parents)
(copy-file file newname t keep-time)))
;; We do not want to delete "." and "..".
(let ((target (expand-file-name
(file-name-nondirectory file) newname)))
(if (file-directory-p file)
(copy-directory file target keep-time parents)
(copy-file file target t keep-time))))
;; We do not want to copy "." and "..".
(directory-files directory 'full directory-files-no-dot-files-regexp))
;; Set directory attributes.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment