From e916f41df26e33b01f1b3ebe28881090da3a7281 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 15 Feb 2023 18:19:57 +0100 Subject: [PATCH] fix(cache): hack to work around plugins trying to load relatve modules. Fixes #543 --- lua/lazy/core/cache.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lua/lazy/core/cache.lua b/lua/lazy/core/cache.lua index 12515ec6..8a027111 100644 --- a/lua/lazy/core/cache.lua +++ b/lua/lazy/core/cache.lua @@ -230,6 +230,14 @@ function Cache.find(modname, opts) modname = modname:gsub("/", ".") local basename = modname:gsub("%.", "/") local idx = modname:find(".", 1, true) + + -- HACK: some plugins try to load invalid relative paths (see #543) + if idx == 1 then + modname = modname:gsub("^%.+", "") + basename = modname:gsub("%.", "/") + idx = modname:find(".", 1, true) + end + local topmod = idx and modname:sub(1, idx - 1) or modname -- OPTIM: search for a directory first when topmod == modname