~ chicken-r7rs (master) 2b99d51f94ec4cb41711b8fdc317b3a030e893a6
commit 2b99d51f94ec4cb41711b8fdc317b3a030e893a6 Author: Peter Bex <peter@more-magic.net> AuthorDate: Fri Jul 26 18:55:59 2013 +0000 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Fri Jul 26 18:55:59 2013 +0000 Fix import spec to expand to use instead of just plain import; the code needs to be loaded! diff --git a/r7rs-compile-time.scm b/r7rs-compile-time.scm index 1dfa50d..11c1a08 100644 --- a/r7rs-compile-time.scm +++ b/r7rs-compile-time.scm @@ -92,9 +92,11 @@ (spec (syntax-error 'define-library "invalid export specifier" spec name))) specs)) (define (parse-imports specs) - (map (lambda (spec) - `(import ,(fixup-import/export-spec spec 'import))) - specs)) + ;; What R7RS calls IMPORT, we call USE (it imports *and* loads code) + ;; XXX TODO: Should be import-for-syntax'ed as well? + `(##core#require-extension + ,(map (lambda (s) (fixup-import/export-spec s 'import)) specs) + #t)) (define (process-includes fnames ci?) `(##core#begin ,@(map (match-lambda @@ -113,7 +115,7 @@ ,(parse-decls more))) ((('import specs ...) . more) `(##core#begin - ,@(parse-imports specs) + ,(parse-imports specs) ,(parse-decls more))) ((('include fnames ...) . more) `(##core#begin @@ -128,8 +130,8 @@ ,@(process-include-decls fnames) ,(parse-decls more))) ((('cond-expand decls ...) . more) - `(##core#begin - ,(parse-decls (process-cond-expand decls)) + `(##core#begin + ,(parse-decls (process-cond-expand decls)) ,(parse-decls more))) ((('begin code ...) . more) `(##core#beginTrap