modulecmd.bash.in: reset_modulepath() must be global

This commit is contained in:
2021-04-28 00:35:52 +02:00
parent f9430563e5
commit 376be20d35
+18 -15
View File
@@ -1715,6 +1715,24 @@ subcommand_refresh() {
subcommand_generic0 'refresh' "$@"
}
#
# help function, used during initialization and for purging all modules
#
reset_modulepath() {
MODULEPATH=''
local group
local overlay
for overlay in "${!OverlayDict[@]}"; do
for group in ${PMODULES_DEFAULT_GROUPS}; do
local dir="${overlay}/${group}/${PMODULES_MODULEFILES_DIR}"
if [[ -d "${dir}" ]]; then
std::prepend_path MODULEPATH "${dir}"
Dir2OverlayMap[${dir}]=${overlay}
fi
done
done
}
pmodules_init() {
declare -gx LOADEDMODULES=''
declare -gx _LMFILES_=''
@@ -1735,21 +1753,6 @@ pmodules_init() {
g_env_must_be_saved='yes'
}
reset_modulepath() {
MODULEPATH=''
local group
local overlay
for overlay in "${!Overlays[@]}"; do
for group in ${PMODULES_DEFAULT_GROUPS}; do
local dir="${overlay}/${group}/${PMODULES_MODULEFILES_DIR}"
if [[ -d "${dir}" ]]; then
std::prepend_path MODULEPATH "${dir}"
MapDirsToOverlays[${dir}]=${overlay}
fi
done
done
}
reset_used_releases() {
declare -g UsedReleases=''
for r in ${PMODULES_DEFAULT_RELEASES//:/ }; do