forked from aniani/vim
patch 8.2.3147: Vim9: profiling does not work with a nested function
Problem: Vim9: profiling does not work with a nested function. Solution: Also compile a nested function without profiling. (closes #8543) Handle that compiling may cause the table of compiled functions to change.
This commit is contained in:
@@ -4177,19 +4177,29 @@ def Test_xxx_echoerr_line_number()
|
||||
CheckDefExecAndScriptFailure(lines, 'some error continued', 1)
|
||||
enddef
|
||||
|
||||
def ProfiledFunc()
|
||||
def ProfiledWithLambda()
|
||||
var n = 3
|
||||
echo [[1, 2], [3, 4]]->filter((_, l) => l[0] == n)
|
||||
enddef
|
||||
|
||||
def ProfiledNested()
|
||||
var x = 0
|
||||
def Nested(): any
|
||||
return x
|
||||
enddef
|
||||
Nested()
|
||||
enddef
|
||||
|
||||
" Execute this near the end, profiling doesn't stop until Vim exists.
|
||||
" This only tests that it works, not the profiling output.
|
||||
def Test_xx_profile_with_lambda()
|
||||
CheckFeature profile
|
||||
|
||||
profile start Xprofile.log
|
||||
profile func ProfiledFunc
|
||||
ProfiledFunc()
|
||||
profile func ProfiledWithLambda
|
||||
ProfiledWithLambda()
|
||||
profile func ProfiledNested
|
||||
ProfiledNested()
|
||||
enddef
|
||||
|
||||
" Keep this last, it messes up highlighting.
|
||||
|
Reference in New Issue
Block a user