summaryrefslogtreecommitdiff
path: root/libguile/eval.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2008-09-15 23:45:37 +0200
committerLudovic Courtès <ludo@gnu.org>2008-09-15 23:45:37 +0200
commit3db825b0677614b1fe8fd135a1bd125dde6c03e1 (patch)
treeb06941080cf5df97caef903012f253268cf1c562 /libguile/eval.c
parentd3be55145a8c5481d7eb58ec66639645b7ef7f3f (diff)
downloadguile-3db825b0677614b1fe8fd135a1bd125dde6c03e1.tar.gz
Use immutable cells for closures.
* libguile/eval.c (scm_closure): Use `scm_immutable_cell ()' instead of `scm_cell ()'. * libguile/procs.h (SCM_SETCODE, SCM_SETENV): Remove.
Diffstat (limited to 'libguile/eval.c')
-rw-r--r--libguile/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/eval.c b/libguile/eval.c
index 5aba969aa..49f1b583b 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -3654,7 +3654,8 @@ scm_closure (SCM code, SCM env)
{
SCM z;
SCM closcar = scm_cons (code, SCM_EOL);
- z = scm_cell (SCM_UNPACK (closcar) + scm_tc3_closure, (scm_t_bits) env);
+ z = scm_immutable_cell (SCM_UNPACK (closcar) + scm_tc3_closure,
+ (scm_t_bits) env);
scm_remember_upto_here (closcar);
return z;
}