diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2020-04-13 19:46:28 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2020-04-13 22:27:17 -0300 |
| commit | 67ea6328e567fd224e7cd8ed23f55571928d7e1b (patch) | |
| tree | c66d13e8fea685210f6051037bb760c0f5478297 /src | |
| parent | 312d7f495a1c187ce988d6e19a50c19328c11ed6 (diff) | |
| download | luarocks-67ea6328e567fd224e7cd8ed23f55571928d7e1b.tar.gz luarocks-67ea6328e567fd224e7cd8ed23f55571928d7e1b.tar.bz2 luarocks-67ea6328e567fd224e7cd8ed23f55571928d7e1b.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/loader.lua | 10 |
1 files changed, 8 insertions, 2 deletions
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) | |||
| 149 | for _, tree in ipairs(tree_manifests) do | 149 | for _, tree in ipairs(tree_manifests) do |
| 150 | local entries = tree.manifest.modules[module] | 150 | local entries = tree.manifest.modules[module] |
| 151 | if entries then | 151 | if entries then |
| 152 | add_providers(providers, entries, tree, module, filter_file_name) | 152 | local n, v, f = add_providers(providers, entries, tree, module, filter_file_name) |
| 153 | if n then | ||
| 154 | return n, v, f | ||
| 155 | end | ||
| 153 | else | 156 | else |
| 154 | initmodule = initmodule or module .. ".init" | 157 | initmodule = initmodule or module .. ".init" |
| 155 | entries = tree.manifest.modules[initmodule] | 158 | entries = tree.manifest.modules[initmodule] |
| 156 | if entries then | 159 | if entries then |
| 157 | add_providers(providers, entries, tree, initmodule, filter_file_name) | 160 | local n, v, f = add_providers(providers, entries, tree, initmodule, filter_file_name) |
| 161 | if n then | ||
| 162 | return n, v, f | ||
| 163 | end | ||
| 158 | end | 164 | end |
| 159 | end | 165 | end |
| 160 | end | 166 | end |
