diff runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @ 17962:58bebe21f0ef v8.1.1977

patch 8.1.1977: terminal debugger plugin may hang Commit: https://github.com/vim/vim/commit/19c8fe1925f4f7ffa1cc46e64d8bb8b1665ac437 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Sep 4 14:24:24 2019 +0200 patch 8.1.1977: terminal debugger plugin may hang Problem: Terminal debugger plugin may hang. Solution: Wait longer when still reading symbols.
author Bram Moolenaar <Bram@vim.org>
date Wed, 04 Sep 2019 14:30:03 +0200
parents cc953757ed2a
children 1e5672da6a69
line wrap: on
line diff
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -225,10 +225,12 @@ func s:StartDebug_term(dict)
     endif
 
     let response = ''
-    for lnum in range(1,200)
-      if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
+    for lnum in range(1, 200)
+      let line1 = term_getline(s:gdbbuf, lnum)
+      let line2 = term_getline(s:gdbbuf, lnum + 1)
+      if line1 =~ 'new-ui mi '
         " response can be in the same line or the next line
-        let response = term_getline(s:gdbbuf, lnum) . term_getline(s:gdbbuf, lnum + 1)
+        let response = line1 . line2
         if response =~ 'Undefined command'
           echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
 	  call s:CloseBuffers()
@@ -238,10 +240,9 @@ func s:StartDebug_term(dict)
           " Success!
           break
         endif
-        if response =~ 'Reading symbols from' && response !~ 'new-ui'
-          " Reading symbols might take a while
-	  let try_count -= 1
-        endif
+      elseif line1 =~ 'Reading symbols from' && line2 !~ 'new-ui mi '
+	" Reading symbols might take a while, try more times
+	let try_count -= 1
       endif
     endfor
     if response =~ 'New UI allocated'