Patch 8.0.1543
Problem: With 'termguicolors' Normal color doesn't work correctly.
Solution: Set cterm_normal_bg_gui_color and cterm_normal_fg_color always.
(Kazunobu Kuriyama, closes #981, closes #2332)
Files: src/syntax.c
*** ../vim-8.0.1542/src/syntax.c 2018-02-24 21:36:30.538119108 +0100
--- src/syntax.c 2018-02-27 12:49:13.114252486 +0100
***************
*** 8411,8420 ****
void
set_normal_colors(void)
{
! #ifdef FEAT_GUI
! # ifdef FEAT_TERMGUICOLORS
if (gui.in_use)
! # endif
{
if (set_group_colors((char_u *)"Normal",
&gui.norm_pixel, &gui.back_pixel,
--- 8411,8420 ----
void
set_normal_colors(void)
{
! # ifdef FEAT_GUI
! # ifdef FEAT_TERMGUICOLORS
if (gui.in_use)
! # endif
{
if (set_group_colors((char_u *)"Normal",
&gui.norm_pixel, &gui.back_pixel,
***************
*** 8423,8449 ****
gui_mch_new_colors();
must_redraw = CLEAR;
}
! # ifdef FEAT_GUI_X11
if (set_group_colors((char_u *)"Menu",
&gui.menu_fg_pixel, &gui.menu_bg_pixel,
TRUE, FALSE, FALSE))
{
! # ifdef FEAT_MENU
gui_mch_new_menu_colors();
! # endif
must_redraw = CLEAR;
}
! # ifdef FEAT_BEVAL_GUI
if (set_group_colors((char_u *)"Tooltip",
&gui.tooltip_fg_pixel, &gui.tooltip_bg_pixel,
FALSE, FALSE, TRUE))
{
! # ifdef FEAT_TOOLBAR
gui_mch_new_tooltip_colors();
! # endif
must_redraw = CLEAR;
}
! # endif
if (set_group_colors((char_u *)"Scrollbar",
&gui.scroll_fg_pixel, &gui.scroll_bg_pixel,
FALSE, FALSE, FALSE))
--- 8423,8449 ----
gui_mch_new_colors();
must_redraw = CLEAR;
}
! # ifdef FEAT_GUI_X11
if (set_group_colors((char_u *)"Menu",
&gui.menu_fg_pixel, &gui.menu_bg_pixel,
TRUE, FALSE, FALSE))
{
! # ifdef FEAT_MENU
gui_mch_new_menu_colors();
! # endif
must_redraw = CLEAR;
}
! # ifdef FEAT_BEVAL_GUI
if (set_group_colors((char_u *)"Tooltip",
&gui.tooltip_fg_pixel, &gui.tooltip_bg_pixel,
FALSE, FALSE, TRUE))
{
! # ifdef FEAT_TOOLBAR
gui_mch_new_tooltip_colors();
! # endif
must_redraw = CLEAR;
}
! # endif
if (set_group_colors((char_u *)"Scrollbar",
&gui.scroll_fg_pixel, &gui.scroll_bg_pixel,
FALSE, FALSE, FALSE))
***************
*** 8451,8463 ****
gui_new_scrollbar_colors();
must_redraw = CLEAR;
}
! # endif
}
- #endif
- #ifdef FEAT_TERMGUICOLORS
- # ifdef FEAT_GUI
- else
# endif
{
int idx;
--- 8451,8463 ----
gui_new_scrollbar_colors();
must_redraw = CLEAR;
}
! # endif
}
# endif
+ # ifdef FEAT_TERMGUICOLORS
+ # ifdef FEAT_GUI
+ else
+ # endif
{
int idx;
***************
*** 8466,8484 ****
{
gui_do_one_color(idx, FALSE, FALSE);
! if (HL_TABLE()[idx].sg_gui_fg != INVALCOLOR)
{
cterm_normal_fg_gui_color = HL_TABLE()[idx].sg_gui_fg;
- must_redraw = CLEAR;
- }
- if (HL_TABLE()[idx].sg_gui_bg != INVALCOLOR)
- {
cterm_normal_bg_gui_color = HL_TABLE()[idx].sg_gui_bg;
must_redraw = CLEAR;
}
}
}
! #endif
}
#endif
--- 8466,8485 ----
{
gui_do_one_color(idx, FALSE, FALSE);
! /* If the normal fg or bg color changed a complete redraw is
! * required. */
! if (cterm_normal_fg_gui_color != HL_TABLE()[idx].sg_gui_fg
! || cterm_normal_bg_gui_color != HL_TABLE()[idx].sg_gui_bg)
{
+ /* if the GUI color is INVALCOLOR then we use the default cterm
+ * color */
cterm_normal_fg_gui_color = HL_TABLE()[idx].sg_gui_fg;
cterm_normal_bg_gui_color = HL_TABLE()[idx].sg_gui_bg;
must_redraw = CLEAR;
}
}
}
! # endif
}
#endif
***************
*** 9867,9875 ****
return hl_id;
}
! #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
/*
* Call this function just after the GUI has started.
* It finds the font and color handles for the highlighting groups.
*/
void
--- 9868,9877 ----
return hl_id;
}
! #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO)
/*
* Call this function just after the GUI has started.
+ * Also called when 'termguicolors' was set, gui.in_use will be FALSE then.
* It finds the font and color handles for the highlighting groups.
*/
void
***************
*** 9878,9889 ****
int idx;
/* First get the colors from the "Normal" and "Menu" group, if set */
- # if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
- # ifdef FEAT_TERMGUICOLORS
if (USE_24BIT)
- # endif
set_normal_colors();
- # endif
for (idx = 0; idx < highlight_ga.ga_len; ++idx)
gui_do_one_color(idx, FALSE, FALSE);
--- 9880,9887 ----
*** ../vim-8.0.1542/src/version.c 2018-02-25 21:39:41.693475616 +0100
--- src/version.c 2018-02-27 12:51:22.101427014 +0100
***************
*** 780,781 ****
--- 780,783 ----
{ /* Add new patch number below this line */
+ /**/
+ 1543,
/**/
--
Living on Earth includes an annual free trip around the Sun.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.