patch 9.0.1624: crash when calling object constructor
Problem: Crash when calling object constructor from legacy script. (Israel
Chauca Fuentes)
Solution: Pass a pointer for "ufunc". (closes #12502)
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 1d0d77b..00b8432 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -1767,6 +1767,29 @@
v9.CheckScriptSuccess(lines)
enddef
+def Test_call_constructor_from_legacy()
+ var lines =<< trim END
+ vim9script
+
+ var newCalled = 'false'
+
+ class A
+ def new()
+ newCalled = 'true'
+ enddef
+ endclass
+
+ export def F(options = {}): any
+ return A
+ enddef
+
+ g:p = F()
+ legacy call p.new()
+ assert_equal('true', newCalled)
+ END
+ v9.CheckScriptSuccess(lines)
+enddef
+
def Test_defer_with_object()
var lines =<< trim END
vim9script