mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
* libguile/exceptions.c (exception_epoch_fluid): Rename from active_exception_handlers_fluid. (scm_dynwind_throw_handler): Increment exception epoch instead of resetting active exception handlers. (scm_init_exceptions): Update. * module/ice-9/boot-9.scm (with-exception-handler): Rework to associate an "epoch" fluid with each exception handler. (with-throw-handler): Establish a new epoch, during the execution of a throw handler. (raise-exception): Rework to avoid capturing a list of exception handlers, and to use epochs as a way to know which handlers have already been examined and which are on the dispatch stack. * test-suite/tests/exceptions.test ("throwing within exception handlers"): New test. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scheme | ||
scripts | ||
srfi | ||
sxml | ||
system | ||
texinfo | ||
web | ||
Makefile.am | ||
rnrs.scm | ||
statprof.scm | ||
texinfo.scm |