On Dec 13, 1:01 pm, "Leslie P. Polzer" <[email protected]>
wrote:
> I don't have time to code up a solution myself, but I'd happily accept a 
> patch!
>
> But if you write a patch be sure to include at least one test case for this.

Hi Leslie,

I have prepared the patch "Fix for tagbody->catch->go; towards fully
supporting catch/throw"
(will send it to you offline).

It contains the test CL-CONT-TEST::TAGBODY-9 that deals with the
problem
mentioned above. The fix changes the CATCH handler to actually walk
the body.
This caused one of the existing catch/throw tests to fail, so I added
a new handler for THROW,
which made all the tests pass again :).

I noticed that this new handling of catch/throw is beneficial in other
cases,
so I added the following tests

CL-CONT-TEST::CATCH/THROW-3,
CL-CONT-TEST::CATCH/THROW-4, CL-CONT-TEST::CATCH/THROW-5,
CL-CONT-TEST::CATCH/THROW-6, CL-CONT-TEST::CATCH/THROW-7,
CL-CONT-TEST::CATCH/THROW-8

which are also fixed by this change.

I would not dare to say that catch/throw is fully supported
(especially regarding call/cc, which
it is definitely not), but this could be a first step towards that
goal.

Regards,
  Kilian

-- 
You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/weblocks?hl=en.

Reply via email to