Fix expanding of quoted positional parameters in case patterns.
When parsing an invalid parameter expansion (eg. ${} or ${foo@bar}) do not
issue a syntax error immediately but save the information that it is erroneous
for later when the parameter expansion is actually done. This means eg. "false
&& ${}" will not generate an error which seems to be required by POSIX.
Remove some white space at EOL.
The sub-expression "(nulonly || 1)" always evaluates to true and
according to CVS logs seems to be just a left-over from some
debugging and introduced by accident.
Remove collate_range_cmp() stabilization, it conflicts with ranges
Replace various spellings with FALLTHROUGH which is lint()able
Obtained-from: FreeBSD