patch 8.0.1605: terminal test is a bit flaky

Problem:    Terminal test is a bit flaky.
Solution:   Check for the shell prompt.  Use more lambda functions.
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index d8e40d1..9ac0f27 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -432,39 +432,38 @@
   if !has('clientserver')
     return
   endif
-  let g:buf = Run_shell_in_terminal({})
+  let buf = Run_shell_in_terminal({})
   " Wait for the shell to display a prompt
-  call WaitFor('term_getline(g:buf, 1) != ""')
+  call WaitFor({-> term_getline(buf, 1) != ""})
   if has('win32')
-    call term_sendkeys(g:buf, "echo %VIM_SERVERNAME%\r")
+    call term_sendkeys(buf, "echo %VIM_SERVERNAME%\r")
   else
-    call term_sendkeys(g:buf, "echo $VIM_SERVERNAME\r")
+    call term_sendkeys(buf, "echo $VIM_SERVERNAME\r")
   endif
-  call term_wait(g:buf)
-  call Stop_shell_in_terminal(g:buf)
+  call term_wait(buf)
+  call Stop_shell_in_terminal(buf)
   call WaitFor('getline(2) == v:servername')
   call assert_equal(v:servername, getline(2))
 
-  exe g:buf . 'bwipe'
-  unlet g:buf
+  exe buf . 'bwipe'
+  unlet buf
 endfunc
 
 func Test_terminal_env()
-  let g:buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}})
+  let buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}})
   " Wait for the shell to display a prompt
-  call WaitFor('term_getline(g:buf, 1) != ""')
+  call WaitFor({-> term_getline(buf, 1) != ""})
   if has('win32')
-    call term_sendkeys(g:buf, "echo %TESTENV%\r")
+    call term_sendkeys(buf, "echo %TESTENV%\r")
   else
-    call term_sendkeys(g:buf, "echo $TESTENV\r")
+    call term_sendkeys(buf, "echo $TESTENV\r")
   endif
-  call term_wait(g:buf)
-  call Stop_shell_in_terminal(g:buf)
+  call term_wait(buf)
+  call Stop_shell_in_terminal(buf)
   call WaitFor('getline(2) == "correct"')
   call assert_equal('correct', getline(2))
 
-  exe g:buf . 'bwipe'
-  unlet g:buf
+  exe buf . 'bwipe'
 endfunc
 
 " must be last, we can't go back from GUI to terminal
@@ -591,8 +590,7 @@
   else
     call system('echo "look here" > ' . pty)
   endif
-  let g:buf = buf
-  call WaitFor('term_getline(g:buf, 1) =~ "look here"')
+  call WaitFor({-> term_getline(buf, 1) =~ "look here"})
 
   call assert_match('look here', term_getline(buf, 1))
   bwipe!
@@ -672,8 +670,7 @@
   call assert_equal('456', maparg('123', 't'))
   call assert_equal('abxde', maparg('456', 't'))
   call feedkeys("123", 'tx')
-  let g:buf = buf
-  call WaitFor("term_getline(g:buf,term_getcursor(g:buf)[0]) =~ 'abxde\\|456'")
+  call WaitFor({-> term_getline(buf, term_getcursor(buf)[0]) =~ 'abxde\|456'})
   let lnum = term_getcursor(buf)[0]
   if a:remap
     call assert_match('abxde', term_getline(buf, lnum))
@@ -816,12 +813,9 @@
   endif
 
   let buf = Run_shell_in_terminal({})
-  call term_wait(buf)
+  call WaitFor({-> term_getline(buf, 1) != ""})
 
-  new
-  call setline(1, "\x1b[6n")
-  write! Xescape
-  bwipe
+  call writefile(["\x1b[6n"], 'Xescape')
   call term_sendkeys(buf, "cat Xescape\<cr>")
 
   " wait for the response of control sequence from libvterm (and send it to tty)
@@ -909,7 +903,7 @@
   quit
 endfunc
 
-func Test_terminalopen_autocmd()
+func Test_terminal_open_autocmd()
   augroup repro
     au!
     au TerminalOpen * let s:called += 1
diff --git a/src/version.c b/src/version.c
index 36e94b1..3236096 100644
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1605,
+/**/
     1604,
 /**/
     1603,