diff options
author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2015-09-11 12:15:06 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2015-09-11 12:15:06 +0200 |
commit | 31cd4d643836f69279b399acf864474c1283b8f5 (patch) | |
tree | 7e59492e32ef06e57bad0d4a4a953f7e7ba5b058 /tex/context/base | |
parent | f28043b96635a0845521fe0094a3863d7ff13b6d (diff) | |
download | context-31cd4d643836f69279b399acf864474c1283b8f5.tar.gz |
2015-09-11 11:05:00
Diffstat (limited to 'tex/context/base')
-rw-r--r-- | tex/context/base/cont-new.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/context-version.pdf | bin | 4178 -> 4183 bytes | |||
-rw-r--r-- | tex/context/base/context.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/font-ctx.lua | 24 | ||||
-rw-r--r-- | tex/context/base/font-lib.mkvi | 46 | ||||
-rw-r--r-- | tex/context/base/font-log.lua | 2 | ||||
-rw-r--r-- | tex/context/base/font-mps.lua | 3 | ||||
-rw-r--r-- | tex/context/base/font-otn.lua | 2 | ||||
-rw-r--r-- | tex/context/base/font-tfm.lua | 1 | ||||
-rw-r--r-- | tex/context/base/font-vf.lua | 1 | ||||
-rw-r--r-- | tex/context/base/m-newotf.mkiv | 8 | ||||
-rw-r--r-- | tex/context/base/node-nut.lua | 85 | ||||
-rw-r--r-- | tex/context/base/pack-com.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/status-files.pdf | bin | 24475 -> 24494 bytes | |||
-rw-r--r-- | tex/context/base/status-lua.pdf | bin | 256428 -> 255917 bytes | |||
-rw-r--r-- | tex/context/base/typo-bld.lua | 9 | ||||
-rw-r--r-- | tex/context/base/typo-lin.lua | 95 | ||||
-rw-r--r-- | tex/context/base/typo-mar.lua | 13 |
18 files changed, 160 insertions, 135 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index fc151a6e2..03b2e6e2c 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2015.09.09 21:23} +\newcontextversion{2015.09.11 11:03} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex a05a27a7a..7aab26a70 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 27fe29b27..7801adc77 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.09.09 21:23} +\edef\contextversion{2015.09.11 11:03} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua index 4dd75b480..6e9a8312f 100644 --- a/tex/context/base/font-ctx.lua +++ b/tex/context/base/font-ctx.lua @@ -50,7 +50,8 @@ local implement = interfaces.implement local fonts = fonts local handlers = fonts.handlers local otf = handlers.otf -- brrr ------ afm = handlers.afm -- brrr +local afm = handlers.afm -- brrr +local tfm = handlers.tfm -- brrr local names = fonts.names local definers = fonts.definers local specifiers = fonts.specifiers @@ -913,9 +914,9 @@ definers.registersplit('*',starred,"featureset") -- sort of xetex mode, but without [] and / as we have file: and name: etc local space = P(" ") +local spaces = space^0 local separator = S(";,") local equal = P("=") -local spaces = space^0 local sometext = C((1-equal-space-separator)^1) local truevalue = P("+") * spaces * sometext * Cc(true) local falsevalue = P("-") * spaces * sometext * Cc(false) @@ -932,8 +933,8 @@ definers.registersplit(":",colonized,"direct") -- define (two steps) -local space = P(" ") -local spaces = space^0 +----- space = P(" ") +----- spaces = space^0 local leftparent = (P"(") local rightparent = (P")") local value = C((leftparent * (1-rightparent)^0 * rightparent + (1-space))^1) @@ -1738,14 +1739,21 @@ end luatex.registerstopactions(loggers.reportusedfeatures) -statistics.register("fonts load time", function() +-- maybe move this to font-log.lua: + +statistics.register("font engine", function() local elapsed = statistics.elapsedseconds(fonts) local nofshared = constructors.nofsharedfonts or 0 + local nofloaded = constructors.noffontsloaded or 0 if nofshared > 0 then - return format("%sfor %s fonts, %s shared in backend, %s common vectors, %s common hashes", - elapsed,constructors.noffontsloaded,nofshared,constructors.nofsharedvectors,constructors.nofsharedhashes) + return format("otf %0.3f, afm %0.3f, tfm %0.3f, %s instances, %s shared in backend, %s common vectors, %s common hashes, load time %s", + otf.version,afm.version,tfm.version,nofloaded, + nofshared,constructors.nofsharedvectors,constructors.nofsharedhashes, + elapsed) else - return elapsed + return format("otf %0.3f, afm %0.3f, tfm %0.3f, %s instances, load time %s", + otf.version,afm.version,tfm.version,nofloaded, + elapsed) end end) diff --git a/tex/context/base/font-lib.mkvi b/tex/context/base/font-lib.mkvi index 449a5078e..4ed14d27f 100644 --- a/tex/context/base/font-lib.mkvi +++ b/tex/context/base/font-lib.mkvi @@ -28,8 +28,8 @@ \registerctxluafile{font-otr}{1.001} % opentype fontloader \registerctxluafile{font-cff}{1.001} % quadratic outlines \registerctxluafile{font-ttf}{1.001} % cubic outlines -\registerctxluafile{font-tmp}{1.001} % temporary placeholder -%registerctxluafile{font-dsp}{1.001} % ... for this one +%registerctxluafile{font-tmp}{1.001} % temporary placeholder +\registerctxluafile{font-dsp}{1.001} % ... for this one \registerctxluafile{font-off}{1.001} % the old loader \registerctxluafile{font-syn}{1.001} @@ -46,21 +46,35 @@ \registerctxluafile{font-oti}{1.001} % otf initialization \registerctxluafile{font-ott}{1.001} % otf tables (first) -\registerctxluafile{font-otf}{1.001} % otf main -\registerctxluafile{font-otb}{1.001} % otf main base -\registerctxluafile{font-inj}{1.001} - -\registerctxluafile{font-ota}{1.001} % otf analyzers - -\registerctxluafile{font-otn}{1.001} % otf main node - -\registerctxluafile{font-otd}{1.001} % otf dynamics (does an overload) -\registerctxluafile{font-otp}{1.001} % otf pack -\registerctxluafile{font-otc}{1.001} % otf context -\registerctxluafile{font-oth}{1.001} % otf helpers - -\registerctxluafile{font-odv}{1.001} % otf devanagari (experimental) +% \iffalse % new methods +\iftrue % old methods + + \registerctxluafile{font-otf}{1.001} % otf main + \registerctxluafile{font-otb}{1.001} % otf main base + \registerctxluafile{font-inj}{1.001} % kern injector + \registerctxluafile{font-ota}{1.001} % otf analyzers + \registerctxluafile{font-otn}{1.001} % otf main node + \registerctxluafile{font-otd}{1.001} % otf dynamics (does an overload) + \registerctxluafile{font-otp}{1.001} % otf pack + \registerctxluafile{font-otc}{1.001} % otf context + \registerctxluafile{font-oth}{1.001} % otf helpers + \registerctxluafile{font-odv}{1.001} % otf devanagari (experimental) + +\else + + \registerctxluafile{font-otl}{1.001} % otf + \registerctxluafile{font-oto}{1.001} % otb + \registerctxluafile{font-otj}{1.001} % inj + \registerctxluafile{font-oup}{1.001} % otp + \registerctxluafile{font-ota}{1.001} + \registerctxluafile{font-ots}{1.001} % otn + \registerctxluafile{font-otd}{1.001} + \registerctxluafile{font-otc}{1.001} + \registerctxluafile{font-oth}{1.001} + \registerctxluafile{font-osd}{1.001} % odv + +\fi \registerctxluafile{font-pat}{1.001} % patchers diff --git a/tex/context/base/font-log.lua b/tex/context/base/font-log.lua index 41da75378..092b5a62e 100644 --- a/tex/context/base/font-log.lua +++ b/tex/context/base/font-log.lua @@ -64,6 +64,8 @@ function loggers.format(name) -- should be avoided return usedfonts[name] or "unknown" end +-- maybe move this to font-ctx.lua + statistics.register("loaded fonts", function() if next(usedfonts) then local t, n = { }, 0 diff --git a/tex/context/base/font-mps.lua b/tex/context/base/font-mps.lua index 591f5d323..7529f2c5f 100644 --- a/tex/context/base/font-mps.lua +++ b/tex/context/base/font-mps.lua @@ -398,7 +398,8 @@ function fonts.metapost.boxtomp(n,kind) boxtomp(current,distance + shift,current.glue_set*current.glue_sign) distance = distance - current.height elseif id == vlist_code then - print("vertical >>>",nodecodes[id]) + print("vertical >>>") + vertical(current.list,0) elseif id == kern_code then distance = distance - current.kern advance = 0 diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua index 53850b50d..8066b0f08 100644 --- a/tex/context/base/font-otn.lua +++ b/tex/context/base/font-otn.lua @@ -1,4 +1,4 @@ -if not modules then modules = { } end modules ['font-ots'] = { -- sequences +if not modules then modules = { } end modules ['font-otn'] = { version = 1.001, comment = "companion to font-ini.mkiv", author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", diff --git a/tex/context/base/font-tfm.lua b/tex/context/base/font-tfm.lua index ab0378851..401dc8348 100644 --- a/tex/context/base/font-tfm.lua +++ b/tex/context/base/font-tfm.lua @@ -24,6 +24,7 @@ local constructors = fonts.constructors local encodings = fonts.encodings local tfm = constructors.newhandler("tfm") +tfm.version = 1.000 local tfmfeatures = constructors.newfeatures("tfm") local registertfmfeature = tfmfeatures.register diff --git a/tex/context/base/font-vf.lua b/tex/context/base/font-vf.lua index bca2cf99a..fd3be3935 100644 --- a/tex/context/base/font-vf.lua +++ b/tex/context/base/font-vf.lua @@ -23,6 +23,7 @@ local fastcopy = table.fastcopy local fonts = fonts local constructors = fonts.constructors local vf = constructors.newhandler("vf") +vf.version = 1.000 -- same as tfm --[[ldx-- <p>We overload the <l n='vf'/> reader.</p> diff --git a/tex/context/base/m-newotf.mkiv b/tex/context/base/m-newotf.mkiv index 8668eb827..6b9a5fb14 100644 --- a/tex/context/base/m-newotf.mkiv +++ b/tex/context/base/m-newotf.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -% \endinput +\endinput %D This module will go away as soon as we use the new loader code by default. %D That will happen after extensive testing. Generic support will happen after @@ -43,7 +43,11 @@ local findfile = resolvers.findfile local addsuffix = file.addsuffix report() - report("replacing font loader code by experimental code") + if fonts.handlers.otf.version >= 3.000 then + report("replacing new font loader code by experimental code") + else + report("replacing old font loader code by new loader code") + end report() for i=1,#files do local foundfile = findfile(addsuffix(files[i],"lua")) diff --git a/tex/context/base/node-nut.lua b/tex/context/base/node-nut.lua index de03fd433..14ee29a45 100644 --- a/tex/context/base/node-nut.lua +++ b/tex/context/base/node-nut.lua @@ -777,64 +777,57 @@ local propertydata = direct.get_properties_table and direct.get_properties_table local getattr = nuts.getattr local setattr = nuts.setattr -if propertydata then - - nodes.properties = { - data = propertydata, - } +nodes.properties = { + data = propertydata, +} - -- direct.set_properties_mode(true,false) -- shallow copy ... problem: in fonts we then affect the originals too - direct.set_properties_mode(true,true) -- create metatable, slower but needed for font-inj.lua (unless we use an intermediate table) +------.set_properties_mode(true,false) -- shallow copy ... problem: in fonts we then affect the originals too +direct.set_properties_mode(true,true) -- create metatable, slower but needed for font-inj.lua (unless we use an intermediate table) - -- todo: - -- - -- function direct.set_properties_mode() - -- -- we really need the set modes - -- end +-- todo: +-- +-- function direct.set_properties_mode() +-- -- we really need the set modes +-- end - -- experimental code with respect to copying attributes has been removed - -- as it doesn't pay of (most attributes are only accessed once anyway) +-- experimental code with respect to copying attributes has been removed +-- as it doesn't pay of (most attributes are only accessed once anyway) - nuts.getprop = function(n,k) - local p = propertydata[n] - if p then - return p[k] - end +nuts.getprop = function(n,k) + local p = propertydata[n] + if p then + return p[k] end +end - nuts.setprop = function(n,k,v) - local p = propertydata[n] - if p then - p[k] = v - else - propertydata[n] = { [k] = v } - end +nuts.rawprop = function(n,k) + local p = rawget(propertydata,n) + if p then + return p[k] end +end - nuts.theprop = function(n) - local p = propertydata[n] - if not p then - p = { } - propertydata[n] = p - end - return p +nuts.setprop = function(n,k,v) + local p = propertydata[n] + if p then + p[k] = v + else + propertydata[n] = { [k] = v } end +end - nodes.setprop = nodes.setproperty - nodes.getprop = nodes.getproperty - -else - - -- for testing and simple cases - - nuts.getprop = getattr - nuts.setprop = setattr - - nodes.setprop = getattr - nodes.getprop = setattr - +nuts.theprop = function(n) + local p = propertydata[n] + if not p then + p = { } + propertydata[n] = p + end + return p end +nodes.setprop = nodes.setproperty +nodes.getprop = nodes.getproperty + function nuts.copy_properties(source,target,what) local newprops = propertydata[source] if not newprops then diff --git a/tex/context/base/pack-com.mkiv b/tex/context/base/pack-com.mkiv index 2508c6041..a3e43982d 100644 --- a/tex/context/base/pack-com.mkiv +++ b/tex/context/base/pack-com.mkiv @@ -379,7 +379,7 @@ \def\pack_combinations_pickup_package_pair % we need to store the caption row {\vbox {\forgetall - \m_pack_combinations_valigner{\copy\b_pack_combinations_content}% + \m_pack_combinations_valigner{\box\b_pack_combinations_content}% % we need to save the caption for a next alignment line \pack_combinations_save_caption}% \ifnum\c_pack_combinations_n>\plusone diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex d2d2e91e2..48bab2595 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf Binary files differindex 29d54f626..25be80fa2 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/typo-bld.lua b/tex/context/base/typo-bld.lua index 6e75b4a08..69d72e28c 100644 --- a/tex/context/base/typo-bld.lua +++ b/tex/context/base/typo-bld.lua @@ -193,9 +193,9 @@ function builders.vpack_filter(head,groupcode,size,packtype,maxdepth,direction) local done = false if head then starttiming(builders) - if normalize_local then - normalize(head,true) -- a bit weird place - end +-- if normalize_local then +-- normalize(head,true) -- a bit weird place +-- end if trace_vpacking then local before = nodes.count(head) head, done = vboxactions(head,groupcode,size,packtype,maxdepth,direction) @@ -243,7 +243,8 @@ function builders.buildpage_filter(groupcode) -- the next check saves 1% runtime on 1000 tufte pages local head = texlists.contrib_head local done = false - if normalize_global and build_par_codes[groupcode] then +-- if normalize_global and build_par_codes[groupcode] then + if build_par_codes[groupcode] then -- also called in vbox .. we really need another callback for these four normalize(head) -- a bit weird place end diff --git a/tex/context/base/typo-lin.lua b/tex/context/base/typo-lin.lua index 6327f8f23..1c49620d9 100644 --- a/tex/context/base/typo-lin.lua +++ b/tex/context/base/typo-lin.lua @@ -32,22 +32,20 @@ if not modules then modules = { } end modules ['typo-lin'] = { -- mechanisms can push stuff in front too. Actually that alone can mess up analysis when we -- delay too much. So in the end we need to accept the slow down. -- --- We only need to normalize the left side because when we mess around --- we keep the page stream order (and adding content to the right of the --- line is a no-go for tagged etc. For the same reason we don't use two --- left anchors (each side fo leftskip) because there can be stretch. But, --- maybe there are good reasons for having just that anchor (mostly for --- educational purposes I guess.) +-- We only need to normalize the left side because when we mess around we keep the page stream +-- order (and adding content to the right of the line is a no-go for tagged etc. For the same +-- reason we don't use two left anchors (each side fo leftskip) because there can be stretch. +-- But, maybe there are good reasons for having just that anchor (mostly for educational purposes +-- I guess.) -- --- At this stage the localpar node is no longer of any use so we remove --- it (each line has the direction attached). We might at some point also --- strip the disc nodes as they no longer serve a purpose but that can --- better be a helper. Anchoring left has advantage of keeping page stream. +-- At this stage the localpar node is no longer of any use so we remove it (each line has the +-- direction attached). We might at some point also strip the disc nodes as they no longer serve +-- a purpose but that can better be a helper. Anchoring left has advantage of keeping page +-- stream. -- --- This looks a bit messy but we want to keep the box as it is so \showboxes still --- visualizes as expected. Normally left and rightskips end up in the line while --- hangindents become shifts and hsize corrections. We could normalize this to --- a line with +-- This looks a bit messy but we want to keep the box as it is so \showboxes still visualizes as +-- expected. Normally left and rightskips end up in the line while hangindents become shifts and +-- hsize corrections. We could normalize this to a line with -- indent : hlist type 3 -- hangindent : shift and width @@ -82,7 +80,7 @@ local tonode = nodes.tonode local traverse_id = nuts.traverse_id local insert_before = nuts.insert_before local insert_after = nuts.insert_after -local findtail = nuts.tail +local find_tail = nuts.tail local remove_node = nuts.remove local hpack_nodes = nuts.hpack local copy_list = nuts.copy_list @@ -96,7 +94,7 @@ local getfield = nuts.getfield local setfield = nuts.setfield local setprop = nuts.setprop -local getprop = nuts.getprop +local getprop = nuts.rawprop -- getprop local nodepool = nuts.pool local new_glue = nodepool.glue @@ -125,6 +123,16 @@ local noflines = 0 -- This is the third version, a mix between immediate (prestice lines) and delayed -- as we don't want anchors that are not used. +-- if reverse then delta = - delta end +-- head = insert_before(head,head,nodepool.textdir("-TLT")) +-- .... +-- head = insert_before(head,head,nodepool.textdir("TLT")) + +-- todo: figure out metatable mess ... when we copy we also need to copy +-- anchors ... use rawgets + +-- problem: what if a box is copied ... we could check an attribute + local function finalize(prop,key) -- delayed calculations local line = prop.line local hsize = prop.hsize @@ -139,19 +147,18 @@ local function finalize(prop,key) -- delayed calculations else delta = shift end - -- if reverse then delta = - delta end - -- head = insert_before(head,head,nodepool.textdir("-TLT")) - head = insert_before(head,head,new_kern(delta)) + local kern1 = new_kern(delta) + local kern2 = new_kern(-delta) + head = insert_before(head,head,kern1) head = insert_before(head,head,pack) - head = insert_before(head,head,new_kern(-delta)) - -- head = insert_before(head,head,nodepool.textdir("TLT")) + head = insert_before(head,head,kern2) setfield(line,"list",head) local where = { pack = pack, head = nil, tail = nil, } - prop.anchor = where + prop.where = where prop.reverse = reverse prop.shift = shift setmetatableindex(prop,nil) @@ -185,7 +192,7 @@ local function normalize(line,islocal) -- assumes prestine lines, nothing pre/ap head = remove_node(head,head,true) end end - local tail = findtail(head) + local tail = find_tail(head) local current = tail local id = getid(current) if id == glue_code then @@ -225,8 +232,8 @@ local function normalize(line,islocal) -- assumes prestine lines, nothing pre/ap line = line, number = noflines, } - setmetatableindex(prop,finalize) setprop(line,"line",prop) + setmetatableindex(prop,finalize) return prop end @@ -254,7 +261,7 @@ end -- todo: only in mvl or explicitly, e.g. framed or so, not in all lines -function paragraphs.addtoline(n,list,option) +local function addtoline(n,list,option) local line = getprop(n,"line") if not line then line = normalize(n,true) @@ -264,17 +271,17 @@ function paragraphs.addtoline(n,list,option) line.traced = true local rule = new_rule(2*65536,2*65536,1*65536) local list = insert_before(rule,rule,new_kern(-1*65536)) - paragraphs.addtoline(n,list) + addtoline(n,list) local rule = new_rule(2*65536,6*65536,-3*65536) local list = insert_before(rule,rule,new_kern(-1*65536)) - paragraphs.addtoline(n,list,"internal") + addtoline(n,list,"internal") else line.traced = true end local list = tonut(list) - local where = line.anchor - local tail = where.tail + local where = line.where local head = where.head + local tail = where.tail local blob = new_hlist(list) local delta = 0 if option == "internal" then @@ -313,34 +320,28 @@ local function addanchortoline(n,anchor) end if line then local anchor = tonut(anchor) - local where = line.anchor - local head = where.head + local where = line.where if trace_anchors then local rule1 = new_rule(65536/2,4*65536,4*65536) local rule2 = new_rule(8*65536,65536/4,65536/4) local kern1 = new_kern(-65536/4) local kern2 = new_kern(-65536/4-4*65536) - local list = new_hlist(nuts.link { anchor, kern1, rule1, kern2, rule2 }) - setfield(list,"width",0) - insert_before(head,head,list) - if not where.tail then - where.tail = list - - end - setfield(where.pack,"list",list) - where.head = list - else + anchor = new_hlist(nuts.link { anchor, kern1, rule1, kern2, rule2 }) + setfield(anchor,"width",0) + end + if where.tail then + local head = where.head insert_before(head,head,anchor) - if not where.tail then - where.tail = anchor - end - setfield(where.pack,"list",anchor) - where.head = anchor + else + where.tail = anchor end - return line, anchor + setfield(where.pack,"list",anchor) + where.head = anchor + return line end end +paragraphs.addtoline = addtoline paragraphs.addanchortoline = addanchortoline function paragraphs.moveinline(n,blob,dx,dy) diff --git a/tex/context/base/typo-mar.lua b/tex/context/base/typo-mar.lua index bb8452ac6..c930e2712 100644 --- a/tex/context/base/typo-mar.lua +++ b/tex/context/base/typo-mar.lua @@ -182,7 +182,6 @@ local registertogether = builders.paragraphs.registertogether -- tonode local paragraphs = typesetters.paragraphs local addtoline = paragraphs.addtoline -local addanchortoline = paragraphs.addanchortoline local moveinline = paragraphs.moveinline local calculatedelta = paragraphs.calculatedelta @@ -842,9 +841,9 @@ local trialtypesetting = context.trialtypesetting function margins.localhandler(head,group) -- sometimes group is "" which is weird --- if trialtypesetting() then --- return head, false --- end +if trialtypesetting() then + return head, false +end local inhibit = conditionals.inhibitmargindata if inhibit then @@ -864,9 +863,9 @@ end function margins.globalhandler(head,group) -- check group --- if trialtypesetting() then --- return head, false --- end +if trialtypesetting() then + return head, false +end local inhibit = conditionals.inhibitmargindata if inhibit or nofstored == 0 then |