]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0215: MS-Windows: several tests fail in the Windows CUI. v9.2.0215
authorMuraoka Taro <koron.kaoriya@gmail.com>
Fri, 20 Mar 2026 22:42:02 +0000 (22:42 +0000)
committerChristian Brabandt <cb@256bit.org>
Fri, 20 Mar 2026 22:46:13 +0000 (22:46 +0000)
Problem:  The Windows CUI actively buffers transmissions to terms. Patch
          0200 changed the timing of DECRQM transmissions, and
          out_flush() is no longer called after transmission. Therefore,
          actual term initialization does not occur until the buffer is
          flushed, causing the following tests to fail:
            - test_autocmd.vim - Test_Changed_FirstTime()
            - test_mapping.vim - Test_error_in_map_expr()
            - test_messages.vim - Test_mode_message_at_leaving_insert_with_esc_mapped()
            - test_search.vim - Test_search_cmdline_incsearch_highlight_attr()

            The failures since version 200 can be confirmed in the following CI jobs.
            - 9.2.0200 https://github.com/vim/vim/actions/runs/23312934497
                - https://github.com/vim/vim/actions/runs/23312934497/job/67804736843
                - https://github.com/vim/vim/actions/runs/23312934497/job/67804736752
                - https://github.com/vim/vim/actions/runs/23312934497/job/67804736735
            - 9.2.0199 https://github.com/vim/vim/actions/runs/23311871938
                - The above test can be confirmed to be successful.
Solution: After sending DECRQM in send_decrqm_modes(), explicitly call
          out_flush() to ensure terminal initialization (Muraoka Taro).

closes: #19764

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/term.c
src/version.c

index 5e19b09a92df6fa07eb3d29fa747357c92376e01..853ff861d9ae7f08601de82d5a7dbff7b33001fe 100644 (file)
@@ -7985,6 +7985,7 @@ send_decrqm_modes(void)
            vim_snprintf((char *)IObuff, IOSIZE, "\033[?%d$p", dec_modes[i]);
            out_str(IObuff);
        }
+       out_flush();
     }
 }
 
index 3f5c22316d245fd4c0f7fe0aeffee140ff11d1b5..41386c35cdf82933df13468c7fcdb90ce58beffa 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    215,
 /**/
     214,
 /**/