diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index f981fcc95..ff5056832 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -833,25 +833,22 @@ func Test_terminal_response_to_control_sequence() endif let buf = Run_shell_in_terminal({}) - call WaitFor({-> term_getline(buf, 1) != ""}) + call WaitFor({-> term_getline(buf, 1) != ''}) - call writefile(["\x1b[6n"], 'Xescape') - call term_sendkeys(buf, "cat Xescape\") + call term_sendkeys(buf, "cat\") + call WaitFor({-> term_getline(buf, 1) =~ 'cat'}) - " wait for the response of control sequence from libvterm (and send it to tty) - sleep 200m - call term_wait(buf) + " Request the cursor position. + call term_sendkeys(buf, "\x1b[6n\") " Wait for output from tty to display, below an empty line. - " It should show \e3;1R, but only 1R may show up - call assert_match('\<\d\+R', term_getline(buf, 3)) + call WaitFor({-> term_getline(buf, 4) =~ '3;1R'}) + + " End "cat" gently. + call term_sendkeys(buf, "\\") - call term_sendkeys(buf, "\") - call term_wait(buf) call Stop_shell_in_terminal(buf) - exe buf . 'bwipe' - call delete('Xescape') unlet g:job endfunc diff --git a/src/version.c b/src/version.c index 1a8c10ea4..2cc99778d 100644 --- a/src/version.c +++ b/src/version.c @@ -766,6 +766,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1645, /**/ 1644, /**/