summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-10-01 21:22:17 +0100
committerBram Moolenaar <Bram@vim.org>2022-10-01 21:22:17 +0100
commitb393275ae91eb9a8df7a9a611bd75590db9b22db (patch)
treebc5d359d3c901aa69e3d9371d23b242948849fcf
parent3292a229402c9892f5ab90645fbfe2b1db342f5b (diff)
patch 9.0.0636: underline color may not work in some terminalsv9.0.0636
Problem: Underline color does not work in terminals that don't send a termresponse. Solution: Do output t_8u if it was set explicitly. (closes #11253)
-rw-r--r--src/term.c7
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/term.c b/src/term.c
index 9c287417f9..b7e3facdb1 100644
--- a/src/term.c
+++ b/src/term.c
@@ -153,7 +153,7 @@ static termrequest_T *all_termrequests[] = {
// The t_8u code may default to a value but get reset when the term response is
// received. To avoid redrawing too often, only redraw when t_8u is not reset
-// and it was supposed to be written.
+// and it was supposed to be written. Unless t_8u was set explicitly.
// FALSE -> don't output t_8u yet
// MAYBE -> tried outputing t_8u while FALSE
// OK -> can write t_8u
@@ -3011,7 +3011,10 @@ term_bg_rgb_color(guicolor_T rgb)
term_ul_rgb_color(guicolor_T rgb)
{
# ifdef FEAT_TERMRESPONSE
- if (write_t_8u_state != OK)
+ // If the user explicitly sets t_8u then use it. Otherwise wait for
+ // termresponse to be received, which is when t_8u would be set and a
+ // redraw is needed if it was used.
+ if (!option_was_set((char_u *)"t_8u") && write_t_8u_state != OK)
write_t_8u_state = MAYBE;
else
# endif
diff --git a/src/version.c b/src/version.c
index 571eef2e5c..2534e069a3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 636,
+/**/
635,
/**/
634,