mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.2996: Vim9: when debugging cannot inspect local variables
Problem: Vim9: when debugging cannot inspect local variables.
Solution: Make local variables available when debugging.
b69c6fb7b4
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
parent
5ce3b89ff3
commit
04d951685b
@ -230,7 +230,7 @@ void do_debug(char *cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (last_cmd != 0) {
|
if (last_cmd != 0) {
|
||||||
// Execute debug command: decided where to break next and return.
|
// Execute debug command: decide where to break next and return.
|
||||||
switch (last_cmd) {
|
switch (last_cmd) {
|
||||||
case CMD_CONT:
|
case CMD_CONT:
|
||||||
debug_break_level = -1;
|
debug_break_level = -1;
|
||||||
|
@ -892,6 +892,7 @@ func Test_Backtrace_DefFunction()
|
|||||||
enddef
|
enddef
|
||||||
|
|
||||||
def g:GlobalFunction()
|
def g:GlobalFunction()
|
||||||
|
var some = "some var"
|
||||||
CallAFunction()
|
CallAFunction()
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
@ -923,19 +924,21 @@ func Test_Backtrace_DefFunction()
|
|||||||
\ ':debug call GlobalFunction()',
|
\ ':debug call GlobalFunction()',
|
||||||
\ ['cmd: call GlobalFunction()'])
|
\ ['cmd: call GlobalFunction()'])
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: CallAFunction()'])
|
call RunDbgCmd(buf, 'step', ['line 1: var some = "some var"'])
|
||||||
|
call RunDbgCmd(buf, 'step', ['line 2: CallAFunction()'])
|
||||||
|
call RunDbgCmd(buf, 'echo some', ['some var'])
|
||||||
|
|
||||||
" FIXME: not quite right
|
|
||||||
call RunDbgCmd(buf, 'backtrace', [
|
call RunDbgCmd(buf, 'backtrace', [
|
||||||
\ '\V>backtrace',
|
\ '\V>backtrace',
|
||||||
\ '\V->0 function GlobalFunction',
|
\ '\V->0 function GlobalFunction',
|
||||||
\ '\Vline 1: 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'])
|
||||||
" FIXME: repeated line
|
" Repeated line, because we fist are in the compiled function before the
|
||||||
|
" 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'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 1: vim9script'])
|
call RunDbgCmd(buf, 'step', ['line 1: vim9script'])
|
||||||
call RunDbgCmd(buf, 'step', ['line 3: def DoAThing(): number'])
|
call RunDbgCmd(buf, 'step', ['line 3: def DoAThing(): number'])
|
||||||
@ -945,7 +948,7 @@ func Test_Backtrace_DefFunction()
|
|||||||
call RunDbgCmd(buf, 'step', ['line 14: File2Function()'])
|
call RunDbgCmd(buf, 'step', ['line 14: File2Function()'])
|
||||||
call RunDbgCmd(buf, 'backtrace', [
|
call RunDbgCmd(buf, 'backtrace', [
|
||||||
\ '\V>backtrace',
|
\ '\V>backtrace',
|
||||||
\ '\V 3 function GlobalFunction[1]',
|
\ '\V 3 function GlobalFunction[2]',
|
||||||
\ '\V 2 <SNR>\.\*_CallAFunction[1]',
|
\ '\V 2 <SNR>\.\*_CallAFunction[1]',
|
||||||
\ '\V 1 <SNR>\.\*_SourceAnotherFile[1]',
|
\ '\V 1 <SNR>\.\*_SourceAnotherFile[1]',
|
||||||
\ '\V->0 script ' .. getcwd() .. '/Xtest2.vim',
|
\ '\V->0 script ' .. getcwd() .. '/Xtest2.vim',
|
||||||
@ -956,7 +959,7 @@ func Test_Backtrace_DefFunction()
|
|||||||
call RunDbgCmd(buf, 'next', ['line 15: End of sourced file'])
|
call RunDbgCmd(buf, 'next', ['line 15: End of sourced file'])
|
||||||
call RunDbgCmd(buf, 'backtrace', [
|
call RunDbgCmd(buf, 'backtrace', [
|
||||||
\ '\V>backtrace',
|
\ '\V>backtrace',
|
||||||
\ '\V 3 function GlobalFunction[1]',
|
\ '\V 3 function GlobalFunction[2]',
|
||||||
\ '\V 2 <SNR>\.\*_CallAFunction[1]',
|
\ '\V 2 <SNR>\.\*_CallAFunction[1]',
|
||||||
\ '\V 1 <SNR>\.\*_SourceAnotherFile[1]',
|
\ '\V 1 <SNR>\.\*_SourceAnotherFile[1]',
|
||||||
\ '\V->0 script ' .. getcwd() .. '/Xtest2.vim',
|
\ '\V->0 script ' .. getcwd() .. '/Xtest2.vim',
|
||||||
|
Loading…
Reference in New Issue
Block a user