preserve func expression to make Func.String() faster.
maybe better to revisit it's worth doing.
before:
% ./run_integration_test.rb android
tar -xzf ../android.tgz
Running make for android... 5.78 secs
Running kati for android... 62.50 secs
android: OK
PASS!
after:
% ./run_integration_test.rb android
tar -xzf ../android.tgz
Running make for android... 5.85 secs
Running kati for android... 61.93 secs
android: OK
PASS!
diff --git a/expr_test.go b/expr_test.go
index e0bdf5b..0cf245a 100644
--- a/expr_test.go
+++ b/expr_test.go
@@ -63,6 +63,7 @@
varname: literal("foo"),
},
},
+ expr: "$(subst $(space),$(,),$(foo))",
},
},
literal("/bar"),
@@ -86,6 +87,7 @@
},
},
},
+ expr: "$(subst $(space),$,,$(foo))",
},
},
},
@@ -96,16 +98,18 @@
args: []Value{
literal("echo '()'"),
},
+ expr: `$(shell echo '()')`,
},
},
},
{
- in: `$(shell echo '()')`,
+ in: `${shell echo '()'}`,
val: &funcShell{
fclosure: fclosure{
args: []Value{
literal("echo '()'"),
},
+ expr: `${shell echo '()'}`,
},
},
},
@@ -117,6 +121,7 @@
args: []Value{
literal("echo '"),
},
+ expr: `$(shell echo ')`,
},
},
literal("')"),
@@ -129,6 +134,7 @@
args: []Value{
literal("echo ')'"),
},
+ expr: `${shell echo ')'}`,
},
},
},
@@ -140,6 +146,7 @@
args: []Value{
literal("echo '"),
},
+ expr: `${shell echo '}`,
},
},
literal("'}"),
@@ -152,6 +159,7 @@
args: []Value{
literal(`make --version | ruby -n0e 'puts $_[/Make (\d)/,1]'`),
},
+ expr: `$(shell make --version | ruby -n0e 'puts $$_[/Make (\d)/,1]')`,
},
},
},