[racket-dev] syntax-case and stack trace

From: Casey Klein (clklein at eecs.northwestern.edu)
Date: Sat Jul 16 19:42:53 EDT 2011

On Sat, Jul 16, 2011 at 9:30 AM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> On Jul 16, 2011, at 8:19 AM, Matthew Flatt wrote:
>
>> At Fri, 15 Jul 2011 21:53:59 -0500, Casey Klein wrote:
>>> FWIW, the big taints commit also changed the value of this expression:
>>>
>>> (let ([s #'x])
>>>  (equal? s
>>>          (with-handlers ([exn:fail:syntax? (compose first
>>> exn:fail:syntax-exprs)])
>>>            (raise-syntax-error #f "message" s))))
>>
>> That's intentional, although I don't think it's correctly documented
>> (and probably not yet implemented right) that syntax objects in an
>> `exn:fail:syntax' are always tainted. I'll work on that.
>>
>> The expression could be fixed for taints as
>>
>>  (let ([s (syntax-taint #'x)])
>>    (equal? s
>>            ....))
>
> Will taint information show up in the syntax objects in the drr repl?
>

It doesn't currently AFAICT.



Posted on the dev mailing list.