diff --git a/lens-data/lens/private/syntax/srcloc.rkt b/lens-data/lens/private/syntax/srcloc.rkt index 08e80f5..74ed07a 100644 --- a/lens-data/lens/private/syntax/srcloc.rkt +++ b/lens-data/lens/private/syntax/srcloc.rkt @@ -39,10 +39,13 @@ module+ test ;; syntax-set-source-location : Syntax Source-Location -> Syntax (define (syntax-set-source-location stx src) - (datum->syntax stx - (syntax-e stx) - (source-location->list src) - stx)) + (define stx* (syntax-disarm stx #f)) + (syntax-rearm + (datum->syntax stx* + (syntax-e stx*) + (source-location->list src) + stx*) + stx)) (define syntax-srcloc-lens (make-lens