PP: Fix #1694: Handle badly formed argument substitution. Also added a warning for no space after a macro name.