diff options
author | Kevin Ballard <kevin@sb.org> | 2014-08-20 22:01:24 -0700 |
---|---|---|
committer | Kevin Ballard <kevin@sb.org> | 2014-08-20 22:09:32 -0700 |
commit | cc49042294aceb3ab30396eb5731e4ac0cf601bc (patch) | |
tree | aa8b79cdcf55b3ca88f4f9db0685de2cef33a115 /tests/expansion.in | |
parent | 3981b644d68f6b6947b4a12810c2fa5e09da4e58 (diff) |
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.
Diffstat (limited to 'tests/expansion.in')
-rw-r--r-- | tests/expansion.in | 12 |
1 files changed, 12 insertions, 0 deletions
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] |