Mon Jul 27 14:58:19 CEST 2009

Errors from primitives

The simplest way seems to be returning a magic value whenever a Scheme
primitive is executed.  An alternative is to use setjump() to provide
an error exit point.

Let's try the latter.


Done.  It works by calling _Error_1 in the context of the C foreign
function, followed by a longjmp() which aborts the current C stack and
returns to the function's invokation point.