add packaging
[platform/upstream/m4.git] / examples / capitalize2.m4
1 divert(`-1')
2 # upcase(text)
3 # downcase(text)
4 # capitalize(text)
5 #   change case of text, improved version
6 define(`upcase', `translit(`$*', `a-z', `A-Z')')
7 define(`downcase', `translit(`$*', `A-Z', `a-z')')
8 define(`_arg1', `$1')
9 define(`_to_alt', `changequote(`<<[', `]>>')')
10 define(`_from_alt', `changequote(<<[`]>>, <<[']>>)')
11 define(`_upcase_alt', `translit(<<[$*]>>, <<[a-z]>>, <<[A-Z]>>)')
12 define(`_downcase_alt', `translit(<<[$*]>>, <<[A-Z]>>, <<[a-z]>>)')
13 define(`_capitalize_alt',
14   `regexp(<<[$1]>>, <<[^\(\w\)\(\w*\)]>>,
15     <<[_upcase_alt(<<[<<[\1]>>]>>)_downcase_alt(<<[<<[\2]>>]>>)]>>)')
16 define(`capitalize',
17   `_arg1(_to_alt()patsubst(<<[<<[$*]>>]>>, <<[\w+]>>,
18     _from_alt()`]>>_$0_alt(<<[\&]>>)<<['_to_alt())_from_alt())')
19 divert`'dnl