From 5a8a4b0dcf067e8eb5f33a46ff5be2f213f045df Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Mon, 24 Jul 2023 15:02:37 -0500 Subject: [PATCH] ts_node__prev_child: Reset earlier node when backtracking `earlier_node` must be reset when backtracking up the tree or else `ts_node__prev_child` may loop infinitely on a subtree which contains zero-width tokens. --- lib/src/node.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/node.c b/lib/src/node.c index aa947148..eafaa7bb 100644 --- a/lib/src/node.c +++ b/lib/src/node.c @@ -237,6 +237,8 @@ static inline TSNode ts_node__prev_sibling(TSNode self, bool include_anonymous) return earlier_node; } else { node = earlier_node; + earlier_node = ts_node__null(); + earlier_node_is_relevant = false; } }