Commit 6fa1f651 authored by Chong Yidong's avatar Chong Yidong
Browse files

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

parent df61c790
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
......
......@@ -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))
......
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