From cc49042294aceb3ab30396eb5731e4ac0cf601bc Mon Sep 17 00:00:00 2001 From: Kevin Ballard Date: Wed, 20 Aug 2014 22:01:24 -0700 Subject: Parse slices even for empty variables When a variable is parsed as being empty, parse out the slice and validate the indexes anyway, behaving for slicing purposes as if the variable had a single empty value. Besides providing errors when expected, this also fixes the following: set -l foo echo "$foo[1]" This used to print "[1]", now it properly prints nothing. --- tests/expansion.in | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/expansion.in') diff --git a/tests/expansion.in b/tests/expansion.in index d362e789..8b48772e 100644 --- a/tests/expansion.in +++ b/tests/expansion.in @@ -62,3 +62,15 @@ show "$$foo" show $$foo show "prefix$$foo" show prefix$$foo + +set -l foo +show "$foo[1]" +show $foo[1] +show "$foo[-1]" +show $foo[-1] +show "$foo[2]" +show $foo[2] +show "$foo[1 2]" +show $foo[1 2] +show "$foo[2 1]" +show $foo[2 1] -- cgit v1.2.3