aboutsummaryrefslogtreecommitdiffstats
path: root/test/let1.awk
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-04-14 07:00:15 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-04-14 07:00:15 -0700
commitf00e74ffc73f6ba6fe74fb7a26319770b8c3792c (patch)
tree931278a791b5ed7bacd47ce35c7ed224a9e0ccce /test/let1.awk
parentd3064bd9a5116f57e60f3da91ffcf3f1a58b9ab0 (diff)
downloadegawk-f00e74ffc73f6ba6fe74fb7a26319770b8c3792c.tar.gz
egawk-f00e74ffc73f6ba6fe74fb7a26319770b8c3792c.tar.bz2
egawk-f00e74ffc73f6ba6fe74fb7a26319770b8c3792c.zip
@let: allow trailing comma.HEADmaster
We allow forms like @let(x,) and @let(x, y=1,) with the trailing comma. This is helpful for code generators and macros, which can then treat temporary variables as comma-terminated items. * awkgram.y (let_var_list_opt): Add a production which matches a trailing comma after let_var_list. * test/let1.awk, test/let1.ok: Test cases. * doc/gawkt.texi, doc/gawktexi.in: Trailing comma documented. * awkgram.c: Regenerated with Bison 3.8.
Diffstat (limited to 'test/let1.awk')
-rw-r--r--test/let1.awk14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/let1.awk b/test/let1.awk
index 413b6e1e..268222df 100644
--- a/test/let1.awk
+++ b/test/let1.awk
@@ -157,3 +157,17 @@ BEGIN {
@let (x = 1, y = 2) { print "b6", x, y }
@let (x = 1, y = 2, z = 3) { print "b6", x, y, z }
}
+
+function f6()
+{
+ @let (x = 1) { print "f6", x }
+ @let (x = 1, y = 2,) { print "f6", x, y }
+ @let (x = 1, y = 2, z = 3,) { print "f6", x, y, z }
+}
+
+BEGIN {
+ f6()
+ @let (x = 1) { print "b7", x }
+ @let (x = 1, y = 2,) { print "b7", x, y }
+ @let (x = 1, y = 2, z = 3,) { print "b7", x, y, z }
+}