diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/luat-env.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/base/luat-env.tex | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/Master/texmf-dist/tex/context/base/luat-env.tex b/Master/texmf-dist/tex/context/base/luat-env.tex deleted file mode 100644 index 0b6f2466373..00000000000 --- a/Master/texmf-dist/tex/context/base/luat-env.tex +++ /dev/null @@ -1,172 +0,0 @@ -%D \module -%D [ file=luat-env, -%D version=2005.05.26, -%D title=\CONTEXT\ Lua Macros, -%D subtitle=ConTeXt features, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright=PRAGMA] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -%D Originally we compiled the lua files externally and loaded -%D then at runtime, but when the amount grew, we realized that -%D we needed away to store them in the format, which is what -%D bytecode arrays do. And so the following is obsolete: -%D -%D \starttyping -%D \chardef\ctxluaembeddingmode \plusone -%D -%D 0 = external compilation and loading -%D 1 = runtime compilation and embedding -%D \stoptyping - -% \writestatus{loading}{Lua Support Macros (environment)} - -% print (lua.id) -% print (lua.version) -% print (lua.startupfile) - -%D Allocation of \LUA\ engines. - -\newcount\luadefcounter - -\ifx\zerocount\undefined \chardef\zerocount=0 \fi -\ifx\plusone \undefined \chardef\plusone =1 \fi - -\def\newlua#1% - {\global\advance\luadefcounter\plusone - \mathchardef#1\luadefcounter} - -%D We use a dedicated instance for \CONTEXT\ core functionality. In -%D \CONTEXT we also use this as callback instance. Instance 0 is -%D the scratch instance. - -\ifx\luastartup\undefined \newcount\luastartup \fi - -\chardef\CTXlua\zerocount \luadefcounter\CTXlua \luastartup\CTXlua - -\def\ctxlua {\directlua\CTXlua} -\def\directctxlua{\directlua\CTXlua} -\def\latectxlua {\latelua \CTXlua} - -%D The simple \type {\lua} command is just a shortcut to the -%D zero instance. Beware, we don't use the 0--9 range for -%D scratch purposes as we do with other registers. First of all -%D we want to avoid the overhead, but mostly, users can just define -%D their own. - -\newlua \luadefault - -\def \lua {\directlua\luadefault} % zero is the main one, and reserved for ctx -\edef\luaversion{\CTXlua{tex.print(_VERSION)}} - -%D We want to define \LUA\ related things in the format but -%D need to reluad code because \LUA\ instances are not dumped -%D into the format. - -\ifx\undefined\normaleveryjob \let\normaleveryjob\everyjob \newtoks\everyjob \fi - -\newtoks\everyloadluacode -\newtoks\everyfinalizeluacode - -\normaleveryjob{\the\everyloadluacode\the\everyfinalizeluacode\the\everyjob} - -\newif\ifproductionrun - -\long\def\startruntimeluacode#1\stopruntimeluacode % only simple code (load +init) - {\ifproductionrun - \global\let\startruntimeluacode\relax - \global\let\stopruntimeluacode \relax - \else - \global\everyloadluacode\expandafter{\the\everyloadluacode#1}% - \fi - #1} % maybe no interference - -\long\def\startruntimectxluacode#1\stopruntimectxluacode - {\startruntimeluacode\ctxlua{#1}\stopruntimeluacode} - -%D Next we load the initialization code. - -\startruntimectxluacode - environment = environment or { } - environment.jobname = "\jobname" % tex.jobname - environment.formatname = "\contextformat" % tex.formatname - environment.initex = \ifproductionrun false \else true \fi % tex.formatname == "" - environment.version = "\contextversion" -\stopruntimectxluacode - -% no longer needed: dofile(input.find_file(texmf.instance,"luat-env.lua","tex")) - -\chardef\ctxluaexecutionmode \zerocount % private - -% we start at 500, below this, we store predefined data (dumps) - -\newcount\luabytecodecounter \luabytecodecounter=500 - -\startruntimectxluacode - if not lua.bytedata then lua.bytedata = { } end -\stopruntimectxluacode - -%D Handy when we expand: - -\let\stopruntimeluacode \relax -\let\stopruntimectxluacode\relax - -\long\def\lastexpanded{} % todo: elsewhere we use \@@expanded - -\long\def\expanded#1{\long\xdef\lastexpanded{\noexpand#1}\lastexpanded} - -%D More code: - -\def\ctxluabytecode#1% executes an already loaded chunk - {\ctxlua { - do - local str = '' - if lua.bytedata[#1] then - str = " from file " .. lua.bytedata[#1][1] .. " version " .. lua.bytedata[#1][2] - end - if lua.bytecode[#1] then - if environment.initex then - environment.showmessage("executing byte code " .. "#1" .. str) - assert(lua.bytecode[#1])() - else - assert(lua.bytecode[#1])() - lua.bytecode[#1] = nil - end - else - environment.showmessage("invalid byte code " .. "#1" .. str) - end - end - }} - -\def\ctxluabyteload#1#2% registers and compiles chunk - {\global\advance\luabytecodecounter \plusone - \expanded{\startruntimectxluacode - lua.bytedata[\the\luabytecodecounter] = { "#1", "#2" } - \stopruntimectxluacode}% - \ctxlua { - lua.bytedata[\the\luabytecodecounter] = { "#1", "#2" } - lua.bytecode[\the\luabytecodecounter] = environment.luafilechunk("#1") - }} - -\def\ctxluafileload#1#2% load a (either not compiled) chunk at runtime - {\doifelsenothing{#2} - {\ctxlua{environment.loadlucfile("#1")}} - {\ctxlua{environment.loadlucfile("#1",#2)}}} - -\def\registerctxluafile#1#2% name version - {\ifproductionrun \else - \ctxluabyteload{#1}{#2}% - \fi - \global\everyloadluacode\expandafter\expandafter\expandafter{\expandafter\the\expandafter\everyloadluacode - \expandafter\ctxluabytecode\expandafter{\the\luabytecodecounter}}% - \ifcase\ctxluaexecutionmode\or\ctxluabytecode{\the\luabytecodecounter}\fi} - -\registerctxluafile{luat-env}{1.001} - -\chardef\ctxluaexecutionmode \plusone - -\endinput |