diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-01-22 14:14:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-22 14:14:19 +0100 |
commit | 93402606fa46a80dff2362920c85f4497ed2a216 (patch) | |
tree | 98780a080b25787d14602531666022780fc3e009 | |
parent | bdfd023f81ccbb026b22b7f1db4310279d5ae34a (diff) | |
parent | dd089c398c2c18bd5a34d5722207c5d1c23ad8e1 (diff) | |
download | rneovim-93402606fa46a80dff2362920c85f4497ed2a216.tar.gz rneovim-93402606fa46a80dff2362920c85f4497ed2a216.tar.bz2 rneovim-93402606fa46a80dff2362920c85f4497ed2a216.zip |
Merge pull request #13603 from matveyt/master
Missing argument for package.loadlib()
-rw-r--r-- | src/nvim/lua/vim.lua | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua index b20fbbf038..80b311de2c 100644 --- a/src/nvim/lua/vim.lua +++ b/src/nvim/lua/vim.lua @@ -121,10 +121,17 @@ function vim._load_package(name) end for _,trail in ipairs(vim._so_trails) do - local path = "lua/"..trail:gsub('?',basename) + local path = "lua"..trail:gsub('?', basename) -- so_trails contains a leading slash local found = vim.api.nvim_get_runtime_file(path, false) if #found > 0 then - local f, err = package.loadlib(found[1]) + -- Making function name in Lua 5.1 (see src/loadlib.c:mkfuncname) is + -- a) strip prefix up to and including the first dash, if any + -- b) replace all dots by underscores + -- c) prepend "luaopen_" + -- So "foo-bar.baz" should result in "luaopen_bar_baz" + local dash = name:find("-", 1, true) + local modname = dash and name:sub(dash + 1) or name + local f, err = package.loadlib(found[1], "luaopen_"..modname:gsub("%.", "_")) return f or error(err) end end |