~ chicken-core (chicken-5) ad38d9ff4764382450365d4fdd7fec7d6827dc75


commit ad38d9ff4764382450365d4fdd7fec7d6827dc75
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Sep 30 22:32:22 2016 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun Nov 13 11:41:48 2016 +0100

    bugfixes in chicken-uninstall

diff --git a/chicken-uninstall.scm b/chicken-uninstall.scm
index 0d16bc6e..991f3bda 100644
--- a/chicken-uninstall.scm
+++ b/chicken-uninstall.scm
@@ -66,10 +66,10 @@
   (exit code))
 
 (define (ask eggs)
-  (print (string-intersperse
+  (print* (string-intersperse
            (append '("About to delete the following extensions:\n\n")
                    (map (cut string-append "  " <> "\n") eggs)
-                   '("\nDo you want to proceed ? (no/yes)"))
+                   '("\nDo you want to proceed ? (no/yes) "))
            ""))
   (flush-output)
   (let loop ()
@@ -86,13 +86,14 @@
   (list->string (reverse (left (reverse (left (string->list str)))))))
  
 (define (remove-extension egg #!optional (repo (repo-path)))
-  (and-let* ((files (get-egg-property* (load-egg-info egg) 'installed-files)))
+  (and-let* ((ifile (make-pathname repo egg +egg-info-extension+))
+             (files (get-egg-property* (load-egg-info ifile) 'installed-files)))
     (for-each
       (lambda (f)
         (let ((p (if (absolute-pathname? f) f (make-pathname repo f))))
           (when (file-exists? p) (delete-installed-file p))))
-      (cdr files)))
-  (delete-installed-file (make-pathname repo egg +egg-info-extension+)))
+      (cdr files))
+    (delete-installed-file ifile)))
 
 (define (delete-file-command platform)
   (case platform
Trap