changeset 19997:3d1de9093c01 v8.2.0554

patch 8.2.0554: the GUI doesn't set t_Co Commit: https://github.com/vim/vim/commit/acc770a10f65107131473ea2ab4ae5d429dfe172 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 12 15:11:06 2020 +0200 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 https://github.com/vim/vim/issues/5903)
author Bram Moolenaar <Bram@vim.org>
date Sun, 12 Apr 2020 15:15:04 +0200
parents f486b806468f
children 99c0e654294e
files src/gui.c src/proto/term.pro src/term.c src/testdir/test_gui.vim src/version.c
diffstat 5 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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.
 	 */
--- 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);
--- 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
--- 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
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    554,
+/**/
     553,
 /**/
     552,