summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mult-ini.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mult-ini.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/mult-ini.mkiv62
1 files changed, 39 insertions, 23 deletions
diff --git a/Master/texmf-dist/tex/context/base/mult-ini.mkiv b/Master/texmf-dist/tex/context/base/mult-ini.mkiv
index 5033a523336..e20548f9b5f 100644
--- a/Master/texmf-dist/tex/context/base/mult-ini.mkiv
+++ b/Master/texmf-dist/tex/context/base/mult-ini.mkiv
@@ -118,6 +118,11 @@
\def\!!fill {fill}
\def\!!to {to}
\def\!!spread{spread}
+
+%D Kind of special:
+
+\edef\!!TLT{\detokenize{TLT}}
+\edef\!!TRT{\detokenize{TRT}}
%D \macros
%D {defineinterfaceconstant,
@@ -157,9 +162,9 @@
%D \def\e!name{meaning}
%D \stoptyping
-\def\defineinterfaceconstant #1#2{\setvalue{\c!prefix!#1}{#2}}
-\def\defineinterfacevariable #1#2{\setvalue{\v!prefix!#1}{#2}}
-\def\defineinterfaceelement #1#2{\setvalue{\e!prefix!#1}{#2}}
+\unexpanded\def\defineinterfaceconstant #1#2{\setvalue{\c!prefix!#1}{#2}}
+\unexpanded\def\defineinterfacevariable #1#2{\setvalue{\v!prefix!#1}{#2}}
+\unexpanded\def\defineinterfaceelement #1#2{\setvalue{\e!prefix!#1}{#2}}
%D Next come some interface independant constants:
%D
@@ -168,12 +173,12 @@
%D \definefileconstant {name} {meaning}
%D \stoptyping
-\def\definereferenceconstant #1#2{\setvalue{\r!prefix!#1}{#2}}
-\def\definefileconstant #1#2{\setvalue{\f!prefix!#1}{#2}}
+\unexpanded\def\definereferenceconstant #1#2{\setvalue{\r!prefix!#1}{#2}}
+\unexpanded\def\definefileconstant #1#2{\setvalue{\f!prefix!#1}{#2}}
%D A new one:
-\def\definetypescriptconstant#1#2{\setvalue{\t!prefix!#1}{#2}}
+\unexpanded\def\definetypescriptconstant#1#2{\setvalue{\t!prefix!#1}{#2}}
%D And finaly we have the one argument, space saving constants
%D
@@ -182,8 +187,8 @@
%D \definemessageconstant {name}
%D \stoptyping
-\def\definesystemconstant #1{\setvalue{\s!prefix!#1}{#1}}
-\def\definemessageconstant #1{\setvalue{\m!prefix!#1}{#1}}
+\unexpanded\def\definesystemconstant #1{\setvalue{\s!prefix!#1}{#1}}
+\unexpanded\def\definemessageconstant #1{\setvalue{\m!prefix!#1}{#1}}
%D In a parameter driven system, some parameters are shared
%D by more system components. In \CONTEXT\ we can distinguish
@@ -194,7 +199,7 @@
%D \definesystemvariable {name}
%D \stoptyping
-\def\definesystemvariable#1{\setevalue{\??prefix#1}{\@@prefix#1}}
+\unexpanded\def\definesystemvariable#1{\setevalue{\??prefix#1}{\@@prefix#1}}
\definesystemvariable{ms}
@@ -262,7 +267,7 @@
%D \stopinterface
%D \stoptyping
-\def\startinterface #1
+\unexpanded\def\startinterface #1
{\doifnot{#1}{all}{\doifnotinset\currentinterface{#1}{\gobbleuntil\stopinterface}}}
\let\stopinterface\relax
@@ -353,7 +358,7 @@
%D which puts the message text asked for in \type
%D {\currentmessagetext}.
-\def\startmessages #1 library: #2 %
+\unexpanded\def\startmessages #1 library: #2 %
{\bgroup
\ifcsname\m!prefix!#2\endcsname\else\setgvalue{\m!prefix!#2}{#2}\fi
\catcode13=\active
@@ -370,10 +375,12 @@
{\ifcsname\m!prefix!#1\endcsname\else\setgvalue{\m!prefix!#1}{#1}\fi
\ctxlua{interfaces.setmessage("#1","#2",\!!bs#3\!!es)}}
-\unexpanded\def\setmessagetext #1#2{\edef\currentmessagetext{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.getmessage("#1","#2"))}}}
-\unexpanded\def\getmessage #1#2{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.getmessage("#1","#2"))}}
-\unexpanded\def\makemessage #1#2#3{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.makemessage("#1","#2","#3"))}}
-\unexpanded\def\showmessage #1#2#3{\ctxlua{interfaces.showmessage("#1","#2","#3")}}
+\unexpanded\def\setmessagetext #1#2{\edef\currentmessagetext{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.getmessage("#1","#2"))}}}
+\unexpanded\def\doifelsemessage #1#2{\ctxlua{interfaces.doifelsemessage("#1","#2")}}
+\unexpanded\def\getmessage #1#2{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.getmessage("#1","#2"))}}
+\unexpanded\def\getmessagedefault#1#2#3{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.getmessage("#1","#2","#3"))}}
+\unexpanded\def\makemessage #1#2#3{\ctxlua{tex.sprint(tex.ctxcatcodes,interfaces.makemessage("#1","#2","#3"))}}
+\unexpanded\def\showmessage #1#2#3{\ctxlua{interfaces.showmessage("#1","#2","#3")}}
%D \macros
%D {ifshowwarnings, ifshowmessages}
@@ -417,6 +424,12 @@
%D We already defined these auxiliary macros in the system
%D modules. Starting with this module however, we have to take
%D multi||linguality a bit more serious.
+%D
+%D The additional \type {\c!internal!n} prefixing is no longer
+%D needed as we now have separate interface files when dealing
+%D with setups (quick ref docs) and no longer reload the whole
+%D interface. (We no longer need the link back to the main
+%D internal interface.)
\def\doresetvalue#1#2%
{\dosetvalue{#1}{#2}{}}
@@ -664,7 +677,7 @@
%D system module. Let us define some simple setup command:
%D
%D \starttyping
-%D \def\setupbox[#1]%
+%D \unexpanded\def\setupbox[#1]%
%D {\getparameters[\??bx][#1]}
%D \stoptyping
%D
@@ -683,7 +696,7 @@
%D depending on the actual language. In dutch we just say:
%D
%D \starttyping
-%D \setupblock [width=3cm, height=1cm]
+%D \stelblokin [breedte=3cm,hoogte=1cm]
%D \stoptyping
%D
%D and get ourselves \type{\@@bxwidth} and \type{\@@bxheight}
@@ -732,7 +745,10 @@
%D \stopnarrower
%D Anno 2003 I've forgotten why the \type {\c!internal} is
-%D still in there; it's probably a left over from an experiment.
+%D still in there; it's probably a left over from the time that
+%D the user interface documents were not using a specification
+%D alongside a keyword specification but used a shared file in
+%D which case we need to go in both directions.
\let\c!internal!y \string
\def\c!internal!n {-}
@@ -757,7 +773,7 @@
%D in these situations we could use the c||version, but for
%D documentation purposes the x||alternative comes in handy.
-\def\defineinterfaceconstant#1#2%
+\unexpanded\def\defineinterfaceconstant#1#2%
{\setvalue{\c!prefix!#1}{#2}}
%D \macros
@@ -786,10 +802,10 @@
%D We just ignore these:
-\def\startvariables{\gobbleuntil\stopvariables}
-\def\startconstants{\gobbleuntil\stopconstants}
-\def\startelements {\gobbleuntil\stopelements}
-\def\startcommands {\gobbleuntil\stopcommands}
+\unexpanded\def\startvariables{\gobbleuntil\stopvariables}
+\unexpanded\def\startconstants{\gobbleuntil\stopconstants}
+\unexpanded\def\startelements {\gobbleuntil\stopelements}
+\unexpanded\def\startcommands {\gobbleuntil\stopcommands}
%D \macros
%D {interfaced}