summaryrefslogtreecommitdiff
path: root/doc/examples/capitalize2.m4
diff options
context:
space:
mode:
authorGary V. Vaughan <gary@gnu.org>2013-09-22 09:49:06 +0700
committerGary V. Vaughan <gary@gnu.org>2013-09-22 09:49:06 +0700
commit578bd023ea85d57d8488b8cb88265fbe3a3071e4 (patch)
treecc5a6088277c1a747041f5969cf21d7fca2ca4f1 /doc/examples/capitalize2.m4
parent1eacf10370529972a7407bdbb368f5f69f87a1b8 (diff)
downloadm4-578bd023ea85d57d8488b8cb88265fbe3a3071e4.tar.gz
configury: move usage examples into doc subdirectory.
* examples: Move from here... * doc/examples: ...to here. * Makefile.am (EXTRA_DIST, dist_pkgdata_DATA): Adjust. * README, doc/m4.texi, tests/builtins.at, tests/generate.awk, tests/others.at: Likewise. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Diffstat (limited to 'doc/examples/capitalize2.m4')
-rw-r--r--doc/examples/capitalize2.m419
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/examples/capitalize2.m4 b/doc/examples/capitalize2.m4
new file mode 100644
index 00000000..154dc505
--- /dev/null
+++ b/doc/examples/capitalize2.m4
@@ -0,0 +1,19 @@
+divert(`-1')
+# upcase(text)
+# downcase(text)
+# capitalize(text)
+# change case of text, improved version
+define(`upcase', `translit(`$*', `a-z', `A-Z')')
+define(`downcase', `translit(`$*', `A-Z', `a-z')')
+define(`_arg1', `$1')
+define(`_to_alt', `changequote(`<<[', `]>>')')
+define(`_from_alt', `changequote(<<[`]>>, <<[']>>)')
+define(`_upcase_alt', `translit(<<[$*]>>, <<[a-z]>>, <<[A-Z]>>)')
+define(`_downcase_alt', `translit(<<[$*]>>, <<[A-Z]>>, <<[a-z]>>)')
+define(`_capitalize_alt',
+ `regexp(<<[$1]>>, <<[^\(\w\)\(\w*\)]>>,
+ <<[_upcase_alt(<<[<<[\1]>>]>>)_downcase_alt(<<[<<[\2]>>]>>)]>>)')
+define(`capitalize',
+ `_arg1(_to_alt()patsubst(<<[<<[$*]>>]>>, <<[\w+]>>,
+ _from_alt()`]>>_$0_alt(<<[\&]>>)<<['_to_alt())_from_alt())')
+divert`'dnl