diff options
Diffstat (limited to 'tex/context/base/mkiv/node-nut.lua')
-rw-r--r-- | tex/context/base/mkiv/node-nut.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/node-nut.lua b/tex/context/base/mkiv/node-nut.lua index e722bbd66..5aafcee8e 100644 --- a/tex/context/base/mkiv/node-nut.lua +++ b/tex/context/base/mkiv/node-nut.lua @@ -326,6 +326,8 @@ nuts.setfam = direct.setfam nuts.getboth = direct.getboth nuts.setboth = direct.setboth nuts.setlink = direct.setlink +nuts.exchange = direct.exchange +nuts.reverse = direct.reverse nuts.setsplit = direct.setsplit nuts.getlist = direct.getlist -- only hlist and vlist ! @@ -421,6 +423,31 @@ end -- for now +if not nuts.exchange then + + local d_getprev = direct.getprev + local d_getnext = direct.getnext + local d_setlink = direct.setlink + + function nuts.exchange(head,first,second) + if first then + if not second then + second = d_getnext(first) + end + if second then + d_setlink(d_getprev(first),second,first,d_getnext(second)) + if first == head then + return second + end + end + end + return head + end + +end + +-- for now + if not nuts.getpre then local d_getdisc = direct.getdisc |