function, since foreign functions will always raise any exception they
return (hence the double catch in issue #15).
also restoring the original exception handler when an exception is
raised in with-exception-handler, so that exceptions within the
handler itself don't cause an infinite loop. this may change, as
with-exception-handler is meant to be a low-level tool on which to
build either guard or condition-case, but until then the restoring
is necessary.
to have an SEXP_ prefix. Now all values from the headers
are prefixed with either sexp_ or SEXP_, important for ease
of embedding. "make USE_BOEHM=1" still works as an alias
for "make SEXP_USE_BOEHM=1".
Sorry if this patch breaks your code, it had to be done
sooner or later.
Each contexts keep a link to the heap which it is a part
of (when using the native GC), as well as a vector of
special globals that it needs quick access to (e.g. the
`quote' and `quasiquote', etc. symbols. You can use this
to manage multiple completely unrelated VMs in the same
application, and everything will be thread-safe.
The old behavior is still available by editing config.h,
which now includes somewhat better descriptions of all
the settings.