summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/pack-obj.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2019-04-04 14:11:01 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2019-04-04 14:11:01 +0200
commit64f6e8fc0c6cb9254a6fe3db0b4ab31c51cf8524 (patch)
tree1b36a0b35f5b6d516d27fe817a27249d4c6d9c78 /tex/context/base/mkiv/pack-obj.lua
parent70a938c4934f042face9805fc4c392c0676b11d5 (diff)
downloadcontext-64f6e8fc0c6cb9254a6fe3db0b4ab31c51cf8524.tar.gz
2019-04-04 13:38:00
Diffstat (limited to 'tex/context/base/mkiv/pack-obj.lua')
-rw-r--r--tex/context/base/mkiv/pack-obj.lua21
1 files changed, 16 insertions, 5 deletions
diff --git a/tex/context/base/mkiv/pack-obj.lua b/tex/context/base/mkiv/pack-obj.lua
index 3d2048218..ea36b10de 100644
--- a/tex/context/base/mkiv/pack-obj.lua
+++ b/tex/context/base/mkiv/pack-obj.lua
@@ -53,8 +53,16 @@ end
job.register('job.objects.collected', tobesaved, initializer, nil)
local function saveobject(tag,number,page)
- local t = { number, page }
- tobesaved[tag], collected[tag] = t, t
+ local data = { number, page }
+ tobesaved[tag] = data
+ collected[tag] = data
+end
+
+local function saveobjectspec(specification)
+ local tag = specification.tag
+ local data = { specification.number, specification.page }
+ tobesaved[tag] = data
+ collected[tag] = data
end
local function setobject(tag,number,page)
@@ -162,9 +170,12 @@ function objects.restore(ns,id) -- why not just pass a box number here too (ok,
local hbox = codeinjections.restoreboxresource(index) -- a nut !
if status then
local list = getlist(hbox)
- local page = new_latelua(function()
- saveobject(ns .. "::" .. id,index,getcount("realpageno"))
- end)
+ local page = new_latelua {
+ action = saveobjectspec,
+ tag = ns .. "::" .. id,
+ number = index,
+ page = getcount("realpageno"),
+ }
setlink(list,page)
end
setbox("objectbox",hbox)