From e55fe0dc654bb7cd01e978a7080b6087788f173f Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Tue, 31 Aug 2004 22:30:52 +0000 Subject: [PATCH] r9949: delete-directory-and-files update --- os.lisp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/os.lisp b/os.lisp index 0861b07..5b6fff3 100644 --- a/os.lisp +++ b/os.lisp @@ -136,7 +136,15 @@ returns (VALUES output-string pid)" )) -(defun delete-directory-and-files (dir) - #+allegro (excl:delete-directory-and-files dir) - #-(or allegro) (warn "delete-directory-and-files not implemented for this platform.") - ) +(defun delete-directory-and-files (dir &key (if-does-not-exist :error) (quiet t) force) + #+allegro (excl:delete-directory-and-files dir :if-does-not-exist if-does-not-exist + :quiet quiet :force force) + #-(or allegro) (declare (ignore force)) + #-(or allegro) (cond + ((probe-directory dir) + (let ((cmd (format nil "rm -rf ~A" (namestring dir)))) + (unless quiet + (format *trace-output* ";; ~A" cmd)) + (command-output cmd))) + ((eq if-does-not-exist :error) + (error "Directory ~A does not exist [delete-directory-and-files]." dir)))) -- 2.34.1