From 7d556d4006d13e45b3a8339eef85f847d3fb98ec Mon Sep 17 00:00:00 2001 From: Alexis King Date: Fri, 20 Apr 2018 20:40:07 -0500 Subject: [PATCH] Preserve some coercion behavior of old internal-definition-context-apply mzlib/unit200 relies upon this behavior, even though it appears to have been mostly accidental, so this maintains it for the sake of backwards-compatibility. --- racket/collects/racket/syntax.rkt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/racket/collects/racket/syntax.rkt b/racket/collects/racket/syntax.rkt index d88b85cff7..fffab8ca01 100644 --- a/racket/collects/racket/syntax.rkt +++ b/racket/collects/racket/syntax.rkt @@ -187,7 +187,10 @@ ;; Included for backwards compatibility. (define (internal-definition-context-apply intdefs stx) - (internal-definition-context-introduce intdefs stx 'add)) + ; The old implementation of internal-definition-context-apply implicitly converted its stx argument + ; to syntax, which some things seem to (possibly unintentionally) rely on, so replicate that + ; behavior here: + (internal-definition-context-introduce intdefs (datum->syntax #f stx) 'add)) (define (syntax-local-eval stx [intdefs '()]) (let* ([name (generate-temporary)]