Blame sofort/core/modern.m4

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