Enforce use of the module magic cookie (i.e., `#%Module`) at the start of
global or user rc files, `initrc` configuration file or any scriptfile
passed for evaluation to the `source` 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 cookie string is higher than
the version of the `modulecmd.tcl` script in use.
Note that version 3.2 of Modules was already enforcing the magic cookie
for the user/global rc files.
This enforced back globally to ensure people understand, especially for
the source sub-command, that the script is made for module and it is not
a shell script. It will also help to protect module from automatically
evaluating files with expected file name but unrelated content.
This commit among things reverts 3fe71c0d.
Fix unuse sub-command when sereval modulepaths are specified as a single
argument (i.e., `/path/to/dir1:/path/to/dir2`). Enabled modulepaths were
not correctly detected when specified this way.
Allow non-existent directory to be specified to use sub-command so
directory that does not exist yet could be added to MODULEPATH prior
being created.
Also it may allow a shared module configuration to define all existing
paths across the network but only some of these paths are enabled on a
given host.
Add the element `variant` in the allow list of the list_output and
list_terse_output configuration options. Set this new element in the
default value list of the list_output configuration option.
Add description of changes that occurred on version 4.6 and 4.7 for the
--with-dark-background-colors and --with-light-background-colors
installation options and for the MODULES_COLORS environment variable.
The shells_with_ksh_fpath configuration option and its relative
environment variable MODULES_SHELLS_WITH_KSH_FPATH accept a list of
shell each of them separated by colon character. Accepted shell names
are sh, bash, csh, tcsh and fish.
Report when trying to load a module which is already loaded or when
trying to unload a module which is not loaded in case the verbosity
level currently set is equal to or higher than *verbose2*.
Closes#187