diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/mult-ini.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/mult-ini.mkiv | 174 |
1 files changed, 86 insertions, 88 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/mult-ini.mkiv b/Master/texmf-dist/tex/context/base/mkiv/mult-ini.mkiv index 641c8a4f50e..75fa5c7bfa4 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/mult-ini.mkiv +++ b/Master/texmf-dist/tex/context/base/mkiv/mult-ini.mkiv @@ -20,6 +20,7 @@ \unprotect \registerctxluafile{mult-ini}{} +\registerctxluafile{mult-fmt}{initexonly} %D \macros %D [constanten,variabelen,commands] @@ -59,6 +60,7 @@ \def\m!prefix!{m!} \def\s!prefix!{s!} \def\v!prefix!{v!} +\def\t!prefix!{t!} %D \macros %D [constants,variables,commands] @@ -105,33 +107,35 @@ %D than once. Savings like this should of course be implemented in english, just %D because \TEX\ is english. -\def\s!width {width} \let\!!width \s!width % obsolete -\def\s!height{height} \let\!!height\s!height % obsolete -\def\s!depth {depth} \let\!!depth \s!depth % obsolete -\def\s!spread{spread} \let\!!spread\s!spread % obsolete -\def\s!plus {plus} \let\!!plus \s!plus % obsolete -\def\s!minus {minus} \let\!!minus \s!minus % obsolete -\def\s!left {left} -\def\s!right {right} -\def\s!fil {fil} -\def\s!fill {fill} \let\!!fill \s!fill % obsolete -\def\s!filll {filll} -\def\s!to {to} \let\!!to \s!to % obsolete -\def\s!attr {attr} -\def\s!axis {axis} - -\def\s!bottom{bottom} -\def\s!top {top} -\def\s!both {both} - -\def\s!reverse {reverse} +\def\s!width {width} +\def\s!height {height} +\def\s!depth {depth} +\def\s!spread {spread} +\def\s!plus {plus} +\def\s!minus {minus} +\def\s!to {to} + +\def\s!fil {fil} +\def\s!fill {fill} +\def\s!filll {filll} + +\def\s!attr {attr} +\def\s!axis {axis} +\def\s!both {both} +\def\s!bottom {bottom} +\def\s!left {left} +\def\s!options {options} \def\s!orientation{orientation} -\def\s!xoffset {xoffset} +\def\s!reverse {reverse} +\def\s!right {right} +\def\s!top {top} \def\s!xmove {xmove} -\def\s!yoffset {yoffset} +\def\s!xoffset {xoffset} \def\s!ymove {ymove} +\def\s!yoffset {yoffset} %D \macros + %D {defineinterfaceconstant, %D defineinterfacevariable, %D defineinterfaceelement, @@ -165,9 +169,9 @@ %D \def\e!name{meaning} %D \stoptyping -\unexpanded\def\defineinterfaceconstant #1#2{\expandafter\def\csname\c!prefix!#1\endcsname{#2}} -\unexpanded\def\defineinterfacevariable #1#2{\expandafter\def\csname\v!prefix!#1\endcsname{#2}} -\unexpanded\def\defineinterfaceelement #1#2{\expandafter\def\csname\e!prefix!#1\endcsname{#2}} +\protected\def\defineinterfaceconstant#1#2{\expandafter\def\csname\c!prefix!#1\endcsname{#2}} +\protected\def\defineinterfacevariable#1#2{\expandafter\def\csname\v!prefix!#1\endcsname{#2}} +\protected\def\defineinterfaceelement #1#2{\expandafter\def\csname\e!prefix!#1\endcsname{#2}} %D Next come some interface independant constants: %D @@ -175,7 +179,7 @@ %D \definefileconstant {name} {meaning} %D \stoptyping -\unexpanded\def\definefileconstant #1#2{\expandafter\def\csname\f!prefix!#1\endcsname{#2}} +\protected\def\definefileconstant#1#2{\expandafter\def\csname\f!prefix!#1\endcsname{#2}} %D And finaly we have the one argument, space saving constants %D @@ -184,8 +188,13 @@ %D \definemessageconstant {name} %D \stoptyping -\unexpanded\def\definesystemconstant #1{\expandafter\def\csname\s!prefix!#1\endcsname{#1}} -\unexpanded\def\definemessageconstant #1{\expandafter\def\csname\m!prefix!#1\endcsname{#1}} +\protected\def\definesystemconstant #1{\expandafter\def\csname\s!prefix!#1\endcsname{#1}} +\protected\def\definemessageconstant#1{\expandafter\def\csname\m!prefix!#1\endcsname{#1}} + +%D For now here: + +\protected\def\definetagconstant #1{\expandafter\def\csname\t!prefix!#1\endcsname{#1}} +\protected\def\aliastagconstant #1#2{\expandafter\let\csname\t!prefix!#1\expandafter\endcsname\csname\t!prefix!#2\endcsname} %D In a parameter driven system, some parameters are shared by more system %D components. In \CONTEXT\ we can distinguish parameters by a unique prefix. Such a @@ -195,7 +204,7 @@ %D \definesystemvariable {name} %D \stoptyping -\unexpanded\def\definesystemvariable#1{\expandafter\edef\csname\??prefix#1\endcsname{\@@prefix#1}} +\protected\def\definesystemvariable#1{\expandafter\edef\csname\??prefix#1\endcsname{\@@prefix#1}} \definesystemvariable{ms} @@ -260,7 +269,7 @@ %D \stopinterface %D \stoptyping -\unexpanded\def\startinterface #1 +\protected\def\startinterface #1 {\doifnot{#1}{all}{\doifnotinset\currentinterface{#1}{\gobbleuntil\stopinterface}}} \let\stopinterface\relax @@ -344,7 +353,7 @@ %D %D These will become obsolete: -\unexpanded\def\startmessages #1 library: #2 % +\protected\def\startmessages #1 library: #2 % {\begingroup \ifcsname\m!prefix!#2\endcsname\else\setgvalue{\m!prefix!#2}{#2}\fi \catcode\endoflineasciicode\othercatcode @@ -359,21 +368,21 @@ \let\stopmessages\relax -\unexpanded\def\setinterfacemessage#1#2#3% +\protected\def\setinterfacemessage#1#2#3% {\ifcsname\m!prefix!#1\endcsname\else\setgvalue{\m!prefix!#1}{#1}\fi \clf_setinterfacemessage{#1}{#2}{#3}} -\unexpanded\def\setmessagetext #1#2{\relax\edef\currentmessagetext{\clf_getmessage{#1}{#2}}} -\unexpanded\def\getmessage #1#2{\relax\clf_getmessage{#1}{#2}} -\unexpanded\def\doifelsemessage #1#2{\relax\clf_doifelsemessage{#1}{#2}} -\unexpanded\def\showmessage #1#2#3{\relax\clf_showmessage{#1}{#2}{#3}} -\unexpanded\def\writestatus #1#2{\relax\clf_writestatus{#1}{#2}} -\unexpanded\def\message {\relax\clf_message} +\protected\def\setmessagetext #1#2{\relax\edef\currentmessagetext{\clf_getmessage{#1}{#2}}} +\protected\def\getmessage #1#2{\relax\clf_getmessage{#1}{#2}} +\protected\def\doifelsemessage #1#2{\relax\clf_doifelsemessage{#1}{#2}} +\protected\def\showmessage #1#2#3{\relax\clf_showmessage{#1}{#2}{#3}} +\protected\def\writestatus #1#2{\relax\clf_writestatus{#1}{#2}} +\protected\def\message {\relax\clf_message} \let\doifmessageelse\doifelsemessage -\unexpanded\def\inlinemessage #1{\dontleavehmode{\tttf#1}} -\unexpanded\def\displaymessage#1{\blank\inlinemessage{#1}\blank} +\protected\def\inlinemessage #1{\dontleavehmode{\tttf#1}} +\protected\def\displaymessage#1{\blank\inlinemessage{#1}\blank} \let\getsetupstring\clf_getsetupstring \let\rawsetupstring\clf_rawsetupstring @@ -392,15 +401,15 @@ %D backmapping (\type{\c!k...}) and make \type {\c!c...} similar to \type {\v!...}. %D In that case we can simply the following setters. -\unexpanded\def\doletvalue #1#2{\expandafter\let \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} -\unexpanded\def\dosetvalue #1#2{\expandafter\def \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} -\unexpanded\def\dosetevalue #1#2{\expandafter\edef\csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} -\unexpanded\def\dosetgvalue #1#2{\expandafter\gdef\csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} -\unexpanded\def\dosetxvalue #1#2{\expandafter\xdef\csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} -\unexpanded\def\doresetvalue #1#2{\expandafter\let \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname\empty} -\unexpanded\def\doignorevalue#1#2#3{\expandafter\let \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname\empty} +\protected\def\doletvalue #1#2{\expandafter\let \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} +\protected\def\dosetvalue #1#2{\expandafter\def \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} +\protected\def\dosetevalue #1#2{\expandafter\edef\csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} +\protected\def\dosetgvalue #1#2{\expandafter\gdef\csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} +\protected\def\dosetxvalue #1#2{\expandafter\xdef\csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname} +\protected\def\doresetvalue #1#2{\expandafter\let \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname\empty} +\protected\def\doignorevalue#1#2#3{\expandafter\let \csname#1\ifcsname\k!prefix!#2\endcsname\csname\k!prefix!#2\endcsname\else#2\fi\endcsname\empty} -\unexpanded\def\docopyvalue#1#2#3% +\protected\def\docopyvalue#1#2#3% {\ifcsname\k!prefix!#3\endcsname \expandafter\def\csname#1\csname\k!prefix!#3\endcsname\expandafter\endcsname\expandafter {\csname#2\csname\k!prefix!#3\endcsname\endcsname}% @@ -411,15 +420,15 @@ \startinterface english - \unexpanded\def\doletvalue #1#2{\expandafter \let\csname#1#2\endcsname} - \unexpanded\def\dosetvalue #1#2{\expandafter \def\csname#1#2\endcsname} - \unexpanded\def\dosetevalue #1#2{\expandafter\edef\csname#1#2\endcsname} - \unexpanded\def\dosetgvalue #1#2{\expandafter\gdef\csname#1#2\endcsname} - \unexpanded\def\dosetxvalue #1#2{\expandafter\xdef\csname#1#2\endcsname} - \unexpanded\def\doresetvalue #1#2{\expandafter \let\csname#1#2\endcsname\empty} - \unexpanded\def\doignorevalue#1#2#3{\expandafter \let\csname#1#2\endcsname\empty} + \protected\def\doletvalue #1#2{\expandafter \let\csname#1#2\endcsname} + \protected\def\dosetvalue #1#2{\expandafter \def\csname#1#2\endcsname} + \protected\def\dosetevalue #1#2{\expandafter\edef\csname#1#2\endcsname} + \protected\def\dosetgvalue #1#2{\expandafter\gdef\csname#1#2\endcsname} + \protected\def\dosetxvalue #1#2{\expandafter\xdef\csname#1#2\endcsname} + \protected\def\doresetvalue #1#2{\expandafter \let\csname#1#2\endcsname\empty} + \protected\def\doignorevalue#1#2#3{\expandafter \let\csname#1#2\endcsname\empty} - \unexpanded\def\docopyvalue#1#2#3% + \protected\def\docopyvalue#1#2#3% {\expandafter\def\csname#1#3\expandafter\endcsname\expandafter {\csname#2#3\endcsname}} @@ -428,9 +437,9 @@ %D We can now redefine some messages that will be introduced in the multi||lingual %D system module. -\unexpanded\def\showassignerror #1#2{\showmessage\m!check1{#1,#2}} -\unexpanded\def\showargumenterror#1#2{\showmessage\m!check2{#1,#2}} -\unexpanded\def\showdefinederror #1#2{\showmessage\m!check3{#1,#2}} +\protected\def\showassignerror #1#2{\showmessage\m!check1{#1,#2}} +\protected\def\showargumenterror#1#2{\showmessage\m!check2{#1,#2}} +\protected\def\showdefinederror #1#2{\showmessage\m!check3{#1,#2}} %D \CONTEXT\ is a parameter driven package. This means that users instruct the %D system by means of variables, values and keywords. These instructions take the @@ -598,7 +607,7 @@ %D simple setup command: %D %D \starttyping -%D \unexpanded\def\setupbox[#1]% +%D \protected\def\setupbox[#1]% %D {\getparameters[\??bx][#1]} %D \stoptyping %D @@ -667,11 +676,11 @@ % temporary mkiv hack (we can best just store the whole table in memory) -\unexpanded\def\setinterfaceconstant#1#2% +\protected\def\setinterfaceconstant#1#2% {\clf_setinterfaceconstant{#1}{#2}% \expandafter\def\csname\c!prefix!#1\endcsname{#1}} -\unexpanded\def\setinterfacevariable#1#2% +\protected\def\setinterfacevariable#1#2% {\clf_setinterfacevariable{#1}{#2}% \expandafter\def\csname\v!prefix!#1\endcsname{#2}} @@ -682,7 +691,7 @@ %D too. It's a bit redundant, because in these situations we could use the %D c||version, but for documentation purposes the x||alternative comes in handy. -\unexpanded\def\defineinterfaceconstant#1#2% +\protected\def\defineinterfaceconstant#1#2% {\expandafter\def\csname\c!prefix!#1\endcsname{#2}} %D \macros @@ -697,7 +706,7 @@ %D {\stel<iets>in}. Such split elements are no problem, because we just define two %D elements. When no second part is needed, we use a \type {-}: -\unexpanded\def\setinterfaceelement#1#2% +\protected\def\setinterfaceelement#1#2% {\clf_setinterfaceelement{#1}{#2}% \ifcsname\e!prefix!#1\endcsname \doifnotvalue{\e!prefix!#1}{#2}{\setvalue{\e!prefix!#1}{#2}}% @@ -705,38 +714,27 @@ \setvalue{\e!prefix!#1}{#2}% \fi} -\unexpanded\def\setinterfacecommand#1#2% +\protected\def\setinterfacecommand#1#2% {\doifnot{#1}{#2}% todo: let when already defined {\expandafter\def\csname#2\expandafter\endcsname\expandafter{\csname#1\endcsname}}} %D We just ignore these: -\unexpanded\def\startvariables{\gobbleuntil\stopvariables} \let\stopvariables\relax -\unexpanded\def\startconstants{\gobbleuntil\stopconstants} \let\stopconstants\relax -\unexpanded\def\startelements {\gobbleuntil\stopelements } \let\stopelements \relax -\unexpanded\def\startcommands {\gobbleuntil\stopcommands } \let\stopcommands \relax +\protected\def\startvariables{\gobbleuntil\stopvariables} \let\stopvariables\relax +\protected\def\startconstants{\gobbleuntil\stopconstants} \let\stopconstants\relax +\protected\def\startelements {\gobbleuntil\stopelements } \let\stopelements \relax +\protected\def\startcommands {\gobbleuntil\stopcommands } \let\stopcommands \relax %D For at the \LUA\ end (experiment): -% \def\do@sicon#1#2{\expandafter\gdef\csname\c!prefix!#1\endcsname{#1}% -% \expandafter\gdef\csname\k!prefix!#2\endcsname{#1}} % backmapping from non english -% \def\do@sivar#1#2{\expandafter\gdef\csname\v!prefix!#1\endcsname{#2}} -% \def\do@siele#1#2{\expandafter\gdef\csname\e!prefix!#1\endcsname{#2}} -% \def\do@sicom#1#2{\expandafter\gdef\csname#2\expandafter\endcsname\expandafter{\csname#1\endcsname}} -% -% \startinterface english -% -% \def\do@sicon#1#2{\expandafter\gdef\csname\c!prefix!#1\endcsname{#1}} -% -% \stopinterface - \def\ui_c#1#2{\expandafter\gdef\csname\c!prefix!#1\endcsname{#1}% \expandafter\gdef\csname\k!prefix!#2\endcsname{#1}} % backmapping from non english \def\ui_s #1{\expandafter\gdef\csname\c!prefix!#1\endcsname{#1}% \expandafter\gdef\csname\k!prefix!#1\endcsname{#1}} % backmapping from non english \def\ui_v#1#2{\expandafter\gdef\csname\v!prefix!#1\endcsname{#2}} \def\ui_e#1#2{\expandafter\gdef\csname\e!prefix!#1\endcsname{#2}} -\def\ui_m#1#2{\expandafter\gdef\csname#2\expandafter\endcsname\expandafter{\csname#1\endcsname}} +%def\ui_m#1#2{\expandafter\gdef\csname#2\expandafter\endcsname\expandafter{\csname#1\endcsname}} +\def\ui_a#1#2{\aliasmacro#2#1} \startinterface english @@ -760,11 +758,11 @@ \def\contextbanner {ConTeXt \space - ver: \contextversion \space \contextmark \space \contextkind \space \space + ver: \contextversion \space \contextmark \space \space fmt: \formatversion \space \space int: \currentinterface/\currentresponses} -\unexpanded\def\showcontextbanner +\protected\def\showcontextbanner {\writestatus\m!system\empty \writestatus\m!system\contextbanner \writestatus\m!system\empty} @@ -781,9 +779,9 @@ % \def\contextversionnumber#1.#2.#3 #4:#5\relax{#1\ifnum#2<10 0\fi\purenumber{#2}\ifnum#3<10 0\fi\purenumber{#3} #4:#5} % \edef\contextversionnumber{\expandafter\contextversionnumber\contextversion\relax\space\contextmark} -\unexpanded\def \contextversionnumber #1.#2.#3 #4:#5\relax{#1#2#3} - \contextversionno \expandafter\contextversionnumber\contextversion\relax - \edef \contextversionnumber {\the\contextversionno\space\contextmark} +\protected\def \contextversionnumber #1.#2.#3 #4:#5\relax{#1#2#3} + \contextversionno \expandafter\contextversionnumber\contextversion\relax + \edef \contextversionnumber {\the\contextversionno\space\contextmark} %D \macros %D {everydump} @@ -792,7 +790,7 @@ \ifx\undefined\everydump \newtoks\everydump - \def\dump{\the\everydump\normaldump} + \def\dump{\the\everydump\global\everydump\emptytoks\glet\dump\relax\normaldump} \fi % \appendtoks \showcontextbanner \to \everydump |