I have not yet had a use for the "macro" functions, so I have not tested them myself. But I did set "Macro 1" to regenerate the tool path and I did map the rest to Mach "input" signals.
I did verify that the signals are indeed being thrown in the Mach GUI though.
In theory you should be able to trigger Lua scripts from the signals. From there, you should be able to write any "macro" you want.