summaryrefslogtreecommitdiff
path: root/tex/context/base/node-ini.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-02-16 12:00:14 +0200
committerMarius <mariausol@gmail.com>2011-02-16 12:00:14 +0200
commit848a55f9b6b0ce0843811b98f3fb22985ac62bdd (patch)
treee971c55c4c43b5d228a5f3caa751f4ec8d2afcf6 /tex/context/base/node-ini.lua
parentb806c83e0359c66b1651b5039a126a2aa0186fa9 (diff)
downloadcontext-848a55f9b6b0ce0843811b98f3fb22985ac62bdd.tar.gz
beta 2011.02.16 10:54
Diffstat (limited to 'tex/context/base/node-ini.lua')
-rw-r--r--tex/context/base/node-ini.lua25
1 files changed, 18 insertions, 7 deletions
diff --git a/tex/context/base/node-ini.lua b/tex/context/base/node-ini.lua
index f0b9b83fa..21e7bc8cb 100644
--- a/tex/context/base/node-ini.lua
+++ b/tex/context/base/node-ini.lua
@@ -57,6 +57,7 @@ also ignore the empty nodes. [This is obsolete!]</p>
local traverse, traverse_id = node.traverse, node.traverse_id
local free_node, remove_node = node.free, node.remove
local insert_node_before, insert_node_after = node.insert_before, node.insert_after
+local slide_nodes = node.slide
local allocate = utilities.storage.allocate
@@ -346,16 +347,26 @@ function nodes.reference(n)
return lpegmatch(reference,tostring(n))
end
+function nodes.link(n,...) -- blobs ?
+ if type(n) ~= "table" then
+ n = { n, ... }
+ end
+ local head = n[1]
+ local tail = slide_nodes(head)
+ for i=2,#n do
+ local ni = n[i]
+ tail.next = ni
+ ni.prev = tail
+ tail = slide_nodes(ni)
+ end
+ return head
+end
+
--
if not node.next then
- function node.next(n)
- return n and n.next
- end
-
- function node.prev(n)
- return n and n.prev
- end
+ function node.next(n) return n and n.next end
+ function node.prev(n) return n and n.prev end
end