Add a dummy lambda expansion to signature compilation to ensure that the
expressions only refer to locally-bound names or names that are part of the signature itself. svn: r17573 original commit: ea20ee160f1769e518208aec8b49aef0d1076cee
This commit is contained in:
parent
623bfd4e9b
commit
79eec9556f
|
@ -307,6 +307,7 @@
|
|||
(with-syntax (((super-rtime ...) super-rtimes)
|
||||
((super-name ...) super-names)
|
||||
((var ...) all-bindings)
|
||||
((ctc ...) all-ctcs)
|
||||
((((vid ...) . vbody) ...) all-val-defs)
|
||||
((((sid ...) . sbody) ...) all-stx-defs))
|
||||
#`(begin
|
||||
|
@ -333,7 +334,14 @@
|
|||
(quote-syntax #,c))
|
||||
#'#f))
|
||||
all-ctcs))
|
||||
(quote-syntax #,sigid))))))))
|
||||
(quote-syntax #,sigid))))
|
||||
(define-values ()
|
||||
(begin
|
||||
(λ (var ...)
|
||||
(letrec-syntaxes+values
|
||||
([(sid ...) sbody] ...) ([(vid ...) vbody] ...)
|
||||
ctc ...))
|
||||
(values)))))))
|
||||
(else
|
||||
(syntax-case (car sig-exprs) (define-values define-syntaxes contracted)
|
||||
(x
|
||||
|
|
Loading…
Reference in New Issue
Block a user