Commit: patch 9.2.0116: terminal: synchronized output sequences are buffered

2 views
Skip to first unread message

Christian Brabandt

unread,
Mar 7, 2026, 9:31:56 AMMar 7
to vim...@googlegroups.com
patch 9.2.0116: terminal: synchronized output sequences are buffered

Commit: https://github.com/vim/vim/commit/f90fc1bd729df58627f8578267aa93a006a98937
Author: Foxe Chen <chen...@gmail.com>
Date: Sat Mar 7 14:23:27 2026 +0000

patch 9.2.0116: terminal: synchronized output sequences are buffered

Problem: terminal: synchronized output sequences are buffered
Solution: Output the terminal sequences directly using ui_write(),
bypassing buffering (Foxe Chen).

closes: #19597

Signed-off-by: Foxe Chen <chen...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/term.c b/src/term.c
index 5e8b0945c..5c3212b26 100644
--- a/src/term.c
+++ b/src/term.c
@@ -7902,8 +7902,8 @@ term_set_sync_output(int flags)
if (allowed && !in_gui && sync_output_state > 0 && *T_ESU != NUL &&
*T_BSU != NUL)
{
- out_str((char_u *)T_ESU);
- out_str((char_u *)T_BSU);
+ ui_write((char_u *)T_ESU, (int)STRLEN(T_ESU), true);
+ ui_write((char_u *)T_BSU, (int)STRLEN(T_BSU), true);
}
return;
}
@@ -7913,7 +7913,7 @@ term_set_sync_output(int flags)
{
if (sync_output_state > 0 && *T_ESU != NUL)
{
- out_str((char_u *)T_ESU);
+ ui_write((char_u *)T_ESU, (int)STRLEN(T_ESU), true);
sync_output_state = 0;
}
return;
@@ -7942,5 +7942,6 @@ term_set_sync_output(int flags)
return;
}

- out_str((char_u *)str);
+ // Directly write to terminal instead of using output buffer
+ ui_write((char_u *)str, (int)STRLEN(str), true);
}
diff --git a/src/version.c b/src/version.c
index d083d0c05..d0c530a18 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 116,
/**/
115,
/**/
Reply all
Reply to author
Forward
0 new messages