patch 9.0.0273: Konsole termresponse not recognized
Problem: Konsole termresponse not recognized.
Solution: Handle Konsole like libvterm, set 'ttymouse' to "sgr".
(closes #10990)
diff --git a/src/term.c b/src/term.c
index f9cc4a5..a922938 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4715,7 +4715,8 @@
}
// libvterm sends 0;100;0
- if (version == 100 && arg[0] == 0 && arg[2] == 0)
+ // Konsole sends 0;115;0 and works the same way
+ if ((version == 100 || version == 115) && arg[0] == 0 && arg[2] == 0)
{
// If run from Vim $COLORS is set to the number of
// colors the terminal supports. Otherwise assume
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 6e4bbd1..578c970 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1664,17 +1664,10 @@
call test_override('term_props', 0)
endfunc
-" This checks the libvterm version response.
-" This must be after other tests, because it has side effects to xterm
-" properties.
-func Test_xx03_libvterm_response()
- " Termresponse is only parsed when t_RV is not empty.
- set t_RV=x
- call test_override('term_props', 1)
-
+func Run_libvterm_konsole_response(code)
set ttymouse=xterm
call test_option_not_set('ttymouse')
- let seq = "\<Esc>[>0;100;0c"
+ let seq = "\<Esc>[>0;" .. a:code .. ";0c"
call feedkeys(seq, 'Lx!')
call assert_equal(seq, v:termresponse)
call assert_equal('sgr', &ttymouse)
@@ -1685,6 +1678,20 @@
\ underline_rgb: 'u',
\ mouse: 's'
\ }, terminalprops())
+endfunc
+
+" This checks the libvterm version response.
+" This must be after other tests, because it has side effects to xterm
+" properties.
+func Test_xx03_libvterm_konsole_response()
+ " Termresponse is only parsed when t_RV is not empty.
+ set t_RV=x
+ call test_override('term_props', 1)
+
+ " libvterm
+ call Run_libvterm_konsole_response(100)
+ " Konsole
+ call Run_libvterm_konsole_response(115)
set t_RV=
call test_override('term_props', 0)
diff --git a/src/version.c b/src/version.c
index ff452da..291e40a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -724,6 +724,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 273,
+/**/
272,
/**/
271,