patch 8.0.1599: no error message when gdb does not support debugger

Problem:    No error message when gdb does not support the terminal debugger.
Solution:   Check for the response to open the Machine Interface.
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index add0de9..65765bb 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -105,9 +105,39 @@
   let s:gdbwin = win_getid(winnr())
 
   " Connect gdb to the communication pty, using the GDB/MI interface
-  " If you get an error "undefined command" your GDB is too old.
   call term_sendkeys(s:gdbbuf, 'new-ui mi ' . commpty . "\r")
 
+  " Wait for the response to show up, users may not notice the error and wonder
+  " why the debugger doesn't work.
+  let try_count = 0
+  while 1
+    let response = ''
+    for lnum in range(1,20)
+      if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
+	let response = term_getline(s:gdbbuf, lnum + 1)
+	if response =~ 'Undefined command'
+	  echoerr 'Your gdb does not support the Machine Interface feature'
+	  exe 'bwipe! ' . s:ptybuf
+	  exe 'bwipe! ' . s:commbuf
+	  return
+	endif
+	if response =~ 'New UI allocated'
+	  " Success!
+	  break
+	endif
+      endif
+    endfor
+    if response =~ 'New UI allocated'
+      break
+    endif
+    let try_count += 1
+    if try_count > 100
+      echoerr 'Cannot check if your gdb works, continuing anyway'
+      break
+    endif
+    sleep 10m
+  endwhile
+
   " Interpret commands while the target is running.  This should usualy only be
   " exec-interrupt, since many commands don't work properly while the target is
   " running.
diff --git a/src/version.c b/src/version.c
index 4c19271..eabf6fb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1599,
+/**/
     1598,
 /**/
     1597,