summaryrefslogtreecommitdiff
path: root/runtime/pack
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-11-07 20:27:04 +0000
committerBram Moolenaar <Bram@vim.org>2021-11-07 20:27:04 +0000
commit113cb513f76d8866cbb6dc85fa18aded753e01da (patch)
tree991e2a39e12fe20709be583772ec8038ff3134e5 /runtime/pack
parent15d9890eee53afc61eb0a03b878a19cb5672f732 (diff)
downloadvim-git-113cb513f76d8866cbb6dc85fa18aded753e01da.tar.gz
Update runtime files
Diffstat (limited to 'runtime/pack')
-rw-r--r--runtime/pack/dist/opt/termdebug/plugin/termdebug.vim29
1 files changed, 22 insertions, 7 deletions
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index a7b6953d0..b549d4ee0 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -2,7 +2,7 @@
"
" Author: Bram Moolenaar
" Copyright: Vim license applies, see ":help license"
-" Last Change: 2021 Aug 23
+" Last Change: 2021 Oct 26
"
" WORK IN PROGRESS - Only the basics work
" Note: On MS-Windows you need a recent version of gdb. The one included with
@@ -534,7 +534,7 @@ func s:GdbOutCallback(channel, text)
if a:text == '(gdb) ' || a:text == '^done' || a:text[0] == '&'
return
endif
- if a:text =~ '^^error,msg='
+ if a:text =~ '^\^error,msg='
let text = s:DecodeMessage(a:text[11:])
if exists('s:evalexpr') && text =~ 'A syntax error in expression, near\|No symbol .* in current context'
" Silently drop evaluation errors.
@@ -736,9 +736,9 @@ func s:HandleDisasmMsg(msg)
else
let value = substitute(a:msg, '^\~\"[ ]*', '', '')
let value = substitute(value, '^=>[ ]*', '', '')
- let value = substitute(value, '\\n\" $', '', '')
+ let value = substitute(value, '\\n\"\r$', '', '')
let value = substitute(value, '\\n\"$', '', '')
- let value = substitute(value, ' ', '', '')
+ let value = substitute(value, '\r', '', '')
let value = substitute(value, '\\t', ' ', 'g')
if value != '' || !empty(s:asm_lines)
@@ -982,8 +982,22 @@ func s:Run(args)
endfunc
func s:SendEval(expr)
- call s:SendCommand('-data-evaluate-expression "' . a:expr . '"')
- let s:evalexpr = a:expr
+ " clean up expression that may got in because of range
+ " (newlines and surrounding spaces)
+ let expr = a:expr
+ if &filetype ==# 'cobol'
+ " extra cleanup for COBOL: _every: expression ends with a period,
+ " a trailing comma is ignored as it commonly separates multiple expr.
+ let expr = substitute(expr, '\..*', '', '')
+ let expr = substitute(expr, '[;\n]', ' ', 'g')
+ let expr = substitute(expr, ',*$', '', '')
+ else
+ let expr = substitute(expr, '\n', ' ', 'g')
+ endif
+ let expr = substitute(expr, '^ *\(.*\) *', '\1', '')
+
+ call s:SendCommand('-data-evaluate-expression "' . expr . '"')
+ let s:evalexpr = expr
endfunc
" :Evaluate - evaluate what is under the cursor
@@ -1058,7 +1072,8 @@ func s:HandleError(msg)
let s:evalFromBalloonExpr = 0
return
endif
- echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
+ let msgVal = substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
+ echoerr substitute(msgVal, '\\"', '"', 'g')
endfunc
func s:GotoSourcewinOrCreateIt()