Fix splicing-parameterize around begin

This commit is contained in:
Alexis King 2018-12-13 14:28:50 -06:00
parent 1d1245b092
commit 15d0ccc2c0
2 changed files with 11 additions and 1 deletions

View File

@ -2212,6 +2212,16 @@
(read i))) (read i)))
(test #t andmap immutable? (dynamic-require ''defines-immutable-objects 'objs)))) (test #t andmap immutable? (dynamic-require ''defines-immutable-objects 'objs))))
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; `splicing-parameterize` + `begin`
(test #t 'splicing-parameterize
(let ([param (make-parameter #f)])
(splicing-parameterize ([param #t])
(begin
(define x (param))))
x))
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(report-errs) (report-errs)

View File

@ -489,7 +489,7 @@
[(begin new-body ...) [(begin new-body ...)
(syntax/loc/props expanded-body (syntax/loc/props expanded-body
(begin (begin
(splicing-parameterize-body parameterization new-body) (splicing-parameterize-body scopeless-id scoped-id parameterization new-body)
...))] ...))]
[(define-values ids rhs) [(define-values ids rhs)
(quasisyntax/loc/props expanded-body (quasisyntax/loc/props expanded-body