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>
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 94fb739..1a72e65 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -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 @@
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.
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index fbe9b98..de38d08 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -41583,8 +41583,6 @@
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~
diff --git a/src/term.c b/src/term.c
index 318b982..ea4c22d 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1661,11 +1661,13 @@
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 @@
# 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 @@
#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] == '=')
@@ -7214,6 +7219,7 @@
}
}
#endif
+#endif
else
{
i = find_term_bykeys(str);
diff --git a/src/version.c b/src/version.c
index 5fe6254..deff163 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1114,
+/**/
1113,
/**/
1112,