From 8810183cb093fa53ba467d8ee01b9e30f47d1dd8 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Sat, 14 Oct 2017 21:47:54 +0200 Subject: [PATCH] Unbreak rnrs modules Somehow we managed to break (import r4rs), (import r4rs-null) and (import r5rs-null). This unbreaks imports of these builtin modules. It also adds a more descriptive comment as to why we don't require the "eval" unit as well. --- eval.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/eval.scm b/eval.scm index 10162865..87b64957 100644 --- a/eval.scm +++ b/eval.scm @@ -895,8 +895,15 @@ (define-foreign-variable uses-soname? bool "C_USES_SONAME") (define-constant core-unit-requirements - '((scheme ; XXX not totally correct, also needs eval - . (##core#require library)) + ;; The "scheme"/"rnrs" requirements are not totally correct, they + ;; all need "eval" as well, but that creates a cyclic dependency + ;; between eval and library, causing a segfault. + '((scheme . (##core#require library)) + ;; r5rs can be skipped, it is defined as an alias for "scheme" + (r4rs . (##core#require library)) + ;; Without an entry for *-null, we'd try to "load" an extension + (r4rs-null . (##core#begin)) + (r5rs-null . (##core#begin)) (chicken.foreign . (##core#require-for-syntax chicken-ffi-syntax)) (chicken.condition -- 2.11.0