diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mult-fst.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mult-fst.mkiv | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mult-fst.mkiv b/Master/texmf-dist/tex/context/base/mult-fst.mkiv new file mode 100644 index 00000000000..11558b557c6 --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mult-fst.mkiv @@ -0,0 +1,41 @@ +%D \module +%D [ file=mult-fst, +%D version=2006.08.16, +%D title=\CONTEXT\ Multilingual Macros, +%D subtitle=Speed Up, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +% And so, after a few years of keeping this potentially dangerous +% speedup in cont-exp, we now move it to the kernel: the next +% patch is 30\% faster on main interface (seconds) (9->7 sec on +% 1 million calls). Another speed up is still under testing. + +\unprotect + +\startinterface english + + \def\dosetvalue #1#2{\@EA\def \csname#1#2\endcsname} + \def\dosetevalue #1#2{\@EA\edef\csname#1#2\endcsname} + \def\dosetgvalue #1#2{\@EA\gdef\csname#1#2\endcsname} + \def\dosetxvalue #1#2{\@EA\gdef\csname#1#2\endcsname} + \def\docopyvalue#1#2#3{\@EA\def \csname#1#3\@EA\endcsname\@EA{\csname#2#3\endcsname}} + + \def\setinterfaceconstant#1#2% + {\ctxlua{interfaces.setconstant("#1","#2")}% + \setvalue{\c!prefix!#1}{#1}} + + \def\setinterfacevariable#1#2% + {\ctxlua{interfaces.setvariable("#1","#2")}% + \setvalue{\v!prefix!#1}{#2}} + + \def\interfaced#1{#1} + +\stopinterface + +\protect \endinput |