From 85fe092ed95089b6706ef130ba461de62d6eea9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Wed, 7 Sep 2016 18:07:17 +0200 Subject: [PATCH] Fixes #1452 syntax-parse discards the 'disappeared-uses property added by pattern-expanders --- racket/collects/syntax/parse/private/rep.rkt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/racket/collects/syntax/parse/private/rep.rkt b/racket/collects/syntax/parse/private/rep.rkt index 3a1196b3db..c4bc935485 100644 --- a/racket/collects/syntax/parse/private/rep.rkt +++ b/racket/collects/syntax/parse/private/rep.rkt @@ -168,8 +168,12 @@ (define (disappeared! x) (cond [(identifier? x) + (when (syntax-property x 'disappeared-uses) + (record-disappeared-uses (syntax-property x 'disappeared-uses))) (record-disappeared-uses (list x))] [(and (stx-pair? x) (identifier? (stx-car x))) + (when (syntax-property (stx-car x) 'disappeared-uses) + (record-disappeared-uses (syntax-property (stx-car x) 'disappeared-uses))) (record-disappeared-uses (list (stx-car x)))] [else (raise-type-error 'disappeared! @@ -252,7 +256,7 @@ (append/check-lits+litsets lits datum-lits litsets)) (define-values (convs-rules convs-defs) (for/fold ([convs-rules null] [convs-defs null]) - ([conv-entry (in-list convs)]) + ([conv-entry (in-list convs)]) (let* ([c (car conv-entry)] [argu (cdr conv-entry)] [get-parser-id (conventions-get-procedures c)]