diff options
author | shadmansaleh <13149513+shadmansaleh@users.noreply.github.com> | 2022-02-12 10:54:25 +0600 |
---|---|---|
committer | shadmansaleh <13149513+shadmansaleh@users.noreply.github.com> | 2022-02-13 01:23:23 +0600 |
commit | f292dd2126f8dacd6446799ac750ab368b852f81 (patch) | |
tree | aea236d948d39ba14619322ab7d5fe6df438d592 /src/nvim/lua/stdlib.c | |
parent | f89f4b1e12d97a78a86efbe80b23bf60f4d07d73 (diff) | |
download | rneovim-f292dd2126f8dacd6446799ac750ab368b852f81.tar.gz rneovim-f292dd2126f8dacd6446799ac750ab368b852f81.tar.bz2 rneovim-f292dd2126f8dacd6446799ac750ab368b852f81.zip |
fix: autoload variables not loaded with vim.g & nvim_get_var
Diffstat (limited to 'src/nvim/lua/stdlib.c')
-rw-r--r-- | src/nvim/lua/stdlib.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/lua/stdlib.c b/src/nvim/lua/stdlib.c index 18a579ed0f..55b23cf0c8 100644 --- a/src/nvim/lua/stdlib.c +++ b/src/nvim/lua/stdlib.c @@ -25,6 +25,7 @@ #include "nvim/func_attr.h" #include "nvim/garray.h" #include "nvim/getchar.h" +#include "nvim/globals.h" #include "nvim/lua/converter.h" #include "nvim/lua/executor.h" #include "nvim/lua/stdlib.h" @@ -408,6 +409,12 @@ int nlua_getvar(lua_State *lstate) const char *name = luaL_checklstring(lstate, 3, &len); dictitem_T *di = tv_dict_find(dict, name, (ptrdiff_t)len); + if (di == NULL && dict == &globvardict) { // try to autoload script + if (!script_autoload(name, len, false) || aborting()) { + return 0; // nil + } + di = tv_dict_find(dict, name, (ptrdiff_t)len); + } if (di == NULL) { return 0; // nil } |