I can't understand the way zsh 5.9 behaves when assigning $! to an array:
unset a b c
sleep 3 &
a=$!
b[1]=$!
c[1]=${!}
typeset -p a b c
output:
typeset a=21391
typeset -a b=( '$!' )
typeset -a c=( 21391 )
Getting b=( '$!' ) doesn't feel right... Is it a feature? A regression?
b=( 20769 )with zsh 5.0.2 andb=( '$!' )with zsh 5.5.1.b[1]="$!"works as expected, too. It's just the bare case. Weird.