summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index c1b28671..dc712b89 100644
--- a/eval.c
+++ b/eval.c
@@ -2034,7 +2034,7 @@ static val expand_qquote(val qquoted_form, val menv)
val args = expand_qquote(second(qquoted_form), menv);
return rlcp(list(vector_list_s, args, nao), qquoted_form);
} else {
- val f = car(qquoted_form);
+ val f = sym;
val r = cdr(qquoted_form);
val f_ex;
val r_ex = expand_qquote(r, menv);
@@ -2065,6 +2065,8 @@ static val expand_qquote(val qquoted_form, val menv)
r_ex = cons(r_ex, nil);
else if (car(r_ex) == append_s)
r_ex = cdr(r_ex);
+ else if (car(r_ex) == quote_s)
+ r_ex = cons(r_ex, nil);
return rlcp(cons(append_s, cons(f_ex, r_ex)), qquoted_form);
}
}