From 5293e86e5185b959a442633c93445ecfde107d1e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 17 Jul 2022 18:55:55 -0700 Subject: Implement -E option and header. The -E option is not passed through to the Awk implementation any more, which is not particularly useful, because the option resembles -f, and its argument requires likewise handling. We achieve the semantics that -E is equivalent to -f --. From the GNU Awk user's perspective, this is a regression in the semantics of -E which also has the effect of suppressing the processing of arguments which look like variable assignments. To make up for that, we provide the header which suppresses all implicit treatment of the remaining arguments. --- testcases | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'testcases') diff --git a/testcases b/testcases index d95e25f..1af3714 100644 --- a/testcases +++ b/testcases @@ -251,3 +251,36 @@ $cppawk --dump-macros '#define foo_bar 42' | grep foo_bar $cppawk --dump-macros x | (grep -q '#define [A-Za-z]' || echo "clean") : clean +-- +44: +$cppawk -f x -E x +: +ERR +-- +45: +$cppawk -E testdir/program.cwk +: +73 +-- +46: +$cppawk -E testdir/program.cwk -f testdir/program.cwk +: +73 +-- +47: +$cppawk -E testdir/arg.cwk a=3 b=4 testdir/data +: +ARGV[1]=a=3 +ARGV[2]=b=4 +ARGV[3]=testdir/data +a=3 +b=4 +-- +48: +echo | $cppawk -E testdir/safearg.cwk a=3 b=4 testdir/data +: +argv[1]=a=3 +argv[2]=b=4 +argv[3]=testdir/data +a= +b= -- cgit v1.2.3