From 1e5102d2389c89f3fa984ae12def9cdecfe06f5e Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Tue, 7 Dec 2021 13:31:15 +0100 Subject: [PATCH] modulecmd: bugfix in listing available modules There was a bug in hidding overlays. In this type of overlay a module hides all modules with the same name in overlays loaded before. This didn't work if the module was unstable or deprecated. --- Pmodules/modulecmd.bash.in | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index b031b37..7dabaee 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -887,11 +887,6 @@ get_available_modules() { local entries=$(echo *) [[ -n ${entries} ]] || continue while read mod; do - get_release_stage \ - rel_stage \ - "${dir}" \ - "${mod}" - [[ :${used_rel_stages}: =~ :${rel_stage}: ]] || continue local add='no' if [[ -n "${overlay}" ]]; then # module is in an overlay @@ -918,10 +913,15 @@ get_available_modules() { # module is NOT in an overlay add='yes' fi - if [[ "${add}" == 'yes' ]]; then - mods+=( "${mod}" ${rel_stage} "${dir}/${mod}" ) - dict[${mod}]=1 - fi + [[ "${add}" == 'yes' ]] || continue + get_release_stage \ + rel_stage \ + "${dir}" \ + "${mod}" + [[ :${used_rel_stages}: =~ :${rel_stage}: ]] || continue + + mods+=( "${mod}" ${rel_stage} "${dir}/${mod}" ) + dict[${mod}]=1 done < <(${find} -L ${entries} \ \( -type f -o -type l \) \ -not -name ".*" \