mirror of
https://github.com/envmodules/modules.git
synced 2026-06-14 00:42:43 +08:00
Register all symbolic module version in g_moduleVersion array by letting setModuleResolution procedure handle this array. So now module-version procedure deleguates g_moduleVersion handling to setModuleResolution. With this change all symbols are now registered in g_moduleVersion which enables to search on these names during an 'avail' command. It was previously possible to match these symbols only if they were explicitely defined on a 'module-version' statement and were not about the 'default' symbol. Symbols inherited by transitivity are now also registered in g_moduleVersion and resolution structure by recursive call to setModuleResolution procedure. setModuleResolution procedure has also been adapted to withdraw its 'override_default' argument. When called, setModuleResolution will now always override an already defined symbolic version, but 'module-version' procedure will refrain from calling setModuleResolution if this symbol is already set in g_moduleVersion. Introduce non-regression tests 068-transitive in 20-locate and 80-deep suites and add new tests in 060-rc in 20-locate suite to check transitive definitions in various conditions.