summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-14 14:34:16 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-14 14:34:16 +0200
commit8dff4cbf6d917e20322821e8e866ffc1c1175258 (patch)
tree00aa9e36b5bb28a9f41aafc23512a84962178fa6
parentdf7df59d85e7e56a796912dc865488a75d3f0e53 (diff)
downloadvim-git-8dff4cbf6d917e20322821e8e866ffc1c1175258.tar.gz
patch 8.2.0977: t_8u is made empty for the wrong terminalsv8.2.0977
Problem: t_8u is made empty for the wrong terminals. (Dominique Pelle) Solution: Invert the check for TPR_YES. (closes #6254)
-rw-r--r--src/term.c3
-rw-r--r--src/testdir/test_termcodes.vim7
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/src/term.c b/src/term.c
index eb34c8b7a..b806a8907 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4637,6 +4637,7 @@ handle_version_response(int first, int *arg, int argc, char_u *tp)
// "xterm-256color" but are not fully xterm compatible.
//
// Gnome terminal sends 1;3801;0, 1;4402;0 or 1;2501;0.
+ // Newer Gnome-terminal sends 65;6001;1.
// xfce4-terminal sends 1;2802;0.
// screen sends 83;40500;0
// Assuming any version number over 2500 is not an
@@ -4688,7 +4689,7 @@ 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.
- if (term_props[TPR_UNDERLINE_RGB].tpr_status == TPR_YES && *T_8U != NUL)
+ if (term_props[TPR_UNDERLINE_RGB].tpr_status != TPR_YES && *T_8U != NUL)
T_8U = empty_option;
// Only set 'ttymouse' automatically if it was not set
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 82f5f41be..27c2a18cf 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1013,6 +1013,8 @@ func Test_xx04_Mac_Terminal_response()
call test_override('term_props', 1)
set ttymouse=xterm
+ " t_8u is not reset
+ let &t_8u = "\<Esc>[58;2;%lu;%lu;%lum"
call test_option_not_set('ttymouse')
let seq = "\<Esc>[>1;95;0c"
call feedkeys(seq, 'Lx!')
@@ -1025,6 +1027,7 @@ func Test_xx04_Mac_Terminal_response()
\ underline_rgb: 'y',
\ mouse: 's'
\ }, terminalprops())
+ call assert_equal("\<Esc>[58;2;%lu;%lu;%lum", &t_8u)
" Reset is_not_xterm and is_mac_terminal.
set t_RV=
@@ -1158,9 +1161,10 @@ func Test_xx07_xterm_response()
\ mouse: 's'
\ }, terminalprops())
- " xterm >= 279: "sgr" and cursor_style not reset
+ " xterm >= 279: "sgr" and cursor_style not reset; also check t_8u reset
set ttymouse=xterm
call test_option_not_set('ttymouse')
+ let &t_8u = "\<Esc>[58;2;%lu;%lu;%lum"
let seq = "\<Esc>[>0;279;0c"
call feedkeys(seq, 'Lx!')
call assert_equal(seq, v:termresponse)
@@ -1172,6 +1176,7 @@ func Test_xx07_xterm_response()
\ underline_rgb: 'u',
\ mouse: 's'
\ }, terminalprops())
+ call assert_equal('', &t_8u)
set t_RV=
call test_override('term_props', 0)
diff --git a/src/version.c b/src/version.c
index 9f71e5009..f2170eff6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 977,
+/**/
976,
/**/
975,