~ chicken-core (master) 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