[gambit-list] safe dynamic-wind
christian at pflanze.mine.nu
Sun Jan 8 03:15:49 EST 2006
At 2:30 Uhr -0500 08.01.2006, Marc Feeley wrote:
>On 7-Jan-06, at 10:24 AM, Christian wrote:
>>So it helps as long as I don't short-cut away my continuation in
>>the repl. It's also rather ugly that I don't immediately see the
>>position of the code where the error happened when being thrown
>>into the debugger.
>I don't understand. What is ugly? You know about the ,y REPL
>command. Do you mean you would like the system to implicitly
>execute this command when a new REPL is started? I'm not convinced
>this is useful because the error message contains all this
>information, but in a different (more novice friendly) format.
>>(For inspecting the lexical environment of the place where the
>>debugger happens I'll also step one up, and then it's too easy to
>>forget to step back before continuing.)
What I wanted to say is only: if I use my safer-dynamic-wind
implementation (which uses the trick to capture the result of running
(old-handler e) [e.g. the repl] before returning from the handler),
then if old-handler is the repl and an error is thrown, I'm put into
the repl, but the first continuation being shown by the repl is the
(let ((result ..)) ..) one, and not the one where (error ..) has been
called. So if I wanted to work around the exception-catcher bug by
using this safer-dynamic-wind code, one has to first enter ,+ to
really see the place where the error happened.
Of course, that's now moot since you have fixed the bug.
More information about the Gambit-list