diff src/testdir/test_debugger.vim @ 24932:afaa7f3aae56 v8.2.3003

patch 8.2.3003: Vim9: closure compiled with wrong compile type Commit: https://github.com/vim/vim/commit/968a5b62ffd3e08005d907d93eaaf807be466a88 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 15 19:32:40 2021 +0200 patch 8.2.3003: Vim9: closure compiled with wrong compile type Problem: Vim9: closure compiled with wrong compile type. Solution: Use COMPILE_TYPE() when calling a function. (closes https://github.com/vim/vim/issues/8384)
author Bram Moolenaar <Bram@vim.org>
date Tue, 15 Jun 2021 19:45:03 +0200
parents f11779c1d123
children 5c418c774f95
line wrap: on
line diff
--- a/src/testdir/test_debugger.vim
+++ b/src/testdir/test_debugger.vim
@@ -932,6 +932,33 @@ func Test_Backtrace_DefFunction()
   call delete('Xtest2.vim')
 endfunc
 
+func Test_debug_def_function()
+  CheckCWD
+  let file =<< trim END
+    vim9script
+    def g:Func()
+        var n: number
+        def Closure(): number
+            return n + 3
+        enddef
+        n += Closure()
+        echo 'result: ' .. n
+    enddef
+  END
+  call writefile(file, 'Xtest.vim')
+
+  let buf = RunVimInTerminal('-S Xtest.vim', {})
+
+  call RunDbgCmd(buf,
+                \ ':debug call Func()',
+                \ ['cmd: call Func()'])
+  call RunDbgCmd(buf, 'next', ['result: 3'])
+  call term_sendkeys(buf, "\r")
+
+  call StopVimInTerminal(buf)
+  call delete('Xtest.vim')
+endfunc
+
 func Test_debug_backtrace_level()
   CheckCWD
   let lines =<< trim END