From 8e085fd85ecc00a9247439f5a09f162610059da6 Mon Sep 17 00:00:00 2001 From: Dien-Hoa Date: Mon, 4 May 2026 22:00:44 -0400 Subject: [PATCH] fix duplication output on error --- mojokernel/kernel.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mojokernel/kernel.py b/mojokernel/kernel.py index 57cb8f4..4ca0962 100644 --- a/mojokernel/kernel.py +++ b/mojokernel/kernel.py @@ -148,7 +148,11 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, al result = self.engine.execute(code) if not silent and result.stdout: self.send_response(self.iopub_socket, 'stream', dict(name='stdout', text=result.stdout)) - if not silent and result.stderr: self.send_response(self.iopub_socket, 'stream', dict(name='stderr', text=result.stderr)) + # To avoid duplication with the current LLDB GetIOHandler, only + # stream stderr for successful executions. For errors, stderr is also + # used to build the traceback. This may change if the server later + # exposes a real execution status. + if not silent and result.stderr and result.success: self.send_response(self.iopub_socket, 'stream', dict(name='stderr', text=result.stderr)) if result.success: if self.lsp: self._lsp_preamble += code + '\n'