Traverse #%expression when looking for annotations.

Bug found by @mflatt's change to `syntax-parameterize`.
This commit is contained in:
Sam Tobin-Hochstadt 2016-07-29 15:51:33 -07:00
parent 43aa1023c1
commit 66da5eef00
2 changed files with 2 additions and 0 deletions

View File

@ -27,6 +27,7 @@
#:with (expr ...) #'(cls.e ... body))
(pattern (letrec-values cls:lv-clauses body)
#:with (expr ...) #'(cls.e ... body))
(pattern (#%expression expr ...))
(pattern (#%plain-app expr ...))
(pattern (if expr ...))
(pattern (with-continuation-mark expr ...))

View File

@ -31,6 +31,7 @@
(define-syntax-class rebuild-let*
#:literal-sets (kernel-literals)
#:attributes (mapping flag-mapping)
(pattern (#%expression :rebuild-let*))
(pattern (let-values ([(new-id) e:cl-rhs]) body:rebuild-let*)
#:attr mapping (dict-set (attribute body.mapping) #'e.i #'new-id)
#:attr flag-mapping (if (attribute e.cond)