From 376be20d35fe716f1b0487cd7ac51c78624c135b Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 28 Apr 2021 00:35:52 +0200 Subject: [PATCH] modulecmd.bash.in: reset_modulepath() must be global --- Pmodules/modulecmd.bash.in | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 390fb2e..cb2da82 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -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