diff options
author | Hans Hagen <pragma@wxs.nl> | 2019-01-25 20:34:48 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2019-01-25 20:34:48 +0100 |
commit | 55575b7cad42dac55b4a5f699c33363489cb502d (patch) | |
tree | 90b2fd06d12f00dab66e28824744c345a7f6703a /tex/context/base/mkiv/supp-box.lua | |
parent | 3861c9ef2ffeffe824f05a255534d61800e27e7a (diff) | |
download | context-55575b7cad42dac55b4a5f699c33363489cb502d.tar.gz |
2019-01-25 20:15:00
Diffstat (limited to 'tex/context/base/mkiv/supp-box.lua')
-rw-r--r-- | tex/context/base/mkiv/supp-box.lua | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/tex/context/base/mkiv/supp-box.lua b/tex/context/base/mkiv/supp-box.lua index e57eaba54..a22eb8f69 100644 --- a/tex/context/base/mkiv/supp-box.lua +++ b/tex/context/base/mkiv/supp-box.lua @@ -460,18 +460,20 @@ end do - local flush_list = nodes.flush_list - local copy_list = nodes.copy_list - local takebox = nodes.takebox - local texsetbox = tex.setbox - - local new_hlist = nodes.pool.hlist - - local boxes = { } - nodes.boxes = boxes - local cache = table.setmetatableindex("table") - local report = logs.reporter("boxes","cache") - local trace = false + local nuts = nodes.nuts + local tonode = nuts.tonode + local takebox = nuts.takebox + local flush_list = nuts.flush_list + local copy_list = nuts.copy_list + local getwhd = nuts.getwhd + local setbox = nuts.setbox + local new_hlist = nuts.pool.hlist + + local boxes = { } + nodes.boxes = boxes + local cache = table.setmetatableindex("table") + local report = logs.reporter("boxes","cache") + local trace = false trackers.register("nodes.boxes",function(v) trace = v end) @@ -503,7 +505,9 @@ do if trace then report("category %a, name %a, %s (%s)",category,name,"direct",b and "content" or "empty") end - return b or nil + if b then + return tonode(b) + end end function boxes.restore(category,name,box,copy) @@ -524,11 +528,9 @@ do if trace then report("category %a, name %a, %s (%s)",category,name,"restore",b and "content" or "empty") end - texsetbox(box,b or nil) + setbox(box,b or nil) end - local getwhd = nodes.getwhd - function boxes.dimensions(category,name) name = tonumber(name) or name local b = cache[category][name] @@ -608,19 +610,19 @@ do actions = boxes.reset, } - implement { - name = "lastlinewidth", - actions = function() - local head = tex.lists.page_head - -- list dimensions returns 3 value but we take the first - context(head and getdimensions(getlist(find_tail(tonut(tex.lists.page_head)))) or 0) - end - } +end - interfaces.implement { - name = "shiftbox", - arguments = { "integer", "dimension" }, - actions = function(n,d) setshift(getbox(n),d) end, - } +implement { + name = "lastlinewidth", + actions = function() + local head = tex.lists.page_head + -- list dimensions returns 3 value but we take the first + context(head and getdimensions(getlist(find_tail(tonut(tex.lists.page_head)))) or 0) + end +} -end +interfaces.implement { + name = "shiftbox", + arguments = { "integer", "dimension" }, + actions = function(n,d) setshift(getbox(n),d) end, +} |