Non-whitespace IFS character discarding empty fields
printf '[%s]\n' "$i"
p $* $#
This script should print:
set x $t
This script should print 2.
XCU 2.6 Word Expansions:
If the complete expansion appropriate for a word results in an empty field, that empty field shall be deleted from the list of fields that form the completely expanded command, unless the original word contained single-quote or double-quote characters.
So, yash's current behavior matches the spec. As other existing shells behave differently, the spec should be amended.
After discussion with kre, I changed my mind to follow other shells' behavior.