expand in a fresh namespace

svn: r9013
This commit is contained in:
Matthew Flatt 2008-03-18 02:26:11 +00:00
parent 2834b00b7e
commit fbb0ced20f

View File

@ -795,13 +795,14 @@
(let ((var (string->symbol (java-name->scheme variable)))) (let ((var (string->symbol (java-name->scheme variable))))
(or (memq var (scheme-record-provides mod-ref)) (or (memq var (scheme-record-provides mod-ref))
(let ((mod-syntax (datum->syntax-object #f (let ((mod-syntax (datum->syntax-object #f
`(module m mzscheme `(,#'module m mzscheme
(require ,(generate-require-spec (java-name->scheme (scheme-record-name mod-ref)) (require ,(generate-require-spec (java-name->scheme (scheme-record-name mod-ref))
(scheme-record-path mod-ref))) (scheme-record-path mod-ref)))
,var) ,var)
#f))) #f)))
(with-handlers ((exn? (lambda (e) (fail)))) (with-handlers ((exn? (lambda (e) (fail))))
(expand mod-syntax)) (parameterize ([current-namespace (make-namespace)])
(expand mod-syntax)))
(set-scheme-record-provides! mod-ref (cons var (scheme-record-provides mod-ref))))))) (set-scheme-record-provides! mod-ref (cons var (scheme-record-provides mod-ref)))))))
;generate-require-spec: string (list string) -> (U string (list symbol string+)) ;generate-require-spec: string (list string) -> (U string (list symbol string+))