Blame sofort/core/modern.m4

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