summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 8a4c7366..dbb7a21f 100644
--- a/eval.c
+++ b/eval.c
@@ -2900,7 +2900,11 @@ static val expand_qquote_rec(val qquoted_form, val qq, val unq, val spl)
{
if (nilp(qquoted_form)) {
return nil;
- } if (atom(qquoted_form)) {
+ } else if (rangep(qquoted_form)) {
+ val frexp = expand_qquote(from(qquoted_form), qq, unq, spl);
+ val toexp = expand_qquote(to(qquoted_form), qq, unq, spl);
+ return rlcp(list(rcons_s, frexp, toexp, nao), qquoted_form);
+ } else if (atom(qquoted_form)) {
return cons(quote_s, cons(qquoted_form, nil));
} else {
val sym = car(qquoted_form);