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
index f981fcc..ff50568 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -833,25 +833,22 @@
   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\<cr>")
+  call term_sendkeys(buf, "cat\<CR>")
+  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\<CR>")
 
   " 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, "\<c-c>")
-  call term_wait(buf)
+  " End "cat" gently.
+  call term_sendkeys(buf, "\<CR>\<C-D>")
+
   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 1a8c10e..2cc9977 100644
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1645,
+/**/
     1644,
 /**/
     1643,