~ chicken-core (chicken-5) 0d2bf2587c5f2f874f1934cb3ba7fc069e059ced


commit 0d2bf2587c5f2f874f1934cb3ba7fc069e059ced
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sun Apr 30 11:32:51 2017 +1200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sun Apr 30 11:32:51 2017 +1200

    Fix chicken-install error when user declines egg upgrade
    
    Previously, chicken-install would blow out when the user declined an egg
    upgrade, since the `dependencies` list would contain an entry that was
    not present in `canonical-eggs` and #f would appear the ordered egg
    list. To fix this, we just filter declined eggs from the ordered list.

diff --git a/chicken-install.scm b/chicken-install.scm
index 133d9f9d..51c406d9 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -838,7 +838,7 @@
 
 (define (order-installed-eggs)
   (let* ((dag (reverse (sort-dependencies dependencies string=?)))
-         (ordered (map (cut assoc <> canonical-eggs) dag)))
+         (ordered (filter-map (cut assoc <> canonical-eggs) dag)))
     (unless quiet
       (d "install order:~%")
       (pp dag))
Trap