diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index f703c6a..1be23b3 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -658,10 +658,11 @@ USAGE: ' subcommand_load() { - local relstage='undef' - local current_modulefile='' - local prefix='' - local m='' + local -- relstage='undef' + local -- current_modulefile='' + local -- prefix='' + local -- m='' + local -A interp #...................................................................... # output load 'hints' @@ -873,6 +874,8 @@ subcommand_load() { # continue if already loaded [[ ":${LOADEDMODULES}:" == *:${m}:* ]] && continue + interp[${current_modulefile}]="${modulecmd}" + # show info file if exist local prefix='' get_module_prefix prefix "${current_modulefile}" @@ -884,6 +887,9 @@ subcommand_load() { deps_file="${prefix}/.dependencies" fi test -r "${deps_file}" && load_dependencies "$_" + + # load module + modulecmd="${interp[${current_modulefile}]}" local output='' output=$("${modulecmd}" 'bash' "${opts[@]}" 'load' \ "${current_modulefile}" 2> "${TmpFile}")