Blame sofort/core/modern.m4

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