~ chicken-core (chicken-5) 6fac44ad48df0441dc8f67bbeec266514bc1b8f0
commit 6fac44ad48df0441dc8f67bbeec266514bc1b8f0 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Sat Sep 26 08:37:41 2015 +0200 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Sat Sep 26 10:36:19 2015 +0200 Initialize saved-environments list for compiled modules Also restores the test for using `module-environment` with a non-primitive module. diff --git a/modules.scm b/modules.scm index 0d29b930..38b34da8 100644 --- a/modules.scm +++ b/modules.scm @@ -382,6 +382,10 @@ (lambda (nexp) (set-car! (cdr nexp) (merge-se (or (cadr nexp) '()) senv))) nexps) + (set-module-saved-environments! + mod + (cons (merge-se (##sys#current-environment) vexports sexps) + (##sys#macro-environment))) (set! ##sys#module-table (cons (cons name mod) ##sys#module-table)) mod)) diff --git a/tests/environment-tests.scm b/tests/environment-tests.scm index 0e84d3cb..0f1444c9 100644 --- a/tests/environment-tests.scm +++ b/tests/environment-tests.scm @@ -41,10 +41,13 @@ (define foo-env (module-environment 'foo)) (define csi-env (module-environment 'csi)) +(define extras-env (module-environment 'extras)) (test-equal (eval '(bar) foo-env) 99) (test-error (eval 'baz foo-env)) (test-equal (eval '(editor-command) csi-env) #f) (test-error (eval 'baz csi-env)) +(test-equal (eval '(format "~a" 1) extras-env) "1") +(test-error (eval 'baz extras-env)) (test-end)Trap