From 1a7b240cb0a59ff07921627778d3d273f8baf120 Mon Sep 17 00:00:00 2001 From: ala89 Date: Wed, 13 Dec 2023 16:01:54 +0100 Subject: [PATCH] Interpret for (;;) correctly --- src/interpreter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/interpreter.cpp b/src/interpreter.cpp index e0ac740..82a4f86 100644 --- a/src/interpreter.cpp +++ b/src/interpreter.cpp @@ -95,7 +95,8 @@ EvalResult eval(Node &ast, Memory &memory) { eval(node.children[0], memory); while (true) { - int cond = bool_cast(eval(node.children[1], memory)); + EvalResult e1 = eval(node.children[1], memory); + int cond = holds_alternative(e1) || bool_cast(e1); if (!cond) break; try {