summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/ChangeLog5
-rw-r--r--libguile/debug.c7
2 files changed, 6 insertions, 6 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index f2712c925..ece5a5bb2 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-23 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debug.c (scm_make_memoized): Remove unnecessary critical
+ section, and simplify by using SCM_RETURN_NEWSMOB.
+
2005-03-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
* strings.h (SCM_STRING_UCHARS): Added missing argument.
diff --git a/libguile/debug.c b/libguile/debug.c
index 56562a28c..d377429a1 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -147,12 +147,7 @@ SCM
scm_make_memoized (SCM exp, SCM env)
{
/* *fixme* Check that env is a valid environment. */
- register SCM z, ans;
- SCM_CRITICAL_SECTION_START;
- SCM_NEWSMOB (z, SCM_UNPACK (exp), SCM_UNPACK (env));
- SCM_NEWSMOB (ans, scm_tc16_memoized, SCM_UNPACK (z));
- SCM_CRITICAL_SECTION_END;
- return ans;
+ SCM_RETURN_NEWSMOB (scm_tc16_memoized, scm_cons (exp, env));
}
#ifdef GUILE_DEBUG