diff options
Diffstat (limited to 'tex/context/base/pack-rul.lua')
-rw-r--r-- | tex/context/base/pack-rul.lua | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tex/context/base/pack-rul.lua b/tex/context/base/pack-rul.lua index dc4e48655..a8c5de321 100644 --- a/tex/context/base/pack-rul.lua +++ b/tex/context/base/pack-rul.lua @@ -46,6 +46,7 @@ local getbox = nuts.getbox local hpack = nuts.hpack local traverse_id = nuts.traverse_id local node_dimensions = nuts.dimensions +local free_node = nuts.free local function doreshapeframedbox(n) local box = getbox(n) @@ -107,10 +108,18 @@ local function doreshapeframedbox(n) if l then local subtype = getsubtype(h) if subtype == box_code or subtype == line_code then - l = hpack(l,maxwidth,'exactly',getfield(h,"dir")) -- multiple return values --- setfield(l,"attr",getfield(h,"attr")) - setfield(h,"list",l) - setfield(h,"shift",0) -- needed for display math, so no width check possible + local p = hpack(l,maxwidth,'exactly',getfield(h,"dir")) -- multiple return value + if false then + setfield(h,"list",p) + setfield(h,"shift",0) -- needed for display math, so no width check possible + -- setfield(p,"attr",getfield(h,"attr")) + else + setfield(h,"glue_set",getfield(p,"glue_set")) + setfield(h,"glue_order",getfield(p,"glue_order")) + setfield(h,"glue_sign",getfield(p,"glue_sign")) + setfield(p,"list",nil) + free_node(p) + end end setfield(h,"width",maxwidth) end |