summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/eval.c b/eval.c
index b79b88f1..ff348b8d 100644
--- a/eval.c
+++ b/eval.c
@@ -82,21 +82,21 @@ val make_env(val vbindings, val fbindings, val up_env)
val env_fbind(val env, val sym, val fun)
{
type_check(env, ENV);
- env->e.fbindings = acons_new(sym, fun, env->e.fbindings);
+ set(env->e.fbindings, acons_new(sym, fun, env->e.fbindings));
return sym;
}
val env_vbind(val env, val sym, val obj)
{
type_check(env, ENV);
- env->e.vbindings = acons_new(sym, obj, env->e.vbindings);
+ set(env->e.vbindings, acons_new(sym, obj, env->e.vbindings));
return sym;
}
static void env_replace_vbind(val env, val bindings)
{
type_check(env, ENV);
- env->e.vbindings = bindings;
+ set(env->e.vbindings, bindings);
}
noreturn static val eval_error(val form, val fmt, ...)
@@ -120,7 +120,7 @@ val lookup_var(val env, val sym)
val bind = gethash(top_vb, sym);
if (cobjp(bind)) {
struct c_var *cv = (struct c_var *) cptr_get(bind);
- cv->bind->c.cdr = *cv->loc;
+ set(cv->bind->c.cdr, *cv->loc);
return cv->bind;
}
return bind;
@@ -183,7 +183,7 @@ static val lookup_sym_lisp1(val env, val sym)
val bind = gethash(top_vb, sym);
if (cobjp(bind)) {
struct c_var *cv = (struct c_var *) cptr_get(bind);
- cv->bind->c.cdr = *cv->loc;
+ set(cv->bind->c.cdr, *cv->loc);
return cv->bind;
}
return or2(bind, gethash(top_fb, sym));