Blame sofort/core/modern.m4

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