# if IFS side effects in ${IFS=} assignments take place, how do you cope with
# later changes to IFS in the same set of expansions?  You've already
# committed to using the first character of the (old) IFS to expand $* in
# the previous expansions, and changing it to not include ' ', for instance,
# results in the first couple of ${*} below not being split at all

set -f -- a b c

unset -v IFS
printf '<%s> ' ${*}${IFS=}${*}${IFS:=-}"${*}"
echo
printf "after 1: IFS "
echo "${IFS-unset}"
recho "$*"

set -f -- a 'b c' d
unset -v IFS
printf '<%s> ' ${*}${IFS=}${*}${IFS:=-}"${*}"
echo
printf "after 2: IFS "
echo "${IFS-unset}"
recho "$*"

unset -v IFS
recho $*
recho "$*"

IFS=' '
recho $*
recho "$*"
