From 67ea6328e567fd224e7cd8ed23f55571928d7e1b Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 13 Apr 2020 19:46:28 -0300 Subject: fix regression in dependency matching of luarocks.loader Regression introduced in https://github.com/luarocks/luarocks/commit/65c417e0ecda55f44c691df032163a8c08f0b52a Thanks to @lhemkendreis for the detailed description and suggested fix, which was applied here! Added a regression test which exercises dependency matching. Closes #1175. --- src/luarocks/loader.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/luarocks/loader.lua b/src/luarocks/loader.lua index 0cc76027..969f4844 100644 --- a/src/luarocks/loader.lua +++ b/src/luarocks/loader.lua @@ -149,12 +149,18 @@ local function select_module(module, filter_file_name) for _, tree in ipairs(tree_manifests) do local entries = tree.manifest.modules[module] if entries then - add_providers(providers, entries, tree, module, filter_file_name) + local n, v, f = add_providers(providers, entries, tree, module, filter_file_name) + if n then + return n, v, f + end else initmodule = initmodule or module .. ".init" entries = tree.manifest.modules[initmodule] if entries then - add_providers(providers, entries, tree, initmodule, filter_file_name) + local n, v, f = add_providers(providers, entries, tree, initmodule, filter_file_name) + if n then + return n, v, f + end end end end -- cgit v1.2.3-55-g6feb