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 e00dc879..95983441 100644
--- a/eval.c
+++ b/eval.c
@@ -2065,7 +2065,9 @@ static val expand_qquote(val qquoted_form, val menv)
if (atom(r_ex)) {
return rlcp(cons(append_s, cons(f_ex, r_ex)), qquoted_form);
} else {
- if (car(r_ex) == append_s)
+ if (consp(r) && car(r) == unquote_s)
+ r_ex = cons(r_ex, nil);
+ else if (car(r_ex) == append_s)
r_ex = cdr(r_ex);
return rlcp(cons(append_s, cons(f_ex, r_ex)), qquoted_form);
}