5 # change case of text, improved version
6 define(`upcase', `translit(`$*', `a-z', `A-Z')')
7 define(`downcase', `translit(`$*', `A-Z', `a-z')')
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]>>]>>)]>>)')
17 `_arg1(_to_alt()patsubst(<<[<<[$*]>>]>>, <<[\w+]>>,
18 _from_alt()`]>>_$0_alt(<<[\&]>>)<<['_to_alt())_from_alt())')