summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Jerram <neil@ossau.uklinux.net>2009-03-25 22:52:01 +0000
committerNeil Jerram <neil@ossau.uklinux.net>2009-03-25 22:52:01 +0000
commitd460681c796139d904b42c7a378f3964b453daf6 (patch)
treea7ce2f42acefa62ca0c4bc85c9442c184c0380c8
parent7627abf6ecf1770367ea2c5f8d61e14fa4843c8a (diff)
downloadguile-wip-nj-thread-safety.tar.gz
-rw-r--r--libguile/modules.c1
-rw-r--r--libguile/throw.c5
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);