From: Bram Moolenaar Date: Fri, 26 Aug 2022 11:26:07 +0000 (+0100) Subject: patch 9.0.0273: Konsole termresponse not recognized X-Git-Tag: v9.0.0273 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d55f9ef8b2f1e9f868ed1440fe859d1b18b1cfe8;p=vim 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 f9cc4a5ed..a92293850 100644 --- a/src/term.c +++ b/src/term.c @@ -4715,7 +4715,8 @@ handle_version_response(int first, int *arg, int argc, char_u *tp) } // 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 6e4bbd19c..578c97018 100644 --- 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 index ff452da1f..291e40af6 100644 --- a/src/version.c +++ b/src/version.c @@ -723,6 +723,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 273, /**/ 272, /**/