diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/lua/luanode.w')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/lua/luanode.w | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/Build/source/texk/web2c/luatexdir/lua/luanode.w b/Build/source/texk/web2c/luatexdir/lua/luanode.w index af15748bacd..c09cac1ff01 100644 --- a/Build/source/texk/web2c/luatexdir/lua/luanode.w +++ b/Build/source/texk/web2c/luatexdir/lua/luanode.w @@ -96,21 +96,18 @@ void lua_node_filter(int filterid, int extrainfo, halfword head_node, halfword * start_node = vlink(head_node); if (start_node != null) { /* maybe just always slide (harmless and fast) */ - last_node = vlink(start_node); if (fix_node_lists) { - while (last_node != null) { - alink(last_node) = start_node; - start_node = last_node; - last_node = vlink(start_node); - } + /* slides and returns last node */ + *tail_node = fix_node_list(start_node); } else { + last_node = vlink(start_node); while (last_node != null) { start_node = last_node; last_node = vlink(start_node); } + /* we're at the end now */ + *tail_node = start_node; } - /* we're at the end now */ - *tail_node = start_node; } else { /* we're already at the end */ *tail_node = head_node; |