parent
471f18c02d
commit
becf34a79b
|
@ -1276,6 +1276,22 @@
|
||||||
(void))))
|
(void))))
|
||||||
(test 10 eval `(dynamic-require '(submod 'm m) 'x)))
|
(test 10 eval `(dynamic-require '(submod 'm m) 'x)))
|
||||||
|
|
||||||
|
;; ----------------------------------------
|
||||||
|
;; Check bad lift provide
|
||||||
|
|
||||||
|
(err/rt-test
|
||||||
|
(eval '(module a '#%kernel
|
||||||
|
(#%require (for-syntax '#%kernel))
|
||||||
|
(define-syntaxes (m)
|
||||||
|
(lambda (stx)
|
||||||
|
(let-values ([(ctx) (syntax-local-make-definition-context)])
|
||||||
|
(syntax-local-bind-syntaxes (list (quote-syntax x)) (quote-syntax 5) ctx)
|
||||||
|
(syntax-local-lift-provide (internal-definition-context-introduce ctx (quote-syntax x) 'add))
|
||||||
|
(quote-syntax (void)))))
|
||||||
|
(m)))
|
||||||
|
exn:fail:syntax?
|
||||||
|
#rx"provided identifier is not defined or required")
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
;; Check module lifting in a top-level context
|
;; Check module lifting in a top-level context
|
||||||
|
|
||||||
|
|
|
@ -76908,7 +76908,7 @@ static const char *startup_source =
|
||||||
"(let-values(((b_0)(resolve+shift/extra-inspector spec_0 at-phase_0 ns_0)))"
|
"(let-values(((b_0)(resolve+shift/extra-inspector spec_0 at-phase_0 ns_0)))"
|
||||||
"(let-values((()"
|
"(let-values((()"
|
||||||
"(begin"
|
"(begin"
|
||||||
"(if b_0"
|
"(if(module-binding? b_0)"
|
||||||
"(void)"
|
"(void)"
|
||||||
"(let-values()"
|
"(let-values()"
|
||||||
"(raise-syntax-error$1"
|
"(raise-syntax-error$1"
|
||||||
|
|
|
@ -86603,7 +86603,7 @@
|
||||||
(lambda (spec_0 orig-s_0 sym_0 at-phase_0 ns_0 rp_0 protected?_0)
|
(lambda (spec_0 orig-s_0 sym_0 at-phase_0 ns_0 rp_0 protected?_0)
|
||||||
(let ((b_0 (resolve+shift/extra-inspector spec_0 at-phase_0 ns_0)))
|
(let ((b_0 (resolve+shift/extra-inspector spec_0 at-phase_0 ns_0)))
|
||||||
(begin
|
(begin
|
||||||
(if b_0
|
(if (module-binding? b_0)
|
||||||
(void)
|
(void)
|
||||||
(raise-syntax-error$1
|
(raise-syntax-error$1
|
||||||
'provide
|
'provide
|
||||||
|
|
|
@ -183,7 +183,7 @@
|
||||||
|
|
||||||
(define (parse-identifier! spec orig-s sym at-phase ns rp protected?)
|
(define (parse-identifier! spec orig-s sym at-phase ns rp protected?)
|
||||||
(define b (resolve+shift/extra-inspector spec at-phase ns))
|
(define b (resolve+shift/extra-inspector spec at-phase ns))
|
||||||
(unless b
|
(unless (module-binding? b)
|
||||||
(raise-syntax-error provide-form-name "provided identifier is not defined or required" orig-s spec))
|
(raise-syntax-error provide-form-name "provided identifier is not defined or required" orig-s spec))
|
||||||
(define as-transformer? (binding-for-transformer? b spec at-phase ns))
|
(define as-transformer? (binding-for-transformer? b spec at-phase ns))
|
||||||
(define immed-b (resolve+shift spec at-phase #:immediate? #t))
|
(define immed-b (resolve+shift spec at-phase #:immediate? #t))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user