From 855d81a4a87ca93aa71bf93c36497201589c526e Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Mon, 8 Dec 2025 10:07:39 -0500 Subject: [PATCH] Fully handle unreferencing a block exit If a block exit has a further block exit in its subtree, we need to keep recursing. --- src/prism.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/prism.c b/src/prism.c index 93392da349..0146d96f1a 100644 --- a/src/prism.c +++ b/src/prism.c @@ -12533,7 +12533,10 @@ pm_node_unreference_each(const pm_node_t *node, void *data) { ); } parser->current_block_exits->size--; - return false; + + /* Note returning true here because these nodes could have + * arguments that are themselves block exits. */ + return true; } index++;