From a2c4574688f24514093d6bdecb48fff38b76f8da Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Thu, 11 Nov 2010 14:47:52 -0700 Subject: [PATCH] syntax-parse: improved error for non-syntax attribute in syntax template --- collects/syntax/parse/private/runtime.rkt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/collects/syntax/parse/private/runtime.rkt b/collects/syntax/parse/private/runtime.rkt index d80c3daa13..1648fbf6d5 100644 --- a/collects/syntax/parse/private/runtime.rkt +++ b/collects/syntax/parse/private/runtime.rkt @@ -130,7 +130,11 @@ (raise-syntax-error #f (format "attribute is bound to non-syntax value: ~e" value) - (quote-syntax #,(attribute-mapping-name self))))))))) + (quote-syntax #,(or (let loop ([p (syntax-property stx 'disappeared-use)]) + (cond [(identifier? p) p] + [(pair? p) (or (loop (car p)) (loop (cdr p)))] + [else #f])) + (attribute-mapping-name self)))))))))) ;; check-syntax : nat any -> boolean ;; Returns #t if value is a (listof^depth syntax)