Make getenv return value on help/test/whatis modes

This commit is contained in:
Xavier Delaruelle
2018-04-16 06:46:50 +02:00
parent 99107afeba
commit 85a45a7d11
5 changed files with 307 additions and 93 deletions

View File

@@ -1678,17 +1678,19 @@ proc getenv {var} {
reportDebug "getenv: ($var) mode = $mode"
if {$mode eq "load" || $mode eq "unload"} {
if {$mode ne "display"} {
if {[info exists ::env($var)]} {
return $::env($var)
set val $::env($var)
} else {
return "_UNDEFINED_"
set val "_UNDEFINED_"
}
}\
elseif {$mode eq "display" && !$::g_inhibit_dispreport} {
return "\$$var"
} elseif {!$::g_inhibit_dispreport} {
set val "\$$var"
} else {
set val {}
}
return {}
return $val
}
proc unsetenv {var {val {}}} {

View File

@@ -0,0 +1,30 @@
#%Module1.0
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: getenv/%M%
# Revision: %I%
# First Edition: 2018/04/15
# Last Mod.: %U%, %G%
#
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
#
# Description: Testuite modulefile
# Command:
# Sub-Command: getenv, setenv
#
# Invocation: load, unload, display, help, test
# Result: %R{
# }R%
# Comment: %C{
# Check the effect of 'getenv' command on value transmission to
# variable through the different modulefile evaluation mode
# }C%
#
##############################################################################
setenv TS2 [getenv TS1]
setenv TS3 $env(TS2)
unsetenv TS4 [getenv TS1]

View File

@@ -0,0 +1,181 @@
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: modules.50-cmds/%M%
# Revision: %I%
# First Edition: 2018/04/15
# Last Mod.: %U%, %G%
#
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
#
# Description: Testuite testsequence
# Command: load, unload, display, help, test
# Modulefiles: getenv/0.6
# Sub-Command:
#
# Comment: %C{
# Check the effect of 'getenv' command on value transmission to
# variable through the different modulefile evaluation mode
# }C%
#
##############################################################################
set module "getenv/0.6"
set modulefile "$modpath/$module"
set modulefilere "$modpathre/$module"
#
# test load mode
#
set ans [list]
lappend ans [list set TS2 "_UNDEFINED_"]
lappend ans [list set TS3 "_UNDEFINED_"]
lappend ans [list unset TS4]
lappend ans [list setpath LOADEDMODULES $module]
lappend ans [list setpath _LMFILES_ $modulefile]
testouterr_cmd "sh" "load $module" $ans ""
# test with value set to variable prior to load
setenv_var TS1 "no"
set ans [list]
lappend ans [list set TS2 "no"]
lappend ans [list set TS3 "no"]
lappend ans [list unset TS4]
lappend ans [list setpath LOADEDMODULES $module]
lappend ans [list setpath _LMFILES_ $modulefile]
testouterr_cmd "sh" "load $module" $ans ""
#
# test unload mode
#
# test with module loaded
setenv_var TS1 "yes"
setenv_var TS2 "yes"
setenv_var TS3 "yes"
setenv_loaded_module $module $modulefile
set ans [list]
lappend ans [list unset TS2]
lappend ans [list unset TS3]
lappend ans [list set TS4 "yes"]
lappend ans [list unsetpath LOADEDMODULES]
lappend ans [list unsetpath _LMFILES_]
testouterr_cmd "sh" "unload $module" $ans ""
# test with module loaded but vanished env vars
unsetenv_var TS1
unsetenv_var TS2
unsetenv_var TS3
set ans [list]
lappend ans [list unset TS2]
lappend ans [list unset TS3]
lappend ans [list set TS4 "_UNDEFINED_"]
lappend ans [list unsetpath LOADEDMODULES]
lappend ans [list unsetpath _LMFILES_]
testouterr_cmd "sh" "unload $module" $ans ""
# restore environment
unsetenv_loaded_module
#
# test display mode
#
# test without module loaded
set tserr "$modlin
$modulefilere:
setenv\t\tTS2\t\\\$TS1
setenv\t\tTS3\t\\\$TS1
unsetenv\tTS4\t\\\$TS1
$modlin"
testouterr_cmd_re "sh" "display $module" "" $tserr
# test with module loaded
setenv_var TS1 "yes"
setenv_var TS2 "yes"
setenv_var TS3 "yes"
setenv_loaded_module $module $modulefile
testouterr_cmd_re "sh" "display $module" "" $tserr
# restore environment
unsetenv_var TS1
unsetenv_var TS2
unsetenv_var TS3
unsetenv_loaded_module
#
# test help mode
#
set tserr "$modlin
Module Specific Help for $modulefilere:
$warn_msgs: Unable to find ModulesHelp in $modulefilere.
$modlin"
# test without module loaded
testouterr_cmd_re "sh" "help $module" "" $tserr
# test with module loaded
setenv_var TS1 "yes"
setenv_var TS2 "yes"
setenv_var TS3 "yes"
setenv_loaded_module $module $modulefile
testouterr_cmd_re "sh" "help $module" "" $tserr
# restore environment
unsetenv_var TS1
unsetenv_var TS2
unsetenv_var TS3
unsetenv_loaded_module
#
# test test mode
#
set tserr "$modlin
Module Specific Test for $modulefilere:
$warn_msgs: Unable to find ModulesTest in $modulefilere.
$modlin"
# test without module loaded
testouterr_cmd_re "sh" "test $module" "" $tserr
# test with module previously loaded
setenv_var TS1 "yes"
setenv_var TS2 "yes"
setenv_var TS3 "yes"
setenv_loaded_module $module $modulefile
testouterr_cmd_re "sh" "test $module" "" $tserr
# restore environment
unsetenv_var TS1
unsetenv_var TS2
unsetenv_var TS3
unsetenv_loaded_module
#
# Cleanup
#
unset tserr
unset ans
unset modulefilere
unset modulefile
unset module

View File

@@ -317,7 +317,7 @@ $modlin
[test_stderr_content $modulepathre/$module/5 {} 1]"
testouterr_cmd_re "sh" "help $module/1" "OK" [help_stderr_content "$modulepathre/$module/1" $tserr1 1]
set tserr "0001Tclhelphelp$module/2$module/2shsh$module$u_sysnamere$u_nodenamere$u_domainre$u_releasere$u_versionre$u_machinere"
set tserr "_UNDEFINED_0001Tclhelphelp$module/2$module/2shsh$module$u_sysnamere$u_nodenamere$u_domainre$u_releasere$u_versionre$u_machinere"
testouterr_cmd_re "sh" "help $module/2" "OK" [help_stderr_content "$modulepathre/$module/2" "$tserr" 0]
testouterr_cmd_re "sh" "help $module/3" "ERR" [help_stderr_content "$modulepathre/$module/3" "$whatis\n\n$whatis" 0]
testouterr_cmd_re "sh" "help $module/4" $ans [help_stderr_content "$modulepathre/$module/4" "" 0]
@@ -328,7 +328,7 @@ testouterr_cmd_re "sh" "help $module/4" $ans [help_stderr_content "$modulepathre
#
testouterr_cmd_re "sh" "test $module/1" "OK" [test_stderr_content "$modulepathre/$module/1" $tserr1 1]
set tserr "0001Tcltesttest$module/2$module/2shsh$module$u_sysnamere$u_nodenamere$u_domainre$u_releasere$u_versionre$u_machinere"
set tserr "_UNDEFINED_0001Tcltesttest$module/2$module/2shsh$module$u_sysnamere$u_nodenamere$u_domainre$u_releasere$u_versionre$u_machinere"
testouterr_cmd_re "sh" "test $module/2" "OK" [test_stderr_content "$modulepathre/$module/2" "$tserr" 0]
testouterr_cmd_re "sh" "test $module/3" "ERR" [test_stderr_content "$modulepathre/$module/3" "$whatis\n\n$whatis" 0]
testouterr_cmd_re "sh" "test $module/4" $ans [test_stderr_content "$modulepathre/$module/4" "" 0]

View File

@@ -41,90 +41,91 @@ set len [string length $modpath]
set lrep [expr {($test_cols - $len - 2)/2}]
set rrep [expr {$test_cols - $len - 2 - $lrep}]
set ts_sh "[string repeat {-} $lrep] $modpath [string repeat {-} $rrep]
alias/1.0 info/specified(foo) loc_sym/alias2 modbad/is-used spread/4.0
alias/2.0 info/type loc_sym/alias3 modbad/path spread/5.0
append/0.1 info/user loc_sym/alias4 modbad/paths spread/6.0
append/0.2 info/userexp loc_sym/alias5 modbad/prepend-path spread/7.0
append/0.3 inforc/1.0 loc_sym/alias6 modbad/remove-path spread/8.0
append/0.4 inforc/2.0(avail:bar:default) loc_sym/alias7 module/2.0 spreadrc/dir1/1.0
append/0.5 inforc/foo(@) loc_sym/alias8 module/bad spreadrc/dir2/1.0
append/1.0 load/00 loc_sym/alias9 module/empty spreadrc/dir3/1.0
append/1.1 load/10 loc_sym/alias10 module/err spreadrc/dir4/1.0
append/1.3 load/11 loc_sym/alias11 module/lbad spreadrc/dir5/1.0
append/1.4 load/12 loc_sym/exec1 module/lerr spreadrc/dir6/1.0
append/1.5 load/13 loc_sym/exec2 module/lunk spreadrc/dir7/1.0
append/1.6 load/14 loc_sym/exec3 module/meta spreadrc/dir8/1.0
append/1.7 load/15 loc_sym/getvers1 module/relpath symlink/0.9
append/2.0 load/16 loc_sym/getvers2 module/unk symlink/1(@)
append/2.1 load/17 loc_sym/getvers3 modvar/modfile symlink/1.2(default:new)
append/2.2 load/18 loc_sym/getvers4 modvar/submodfile symlink/bar(@)
append/2.3 load/19 loc_sym/getvers5 prepend/0.1 symlink2/1.0
append/2.4 load/20 loc_sym/getvers6 prepend/0.2 symlink2/2.0
append/4.0 load/21 loc_sym/getvers7 prepend/0.3 system/1.0
append/4.1 load/22 loc_sym/getvers8 prepend/0.4 system/2.0
append/5.0 load/23 loc_sym/getvers9 prepend/0.5 test/1.0
append/6.0 load/24 loc_sym/getvers10 prepend/1.0 test/1.2
append/7.0 load/25 loc_sym/versinf1 prepend/1.1 test/2.0
averssort/1(@) load/26 loc_sym/versinf2 prepend/1.3 tr2_loc(trreg)
averssort/1.2.4(@) load/27 loc_sym/versinf3 prepend/1.4 tr2_loc/al1(tr2unstable:@)
averssort/1.10(@) load/28 loc_sym/versinf4 prepend/1.5 tr2_loc/al2(tr2bar:@)
bad/after(good) load/29 loc_sym/versinf5 prepend/1.6 tr2_loc/al3(default:tr2exp:trreg:@)
bad/before load/30 loc_sym/versinf6 prepend/1.7 tr2_loc/al4(@)
bad2/body load/all(default) loc_sym/versinf7 prepend/1.8 tr2_loc/al5(default:trreg:@)
bad2/proc loc_def/default loc_sym/version1 prepend/1.9 tr_loc/al1(tr2unstable:trunstable:@)
break/1.0 loc_def/truedef loc_sym/version2 prepend/2.0 tr_loc/al2(default:tr2bar:tr2exp:trbar:trreg:@)
break/2.0 loc_dv1/1.0 loc_sym/version3 prepend/2.1 tr_loc/al3(trexp:@)
break/3.0 loc_dv1/2.0 loc_sym/version4 prepend/2.2 tr_loc/al4(@)
break/4.0 loc_dv2/1.0(default) loc_sym/version5 prepend/2.3 tr_loc/al5(@)
break/5.0 loc_dv2/2.0 loc_sym/version6 prepend/2.4 trace/all_off
break/6.0 loc_dv3/1.0 loc_sym/version7 prepend/3.0 trace/all_on
chdir/1.0 loc_dv3/2.0 loc_sym/version8 prepend/3.1 uname/cache
chdir/2.0 loc_dv4/1.0 loc_sym/version9 prepend/4.0 uname/domain
chdir/3.0 loc_dv6/1.0 loc_sym/version10 prereq/full uname/machine
chdir/4.0 loc_dv6/2.0/1.0 loc_sym/version11 prereq/fullpath uname/nodename
coll/a loc_dv7/1.0 loc_sym/version12 prereq/module uname/release
coll/b loc_dv7/2.0(default) loc_sym/version13 prereq/orlist uname/sysname
coll/c loc_dv7/2.0/1.0 loc_sym/version14 prereq/relpath uname/unk
coll/d loc_dv7/3.0 loc_sym/version15 puts/1 uname/version
conflict/full loc_dv8/1.0 loc_sym/version16 puts/2 unsetenv/0.6
conflict/fullpath loc_dv8/2.0 loc_sym/version17 puts/3 unsetenv/0.8
conflict/module loc_dv9/1.0(default) loc_sym/version18 puts/4 unsetenv/0.9
conflict/relpath loc_dv9/2.0 loc_sym/version19 puts/5 unsetenv/1.0
continue/1.0 loc_dvv1/1.0(default) loc_sym/version20 puts/6 use/1.0(default)
continue/2.0 loc_dvv1/2.0 loc_sym/version21 puts/7 use/2.0
continue/3.0 loc_fq/1.0 loc_sym/version22 puts/8 use/2.1
continue/4.0 loc_rc1/1.0(foo) loc_sym/version23 recurs/modA use/2.2
continue/5.0 loc_rc1/2.0 loc_sym/version24 recurs/modB use/3.0
continue/6.0 loc_rc2/1.0(bar:blah:foo) loc_sym/version25 remove/0.3 use/3.1
dirmodalias(@) loc_rc2/2.0 loc_sym/version26 remove/0.4 use/3.2
dirmodalias/1.0 loc_rc3/1.0(default) loc_tr(reg) remove/0.5 use/4.0
dirmodvirt loc_rc3/2.0(cur:stable) loc_tr/1.0(cur:stable) remove/1.0 use/4.1
dirmodvirt/1.0 loc_rc3/3.0(chk:exp:new:test) loc_tr/2.0(next:tr2unstable:trunstable:unstable) remove/1.3 user/adv
empty/1.0 loc_rc4/1.0 loc_tr/3.0(bar:default:exp:foo:reg:tr2bar:tr2exp:trbar:trexp:trreg) remove/1.4 user/advanced
eschars/1.0 loc_rc4/2.0(default) loc_tr/al1(unstable:@) remove/1.5 user/exp
exit/1.0 loc_rc4/3.0 loc_tr/al2(bar:default:exp:reg:trexp:@) remove/1.6 user/expert
exit/2.0 loc_rc5/1.0 loc_tr/al3(default:exp:reg:@) remove/1.7 user/nov
exit/3.0 loc_rc5/2.0 loc_tr/al4(default:reg:@) remove/2.0 user/novice
exit/4.0 loc_rc6/0.9 loc_virt1/1.0 remove/2.3 user/undef
getenv/1.0 loc_rc6/1(@) loc_virt1/2.0 remove/2.4 verbose/msg
help/2.0 loc_rc6/1.2(default:new) loc_virt1/3.0 remove/3.0 verbose/off
info/command loc_rc6/bar(@) loc_virt1/4.0 remove/3.1 verbose/on
info/commandexp loc_rc7/0.9 loc_virt2/1.0 remove/4.0 verbose/undef
info/isavail loc_rc7/1(@) loc_virt2/2.0 remove/4.1 versions/1.1
info/isloaded loc_rc7/1.2 log/badfac remove/4.2 versions/1.2
info/issaved loc_rc7/bar(@) log/err_both_1 remove/5.0 versions/1.3
info/isused loc_rc8/0.9(@) log/err_both_2 setenv/0.6 verssort/1
info/loaded loc_rc8/1.0 log/err_file setenv/0.7.1 verssort/1.2.1
info/mode1 loc_rcv1/1(@) log/err_syslog setenv/0.7.2 verssort/1.2.4
info/mode2 loc_rcv1/1.1 modbad/append-path setenv/0.8 verssort/1.8-2015-12-01
info/mode3 loc_rcv1/1.2(default:new) modbad/autoinit setenv/1.0 verssort/1.8-2016-02-01
info/mode4 loc_rcv1/2.0 modbad/empty source/0.9 verssort/1.10
info/mode5 loc_rcv1/bar(@) modbad/foo source/1.0 whatis/lines
info/mode6 loc_rcv2/1.2 modbad/help source/1.1 whatis/multiple
info/name loc_rcv2/1.5 modbad/info-loaded source/1.2 whatis/none
info/others loc_rcv2/2.0 modbad/is-avail spread/1.0 whatis/single
info/shells loc_sym/1.0 modbad/is-loaded spread/2.0 whatis/string
info/shellsexp loc_sym/alias1 modbad/is-saved spread/3.0 x-resource/1 "
alias/1.0 info/specified(foo) loc_sym/alias3 modbad/paths spread/7.0
alias/2.0 info/type loc_sym/alias4 modbad/prepend-path spread/8.0
append/0.1 info/user loc_sym/alias5 modbad/remove-path spreadrc/dir1/1.0
append/0.2 info/userexp loc_sym/alias6 module/2.0 spreadrc/dir2/1.0
append/0.3 inforc/1.0 loc_sym/alias7 module/bad spreadrc/dir3/1.0
append/0.4 inforc/2.0(avail:bar:default) loc_sym/alias8 module/empty spreadrc/dir4/1.0
append/0.5 inforc/foo(@) loc_sym/alias9 module/err spreadrc/dir5/1.0
append/1.0 load/00 loc_sym/alias10 module/lbad spreadrc/dir6/1.0
append/1.1 load/10 loc_sym/alias11 module/lerr spreadrc/dir7/1.0
append/1.3 load/11 loc_sym/exec1 module/lunk spreadrc/dir8/1.0
append/1.4 load/12 loc_sym/exec2 module/meta symlink/0.9
append/1.5 load/13 loc_sym/exec3 module/relpath symlink/1(@)
append/1.6 load/14 loc_sym/getvers1 module/unk symlink/1.2(default:new)
append/1.7 load/15 loc_sym/getvers2 modvar/modfile symlink/bar(@)
append/2.0 load/16 loc_sym/getvers3 modvar/submodfile symlink2/1.0
append/2.1 load/17 loc_sym/getvers4 prepend/0.1 symlink2/2.0
append/2.2 load/18 loc_sym/getvers5 prepend/0.2 system/1.0
append/2.3 load/19 loc_sym/getvers6 prepend/0.3 system/2.0
append/2.4 load/20 loc_sym/getvers7 prepend/0.4 test/1.0
append/4.0 load/21 loc_sym/getvers8 prepend/0.5 test/1.2
append/4.1 load/22 loc_sym/getvers9 prepend/1.0 test/2.0
append/5.0 load/23 loc_sym/getvers10 prepend/1.1 tr2_loc(trreg)
append/6.0 load/24 loc_sym/versinf1 prepend/1.3 tr2_loc/al1(tr2unstable:@)
append/7.0 load/25 loc_sym/versinf2 prepend/1.4 tr2_loc/al2(tr2bar:@)
averssort/1(@) load/26 loc_sym/versinf3 prepend/1.5 tr2_loc/al3(default:tr2exp:trreg:@)
averssort/1.2.4(@) load/27 loc_sym/versinf4 prepend/1.6 tr2_loc/al4(@)
averssort/1.10(@) load/28 loc_sym/versinf5 prepend/1.7 tr2_loc/al5(default:trreg:@)
bad/after(good) load/29 loc_sym/versinf6 prepend/1.8 tr_loc/al1(tr2unstable:trunstable:@)
bad/before load/30 loc_sym/versinf7 prepend/1.9 tr_loc/al2(default:tr2bar:tr2exp:trbar:trreg:@)
bad2/body load/all(default) loc_sym/version1 prepend/2.0 tr_loc/al3(trexp:@)
bad2/proc loc_def/default loc_sym/version2 prepend/2.1 tr_loc/al4(@)
break/1.0 loc_def/truedef loc_sym/version3 prepend/2.2 tr_loc/al5(@)
break/2.0 loc_dv1/1.0 loc_sym/version4 prepend/2.3 trace/all_off
break/3.0 loc_dv1/2.0 loc_sym/version5 prepend/2.4 trace/all_on
break/4.0 loc_dv2/1.0(default) loc_sym/version6 prepend/3.0 uname/cache
break/5.0 loc_dv2/2.0 loc_sym/version7 prepend/3.1 uname/domain
break/6.0 loc_dv3/1.0 loc_sym/version8 prepend/4.0 uname/machine
chdir/1.0 loc_dv3/2.0 loc_sym/version9 prereq/full uname/nodename
chdir/2.0 loc_dv4/1.0 loc_sym/version10 prereq/fullpath uname/release
chdir/3.0 loc_dv6/1.0 loc_sym/version11 prereq/module uname/sysname
chdir/4.0 loc_dv6/2.0/1.0 loc_sym/version12 prereq/orlist uname/unk
coll/a loc_dv7/1.0 loc_sym/version13 prereq/relpath uname/version
coll/b loc_dv7/2.0(default) loc_sym/version14 puts/1 unsetenv/0.6
coll/c loc_dv7/2.0/1.0 loc_sym/version15 puts/2 unsetenv/0.8
coll/d loc_dv7/3.0 loc_sym/version16 puts/3 unsetenv/0.9
conflict/full loc_dv8/1.0 loc_sym/version17 puts/4 unsetenv/1.0
conflict/fullpath loc_dv8/2.0 loc_sym/version18 puts/5 use/1.0(default)
conflict/module loc_dv9/1.0(default) loc_sym/version19 puts/6 use/2.0
conflict/relpath loc_dv9/2.0 loc_sym/version20 puts/7 use/2.1
continue/1.0 loc_dvv1/1.0(default) loc_sym/version21 puts/8 use/2.2
continue/2.0 loc_dvv1/2.0 loc_sym/version22 recurs/modA use/3.0
continue/3.0 loc_fq/1.0 loc_sym/version23 recurs/modB use/3.1
continue/4.0 loc_rc1/1.0(foo) loc_sym/version24 remove/0.3 use/3.2
continue/5.0 loc_rc1/2.0 loc_sym/version25 remove/0.4 use/4.0
continue/6.0 loc_rc2/1.0(bar:blah:foo) loc_sym/version26 remove/0.5 use/4.1
dirmodalias(@) loc_rc2/2.0 loc_tr(reg) remove/1.0 user/adv
dirmodalias/1.0 loc_rc3/1.0(default) loc_tr/1.0(cur:stable) remove/1.3 user/advanced
dirmodvirt loc_rc3/2.0(cur:stable) loc_tr/2.0(next:tr2unstable:trunstable:unstable) remove/1.4 user/exp
dirmodvirt/1.0 loc_rc3/3.0(chk:exp:new:test) loc_tr/3.0(bar:default:exp:foo:reg:tr2bar:tr2exp:trbar:trexp:trreg) remove/1.5 user/expert
empty/1.0 loc_rc4/1.0 loc_tr/al1(unstable:@) remove/1.6 user/nov
eschars/1.0 loc_rc4/2.0(default) loc_tr/al2(bar:default:exp:reg:trexp:@) remove/1.7 user/novice
exit/1.0 loc_rc4/3.0 loc_tr/al3(default:exp:reg:@) remove/2.0 user/undef
exit/2.0 loc_rc5/1.0 loc_tr/al4(default:reg:@) remove/2.3 verbose/msg
exit/3.0 loc_rc5/2.0 loc_virt1/1.0 remove/2.4 verbose/off
exit/4.0 loc_rc6/0.9 loc_virt1/2.0 remove/3.0 verbose/on
getenv/0.6 loc_rc6/1(@) loc_virt1/3.0 remove/3.1 verbose/undef
getenv/1.0 loc_rc6/1.2(default:new) loc_virt1/4.0 remove/4.0 versions/1.1
help/2.0 loc_rc6/bar(@) loc_virt2/1.0 remove/4.1 versions/1.2
info/command loc_rc7/0.9 loc_virt2/2.0 remove/4.2 versions/1.3
info/commandexp loc_rc7/1(@) log/badfac remove/5.0 verssort/1
info/isavail loc_rc7/1.2 log/err_both_1 setenv/0.6 verssort/1.2.1
info/isloaded loc_rc7/bar(@) log/err_both_2 setenv/0.7.1 verssort/1.2.4
info/issaved loc_rc8/0.9(@) log/err_file setenv/0.7.2 verssort/1.8-2015-12-01
info/isused loc_rc8/1.0 log/err_syslog setenv/0.8 verssort/1.8-2016-02-01
info/loaded loc_rcv1/1(@) modbad/append-path setenv/1.0 verssort/1.10
info/mode1 loc_rcv1/1.1 modbad/autoinit source/0.9 whatis/lines
info/mode2 loc_rcv1/1.2(default:new) modbad/empty source/1.0 whatis/multiple
info/mode3 loc_rcv1/2.0 modbad/foo source/1.1 whatis/none
info/mode4 loc_rcv1/bar(@) modbad/help source/1.2 whatis/single
info/mode5 loc_rcv2/1.2 modbad/info-loaded spread/1.0 whatis/string
info/mode6 loc_rcv2/1.5 modbad/is-avail spread/2.0 x-resource/1
info/name loc_rcv2/2.0 modbad/is-loaded spread/3.0
info/others loc_sym/1.0 modbad/is-saved spread/4.0
info/shells loc_sym/alias1 modbad/is-used spread/5.0
info/shellsexp loc_sym/alias2 modbad/path spread/6.0 "
set ts_sh_small "- $modpath.deep -
dir2/1.0(d1)