~ chicken-core (chicken-5) 861b106b2bf4baa088ee6adf868c7fb3a0191636
commit 861b106b2bf4baa088ee6adf868c7fb3a0191636 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Thu Jul 5 20:48:56 2018 +1200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Jul 5 13:55:17 2018 +0200 Remove directories when uninstalling extensions Signed-off-by: felix <felix@call-with-current-continuation.org> diff --git a/chicken-uninstall.scm b/chicken-uninstall.scm index 6a692c83..148bc880 100644 --- a/chicken-uninstall.scm +++ b/chicken-uninstall.scm @@ -111,20 +111,17 @@ files) (delete-installed-file ifile))) -(define (delete-file-command platform) - (case platform - ((unix) "rm -f ") - ((windows) "del /q /s "))) - (define (delete-installed-file fname) (cond ((not (file-exists? fname)) (warning "file does not exist" fname)) ((and sudo-uninstall (eq? 'unix default-platform)) - (let ((r (system (string-append "sudo " (delete-file-command 'unix) - "\"" fname "\"")))) + (let ((r (system (string-append "sudo rm -f -r " (qs fname))))) (unless (zero? r) (warning "deleting file failed" fname)))) - (else (delete-file fname)))) + ((directory-exists? fname) + (delete-directory fname #t)) + (else + (delete-file fname)))) (define (uninstall pats mtch) (let ((eggs (gather-eggs pats mtch)))Trap