summaryrefslogtreecommitdiff
path: root/tex/context/base/mult-ini.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mult-ini.tex')
-rw-r--r--tex/context/base/mult-ini.tex106
1 files changed, 73 insertions, 33 deletions
diff --git a/tex/context/base/mult-ini.tex b/tex/context/base/mult-ini.tex
index f76e7943f..98af68127 100644
--- a/tex/context/base/mult-ini.tex
+++ b/tex/context/base/mult-ini.tex
@@ -347,8 +347,7 @@
\def\findinterfacemessage#1#2%
{\let#2\empty
- \def\dofindinterfacemessage##1 #1: ##2\relax##3\end%
- {\def#2{##2}}%
+ \def\dofindinterfacemessage##1 #1: ##2\relax##3\end{\def#2{##2}}%
\edef\!!stringa{\getvalue{\??ms\currentmessagelibrary} #1: \relax}%
\expandafter\dofindinterfacemessage\!!stringa\end}
@@ -404,11 +403,10 @@
\def\getinterfacemessage%
{\ifx\next\stopmessages
- \def\next##1{\egroup}%
+ \egroup\expandafter\gobbleoneargument
\else
- \let\next\addinterfacemessage
- \fi
- \next}
+ \expandafter\addinterfacemessage
+ \fi}
\def\startmessages #1 library: #2
{\definemessageconstant{#2}% handy for modules
@@ -572,12 +570,12 @@
\def\docopyvalue#1#2#3% c -> k
{\p!doifundefined{\k!prefix!#3}%
\let\donottest\doprocesstest
- \@EA\@EA\@EA\def\@EA
+ \@EAEAEA\def\@EA
\csname\@EA#1\@EA#3\@EA
\endcsname\@EA{\csname#2#3\endcsname}%
\else
\let\donottest\doprocesstest
- \@EA\@EA\@EA\def\@EA
+ \@EAEAEA\def\@EA
\csname\@EA#1\@EA\csname\@EA\k!prefix!\@EA#3\@EA\endcsname\@EA
\endcsname\@EA{\csname#2\csname\k!prefix!#3\endcsname\endcsname}%
\fi}
@@ -622,30 +620,30 @@
{\let\c!internal!\c!internal!n
\@EA\ifx\csname\k!prefix!#2\endcsname\relax
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA\@EA\csname#1#2\endcsname
+ \@EAEAEA\def\@EA\@EA\csname#1#2\endcsname
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+ \@EAEAEA\def\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
\fi}
\def\dosetevalue#1#2%
{\let\c!internal!\c!internal!n
\@EA\ifx\csname\k!prefix!#2\endcsname\relax
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\edef\@EA\@EA\csname#1#2\endcsname
+ \@EAEAEA\edef\@EA\@EA\csname#1#2\endcsname
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\edef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+ \@EAEAEA\edef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
\fi}
\def\dosetgvalue#1#2%
{\let\c!internal!\c!internal!n
\@EA\ifx\csname\k!prefix!#2\endcsname\relax
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\gdef\@EA\@EA\csname#1#2\endcsname
+ \@EAEAEA\gdef\@EA\@EA\csname#1#2\endcsname
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\gdef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+ \@EAEAEA\gdef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
\fi}
% so far
@@ -654,12 +652,12 @@
{\let\c!internal!\c!internal!n
\@EA\ifx\csname\k!prefix!#3\endcsname\relax
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA
+ \@EAEAEA\def\@EA
\csname\@EA#1\@EA#3\@EA
\endcsname\@EA{\csname#2#3\endcsname}%
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA
+ \@EAEAEA\def\@EA
\csname\@EA#1\@EA\csname\@EA\k!prefix!\@EA#3\@EA\endcsname\@EA
\endcsname\@EA{\csname#2\csname\k!prefix!#3\endcsname\endcsname}%
\fi}
@@ -699,51 +697,93 @@
% \fi}
%
% cleaner (not that much faster) don't pass #3 yet:
+%
+% \def\dosetvalue#1#2%
+% {\let\c!internal!\c!internal!n
+% \ifcsname\k!prefix!#2\endcsname
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\def\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+% \else
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\def\@EA\@EA\csname#1#2\endcsname
+% \fi}
+%
+% \def\dosetevalue#1#2%
+% {\let\c!internal!\c!internal!n
+% \ifcsname\k!prefix!#2\endcsname
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\edef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+% \else
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\edef\@EA\@EA\csname#1#2\endcsname
+% \fi}
+%
+% \def\dosetgvalue#1#2%
+% {\let\c!internal!\c!internal!n
+% \ifcsname\k!prefix!#2\endcsname
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\gdef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+% \else
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\gdef\@EA\@EA\csname#1#2\endcsname
+% \fi}
+%
+% \def\docopyvalue#1#2#3%
+% {\let\c!internal!\c!internal!n
+% \ifcsname\k!prefix!#3\endcsname
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\def\@EA
+% \csname\@EA#1\@EA\csname\@EA\k!prefix!\@EA#3\@EA\endcsname\@EA
+% \endcsname\@EA{\csname#2\csname\k!prefix!#3\endcsname\endcsname}%
+% \else
+% \let\c!internal!\c!internal!y
+% \@EAEAEA\def\@EA
+% \csname\@EA#1\@EA#3\@EA
+% \endcsname\@EA{\csname#2#3\endcsname}%
+% \fi}
+%
+% sligntly more efficient (but not faster in day to day runs)
\def\dosetvalue#1#2%
{\let\c!internal!\c!internal!n
\ifcsname\k!prefix!#2\endcsname
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+ \@EA\def\csname#1\csname\k!prefix!#2\endcsname%\endcsname
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA\@EA\csname#1#2\endcsname
- \fi}
+ \@EA\def\csname#1#2%\endcsname
+ \fi\endcsname}
\def\dosetevalue#1#2%
{\let\c!internal!\c!internal!n
\ifcsname\k!prefix!#2\endcsname
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\edef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+ \@EA\edef\csname#1\csname\k!prefix!#2\endcsname%\endcsname
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\edef\@EA\@EA\csname#1#2\endcsname
- \fi}
+ \@EA\edef\csname#1#2%\endcsname
+ \fi\endcsname}
\def\dosetgvalue#1#2%
{\let\c!internal!\c!internal!n
\ifcsname\k!prefix!#2\endcsname
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\gdef\@EA\@EA\csname#1\csname\k!prefix!#2\endcsname\endcsname
+ \@EA\gdef\csname#1\csname\k!prefix!#2\endcsname%\endcsname
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\gdef\@EA\@EA\csname#1#2\endcsname
- \fi}
-
-% so far
+ \@EA\gdef\csname#1#2%\endcsname
+ \fi\endcsname}
\def\docopyvalue#1#2#3%
{\let\c!internal!\c!internal!n
\ifcsname\k!prefix!#3\endcsname
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA
- \csname\@EA#1\@EA\csname\@EA\k!prefix!\@EA#3\@EA\endcsname\@EA
+ \@EAEAEA\def\@EA\@EA
+ \csname#1\csname\k!prefix!#3\endcsname
\endcsname\@EA{\csname#2\csname\k!prefix!#3\endcsname\endcsname}%
\else
\let\c!internal!\c!internal!y
- \@EA\@EA\@EA\def\@EA
- \csname\@EA#1\@EA#3\@EA
- \endcsname\@EA{\csname#2#3\endcsname}%
+ \@EAEAEA\def\@EA\@EA\csname#1#3\endcsname\@EA{\csname#2#3\endcsname}%
\fi}
\endETEX
@@ -1296,7 +1336,7 @@
{\doifdefinedelse{#2}
{\debuggerinfo{command}{core command #2 redefined as #1}}%
{\debuggerinfo{command}{#2 defined as #1}}%
- \@EA\@EA\@EA\def\@EA\csname\@EA#2\@EA\endcsname
+ \@EAEAEA\def\@EA\csname\@EA#2\@EA\endcsname
\@EA{\csname#1\endcsname}}%
\setinterfacesetupvariable{#1}{#2}}}