summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/node-aux.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/node-aux.lua')
-rw-r--r--tex/context/base/mkiv/node-aux.lua90
1 files changed, 48 insertions, 42 deletions
diff --git a/tex/context/base/mkiv/node-aux.lua b/tex/context/base/mkiv/node-aux.lua
index d3c537a3b..5a98b2ea3 100644
--- a/tex/context/base/mkiv/node-aux.lua
+++ b/tex/context/base/mkiv/node-aux.lua
@@ -53,11 +53,11 @@ local traversers = nuts.traversers
local nextnode = traversers.node
local nextglyph = traversers.glyph
-local flush_node = nuts.flush
-local flush_list = nuts.flush_list
+local flushnode = nuts.flush
+local flushlist = nuts.flushlist
local hpack_nodes = nuts.hpack
-local unset_attribute = nuts.unset_attribute
-local first_glyph = nuts.first_glyph
+local unsetattribute = nuts.unsetattribute
+local firstglyph = nuts.firstglyph
local copy_node = nuts.copy
local find_tail = nuts.tail
local getbox = nuts.getbox
@@ -85,7 +85,7 @@ local report_error = logs.reporter("node-aux:error")
-- function tex.takebox(id)
-- local box = tex.getbox(id)
-- if box then
--- local copy = node.copy(box)
+-- local copy = nodes.copy(box)
-- local list = box.list
-- copy.list = list
-- box.list = nil
@@ -129,7 +129,7 @@ end
function nuts.takelist(n)
local l = getlist(n)
setlist(n)
- flush_node(n)
+ flushnode(n)
return l
end
@@ -142,7 +142,7 @@ local function repackhlist(list,...)
local temp, b = hpack_nodes(list,...)
list = getlist(temp)
setlist(temp)
- flush_node(temp)
+ flushnode(temp)
return list, b
end
@@ -153,50 +153,59 @@ function nodes.repackhlist(list,...)
return tonode(list), b
end
-local function set_attributes(head,attr,value)
- for n, id in nextnode, head do
- setattr(n,attr,value)
- if id == hlist_node or id == vlist_node then
- set_attributes(getlist(n),attr,value)
- end
- end
-end
+if not nuts.setattributes then
-local function set_unset_attributes(head,attr,value)
- for n, id in nextnode, head do
- if not getattr(n,attr) then
+ local function setattributes(head,attr,value)
+ for n, id in nextnode, head do
setattr(n,attr,value)
- end
- if id == hlist_code or id == vlist_code then
- set_unset_attributes(getlist(n),attr,value)
+ if id == hlist_node or id == vlist_node then
+ setattributes(getlist(n),attr,value)
+ end
end
end
+
+ nuts .setattributes = setattributes
+ nodes.setattributes = vianuts(setattributes)
+
end
-local function unset_attributes(head,attr)
- for n, id in nextnode, head do
- setattr(n,attr,unsetvalue)
- if id == hlist_code or id == vlist_code then
- unset_attributes(getlist(n),attr)
+if not nuts.setunsetattributes then
+
+ local function setunsetattributes(head,attr,value)
+ for n, id in nextnode, head do
+ if not getattr(n,attr) then
+ setattr(n,attr,value)
+ end
+ if id == hlist_code or id == vlist_code then
+ setunsetattributes(getlist(n),attr,value)
+ end
end
end
+
+ nuts .setunsetattributes = setunsetattributes
+ nodes.setunsetattributes = vianuts(setunsetattributes)
+
end
--- for old times sake
+if not nuts.unsetattributes then
-nuts.setattribute = nuts.setattr nodes.setattribute = nodes.setattr
-nuts.getattribute = nuts.getattr nodes.getattribute = nodes.getattr
-nuts.unsetattribute = nuts.unset_attribute nodes.unsetattribute = nodes.unset_attribute
-nuts.has_attribute = nuts.has_attribute nodes.has_attribute = nodes.has_attribute
-nuts.firstglyph = nuts.first_glyph nodes.firstglyph = nodes.first_glyph
+ local function unsetattributes(head,attr)
+ for n, id in nextnode, head do
+ setattr(n,attr,unsetvalue)
+ if id == hlist_code or id == vlist_code then
+ unsetattributes(getlist(n),attr)
+ end
+ end
+ end
+
+ nuts .unsetattributes = unsetattributes
+ nodes.unsetattributes = vianuts(unsetattributes)
-nuts.setattributes = set_attributes nodes.setattributes = vianuts(set_attributes)
-nuts.setunsetattributes = set_unset_attributes nodes.setunsetattributes = vianuts(set_unset_attributes)
-nuts.unsetattributes = unset_attributes nodes.unsetattributes = vianuts(unset_attributes)
+end
function nuts.firstcharacter(n,untagged) -- tagged == subtype > 255
if untagged then
- return first_glyph(n)
+ return firstglyph(n)
else
for g in nextglyph ,n do
return g
@@ -370,7 +379,7 @@ local function rehpack(n,width)
local set, order, sign = getboxglue(temp)
setboxglue(n,set,order,sign)
setlist(temp)
- flush_node(temp)
+ flushnode(temp)
return n
end
@@ -406,7 +415,7 @@ do
local getsubtype = nodes.getsubtype
- function nodes.start_of_par(n)
+ function nodes.startofpar(n)
local s = getsubtype(n)
return s == hmodepar_code or s == vmodepar_code
end
@@ -423,8 +432,6 @@ if not nuts.getnormalizedline then
local getlist = nuts.getlist
local getwidth = nuts.getwidth
- local direct = node.direct
-
local nodecodes = nodes.nodecodes
local skipcodes = nodes.skipcodes
@@ -438,7 +445,7 @@ if not nuts.getnormalizedline then
local indentskip_code = skipcodes.indentskip
local parfillskip_code = skipcodes.parfillskip
- local find_node = direct.find_node or function(h,t,s)
+ nuts.findnode = node.direct.find_node or function(h,t,s)
if h then
if s then
for node, subtype in traversers[t] do
@@ -454,7 +461,6 @@ if not nuts.getnormalizedline then
end
end
- nuts.find_node = find_node
function nuts.getnormalizedline(h)
if getid(h) == hlist_code and getsubtype(h) == line_code then