patch 8.2.0823: Vim9: script reload test is disabled
Problem: Vim9: script reload test is disabled.
Solution: Compile a function in the context of the script where it was
defined. Set execution stack for compiled function. Add a test
that an error is reported for the right file/function.
diff --git a/src/userfunc.c b/src/userfunc.c
index bc92c2a..87e06c6 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -1114,11 +1114,11 @@
if (fp->uf_dfunc_idx != UF_NOT_COMPILED)
{
- estack_push_ufunc(ETYPE_UFUNC, fp, 1);
+ estack_push_ufunc(fp, 1);
save_current_sctx = current_sctx;
current_sctx = fp->uf_script_ctx;
- // Execute the compiled function.
+ // Execute the function, possibly compiling it first.
call_def_function(fp, argcount, argvars, funcexe->partial, rettv);
--depth;
current_funccal = fc->caller;
@@ -1288,7 +1288,7 @@
++sandbox;
}
- estack_push_ufunc(ETYPE_UFUNC, fp, 1);
+ estack_push_ufunc(fp, 1);
ESTACK_CHECK_SETUP
if (p_verbose >= 12)
{