From: Foxe Chen Date: Sat, 7 Mar 2026 14:23:27 +0000 (+0000) Subject: patch 9.2.0116: terminal: synchronized output sequences are buffered X-Git-Tag: v9.2.0116^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f90fc1bd729df58627f8578267aa93a006a98937;p=thirdparty%2Fvim.git 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 Signed-off-by: Christian Brabandt --- diff --git a/src/term.c b/src/term.c index 5e8b0945c4..5c3212b269 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 d083d0c05b..d0c530a187 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, /**/