To: vim_dev@googlegroups.com Subject: Patch 9.0.1235 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.1235 Problem: MS-Windows console: not flushing termguicolors. Solution: Flush termguicolors. (Christopher Plewright, closes #11871) Files: src/os_win32.c, src/proto/os_win32.pro, src/term.c *** ../vim-9.0.1234/src/os_win32.c 2023-01-22 18:58:26.730874051 +0000 --- src/os_win32.c 2023-01-23 12:32:34.694736662 +0000 *************** *** 6776,6795 **** WORD attrFlash = ~g_attrCurrent & 0xff; DWORD dwDummy; ! LPWORD oldattrs = ALLOC_MULT(WORD, Rows * Columns); ! if (oldattrs == NULL) ! return; ! ReadConsoleOutputAttribute(g_hConOut, oldattrs, Rows * Columns, coordOrigin, &dwDummy); FillConsoleOutputAttribute(g_hConOut, attrFlash, Rows * Columns, coordOrigin, &dwDummy); Sleep(15); // wait for 15 msec ! if (!vtp_working) WriteConsoleOutputAttribute(g_hConOut, oldattrs, Rows * Columns, coordOrigin, &dwDummy); ! vim_free(oldattrs); } --- 6776,6805 ---- WORD attrFlash = ~g_attrCurrent & 0xff; DWORD dwDummy; ! LPWORD oldattrs = NULL; ! # ifdef FEAT_TERMGUICOLORS ! if (!(p_tgc || t_colors >= 256)) ! # endif ! { ! oldattrs = ALLOC_MULT(WORD, Rows * Columns); ! if (oldattrs == NULL) ! return; ! ReadConsoleOutputAttribute(g_hConOut, oldattrs, Rows * Columns, coordOrigin, &dwDummy); + } + FillConsoleOutputAttribute(g_hConOut, attrFlash, Rows * Columns, coordOrigin, &dwDummy); Sleep(15); // wait for 15 msec ! ! if (oldattrs != NULL) ! { WriteConsoleOutputAttribute(g_hConOut, oldattrs, Rows * Columns, coordOrigin, &dwDummy); ! vim_free(oldattrs); ! } } *************** *** 8665,8676 **** wt_working = mch_getenv("WT_SESSION") != NULL; } - int - use_wt(void) - { - return USE_WT; - } - # ifdef FEAT_TERMGUICOLORS static int ctermtoxterm( --- 8675,8680 ---- *** ../vim-9.0.1234/src/proto/os_win32.pro 2023-01-22 18:58:26.730874051 +0000 --- src/proto/os_win32.pro 2023-01-23 12:29:44.438830348 +0000 *************** *** 73,79 **** void fix_arg_enc(void); int mch_setenv(char *var, char *value, int x); int vtp_printf(char *format, ...); - int use_wt(void); void get_default_console_color(int *cterm_fg, int *cterm_bg, guicolor_T *gui_fg, guicolor_T *gui_bg); void control_console_color_rgb(void); int use_vtp(void); --- 73,78 ---- *** ../vim-9.0.1234/src/term.c 2023-01-22 18:58:26.730874051 +0000 --- src/term.c 2023-01-23 12:28:00.642894421 +0000 *************** *** 3222,3228 **** vim_snprintf(buf, MAX_COLOR_STR_LEN, (char *)s, RED(rgb), GREEN(rgb), BLUE(rgb)); #ifdef FEAT_VTP ! if (use_wt()) { out_flush(); buf[1] = '['; --- 3222,3228 ---- vim_snprintf(buf, MAX_COLOR_STR_LEN, (char *)s, RED(rgb), GREEN(rgb), BLUE(rgb)); #ifdef FEAT_VTP ! if (use_vtp() && (p_tgc || t_colors >= 256)) { out_flush(); buf[1] = '['; *** ../vim-9.0.1234/src/version.c 2023-01-22 21:14:32.621863614 +0000 --- src/version.c 2023-01-23 12:30:06.530817450 +0000 *************** *** 697,698 **** --- 697,700 ---- { /* Add new patch number below this line */ + /**/ + 1235, /**/ -- Bumper sticker: Honk if you love peace and quiet. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///