forked from aniani/vim
patch 8.2.3027: Vim9: breakpoint in compiled function not always checked
Problem: Vim9: breakpoint in compiled function not always checked. Solution: Check for breakpoint when calling compiled function from compiled function.
This commit is contained in:
parent
4f8f54280f
commit
2ac4b2536a
@ -940,7 +940,22 @@ func Test_debug_DefFunction()
|
|||||||
echo "here"
|
echo "here"
|
||||||
echo "and"
|
echo "and"
|
||||||
echo "there"
|
echo "there"
|
||||||
|
breakadd func 2 LocalFunc
|
||||||
|
LocalFunc()
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def LocalFunc()
|
||||||
|
echo "first"
|
||||||
|
echo "second"
|
||||||
|
breakadd func 1 LegacyFunc
|
||||||
|
LegacyFunc()
|
||||||
|
enddef
|
||||||
|
|
||||||
|
func LegacyFunc()
|
||||||
|
echo "legone"
|
||||||
|
echo "legtwo"
|
||||||
|
endfunc
|
||||||
|
|
||||||
breakadd func 2 g:SomeFunc
|
breakadd func 2 g:SomeFunc
|
||||||
END
|
END
|
||||||
call writefile(file, 'XtestDebug.vim')
|
call writefile(file, 'XtestDebug.vim')
|
||||||
@ -949,6 +964,13 @@ func Test_debug_DefFunction()
|
|||||||
|
|
||||||
call RunDbgCmd(buf,':call SomeFunc()', ['line 2: echo "and"'])
|
call RunDbgCmd(buf,':call SomeFunc()', ['line 2: echo "and"'])
|
||||||
call RunDbgCmd(buf,'next', ['line 3: echo "there"'])
|
call RunDbgCmd(buf,'next', ['line 3: echo "there"'])
|
||||||
|
call RunDbgCmd(buf,'next', ['line 4: breakadd func 2 LocalFunc'])
|
||||||
|
|
||||||
|
" continue, next breakpoint is in LocalFunc()
|
||||||
|
call RunDbgCmd(buf,'cont', ['line 2: echo "second"'])
|
||||||
|
|
||||||
|
" continue, next breakpoint is in LegacyFunc()
|
||||||
|
call RunDbgCmd(buf,'cont', ['line 1: echo "legone"'])
|
||||||
|
|
||||||
call RunDbgCmd(buf, 'cont')
|
call RunDbgCmd(buf, 'cont')
|
||||||
|
|
||||||
|
@ -755,6 +755,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3027,
|
||||||
/**/
|
/**/
|
||||||
3026,
|
3026,
|
||||||
/**/
|
/**/
|
||||||
|
@ -229,6 +229,9 @@ call_dfunc(
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Update uf_has_breakpoint if needed.
|
||||||
|
update_has_breakpoint(ufunc);
|
||||||
|
|
||||||
// When debugging and using "cont" switches to the not-debugged
|
// When debugging and using "cont" switches to the not-debugged
|
||||||
// instructions, may need to still compile them.
|
// instructions, may need to still compile them.
|
||||||
if ((func_needs_compiling(ufunc, COMPILE_TYPE(ufunc))
|
if ((func_needs_compiling(ufunc, COMPILE_TYPE(ufunc))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user