mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.3013: Vim: when debugging only first line of command is displayed
Problem: Vim: when debugging only the first line of a command using line
continuation is displayed.
Solution: Find the next command and concatenate lines until that one.
(closes vim/vim#8392)
4cea536bdf
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
parent
d46b6b2978
commit
02a43ddf1e
@ -924,19 +924,19 @@ func Test_Backtrace_DefFunction()
|
|||||||
\ ':debug call GlobalFunction()',
|
\ ':debug call GlobalFunction()',
|
||||||
\ ['cmd: call GlobalFunction()'])
|
\ ['cmd: call GlobalFunction()'])
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: var some = "some var"'])
|
call RunDbgCmd(buf, 'step', ['line 1: var some = "some var"'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 2: CallAFunction()'])
|
call RunDbgCmd(buf, 'step', ['line 2: CallAFunction()'])
|
||||||
call RunDbgCmd(buf, 'echo some', ['some var'])
|
call RunDbgCmd(buf, 'echo some', ['some var'])
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'backtrace', [
|
call RunDbgCmd(buf, 'backtrace', [
|
||||||
\ '\V>backtrace',
|
\ '\V>backtrace',
|
||||||
\ '\V->0 function GlobalFunction',
|
\ '\V->0 function GlobalFunction',
|
||||||
\ '\Vline 2: CallAFunction()',
|
\ '\Vline 2: CallAFunction()',
|
||||||
\ ],
|
\ ],
|
||||||
\ #{match: 'pattern'})
|
\ #{match: 'pattern'})
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: SourceAnotherFile()'])
|
call RunDbgCmd(buf, 'step', ['line 1: SourceAnotherFile()'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim'])
|
call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim'])
|
||||||
" Repeated line, because we fist are in the compiled function before the
|
" Repeated line, because we fist are in the compiled function before the
|
||||||
" EXEC and then in do_cmdline() before the :source command.
|
" EXEC and then in do_cmdline() before the :source command.
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim'])
|
call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim'])
|
||||||
@ -992,6 +992,13 @@ func Test_debug_def_function()
|
|||||||
endfor
|
endfor
|
||||||
echo "done"
|
echo "done"
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def g:FuncWithDict()
|
||||||
|
var d = {
|
||||||
|
a: 1,
|
||||||
|
b: 2,
|
||||||
|
}
|
||||||
|
enddef
|
||||||
END
|
END
|
||||||
call writefile(file, 'Xtest.vim')
|
call writefile(file, 'Xtest.vim')
|
||||||
|
|
||||||
@ -1007,23 +1014,29 @@ func Test_debug_def_function()
|
|||||||
call RunDbgCmd(buf,
|
call RunDbgCmd(buf,
|
||||||
\ ':debug call FuncWithArgs("asdf", 42, 1, 2, 3)',
|
\ ':debug call FuncWithArgs("asdf", 42, 1, 2, 3)',
|
||||||
\ ['cmd: call FuncWithArgs("asdf", 42, 1, 2, 3)'])
|
\ ['cmd: call FuncWithArgs("asdf", 42, 1, 2, 3)'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: echo text .. nr'])
|
call RunDbgCmd(buf, 'step', ['line 1: echo text .. nr'])
|
||||||
call RunDbgCmd(buf, 'echo text', ['asdf'])
|
call RunDbgCmd(buf, 'echo text', ['asdf'])
|
||||||
call RunDbgCmd(buf, 'echo nr', ['42'])
|
call RunDbgCmd(buf, 'echo nr', ['42'])
|
||||||
call RunDbgCmd(buf, 'echo items', ['[1, 2, 3]'])
|
call RunDbgCmd(buf, 'echo items', ['[1, 2, 3]'])
|
||||||
call RunDbgCmd(buf, 'step', ['asdf42', 'function FuncWithArgs', 'line 2: for it in items'])
|
call RunDbgCmd(buf, 'step', ['asdf42', 'function FuncWithArgs', 'line 2: for it in items'])
|
||||||
call RunDbgCmd(buf, 'echo it', ['1'])
|
call RunDbgCmd(buf, 'echo it', ['1'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 3: echo it'])
|
call RunDbgCmd(buf, 'step', ['line 3: echo it'])
|
||||||
call RunDbgCmd(buf, 'step', ['1', 'function FuncWithArgs', 'line 4: endfor'])
|
call RunDbgCmd(buf, 'step', ['1', 'function FuncWithArgs', 'line 4: endfor'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 2: for it in items'])
|
call RunDbgCmd(buf, 'step', ['line 2: for it in items'])
|
||||||
call RunDbgCmd(buf, 'echo it', ['2'])
|
call RunDbgCmd(buf, 'echo it', ['2'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 3: echo it'])
|
call RunDbgCmd(buf, 'step', ['line 3: echo it'])
|
||||||
call RunDbgCmd(buf, 'step', ['2', 'function FuncWithArgs', 'line 4: endfor'])
|
call RunDbgCmd(buf, 'step', ['2', 'function FuncWithArgs', 'line 4: endfor'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 2: for it in items'])
|
call RunDbgCmd(buf, 'step', ['line 2: for it in items'])
|
||||||
call RunDbgCmd(buf, 'echo it', ['3'])
|
call RunDbgCmd(buf, 'echo it', ['3'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 3: echo it'])
|
call RunDbgCmd(buf, 'step', ['line 3: echo it'])
|
||||||
call RunDbgCmd(buf, 'step', ['3', 'function FuncWithArgs', 'line 4: endfor'])
|
call RunDbgCmd(buf, 'step', ['3', 'function FuncWithArgs', 'line 4: endfor'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 5: echo "done"'])
|
call RunDbgCmd(buf, 'step', ['line 5: echo "done"'])
|
||||||
|
call RunDbgCmd(buf, 'cont')
|
||||||
|
|
||||||
|
call RunDbgCmd(buf,
|
||||||
|
\ ':debug call FuncWithDict()',
|
||||||
|
\ ['cmd: call FuncWithDict()'])
|
||||||
|
call RunDbgCmd(buf, 'step', ['line 1: var d = { a: 1, b: 2, }'])
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'cont')
|
call RunDbgCmd(buf, 'cont')
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
|
Loading…
Reference in New Issue
Block a user