From c7ec7dd2b9fed04a74d2c2f6d186f1b2dd67818a Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 29 May 2002 22:56:25 +0000 Subject: [PATCH] . original commit: c56ad667f638fc1c94d613d0cfb4f400f4e2af59 --- collects/mzlib/file.ss | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/collects/mzlib/file.ss b/collects/mzlib/file.ss index 11f16aa..9e26494 100644 --- a/collects/mzlib/file.ss +++ b/collects/mzlib/file.ss @@ -8,6 +8,7 @@ file-name-from-path path-only delete-directory/files + copy-directory/files make-directory* make-temporary-file find-library @@ -210,6 +211,19 @@ "encountered ~a, neither a file nor a directory" path)])) + (define (copy-directory/files src dest) + (cond + [(file-exists? src) + (copy-file src dest)] + [(directory-exists? src) + (make-directory dest) + (for-each (lambda (e) (copy-directory/files (build-path src e) + (build-path dest e))) + (directory-list src))] + [else (error 'copy-directory/files + "encountered ~a, neither a file nor a directory" + src)])) + (define (make-directory* dir) (let-values ([(base name dir?) (split-path dir)]) (when (and (string? base)