~ 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#begin 
Trap