aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/lua/vim/loader.lua16
1 files changed, 8 insertions, 8 deletions
diff --git a/runtime/lua/vim/loader.lua b/runtime/lua/vim/loader.lua
index 75adee344d..526bbc6c5c 100644
--- a/runtime/lua/vim/loader.lua
+++ b/runtime/lua/vim/loader.lua
@@ -125,11 +125,10 @@ function Loader.cache_file(name)
end
--- Saves the cache entry for a given module or file
----@param name string module name or filename
+---@param cname string cache filename
---@param entry CacheEntry
---@private
-function Loader.write(name, entry)
- local cname = Loader.cache_file(name)
+function Loader.write(cname, entry)
local f = assert(uv.fs_open(cname, 'w', 438))
local header = {
Loader.VERSION,
@@ -156,11 +155,10 @@ local function readfile(path, mode)
end
--- Loads the cache entry for a given module or file
----@param name string module name or filename
+---@param cname string cache filename
---@return CacheEntry?
---@private
-function Loader.read(name)
- local cname = Loader.cache_file(name)
+function Loader.read(cname)
local data = readfile(cname, 438)
if data then
local zero = data:find('\0', 1, true)
@@ -268,7 +266,9 @@ function Loader.load(modpath, opts)
return Loader._loadfile(modpath, opts.mode, opts.env)
end
- local entry = Loader.read(modpath)
+ local cname = Loader.cache_file(modpath)
+
+ local entry = Loader.read(cname)
if entry and Loader.eq(entry.hash, hash) then
-- found in cache and up to date
chunk, err = load(entry.chunk --[[@as string]], '@' .. modpath, opts.mode, opts.env)
@@ -281,7 +281,7 @@ function Loader.load(modpath, opts)
chunk, err = Loader._loadfile(modpath, opts.mode, opts.env)
if chunk then
entry.chunk = string.dump(chunk)
- Loader.write(modpath, entry)
+ Loader.write(cname, entry)
end
return chunk, err
end