Introduce the add-property, extensions and remove-property modulefile
commands. Implemented as a no-operation command for modulefile
evaluation context.
Add the --with-fishcompletiondir option to the configure installation
script to define a particular installation directory for the fish
completion script.
If option is not defined, fish completion script is installed by default
in initdir and it is sourced in fish init script. If option is set,
completion script is installed in designated directory and fish init
script does not source it.
Add the --with-bashcompletiondir option to the configure installation
script to define a particular installation directory for the bash
completion script.
If option is not defined, bash completion script is installed by default
in initdir and it is sourced in bash init script. If option is set,
completion script is installed in designated directory and bash init
script does not source it.
Add the --with-zshcompletiondir option to the configure installation
script to define a particular installation directory for the zsh
completion script.
If option is not defined, zsh completion script is installed by default
in initdir and the FPATH environment variable is set in zsh init script.
If option is set, completion script is installed in designated directory
and zsh init script does not set the FPATH environment variable.
Fixes#428
Add the --set-if-undef option on the setenv modulefile command. When
set, the environment variable is set when modulefile is loaded only if
currently unset.
Fixes#425
Add the parseUnsetenvCommandArgs procedure to parse arguments set on
setenv modulefile command.
Split procedure for setenv and unsetenv commands in whatis evaluation
mode, as both commands now have different set of options that should
also be parsed in whatis mode to extract targeted environment variable
name.
Add the --unset-on-unload option on the unsetenv modulefile command.
When set, the environment variable is unset when modulefile is unloaded,
like it does when modulefile is loaded.
Add the --noop-on-unload option to the unsetenv modulefile command.
Corresponds to the actual default behavior, which is enforced even if a
value to restore on unload mode is specified.
Add the --prepend-on-unload option to the remove-path and module unuse
sub-command to append specified paths when commands are evaluated in
unload mode.
If option is set prior path list specification, this path list which is
unsets when modulefile loads is appended back when modulefile unloads.
If a different path list is passed after option specification, this list
is appended on unload mode instead of the list removed at load time.
--prepend-on-unload option cannot be mixed with --index option.
Even if it corresponds to the default behavior, allow the use of the
--remove-on-unload option on the module unuse modulefile command.
Adapt existing tests.
Adapt parsePathCommandArgs procedure to allow the --remove-on-unload
option to get set after the variable name, like for --append-on-unload.
Adapt existing tests.
In case the --append-on-unload argument is set after environment
variable name but prior path list definition, the path list to use for
load evaluation will also be used on the append behavior during unload
evaluation.
In addition, if no path list is defined after --append-on-unload
argument, the list used for load evaluation is reused on the append
behavior of unload evaluation.
Applies to remove-path and module unuse modulefile commands.
Update the formatErrStackTrace procedure to filter from error stack
trace the internal calls made through the use of a variable to designate
the command to call (like done in runModuleUse).
Remove the error catch set in runModuleUse when calling for add-path or
unload-path. Errors are this way rendered like any other: internal
module bug if called during a modulefile evaluation or top error with
report link advice.