Blame sofort/core/modern.m4

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