3 ms·
> 1. built-in macro names that require arguments such as `define' are not "expanded" if you don't follow them with parentheses This one is pure pain. Thankfull
by ninjin 2y ago
> 1. built-in macro names that require arguments such as `define' are not "expanded" if you don't follow them with parentheses
This one is pure pain. Thankfully, the only implementation I have encountered that does this is Heirloom's [1]. I doubt POSIX will do it, but I wish they would just define this behaviour out of existence for the built-ins as it is a minefield when trying to write prose (or comments, for that matter).
[1]: https://heirloom.sourceforge.net https://heirloom.sourceforge.net
As for outputs being interpreted iteratively, there is no way around it that I know of. To make invocation more explicit, I have just settled on prefixing macros with an underscore and it has worked well so far as it is uncommon in English text, HTML, and CSS.