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

Reply via email to