patch 8.2.2743: Vim9: function state stuck when compiling with ":silent!"
Problem: Vim9: function state stuck when compiling with ":silent!".
Solution: Check for uf_def_status to be UF_COMPILING.
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 6a3dfbb..e254f44 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -2603,6 +2603,20 @@
# Second call won't try compiling again
assert_fails('call g:Broken()', 'E1091: Function is not compiled: Broken')
+ delfunc g:Broken
+
+ # No error when compiling with :silent!
+ lines =<< trim END
+ def g:Broken()
+ echo 'a' + []
+ enddef
+ silent! defcompile
+ END
+ CheckScriptSuccess(lines)
+
+ # Calling the function won't try compiling again
+ assert_fails('call g:Broken()', 'E1091: Function is not compiled: Broken')
+ delfunc g:Broken
enddef