Files
modules/init/fish.in
Xavier Delaruelle 5aaedd85ca init: enclose installation path references
Update initialization, profile and completion scripts to enclose all
references to the installation paths.

Enclosing modulecmd.tcl installation path this way is not effective with
the quarantine mechanism that implies a double shell code evaluation. So
it is advised not to install Modules in a path containing a whitespace
character if the quarantine mechanism is needed.
2022-06-16 18:57:30 +02:00

27 lines
973 B
Plaintext

# define modules runtime quarantine configuration
@setquarvars@set -xg MODULES_RUN_QUARANTINE '@RUN_QUARANTINE@'
@setquarvars@@set -xg RUNENV_VAR 'RUNENV_VAL'@
@notsetquarvars@#set -xg MODULES_RUN_QUARANTINE 'ENVVARNAME'
@notsetquarvars@
# setup quarantine if defined
set _mlre '';
for _mlv in (string split ' ' $MODULES_RUN_QUARANTINE)
if string match -r '^[A-Za-z_][A-Za-z0-9_]*$' $_mlv >/dev/null
if set -q $_mlv
set _mlre $_mlre"__MODULES_QUAR_"$_mlv"='$$_mlv' "
end
set _mlrv "MODULES_RUNENV_$_mlv"
set _mlre "$_mlre$_mlv='$$_mlrv' "
end
end
if [ -n "$_mlre" ]
set _mlre "env $_mlre __MODULES_QUARANTINE_SET=1"
end
# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
eval $_mlre @TCLSH@ \'@libexecdir@/modulecmd.tcl\' fish autoinit | source -
# clean temp variables used to setup quarantine
set -e _mlre; set -e _mlv; set -e _mlrv;