Record module hiding rules over full path module designation in specific
structure. Also query this new structure when determining hiding level
of module.
Calls to isModuleHidden are adapted to pass full path module designation
if checking modulefile. Aliases or symbolic version are not necessarily
bound to a full path element.
Update getModuleTagProp to pass full path module designation to the
underlying getModuleTag call to get tag properties defined over a full
path module designation.
Procedures that fetch forbidden tag properties are updated to obtain
definition set over full path designation.
Update getExportTagList to pass full path module designation to the
underlying getTagList call. Full path module is not set and querying tag
information of an already loaded module.
Update getTagList to also fetch tags set over full path module
designation. These tags are concatenated to those set over regular
module name and version.
Query g_moduleTagFullPath structure first to see if tag is set over full
path module designation. Query g_moduleTagFullPathSpec structure to get
properties attached to tags set over full path module.
Add fpmod argument to isModuleTagged to also return tags set over module
full path designation.
fpmod value is only set when querying tags not already set on loaded
modules, as tags set over full path module are applied to module name
when it is loaded.
Report symbolic versions as independent element on avail sub-command
when "indesym" value is part of avail_output/avail_terse_output
configuration option.
When "indesym" value is set, "sym" and "dirwsym" elements are disabled.
Update extra match search mechanism when one variant is specified
several time in search query. Apply same behavior than for extra
specifier: all values specified act as an AND operation. For instance
"foo=val1 foo=val2" now returns modules that define a foo variant where
val1 and val2 are both values available.
Specification is only adapted for search context. On selection context
only last value is retained when same variant is set several times.
Fixes#499
Fix Sphinx configuration file (conf.py) to make it compatible with
Python3. Popen opens channel in binary mode by default on Python3. Need
to specify text mode, with universal_newlines option which is also
available on Python2.
Update extra match search mechanism to record elements defined by
modulefiles per modulepath. First dict level is updated to split
information per modulepath. This way when two modules with same name are
available in several modulepaths, if only one matches search query, the
others will not be included in result.
Fixes#497
always_read_full_file state is initialized after parsing of search
query. As a result readModuleContent fails to read module defined in
search query. This module is afterward skipped during modulefile scan
evaluations.
Fixes#494
Install ChangeLog.gz zipped documentation file instead of ChangeLog to
reduce installation size (-1.5 MB).
As a result, gzip becomes mandatory when building Modules from git
repository.