* root.c (cwdr_inner_body, cwdr_body): Remove "inner" from name,
authorMarius Vollmer <mvo@zagadka.de>
Thu, 2 Oct 1997 15:00:03 +0000 (15:00 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Thu, 2 Oct 1997 15:00:03 +0000 (15:00 +0000)
commite71575d92598e028698730fd7e380452c30100da
tree8e31d21def11d9141f2d8bb324309320724609ee
parentbb35f3151b168022db4d3a04376182f9604371d5
* root.c (cwdr_inner_body, cwdr_body): Remove "inner" from name,
there is now only one catch.
(cwdr_outer_body): Removed.
(cwdr_handler): New function.
(scm_internal_cwdr): New function to perform the function of cwdr
but take args that are more useful to C code.  Also, the handler
is now invoked *outside* of the new dynamic root, like the docs
say.  We no longer have to catch absolutely all errors, the caller
is responsible for using a handler that does not throw, if he
wants that.
(cwdr): Reimplemented in terms of scm_internal_cwdr.
* root.h (scm_internal_cwdr): New prototype.

* root.c (USE_STACKJMPBUF): New define to activate a stack-based
allocation of the jumpbuf of a root continuation.  The changes
below are controlled by it.  They are now deactivated.
(scm_internal_cwdr): Allocate the scm_contregs on the stack.  Set
the JMPBUF of the scm_rootcont to NULL before returning.
libguile/root.c
libguile/root.h