summaryrefslogtreecommitdiff
path: root/tex/context/base/util-seq.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2013-01-14 00:20:22 +0200
committerMarius <mariausol@gmail.com>2013-01-14 00:20:22 +0200
commitfe55ae49d8deddeb8f02557e3902c847804b0086 (patch)
treee7d92e04f7acaf2773c23ea081c4d2fe0dc0a167 /tex/context/base/util-seq.lua
parentd38d94fe9542984e38b9839eb2383656328b9da9 (diff)
downloadcontext-fe55ae49d8deddeb8f02557e3902c847804b0086.tar.gz
beta 2013.01.13 23:10
Diffstat (limited to 'tex/context/base/util-seq.lua')
-rw-r--r--tex/context/base/util-seq.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/tex/context/base/util-seq.lua b/tex/context/base/util-seq.lua
index 711424a2c..0bf056365 100644
--- a/tex/context/base/util-seq.lua
+++ b/tex/context/base/util-seq.lua
@@ -235,6 +235,7 @@ local function construct(t)
t.compiled = format("%s\nreturn function(%s)\n%s\nend",variables,arguments,calls)
end
end
+-- print(t.compiled)
return t.compiled -- also stored so that we can trace
end
@@ -273,7 +274,7 @@ sequencers.compile = compile
-- todo: use sequencer (can have arguments and returnvalues etc now)
-local template = [[
+local template_yes = [[
%s
return function(head%s)
local ok, done = false, false
@@ -281,6 +282,11 @@ return function(head%s)
return head, done
end]]
+local template_nop = [[
+return function()
+ return false, false
+end]]
+
function sequencers.nodeprocessor(t,nofarguments) -- todo: handle 'kind' in plug into tostring
local list, order, kind, gskip, askip = t.list, t.order, t.kind, t.gskip, t.askip
local vars, calls, args, n = { }, { }, nil, 0
@@ -319,7 +325,6 @@ function sequencers.nodeprocessor(t,nofarguments) -- todo: handle 'kind' in plug
end
end
end
- local processor = format(template,concat(vars,"\n"),args,concat(calls,"\n"))
- -- print(processor)
+ local processor = #calls > 0 and format(template_yes,concat(vars,"\n"),args,concat(calls,"\n")) or template_nop
return processor
end