From: Bram Moolenaar Date: Sun, 12 Apr 2020 13:11:06 +0000 (+0200) Subject: patch 8.2.0554: the GUI doesn't set t_Co X-Git-Tag: v8.2.0554 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=acc770a10f65107131473ea2ab4ae5d429dfe172;p=vim patch 8.2.0554: the GUI doesn't set t_Co Problem: The GUI doesn't set t_Co. Solution: In the GUI set t_Co to 256 * 256 * 256. (closes #5903) --- diff --git a/src/gui.c b/src/gui.c index 2d6008146..cdfc929e9 100644 --- a/src/gui.c +++ b/src/gui.c @@ -513,6 +513,9 @@ gui_init(void) */ set_option_value((char_u *)"paste", 0L, NULL, 0); + // Set t_Co to the number of colors: RGB. + set_color_count(256 * 256 * 256); + /* * Set up system-wide default menus. */ diff --git a/src/proto/term.pro b/src/proto/term.pro index 2091cbfee..4ac2858ab 100644 --- a/src/proto/term.pro +++ b/src/proto/term.pro @@ -1,6 +1,7 @@ /* term.c */ guicolor_T termgui_get_color(char_u *name); guicolor_T termgui_mch_get_rgb(guicolor_T color); +void set_color_count(int nr); int set_termname(char_u *term); void getlinecol(long *cp, long *rp); int add_termcap_entry(char_u *name, int force); diff --git a/src/term.c b/src/term.c index 6afecbae8..ce935dcf4 100644 --- a/src/term.c +++ b/src/term.c @@ -1552,7 +1552,7 @@ parse_builtin_tcap(char_u *term) * Store it as a number in t_colors. * Store it as a string in T_CCO (using nr_colors[]). */ - static void + void set_color_count(int nr) { char_u nr_colors[20]; // string for number of colors diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim index af4ce246c..384209f10 100644 --- a/src/testdir/test_gui.vim +++ b/src/testdir/test_gui.vim @@ -31,6 +31,8 @@ func Test_balloon_show() endfunc func Test_colorscheme() + call assert_equal('16777216', &t_Co) + let colorscheme_saved = exists('g:colors_name') ? g:colors_name : 'default' let g:color_count = 0 augroup TestColors diff --git a/src/version.c b/src/version.c index a9cdd6a80..08a95a56d 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 554, /**/ 553, /**/