Blame sofort/core/modern.m4

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