diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-07-20 21:48:33 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2018-07-20 21:48:33 +0200 |
commit | deab0bfe7f4be57121779e93bf291e518fda7cf3 (patch) | |
tree | d206a8e495944e2f6ce1d3dea688309012904825 /tex/context/base/mkiv/node-tsk.lua | |
parent | e09328e5e3230ee408f6af2cd454848c4d056702 (diff) | |
download | context-deab0bfe7f4be57121779e93bf291e518fda7cf3.tar.gz |
2018-07-20 21:28:00
Diffstat (limited to 'tex/context/base/mkiv/node-tsk.lua')
-rw-r--r-- | tex/context/base/mkiv/node-tsk.lua | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/tex/context/base/mkiv/node-tsk.lua b/tex/context/base/mkiv/node-tsk.lua index aa59d1d5d..f2f78252a 100644 --- a/tex/context/base/mkiv/node-tsk.lua +++ b/tex/context/base/mkiv/node-tsk.lua @@ -226,24 +226,25 @@ statistics.register("node list callback tasks", function() end end) -function tasks.actions(name) -- we optimize for the number or arguments (no ...) +local function create(data,t) + created = created + 1 + local runner = compile(data.list,data.processor,t) + if trace_tasks then + report_tasks("creating runner %a, %i actions enabled",t.name,data.list.steps or 0) + end + data.runner = runner + return runner +end + +function tasks.actions(name) local data = tasksdata[name] if data then local t = data.templates if t then t.name = data.name return function(...) - total = total + 1 -- will go away - local runner = data.runner - if not runner then - created = created + 1 - if trace_tasks then - report_tasks("creating runner %a",name) - end - runner = compile(data.list,data.processor,t) - data.runner = runner - end - return runner(...) + total = total + 1 + return (data.runner or create(data,t))(...) end end end |