On Sat, Feb 18, 2017 at 8:35 PM, Martijn Dekker <
martijn@inlv.org> wrote:
>
> When IFS is null, unquoted $* within an unquoted substitution (e.g.
> ${1+$*} or ${unset_var-$*}) joins the PPs together into one field, as if
> either "$*" or the whole substitution were quoted.
>
> POSIX says the unquoted substitution is supposed to generate one field
> for each positional parameter, with further field splitting inactive due
> to empty IFS.
XRAT C.2.5 : Special Parameters [1] specifically addresses the case of ${unset_var-$*}. The following example is provided:
set "abc" "def ghi" "jkl"
IFS='' # null
unset var
printf '%s\n' ${var-$*}
abcdef ghijkl
..which seems to contradict your proposed expected output. It doesn't specifically address ${1+$*}, but having ${1+$*} mirror the behavior of ${unset_var-$*} seems appropriate?