From d460681c796139d904b42c7a378f3964b453daf6 Mon Sep 17 00:00:00 2001 From: Neil Jerram Date: Wed, 25 Mar 2009 22:52:01 +0000 Subject: wip --- libguile/modules.c | 1 - libguile/throw.c | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libguile/modules.c b/libguile/modules.c index 444ece1c1..da397d8e3 100644 --- a/libguile/modules.c +++ b/libguile/modules.c @@ -279,7 +279,6 @@ SCM_DEFINE (scm_env_module, "env-module", 1, 0, 0, * C level implementation of the standard eval closure * * This increases loading speed substantially. - * The code will be replaced by the low-level environments in next release. */ static SCM module_make_local_var_x_var; diff --git a/libguile/throw.c b/libguile/throw.c index 92c5a1aa5..b2ec37144 100644 --- a/libguile/throw.c +++ b/libguile/throw.c @@ -264,6 +264,7 @@ scm_c_with_throw_handler (SCM tag, { SCM pre_unwind, answer; struct pre_unwind_data c; + SCM new_dynwinds; c.handler = handler; c.handler_data = handler_data; @@ -272,7 +273,9 @@ scm_c_with_throw_handler (SCM tag, pre_unwind = make_pre_unwind_data (&c); SCM_CRITICAL_SECTION_START; - scm_i_set_dynwinds (scm_acons (tag, pre_unwind, scm_i_dynwinds ())); + new_dynwinds = scm_acons (tag, pre_unwind, SCM_BOOL_F); + SCM_SETCDR (new_dynwinds, scm_i_dynwinds ()); + scm_i_set_dynwinds (new_dynwinds); SCM_CRITICAL_SECTION_END; answer = (*body) (body_data); -- cgit v1.2.1