~ chicken-core (chicken-5) 5572cec09b06cd7dbeeb88d00234fe333afd8f7f
commit 5572cec09b06cd7dbeeb88d00234fe333afd8f7f
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Mar 18 19:27:05 2011 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Fri Mar 18 19:27:05 2011 +0100
module uses ##sys#validate-exports
diff --git a/expand.scm b/expand.scm
index 9b12f0ba..7e1e3467 100644
--- a/expand.scm
+++ b/expand.scm
@@ -1313,17 +1313,18 @@
(##sys#er-transformer
(lambda (x r c)
(##sys#check-syntax 'module x '(_ symbol _ . #(_ 0)))
- `(##core#module
- ,(cadr x)
- ,(if (eq? '* (##sys#strip-syntax (caddr x)))
- #t
- (caddr x))
- ,@(let ((body (cdddr x)))
- (if (and (pair? body)
- (null? (cdr body))
- (string? (car body)))
- `((##core#include ,(car body)))
- body))))))
+ (let ((exports (##sys#validate-exports (##sys#strip-syntax (caddr x)) (cadr x))))
+ `(##core#module
+ ,(cadr x)
+ ,(if (eq? '* exports)
+ #t
+ (caddr x))
+ ,@(let ((body (cdddr x)))
+ (if (and (pair? body)
+ (null? (cdr body))
+ (string? (car body)))
+ `((##core#include ,(car body)))
+ body)))))))
(##sys#extend-macro-environment
'begin-for-syntax
Trap