Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: "bad substitution" error for ${a[b]}
On Jul 16, 9:30am, Peter Stephenson wrote:
}
} [...] we could do with taking some of the parameter substitution test
} cases and feeding them through NO_EXEC.
Any suggestions which ones? The only thing that should have changed
with 35799 is subscript handling.
The following caes all work, but of course "work" means "do nothing at
all" -- so I guess the point is just to assert that there are no errors?
diff --git a/Test/E01options.ztst b/Test/E01options.ztst
index ca3f06c..16279b8 100644
--- a/Test/E01options.ztst
+++ b/Test/E01options.ztst
@@ -362,6 +362,20 @@
echo ${unset_var?Not an error})
0:NO_EXEC should not test for unset variables
+ (setopt noexec
+ : ${${string%[aeiou]*}/(#m)?(#e)/${(U)MATCH}} Rule 1
+ : ${array[4,5][1][2,3]} Rule 2
+ : ${${(P)foo[1,6]}[1,3]} Rule 3
+ : "${${(@)array}[1,2]}" Rule 5
+ : "${(@)${(@)array}[1,2]#?}" Rule 6
+ : ${(el.20..X.)${bar}} Rule 11 success case)
+0:NO_EXEC handles parameter substitution examples
+
+ (setopt noexec
+ : ${(el.20..X.)$bar} Rule 11 failure case)
+1:NO_EXEC does recognize bad substitution syntax
+*?* bad substitution
+
setopt NO_eval_lineno
eval 'print $LINENO'
setopt eval_lineno
Messages sorted by:
Reverse Date,
Date,
Thread,
Author