diff options
-rw-r--r-- | tests/test-vikalpa.scm | 3 | ||||
-rw-r--r-- | vikalpa.scm | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/tests/test-vikalpa.scm b/tests/test-vikalpa.scm index 644cb6a..1a45273 100644 --- a/tests/test-vikalpa.scm +++ b/tests/test-vikalpa.scm @@ -424,4 +424,7 @@ (test-equal '(result/expr (quote b)) (system-eval (test) '(if '#f 'a 'b))) +(test-equal '(result/expr '((and) and)) + (system-eval (test) '(cons '(and) '(and)))) + (test-end "test-vikalpa") diff --git a/vikalpa.scm b/vikalpa.scm index dbf032b..480bbca 100644 --- a/vikalpa.scm +++ b/vikalpa.scm @@ -588,7 +588,8 @@ (expr expr)) (let ((new-expr (expand ms expr))) (if (equal? expr new-expr) - (if (pair? new-expr) + (if (and (not (expr-quoted? new-expr)) + (pair? new-expr)) (cons (expand* ms (car new-expr)) (expand* ms (cdr new-expr))) new-expr) |