diff options
author | Hans Hagen <pragma@wxs.nl> | 2012-01-05 19:27:52 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2012-01-05 19:27:52 +0100 |
commit | f55d2b463bb22fc74c5da3a3e0a699901540f727 (patch) | |
tree | 00e94005a7c7957d2514f3aeb532af43183df58b /tex/context/base/toks-ini.mkiv | |
parent | f3256685ca27aab5a2a4b448686af4265e1f326b (diff) | |
download | context-f55d2b463bb22fc74c5da3a3e0a699901540f727.tar.gz |
beta 2011.12.23 09:52
Diffstat (limited to 'tex/context/base/toks-ini.mkiv')
-rw-r--r-- | tex/context/base/toks-ini.mkiv | 40 |
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)}} |