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.