PP: Fix #1694: Handle badly formed argument substitution.

Also added a warning for no space after a macro name.
7 files changed