From 84f3ab67034b492f52f5cabf145fb6babd3a9a50 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 21 Aug 2024 11:01:06 +0200 Subject: [PATCH] modulecmd: fix order of dirs in MODULEPATH --- Pmodules/modulecmd.bash.in | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 47419b7..9edf731 100644 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -1795,11 +1795,13 @@ subcommand_use() { die_illegal_group "${arg}" std::append_path UsedGroups "$1" - local ol_name - for ol_name in "${UsedOverlays[@]}"; do + local -- ol_name + local -i i=0 + local -i n="${#UsedOverlays[@]}" + for ((i=n-1; i>=0; i--)); do + ol_name="${UsedOverlays[i]}" local dir="${OverlayInfo[${ol_name}:modulefiles_root]}/$1/${PMODULES_MODULEFILES_DIR}" [[ -d "${dir}" ]] || continue - std::prepend_path MODULEPATH "${dir}" [[ "${OverlayInfo[${ol_name}:type]}" == "${ol_replacing}" ]] && break done