From 981616d504c1c0c6f91effedc6166a324de328e3 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Mon, 18 Apr 2011 15:40:31 -0400 Subject: [PATCH] Copy properties when optimizing bodies of lambda/define-values. Closes PR 11860. --- collects/typed-scheme/optimizer/optimizer.rkt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/collects/typed-scheme/optimizer/optimizer.rkt b/collects/typed-scheme/optimizer/optimizer.rkt index 04bc1c790e..f9bc201792 100644 --- a/collects/typed-scheme/optimizer/optimizer.rkt +++ b/collects/typed-scheme/optimizer/optimizer.rkt @@ -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 ...)