The asn setting $macro_first can be used to determine the order that macro instructions are processed - before or after all other input. If it were available as proc code, the order could be determined as the individual components require.
It could work the same way as $language and $keyboard currently do. The entry in the ASN file (or the default if its not defined) would be used until any proc code was processed that changed it. The proc code might also have the abitity to reset it to the default (or asn) value.
With the current definition of $macro_first, ALL components within the application have to process the macro statrments the same way. If there is a component where that is not desirable, there\'s nothing that a programmer can do about it.