summaryrefslogtreecommitdiff
path: root/tex/context/base/m-translate.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/m-translate.tex')
-rw-r--r--tex/context/base/m-translate.tex34
1 files changed, 22 insertions, 12 deletions
diff --git a/tex/context/base/m-translate.tex b/tex/context/base/m-translate.tex
index 9c550eca7..25e3c8618 100644
--- a/tex/context/base/m-translate.tex
+++ b/tex/context/base/m-translate.tex
@@ -18,7 +18,9 @@
%D better to fix your source.
\startluacode
- translators = { }
+ local translators = { }
+
+ moduledata.translators = translators
local compiled, list = nil, nil
@@ -43,27 +45,35 @@
end
end
- function translators.reset(s)
- resolvers.install_text_filter("user",nil)
- list, compiled = nil, nil
+ local textlineactions = resolvers.openers.helpers.textlineactions
+
+ utilities.sequencers.appendaction(textlineactions,"after","moduledata.translators.translate")
+
+ function translators.enable()
+ utilities.sequencers.enableaction(textlineactions,"moduledata.translators.translate")
end
- function translators.enable(s)
- resolvers.install_text_filter("user",translators.translate)
+
+ function translators.disable()
+ utilities.sequencers.disableaction(textlineactions,"moduledata.translators.translate")
end
- function translators.disable(s)
- resolvers.install_text_filter("user",nil)
+
+ function translators.reset(s)
+ translators.enable()
+ list, compiled = nil, nil
end
+
+ translators.disable()
\stopluacode
\unprotect
\def\translateinput{\dodoubleargument\dotranslateinput}
-\def\dotranslateinput[#1][#2]{\ctxlua{translators.register(\!!bs#1\!!es,\!!bs#2\!!es)}}
+\def\dotranslateinput[#1][#2]{\ctxlua{moduledata.translators.register(\!!bs#1\!!es,\!!bs#2\!!es)}}
-\def\resetinputtranslation {\ctxlua{translators.reset()}}
-\def\enableinputtranslation {\ctxlua{translators.enable()}}
-\def\disableinputtranslation{\ctxlua{translators.disable()}}
+\def\resetinputtranslation {\ctxlua{moduledata.translators.reset()}}
+\def\enableinputtranslation {\ctxlua{moduledata.translators.enable()}}
+\def\disableinputtranslation{\ctxlua{moduledata.translators.disable()}}
\def\readtranslatedfile#1%
{\enableinputtranslation