changeset 29869:0eab537e9ccb v9.0.0273

patch 9.0.0273: Konsole termresponse not recognized Commit: https://github.com/vim/vim/commit/d55f9ef8b2f1e9f868ed1440fe859d1b18b1cfe8 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 26 12:26:07 2022 +0100 patch 9.0.0273: Konsole termresponse not recognized Problem: Konsole termresponse not recognized. Solution: Handle Konsole like libvterm, set 'ttymouse' to "sgr". (closes #10990)
author Bram Moolenaar <Bram@vim.org>
date Fri, 26 Aug 2022 13:30:03 +0200
parents 6ab2c61291ac
children 76f4cea7033c
files src/term.c src/testdir/test_termcodes.vim src/version.c
diffstat 3 files changed, 20 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/term.c
+++ b/src/term.c
@@ -4715,7 +4715,8 @@ handle_version_response(int first, int *
 	}
 
 	// 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
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1664,17 +1664,10 @@ func Test_xx02_iTerm2_response()
   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 @@ func Test_xx03_libvterm_response()
         \ 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)
--- a/src/version.c
+++ b/src/version.c
@@ -724,6 +724,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    273,
+/**/
     272,
 /**/
     271,