diff options
author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-08-09 22:36:40 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-08-09 22:36:40 +0200 |
commit | bfc7bd2349855039534e8854a97c47864b1eba09 (patch) | |
tree | 18be9cdf7e40b5afcc76adc44a6d4d4e9a233799 /tex/context/base/mkiv/core-uti.lua | |
parent | 0de4e16399b66afacfc8b8b9c8ae870792e634a4 (diff) | |
download | context-bfc7bd2349855039534e8854a97c47864b1eba09.tar.gz |
2016-08-09 22:01:00
Diffstat (limited to 'tex/context/base/mkiv/core-uti.lua')
-rw-r--r-- | tex/context/base/mkiv/core-uti.lua | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tex/context/base/mkiv/core-uti.lua b/tex/context/base/mkiv/core-uti.lua index 1ddfffaf2..54bcba08d 100644 --- a/tex/context/base/mkiv/core-uti.lua +++ b/tex/context/base/mkiv/core-uti.lua @@ -283,21 +283,27 @@ function job.load(filename) local utilitydata = load(filename) if utilitydata then local jobpacker = utilitydata.job.packed - for l=1,#savelist do - local list = savelist[l] + local handlers = { } + for i=1,#savelist do + local list = savelist[i] local target = list[1] local initializer = list[3] local result = accesstable(target,utilitydata) - local done = packers.unpack(result,jobpacker,true) + local done = packers.unpack(result,jobpacker,true) if done then migratetable(target,mark(result)) if type(initializer) == "function" then - initializer(result) + handlers[#handlers+1] = { initializer, result } end else report_passes("pack version mismatch") end end + -- so we have all tables available (unpacked) + for i=1,#handlers do + local handler = handlers[i] + handler[1](handler[2]) + end end statistics.stoptiming(_load_) end |