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

Re: non-local exits are icky



>>>>> "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