summaryrefslogtreecommitdiff
path: root/tex/context/base/mkii/mult-fst.mkii
blob: 36c3f181f2263e9d4ac338892344a0a43e2b2318 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
%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 ADE \& \CONTEXT\ Development Team}]
%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{\setvalue{\c!prefix!#1}{#1}}
    \def\setinterfacevariable#1#2{\setvalue{\v!prefix!#1}{#2}}

    \def\interfaced#1{#1}

\stopinterface

\protect \endinput