diff options
Diffstat (limited to 'src/nvim/lua/executor.c')
| -rw-r--r-- | src/nvim/lua/executor.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c index 1771a01565..02a95d5f6d 100644 --- a/src/nvim/lua/executor.c +++ b/src/nvim/lua/executor.c @@ -1366,12 +1366,14 @@ int nlua_call(lua_State *lstate) funcexe.fe_firstline = curwin->w_cursor.lnum; funcexe.fe_lastline = curwin->w_cursor.lnum; funcexe.fe_evaluate = true; + const sctx_T save_current_sctx = api_set_sctx(LUA_INTERNAL_CALL); TRY_WRAP(&err, { // call_func() retval is deceptive, ignore it. Instead we set `msg_list` // (TRY_WRAP) to capture abort-causing non-exception errors. (void)call_func(name, (int)name_len, &rettv, nargs, vim_args, &funcexe); }); + current_sctx = save_current_sctx; if (!ERROR_SET(&err)) { nlua_push_typval(lstate, &rettv, 0); |