From dfff2103150d8adf18b53a8732d1d41e2762802b Mon Sep 17 00:00:00 2001 From: Vadim1987 Date: Thu, 25 Jun 2026 21:43:01 +0200 Subject: [PATCH 1/2] fix(redirect): guard terminal push so a fault can't cascade through print --- src/model/io/redirect.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/model/io/redirect.lua b/src/model/io/redirect.lua index e60bf94f..b415b5b3 100644 --- a/src/model/io/redirect.lua +++ b/src/model/io/redirect.lua @@ -13,7 +13,7 @@ local function set_print(M) if i ~= l then out = out .. '\t' end end origPrint(out) - M.output:push(out) + pcall(M.output.push, M.output, out) end _G.print = magicPrint end From cb39a5cca0cac010719673a83050559adfdf3869 Mon Sep 17 00:00:00 2001 From: Vadim1987 Date: Thu, 2 Jul 2026 14:17:04 +0200 Subject: [PATCH 2/2] docs(io): make swallowed push error explicit --- src/model/io/redirect.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/model/io/redirect.lua b/src/model/io/redirect.lua index b415b5b3..257bb5fd 100644 --- a/src/model/io/redirect.lua +++ b/src/model/io/redirect.lua @@ -13,7 +13,9 @@ local function set_print(M) if i ~= l then out = out .. '\t' end end origPrint(out) - pcall(M.output.push, M.output, out) + -- origPrint above has already emitted the output + -- (and the error, if there was any) + local _ = pcall(M.output.push, M.output, out) end _G.print = magicPrint end