In Bash, it is possible to define functions that look like assignment
words using the function keyword:
function a=2 { printf hi\\n ;}
When `declare -f' is used to output all the function definitions, bash
will not output that function definition with the "function" keyword,
generating invalid code:
$ bash -c 'function a=2 { printf hi\\n ;}; declare -f'
a=2 ()
{
printf hi\\n
}
$ bash -c 'function a=2 { printf hi\\n ;}; declare -f' | bash -v
a=2 ()
bash: line 1: syntax error near unexpected token `('
bash: line 1: `a=2 () '
Bash should either accept `a=2 () { printf hi\\n ;}' as a valid
definition like it accepts `function a=2 { printf hi\\n ;}' as valid, or
make `declare -f' output declarations that use the "function" keyword,
at least when necessary.
emanuele6