summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/boot.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/boot.lua')
-rw-r--r--plugins/boot.lua13
1 files changed, 11 insertions, 2 deletions
diff --git a/plugins/boot.lua b/plugins/boot.lua
index 98eb14baa86..858e1a5b4db 100644
--- a/plugins/boot.lua
+++ b/plugins/boot.lua
@@ -22,9 +22,18 @@ function lfs.env_replace(str)
end
_G._ = emu.lang_translate
-local dir = lfs.env_replace(manager:options().entries.pluginspath:value())
-package.path = dir .. "/?.lua;" .. dir .. "/?/init.lua"
+-- substitute environment variables in the plugins path from options
+local dirs = lfs.env_replace(manager:options().entries.pluginspath:value())
+
+-- and split the paths apart and make them suitable for package.path
+package.path = ""
+for dir in string.gmatch(dirs, "([^;]+)") do
+ if (package.path ~= "") then
+ package.path = package.path .. ";"
+ end
+ package.path = package.path .. dir .. "/?.lua;" .. dir .. "/?/init.lua"
+end
for _,entry in pairs(manager:plugins()) do
if (entry.type == "plugin" and entry.start) then