parent
de27be536d
commit
6018dcfdf6
|
@ -2331,6 +2331,28 @@ case of module-leve bindings; it doesn't cover local bindings.
|
|||
|
||||
(test 0 dynamic-require ''uses-a-namespace-to-mutate-x 'done)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Check that syntax properties are propagated from a
|
||||
;; `module` form to an implicit `#%module-begin`
|
||||
|
||||
(module module-begin-to-export-foo-property racket/base
|
||||
(require (for-syntax racket/base))
|
||||
(provide (rename-out [mb #%module-begin]))
|
||||
|
||||
(define-syntax (mb stx)
|
||||
(with-syntax ([FOO-PROP (syntax-property stx 'foo)])
|
||||
#'(#%module-begin
|
||||
(provide prop)
|
||||
(define prop 'FOO-PROP)))))
|
||||
|
||||
(eval (syntax-property
|
||||
(datum->syntax
|
||||
#f
|
||||
'(module export-foo-property-as-bar 'module-begin-to-export-foo-property))
|
||||
'foo "bar"))
|
||||
|
||||
(test "bar" dynamic-require ''export-foo-property-as-bar 'prop)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(report-errs)
|
||||
|
|
|
@ -614,7 +614,7 @@
|
|||
;; If `mb-id` is not bound, we'd like to give a clear error message
|
||||
(unless (resolve mb-id phase)
|
||||
(raise-syntax-error #f "no #%module-begin binding in the module's language" s))
|
||||
(define mb (datum->syntax disarmed-scopes-s `(,mb-id ,@bodys) s))
|
||||
(define mb (datum->syntax disarmed-scopes-s `(,mb-id ,@bodys) s s))
|
||||
(log-expand mb-ctx 'tag mb)
|
||||
(when log-rename-one?
|
||||
(log-expand mb-ctx 'rename-one mb))
|
||||
|
|
|
@ -71822,7 +71822,8 @@ static const char *startup_source =
|
|||
" \"no #%module-begin binding in the module's language\""
|
||||
" s_759)))"
|
||||
"(values))))"
|
||||
"(let-values(((mb_2)(datum->syntax$1 disarmed-scopes-s_0(list* mb-id_0 bodys_19) s_759)))"
|
||||
"(let-values(((mb_2)"
|
||||
"(datum->syntax$1 disarmed-scopes-s_0(list* mb-id_0 bodys_19) s_759 s_759)))"
|
||||
"(let-values((()"
|
||||
"(begin"
|
||||
"(let-values(((obs_132)(expand-context-observer mb-ctx_1)))"
|
||||
|
|
Loading…
Reference in New Issue
Block a user