# HG changeset patch # User Christian Brabandt # Date 1505397606 -7200 # Node ID 5d228b1cda642dc5c1b8d3269181ffd874aab304 # Parent 687e401b4d7d55f2fe903efedc93ce326c6c2983 patch 8.0.1106: terminal colors wrong on an MS-Windows console commit https://github.com/vim/vim/commit/69e8aa75112a0b12811a4f4d11061adceffbbabc Author: Bram Moolenaar Date: Thu Sep 14 15:55:13 2017 +0200 patch 8.0.1106: terminal colors wrong on an MS-Windows console Problem: Terminal colors on an MS-Windows console are not matching the normal colors. Solution: Use the normal colors for the terminal. (Yasuhiro Matsumoto, closes #2087) diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -2497,7 +2497,8 @@ create_vterm(term_T *term, int rows, int # endif ) { - guicolor_T fg_rgb, bg_rgb; + guicolor_T fg_rgb = INVALCOLOR; + guicolor_T bg_rgb = INVALCOLOR; if (id != 0) syn_id2colors(id, &fg_rgb, &bg_rgb); @@ -2551,6 +2552,28 @@ create_vterm(term_T *term, int rows, int if (cterm_bg >= 0) cterm_color2rgb(cterm_bg, bg); } +#if defined(WIN3264) && !defined(FEAT_GUI_W32) + else + { + int tmp; + + /* In an MS-Windows console we know the normal colors. */ + if (cterm_normal_fg_color > 0) + { + cterm_color2rgb(cterm_normal_fg_color - 1, fg); + tmp = fg->red; + fg->red = fg->blue; + fg->blue = tmp; + } + if (cterm_normal_bg_color > 0) + { + cterm_color2rgb(cterm_normal_bg_color - 1, bg); + tmp = bg->red; + bg->red = bg->blue; + bg->blue = tmp; + } + } +#endif vterm_state_set_default_colors(vterm_obtain_state(vterm), fg, bg); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1106, +/**/ 1105, /**/ 1104,