guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scm_c_catch question


From: Ian Grant
Subject: Re: scm_c_catch question
Date: Mon, 15 Sep 2014 17:17:43 -0400

A while ago I posted this patch:

   http://lists.gnu.org/archive/html/guile-devel/2014-08/msg00058.html

No-one had anything to say about it. But I would like to know what to do if I want my code to work with the next release of Guile.

I think in retrospect this patch is too much. A better patch would leave the API alone, and just remove the existing check for the current throw handlers, and make the documentation clearer about exactly what "the dynamic context of the throw" really means.

If the catcher wants to 'fall through' to the main handler from the pre-unwind-handler, then she can just return from the pre-unwind-handler. So what is the function this check provides?

If we remove the check, then the dynamic context of the throw, in which the pre-unwind-handler is called, includes the throw-handlers in effect at the time of the throw., So if you throw the same exception from within the pre-unwind-handler, you re-enter it.

What I am proposing is a change to the actual semantics implemented, but it is arguably not a change to the semantics documented. Or have I missed the clearer definition somewhere else in the manual of what "the dynamic context of the throw" means, and which makes it clear that this is everything but the throw handlers in effect at the time?!

Ian




reply via email to

[Prev in Thread] Current Thread [Next in Thread]