# first try some invalid patterns (do in subshell due to parsing error)
# (set argv0 to "SHELL" to avoid "/path/to/shell: blah" in error messages)
"$THIS_SH" -c 'echo ${:-}' SHELL

# now some funky ones
echo _${#-} _${#:-}

# now some valid ones
set --
echo _$1 _${1-} _${1:-} _${1-word} _${1:-word}

set -- aaaa
echo _$1 _${1-} _${1:-} _${1-word} _${1:-word}

unset f
echo _$f _${f-} _${f:-} _${f-word} _${f:-word}

f=
echo _$f _${f-} _${f:-} _${f-word} _${f:-word}

f=fff
echo _$f _${f-} _${f:-} _${f-word} _${f:-word}

set --
set -- "${1-}"; echo 1:$#
set --
set -- ${1-}; echo 0:$#