* files.el (copy-directory): Compute target for recursive
directories with identical names. (Bug#5343)
This commit is contained in:
parent
832fdcab24
commit
b8b45afc52
2 changed files with 11 additions and 9 deletions
|
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue