1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-07 20:54:32 +00:00

* lisp/files.el (copy-directory): Fix arguments to the recursive call.

This commit is contained in:
Chong Yidong 2011-01-31 12:03:37 -05:00
parent df61c79005
commit 6fa1f65165
2 changed files with 19 additions and 17 deletions

View File

@ -1,3 +1,7 @@
2011-01-31 Chong Yidong <cyd@stupidchicken.com>
* files.el (copy-directory): Fix arguments to recursive call.
2011-01-29 Chong Yidong <cyd@stupidchicken.com>
* files.el (copy-directory): If destination is an existing

View File

@ -4767,26 +4767,24 @@ this happens by default."
(file-name-nondirectory
(directory-file-name directory))
newname))
(if (and (file-exists-p newname)
(not (file-directory-p newname)))
(error "Cannot overwrite non-directory %s with a directory"
newname))
(and (file-exists-p newname)
(not (file-directory-p newname))
(error "Cannot overwrite non-directory %s with a directory"
newname))
(make-directory newname t))
;; Copy recursively.
(mapc
(lambda (file)
(let ((target (expand-file-name
(file-name-nondirectory file) newname))
(attrs (file-attributes file)))
(cond ((file-directory-p file)
(copy-directory file target keep-time parents))
((stringp (car attrs)) ; Symbolic link
(make-symbolic-link (car attrs) target t))
(t
(copy-file file target t keep-time)))))
;; We do not want to copy "." and "..".
(directory-files directory 'full directory-files-no-dot-files-regexp))
(dolist (file
;; We do not want to copy "." and "..".
(directory-files directory 'full
directory-files-no-dot-files-regexp))
(if (file-directory-p file)
(copy-directory file newname keep-time parents)
(let ((target (expand-file-name (file-name-nondirectory file) newname))
(attrs (file-attributes file)))
(if (stringp (car attrs)) ; Symbolic link
(make-symbolic-link (car attrs) target t)
(copy-file file target t keep-time)))))
;; Set directory attributes.
(set-file-modes newname (file-modes directory))