diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2019-02-20 23:59:18 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2019-02-20 23:59:18 +0000 |
commit | 53c70b64595420002601dd02a171ccc567d23abe (patch) | |
tree | ede76686d2414a945cb714ac593fc6594ae56b89 /sys | |
parent | 99ce9dd19df4fbc87a94c878fe0a7d2fde694a11 (diff) |
When evaluating an arithmetical expression, for example inside $(()),
never do substitution (neither parameter, nor command, nor arithmetic,
nor tilde substitution) on the values of any variables encountered
inside the expression, but do recursively perform arithmetical
evaluation of subexpressions as required. This makes behaviour
more consistent, without hindering any behaviour promised in the
manual page.
A quirk originally reported by Andy Chu <andychup at gmail dot com>
was that in the past, when encountering an array index, the shell
would not only do evaluation, but also substitution on the array
index, even though substitution would not be done on the expression
in general.
tobias@ contributed to initial efforts of understanding the quirk.
patch tested in a bulk build by naddy@
"please commit" deraadt@
Diffstat (limited to 'sys')
0 files changed, 0 insertions, 0 deletions