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 "and"
|
||||
echo "there"
|
||||
breakadd func 2 LocalFunc
|
||||
LocalFunc()
|
||||
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
|
||||
END
|
||||
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,'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')
|
||||
|
||||
|
@ -755,6 +755,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3027,
|
||||
/**/
|
||||
3026,
|
||||
/**/
|
||||
|
@ -229,6 +229,9 @@ call_dfunc(
|
||||
}
|
||||
#endif
|
||||
|
||||
// Update uf_has_breakpoint if needed.
|
||||
update_has_breakpoint(ufunc);
|
||||
|
||||
// When debugging and using "cont" switches to the not-debugged
|
||||
// instructions, may need to still compile them.
|
||||
if ((func_needs_compiling(ufunc, COMPILE_TYPE(ufunc))
|
||||
|
Loading…
x
Reference in New Issue
Block a user