#!/bin/sh
# MFOUR="m4 -B 8192"
MFOUR="m4"
(cat << 'END'
undefine(`eval')
undefine(`expr')
undefine(`len')
undefine(`index')
undefine(`format')
undefine(`include')
undefine(`substr')
undefine(`paste')
define(KEYWORD,`')
define(COMMENT,`')
define(TITLE,`
##--- >>> $1<<< ----- $2
')
define(USAGE,`')
define(ALIAS,`		## help($1)')
define(BEGIN_ARGUMENTS,`')
define(END_ARGUMENTS,`')
define(ARGUMENTS,`')
define(ARG,`')
define(ITEM,`')
define(OITEM,`')
define(DESCRIPTION,`')
define(NOTE,`')
define(VALUE,`')
define(SECTION,`')
define(VALUES,`')
define(REFERENCES,`')
define(SEEALSO,`')
define(EXAMPLES,`
##___ Examples ___:
$1
')
define(LINK,`')
define(CTRL,`')
define(LANG,`')
define(ITALIC,`')
define(BOLD,`')
define(PARA,`
')
define(DOTS,`...')
define(LDOTS,`...')
define(EQBOLD,`')
define(EQN,`')
define(DEQN,`')
define(DEQTEX,`')
define(DEQHTML,`')
END
# Fix up the input to protect things that m4 is sensitive about.
sed '
/^ALIAS/,/^EXAMPLES/s/^ *//
/^ARGUMENTS/,/^EXAMPLES/s/^ *//
/^DESCRIPTION/,/^EXAMPLES/s/^ *//
s/unix/M4_unix/g
s/#/M4_HASH/g
s/\\(/M4_LP/g
s/\\)/M4_RP/g
s/`/M4_LQ/g
s/'\''/M4_RQ/g
s/,/M4_COMMA/g
s/@@/,/g
s/ifelse/M4_IFELSE/g
' $*) | $MFOUR |sed '
/^$/d
s/^BLANK$//
s/DOTS/\.\.\./g
s/M4_unix/unix/g
s/M4_HASH/#/g
s/M4_LP/(/g
s/M4_RP/)/g
s/M4_LQ/`/g
s/M4_RQ/'\''/g
s/M4_COMMA/,/g
s/M4_IFELSE/ifelse/g
'