set -- 1 2

unset var
recho ${var-$@}
recho ${var-"$@"}
recho ${var-$*}
recho ${var-"$*"}

unset -v a b c d
recho ${a=$@}
recho "$a"
recho ${b="$@"}
recho "$b"
recho ${c=$*}
recho "$c"
recho ${d="$*"}
recho "$d"

IFS=
unset var
recho ${var-$@}
recho ${var-"$@"}
recho ${var-$*}
recho ${var-"$*"}

unset -v a b c d
# Posix interp 221
# there should never be any word splitting because IFS is null
recho ${a=$@}
recho "$a"
recho $a
recho ${b="$@"}
recho "$b"
recho $b
recho ${c=$*}
recho "$c"
recho $c
recho ${d="$*"}
recho "$d"
recho $d

unset -v a b c d
a=$@
recho $a
b="$@"
recho $b
c=$*
recho $c
d="$*"
recho $d

unset -v parameter a b c d
