1
0
forked from aniani/vim

patch 8.2.3151: Vim9: profiling fails if nested function is also profiled

Problem:    Vim9: profiling fails if nested function is also profiled.
Solution:   Use the compile type from the outer function. (closes #8543)
This commit is contained in:
Bram Moolenaar
2021-07-11 20:22:30 +02:00
parent c72bdd28ac
commit ffcfddc759
3 changed files with 30 additions and 5 deletions

View File

@@ -4190,6 +4190,14 @@ def ProfiledNested()
Nested()
enddef
def ProfiledNestedProfiled()
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()
@@ -4198,8 +4206,17 @@ def Test_xx_profile_with_lambda()
profile start Xprofile.log
profile func ProfiledWithLambda
ProfiledWithLambda()
profile func ProfiledNested
ProfiledNested()
# Also profile the nested function. Use a different function, although the
# contents is the same, to make sure it was not already compiled.
profile func *
ProfiledNestedProfiled()
profdel func *
profile pause
enddef
" Keep this last, it messes up highlighting.