remove trimSpace and inFunc from parseExpr.
handled these in parseFunc.
diff --git a/expr_test.go b/expr_test.go
index 5682855..83b9b26 100644
--- a/expr_test.go
+++ b/expr_test.go
@@ -163,6 +163,47 @@
},
},
},
+ {
+ in: `$(and ${TRUE}, $(X) )`,
+ val: &funcAnd{
+ fclosure: fclosure{
+ args: []Value{
+ literal("(and"),
+ varref{
+ varname: literal("TRUE"),
+ },
+ varref{
+ varname: literal("X"),
+ },
+ },
+ },
+ },
+ },
+ {
+ in: `$(call func, \
+ foo)`,
+ val: &funcCall{
+ fclosure: fclosure{
+ args: []Value{
+ literal("(call"),
+ literal("func"),
+ literal(" foo"),
+ },
+ },
+ },
+ },
+ {
+ in: `$(call func, \)`,
+ val: &funcCall{
+ fclosure: fclosure{
+ args: []Value{
+ literal("(call"),
+ literal("func"),
+ literal(` \`),
+ },
+ },
+ },
+ },
} {
val, _, err := parseExpr([]byte(tc.in), nil)
if tc.isErr {