Modules 4.2.3 released
1553346660001
Modules version 4.2.3 has just been released. This new release in the 4.2 series has a specific focus on error management. When the evaluation of a modulefile fails during an automated module handling mechanisms everything is now done to get or to keep at the end of all evaluations a consistent environment.
The changes introduced in this bugfix release are:
- Add all the module dependency-related internal information to those saved prior a modulefile evaluation in order to correctly restore internal state in case modulefile evaluation fails.
- Init: in shell initialization scripts, initialize
MANPATHif not set with a value that preservesmanpathsystem configuration even after addition of paths to this variable by modulefiles. (fix issue#224) - Enable to define an entire path entry to the
MODULEPATHvariable which corresponds to a variable reference only. (fix issue#223) - Cookbook: add the modulefiles-in-git recipe. (contribution from Scott Johnson)
- When
module switchcommands are found in modulefiles, track switched-off modulefile as a conflict and switched-to modulefile as a requirement to apply same behaviors than formodule loadandmodule unloadcommands in modulefiles. Ifmodule switchhas only one argument, do not define a conflict toward switched-off modulefile. CAUTION: it is not recommended to usemodule switchcommand in modulefiles. (fix issue#229) - When unloading a module, revert
module switchcommands found in modulefile: switched-on module is converted to amodule unload, like formodule loadcommand. Nothing is done for switched-off module, like formodule unloadcommand. (fix issue#226) - For default element in a modulefile directory which is a module alias that points to a modulefile, when this modulefile is loaded, it receives as alternative names the eventual module aliases set on the distant directory holding the alias pointing to it. (fix issue#231)
- When unloading a module that contains
module loadormodule switchcommands in its modulefile, select for unload the automatically loaded requirement module which has been loaded prior its dependent. (fix issue#232) - Doc: describe Emacs settings useful for adhering to coding conventions in CONTRIBUTING guide. (fix issue#233 with contribution from Ben Bowers)
- When looking for a loaded or loading dependency requirement, select among the eventual multiple candidates the closest match to the dependent module.
- During the unload of a module, if the unload of one of its dependent (by the Dependent Unload mechanism) fails, abort the whole unload process. Exception made if the force mode is enabled. In this case failing module stays loaded and the Dependent Unload mechanism continues with next module to unload.
- During the unload of a module, if the unload of one of its useless requirements (by the Useless Requirement Unload mechanism) fails, keep the requirements of this failing module loaded. Such error is reported as a warning and it does not stop the whole unload process. (fix issue#240)
- During the load or the unload of a module, if the unload of one of its dependent (by the Dependent Reload mechanism) fails, abort the whole unload or load process. Exception made if the force mode is enabled. In this case failing module stays loaded and Dependent Reload mechanism continues with next module to unload. This failing module is removed from the Dependent Reload list, so it will not take part of the load phrase of the mechanism. (fix issue#239)
- During the load or the unload of a module, if the load of one of its dependent (by the Dependent Reload mechanism) fails, abort the whole unload or load process. Exception made if the force mode is enabled. In this case failing module stays loaded and Dependent Reload mechanism continues with next module to load. When the mechanism is applied during a
switchcommand, force mode is enabled by default on the load phase. (fix issue#241) - When reloading all loaded modules with the
reloadsub-command, if one reloading module fails to unload or load, abort the whole reload process to preserve environment sanity. (fix issue#237) - During the unload of a module when the automated module handling mode is disabled and this module declares its requirements with the
module loadmodulefile command. If the unload of one of its useless requirements (by the Useless Requirement Unload mechanism) fails, whole unload process is not aborted and continue with next module to unload. (fix issue#238) - Contrib: add
mtreviewutility script that analyzes test suite log file to compare actual and expected output of failed test.mtdoes not output the full test suite logs anymore but only the information produced bymtreviewon failed tests. - Install: exclude Continuous Integration configurations from dist tarballs.
The list of all changes made in this new version are described in the NEWS document. Details on the new features introduced in the 4.2 series are provided in the MIGRATING document.
http://modules.readthedocs.io/en/stable/NEWS.html
http://modules.readthedocs.io/en/stable/MIGRATING.html
The tarball of this new version can be downloaded at:
http://downloads.sourceforge.net/modules/modules-4.2.3.tar.gz
If you encounter any issue, please let us know by creating a ticket on
the project bug tracker at:
