Also updates `macro_commands.py` to skip empty lines, and moves comment stripping earlier in parsing.