If a parser error is encountered when `local' is parsing an array
assignment string, the installed unwind-protects never run:

$ f() { local -a a='(())'; }; f
bash: syntax error near unexpected token `('
$ declare -p a FUNCNAME
declare -a a
declare -a FUNCNAME=([0]="f")

----

If there's a PROMPT_COMMAND set and a parser error is encountered during a
compound assignment, the alias expansion state is not properly restored:

$ PROMPT_COMMAND=:; alias A=:
$ declare a=(())
bash: syntax error near unexpected token `('
$ A
bash: A: command not found

Reply via email to