summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/lua/luanode.w
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/lua/luanode.w')
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/luanode.w13
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;