patch 9.1.1114: enabling termguicolors automatically confuses users

Problem:  enabling termguicolors automatically confuses users. Since
          querying the terminal for the RGB flag happens asynchronously,
          enabling termguicolors is noticeable by users as the highlighting changes
          and is therefore unexpected.
          (after v9.1.1054)
Solution: comment out that part for now. We may need another way to
          enable this in the future.

fixes: #16539
fixes: #16568
fixes: #16649

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2025-02-16 09:30:00 +01:00
parent 3f60114236
commit 27822a0441
4 changed files with 10 additions and 13 deletions

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 9.1. Last change: 2025 Feb 08
*options.txt* For Vim version 9.1. Last change: 2025 Feb 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -8515,15 +8515,6 @@ A jump table for the options with a short description can be found at |Q_op|.
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
the terminal (thus using 24-bit color).
Will automatically be enabled, if Vim detects that it runs in a
capable terminal (when the terminal supports the RGB terminfo
capability or when the number of colors |t_Co| supported by the
terminal is 0x1000000, e.g. with $TERM=xterm-direct). Due to the async
nature of querying the terminal, enabling this automatically is
noticable. Use >
set notermguicolors
< to explicitly disable.
Requires a ISO-8613-3 compatible terminal. If setting this option
does not work (produces a colorless UI) reading |xterm-true-color|
might help.

View File

@ -41583,8 +41583,6 @@ Adjusted default values ~
increased to 12pt to accomodate modern high-dpi monitors
- the default value of the 'keyprotocol' option has been updated and support
for the ghostty terminal emulator (using kitty protocol) has been added
- 'termguicolors' is automatically enabled if the terminal supports the RGB
terminfo capability or supports 0x1000000 colors
*changed-9.2*
Changed~

View File

@ -1661,10 +1661,12 @@ set_color_count(int nr)
sprintf((char *)nr_colors, "%d", t_colors);
else
*nr_colors = NUL;
#if 0
#ifdef FEAT_TERMGUICOLORS
// xterm-direct, enable termguicolors, when it wasn't set yet
if (t_colors == 0x1000000 && !p_tgc_set)
set_option_value((char_u *)"termguicolors", 1L, NULL, 0);
#endif
#endif
set_string_option_direct((char_u *)"t_Co", -1, nr_colors, OPT_FREE, 0);
}
@ -1701,7 +1703,9 @@ static char *(key_names[]) =
# ifdef FEAT_TERMRESPONSE
// Do those ones first, both may cause a screen redraw.
"Co",
"RGB",
// disabled, because it switches termguicolors, but that
// is noticable and confuses users
// "RGB",
# endif
"ku", "kd", "kr", "kl",
"#2", "#4", "%i", "*7",
@ -7197,6 +7201,7 @@ got_code_from_term(char_u *code, int len)
#endif
may_adjust_color_count(val);
}
#if 0
#ifdef FEAT_TERMGUICOLORS
// when RGB result comes back, it is supported when the result contains an '='
else if (name[0] == 'R' && name[1] == 'G' && name[2] == 'B' && code[9] == '=')
@ -7213,6 +7218,7 @@ got_code_from_term(char_u *code, int len)
set_option_value((char_u *)"termguicolors", 1L, NULL, 0);
}
}
#endif
#endif
else
{

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1114,
/**/
1113,
/**/