From 6baafb238055d138a33c073420af907d273ea378 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 17 Jul 2016 09:06:48 +0200 Subject: [PATCH] mes.c: bugfix for eval_quasiquote: stay in quasiquote mode after next quote. --- mes.c | 2 +- test.mes | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mes.c b/mes.c index bf52ae2f..684841ac 100644 --- a/mes.c +++ b/mes.c @@ -1111,7 +1111,7 @@ eval_quasiquote (scm *e, scm *a) if (e == &scm_nil) return e; else if (atom_p (e) == &scm_t) return e; else if (eq_p (car (e), &scm_symbol_quote) == &scm_t) - return e; + return cons (car (e), eval_quasiquote (cdr (e), a)); else if (eq_p (car (e), &scm_symbol_quasiquote) == &scm_t) return cons (e, eval_quasiquote (cdr (e), a)); else if (eq_p (car (e), &scm_symbol_unquote) == &scm_t) diff --git a/test.mes b/test.mes index 6e63ae51..964ab48e 100644 --- a/test.mes +++ b/test.mes @@ -315,6 +315,10 @@ (display `(1 ,@s-r 4)) (newline) +(display "`(1 2 '(,(+ 1 2))): ") +(display `(1 2 '(,(+ 1 2)))) +(newline) + (display "when:") (when #t (display "true")