To: vim_dev@googlegroups.com Subject: Patch 8.1.1977 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.1977 Problem: Terminal debugger plugin may hang. Solution: Wait longer when still reading symbols. Files: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim *** ../vim-8.1.1976/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim 2018-12-22 15:14:45.587283340 +0100 --- runtime/pack/dist/opt/termdebug/plugin/termdebug.vim 2019-09-04 14:20:53.239133309 +0200 *************** *** 117,126 **** --- 117,130 ---- let s:startsigncolumn = &signcolumn let s:save_columns = 0 + let s:allleft = 0 if exists('g:termdebug_wide') if &columns < g:termdebug_wide let s:save_columns = &columns let &columns = g:termdebug_wide + " If we make the Vim window wider, use the whole left halve for the debug + " windows. + let s:allleft = 1 endif let s:vertical = 1 else *************** *** 165,170 **** --- 169,178 ---- " Assuming the source code window will get a signcolumn, use two more " columns for that, thus one less for the terminal window. exe (&columns / 2 - 1) . "wincmd |" + if s:allleft + " use the whole left column + wincmd H + endif endif " Create a hidden terminal window to communicate with gdb *************** *** 217,226 **** endif let response = '' ! for lnum in range(1,200) ! if term_getline(s:gdbbuf, lnum) =~ '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) if response =~ 'Undefined command' echoerr 'Sorry, your gdb is too old, gdb 7.12 is required' call s:CloseBuffers() --- 225,236 ---- endif let response = '' ! 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 = line1 . line2 if response =~ 'Undefined command' echoerr 'Sorry, your gdb is too old, gdb 7.12 is required' call s:CloseBuffers() *************** *** 230,235 **** --- 240,248 ---- " Success! break 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' *************** *** 830,841 **** " if there is any. func TermDebugBalloonExpr() if v:beval_winid != s:sourcewin ! return endif if !s:stopped " Only evaluate when stopped, otherwise setting a breakpoint using the " mouse triggers a balloon. ! return endif let s:evalFromBalloonExpr = 1 let s:evalFromBalloonExprResult = '' --- 843,854 ---- " if there is any. func TermDebugBalloonExpr() if v:beval_winid != s:sourcewin ! return '' endif if !s:stopped " Only evaluate when stopped, otherwise setting a breakpoint using the " mouse triggers a balloon. ! return '' endif let s:evalFromBalloonExpr = 1 let s:evalFromBalloonExprResult = '' *** ../vim-8.1.1976/src/version.c 2019-09-04 14:11:13.260990522 +0200 --- src/version.c 2019-09-04 14:23:36.970538064 +0200 *************** *** 763,764 **** --- 763,766 ---- { /* Add new patch number below this line */ + /**/ + 1977, /**/ -- If Microsoft would build a car... ... You'd have to press the "Start" button to turn the engine off. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///