Blame sofort/core/modern.m4

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