patch 8.1.1977: terminal debugger plugin may hang
Problem: Terminal debugger plugin may hang.
Solution: Wait longer when still reading symbols.
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index 6a14984..26a0ebd 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -225,10 +225,12 @@
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 @@
" 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'
diff --git a/src/version.c b/src/version.c
index 9286ec8..9481a3d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1977,
+/**/
1976,
/**/
1975,