mirror of
https://https.git.savannah.gnu.org/git/m4.git
synced 2026-01-27 01:44:29 +00:00
* examples/join.m4: New file. * examples/wraplifo2.m4: Likewise. * Makefile.am (EXTRA_DIST): Add new files. * doc/m4.texinfo (Improved m4wrap): New node. (Defn, Location): Enhance tests. (Shift): Document the composit macro join. (Incompatibilities): Move documentation of LIFO vs. FIFO... (M4wrap): ...here, to match improved example. Signed-off-by: Eric Blake <ebb9@byu.net>
16 lines
583 B
Plaintext
16 lines
583 B
Plaintext
divert(`-1')
|
|
# join(sep, args) - join each non-empty ARG into a single
|
|
# string, with each element separated by SEP
|
|
define(`join',
|
|
`ifelse(`$#', `2', ``$2'',
|
|
`ifelse(`$2', `', `', ``$2'_')$0(`$1', shift(shift($@)))')')
|
|
define(`_join',
|
|
`ifelse(`$#$2', `2', `',
|
|
`ifelse(`$2', `', `', ``$1$2'')$0(`$1', shift(shift($@)))')')
|
|
# joinall(sep, args) - join each ARG, including empty ones,
|
|
# into a single string, with each element separated by SEP
|
|
define(`joinall', ``$2'_$0(`$1', shift($@))')
|
|
define(`_joinall',
|
|
`ifelse(`$#', `2', `', ``$1$3'$0(`$1', shift(shift($@)))')')
|
|
divert`'dnl
|