From fb444e43852b08ff6d1fb74339f7bce780931c4f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 19 Aug 2015 06:57:20 -0700 Subject: Quasiquote regression from 110. The problem is that one-argument function calls like @(whatever arg) in a quasiliteral being turned into sys:var items. * parser.y (quasi_meta_helper): Remove bogus check on length. The default case is now var, so the var_s check actually matters. The integerp check for the argument of a var form didn't do anything because the entire if statment conditionally selected a useless goto. Removing it for consistent treatment of var items. * tests/012/quasi.tl: Some new test cases involving @rest. These new tests pass whether or not we have that integerp(second(obj)) test in the quasi_meta_helper function. Either way @rest and @@rest produce the same thing. --- tests/012/quasi.tl | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/012/quasi.tl b/tests/012/quasi.tl index 4c017b62..7511d4bd 100644 --- a/tests/012/quasi.tl +++ b/tests/012/quasi.tl @@ -13,3 +13,11 @@ (let ((a "abc") (b 123)) [(ret `@1-@2-@@1-@@2-@{@1 -4}-@{@2 -4}`) a b]) "abc-123-abc-123- abc- 123") + +(test + [(ret `@1-@rest`) 1 2 3 4] + "1-2 3 4") + +(test + [(ret `@1-@@rest`) 1 2 3 4] + "1-2 3 4") -- cgit v1.2.3