From 39f7f2d7b49561e3a0997d0f19a2fa566758d7f7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 20 Jul 2023 20:51:12 +0530 Subject: [PATCH] Cant flush response in a parser callback as it can cause recursive parsing --- kitty/parser.c | 2 +- kitty_tests/file_transmission.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kitty/parser.c b/kitty/parser.c index b82a6dfc6..eb82e5d75 100644 --- a/kitty/parser.c +++ b/kitty/parser.c @@ -1170,7 +1170,7 @@ accumulate_osc(Screen *screen, uint32_t ch, PyObject DUMP_UNUSED *dump_callback, default: if (screen->parser_buf_pos >= PARSER_BUF_SZ - 1) { if (handle_extended_osc_code(screen)) *extended_osc_code = true; - else REPORT_ERROR("OSC sequence too long, truncating."); + else REPORT_ERROR("OSC sequence too long (> %d bytes) truncating.", PARSER_BUF_SZ); return true; } screen->parser_buf[screen->parser_buf_pos++] = ch; diff --git a/kitty_tests/file_transmission.py b/kitty_tests/file_transmission.py index 6036bf19b..cd8e26ff5 100644 --- a/kitty_tests/file_transmission.py +++ b/kitty_tests/file_transmission.py @@ -164,7 +164,7 @@ class PtyFileTransmission(FileTransmission): self.pty.callbacks.ftc = self def write_ftc_to_child(self, payload: FileTransmissionCommand, appendleft: bool = False, use_pending: bool = True) -> bool: - self.pty.write_to_child('\x1b]' + payload.serialize(prefix_with_osc_code=True) + '\x1b\\', flush=True) + self.pty.write_to_child('\x1b]' + payload.serialize(prefix_with_osc_code=True) + '\x1b\\', flush=False) class TransferPTY(PTY):