Zsh manual mentions that option -a means ALL_EXPORT,

ALL_EXPORT (-a, ksh: -a)

  All parameters subsequently defined are automatically exported.  

While export makes the variable available to sub-processes, the how can the same variable foo be local?

Edit
Report