[racket] syntax-parse error reporting for ...+ patterns
On 11/01/2010 02:23 PM, Casey Klein wrote:
> I'd like to rework Redex's `define-language' form to use syntax-parse,
> but I'm having trouble getting the error message I want.
>
> Here's the best I've been able to do (for a simplification of
> `define-language'):
>
> (define-syntax (define-language stx)
> (syntax-parse stx
> [(_ lang:id (nt:id (~describe "non-terminals" (~seq prod:expr ...+))) ...)
> #'(void)]))
>
> This produces a reasonable error message
>
>> (define-language L (q))
> define-language: expected non-terminals in: ()
>
> but it highlights the entire form, instead of just the (q) part.
>
> How can I get a more precise highlight?
This is just a bug in syntax-parse. I hope to check in a fix soon.
Ryan