That problem has just been reported to the bash and zsh mailing lists and it seems ksh93 is also affected.
In ((a[subscript]++)), ((a[subscript]+=x)), ((a[subscript]*=x))... it seems subscript is expanded twice which can have nasty side effects such as $ ksh -c 'x=0; ((a[++x]++)); echo $x' 2 ~$ ksh -c 'for ((i=0;i<1000;i++)); do ((a[RANDOM%2]++)); done; echo $((a[0]+a[1]))' 953 ~$ ksh -c 'for ((i=0;i<1000;i++)); do ((a[RANDOM%2]++)); done; echo $((a[0]+a[1]))' 985 ~$ ksh -c 'for ((i=0;i<1000;i++)); do ((a[RANDOM%2]++)); done; echo $((a[0]+a[1]))' 1059 -- Stephane _______________________________________________ ast-developers mailing list [email protected] https://mailman.research.att.com/mailman/listinfo/ast-developers
