changes.rst (modules-5.1.1.tar.bz2) | : | changes.rst (modules-5.2.0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 278 | skipping to change at line 278 | |||
Package Initialization | Package Initialization | |||
"""""""""""""""""""""" | """""""""""""""""""""" | |||
Support for *fish*, *lisp*, *tcl* and *R* code output has been introduced on Mod ules ``4.0``. | Support for *fish*, *lisp*, *tcl* and *R* code output has been introduced on Mod ules ``4.0``. | |||
On version 4 and for *sh*, *bash*, *ksh*, *zsh* and *fish* shells, text output, like listing from the :subcmd:`avail` command, is redirected from *stderr* to *s tdout* after shell command evaluation if shell is in interactive mode. Starting version ``4.1``, this content redirection occurs if shell session is attached to a terminal. | On version 4 and for *sh*, *bash*, *ksh*, *zsh* and *fish* shells, text output, like listing from the :subcmd:`avail` command, is redirected from *stderr* to *s tdout* after shell command evaluation if shell is in interactive mode. Starting version ``4.1``, this content redirection occurs if shell session is attached to a terminal. | |||
Starting version ``4.5``, a new alias or function called :command:`ml` may be de fined at initialization time, to provide a handy frontend to the :command:`modul e` command. | Starting version ``4.5``, a new alias or function called :command:`ml` may be de fined at initialization time, to provide a handy frontend to the :command:`modul e` command. | |||
Starting version ``4.5``, support for Windows *cmd* shell is introduced. | ||||
Modulecmd startup | Modulecmd startup | |||
""""""""""""""""" | """"""""""""""""" | |||
Starting with version ``4.1``, :file:`modulecmd.tcl` sources upon invocation a s ite-specific configuration script named :file:`siteconfig.tcl`. This Tcl script enables to supersede any global variable or procedure definition of modulecmd.tc l. | Starting with version ``4.1``, :file:`modulecmd.tcl` sources upon invocation a s ite-specific configuration script named :file:`siteconfig.tcl`. This Tcl script enables to supersede any global variable or procedure definition of modulecmd.tc l. | |||
Command line switches | Command line switches | |||
""""""""""""""""""""" | """"""""""""""""""""" | |||
The following command line switches appeared on Modules 4. | The following command line switches appeared on Modules 4. | |||
skipping to change at line 630 | skipping to change at line 632 | |||
environment changes they define (i.e., shell aliases and functions). With | environment changes they define (i.e., shell aliases and functions). With | |||
this change the :subcmd:`refresh` sub-command is restored to the behavior it | this change the :subcmd:`refresh` sub-command is restored to the behavior it | |||
had on Modules version 3.2. | had on Modules version 3.2. | |||
:subcmd:`restore`, :subcmd:`source` | :subcmd:`restore`, :subcmd:`source` | |||
Only report the module load and unload directly triggered by these | Only report the module load and unload directly triggered by these | |||
sub-commands. Load and unload triggered by other modules are reported through | sub-commands. Load and unload triggered by other modules are reported through | |||
the automated module handling messages of the main modules. | the automated module handling messages of the main modules. | |||
:subcmd:`restore` | ||||
Starting Modules 5.2: | ||||
* if no argument is provided and if default collection does not exist, | ||||
initial environment is restored. | ||||
* *sticky* modules are unloaded when restoring a collection. | ||||
:subcmd:`source` | :subcmd:`source` | |||
Enforce use of the Modules magic cookie (i.e., ``#%Module`` file signature) at | Enforce use of the Modules magic cookie (i.e., ``#%Module`` file signature) at | |||
the start of any scriptfile passed for evaluation to the :subcmd:`source` | the start of any scriptfile passed for evaluation to the :subcmd:`source` | |||
sub-command. These files are not evaluated and an error is produced if the | sub-command. These files are not evaluated and an error is produced if the | |||
magic cookie is missing or if the optional version number placed after the | magic cookie is missing or if the optional version number placed after the | |||
cookie string is higher than the version of the :file:`modulecmd.tcl` script | cookie string is higher than the version of the :file:`modulecmd.tcl` script | |||
in use. | in use. | |||
:subcmd:`saveshow` | ||||
Starting Modules 5.2, if no argument is provided and if default collection | ||||
does not exist, initial environment is displayed. | ||||
:subcmd:`use` | :subcmd:`use` | |||
Non-existent modulepath is now accepted as argument. | Non-existent modulepath is now accepted as argument. | |||
Reference counting mechanism is ignored when sub-command is not called during | Reference counting mechanism is ignored when sub-command is not called during | |||
a modulefile evaluation. In such context, a :subcmd:`module use<use>` will | a modulefile evaluation. In such context, a :subcmd:`module use<use>` will | |||
not increase the reference counter of a path entry already defined. | not increase the reference counter of a path entry already defined. | |||
:subcmd:`unuse` | :subcmd:`unuse` | |||
skipping to change at line 680 | skipping to change at line 695 | |||
These modulefile commands have been undeclared from the modulerc Tcl | These modulefile commands have been undeclared from the modulerc Tcl | |||
interpreter on Modules 5. An error message is obtained if still used instead | interpreter on Modules 5. An error message is obtained if still used instead | |||
of silently ignoring it. | of silently ignoring it. | |||
:mfcmd:`getenv` | :mfcmd:`getenv` | |||
When passed environment variable is not defined, an empty string is returned | When passed environment variable is not defined, an empty string is returned | |||
by default rather ``_UNDEFINED_``. | by default rather ``_UNDEFINED_``. | |||
Starting version 5.1, the ``--return-value`` option is added to return | ||||
environment variable value or its fallback when modulefile is evaluated in | ||||
*display* mode. | ||||
:mfcmd:`module` | :mfcmd:`module` | |||
Forbid use of :subcmd:`module source<source>` command in modulefile or in an | Forbid use of :subcmd:`module source<source>` command in modulefile or in an | |||
initialization rc file, the ``source`` Tcl command should be used instead. | initialization rc file, the ``source`` Tcl command should be used instead. | |||
Starting version ``5.1``, an error is raised when an unused option is set | Starting version ``5.1`` an error is raised when an unused option is set on | |||
on ``module use`` or ``module unuse`` commands. | ``module use`` or ``module unuse`` commands. | |||
Starting version ``5.1``, options ``--*-on-unload`` added to the | ||||
:mfcmd:`remove-path` command are also added to the ``module unuse`` command. | ||||
:mfcmd:`remove-path` | ||||
Starting with version ``5.1``, the ``--remove-on-unload`` option is added to | ||||
also remove value when modulefile is unloaded. | ||||
Starting with version ``5.1``, the ``--append-on-unload`` and | ||||
``--prepend-on-unload`` options are added to restore when modulefile is | ||||
unloaded the value list unset at load time. | ||||
Starting with version ``5.1``, the ``--noop-on-unload`` option is added to | ||||
perform no operation when modulefile is unloaded. | ||||
:mfcmd:`setenv` | ||||
Starting with version ``5.1``, the ``--set-if-undef`` option is added to set | ||||
environment variable when modulefile is loaded only if not yet defined. | ||||
:mfcmd:`unsetenv` | :mfcmd:`unsetenv` | |||
When running on an unload evaluation, do not unset designated environment | When running on an unload evaluation, do not unset designated environment | |||
variable if no value to restore is provided. | variable if no value to restore is provided. | |||
Distinguish between being called on a unload evaluation without a value to | Distinguish between being called on a unload evaluation without a value to | |||
restore or with an empty string value to restore. | restore or with an empty string value to restore. | |||
Starting with version ``5.1``, the ``--noop-on-unload`` option is added to | ||||
perform no operation when modulefile is unloaded. | ||||
Starting with version ``5.1``, the ``--unset-on-unload`` option is added to | ||||
also unset variable when modulefile is unloaded. | ||||
:mfcmd:`variant` | :mfcmd:`variant` | |||
Starting version 5.1, :mfcmd:`variant` command accepts being called without | Starting version 5.1, :mfcmd:`variant` command accepts being called without a | |||
a list of accepted value defined. In this case, any value specified is | list of accepted value defined. In this case, any value specified is | |||
accepted. | accepted. | |||
Starting version 5.1, the ``--return-value`` option is added to return | ||||
variant value or its fallback when modulefile is evaluated in *display* mode. | ||||
Locating Modulefiles | Locating Modulefiles | |||
"""""""""""""""""""" | """""""""""""""""""" | |||
As the :ref:`Advanced module version specifiers` mechanism is enabled by | As the :ref:`Advanced module version specifiers` mechanism is enabled by | |||
default on Modules 5, several characters are made special and cannot be used | default on Modules 5, several characters are made special and cannot be used | |||
anymore in module name or version. These characters are ``@``, ``=``, ``~``, | anymore in module name or version. These characters are ``@``, ``=``, ``~``, | |||
``+`` and ``,``. Also a module name cannot start with ``-`` character. Module | ``+`` and ``,``. Also a module name cannot start with ``-`` character. Module | |||
name is allowed to finish by one or more ``+`` character but ``+`` cannot be | name is allowed to finish by one or more ``+`` character but ``+`` cannot be | |||
used at the start or inside a module name. | used at the start or inside a module name. | |||
skipping to change at line 818 | skipping to change at line 800 | |||
""""""""""""""""""""" | """"""""""""""""""""" | |||
The following command line switches appeared on Modules 5. | The following command line switches appeared on Modules 5. | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| Introduced | New command line switches | | | Introduced | New command line switches | | |||
| in version | | | | in version | | | |||
+============+=================================================================+ | +============+=================================================================+ | |||
| 5.1 | :option:`--redirect`, :option:`--no-redirect`, :option:`--tag` | | | 5.1 | :option:`--redirect`, :option:`--no-redirect`, :option:`--tag` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| 5.2 | :option:`--timer` | | ||||
+------------+-----------------------------------------------------------------+ | ||||
Module Sub-Commands | Module Sub-Commands | |||
""""""""""""""""""" | """"""""""""""""""" | |||
The following module sub-commands appeared on Modules 5. | The following module sub-commands appeared on Modules 5. | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| Introduced | New module sub-commands | | | Introduced | New module sub-commands | | |||
| in version | | | | in version | | | |||
+============+=================================================================+ | +============+=================================================================+ | |||
| 5.1 | :subcmd:`state`, :subcmd:`load-any` | | | 5.1 | :subcmd:`state`, :subcmd:`load-any` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| 5.2 | :subcmd:`lint`, :subcmd:`mod-to-sh`, :subcmd:`reset`, | | ||||
| | :subcmd:`stash`, :subcmd:`stashpop`, :subcmd:`stashrm`, | | ||||
| | :subcmd:`stashshow`, :subcmd:`stashclear`, :subcmd:`stashlist` | | ||||
+------------+-----------------------------------------------------------------+ | ||||
:subcmd:`list` | :subcmd:`list` | |||
Starting Modules 5.1, this sub-command accepts patterns to filter the loaded | Starting Modules 5.1: | |||
modules to list. | ||||
* this sub-command accepts patterns to filter the loaded modules to list. | ||||
* the :option:`--starts-with` and :option:`--contains` options are supported | ||||
on this sub-command to provide the regular search match capabilities. | ||||
:subcmd:`refresh` | ||||
Starting Modules 5.2, only the loaded modules listed in the | ||||
:envvar:`__MODULES_LMREFRESH` environment variables are refreshed. | ||||
:subcmd:`restore` | ||||
Starting Modules 5.2, initial environment is restored when specified | ||||
collection name is ``__init__``. | ||||
:subcmd:`savelist` | ||||
Starting Modules 5.2: | ||||
Starting Modules 5.1, the :option:`--starts-with` and :option:`--contains` | * this sub-command accepts patterns to filter the named collections to list. | |||
options are supported on this sub-command to provide the regular search match | * the :option:`--starts-with` and :option:`--contains` options are supported | |||
capabilities. | on this sub-command to provide the regular search match capabilities. | |||
* the :option:`--all` option is supported on this sub-command not to limit to | ||||
the collection matching currently set collection target. | ||||
:subcmd:`saveshow` | ||||
Starting Modules 5.2, initial environment is displayed when specified | ||||
collection name is ``__init__``. | ||||
:subcmd:`sh-to-mod` | :subcmd:`sh-to-mod` | |||
Starting Modules 5.1, this sub-command also tracks shell completion changes | Starting Modules 5.1, this sub-command also tracks shell completion changes | |||
for bash, tcsh and fish shells. | for bash, tcsh and fish shells. | |||
:subcmd:`source` | ||||
Starting Modules 5.2, this sub-command accepts modulefile specification as | ||||
argument in addition to file path. | ||||
Environment | Environment | |||
""""""""""" | """"""""""" | |||
The following environment variables appeared on Modules 5. | The following environment variables appeared on Modules 5. | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| Introduced | New environment variables | | | Introduced | New environment variables | | |||
| in version | | | | in version | | | |||
+============+=================================================================+ | +============+=================================================================+ | |||
| 5.0 | :envvar:`MODULES_QUARANTINE_SUPPORT`, | | | 5.0 | :envvar:`MODULES_QUARANTINE_SUPPORT`, | | |||
| | :envvar:`__MODULES_QUARANTINE_SET`, | | | | :envvar:`__MODULES_QUARANTINE_SET`, | | |||
| | :envvar:`__MODULES_AUTOINIT_INPROGRESS` | | | | :envvar:`__MODULES_AUTOINIT_INPROGRESS` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| 5.1 | :envvar:`MODULES_REDIRECT_OUTPUT`, | | | 5.1 | :envvar:`MODULES_REDIRECT_OUTPUT`, | | |||
| | :envvar:`MODULES_MCOOKIE_CHECK`, | | | | :envvar:`MODULES_MCOOKIE_CHECK`, | | |||
| | :envvar:`MODULES_FAMILY_\<NAME\>`, | | | | :envvar:`MODULES_FAMILY_\<NAME\>`, | | |||
| | :envvar:`__MODULES_PUSHENV_\<VAR\>`, | | | | :envvar:`__MODULES_PUSHENV_\<VAR\>`, | | |||
| | :envvar:`__MODULES_LMEXTRATAG`, | | | | :envvar:`__MODULES_LMEXTRATAG`, | | |||
| | :envvar:`MODULES_COLLECTION_PIN_TAG` | | | | :envvar:`MODULES_COLLECTION_PIN_TAG` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| 5.2 | :envvar:`MODULES_PROTECTED_ENVVARS`, | | ||||
| | :envvar:`MODULES_TCL_LINTER`, | | ||||
| | :envvar:`__MODULES_LMINIT`, | | ||||
| | :envvar:`MODULES_RESET_TARGET_STATE`, | | ||||
| | :envvar:`__MODULES_LMREFRESH` | | ||||
+------------+-----------------------------------------------------------------+ | ||||
Modules Specific Tcl Commands | Modules Specific Tcl Commands | |||
""""""""""""""""""""""""""""" | """"""""""""""""""""""""""""" | |||
The following modulefile Tcl commands appeared on Modules 5. | The following modulefile Tcl commands appeared on Modules 5. | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| Introduced | New modulefile Tcl commands | | | Introduced | New modulefile Tcl commands | | |||
| in version | | | | in version | | | |||
+============+=================================================================+ | +============+=================================================================+ | |||
skipping to change at line 888 | skipping to change at line 911 | |||
| | :mfcmd:`prereq-all`, :mfcmd:`always-load`, | | | | :mfcmd:`prereq-all`, :mfcmd:`always-load`, | | |||
| | :mfcmd:`module load-any<module>`, :mfcmd:`family`, | | | | :mfcmd:`module load-any<module>`, :mfcmd:`family`, | | |||
| | :mfcmd:`complete`, :mfcmd:`uncomplete`, :mfcmd:`pushenv` | | | | :mfcmd:`complete`, :mfcmd:`uncomplete`, :mfcmd:`pushenv` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
:mfcmd:`system`, :mfcmd:`is-used` | :mfcmd:`system`, :mfcmd:`is-used` | |||
Starting Modules 5.0, these modulefile commands are available from a modulerc | Starting Modules 5.0, these modulefile commands are available from a modulerc | |||
evaluation context. | evaluation context. | |||
:mfcmd:`getenv` | ||||
Starting version 5.1, the ``--return-value`` option is added to return | ||||
environment variable value or its fallback when modulefile is evaluated in | ||||
*display* mode. | ||||
:mfcmd:`prereq`, :mfcmd:`module load/try-load/load-any/switch<module>` | :mfcmd:`prereq`, :mfcmd:`module load/try-load/load-any/switch<module>` | |||
Starting Modules 5.1, these modulefile commands accept the :option:`--tag` | Starting Modules 5.1, these modulefile commands accept the :option:`--tag` | |||
option. | option. | |||
:mfcmd:`prereq`, :mfcmd:`prereq-all`, :mfcmd:`always-load`, | ||||
:mfcmd:`depends-on` | ||||
Starting Modules 5.2, these modulefile commands accept the ``--optional`` | ||||
option. | ||||
:mfcmd:`module try-load/load-any<module>` | :mfcmd:`module try-load/load-any<module>` | |||
Starting Modules 5.1, these modulefile commands accept the ``--not-req`` | Starting Modules 5.1, these modulefile commands accept the ``--not-req`` | |||
option. | option. | |||
:mfcmd:`module unuse<module>` | ||||
Starting version ``5.1`` options ``--*-on-unload`` added to the | ||||
:mfcmd:`remove-path` command are also added to the ``module unuse`` command. | ||||
:mfcmd:`puts` | :mfcmd:`puts` | |||
Starting Modules 5.1, if content is sent to the ``prestdout`` channel, it is | Starting Modules 5.1, if content is sent to the ``prestdout`` channel, it is | |||
rendered as command to evaluate in current shell session and prior any other | rendered as command to evaluate in current shell session and prior any other | |||
environment changes. | environment changes. | |||
:mfcmd:`remove-path` | ||||
Starting with version ``5.1``: | ||||
* the ``--remove-on-unload`` option is added to also remove value when | ||||
modulefile is unloaded. | ||||
* the ``--append-on-unload`` and ``--prepend-on-unload`` options are added to | ||||
restore when modulefile is unloaded the value list unset at load time. | ||||
* the ``--noop-on-unload`` option is added to perform no operation when | ||||
modulefile is unloaded. | ||||
:mfcmd:`setenv` | ||||
Starting with version ``5.1``, the ``--set-if-undef`` option is added to set | ||||
environment variable when modulefile is loaded only if not yet defined. | ||||
:mfcmd:`source-sh` | :mfcmd:`source-sh` | |||
Starting Modules 5.1, this modulefile command also tracks shell completion | Starting Modules 5.1, this modulefile command also tracks shell completion | |||
changes for bash, tcsh and fish shells. | changes for bash, tcsh and fish shells. | |||
:mfcmd:`unsetenv` | ||||
Starting with version ``5.1``: | ||||
* the ``--noop-on-unload`` option is added to perform no operation when | ||||
modulefile is unloaded. | ||||
* the ``--unset-on-unload`` option is added to also unset variable when | ||||
modulefile is unloaded. | ||||
:mfcmd:`variant` | ||||
Starting version 5.1, the ``--return-value`` option is added to return | ||||
variant value or its fallback when modulefile is evaluated in *display* mode. | ||||
Modules Variables | Modules Variables | |||
""""""""""""""""" | """"""""""""""""" | |||
The following Modules-specific Tcl variables appeared on Modules 5. | The following Modules-specific Tcl variables appeared on Modules 5. | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| Introduced | New Modules-specific Tcl variables | | | Introduced | New Modules-specific Tcl variables | | |||
| in version | | | | in version | | | |||
+============+=================================================================+ | +============+=================================================================+ | |||
| 5.1 | :mfvar:`ModuleVersion` | | | 5.1 | :mfvar:`ModuleVersion` | | |||
skipping to change at line 935 | skipping to change at line 1005 | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| Introduced | New Modules configuration options | | | Introduced | New Modules configuration options | | |||
| in version | | | | in version | | | |||
+============+=================================================================+ | +============+=================================================================+ | |||
| 5.0 | :mconfig:`quarantine_support` | | | 5.0 | :mconfig:`quarantine_support` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| 5.1 | :mconfig:`redirect_output`, :mconfig:`mcookie_check`, | | | 5.1 | :mconfig:`redirect_output`, :mconfig:`mcookie_check`, | | |||
| | :mconfig:`collection_pin_tag` | | | | :mconfig:`collection_pin_tag` | | |||
+------------+-----------------------------------------------------------------+ | +------------+-----------------------------------------------------------------+ | |||
| 5.2 | :mconfig:`tcl_linter`, :mconfig:`protected_envvars`, | | ||||
| | :mconfig:`reset_target_state` | | ||||
+------------+-----------------------------------------------------------------+ | ||||
End of changes. 20 change blocks. | ||||
42 lines changed or deleted | 112 lines changed or added |