From 05338d25b4dc044b748cd12eff4138c097c76d2e Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 15 May 2019 16:16:36 +0200 Subject: [PATCH] update of PMODULES_ENV fixed in subcommand 'unload' Not all cached data has been updated while unloading a module amangst other the list of used groups (UsedGroups) --- Pmodules/modulecmd.bash.in | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 2b9cef5..f6f49c9 100755 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -864,10 +864,30 @@ subcommand_unload() { # another module. # For the time being the modules requiring this module will be # unloaded too. + local opts=() + pmodules::get_options opts -- '' "$@" || subcommand_help_${subcommand} + eval set -- "${opts[@]}" + local args=() while (( $# > 0 )); do - subcommand_generic1 unload "$1" + case $1 in + -- ) + ;; + * ) + args+=( "$1" ) + ;; + esac shift done + if (( ${#args[@]} == 0 )); then + std::die 3 "%s %s: missing argument\n" \ + "${CMD}" 'unload' + fi + + for arg in "${args[@]}"; do + local output=$("${modulecmd}" "${g_shell}" "${subcommand}" "${arg}") + echo "${output}" + eval "${output}" + done } #