0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

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.
This commit is contained in:
Bram Moolenaar
2020-05-25 22:36:50 +02:00
parent 2eec37926d
commit 25e0f5863e
11 changed files with 125 additions and 41 deletions

View File

@@ -1114,11 +1114,11 @@ call_user_func(
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 @@ call_user_func(
++sandbox;
}
estack_push_ufunc(ETYPE_UFUNC, fp, 1);
estack_push_ufunc(fp, 1);
ESTACK_CHECK_SETUP
if (p_verbose >= 12)
{