Op 05-09-18 om 15:23 schreef Herbert Xu:
> Thanks for the report! I forgot to discard the result of the unused
> expansion.

I don't think discarding the result is enough. The unused word should
not be evaluated in the first place.

With this patch applied, the following breakage still occurs:
$ src/dash -u -c 'unset foo bar; echo ${foo+${bar}}'
src/dash: 1: bar: parameter not set
(expected: empty line, no error)
...which seems to suggest that ${bar} is evaluated even though foo is unset.

I could well be wrong though, as the following does not break:
$ src/dash -c 'unset foo; bar=1; echo ${foo+$((bar+=1))} $bar'
1
...indicating that the $((bar+=1)) is not evaluated, as expected.

- M.

Reply via email to