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

Re: non-local exits are icky

This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.



>>>>> "Tom" == Tom Lord <lord@xxxxxxx> writes:

Tom> The SRFI is slightly unclear but I understand the section "Signalling
Tom> errors from external code" to mean that a call to something like
Tom> SCHEME_ARGUMENT_TYPE_ERROR does not return to its caller, but rather
Tom> directly to Scheme.

Tom> I gather also that SCHEME_CALL may result in a non-local exit past the
Tom> caller.

Correct.

Tom> Since the mechanism of these non-local exits is not specified and can
Tom> not be modified by C code, the FFI contains no provision for them to
Tom> perform unwind protection --- that's a serious omission.

But SCHEME_CALL takes you back to Scheme, where you can use
DYNAMIC-WIND.

I think I misunderstand your point.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla