* throw.c (scm_internal_lazy_catch): New function.
authorJim Blandy <jimb@red-bean.com>
Fri, 7 Feb 1997 22:38:27 +0000 (22:38 +0000)
committerJim Blandy <jimb@red-bean.com>
Fri, 7 Feb 1997 22:38:27 +0000 (22:38 +0000)
commitccbfefb7cf4c258593dbb9e3a5dcd8f1da784fb3
tree229adb2d49cc573f51cc28a3f05ae28693e944eb
parent3eed34754cc2b452008c58f3c94f40d32bfafce4
* throw.c (scm_internal_lazy_catch): New function.
(scm_lazy_catch): Rewritten to use it.
(scm_ithrow): Handle the new lazy catch representation.
Use SCM_LAZY_CATCH_P, instead of assuming that any wind list entry
that doesn't have a jmpbuf is a lazy catch clause.
(tc16_lazy_catch, struct lazy_catch, mark_lazy_catch,
free_lazy_catch, print_lazy_catch, lazy_catch_funs,
make_lazy_catch, SCM_LAZY_CATCH_P): Support funs, including a new
smob.
(scm_init_throw): Register the new lazy-catch smob type.
* throw.h (scm_internal_lazy_catch): decl for new function.
libguile/throw.h