# HG changeset patch # User Bram Moolenaar # Date 1661513403 -7200 # Node ID 0eab537e9ccb1e7926e8142caf4f6244f226e5a3 # Parent 6ab2c61291ac752e044e0b104807403e4ab185db patch 9.0.0273: Konsole termresponse not recognized Commit: https://github.com/vim/vim/commit/d55f9ef8b2f1e9f868ed1440fe859d1b18b1cfe8 Author: Bram Moolenaar 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) diff --git a/src/term.c b/src/term.c --- 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 diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim --- 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 = "\[>0;100;0c" + let seq = "\[>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) diff --git a/src/version.c b/src/version.c --- 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,