]> granicus.if.org Git - vim/commitdiff
patch 8.2.4775: SpellBad highlighting does not work in Konsole v8.2.4775
authorBram Moolenaar <Bram@vim.org>
Sun, 17 Apr 2022 16:34:42 +0000 (17:34 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 17 Apr 2022 16:34:42 +0000 (17:34 +0100)
Problem:    SpellBad highlighting does not work in Konsole.
Solution:   Do not keep t_8u defined for Konsole.  Redraw when t_8u is reset.
            (closes #10177)

src/term.c
src/version.c

index 73c76cd7a0e557b60eb8a8a793c51544026f609c..0aafebbc7bcd5b4d6a98cba27fc437f34064b1a7 100644 (file)
@@ -4775,9 +4775,10 @@ handle_version_response(int first, int *arg, int argc, char_u *tp)
            // vandyke SecureCRT sends 1;136;0
        }
 
-       // Konsole sends 0;115;0
-       else if (version == 115 && arg[0] == 0 && arg[2] == 0)
-           term_props[TPR_UNDERLINE_RGB].tpr_status = TPR_YES;
+       // Konsole sends 0;115;0 - but t_u8 does not actually work, therefore
+       // commented out.
+       // else if (version == 115 && arg[0] == 0 && arg[2] == 0)
+       //     term_props[TPR_UNDERLINE_RGB].tpr_status = TPR_YES;
 
        // GNU screen sends 83;30600;0, 83;40500;0, etc.
        // 30600/40500 is a version number of GNU screen. DA2 support is added
@@ -4806,9 +4807,15 @@ handle_version_response(int first, int *arg, int argc, char_u *tp)
 
        // Unless the underline RGB color is expected to work, disable "t_8u".
        // It does not work for the real Xterm, it resets the background color.
+       // This may cause some flicker.  Alternative would be to set "t_8u"
+       // here if the terminal is expected to support it, but that might
+       // conflict with what was set in the .vimrc.
        if (term_props[TPR_UNDERLINE_RGB].tpr_status != TPR_YES && *T_8U != NUL)
+       {
            set_string_option_direct((char_u *)"t_8u", -1, (char_u *)"",
                                                                  OPT_FREE, 0);
+           redraw_later(CLEAR);
+       }
 
        // Only set 'ttymouse' automatically if it was not set
        // by the user already.
index 43e85e7a7cd563f55e696b15a1a903c15eb9814c..bd4693f9eb9aa5b8aac20c8a5d67a9c7a06685b2 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4775,
 /**/
     4774,
 /**/