~ 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