Copy properties when optimizing bodies of lambda/define-values.

Closes PR 11860.
This commit is contained in:
Sam Tobin-Hochstadt 2011-04-18 15:40:31 -04:00
parent 187dc63493
commit 981616d504

View File

@ -37,7 +37,9 @@
;; boring cases, just recur down
(pattern ((~and op (~or (~literal #%plain-lambda) (~literal define-values)))
formals e:expr ...)
#:with opt #`(op formals #,@(syntax-map (optimize) #'(e ...))))
#:with opt (syntax-track-origin (quasisyntax/loc this-syntax (op formals #,@(syntax-map (optimize) #'(e ...))))
this-syntax
#'op))
(pattern (case-lambda [formals e:expr ...] ...)
;; optimize all the bodies
#:with (opt-parts ...)