diff options
author | Marius <mariausol@gmail.com> | 2011-02-16 12:00:14 +0200 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2011-02-16 12:00:14 +0200 |
commit | 848a55f9b6b0ce0843811b98f3fb22985ac62bdd (patch) | |
tree | e971c55c4c43b5d228a5f3caa751f4ec8d2afcf6 /tex/context/base/node-ini.lua | |
parent | b806c83e0359c66b1651b5039a126a2aa0186fa9 (diff) | |
download | context-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.lua | 25 |
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 |