From 36a61da3883e8baca45a80c703211ae71be4c6ff Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 19 Aug 2015 07:01:36 -0700 Subject: Fix broken @@@/@@@rest references in quasiliterals. * parser.y (quasi_meta_helper): When obj is a sys:var, leave it alone; don't add another layer of var. Also, do the same if it is a sys:expr. * tests/012/quasi.tl: Added test case. --- parser.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'parser.y') diff --git a/parser.y b/parser.y index 04be6aa7..54cc494b 100644 --- a/parser.y +++ b/parser.y @@ -1372,8 +1372,8 @@ static val quasi_meta_helper(val obj) if (atom(obj)) goto expr; - if (first(obj) == var_s) - goto var; + if (first(obj) == var_s || first(obj) == expr_s) + return obj; expr: return rlcp(cons(expr_s, obj), obj); -- cgit v1.2.3