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
index 4e8f370..1a112f4 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2497,7 +2497,8 @@
# 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 @@
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
index f2e6b87..5696f88 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1106,
+/**/
1105,
/**/
1104,