diff options
Diffstat (limited to 'tex/context/base/mkiv/strc-mar.lua')
| -rw-r--r-- | tex/context/base/mkiv/strc-mar.lua | 105 | 
1 files changed, 53 insertions, 52 deletions
| diff --git a/tex/context/base/mkiv/strc-mar.lua b/tex/context/base/mkiv/strc-mar.lua index 51f896aa7..c904c699e 100644 --- a/tex/context/base/mkiv/strc-mar.lua +++ b/tex/context/base/mkiv/strc-mar.lua @@ -13,81 +13,82 @@ local insert, concat = table.insert, table.concat  local tostring, next, rawget, type = tostring, next, rawget, type  local lpegmatch = lpeg.match -local context            = context -local commands           = commands +local context             = context +local commands            = commands -local implement          = interfaces.implement +local implement           = interfaces.implement -local allocate           = utilities.storage.allocate -local setmetatableindex  = table.setmetatableindex +local allocate            = utilities.storage.allocate +local setmetatableindex   = table.setmetatableindex -local nuts               = nodes.nuts -local tonut              = nuts.tonut +local nuts                = nodes.nuts +local tonut               = nuts.tonut -local getid              = nuts.getid -local getlist            = nuts.getlist -local getattr            = nuts.getattr -local getbox             = nuts.getbox +local getid               = nuts.getid +local getlist             = nuts.getlist +local getattr             = nuts.getattr +local getbox              = nuts.getbox -local nextnode           = nuts.traversers.node +local nextnode            = nuts.traversers.node -local nodecodes          = nodes.nodecodes -local glyph_code         = nodecodes.glyph -local hlist_code         = nodecodes.hlist -local vlist_code         = nodecodes.vlist +local nodecodes           = nodes.nodecodes +local whatsitcodes        = nodes.whatsitcodes -local whatsit_code       = nodecodes.whatsit -local whatsitcodes       = nodes.whatsitcodes -local latelua_code       = whatsitcodes.latelua +local glyph_code          = nodecodes.glyph +local hlist_code          = nodecodes.hlist +local vlist_code          = nodecodes.vlist +local whatsit_code        = nodecodes.whatsit -local texsetattribute    = tex.setattribute +local lateluawhatsit_code = whatsitcodes.latelua -local a_marks            = attributes.private("structure","marks") +local texsetattribute     = tex.setattribute -local trace_marks_set    = false  trackers.register("marks.set",    function(v) trace_marks_set = v end) -local trace_marks_get    = false  trackers.register("marks.get",    function(v) trace_marks_get = v end) -local trace_marks_all    = false  trackers.register("marks.detail", function(v) trace_marks_all = v end) +local a_marks             = attributes.private("structure","marks") -local report_marks       = logs.reporter("structure","marks") +local trace_marks_set     = false  trackers.register("marks.set",    function(v) trace_marks_set = v end) +local trace_marks_get     = false  trackers.register("marks.get",    function(v) trace_marks_get = v end) +local trace_marks_all     = false  trackers.register("marks.detail", function(v) trace_marks_all = v end) -local variables          = interfaces.variables +local report_marks        = logs.reporter("structure","marks") -local v_first            = variables.first -local v_last             = variables.last -local v_previous         = variables.previous -local v_next             = variables.next -local v_top              = variables.top -local v_bottom           = variables.bottom -local v_current          = variables.current -local v_default          = variables.default -local v_page             = variables.page -local v_all              = variables.all -local v_keep             = variables.keep +local variables           = interfaces.variables -local v_nocheck_suffix   = ":" .. variables.nocheck +local v_first             = variables.first +local v_last              = variables.last +local v_previous          = variables.previous +local v_next              = variables.next +local v_top               = variables.top +local v_bottom            = variables.bottom +local v_current           = variables.current +local v_default           = variables.default +local v_page              = variables.page +local v_all               = variables.all +local v_keep              = variables.keep -local v_first_nocheck    = variables.first    .. v_nocheck_suffix -local v_last_nocheck     = variables.last     .. v_nocheck_suffix -local v_previous_nocheck = variables.previous .. v_nocheck_suffix -local v_next_nocheck     = variables.next     .. v_nocheck_suffix -local v_top_nocheck      = variables.top      .. v_nocheck_suffix -local v_bottom_nocheck   = variables.bottom   .. v_nocheck_suffix +local v_nocheck_suffix    = ":" .. variables.nocheck -local structures         = structures -local marks              = structures.marks -local lists              = structures.lists +local v_first_nocheck     = variables.first    .. v_nocheck_suffix +local v_last_nocheck      = variables.last     .. v_nocheck_suffix +local v_previous_nocheck  = variables.previous .. v_nocheck_suffix +local v_next_nocheck      = variables.next     .. v_nocheck_suffix +local v_top_nocheck       = variables.top      .. v_nocheck_suffix +local v_bottom_nocheck    = variables.bottom   .. v_nocheck_suffix -local settings_to_array  = utilities.parsers.settings_to_array +local structures          = structures +local marks               = structures.marks +local lists               = structures.lists -local boxes_too          = false -- at some point we can also tag boxes or use a zero char +local settings_to_array   = utilities.parsers.settings_to_array + +local boxes_too           = false -- at some point we can also tag boxes or use a zero char  directives.register("marks.boxestoo", function(v) boxes_too = v end) -marks.data               = marks.data or allocate() +local data = marks.data or allocate() +marks.data = data  storage.register("structures/marks/data", marks.data, "structures.marks.data") -local data = marks.data  local stack, topofstack = { }, 0  local ranges = { @@ -121,7 +122,7 @@ end  local function sweep(head,first,last)      for n, id, subtype in nextnode, head do          -- we need to handle empty heads so we test for latelua -        if id == glyph_code or (id == whatsit_code and subtype == latelua_code) then +        if id == glyph_code or (id == whatsit_code and subtype == lateluawhatsit_code) then              local a = getattr(n,a_marks)              if not a then                  -- next | 
