Great---I've worked around this one for the time being by wrapping the function in "set +o nounset" / "set -o nounset", but I wouldn't mind receiving a source code patch for this one as well if it's not too much trouble.
Thanks, -- Nathan Weeks IT Specialist USDA-ARS Corn Insects and Crop Genetics Research Unit http://weeks.public.iastate.edu/ On Fri, Jan 3, 2014 at 2:16 PM, David Korn <[email protected]> wrote: > I have a fix for this bug also. > > > On Thu, Jan 2, 2014 at 1:01 PM, Nathan Weeks <[email protected]> wrote: >> >> For the following script, tested with both ksh 2012-08-01 and the >> 2013-10-08 alpha, a "parameter not set" error is reported for a >> variable used in a function that isn't even invoked (note that the >> reported line number is outside the function definition): >> >> ======================================== >> $ echo ${.sh.version} >> Version AIJM 93v- 2013-10-08 >> $ cat test.sh >> set -o xtrace -o errexit -o nounset >> >> typeset -T My_t=( >> float x >> ) >> >> My_t -a A=( (x=1) (x=2) (x=3) ) >> >> foo() { >> for (( i = 0 ; i < ${#A[@]} ; i++ )) >> do >> if (( i != 0 && (A[i-1].x != A[i].x) )) >> then >> echo "A[$i] != A[$((i-1))]" >> fi >> done >> } >> $ ksh test.sh >> + typeset -lE .sh.type.My_t.x >> + typeset -T My_t >> + A[0].x=1 >> + A[1].x=2 >> + A[2].x=3 >> + My_t -a A >> test.sh: line 7: i: parameter not set >> ======================================== >> >> -- >> Nathan Weeks >> IT Specialist >> USDA-ARS Corn Insects and Crop Genetics Research Unit >> http://weeks.public.iastate.edu/ >> _______________________________________________ >> ast-users mailing list >> [email protected] >> http://lists.research.att.com/mailman/listinfo/ast-users > > _______________________________________________ ast-users mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-users
