summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/core-dat.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/core-dat.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/core-dat.lua62
1 files changed, 20 insertions, 42 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/core-dat.lua b/Master/texmf-dist/tex/context/base/mkiv/core-dat.lua
index b497501598b..fa4d089d057 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/core-dat.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/core-dat.lua
@@ -15,7 +15,6 @@ local tonumber, tostring, type = tonumber, tostring, type
local context = context
local commands = commands
-local ctx_latelua = context.latelua
local trace_datasets = false trackers.register("job.datasets" , function(v) trace_datasets = v end)
local trace_pagestates = false trackers.register("job.pagestates", function(v) trace_pagestates = v end)
@@ -36,7 +35,6 @@ local v_yes = interfaces.variables.yes
local new_latelua = nodes.pool.latelua
local implement = interfaces.implement
-local getnamespace = interfaces.getnamespace
local collected = allocate()
local tobesaved = allocate()
@@ -108,9 +106,6 @@ end
datasets.setdata = setdata
function datasets.extend(name,tag)
- if type(name) == "table" then
- name, tag = name.name, name.tag
- end
local set = sets[name]
local order = set.order + 1
local realpage = texgetcount("realpageno")
@@ -151,8 +146,10 @@ local function setdataset(settings)
local name, tag = setdata(settings)
if settings.delay ~= v_yes then
--
+ elseif type(tag) == "number" then
+ context(new_latelua(formatters["job.datasets.extend(%q,%i)"](name,tag)))
else
- context(new_latelua { action = job.datasets.extend, name = name, tag = tag })
+ context(new_latelua(formatters["job.datasets.extend(%q,%q)"](name,tag)))
end
end
@@ -245,7 +242,9 @@ local function setstate(settings)
return name, tag, data
end
-local function extend(name,tag)
+pagestates.setstate = setstate
+
+function pagestates.extend(name,tag)
local realpage = texgetcount("realpageno")
if trace_pagestates then
report_pagestate("action %a, name %a, tag %a, preset %a","synchronize",name,tag,realpage)
@@ -253,7 +252,7 @@ local function extend(name,tag)
tobesaved[name][tag] = realpage
end
-local function realpage(name,tag,default)
+function pagestates.realpage(name,tag,default)
local t = collected[name]
if t then
t = t[tag] or t[tonumber(tag)]
@@ -268,36 +267,21 @@ local function realpage(name,tag,default)
return default
end
-local function realpageorder(name,tag)
- local t = collected[name]
- if t then
- local p = t[tag]
- if p then
- local n = 1
- for i=tag-1,1,-1 do
- if t[i] == p then
- n = n +1
- end
- end
- return n
- end
+local function setpagestate(settings)
+ local name, tag, data = setstate(settings)
+ if type(tag) == "number" then
+ context(new_latelua(formatters["job.pagestates.extend(%q,%i)"](name,tag)))
+ else
+ context(new_latelua(formatters["job.pagestates.extend(%q,%q)"](name,tag)))
end
- return 0
end
-pagestates.setstate = setstate
-pagestates.extend = extend
-pagestates.realpage = realpage
-pagestates.realpageorder = realpageorder
-
-function pagestates.countervalue(name)
- return name and texgetcount(getnamespace("pagestatecounter") .. name) or 0
-end
-
-local function setpagestate(settings)
- local name, tag = setstate(settings)
- -- context(new_latelua(function() extend(name,tag) end))
- ctx_latelua(function() extend(name,tag) end)
+local function pagestaterealpage(name,tag)
+ local t = collected[name]
+ t = t and (t[tag] or t[tonumber(tag)])
+ if t then
+ context(t)
+ end
end
local function setpagestaterealpageno(name,tag)
@@ -320,7 +304,7 @@ implement {
implement {
name = "pagestaterealpage",
- actions = { realpage, context },
+ actions = pagestaterealpage,
arguments = "2 strings",
}
@@ -329,9 +313,3 @@ implement {
actions = setpagestaterealpageno,
arguments = "2 strings",
}
-
-implement {
- name = "pagestaterealpageorder",
- actions = { realpageorder, context },
- arguments = { "string", "integer" }
-}