summaryrefslogtreecommitdiff
path: root/tex/context/base/toks-ini.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/toks-ini.mkiv')
-rw-r--r--tex/context/base/toks-ini.mkiv40
1 files changed, 16 insertions, 24 deletions
diff --git a/tex/context/base/toks-ini.mkiv b/tex/context/base/toks-ini.mkiv
index 70c4940e3..e8b296210 100644
--- a/tex/context/base/toks-ini.mkiv
+++ b/tex/context/base/toks-ini.mkiv
@@ -20,11 +20,11 @@
%D Handy for manuals \unknown
\unexpanded\def\starttokens [#1]{\ctxlua{tokens.collectors.install("#1","stoptokens")}}
-\let\stoptokens \relax
-\def\flushtokens [#1]{\ctxlua{tokens.collectors.flush("#1")}}
-\def\showtokens [#1]{\ctxlua{tokens.collectors.show("#1")}}
-\def\testtokens [#1]{\ctxlua{tokens.collectors.with_words("#1")}}
-\def\registertoken #1{\ctxlua{tokens.collectors.register("#1")}}
+ \let\stoptokens \relax
+ \def\flushtokens [#1]{\ctxlua{tokens.collectors.flush("#1")}}
+ \def\showtokens [#1]{\ctxlua{tokens.collectors.show("#1")}}
+ \def\testtokens [#1]{\ctxlua{tokens.collectors.with_words("#1")}}
+ \def\registertoken #1{\ctxlua{tokens.collectors.register("#1")}}
%D Inspired by a prototype by Taco for Thomas cum suis.
@@ -45,33 +45,25 @@
%
% \stoptext
-% incompatible with mkii ! ! ! ! so we need other names here
-%
-% \def\dograbuntil#1#2%
-% {\long\def\next##1#1{#2##1}\next}
-%
-% \def\grabuntil#1%
-% {\expandafter\dograbuntil\expandafter{\csname#1\endcsname}}
+\unexpanded\def\defineremapper[#1]%
+ {\setuevalue{\e!start#1}{\tokens_start_remapper{#1}}%
+ \setuevalue{\e!stop #1}{\tokens_stop_remapper {#1}}%
+ \letvalue{#1}\relax
+ \normalexpanded{\expandafter\def\csname#1\endcsname##1{\csname\e!start#1\endcsname##1\csname\e!stop#1\endcsname}}}
-\def\dostartremapper#1%
+\unexpanded\def\tokens_start_remapper#1%
{\ctxlua{tokens.collectors.install("#1", "\e!stop#1")}}
-\def\dostopremapper#1%
+\unexpanded\def\tokens_stop_remapper#1%
{\ctxlua{tokens.collectors.handle("#1",function(str) return tokens.collectors.remapper.convert("#1",str) end, true)}}
-\def\remaptokens#1%
+\unexpanded\def\remaptokens#1%
{\ctxlua{tokens.collectors.handle("#1",function(str) return tokens.collectors.remapper.convert("#1",str) end)}}
-\unexpanded\def\defineremapper[#1]%
- {\setvalue{\e!start#1}{\dostartremapper{#1}}%
- \setvalue{\e!stop #1}{\dostopremapper {#1}}%
- \def\next##1{\setvalue{#1}####1{\getvalue{\e!start#1}####1##1}}%
- \expandafter\next\csname\e!stop#1\endcsname}
-
-\def\remapcharacter
- {\dodoubleempty\doremapcharacter}
+\unexpanded\def\remapcharacter
+ {\dodoubleempty\tokens_remap_character}
-\def\doremapcharacter[#1][#2]#3%
+\def\tokens_remap_character[#1][#2]#3%
{\ctxlua{tokens.collectors.install("store", "ctxlua")}#3%
\ctxlua{tokens.collectors.remapper.store("store","#1",\number#2)}}