From: Bram Moolenaar Date: Sat, 1 Oct 2022 20:22:17 +0000 (+0100) Subject: patch 9.0.0636: underline color may not work in some terminals X-Git-Tag: v9.0.0636 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b393275ae91eb9a8df7a9a611bd75590db9b22db;p=thirdparty%2Fvim.git patch 9.0.0636: underline color may not work in some terminals 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) --- 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 @@ -699,6 +699,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 636, /**/ 635, /**/