In the current preprocessor the line is evaluated for keywords before the macros are evaluated. Macros need to be fully expanded before any keyword processing.
The reasoning for this is that keywords can be redefined to include instrumentation statements that can then be removed by not defining the macro.
The other option for this is to allow for a real preprocessor to be run from SED on compile click and pass the resulting code to lite-c.