# HG changeset patch # User Christian Brabandt # Date 1522006207 -7200 # Node ID 98d832e4e394df4d15a7a1a9411e6334ab3e8bad # Parent 24d2938ab5770b14254d7a8961f32f1b2a537251 patch 8.0.1645: test for terminal response to escape sequence may fail commit https://github.com/vim/vim/commit/086eb876951aa0b0bee3de4ed0569bf4b70c6f31 Author: Bram Moolenaar Date: Sun Mar 25 21:24:12 2018 +0200 patch 8.0.1645: test for terminal response to escape sequence may fail Problem: Test for terminal response to escape sequence fails for some people. (toothpik) Solution: Run "cat" and let it echo the characters. diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -833,25 +833,22 @@ func Test_terminal_response_to_control_s 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'}) - call term_sendkeys(buf, "\") - call term_wait(buf) + " End "cat" gently. + call term_sendkeys(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 --- a/src/version.c +++ b/src/version.c @@ -767,6 +767,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1645, +/**/ 1644, /**/ 1643,