To: vim_dev@googlegroups.com Subject: Patch 8.2.3628 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3628 Problem: Looking up terminal colors is a bit slow. Solution: Cache the terminal colors. (closes #9130, closes #9058) Files: src/highlight.c, src/libvterm/include/vterm.h, src/option.c, src/optionstr.c, src/popupwin.c, src/proto/terminal.pro, src/structs.h, src/terminal.c, src/window.c, src/testdir/test_terminal3.vim, src/testdir/dumps/Test_terminal_color_MyTermCol.dump, src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump, src/testdir/dumps/Test_terminal_color_MyWinCol.dump, src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump, src/testdir/dumps/Test_terminal_color_Terminal.dump, src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump, src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump, src/testdir/dumps/Test_terminal_color_gui_Terminal.dump, src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump, src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump, src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump, src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump, src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump, src/testdir/dumps/Test_terminal_color_transp_Terminal.dump, src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump, src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump, src/testdir/dumps/Test_terminal_popup_MyWinCol.dump, src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump, src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump, src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump, src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump, src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump, src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump, src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump, src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump, src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump, src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump, src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump, src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump, src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump, src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump, src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump *** ../vim-8.2.3627/src/highlight.c 2021-11-16 17:19:24.502463313 +0000 --- src/highlight.c 2021-11-20 13:29:36.450251942 +0000 *************** *** 3753,3758 **** --- 3753,3763 ---- need_highlight_changed = FALSE; + #ifdef FEAT_TERMINAL + term_update_colors_all(); + term_update_wincolor_all(); + #endif + // Clear all attributes. for (hlf = 0; hlf < (int)HLF_COUNT; ++hlf) highlight_attr[hlf] = 0; *** ../vim-8.2.3627/src/libvterm/include/vterm.h 2020-05-22 21:06:02.165271263 +0100 --- src/libvterm/include/vterm.h 2021-11-20 13:29:36.450251942 +0000 *************** *** 122,128 **** /** * Mask that can be used to extract the default foreground/background bit. */ ! VTERM_COLOR_DEFAULT_MASK = 0x06 } VTermColorType; /** --- 122,133 ---- /** * Mask that can be used to extract the default foreground/background bit. */ ! VTERM_COLOR_DEFAULT_MASK = 0x06, ! ! /** ! * If set, indicates that the color is invalid. ! */ ! VTERM_COLOR_INVALID = 0x08 } VTermColorType; /** *************** *** 155,160 **** --- 160,171 ---- #define VTERM_COLOR_IS_DEFAULT_BG(col) \ (!!((col)->type & VTERM_COLOR_DEFAULT_BG)) + /** + * Returns true if the VTERM_COLOR_INVALID `type` flag is set, indicating + * that the given VTermColor instance is an invalid color. + */ + #define VTERM_COLOR_IS_INVALID(col) (!!((col)->type & VTERM_COLOR_INVALID)) + typedef struct { /** * Tag indicating which member is actually valid. *** ../vim-8.2.3627/src/option.c 2021-11-18 22:08:52.007682711 +0000 --- src/option.c 2021-11-20 13:29:36.450251942 +0000 *************** *** 3259,3264 **** --- 3259,3268 ---- init_highlight(TRUE, FALSE); } # endif + # ifdef FEAT_TERMINAL + term_update_colors_all(); + term_update_wincolor_all(); + # endif } #endif *** ../vim-8.2.3627/src/optionstr.c 2021-11-18 22:08:52.007682711 +0000 --- src/optionstr.c 2021-11-20 13:29:36.450251942 +0000 *************** *** 2205,2214 **** } // 'wincolor' else if (varp == &curwin->w_p_wcr) ! { ! if (curwin->w_buffer->b_term != NULL) ! term_update_colors(curwin->w_buffer->b_term); ! } # if defined(MSWIN) // 'termwintype' else if (varp == &p_twt) --- 2205,2211 ---- } // 'wincolor' else if (varp == &curwin->w_p_wcr) ! term_update_wincolor(curwin); # if defined(MSWIN) // 'termwintype' else if (varp == &p_twt) *** ../vim-8.2.3627/src/popupwin.c 2021-11-17 20:39:29.131019723 +0000 --- src/popupwin.c 2021-11-20 13:29:36.450251942 +0000 *************** *** 732,739 **** --- 732,744 ---- str = dict_get_string(dict, (char_u *)"highlight", FALSE); if (str != NULL) + { set_string_option_direct_in_win(wp, (char_u *)"wincolor", -1, str, OPT_FREE|OPT_LOCAL, 0); + #ifdef FEAT_TERMINAL + term_update_wincolor(wp); + #endif + } set_padding_border(dict, wp->w_popup_padding, "padding", 999); set_padding_border(dict, wp->w_popup_border, "border", 1); *** ../vim-8.2.3627/src/proto/terminal.pro 2021-11-19 17:01:05.559037762 +0000 --- src/proto/terminal.pro 2021-11-20 13:42:20.387366306 +0000 *************** *** 28,34 **** int term_show_buffer(buf_T *buf); void term_change_in_curbuf(void); int term_get_attr(win_T *wp, linenr_T lnum, int col); ! void term_update_colors(term_T *term); void term_update_colors_all(void); char_u *term_get_status_text(term_T *term); void term_clear_status_text(term_T *term); --- 28,36 ---- int term_show_buffer(buf_T *buf); void term_change_in_curbuf(void); int term_get_attr(win_T *wp, linenr_T lnum, int col); ! void term_reset_wincolor(win_T *wp); ! void term_update_wincolor(win_T *wp); ! void term_update_wincolor_all(void); void term_update_colors_all(void); char_u *term_get_status_text(term_T *term); void term_clear_status_text(term_T *term); *** ../vim-8.2.3627/src/structs.h 2021-11-17 15:51:46.421992164 +0000 --- src/structs.h 2021-11-20 13:29:36.450251942 +0000 *************** *** 123,128 **** --- 123,136 ---- #endif #define COLOR_INVALID(x) ((x) == INVALCOLOR || (x) == CTERMCOLOR) + #ifdef FEAT_TERMINAL + # include "libvterm/include/vterm.h" + typedef struct { + VTermColor fg; + VTermColor bg; + } termcellcolor_T; + #endif + /* * marks: positions in a file * (a normal mark is a lnum/col pair, the same as a file position) *************** *** 3619,3624 **** --- 3627,3635 ---- int w_nrwidth; // width of 'number' and 'relativenumber' // column being used #endif + #ifdef FEAT_TERMINAL + termcellcolor_T w_term_wincolor; // cache for term color of 'wincolor' + #endif /* * === end of cached values === *** ../vim-8.2.3627/src/terminal.c 2021-11-19 17:01:05.559037762 +0000 --- src/terminal.c 2021-11-20 13:29:36.454251921 +0000 *************** *** 2319,2332 **** } /* ! * Return the highight group name for the terminal; "Terminal" if not set. */ ! static char_u * ! term_get_highlight_name(term_T *term) { ! if (term->tl_highlight_name == NULL) ! return (char_u *)"Terminal"; ! return term->tl_highlight_name; } #if defined(FEAT_GUI) || defined(PROTO) --- 2319,2339 ---- } /* ! * Return the highight group ID for the terminal and the window. */ ! static int ! term_get_highlight_id(term_T *term, win_T *wp) { ! char_u *name; ! ! if (wp != NULL && *wp->w_p_wcr != NUL) ! name = wp->w_p_wcr; ! else if (term->tl_highlight_name != NULL) ! name = term->tl_highlight_name; ! else ! name = (char_u*)"Terminal"; ! ! return syn_name2id(name); } #if defined(FEAT_GUI) || defined(PROTO) *************** *** 2336,2342 **** term_T *term = in_terminal_loop; static cursorentry_T entry; int id; ! guicolor_T term_fg, term_bg; CLEAR_FIELD(entry); entry.shape = entry.mshape = --- 2343,2350 ---- term_T *term = in_terminal_loop; static cursorentry_T entry; int id; ! guicolor_T term_fg = INVALCOLOR; ! guicolor_T term_bg = INVALCOLOR; CLEAR_FIELD(entry); entry.shape = entry.mshape = *************** *** 2352,2369 **** } // The highlight group overrules the defaults. ! id = syn_name2id(term_get_highlight_name(term)); if (id != 0) - { syn_id2colors(id, &term_fg, &term_bg); *fg = term_bg; - } else *fg = gui.back_pixel; if (term->tl_cursor_color == NULL) { ! if (id != 0) *bg = term_fg; else *bg = gui.norm_pixel; --- 2360,2376 ---- } // The highlight group overrules the defaults. ! id = term_get_highlight_id(term, curwin); if (id != 0) syn_id2colors(id, &term_fg, &term_bg); + if (term_bg != INVALCOLOR) *fg = term_bg; else *fg = gui.back_pixel; if (term->tl_cursor_color == NULL) { ! if (term_fg != INVALCOLOR) *bg = term_fg; else *bg = gui.norm_pixel; *************** *** 2743,2750 **** int blue = color->blue; int green = color->green; ! if (VTERM_COLOR_IS_DEFAULT_FG(color) ! || VTERM_COLOR_IS_DEFAULT_BG(color)) return 0; if (VTERM_COLOR_IS_INDEXED(color)) { --- 2750,2756 ---- int blue = color->blue; int green = color->green; ! if (VTERM_COLOR_IS_INVALID(color)) return 0; if (VTERM_COLOR_IS_INDEXED(color)) { *************** *** 2815,2833 **** * Convert Vterm attributes to highlight flags. */ static int ! vtermAttr2hl(VTermScreenCellAttrs cellattrs) { int attr = 0; ! if (cellattrs.bold) attr |= HL_BOLD; ! if (cellattrs.underline) attr |= HL_UNDERLINE; ! if (cellattrs.italic) attr |= HL_ITALIC; ! if (cellattrs.strike) attr |= HL_STRIKETHROUGH; ! if (cellattrs.reverse) attr |= HL_INVERSE; return attr; } --- 2821,2839 ---- * Convert Vterm attributes to highlight flags. */ static int ! vtermAttr2hl(VTermScreenCellAttrs *cellattrs) { int attr = 0; ! if (cellattrs->bold) attr |= HL_BOLD; ! if (cellattrs->underline) attr |= HL_UNDERLINE; ! if (cellattrs->italic) attr |= HL_ITALIC; ! if (cellattrs->strike) attr |= HL_STRIKETHROUGH; ! if (cellattrs->reverse) attr |= HL_INVERSE; return attr; } *************** *** 2858,2945 **** cell2attr( term_T *term, win_T *wp, ! VTermScreenCellAttrs cellattrs, ! VTermColor cellfg, ! VTermColor cellbg) { int attr = vtermAttr2hl(cellattrs); #ifdef FEAT_GUI if (gui.in_use) { ! guicolor_T fg, bg; ! ! fg = gui_mch_get_rgb_color(cellfg.red, cellfg.green, cellfg.blue); ! bg = gui_mch_get_rgb_color(cellbg.red, cellbg.green, cellbg.blue); ! return get_gui_attr_idx(attr, fg, bg); } else #endif #ifdef FEAT_TERMGUICOLORS if (p_tgc) { ! guicolor_T fg = INVALCOLOR; ! guicolor_T bg = INVALCOLOR; ! ! // Use the 'wincolor' or "Terminal" highlighting for the default ! // colors. ! if (VTERM_COLOR_IS_DEFAULT_FG(&cellfg) ! || VTERM_COLOR_IS_DEFAULT_BG(&cellbg)) ! { ! int id = 0; ! ! if (wp != NULL && *wp->w_p_wcr != NUL) ! id = syn_name2id(wp->w_p_wcr); ! if (id == 0) ! id = syn_name2id(term_get_highlight_name(term)); ! if (id > 0) ! syn_id2colors(id, &fg, &bg); ! if (!VTERM_COLOR_IS_DEFAULT_FG(&cellfg)) ! fg = gui_get_rgb_color_cmn(cellfg.red, cellfg.green, ! cellfg.blue); ! if (!VTERM_COLOR_IS_DEFAULT_BG(&cellbg)) ! bg = gui_get_rgb_color_cmn(cellbg.red, cellbg.green, ! cellbg.blue); ! } ! else ! { ! fg = gui_get_rgb_color_cmn(cellfg.red, cellfg.green, cellfg.blue); ! bg = gui_get_rgb_color_cmn(cellbg.red, cellbg.green, cellbg.blue); ! } ! ! return get_tgc_attr_idx(attr, fg, bg); } else #endif { int bold = MAYBE; ! int fg = color2index(&cellfg, TRUE, &bold); ! int bg = color2index(&cellbg, FALSE, &bold); ! ! // Use the 'wincolor' or "Terminal" highlighting for the default ! // colors. ! if ((fg == 0 || bg == 0) && t_colors >= 16) ! { ! int cterm_fg = -1; ! int cterm_bg = -1; ! int id = 0; ! ! if (wp != NULL && *wp->w_p_wcr != NUL) ! id = syn_name2id(wp->w_p_wcr); ! if (id == 0) ! id = syn_name2id(term_get_highlight_name(term)); ! if (id > 0) ! syn_id2cterm_bg(id, &cterm_fg, &cterm_bg); ! if (fg == 0 && cterm_fg >= 0) ! fg = cterm_fg + 1; ! if (bg == 0 && cterm_bg >= 0) ! bg = cterm_bg + 1; ! } // with 8 colors set the bold attribute to get a bright foreground if (bold == TRUE) attr |= HL_BOLD; ! return get_cterm_attr_idx(attr, fg, bg); } return 0; } --- 2864,2929 ---- cell2attr( term_T *term, win_T *wp, ! VTermScreenCellAttrs *cellattrs, ! VTermColor *cellfg, ! VTermColor *cellbg) { int attr = vtermAttr2hl(cellattrs); + VTermColor *fg = cellfg; + VTermColor *bg = cellbg; + int is_default_fg = VTERM_COLOR_IS_DEFAULT_FG(fg); + int is_default_bg = VTERM_COLOR_IS_DEFAULT_BG(bg); + + if (is_default_fg || is_default_bg) + { + if (wp != NULL && *wp->w_p_wcr != NUL) + { + if (is_default_fg) + fg = &wp->w_term_wincolor.fg; + if (is_default_bg) + bg = &wp->w_term_wincolor.bg; + } + else + { + if (is_default_fg) + fg = &term->tl_default_color.fg; + if (is_default_bg) + bg = &term->tl_default_color.bg; + } + } #ifdef FEAT_GUI if (gui.in_use) { ! guicolor_T guifg = gui_mch_get_rgb_color(fg->red, fg->green, fg->blue); ! guicolor_T guibg = gui_mch_get_rgb_color(bg->red, bg->green, bg->blue); ! return get_gui_attr_idx(attr, guifg, guibg); } else #endif #ifdef FEAT_TERMGUICOLORS if (p_tgc) { ! guicolor_T tgcfg = VTERM_COLOR_IS_INVALID(fg) ! ? INVALCOLOR ! : gui_get_rgb_color_cmn(fg->red, fg->green, fg->blue); ! guicolor_T tgcbg = VTERM_COLOR_IS_INVALID(bg) ! ? INVALCOLOR ! : gui_get_rgb_color_cmn(bg->red, bg->green, bg->blue); ! return get_tgc_attr_idx(attr, tgcfg, tgcbg); } else #endif { int bold = MAYBE; ! int ctermfg = color2index(fg, TRUE, &bold); ! int ctermbg = color2index(bg, FALSE, &bold); // with 8 colors set the bold attribute to get a bright foreground if (bold == TRUE) attr |= HL_BOLD; ! ! return get_cterm_attr_idx(attr, ctermfg, ctermbg); } return 0; } *************** *** 2988,2994 **** // Set the color to clear lines with. vterm_state_get_default_colors(vterm_obtain_state(term->tl_vterm), &fg, &bg); ! clear_attr = cell2attr(term, wp, attr, fg, bg); win_del_lines(wp, start_row, count, FALSE, FALSE, clear_attr); } } --- 2972,2978 ---- // Set the color to clear lines with. vterm_state_get_default_colors(vterm_obtain_state(term->tl_vterm), &fg, &bg); ! clear_attr = cell2attr(term, wp, &attr, &fg, &bg); win_del_lines(wp, start_row, count, FALSE, FALSE, clear_attr); } } *************** *** 3633,3639 **** // This will only store the lower byte of "c". ScreenLines[off] = c; } ! ScreenAttrs[off] = cell2attr(term, wp, cell.attrs, cell.fg, cell.bg); ++pos->col; ++off; --- 3617,3624 ---- // This will only store the lower byte of "c". ScreenLines[off] = c; } ! ScreenAttrs[off] = cell2attr(term, wp, &cell.attrs, &cell.fg, ! &cell.bg); ++pos->col; ++off; *************** *** 3893,3899 **** else cellattr = line->sb_cells + col; } ! return cell2attr(term, wp, cellattr->attrs, cellattr->fg, cellattr->bg); } /* --- 3878,3884 ---- else cellattr = line->sb_cells + col; } ! return cell2attr(term, wp, &cellattr->attrs, &cellattr->fg, &cellattr->bg); } /* *************** *** 3914,3958 **** } /* ! * Initialize term->tl_default_color from the environment. */ ! static void ! init_default_colors(term_T *term, win_T *wp) { - VTermColor *fg, *bg; - int fgval, bgval; - int id; - - CLEAR_FIELD(term->tl_default_color.attrs); - term->tl_default_color.width = 1; - fg = &term->tl_default_color.fg; - bg = &term->tl_default_color.bg; - - // Vterm uses a default black background. Set it to white when - // 'background' is "light". - if (*p_bg == 'l') - { - fgval = 0; - bgval = 255; - } - else - { - fgval = 255; - bgval = 0; - } - fg->red = fg->green = fg->blue = fgval; - bg->red = bg->green = bg->blue = bgval; - fg->type = VTERM_COLOR_RGB | VTERM_COLOR_DEFAULT_FG; - bg->type = VTERM_COLOR_RGB | VTERM_COLOR_DEFAULT_BG; - - // The 'wincolor' or the highlight group overrules the defaults. - if (wp != NULL && *wp->w_p_wcr != NUL) - id = syn_name2id(wp->w_p_wcr); - else - id = syn_name2id(term_get_highlight_name(term)); - - // Use the actual color for the GUI and when 'termguicolors' is set. #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) if (0 # ifdef FEAT_GUI || gui.in_use --- 3899,3913 ---- } /* ! * Initialize vterm color from the synID. ! * Returns TRUE if color is set to "fg" and "bg". ! * Otherwise returns FALSE. */ ! static int ! get_vterm_color_from_synid(int id, VTermColor *fg, VTermColor *bg) { #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) + // Use the actual color for the GUI and when 'termguicolors' is set. if (0 # ifdef FEAT_GUI || gui.in_use *************** *** 3966,4029 **** # endif ) { ! guicolor_T fg_rgb = INVALCOLOR; ! guicolor_T bg_rgb = INVALCOLOR; ! if (id != 0) syn_id2colors(id, &fg_rgb, &bg_rgb); - # ifdef FEAT_GUI - if (gui.in_use) - { - if (fg_rgb == INVALCOLOR) - fg_rgb = gui.norm_pixel; - if (bg_rgb == INVALCOLOR) - bg_rgb = gui.back_pixel; - } - # ifdef FEAT_TERMGUICOLORS - else - # endif - # endif - # ifdef FEAT_TERMGUICOLORS - { - if (fg_rgb == INVALCOLOR) - fg_rgb = cterm_normal_fg_gui_color; - if (bg_rgb == INVALCOLOR) - bg_rgb = cterm_normal_bg_gui_color; - } - # endif if (fg_rgb != INVALCOLOR) { long_u rgb = GUI_MCH_GET_RGB(fg_rgb); - fg->red = (unsigned)(rgb >> 16); fg->green = (unsigned)(rgb >> 8) & 255; fg->blue = (unsigned)rgb & 255; } if (bg_rgb != INVALCOLOR) { long_u rgb = GUI_MCH_GET_RGB(bg_rgb); - bg->red = (unsigned)(rgb >> 16); bg->green = (unsigned)(rgb >> 8) & 255; bg->blue = (unsigned)rgb & 255; } } else #endif ! if (id != 0 && t_colors >= 16) { int cterm_fg = -1; int cterm_bg = -1; ! syn_id2cterm_bg(id, &cterm_fg, &cterm_bg); if (cterm_fg >= 0) cterm_color2vterm(cterm_fg, fg); if (cterm_bg >= 0) cterm_color2vterm(cterm_bg, bg); } else { #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL)) int tmp; #endif --- 3921,4061 ---- # endif ) { ! guicolor_T fg_rgb = INVALCOLOR; ! guicolor_T bg_rgb = INVALCOLOR; ! if (id > 0) syn_id2colors(id, &fg_rgb, &bg_rgb); if (fg_rgb != INVALCOLOR) { long_u rgb = GUI_MCH_GET_RGB(fg_rgb); fg->red = (unsigned)(rgb >> 16); fg->green = (unsigned)(rgb >> 8) & 255; fg->blue = (unsigned)rgb & 255; + fg->type = VTERM_COLOR_RGB | VTERM_COLOR_DEFAULT_FG; } + else + fg->type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_FG; + if (bg_rgb != INVALCOLOR) { long_u rgb = GUI_MCH_GET_RGB(bg_rgb); bg->red = (unsigned)(rgb >> 16); bg->green = (unsigned)(rgb >> 8) & 255; bg->blue = (unsigned)rgb & 255; + bg->type = VTERM_COLOR_RGB | VTERM_COLOR_DEFAULT_BG; } + else + bg->type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_BG; + + return TRUE; } else #endif ! if (t_colors >= 16) { int cterm_fg = -1; int cterm_bg = -1; ! ! if (id > 0) ! syn_id2cterm_bg(id, &cterm_fg, &cterm_bg); if (cterm_fg >= 0) + { cterm_color2vterm(cterm_fg, fg); + fg->type |= VTERM_COLOR_DEFAULT_FG; + } + else + fg->type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_FG; + if (cterm_bg >= 0) + { cterm_color2vterm(cterm_bg, bg); + bg->type |= VTERM_COLOR_DEFAULT_BG; + } + else + bg->type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_BG; + + return TRUE; + } + + return FALSE; + } + + void + term_reset_wincolor(win_T *wp) + { + wp->w_term_wincolor.fg.type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_FG; + wp->w_term_wincolor.bg.type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_BG; + } + + /* + * Cache the color of 'wincolor'. + */ + void + term_update_wincolor(win_T *wp) + { + int id = 0; + + if (*wp->w_p_wcr != NUL) + id = syn_name2id(wp->w_p_wcr); + if (id == 0 || !get_vterm_color_from_synid(id, &wp->w_term_wincolor.fg, + &wp->w_term_wincolor.bg)) + term_reset_wincolor(wp); + } + + /* + * Called when option 'termguicolors' was set, + * or when any highlight is changed. + */ + void + term_update_wincolor_all() + { + win_T *wp = NULL; + int did_curwin = FALSE; + + while (for_all_windows_and_curwin(&wp, &did_curwin)) + term_update_wincolor(wp); + } + + /* + * Initialize term->tl_default_color from the environment. + */ + static void + init_default_colors(term_T *term) + { + VTermColor *fg, *bg; + int fgval, bgval; + int id; + + CLEAR_FIELD(term->tl_default_color.attrs); + term->tl_default_color.width = 1; + fg = &term->tl_default_color.fg; + bg = &term->tl_default_color.bg; + + // Vterm uses a default black background. Set it to white when + // 'background' is "light". + if (*p_bg == 'l') + { + fgval = 0; + bgval = 255; } else { + fgval = 255; + bgval = 0; + } + fg->red = fg->green = fg->blue = fgval; + bg->red = bg->green = bg->blue = bgval; + fg->type = VTERM_COLOR_RGB | VTERM_COLOR_DEFAULT_FG; + bg->type = VTERM_COLOR_RGB | VTERM_COLOR_DEFAULT_BG; + + // The highlight group overrules the defaults. + id = term_get_highlight_id(term, NULL); + + if (!get_vterm_color_from_synid(id, fg, bg)) + { #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL)) int tmp; #endif *************** *** 4532,4538 **** // TODO: depends on 'encoding'. vterm_set_utf8(vterm, 1); ! init_default_colors(term, NULL); vterm_state_set_default_colors( state, --- 4564,4570 ---- // TODO: depends on 'encoding'. vterm_set_utf8(vterm, 1); ! init_default_colors(term); vterm_state_set_default_colors( state, *************** *** 4568,4603 **** } /* ! * Called when 'wincolor' was set. ! */ ! void ! term_update_colors(term_T *term) ! { ! win_T *wp; ! ! if (term->tl_vterm == NULL) ! return; ! init_default_colors(term, curwin); ! vterm_state_set_default_colors( ! vterm_obtain_state(term->tl_vterm), ! &term->tl_default_color.fg, ! &term->tl_default_color.bg); ! ! FOR_ALL_WINDOWS(wp) ! if (wp->w_buffer == term->tl_buffer) ! redraw_win_later(wp, NOT_VALID); ! } ! ! /* ! * Called when 'background' was set. */ void term_update_colors_all(void) { ! term_T *tp; ! FOR_ALL_TERMS(tp) ! term_update_colors(tp); } /* --- 4600,4623 ---- } /* ! * Called when option 'background' or 'termguicolors' was set, ! * or when any highlight is changed. */ void term_update_colors_all(void) { ! term_T *term; ! FOR_ALL_TERMS(term) ! { ! if (term->tl_vterm == NULL) ! continue; ! init_default_colors(term); ! vterm_state_set_default_colors( ! vterm_obtain_state(term->tl_vterm), ! &term->tl_default_color.fg, ! &term->tl_default_color.bg); ! } } /* *************** *** 4692,4699 **** clear_cell(VTermScreenCell *cell) { CLEAR_FIELD(*cell); ! cell->fg.type = VTERM_COLOR_DEFAULT_FG; ! cell->bg.type = VTERM_COLOR_DEFAULT_BG; } static void --- 4712,4719 ---- clear_cell(VTermScreenCell *cell) { CLEAR_FIELD(*cell); ! cell->fg.type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_FG; ! cell->bg.type = VTERM_COLOR_INVALID | VTERM_COLOR_DEFAULT_BG; } static void *************** *** 4844,4851 **** if (should_break) break; } ! same_attr = vtermAttr2hl(cell.attrs) ! == vtermAttr2hl(prev_cell.attrs) && vterm_color_is_equal(&cell.fg, &prev_cell.fg) && vterm_color_is_equal(&cell.bg, &prev_cell.bg); if (same_chars && cell.width == prev_cell.width && same_attr --- 4864,4871 ---- if (should_break) break; } ! same_attr = vtermAttr2hl(&cell.attrs) ! == vtermAttr2hl(&prev_cell.attrs) && vterm_color_is_equal(&cell.fg, &prev_cell.fg) && vterm_color_is_equal(&cell.bg, &prev_cell.bg); if (same_chars && cell.width == prev_cell.width && same_attr *************** *** 4893,4899 **** } else { ! fprintf(fd, "%d", vtermAttr2hl(cell.attrs)); if (vterm_color_is_equal(&cell.fg, &prev_cell.fg)) fputs("&", fd); else --- 4913,4919 ---- } else { ! fprintf(fd, "%d", vtermAttr2hl(&cell.attrs)); if (vterm_color_is_equal(&cell.fg, &prev_cell.fg)) fputs("&", fd); else *************** *** 5344,5350 **** VTermPos cursor_pos1; VTermPos cursor_pos2; ! init_default_colors(term, NULL); rettv->vval.v_number = buf->b_fnum; --- 5364,5370 ---- VTermPos cursor_pos1; VTermPos cursor_pos2; ! init_default_colors(term); rettv->vval.v_number = buf->b_fnum; *************** *** 5454,5461 **** else if (!vterm_color_is_equal(&(cellattr1 + col)->bg, &(cellattr2 + col)->bg)) textline[col] = 'b'; ! else if (vtermAttr2hl((cellattr1 + col)->attrs) ! != vtermAttr2hl(((cellattr2 + col)->attrs))) textline[col] = 'a'; } p1 += len1; --- 5474,5481 ---- else if (!vterm_color_is_equal(&(cellattr1 + col)->bg, &(cellattr2 + col)->bg)) textline[col] = 'b'; ! else if (vtermAttr2hl(&(cellattr1 + col)->attrs) ! != vtermAttr2hl(&((cellattr2 + col)->attrs))) textline[col] = 'a'; } p1 += len1; *************** *** 6134,6140 **** bg.red, bg.green, bg.blue); dict_add_string(dcell, "bg", rgb); ! dict_add_number(dcell, "attr", cell2attr(term, NULL, attrs, fg, bg)); dict_add_number(dcell, "width", width); ++pos.col; --- 6154,6161 ---- bg.red, bg.green, bg.blue); dict_add_string(dcell, "bg", rgb); ! dict_add_number(dcell, "attr", ! cell2attr(term, NULL, &attrs, &fg, &bg)); dict_add_number(dcell, "width", width); ++pos.col; *** ../vim-8.2.3627/src/window.c 2021-11-18 18:52:08.824648758 +0000 --- src/window.c 2021-11-20 13:29:36.454251921 +0000 *************** *** 1422,1427 **** --- 1422,1430 ---- #ifdef FEAT_SYN_HL check_colorcolumn(newp); #endif + #ifdef FEAT_TERMINAL + term_update_wincolor(newp); + #endif } /* *************** *** 3684,3689 **** --- 3687,3695 ---- #if defined(FEAT_SYN_HL) || defined(FEAT_SPELL) wp->w_s = &wp->w_buffer->b_s; #endif + #ifdef FEAT_TERMINAL + term_reset_wincolor(wp); + #endif } /* *** ../vim-8.2.3627/src/testdir/test_terminal3.vim 2021-03-30 19:54:24.151493074 +0100 --- src/testdir/test_terminal3.vim 2021-11-20 13:39:07.212016828 +0000 *************** *** 66,71 **** --- 66,242 ---- call assert_fails('terminal ++xyz', 'E181:') endfunc + " Check a terminal with different colors + func Terminal_color(group_name, highlight_cmds, highlight_opt, open_cmds) + CheckRunVimInTerminal + CheckUnix + + let lines = [ + \ 'call setline(1, range(20))', + \ 'func OpenTerm()', + \ ' set noruler', + \ " call term_start('cat', #{vertical: 1, " .. a:highlight_opt .. "})", + \ ] + a:open_cmds + [ + \ 'endfunc', + \ ] + a:highlight_cmds + call writefile(lines, 'XtermStart') + let buf = RunVimInTerminal('-S XtermStart', #{rows: 15}) + call TermWait(buf, 100) + call term_sendkeys(buf, ":call OpenTerm()\") + call TermWait(buf, 50) + call term_sendkeys(buf, "hello\") + call VerifyScreenDump(buf, 'Test_terminal_color_' .. a:group_name, {}) + + call term_sendkeys(buf, "\") + call TermWait(buf, 50) + call StopVimInTerminal(buf) + call delete('XtermStart') + endfunc + + func Test_terminal_color_Terminal() + call Terminal_color("Terminal", [ + \ "highlight Terminal ctermfg=blue ctermbg=yellow", + \ ], "", []) + endfunc + + func Test_terminal_color_group() + call Terminal_color("MyTermCol", [ + \ "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", + \ ], "term_highlight: 'MyTermCol',", []) + endfunc + + func Test_terminal_color_wincolor() + call Terminal_color("MyWinCol", [ + \ "highlight MyWinCol ctermfg=red ctermbg=darkyellow", + \ ], "", [ + \ 'set wincolor=MyWinCol', + \ ]) + endfunc + + func Test_terminal_color_group_over_Terminal() + call Terminal_color("MyTermCol_over_Terminal", [ + \ "highlight Terminal ctermfg=blue ctermbg=yellow", + \ "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", + \ ], "term_highlight: 'MyTermCol',", []) + endfunc + + func Test_terminal_color_wincolor_over_group() + call Terminal_color("MyWinCol_over_group", [ + \ "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", + \ "highlight MyWinCol ctermfg=red ctermbg=darkyellow", + \ ], "term_highlight: 'MyTermCol',", [ + \ 'set wincolor=MyWinCol', + \ ]) + endfunc + + func Test_terminal_color_wincolor_split() + CheckRunVimInTerminal + CheckUnix + + let lines = [ + \ 'call setline(1, range(20))', + \ 'func OpenTerm()', + \ ' set noruler', + \ " call term_start('cat', #{vertical: 1, term_highlight: 'MyTermCol'})", + \ 'endfunc', + \ 'highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue', + \ 'highlight MyWinCol ctermfg=red ctermbg=darkyellow', + \ 'highlight MyWinCol2 ctermfg=black ctermbg=blue', + \ ] + call writefile(lines, 'XtermStart') + let buf = RunVimInTerminal('-S XtermStart', #{rows: 15}) + call TermWait(buf, 100) + call term_sendkeys(buf, ":call OpenTerm()\") + call TermWait(buf, 50) + call term_sendkeys(buf, "hello\") + call TermWait(buf, 50) + + call term_sendkeys(buf, "\:split\") + call term_sendkeys(buf, "\:set wincolor=MyWinCol\") + call VerifyScreenDump(buf, 'Test_terminal_wincolor_split_MyWinCol', {}) + + call term_sendkeys(buf, "\b:2sb\") + call term_sendkeys(buf, "\:set wincolor=MyWinCol2\") + call VerifyScreenDump(buf, 'Test_terminal_wincolor_split_MyWinCol2', {}) + + call term_sendkeys(buf, "\") + call TermWait(buf, 50) + call StopVimInTerminal(buf) + call delete('XtermStart') + endfunc + + func Test_terminal_color_transp_Terminal() + call Terminal_color("transp_Terminal", [ + \ "highlight Terminal ctermfg=blue", + \ ], "", []) + endfunc + + func Test_terminal_color_transp_group() + call Terminal_color("transp_MyTermCol", [ + \ "highlight MyTermCol ctermfg=darkgreen", + \ ], "term_highlight: 'MyTermCol',", []) + endfunc + + func Test_terminal_color_transp_wincolor() + call Terminal_color("transp_MyWinCol", [ + \ "highlight MyWinCol ctermfg=red", + \ ], "", [ + \ 'set wincolor=MyWinCol', + \ ]) + endfunc + + func Test_terminal_color_gui_Terminal() + CheckFeature termguicolors + call Terminal_color("gui_Terminal", [ + \ "set termguicolors", + \ "highlight Terminal guifg=#3344ff guibg=#b0a700", + \ ], "", []) + endfunc + + func Test_terminal_color_gui_group() + CheckFeature termguicolors + call Terminal_color("gui_MyTermCol", [ + \ "set termguicolors", + \ "highlight MyTermCol guifg=#007800 guibg=#6789ff", + \ ], "term_highlight: 'MyTermCol',", []) + endfunc + + func Test_terminal_color_gui_wincolor() + CheckFeature termguicolors + call Terminal_color("gui_MyWinCol", [ + \ "set termguicolors", + \ "highlight MyWinCol guifg=#fe1122 guibg=#818100", + \ ], "", [ + \ 'set wincolor=MyWinCol', + \ ]) + endfunc + + func Test_terminal_color_gui_transp_Terminal() + CheckFeature termguicolors + call Terminal_color("gui_transp_Terminal", [ + \ "set termguicolors", + \ "highlight Terminal guifg=#3344ff", + \ ], "", []) + endfunc + + func Test_terminal_color_gui_transp_group() + CheckFeature termguicolors + call Terminal_color("gui_transp_MyTermCol", [ + \ "set termguicolors", + \ "highlight MyTermCol guifg=#007800", + \ ], "term_highlight: 'MyTermCol',", []) + endfunc + + func Test_terminal_color_gui_transp_wincolor() + CheckFeature termguicolors + call Terminal_color("gui_transp_MyWinCol", [ + \ "set termguicolors", + \ "highlight MyWinCol guifg=#fe1122", + \ ], "", [ + \ 'set wincolor=MyWinCol', + \ ]) + endfunc + func Test_terminal_in_popup() CheckRunVimInTerminal *************** *** 180,186 **** endfunc " Check a terminal in popup window with different colors ! func Terminal_in_popup_colored(group_name, highlight_cmd, highlight_opt) CheckRunVimInTerminal CheckUnix --- 351,357 ---- endfunc " Check a terminal in popup window with different colors ! func Terminal_in_popup_color(group_name, highlight_cmds, highlight_opt, popup_cmds, popup_opt) CheckRunVimInTerminal CheckUnix *************** *** 189,198 **** \ 'func OpenTerm()', \ " let s:buf = term_start('cat', #{hidden: 1, " \ .. a:highlight_opt .. "})", ! \ ' let g:winid = popup_create(s:buf, #{ border: []})', \ 'endfunc', ! \ a:highlight_cmd, ! \ ] call writefile(lines, 'XtermPopup') let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15}) call TermWait(buf, 100) --- 360,370 ---- \ 'func OpenTerm()', \ " let s:buf = term_start('cat', #{hidden: 1, " \ .. a:highlight_opt .. "})", ! \ ' let g:winid = popup_create(s:buf, #{border: [], ' ! \ .. a:popup_opt .. '})', ! \ ] + a:popup_cmds + [ \ 'endfunc', ! \ ] + a:highlight_cmds call writefile(lines, 'XtermPopup') let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15}) call TermWait(buf, 100) *************** *** 210,221 **** call delete('XtermPopup') endfunc ! func Test_terminal_in_popup_colored_Terminal() ! call Terminal_in_popup_colored("Terminal", "highlight Terminal ctermfg=blue ctermbg=yellow", "") endfunc ! func Test_terminal_in_popup_colored_group() ! call Terminal_in_popup_colored("MyTermCol", "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", "term_highlight: 'MyTermCol',") endfunc func Test_double_popup_terminal() --- 382,521 ---- call delete('XtermPopup') endfunc ! func Test_terminal_in_popup_color_Terminal() ! call Terminal_in_popup_color("Terminal", [ ! \ "highlight Terminal ctermfg=blue ctermbg=yellow", ! \ ], "", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_group() ! call Terminal_in_popup_color("MyTermCol", [ ! \ "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", ! \ ], "term_highlight: 'MyTermCol',", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_wincolor() ! call Terminal_in_popup_color("MyWinCol", [ ! \ "highlight MyWinCol ctermfg=red ctermbg=darkyellow", ! \ ], "", [ ! \ 'call setwinvar(g:winid, "&wincolor", "MyWinCol")', ! \ ], "") ! endfunc ! ! func Test_terminal_in_popup_color_popup_highlight() ! call Terminal_in_popup_color("MyPopupHlCol", [ ! \ "highlight MyPopupHlCol ctermfg=cyan ctermbg=green", ! \ ], "", [], "highlight: 'MyPopupHlCol'") ! endfunc ! ! func Test_terminal_in_popup_color_group_over_Terminal() ! call Terminal_in_popup_color("MyTermCol_over_Terminal", [ ! \ "highlight Terminal ctermfg=blue ctermbg=yellow", ! \ "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", ! \ ], "term_highlight: 'MyTermCol',", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_wincolor_over_group() ! call Terminal_in_popup_color("MyWinCol_over_group", [ ! \ "highlight MyTermCol ctermfg=darkgreen ctermbg=lightblue", ! \ "highlight MyWinCol ctermfg=red ctermbg=darkyellow", ! \ ], "term_highlight: 'MyTermCol',", [ ! \ 'call setwinvar(g:winid, "&wincolor", "MyWinCol")', ! \ ], "") ! endfunc ! ! func Test_terminal_in_popup_color_transp_Terminal() ! call Terminal_in_popup_color("transp_Terminal", [ ! \ "highlight Terminal ctermfg=blue", ! \ ], "", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_transp_group() ! call Terminal_in_popup_color("transp_MyTermCol", [ ! \ "highlight MyTermCol ctermfg=darkgreen", ! \ ], "term_highlight: 'MyTermCol',", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_transp_wincolor() ! call Terminal_in_popup_color("transp_MyWinCol", [ ! \ "highlight MyWinCol ctermfg=red", ! \ ], "", [ ! \ 'call setwinvar(g:winid, "&wincolor", "MyWinCol")', ! \ ], "") ! endfunc ! ! func Test_terminal_in_popup_color_transp_popup_highlight() ! call Terminal_in_popup_color("transp_MyPopupHlCol", [ ! \ "highlight MyPopupHlCol ctermfg=cyan", ! \ ], "", [], "highlight: 'MyPopupHlCol'") ! endfunc ! ! func Test_terminal_in_popup_color_gui_Terminal() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_Terminal", [ ! \ "set termguicolors", ! \ "highlight Terminal guifg=#3344ff guibg=#b0a700", ! \ ], "", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_gui_group() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_MyTermCol", [ ! \ "set termguicolors", ! \ "highlight MyTermCol guifg=#007800 guibg=#6789ff", ! \ ], "term_highlight: 'MyTermCol',", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_gui_wincolor() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_MyWinCol", [ ! \ "set termguicolors", ! \ "highlight MyWinCol guifg=#fe1122 guibg=#818100", ! \ ], "", [ ! \ 'call setwinvar(g:winid, "&wincolor", "MyWinCol")', ! \ ], "") ! endfunc ! ! func Test_terminal_in_popup_color_gui_popup_highlight() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_MyPopupHlCol", [ ! \ "set termguicolors", ! \ "highlight MyPopupHlCol guifg=#00e8f0 guibg=#126521", ! \ ], "", [], "highlight: 'MyPopupHlCol'") ! endfunc ! ! func Test_terminal_in_popup_color_gui_transp_Terminal() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_transp_Terminal", [ ! \ "set termguicolors", ! \ "highlight Terminal guifg=#3344ff", ! \ ], "", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_gui_transp_group() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_transp_MyTermCol", [ ! \ "set termguicolors", ! \ "highlight MyTermCol guifg=#007800", ! \ ], "term_highlight: 'MyTermCol',", [], "") ! endfunc ! ! func Test_terminal_in_popup_color_gui_transp_wincolor() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_transp_MyWinCol", [ ! \ "set termguicolors", ! \ "highlight MyWinCol guifg=#fe1122", ! \ ], "", [ ! \ 'call setwinvar(g:winid, "&wincolor", "MyWinCol")', ! \ ], "") endfunc ! func Test_terminal_in_popup_color_gui_transp_popup_highlight() ! CheckFeature termguicolors ! call Terminal_in_popup_color("gui_transp_MyPopupHlCol", [ ! \ "set termguicolors", ! \ "highlight MyPopupHlCol guifg=#00e8f0", ! \ ], "", [], "highlight: 'MyPopupHlCol'") endfunc func Test_double_popup_terminal() *************** *** 411,417 **** call TermWait(buf, 50) call assert_equal('yellow', readfile('Xbuf')[0]) ! " Test for selecting text using doubleclick call delete('Xbuf') call test_setmouse(1, 11) call term_sendkeys(buf, "\\\") --- 711,717 ---- call TermWait(buf, 50) call assert_equal('yellow', readfile('Xbuf')[0]) ! " Test for selecting text using double click call delete('Xbuf') call test_setmouse(1, 11) call term_sendkeys(buf, "\\\") *************** *** 431,437 **** call TermWait(buf, 50) call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0]) ! " Test for selecting a block using qudraple click call delete('Xbuf') call test_setmouse(1, 11) call term_sendkeys(buf, "\\\\\\\") --- 731,737 ---- call TermWait(buf, 50) call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0]) ! " Test for selecting a block using quadruple click call delete('Xbuf') call test_setmouse(1, 11) call term_sendkeys(buf, "\\\\\\\") *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_MyTermCol.dump 2021-11-20 13:45:17.118795303 +0000 --- src/testdir/dumps/Test_terminal_color_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump 2021-11-20 13:45:17.122795291 +0000 --- src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_MyWinCol.dump 2021-11-20 13:45:17.126795280 +0000 --- src/testdir/dumps/Test_terminal_color_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#ff404010#e0e0004@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump 2021-11-20 13:45:17.130795265 +0000 --- src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#ff404010#e0e0004@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_Terminal.dump 2021-11-20 13:45:17.134795253 +0000 --- src/testdir/dumps/Test_terminal_color_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#4040ff13#ffff4012|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#4040ff13#ffff4012|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump 2021-11-20 13:45:17.138795240 +0000 --- src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#007800255#6789ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#007800255#6789ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#007800255#6789ff255@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#007800255#6789ff255@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump 2021-11-20 13:45:17.142795229 +0000 --- src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#fe1122255#818100255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#fe1122255#818100255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#fe1122255#818100255@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#fe1122255#818100255@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_gui_Terminal.dump 2021-11-20 13:45:17.146795214 +0000 --- src/testdir/dumps/Test_terminal_color_gui_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#3344ff255#b0a700255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#3344ff255#b0a700255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|5+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|6+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|7+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|8+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump 2021-11-20 13:45:17.150795202 +0000 --- src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#007800255#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35 + |h+0#007800255&|e|l@1|o| @31||+1#0000000&|1+0&&| @35 + > +0#007800255&@36||+1#0000000&|2+0&&| @35 + | +0#007800255&@36||+1#0000000&|3+0&&| @35 + | +0#007800255&@36||+1#0000000&|4+0&&| @35 + | +0#007800255&@36||+1#0000000&|5+0&&| @35 + | +0#007800255&@36||+1#0000000&|6+0&&| @35 + | +0#007800255&@36||+1#0000000&|7+0&&| @35 + | +0#007800255&@36||+1#0000000&|8+0&&| @35 + | +0#007800255&@36||+1#0000000&|9+0&&| @35 + | +0#007800255&@36||+1#0000000&|1+0&&|0| @34 + | +0#007800255&@36||+1#0000000&|1+0&&@1| @34 + | +0#007800255&@36||+1#0000000&|1+0&&|2| @34 + |!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump 2021-11-20 13:45:17.154795189 +0000 --- src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#fe1122255#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35 + |h+0#fe1122255&|e|l@1|o| @31||+1#0000000&|1+0&&| @35 + > +0#fe1122255&@36||+1#0000000&|2+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|3+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|4+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|5+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|6+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|7+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|8+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|9+0&&| @35 + | +0#fe1122255&@36||+1#0000000&|1+0&&|0| @34 + | +0#fe1122255&@36||+1#0000000&|1+0&&@1| @34 + | +0#fe1122255&@36||+1#0000000&|1+0&&|2| @34 + |!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump 2021-11-20 13:45:17.158795178 +0000 --- src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#3344ff255#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35 + |h+0#3344ff255&|e|l@1|o| @31||+1#0000000&|1+0&&| @35 + > +0#3344ff255&@36||+1#0000000&|2+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|3+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|4+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|5+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|6+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|7+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|8+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|9+0&&| @35 + | +0#3344ff255&@36||+1#0000000&|1+0&&|0| @34 + | +0#3344ff255&@36||+1#0000000&|1+0&&@1| @34 + | +0#3344ff255&@36||+1#0000000&|1+0&&|2| @34 + |!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump 2021-11-20 13:45:17.162795163 +0000 --- src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#00e0003#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35 + |h+0#00e0003&|e|l@1|o| @31||+1#0000000&|1+0&&| @35 + > +0#00e0003&@36||+1#0000000&|2+0&&| @35 + | +0#00e0003&@36||+1#0000000&|3+0&&| @35 + | +0#00e0003&@36||+1#0000000&|4+0&&| @35 + | +0#00e0003&@36||+1#0000000&|5+0&&| @35 + | +0#00e0003&@36||+1#0000000&|6+0&&| @35 + | +0#00e0003&@36||+1#0000000&|7+0&&| @35 + | +0#00e0003&@36||+1#0000000&|8+0&&| @35 + | +0#00e0003&@36||+1#0000000&|9+0&&| @35 + | +0#00e0003&@36||+1#0000000&|1+0&&|0| @34 + | +0#00e0003&@36||+1#0000000&|1+0&&@1| @34 + | +0#00e0003&@36||+1#0000000&|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump 2021-11-20 13:45:17.166795151 +0000 --- src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#ff404010#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35 + |h+0#ff404010&|e|l@1|o| @31||+1#0000000&|1+0&&| @35 + > +0#ff404010&@36||+1#0000000&|2+0&&| @35 + | +0#ff404010&@36||+1#0000000&|3+0&&| @35 + | +0#ff404010&@36||+1#0000000&|4+0&&| @35 + | +0#ff404010&@36||+1#0000000&|5+0&&| @35 + | +0#ff404010&@36||+1#0000000&|6+0&&| @35 + | +0#ff404010&@36||+1#0000000&|7+0&&| @35 + | +0#ff404010&@36||+1#0000000&|8+0&&| @35 + | +0#ff404010&@36||+1#0000000&|9+0&&| @35 + | +0#ff404010&@36||+1#0000000&|1+0&&|0| @34 + | +0#ff404010&@36||+1#0000000&|1+0&&@1| @34 + | +0#ff404010&@36||+1#0000000&|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_color_transp_Terminal.dump 2021-11-20 13:45:17.170795138 +0000 --- src/testdir/dumps/Test_terminal_color_transp_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#4040ff13#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35 + |h+0#4040ff13&|e|l@1|o| @31||+1#0000000&|1+0&&| @35 + > +0#4040ff13&@36||+1#0000000&|2+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|3+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|4+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|5+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|6+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|7+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|8+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|9+0&&| @35 + | +0#4040ff13&@36||+1#0000000&|1+0&&|0| @34 + | +0#4040ff13&@36||+1#0000000&|1+0&&@1| @34 + | +0#4040ff13&@36||+1#0000000&|1+0&&|2| @34 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump 2021-11-20 13:45:17.174795128 +0000 --- src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#40ffff15#40ff4011|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#40ffff15#40ff4011|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |6| @24|║+0#40ffff15#40ff4011|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |7| @24|║+0#40ffff15#40ff4011> @19|║| +0#0000000#ffffff0@26 + |8| @24|║+0#40ffff15#40ff4011| @19|║| +0#0000000#ffffff0@26 + |9| @24|║+0#40ffff15#40ff4011| @19|║| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#40ffff15#40ff4011|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump 2021-11-20 13:45:17.178795112 +0000 --- src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#0000001#ffd7ff255|h+0#00e0003#5fd7ff255|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |6| @24|║+0#0000001#ffd7ff255|h+0#00e0003#5fd7ff255|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |7| @24|║+0#0000001#ffd7ff255> +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |8| @24|║+0#0000001#ffd7ff255| +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |9| @24|║+0#0000001#ffd7ff255| +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_MyWinCol.dump 2021-11-20 13:45:17.182795100 +0000 --- src/testdir/dumps/Test_terminal_popup_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#ff404010#e0e0004|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |6| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |7| @24|║+0#ff404010#e0e0004> @19|║| +0#0000000#ffffff0@26 + |8| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26 + |9| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#ff404010#e0e0004|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump 2021-11-20 13:45:17.186795087 +0000 --- src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#ff404010#e0e0004|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |6| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |7| @24|║+0#ff404010#e0e0004> @19|║| +0#0000000#ffffff0@26 + |8| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26 + |9| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#ff404010#e0e0004|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump 2021-11-20 13:45:17.190795075 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#00e8f0255#126521255|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#00e8f0255#126521255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |6| @24|║+0#00e8f0255#126521255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |7| @24|║+0#00e8f0255#126521255> @19|║| +0#0000000#ffffff0@26 + |8| @24|║+0#00e8f0255#126521255| @19|║| +0#0000000#ffffff0@26 + |9| @24|║+0#00e8f0255#126521255| @19|║| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#00e8f0255#126521255|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump 2021-11-20 13:45:17.194795064 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26 + |5| @24|║+0&#ff8bff255|h+0#007800255#6789ff255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |6| @24|║+0&#ff8bff255|h+0#007800255#6789ff255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |7| @24|║+0&#ff8bff255> +0#007800255#6789ff255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |8| @24|║+0&#ff8bff255| +0#007800255#6789ff255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |9| @24|║+0&#ff8bff255| +0#007800255#6789ff255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump 2021-11-20 13:45:17.194795064 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#fe1122255#818100255|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#fe1122255#818100255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |6| @24|║+0#fe1122255#818100255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26 + |7| @24|║+0#fe1122255#818100255> @19|║| +0#0000000#ffffff0@26 + |8| @24|║+0#fe1122255#818100255| @19|║| +0#0000000#ffffff0@26 + |9| @24|║+0#fe1122255#818100255| @19|║| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#fe1122255#818100255|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump 2021-11-20 13:45:17.198795049 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26 + |5| @24|║+0&#ff8bff255|h+0#3344ff255#b0a700255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |6| @24|║+0&#ff8bff255|h+0#3344ff255#b0a700255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |7| @24|║+0&#ff8bff255> +0#3344ff255#b0a700255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |8| @24|║+0&#ff8bff255| +0#3344ff255#b0a700255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |9| @24|║+0&#ff8bff255| +0#3344ff255#b0a700255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump 2021-11-20 13:45:17.202795037 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#00e8f0255&|═@19|╗| +0#0000000&@26 + |5| @24|║+0#00e8f0255&|h|e|l@1|o| @14|║| +0#0000000&@26 + |6| @24|║+0#00e8f0255&|h|e|l@1|o| @14|║| +0#0000000&@26 + |7| @24|║+0#00e8f0255&> @19|║| +0#0000000&@26 + |8| @24|║+0#00e8f0255&| @19|║| +0#0000000&@26 + |9| @24|║+0#00e8f0255&| @19|║| +0#0000000&@26 + |1|0| @23|╚+0#00e8f0255&|═@19|╝| +0#0000000&@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump 2021-11-20 13:45:17.206795024 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26 + |5| @24|║+0&#ff8bff255|h+0#007800255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |6| @24|║+0&#ff8bff255|h+0#007800255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |7| @24|║+0&#ff8bff255> +0#007800255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |8| @24|║+0&#ff8bff255| +0#007800255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |9| @24|║+0&#ff8bff255| +0#007800255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump 2021-11-20 13:45:17.210795013 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#fe1122255&|═@19|╗| +0#0000000&@26 + |5| @24|║+0#fe1122255&|h|e|l@1|o| @14|║| +0#0000000&@26 + |6| @24|║+0#fe1122255&|h|e|l@1|o| @14|║| +0#0000000&@26 + |7| @24|║+0#fe1122255&> @19|║| +0#0000000&@26 + |8| @24|║+0#fe1122255&| @19|║| +0#0000000&@26 + |9| @24|║+0#fe1122255&| @19|║| +0#0000000&@26 + |1|0| @23|╚+0#fe1122255&|═@19|╝| +0#0000000&@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump 2021-11-20 13:45:17.214794998 +0000 --- src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26 + |5| @24|║+0&#ff8bff255|h+0#3344ff255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |6| @24|║+0&#ff8bff255|h+0#3344ff255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |7| @24|║+0&#ff8bff255> +0#3344ff255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |8| @24|║+0&#ff8bff255| +0#3344ff255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |9| @24|║+0&#ff8bff255| +0#3344ff255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26 + |1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump 2021-11-20 13:45:17.218794986 +0000 --- src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#40ffff15&|═@19|╗| +0#0000000&@26 + |5| @24|║+0#40ffff15&|h|e|l@1|o| @14|║| +0#0000000&@26 + |6| @24|║+0#40ffff15&|h|e|l@1|o| @14|║| +0#0000000&@26 + |7| @24|║+0#40ffff15&> @19|║| +0#0000000&@26 + |8| @24|║+0#40ffff15&| @19|║| +0#0000000&@26 + |9| @24|║+0#40ffff15&| @19|║| +0#0000000&@26 + |1|0| @23|╚+0#40ffff15&|═@19|╝| +0#0000000&@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump 2021-11-20 13:45:17.222794973 +0000 --- src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#0000001#ffd7ff255|h+0#00e0003#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |6| @24|║+0#0000001#ffd7ff255|h+0#00e0003#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |7| @24|║+0#0000001#ffd7ff255> +0#00e0003#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |8| @24|║+0#0000001#ffd7ff255| +0#00e0003#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |9| @24|║+0#0000001#ffd7ff255| +0#00e0003#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump 2021-11-20 13:45:17.226794962 +0000 --- src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#ff404010&|═@19|╗| +0#0000000&@26 + |5| @24|║+0#ff404010&|h|e|l@1|o| @14|║| +0#0000000&@26 + |6| @24|║+0#ff404010&|h|e|l@1|o| @14|║| +0#0000000&@26 + |7| @24|║+0#ff404010&> @19|║| +0#0000000&@26 + |8| @24|║+0#ff404010&| @19|║| +0#0000000&@26 + |9| @24|║+0#ff404010&| @19|║| +0#0000000&@26 + |1|0| @23|╚+0#ff404010&|═@19|╝| +0#0000000&@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump 2021-11-20 13:45:17.230794947 +0000 --- src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |0+0&#ffffff0| @73 + |1| @73 + |2| @73 + |3| @73 + |4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26 + |5| @24|║+0#0000001#ffd7ff255|h+0#4040ff13#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |6| @24|║+0#0000001#ffd7ff255|h+0#4040ff13#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |7| @24|║+0#0000001#ffd7ff255> +0#4040ff13#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |8| @24|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |9| @24|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26 + |1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26 + |1@1| @72 + |1|2| @72 + |1|3| @72 + @75 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump 2021-11-20 13:45:17.234794935 +0000 --- src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + > +0#ff404010#e0e0004@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0|5+0&&| @35 + |!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @22||+1#0000000#ffffff0|6+0&&| @35 + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|7+0&&| @35 + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|8+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|9+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|0| @34 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&@1| @34 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|2| @34 + |!+0#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|s|e|t| |w|i|n|c|o|l|o|r|=|M|y|W|i|n|C|o|l| @52 *** ../vim-8.2.3627/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump 2021-11-20 13:45:17.238794922 +0000 --- src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump 2021-11-20 13:29:36.454251921 +0000 *************** *** 0 **** --- 1,15 ---- + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|h+0#0000001#4040ff13|e|l@1|o| @31 + |h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|h+0#0000001#4040ff13|e|l@1|o| @31 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0> +0#0000001#4040ff13@36 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0| +0#0000001#4040ff13@36 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0| +0#0000001#4040ff13@36 + | +0#ff404010#e0e0004@36||+1#0000000#ffffff0| +0#0000001#4040ff13@36 + |!+0#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @22||+1#0000000#ffffff0|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @22 + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35 + |h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|2+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|3+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|4+0&&| @35 + | +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|5+0&&| @35 + |!+0#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23 + |:+0&&|s|e|t| |w|i|n|c|o|l|o|r|=|M|y|W|i|n|C|o|l|2| @51 *** ../vim-8.2.3627/src/version.c 2021-11-20 11:13:53.201671127 +0000 --- src/version.c 2021-11-20 13:44:53.294871191 +0000 *************** *** 759,760 **** --- 759,762 ---- { /* Add new patch number below this line */ + /**/ + 3628, /**/ -- Save the plankton - eat a whale. /// 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 ///