From 2e9c835db9fc83de45f32074104b16c45cdb93c4 Mon Sep 17 00:00:00 2001 From: Dirk Herrmann Date: Thu, 21 Dec 2000 17:51:55 +0000 Subject: [PATCH] * Make sure, re-entering the dynamic scope of an eval statement will restore the latest selected module. --- libguile/ChangeLog | 6 ++++++ libguile/eval.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 489313dd7..4aa74506f 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,9 @@ +2000-12-21 Dirk Herrmann + + * eval.c (restore_environment): Make sure that changes to the + current environment will take effect when re-entering the dynamic + scope. + 2000-12-21 Dirk Herrmann * goops.h (SCM_PUREGENERICP): Include the SCM_STRUCTP test. diff --git a/libguile/eval.c b/libguile/eval.c index c66a7ebf3..57943e6c4 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -3836,6 +3836,8 @@ restore_environment (void *data) { SCM pair = SCM_PACK (data); SCM old_module = SCM_CDR (pair); + SCM new_module = scm_selected_module (); + SCM_SETCAR (pair, new_module); scm_select_module (old_module); }