Я работаю в системе, которая использует M4 для расширения некоторых файлов, но в некоторых случаях у меня возникают проблемы с расширением.Соглашение для определения / именования макросов (которое я бы предпочел не менять, если возможно): __<name>__
(т. Е. Двойные начальные и конечные подчеркивания.) Таким образом, это расширяется правильно:
define(`__ROOT__', `/home/mydir')
...
__ROOT__/bin
дает
/home/mydir/bin
но,
define(`__PREFIX__', `App_Mnemonic')
...
__PREFIX___some_service
должно дать:
App_Mnemonic_some_service
, но дает
__PREFIX___some_service
(то есть пропущено расширение)
Я предполагаю, что отсутствие пробела между последним подчеркиванием макроса и действительным подчеркиванием нижележащего текста сбивает с толку m4.Что я могу с этим поделать?Можно ли разделить макрос с помощью тихих фигурных скобок, например, таких как переменные окружения?