Hi there, I believe I have found a bug: in arithmetic $(( )) or $[ ] and variable expansions ${ } in some forms of command (pipelines, command substitutions, and inside here-documents and here-strings are the cases I know of so far), assignments to variables do not persist outside the command, almost as if it were in a subshell. I'm pretty sure this is a bug; if it's an intended behaviour, it's quite annoying and should be changed. This does not occur in complex commands (if, for, while, etc.) except subshells. This occurs on both zsh versions I have tested: 5.8 (x86_64-pc-linux-gnu) and 5.6.2 (x86_64-redhat-linux-gnu). Attached is a reproducible example, and the output of `set` and `set -o`. Regards, Patrick