Blame sofort/core/modern.m4

1b64c0
dnl modern.m4: a modern and simple framework for using the m4 macro language
1b64c0
dnl
1b64c0
dnl This file is covered by COPYING.SOFORT.
1b64c0
dnl
1b64c0
dnl 1) make all standard m4 builtins m4_ prefixed.
1b64c0
dnl 2) set the left-bracket and right-bracket symbols the begin-quote and end-quote strings.
1b64c0
dnl 3) make a single underscore symbol the equivalent of the standard dnl builtin.
1b64c0
dnl 4) provide the m4_toupper(), m4_tolower(), and m4_pathvar() macros.
1b64c0
dnl 5) provide the m4_srclist() and m4_srcitem() macros.
1b64c0
dnl 6) provide the m4_fillerdots(), m4_fillerdash(), and m4_fillerline() macros.
1b64c0
dnl 7) provide the m4_whitespace() and m4_spacealign() macros.
1b64c0
dnl 8) provide the m4_alignlen(), m4_leftalign(), and m4_rightalign() macros.
1b64c0
dnl 9) provide the m4_tab(), m4_tabtab(), and m4_tabtabtab() macros.
1b64c0
dnl
1b64c0
divert(-1)
1b64c0
1b64c0
define(m4_changecom,defn(`changecom'))
1b64c0
define(m4_changequote,defn(`changequote'))
1b64c0
define(m4_decr,defn(`decr'))
1b64c0
define(m4_define,defn(`define'))
1b64c0
define(m4_defn,defn(`defn'))
1b64c0
define(m4_divert,defn(`divert'))
1b64c0
define(m4_divnum,defn(`divnum'))
1b64c0
define(m4_dnl,defn(`dnl'))
1b64c0
define(m4_dumpdef,defn(`dumpdef'))
1b64c0
define(m4_errprint,defn(`errprint'))
1b64c0
define(m4_eval,defn(`eval'))
1b64c0
define(m4_ifdef,defn(`ifdef'))
1b64c0
define(m4_ifelse,defn(`ifelse'))
1b64c0
define(m4_include,defn(`include'))
1b64c0
define(m4_incr,defn(`incr'))
1b64c0
define(m4_index,defn(`index'))
1b64c0
define(m4_len,defn(`len'))
1b64c0
define(m4_m4exit,defn(`m4exit'))
1b64c0
define(m4_m4wrap,defn(`m4wrap'))
1b64c0
define(m4_maketemp,defn(`maketemp'))
1b64c0
define(m4_mkstemp,defn(`mkstemp'))
1b64c0
define(m4_popdef,defn(`popdef'))
1b64c0
define(m4_pushdef,defn(`pushdef'))
1b64c0
define(m4_shift,defn(`shift'))
1b64c0
define(m4_sinclude,defn(`sinclude'))
1b64c0
define(m4_substr,defn(`substr'))
1b64c0
define(m4_syscmd,defn(`syscmd'))
1b64c0
define(m4_sysval,defn(`sysval'))
1b64c0
define(m4_traceoff,defn(`traceoff'))
1b64c0
define(m4_traceon,defn(`traceon'))
1b64c0
define(m4_translit,defn(`translit'))
1b64c0
define(m4_undefine,defn(`undefine'))
1b64c0
define(m4_undivert,defn(`undivert'))
1b64c0
1b64c0
m4_changequote([,])
1b64c0
1b64c0
m4_undefine([changecom])
1b64c0
m4_undefine([changequote])
1b64c0
m4_undefine([decr])
1b64c0
m4_undefine([define])
1b64c0
m4_undefine([defn])
1b64c0
m4_undefine([divert])
1b64c0
m4_undefine([divnum])
1b64c0
m4_undefine([dnl])
1b64c0
m4_undefine([dumpdef])
1b64c0
m4_undefine([errprint])
1b64c0
m4_undefine([eval])
1b64c0
m4_undefine([ifdef])
1b64c0
m4_undefine([ifelse])
1b64c0
m4_undefine([include])
1b64c0
m4_undefine([incr])
1b64c0
m4_undefine([index])
1b64c0
m4_undefine([len])
1b64c0
m4_undefine([m4exit])
1b64c0
m4_undefine([m4wrap])
1b64c0
m4_undefine([maketemp])
1b64c0
m4_undefine([mkstemp])
1b64c0
m4_undefine([popdef])
1b64c0
m4_undefine([pushdef])
1b64c0
m4_undefine([shift])
1b64c0
m4_undefine([sinclude])
1b64c0
m4_undefine([substr])
1b64c0
m4_undefine([syscmd])
1b64c0
m4_undefine([sysval])
1b64c0
m4_undefine([traceoff])
1b64c0
m4_undefine([traceon])
1b64c0
m4_undefine([translit])
1b64c0
m4_undefine([undefine])
1b64c0
m4_undefine([undivert])
1b64c0
1b64c0
m4_define([_],m4_defn([m4_dnl]))
1b64c0
1b64c0
m4_define([m4_toupper],[m4_translit([[$1]],[[abcdefghijklmnopqrstuvwxyz]],[[ABCDEFGHIJKLMNOPQRSTUVWXYZ]])])
1b64c0
m4_define([m4_tolower],[m4_translit([[$1]],[[ABCDEFGHIJKLMNOPQRSTUVWXYZ]],[[abcdefghijklmnopqrstuvwxyz]])])
1b64c0
m4_define([m4_pathvar],[m4_translit(m4_toupper([[$1]]),[/-],[__])])
1b64c0
1b64c0
m4_define([m4_srclist],[[$1] = \])
1b64c0
m4_define([m4_srcitem],[m4_tab[$1] \])
1b64c0
1b64c0
m4_define([m4_fillerdots],[................................])
1b64c0
m4_define([m4_fillerdash],[--------------------------------])
1b64c0
m4_define([m4_fillerline],[m4_fillerdots[]m4_fillerdots[]m4_fillerdots[]])
1b64c0
1b64c0
m4_define([m4_whitespace],[m4_translit(m4_fillerdots,[[.]],[[ ]])])
1b64c0
m4_define([m4_spacealign],[m4_translit(m4_fillerline,[[.]],[[ ]])])
1b64c0
1b64c0
m4_define([m4_alignlen],[m4_eval([$1]-m4_len([$2]))])
1b64c0
m4_define([m4_leftalign],[m4_substr(m4_spacealign,0,m4_alignlen([$1],[$2]))[$2]])
1b64c0
m4_define([m4_rightalign],[[$2]m4_substr(m4_spacealign,0,m4_alignlen([$1],[$2]))])
1b64c0
1b64c0
1b64c0
m4_define([m4_tab],_
1b64c0
	[$1]))
1b64c0
1b64c0
m4_define([m4_tabtab],_
1b64c0
		[$1])
1b64c0
1b64c0
m4_define([m4_tabtabtab],_
1b64c0
			[$1])
1b64c0
1b64c0
m4_divert(0)_