From be117060435fbec66358b42fb2d1b1395a44db92 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 3 Sep 2020 16:23:36 +0200 Subject: [PATCH] modulecmd.bash.in: implement use-flags with arrays --- Pmodules/modulecmd.bash.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 311b269..b2fb27a 100755 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -1033,7 +1033,7 @@ subcommand_use() { done std::info "\nUsed flags:\n" - for flag in "${UseFlags//:/ }"; do + for flag in "${!UseFlags[@]}"; do std::info "\t${flag}\n" done @@ -1061,7 +1061,7 @@ subcommand_use() { fi if [[ "${arg}" =~ "flag=" ]]; then # argument is flag - std::append_path UseFlags "${arg/flag=}" + UseFlags["${arg/flag=}"]=1 return fi if [[ -z ${GroupDepths[${arg}]} ]] && [[ -d "${PMODULES_ROOT}/${arg}" ]]; then @@ -1164,7 +1164,7 @@ subcommand_unuse() { fi if [[ "${arg}" =~ "flag=" ]]; then # argument is flag - std::remove_path UseFlags "${arg/flag=}" + unset UseFlags["${arg/flag=}"] return fi if [[ -n ${GroupDepths[${arg}]} ]] && @@ -1338,7 +1338,7 @@ pmodules_init() { declare -gx MODULEPATH='' declare -Ag GroupDepths='()' - declare -g UseFlags=() + declare -Ag UseFlags=() reset_modulepath reset_used_groups reset_used_releases