Robert Boehne
2013-02-20 17:55:02 UTC
I'm writing a macro that takes a list of comma-separated arguments and
then uses m4_foreach
to loop over each argument in the list:
m4_foreach([var_name], [$1]
[
dnl Body
])
In the body I want to do some string manipulation on
the variables value, making it uppercase and replacing - and . with
underscores.
The problem is that for any macro that translates text, the argument
is interpreted literally - i.e.
i.e.:
#m4_normalize(tl_cxx_DEP)
ds-11.0
#translit(''tl_cxx_DEP'', "a-z", "A-Z")
''TL_CXX_DEP''
#m4_toupper(tl_cxx_DEP)
TL_CXX_DEP
How can I get the contents of the variable transformed?
Thanks,
Robert Boehne
then uses m4_foreach
to loop over each argument in the list:
m4_foreach([var_name], [$1]
[
dnl Body
])
In the body I want to do some string manipulation on
the variables value, making it uppercase and replacing - and . with
underscores.
The problem is that for any macro that translates text, the argument
is interpreted literally - i.e.
m4_toupper(var_name)
givesVAR_NAME
instead of transforming the value, it transforms the name.i.e.:
#m4_normalize(tl_cxx_DEP)
ds-11.0
#translit(''tl_cxx_DEP'', "a-z", "A-Z")
''TL_CXX_DEP''
#m4_toupper(tl_cxx_DEP)
TL_CXX_DEP
How can I get the contents of the variable transformed?
Thanks,
Robert Boehne