From e9bd27d928bd5aa8534f21a35b8f59cd7ad62d69 Mon Sep 17 00:00:00 2001 From: Xavier Delaruelle Date: Sat, 28 Mar 2020 15:58:10 +0100 Subject: [PATCH] Filter hidden sym/alias/module from aliases output Filter-out from the output of the `aliases` sub-command all hidden aliases, symbolic versions or hidden modules targeted by a non-hidden symbolic version. Fixes #330 --- modulecmd.tcl.in | 11 +++++++++-- testsuite/modules.70-maint/130-aliases.exp | 4 ---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/modulecmd.tcl.in b/modulecmd.tcl.in index e3aa02a2..06f8e26c 100644 --- a/modulecmd.tcl.in +++ b/modulecmd.tcl.in @@ -10244,13 +10244,20 @@ proc cmdModuleAliases {} { set display_list {} foreach name [lsort -dictionary [array names ::g_moduleAlias]] { - lappend display_list "[sgr al $name] -> $::g_moduleAlias($name)" + # exclude hidden aliases from result + if {![isModuleHidden $name]} { + lappend display_list "[sgr al $name] -> $::g_moduleAlias($name)" + } } displayElementList Aliases hi sepline 1 0 $display_list set display_list {} foreach name [lsort -dictionary [array names ::g_moduleVersion]] { - lappend display_list "[sgr sy $name] -> $::g_moduleVersion($name)" + # exclude hidden versions or versions targeting an hidden module + if {![isModuleHidden $name] && ![isModuleHidden\ + $::g_moduleVersion($name)]} { + lappend display_list "[sgr sy $name] -> $::g_moduleVersion($name)" + } } displayElementList Versions hi sepline 1 0 $display_list } diff --git a/testsuite/modules.70-maint/130-aliases.exp b/testsuite/modules.70-maint/130-aliases.exp index 1d393b2e..ff859bd1 100644 --- a/testsuite/modules.70-maint/130-aliases.exp +++ b/testsuite/modules.70-maint/130-aliases.exp @@ -92,8 +92,6 @@ loc_rc3/test -> loc_rc3/3.0 loc_rc4/default -> loc_rc4/2.0 loc_rc6/default -> loc_rc6/1.2 loc_rc6/new -> loc_rc6/1.2 -loc_rc8/foo -> loc_rc8/.2.0 -loc_rc010/default -> loc_rc010/.1.0 loc_rcv1/default -> loc_rcv1/1.2 loc_rcv1/new -> loc_rcv1/1.2 loc_tr/bar -> loc_tr/3.0 @@ -221,8 +219,6 @@ loc_rc3/test -> loc_rc3/3.0 loc_rc4/default -> loc_rc4/2.0 loc_rc6/default -> loc_rc6/1.2 loc_rc6/new -> loc_rc6/1.2 -loc_rc8/foo -> loc_rc8/.2.0 -loc_rc010/default -> loc_rc010/.1.0 loc_rcv1/default -> loc_rcv1/1.2 loc_rcv1/new -> loc_rcv1/1.2 loc_tr/bar -> loc_tr/3.0