"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "ChangeLog" between
modules-5.1.1.tar.bz2 and modules-5.2.0.tar.bz2

About: The Environment Modules package provides for the dynamic modification of a user’s environment via modulefiles.

ChangeLog  (modules-5.1.1.tar.bz2):ChangeLog  (modules-5.2.0.tar.bz2)
2022-11-08 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* MIGRATING.rst, NEWS.rst, contrib/rpm/environment-modules.spec.in,
doc/source/conf.py, version.inc.in: Release of version 5.2.0
2022-11-05 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, NEWS.rst, doc/source/module.rst: doc: extend Collections
desc in module man
2022-11-03 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* CONTRIBUTING.rst, INSTALL-win.rst, INSTALL.rst,
contrib/vim/syntax/modulefile.vim,
doc/source/cookbook/log-module-commands.rst: doc/vim: update tcl.tk links
into tcl-lang.org
* doc/source/module.rst: doc: desc hooks made with rename in module man
2022-11-01 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, MIGRATING.rst: doc: desc. siteconfig hook var in MIGRATING
* MIGRATING.rst: doc: fix path issue in sticky module examples
2022-10-31 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, NEWS.rst, doc/source/module.rst, siteconfig.tcl: doc: add
Site-specific configuration section in man
2022-10-29 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/example/siteconfig.tcl-1, testsuite/modulefiles.3/.modulerc,
testsuite/modulefiles.3/interp/.modulerc, testsuite/modulefiles.3/interp/0,
testsuite/modulefiles.3/interp/1, testsuite/modulefiles.3/interp/2,
.../modules.50-cmds/560-siteconfig-interp.exp: ts: test specific vars/cmds
hooks in 50/560
2022-10-21 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, NEWS.rst, doc/source/conf.py: doc: desc. cmds/vars hooks
in NEWS
* siteconfig.tcl, tcl/mfinterp.tcl.in: Add hooks for specific vars/cmds in
modulerc interp ctx Introduce hooks to define specific variables and
commands for modulerc interpreter context. It relies on variables defined in
siteconfig.tcl configuration file: * modulerc_extra_vars is a list of
variable name and value pairs * modulerc_extra_cmds is a list of command
name and procedure pairs Fixes #286
* siteconfig.tcl, tcl/mfinterp.tcl.in: Add hooks for specific vars/cmds in
modulefile interp ctx Introduce hooks to define specific variables and
commands for modulefile interpreter context. It relies on variables defined
in siteconfig.tcl configuration file: * modulefile_extra_vars is a list of
variable name and value pairs * modulefile_extra_cmds is a list of command
name and procedure pairs Fixes #286
2022-10-31 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/modfind.tcl.in: Remove modvr default value on setLoadedModule proc
2022-10-30 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/025-autoinit.exp,
.../modules.20-locate/130-mcookie_check_eval.exp,
testsuite/modules.50-cmds/075-alias.exp,
testsuite/modules.50-cmds/076-alias-sub.exp,
testsuite/modules.50-cmds/077-alias-undo.exp,
testsuite/modules.50-cmds/078-refresh.exp,
testsuite/modules.50-cmds/083-info-mode.exp,
testsuite/modules.50-cmds/084-info-mode-exp.exp,
testsuite/modules.50-cmds/282-info-command.exp,
testsuite/modules.50-cmds/283-info-command-exp.exp,
testsuite/modules.50-cmds/350-allin.exp,
testsuite/modules.50-cmds/360-restoreenv.exp,
testsuite/modules.50-cmds/390-function.exp,
testsuite/modules.50-cmds/391-function-undo.exp,
testsuite/modules.50-cmds/400-source-sh.exp,
testsuite/modules.50-cmds/540-complete.exp,
testsuite/modules.50-cmds/541-uncomplete.exp,
testsuite/modules.70-maint/120-autoinit.exp,
testsuite/modules.70-maint/210-clear.exp: ts: adapt existing tests to
__MODULES_LMREFRESH
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
refresh only modules requiring it
* .aspell.en.pws, NEWS.rst, doc/source/changes.rst, doc/source/module.rst:
doc: desc. __MODULES_LMREFRESH in NEWS/man/changes
* tcl/subcmd.tcl.in: Only refresh loaded modules requiring it Use the
qualified refresh property to only evaluate in refresh mode the loaded
modules marked with this property. Fixes #477
* tcl/mfinterp.tcl.in, tcl/modeval.tcl, tcl/modfind.tcl.in,
tcl/subcmd.tcl.in: Track loaded modules qualified for refresh eval Track
loaded modules that are qualified for a refresh evaluation. Refresh
evaluation is only useful if module defines volatile environment changes:
shell completion, alias or function. An internal state, named
refresh_qualified, marks loading modules defining such volatile environment
changes. Such modules are then added to the __MODULES_LMREFRESH environment
variable to track this property once module is loaded. Code is also added
to remove module from __MODULES_LMREFRESH when it is unloaded.
* .github/workflows/differential_shellcheck.yml,
.github/workflows/lint_tests.yaml, .github/workflows/linux_tests.yaml,
.github/workflows/windows_tests.yaml, CONTRIBUTING.rst, Makefile, NEWS.rst,
README.md, configure, doc/source/conf.py,
doc/source/cookbook/modulefiles-in-git.rst, script/mpub, script/mrel: Use
main as new name for default git branch
2022-10-28 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .github/workflows/windows_tests.yaml: gh: use cygwin-install-action rather
builtin chocolatey Chocolatey version 1.2.0 shipped with latest windows
2022 image does not seem to correctly install packages from Cygwin source.
So move to cygwin/cygwin-install-action to install Cygwin packages.
* Makefile: install: use newer version of nagelfar (1.3.3)
2022-10-17 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.00-init/005-init_ts.exp,
.../modules.20-locate/112-hide-user-group.exp,
.../modules.20-locate/117-forbid-user-group.exp,
testsuite/modules.20-locate/119-hide-cascading.exp,
testsuite/modules.50-cmds/287-info-usergroups.exp,
testsuite/modules.50-cmds/440-module-tag.exp,
testsuite/modules.70-maint/220-config.exp,
testsuite/modules.70-maint/390-state.exp: ts: fix testsuite run when id cmd
cannot resolve group Update testsuite to cope with user group whose name
cannot be resolved. Fixes #476.
2022-10-16 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* Makefile, NEWS.rst, init/Makefile, init/zsh.in, tcl/subcmd.tcl.in,
testsuite/modules.70-maint/120-autoinit.exp: Revert "init: setup zsh FPATH
through autoinit command" This reverts commit
59ac24e2431df012d8b22872a0e8fd1e86a20e9f. FPATH variable cannot be handled
within autoinit process as this is not an environment variable. Thus when
modulecmd.tcl is executed, it does not know the current value of FPATH. So
if it sets FPATH during autoinit, previous value of this variable is lost.
As a result FPATH must stay defined in initialization script.
2022-10-14 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, NEWS.rst, doc/example/log-module-commands/siteconfig.tcl,
doc/source/cookbook/log-module-commands.rst: doc: fix logging sys on
log-module-command recipe Update log-module-command recipe to ensure the
logging system is not broken by the current user environment. Fixes #475.
2022-10-13 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/005-init_ts.exp: ts: skip basheu tests on bash
5.2 bash -eu test of install testsuite are skipped on new version of bash
(5.2) as internal messages currently appear when using module function with
-eu options on this version. A bug as been submitted to the bash
developers:
https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00073.html
2022-10-12 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .github/workflows/linux_tests.yaml: gh: update to codecov-action v3
* .github/workflows/lint_tests.yaml, .github/workflows/linux_tests.yaml,
.github/workflows/windows_tests.yaml: gh: update actions/upload-artifact to
v3
* .github/workflows/lint_tests.yaml, .github/workflows/linux_tests.yaml,
.github/workflows/windows_tests.yaml: gh: update actions/checkout to v3
* .github/workflows/windows_tests.yaml: gh: move windows tests to
windows-2022 image
2022-10-11 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.70-maint/210-clear.exp: ts: fix env of clear subcmd test
case
* Makefile: install: correct arg order for date cmd on FreeBSD
2022-10-10 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* MIGRATING.rst: doc: desc. stash env in MIGRATING
2022-10-07 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/module.rst: doc: desc stash in collection section of man page
* testsuite/modules.70-maint/457-stash-savelist.exp: ts: test savelist
subcmd with stash collections
2022-10-06 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/design/stash-environment.rst, doc/source/module.rst:
doc: desc. savelist stash filter in design/NEWS/man doc
* tcl/subcmd.tcl.in: Filter stash collection on savelist Update savelist
sub-command to filter out stash collections unless --all option is set.
* testsuite/modules.70-maint/456-stash-restore.exp: ts: test restore subcmd
with stash collections
2022-10-05 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* init/bash_completion.in, init/fish_completion, init/tcsh_completion.in,
init/zsh-functions/_module.in: init: update completion with stashlist output
Update stashpop, stashrm and stashshow completion definition to use
stashlist output.
2022-10-04 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/010-environ.exp,
testsuite/modules.00-init/010-environ.exp: ts: clear
MODULES_QUARANTINE_SUPPORT prior tests
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.70-maint/455-stashlist.exp: ts: add stashlist sub-cmd
tests
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.50-cmds/152-module-emptyarg.exp,
testsuite/modules.50-cmds/350-allin.exp,
testsuite/modules.61-coll/020-savelist.exp,
testsuite/modules.61-coll/021-savelist-search.exp,
testsuite/modules.61-coll/080-access-coll.exp,
testsuite/modules.70-maint/190-emptyarg.exp,
testsuite/modules.70-maint/350-term_width.exp: ts: add helper procs for
collection list header msgs
2022-10-02 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/subcmd.tcl.in: Core code for cmdModuleStashlist Implement 'stashlist'
sub-command. Rely on cmdModuleSavelist but adapt this procedure to make
several behavior changes when called by cmdModuleStashlist: * elements are
sorted in reverse order * element index starts at 0 * when no collection
target set, only return collection without a target set
2022-10-01 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/report.tcl.in, tcl/subcmd.tcl.in, tcl/util.tcl: Add getCallingProcName
util proc Return name of calling procedure with getCallingProcName.
* tcl/report.tcl.in, tcl/subcmd.tcl.in, testsuite/example/siteconfig.tcl-1:
Add start_idx argument on displayElementList Add start_idx argument on
displayElementList procedure to define what is the starting index for the
elements to report.
2022-09-29 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
stashlist subcmd in NEWS/man/changes
* testsuite/modulefiles.3/modbad/stashlist,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing
testfiles for stashlist sub-command
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashlist
subcmd to completion scripts
2022-09-28 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'stashlist' sub-command Introduce stashlist sub-command to list stash
collection file. This sub-command cannot be called from a modulefile
evaluation context. Add sub-command empty skeleton: cmdModuleStashlist.
Sub-command accepts no argument. It accepts --terse, --long and --json
options.
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc.
stashlist in stash-environment design doc
2022-09-26 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/config/base-config.exp,
testsuite/modules.70-maint/454-stashclear.exp: ts: add stashclear sub-cmd
tests
* tcl/subcmd.tcl.in: Core code for cmdModuleStashclear Implement
'stashclear' sub-command. Fetch all existing stash collection for current
collection target. Then call 'saverm' sub-command over all of these
collection obtained.
2022-09-27 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modulefiles.3/modbad/stashclear,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing
testfiles for stashclear subcmd
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
stashclear subcmd in NEWS/man/changes
2022-09-26 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashclear
subcmd to completion scripts
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'stashclear' sub-command Introduce stashclear sub-command to delete all
stash collection file. This sub-command cannot be called from a modulefile
evaluation context. Add sub-command empty skeleton: cmdModuleStashclear.
Sub-command accepts no argument nor option.
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc.
stashclear in stash-environment design doc
* testsuite/modules.00-init/005-init_ts.exp: ts: accept version name with
'/' char
* testsuite/modules.70-maint/453-stashshow.exp: ts: add stashshow sub-cmd
tests
* tcl/subcmd.tcl.in: Core code for cmdModuleStashshow Implement 'stashshow'
sub-command. Parse stash argument to get corresponding collection, then call
saveshow over this collection name.
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
stashshow subcmd in NEWS/man/changes
* testsuite/modulefiles.3/modbad/stashshow,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing
testfiles for stashshow sub-command
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashshow
subcmd to completion scripts
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'stashshow' sub-command Introduce stashshow sub-command to display stash
collection file. This sub-command cannot be called from a modulefile
evaluation context. Add sub-command empty skeleton: cmdModuleStashshow.
Sub-command accepts no option. It may take an optional argument: the index
of the stash collection to display or the name of the stash collection. If
no argument is provided, stash collection 0 is assumed.
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc.
stashshow in stash-environment design doc
* testsuite/config/base-config.exp,
testsuite/modules.70-maint/452-stashrm.exp: ts: add stashrm sub-cmd tests
2022-09-25 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/subcmd.tcl.in: Core code for cmdModuleStashrm Implement 'stashrm'
sub-command. Parse stash argument to get corresponding collection, then call
saverm over this collection name.
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Move collection resolution from stash
in dedicated proc Move collection name resolution from stash name from
cmdModuleStashpop into getCollectionFromStash procedure.
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
stashrm subcmd in NEWS/man/changes
* testsuite/modulefiles.3/modbad/stashrm,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing
testfiles for stashrm sub-command
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashrm
subcmd to completion scripts
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'stashrm' sub-command Introduce stashrm sub-command to delete stash
collection file. This sub-command cannot be called from a modulefile
evaluation context. Add sub-command empty skeleton: cmdModuleStashrm.
Sub-command accepts no option. It may take an optional argument: the index
of the stash collection to delete or the name of the stash collection. If no
argument is provided, stash collection 0 is assumed.
* .aspell.en.pws, doc/source/design/stash-environment.rst: doc: desc.
stashrm in stash-environment design doc
2022-09-22 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.70-maint/451-stashpop.exp: ts: add stashpop sub-cmd tests
* tcl/subcmd.tcl.in: Core code for cmdModuleStashpop Implement 'stashpop'
sub-command. First parse stash argument to determine corresponding stash
collection name or raise an error if stash value is invalid. Then restore
stash collection. Afterward delete stash collection.
2022-09-25 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/coll.tcl.in: Add no_other_target option to findCollections Add
no_other_target option to findCollections procedure to filter when glob
searching the result from other target. Especially useful when collections
for specific targets exist but no target is currently set in user
environment. This no_other_target is disabled by default. savelist
sub-command currently returns other targets when no target is set. But the
option will be enabled for stashpop, to ensure that the popped collection is
from the current target or from the *no target* if none set.
2022-09-21 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
stashpop subcmd in NEWS/man/changes
* testsuite/modulefiles.3/modbad/stashpop,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing
testfiles for stashpop sub-command
* doc/source/modulefile.rst, testsuite/modulefiles/info/commandexp,
testsuite/modules.50-cmds/282-info-command.exp,
testsuite/modules.50-cmds/283-info-command-exp.exp: ts/doc: add stashpop
test/doc on 'module-info command'
* doc/source/design/stash-environment.rst: doc: desc. stashpop in
stash-environment design doc
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stashpop
subcmd to completion scripts
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'stashpop' sub-command Introduce stashpop sub-command to restore a stash
collection then delete it. This sub-command cannot be called from a
modulefile evaluation context. Add sub-command empty skeleton:
cmdModuleStashpop. Sub-command accepts no option. It may take an optional
argument: the index of the stash collection to restore or the name of the
stash collection. If no argument is provided, stash collection 0 is assumed.
2022-09-09 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/config/base-config.exp, testsuite/modulefiles.3/foo/.modulerc,
testsuite/modulefiles.3/tag/.modulerc,
testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.70-maint/450-stash.exp: ts: add stash sub-cmd tests
2022-09-18 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.61-coll/030-save.exp: ts: move unsatisfied constraint msg
to init section
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.61-coll/030-save.exp: ts: move nothing to save err msg in
init section
2022-09-17 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.61-coll/040-restore.exp,
testsuite/modules.61-coll/060-saveshow.exp: ts: put coll not valid msg in a
proc
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.61-coll/040-restore.exp,
testsuite/modules.61-coll/050-saverm.exp,
testsuite/modules.61-coll/060-saveshow.exp,
testsuite/modules.61-coll/080-access-coll.exp,
testsuite/modules.70-maint/240-icase.exp,
testsuite/modules.70-maint/440-reset.exp: ts: put coll not found msg in a
proc
2022-09-11 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/modfind.tcl.in: Fix init property unserialization Update
getLoadedModulePropertyList to apply unserialization translation map also
for property not requiring sub-element split, like init.
2022-09-06 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/subcmd.tcl.in: Core code for cmdModuleStash Implement stash
sub-command. First check that a difference exists between current
environment and initial one. If so, save current environment in a
collection, then reset to initial environment.
2022-09-20 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Reword findCollections to swap default
coll by __init__ Update findCollections procedure to add swap_by_init
argument, disabled by default. When enabled if specified collection is not
found, change it to __init__. Helps to remove duplicate code from
cmdModuleSaveshow and cmdModuleRestore.
2022-09-11 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Return is_tags_diff from
getDiffBetweenCurEnvAndColl Update getDiffBetweenCurEnvAndColl to also
return is_tags_diff information. is_tags_diff indicates if loaded modules
that matches modules in collection have different tags set.
* tcl/util.tcl: Add unordered_lists_compared arg on getDiffBetweenArray
Update getDiffBetweenArray procedure to add unordered_lists_compared
argument (disabled by default). When enabled, array elements are considered
unordered list, so value comparison is adapted to check differences between
two lists.
* tcl/util.tcl, testsuite/example/siteconfig.tcl-1,
testsuite/modules.00-init/120-siteconfig.exp: Add notset_equals_empty arg to
getDiffBetweenArray Update getDiffBetweenArray procedure to add
notset_equals_empty argument (disabled by default). When enabled not-set
element in array is equivalent to element set to an empty value.
2022-09-06 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/coll.tcl.in, tcl/subcmd.tcl.in: Create getDiffBetweenCurEnvAndColl
from cmdModuleRestore Create getDiffBetweenCurEnvAndColl procedure from
code of cmdModuleRestore to analyze a collection content and produce
differences compared to current environment.
2022-09-04 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. stash
subcmd in NEWS/man/changes
* testsuite/modulefiles.3/modbad/stash,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: adapt existing
testfiles for stash sub-command
* doc/source/modulefile.rst, testsuite/modulefiles/info/commandexp,
testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.50-cmds/282-info-command.exp,
testsuite/modules.50-cmds/283-info-command-exp.exp,
testsuite/modules.61-coll/030-save.exp: ts/doc: add stash test/doc on
'module-info command'
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add stash
subcmd to completion scripts
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'stash' sub-command Introduce stash sub-command to save current environment
and restore initial one. This sub-command cannot be called from a
modulefile evaluation context. Add sub-command empty skeleton:
cmdModuleStash. Sub-command accepts no argument nor option.
* .aspell.en.pws, doc/source/design/initial-environment.rst,
doc/source/design/stash-environment.rst: doc: add stash-environment design
doc
2022-09-18 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .cirrus.yml: cirrus: test FreeBSD 13.1 instead of eol 13.0
2022-09-15 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/lint.00-init/005-init_ts.exp: ts: do not lint lib/config.guess
generated file
* .aspell.en.pws, NEWS.rst, testsuite/lint.00-init/005-init_ts.exp: ts:
temporarily ignore remaining shellcheck reports Make 'mt lint' pass with
remaining shellcheck reports on sh, bash and ksh scripts. Waiting for
another contribution to fix the remaining warnings and notices. Related:
#470
* NEWS.rst, init/profile.sh.in: init: only source sh or bash init if BASH
var is set Update profile script for sh-like shells to only source sh or
bash initialization script when BASH environment variable is found set.
Fixes #473
2022-09-04 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* CONTRIBUTING.rst, NEWS.rst: doc: desc. script/mb in CONTRIBUTING
2022-09-03 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* CONTRIBUTING.rst: doc: desc lint testsuite in CONTRIBUTING
* .aspell.en.pws, CONTRIBUTING.rst: doc: desc. script/mt utility in
CONTRIBUTING
* CONTRIBUTING.rst: doc: desc. quick testsuite mode in CONTRIBUTING
2022-09-02 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/envmngt.tcl.in, testsuite/modules.70-maint/120-autoinit.exp: Update
autoinit sh code to fix SC2166/SC2086 Apply on auto-generated autoinit code
for sh-kind shells the same changes than initialization scripts to fix the
SC2166 and SC2086 issues reported by ShellCheck linter. Autoinit generated
code is thus kept in line with initialization script code.
2022-08-31 Lukáš Zaoral <lzaoral@redhat.com>
* configure: lint(ShellCheck): fix SC2163 warning According to ShellCheck's
documentation: export takes a variable name, but ShellCheck has noticed
that you give it an expanded variable instead. Remove $/${} for that, or
use ${var?} to quiet. Related: https://www.shellcheck.net/wiki/SC2163
Related: #470
* init/profile.sh.in, script/add.modules.in, script/mkroot:
lint(ShellCheck): fix SC2046 warning According to ShellCheck's
documentation: When command expansions are unquoted, word splitting and
globbing will occur. This often manifests itself by breaking when filenames
contain spaces. Related: https://www.shellcheck.net/wiki/SC2046 Related:
#470
* configure, .../example-sessions/bar-defaults.sh,
.../example-sessions/bar-loads.sh, .../example-sessions/bar-switch.sh,
.../example-sessions/foo-avail1.sh, .../example-sessions/foo-avail2.sh,
.../example-sessions/foo-defaults.sh, .../example-sessions/foo-loads.sh,
.../example-sessions/foo-switch.sh, .../example-sessions/modavail.sh,
.../example-sessions/modversion.sh, .../example-sessions/ompi-defaults.sh,
.../example-sessions/ompi-loads1.sh, .../example-sessions/ompi-switch.sh,
.../example-sessions/ompi-switch.sh.m431, init/bash.in,
init/bash_completion.in, init/ksh.in, init/sh.in, script/add.modules.in,
script/commit-msg, script/envml, script/mkroot, script/mt,
script/pre-commit, testsuite/bin/install_test_sh, testsuite/systest:
lint(ShellCheck): fix SC2086 info diagnostic Some variables, that were
unquoted intentionally were converted to arrays. According to ShellCheck's
documentation: Quoting variables prevents word splitting and glob
expansion, and prevents the script from breaking when input contains spaces,
line feeds, glob characters and such. Related:
https://www.shellcheck.net/wiki/SC2086 Related: #470
* configure, doc/example/source-script-in-modulefile/bar-2.1/bar-setup.sh,
doc/example/source-script-in-modulefile/foo-1.2/foo-setup.sh:
lint(ShellCheck): fix SC2155 warning According to ShellCheck's
documentation: In the original code, the return value of mycmd in $(mycmd)
is ignored, and export will instead always return true. This may prevent
conditionals, set -e and traps from working correctly. Related:
https://www.shellcheck.net/wiki/SC2155 Related: #470
2022-08-26 Lukáš Zaoral <lzaoral@redhat.com>
* doc/example/source-script-in-modulefile/bar-2.1/bar-setup.sh,
doc/example/source-script-in-modulefile/foo-1.2/foo-setup.sh:
lint(ShellCheck): fix SC2128 warning These occurrences do not cause any
problems described below but it's better to be verbose that we indeed want
to access the first array element. According to ShellCheck's documentation:
When referencing arrays, $myarray is equivalent to ${myarray[0]} -- it
results in only the first of multiple elements. Related:
https://www.shellcheck.net/wiki/SC2128 Related: #470
* script/envml, testsuite/cmd.exe: lint(ShellCheck): fix SC2048 warning
According to ShellCheck's documentation: Use "$@" (with quotes) to prevent
whitespace problems. $* and ${array[*]}, unquoted, is subject to word
splitting and globbing. Related: https://www.shellcheck.net/wiki/SC2048
Related: #470
* init/bash_completion.in: lint(ShellCheck): fix SC2178 warning These
occurrences do not seem to cause any problems described below but let's
still fix it for the sake of consistency within this script. According to
ShellCheck's documentation: ShellCheck noticed that you have used a
variable as an array, but then assign it a string. array=foo is equivalent
to array[0]=foo, and leaves the rest of the elements unaffected. Related:
https://www.shellcheck.net/wiki/SC2178 Related: #470
2022-08-25 Lukáš Zaoral <lzaoral@redhat.com>
* configure, init/bash.in, init/bash_completion.in, init/ksh.in, init/sh.in,
script/envml, testsuite/bin/install_test_sh: lint(ShellCheck): fix SC2166
warning According to ShellCheck's documentation: -a and -o in [ .. ] test
expressions are not well defined, and can cause incorrect results when
arguments start with dashes or contain !. Related:
https://www.shellcheck.net/wiki/SC2166 Related: #470
* init/bash_completion.in: lint(ShellCheck): fix SC1035 error According to
ShellCheck's documentation: Bourne shells are very whitespace sensitive.
Adding or removing spaces can drastically alter the meaning of a script.
Related: https://www.shellcheck.net/wiki/SC1035 Related: #470
* script/envml, script/mt: lint(ShellCheck): fix SC2068 error According to
ShellCheck's documentation: Double quotes around $@ and ${array[@]})
prevent globbing and word splitting of individual elements, while still
expanding to multiple separate arguments. Related:
https://www.shellcheck.net/wiki/SC2068 Related: #470
* doc/example/compiler-etc-dependencies/example-sessions/common_code.sh,
init/bash.in, init/bash_completion.in, init/ksh.in, init/profile.sh.in,
init/sh.in: lint(ShellCheck): fix SC2148 error According to ShellCheck's
documentation: Different shells support different features. To give
effective advice, ShellCheck needs to know which shell your script is going
to run on. Related: https://www.shellcheck.net/wiki/SC2148 Related: #470
* init/bash.in, init/ksh.in, init/sh.in: init: add vim modeline to {,b,k}sh
scripts ... to enable correct syntax highlighting.
2022-08-31 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, NEWS.rst: doc: desc. usage and --help work for scripts in
NEWS
* script/mtreview: script: add usage msg and --help option on mtreview
* script/mlprof: script: add usage msg and --help option on mlprof
* script/mt: script: add usage msg and --help option on mt
2022-08-30 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.00-init/005-init_ts.exp: ts: accept version name with
'_' char
* script/mb: script: keep old releases among benched versions in mb Update
mb script to skip several releases and be able to run bench or profiling on
old and recent releases. Versions 4.1, 4.3, 4.5, 4.7 and 5.1 are retained
for bench mode. 4.5, 4.7 and 5.1 are retained for profile mode.
* script/mb: script: add usage msg and --help option on mb
* script/mrel: script: add usage msg and --help option on mrel
* script/mpub: script: add usage msg and --help option on mpub
2022-08-28 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in,
tcl/mfinterp.tcl.in, tcl/modeval.tcl, tcl/modfind.tcl.in, tcl/modspec.tcl,
tcl/report.tcl.in, tcl/subcmd.tcl.in,
testsuite/lint.00-init/005-init_ts.exp: Fix notices reported by linter on
tcl source files All linter reports are now fixed. Remove specific linter
rule for modulecmd.tcl in lint testsuite.
* .aspell.en.pws, .github/workflows/linux_tests.yaml: gh: migrate linux
tests to ubuntu-20.04 ubuntu-18.04 is being deprecated and will be removed
in a few weeks. For Tcl 8.5 jobs, the Tcl version has to be deployed
manually.
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in,
tcl/modfind.tcl.in, tcl/modspec.tcl, tcl/report.tcl.in, tcl/subcmd.tcl.in:
Fix too long line issues on Tcl source files
* .github/workflows/lint_tests.yaml: gh: add lint-tests workflow
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in,
tcl/modfind.tcl.in, tcl/modspec.tcl, tcl/report.tcl.in, tcl/subcmd.tcl.in:
Fix warnings reported by linter on tcl source files
2022-08-27 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/coll.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modspec.tcl,
tcl/report.tcl.in, tcl/subcmd.tcl.in, tcl/util.tcl: Fix errors reported by
linter on tcl source files Use Nagelfar comments to help linter to
correctly understand dynamic aspects of the code.
* init/tcl.in: init: fix too long line issues in tcl
* script/mb, script/mrel, script/nglfar2ccov: script: fix too long line
issues in mb/mrel/nglfar2ccov
* script/mlprof, script/mrel, script/mtreview: script: fix lint issues on
mrel/mlprof/mtreview
* testsuite/lint.00-init/030-tcl.exp: ts: add tcl script lint tests
* Makefile: Remove testsyntax Makefile target testsyntax Makefile target is
removed. testlint testsuite has to be used instead.
* testsuite/lint.00-init/022-ksh.exp: ts: add ksh script lint tests
* testsuite/lint.00-init/021-bash.exp: ts: add bash script lint tests
* testsuite/lint.00-init/020-sh.exp: ts: add sh script lint tests
* .aspell.en.pws, .gitignore, Makefile, NEWS.rst, script/mt,
testsuite/config/unix.exp, testsuite/lint.00-init/005-init_ts.exp,
testsuite/lint.00-init/006-procs.exp,
testsuite/lint.00-init/011-save_test_env.exp: ts: add lint testsuite
2022-08-26 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* contrib/readme.txt, contrib/scripts/resetenv, contrib/scripts/resetgnome,
contrib/template/.aliases, contrib/template/.bash_profile,
contrib/template/.bashrc, contrib/template/.cshrc,
contrib/template/.fvwm2rc, contrib/template/.login,
contrib/template/.logout, contrib/template/.mailcap,
contrib/template/.mime.types, contrib/template/README.dotfiles,
contrib/template/resetenv.conf: contrib: remove unmaintained template/script
content Remove the contrib template and scripts files as they are not
maintained since a long time in this repository and seem to be deprecated.
2022-08-24 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* MIGRATING.rst: doc: desc initial environment in MIGRATING
2022-08-23 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/changes.rst: doc: fix changed/new features dispatch in changes
doc
2022-08-22 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/design/initial-environment.rst,
doc/source/design/module-tags.rst, doc/source/design/sticky-modules.rst:
doc: desc. sticky unload on restore in design notes
* doc/source/changes.rst: doc: use bullet list for concise desc. in change
doc
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. sticky
unload on restore in NEWS/man/changes
2022-08-21 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.50-cmds/460-sticky.exp,
testsuite/modules.50-cmds/462-sticky-corner.exp,
testsuite/modules.70-maint/440-reset.exp: ts: adapt existing tests for
sticky unload on restore
* tcl/mfinterp.tcl.in, tcl/subcmd.tcl.in: Allow unload of sticky modules on
restore sub-cmd Allow the unload of sticky modules when restoring
collection. Goal is to be able to restore designated collection as it was
saved, thus without the loaded sticky modules. If such collections were
saved without the sticky modules in it, it means that these sticky modules
can safely be unloaded when moving to the collection state. As a result,
using the --force option is of no use for restore sub-command. This change
does not impact super-sticky modules. Such modules cannot be unloaded during
a restore, even if forced. With this change, behavior of restore
sub-command with sticky modules is aligned with Lmod.
2022-08-20 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/design/initial-environment.rst: doc: add
initial-environment design notes
2022-08-18 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.70-maint/440-reset.exp: ts: add reset_target_state tests
in 70/440
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
reset_target_state in NEWS/man/changes
2022-08-17 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/010-environ.exp,
testsuite/modules.00-init/010-environ.exp,
testsuite/modules.70-maint/220-config.exp: ts: test reset_target_state
config option
* init/Makefile, init/fish_completion, init/zsh-functions/_module.in: init:
add reset_target_state config to completion script
* tcl/init.tcl.in, tcl/subcmd.tcl.in: Add reset_target_state configuration
option Add reset_target_state configuration option that defines the
environment state restored by the reset sub-command. Equals __init__ by
default, which means reset restore the initial environment by default.
Other valid values are __purge__, which means target state is purged
environment, and any existing collection name.
2022-08-15 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst,
testsuite/modules.61-coll/060-saveshow.exp: doc: desc module saveshow when
no default in NEWS/man/changes
* testsuite/modules.61-coll/060-saveshow.exp: ts: update/add tests for
'module saveshow' behavior
* tcl/subcmd.tcl.in: Show initial env when no default collection exists
Update saveshow sub-command to display initial environment when no specific
collection is asked and default collection does not exist.
* testsuite/example/initrc.in, testsuite/modules.70-maint/120-autoinit.exp:
ts: test 'module restore' without arg in initrc
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc module
restore when no default in NEWS/man/changes
* testsuite/modules.61-coll/040-restore.exp: ts: update/add tests for
'module restore' behavior
* tcl/subcmd.tcl.in: Restore initial env when no default collection exists
Update restore sub-command to restore initial environment when no specific
collection is asked and default collection does not exist.
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. module
restore __init__ in NEWS/man/changes
* testsuite/modules.70-maint/310-sh-to-mod.exp: ts: fix binpath add
detection in 70/310
* tcl/main.tcl.in, tcl/report.tcl.in: Same special treatment for reset than
restore subcmd Reports loads/unloads like restore sub-command. No auto
unload of modules if auto_handling is disabled.
* testsuite/modulefiles.3/reset/1, testsuite/modulefiles.3/reset/2,
testsuite/modules.70-maint/440-reset.exp: ts: add auto unload test during
reset sub-cmd in 70/440
2022-08-14 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.70-maint/440-reset.exp: ts: add restore __init__ tests
in 70/440
* testsuite/example/initrc.in, testsuite/modulefiles.3/foo/.modulerc,
testsuite/modules.70-maint/120-autoinit.exp,
testsuite/modules.70-maint/440-reset.exp: ts: add reset sub-cmd tests
2022-08-13 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/example/initrc.in, testsuite/modulefiles.3/variant/1.0,
testsuite/modules.70-maint/120-autoinit.exp: ts: add autoinit tests for
__MODULES_LMINIT
* testsuite/modules.70-maint/210-clear.exp: ts: add clear tests for
__MODULES_LMINIT
* .github/workflows/linux_tests.yaml: gh: add missing xrdb tool to test
x-resource on bionic
* testsuite/modules.00-init/005-init_ts.exp: ts: add X11 setup state info to
test log
2022-08-12 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/010-environ.exp,
testsuite/modules.00-init/010-environ.exp,
testsuite/modules.70-maint/120-autoinit.exp: ts: adapt autoinit tests for
__MODULES_LMINIT Fix several issues in 70/120 test case on the way.
* .aspell.en.pws, tcl/coll.tcl.in, tcl/modfind.tcl.in, tcl/subcmd.tcl.in:
Core code for cmdModuleReset Implement reset sub-command as a 'module
restore __init__'. Where __init__ designates the virtual init collection
made of the initial environment state described in __MODULES_LMINIT.
readCollectionContent has been split to create parseCollectionContent
procedure which analyzes collection content passed as argument. When
__init__ collection is designated, cmdModuleRestore do not check collection
files but parseCollectionContent based on value fetched from
__MODULES_LMINIT environment variable.
* testsuite/modulefiles.3/modbad/reset,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp: ts: add tests for
mod-to-sh sub-command
* doc/source/modulefile.rst, testsuite/modulefiles/info/commandexp,
testsuite/modules.50-cmds/282-info-command.exp,
testsuite/modules.50-cmds/283-info-command-exp.exp: ts/doc: add reset
test/doc on 'module-info command'
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. reset
subcmd in NEWS/man/changes
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add
'reset' sub-command Introduce reset sub-command to restore initial
environment state. This sub-command cannot be called from a modulefile
evaluation context. Add sub-command empty skeleton: cmdModuleReset.
Sub-command accepts no argument nor option.
2022-08-11 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add reset
subcmd to completion scripts
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
__MODULES_LMINIT in NEWS/man/changes
* .aspell.en.pws, tcl/modfind.tcl.in, tcl/subcmd.tcl.in: Record init state
in __MODULES_LMINIT During the autoinit sub-command, record the initial
loaded state (state obtained after evaluating modulespath and initrc
initialization files) in the __MODULES_LMINIT environment variable. The
initial loaded state is formed as a collection content, describing the
enabled modulepaths and the loaded modules with the tags applied to these
modules. __MODULES_LMINIT is a colon-separated list. Each entry
corresponding to a 'module use' or 'module load' collection line.
2022-08-10 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/coll.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modeval.tcl,
tcl/modfind.tcl.in, tcl/subcmd.tcl.in,
testsuite/modules.00-init/120-siteconfig.exp: Fetch loaded mod props with
getLoadedModulePropertyList Create the getLoadedModulePropertyList
procedure to fetch the different loaded module properties.
getLoadedModulePropertyList replaces the specific procedure used for each
property kind.
2022-08-24 Jan Macku <jamacku@redhat.com>
* .github/workflows/differential_shellcheck.yml: ci(lint): add shell linter
- Differential ShellCheck It performs differential ShellCheck scans and
report results directly in pull request. documentation:
https://github.com/redhat-plumbers-in-action/differential-shellcheck
2022-08-07 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/modulefile.rst: doc: add shell support section in
modulefile man
2022-08-06 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* README.md, doc/source/changes.rst, doc/source/index.rst,
doc/source/module.rst, doc/source/modulefile.rst: doc: fix missing ref to
cmd shell support
2022-08-05 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/module.rst: doc: desc changes on --all/--force options in man
* doc/source/module.rst: doc: reword --auto/--no-auto option desc. in man
--auto and --no-auto options are global to all sub-commands evaluating
modulefile in load or unload mode. Rewrite the description of these option
in module(1) man not to update them each time a new load or unload
sub-command is introduced (as --auto and --no-auto are not changed).
* testsuite/modules.61-coll/021-savelist-search.exp: ts: add savelist --all
tests
2022-08-04 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. --all
option on savelist in NEWS/man/changes
* tcl/coll.tcl.in, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in:
List coll from any target with --all opt on savelist Add support for --all
command-line option for savelist sub-command. When set, all collections are
reported and not only those for currently defined collection target.
2022-08-03 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, tcl/subcmd.tcl.in, testsuite/modules.00-init/140-color.exp:
Highlight all savelist subcmd search patterns Refactor on the way a little
bit cmdModuleSavelist.
* NEWS.rst, tcl/report.tcl.in, tcl/subcmd.tcl.in,
testsuite/modules.00-init/140-color.exp: Highlight all list subcmd search
patterns
* testsuite/modules.61-coll/021-savelist-search.exp,
testsuite/modules.70-maint/290-json.exp: ts: test pattern search on savelist
sub-cmd
2022-08-02 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
savelist filtering in NEWS/changes/man
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/152-module-emptyarg.exp,
testsuite/modules.50-cmds/350-allin.exp,
testsuite/modules.61-coll/020-savelist.exp,
testsuite/modules.61-coll/080-access-coll.exp,
testsuite/modules.70-maint/190-emptyarg.exp,
testsuite/modules.70-maint/350-term_width.exp: ts: adapt existing tests now
savelist accepts args
* tcl/init.tcl.in, tcl/subcmd.tcl.in: Add search capabilities to savelist
subcmd When one or multiple strings are passed to the savelist sub-command,
only output the collections that match at least one of this string (OR
operation). Sub-command header message is adapted when strings are passed
to the sub-command. However same header message is reported if there is no
saved collection to report from the start. Search capabilities rely on the
modEq comparison procedure, so it takes into account the search_match mode
(starts-with/contains) and the insensitive case search mode. Icase mode is
set to search by default for savelist sub-command.
* tcl/subcmd.tcl.in: Use coll name/file array rather list in
cmdModuleSavelist
2022-08-01 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Allow search match
option on savelist subcmd Allow to pass the search match options (-S/-C) to
the savelist sub-command.
* tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Allow collection
name as argument to savelist subcmd Allow the savelist sub-command to
receive collection name as argument.
2022-08-03 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/modspec.tcl, tcl/subcmd.tcl.in: Unset mod spec on source subcmd if
file exists In case module specification corresponds to a full path name
file, unset parsed module specification on source sub-command. It is done
not to confuse specific character in file path name (like '+') with module
variant specification.
2022-07-31 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/modulefile.rst: doc: clarify set-alias only define
shell alias
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.00-init/170-cwd.exp,
testsuite/modules.70-maint/090-source.exp: ts: add avail modfile source
tests in 70/090
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc. arg
update on source subcmd in changes/man/news
* tcl/main.tcl.in, tcl/subcmd.tcl.in: Allow module to be specified on source
subcmd Update source sub-command to accept module specification as
argument. File path stay the main specification kind. Which means if a file
foo/1.0 exists, this file is sourced and not the modulefile foo/1.0 in
enabled modulepath. Fixes #424.
2022-08-01 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/modspec.tcl: Record raw arg with parsed module spec Update module
specification parsing to record the raw argument translated by specification
analysis. Add getRawArgumentFromVersSpec procedure to fetch this raw spec
from recorded analyzed module specification.
2022-07-30 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in:
Check state is defined before unset in unsetState
* testsuite/config/base-config.exp, testsuite/modulefiles.3/mod-to-sh/1.0,
testsuite/modulefiles.3/mod-to-sh/1.1,
testsuite/modulefiles.3/mod-to-sh/2.0,
testsuite/modulefiles.3/modbad/mod-to-sh,
testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.00-init/071-args.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp,
testsuite/modules.70-maint/430-mod-to-sh.exp: ts: add tests for mod-to-sh
sub-command
2022-07-28 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* MIGRATING.rst, NEWS.rst: doc: desc mod-to-sh in NEWS/MIGRATING
2022-07-27 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/module.rst: doc: desc. mod-to-sh subcmd in module man
* NEWS.rst, doc/source/module.rst: doc: fix subcmd list using
--auto/--no-auto/--force opts
* doc/source/design/add-new-config-option.rst,
doc/source/design/add-new-sub-command.rst,
.../design/advanced-module-version-specifiers.rst,
doc/source/design/control-mode-behaviors.rst,
.../design/default-latest-version-specifiers.rst,
doc/source/design/extended-default.rst,
doc/source/design/hide-or-forbid-modulefile.rst,
doc/source/design/insensitive-case.rst,
doc/source/design/lmod-tcl-modulefile-compat.rst,
doc/source/design/module-selection-contexts.rst,
doc/source/design/module-tags.rst,
doc/source/design/output-configuration.rst,
.../design/source-shell-script-in-modulefile.rst,
doc/source/design/sticky-modules.rst, doc/source/design/variants.rst: doc:
fix indent in design documents
* doc/source/design/add-new-config-option.rst,
doc/source/design/add-new-sub-command.rst,
doc/source/design/advanced-module-version-specifiers.rst,
doc/source/design/control-mode-behaviors.rst,
doc/source/design/default-latest-version-specifiers.rst,
doc/source/design/extended-default.rst,
doc/source/design/hide-or-forbid-modulefile.rst,
doc/source/design/insensitive-case.rst,
doc/source/design/lint-sub-command.rst,
doc/source/design/lmod-tcl-modulefile-compat.rst,
doc/source/design/magic-cookie-check.rst,
doc/source/design/module-selection-contexts.rst,
doc/source/design/module-tags.rst,
doc/source/design/output-configuration.rst,
doc/source/design/shell-completion.rst,
doc/source/design/source-shell-script-in-modulefile.rst,
doc/source/design/sticky-modules.rst, doc/source/design/variants.rst: doc:
add vim settings at end of design documents
* .aspell.en.pws, doc/source/cookbook/compiler-etc-dependencies.rst,
doc/source/cookbook/ensure-user-qualify-modules.rst,
doc/source/cookbook/expose-procs-vars-to-modulefiles.rst,
doc/source/cookbook/hide-and-forbid-modules.rst,
doc/source/cookbook/inhibit-report-info.rst,
doc/source/cookbook/log-module-commands.rst,
doc/source/cookbook/module-info-name-return-basename.rst,
doc/source/cookbook/modulefiles-in-git.rst,
doc/source/cookbook/modulepaths-persist-over-sudo.rst,
doc/source/cookbook/new-features-without-breaking-old-module.rst,
doc/source/cookbook/reduce-io-load.rst,
doc/source/cookbook/source-script-in-modulefile.rst,
doc/source/cookbook/sticky-modules.rst,
doc/source/cookbook/test-modulefiles.rst,
doc/source/cookbook/tips-for-code-reuse.rst,
doc/source/cookbook/top-priority-values.rst,
doc/source/cookbook/unload-firstly-loaded.rst: doc: add vim settings at end
of cookbook documents
* doc/source/cookbook/tips-for-code-reuse.rst: doc: fix trailing wspace &
list ident in tips-for-code-reuse
2022-07-26 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, doc/source/design/mod-to-sh-sub-command.rst: doc: add mod-to-sh
subcmd design notes
* NEWS.rst: doc: desc. lint-sub-command design notes in NEWS
2022-07-25 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.70-maint/210-clear.exp,
testsuite/modules.70-maint/280-ml.exp: ts: update clear subcmd tests as only
set vars are unset
* testsuite/modules.00-init/100-pager.exp,
testsuite/modules.00-init/120-siteconfig.exp,
testsuite/modules.00-init/150-access-init.exp,
testsuite/modules.70-maint/070-display.exp: ts: adapt existing tests to new
shelltype state setup
* tcl/subcmd.tcl.in: Silence message report on mod-to-sh subcmd When
performing a mod-to-sh sub-command make message report silent not to mix
these messages with the produced shell code that will be output on the
message channel. If a debugging verbosity is defined (trace mode or above),
message report is left as is.
* tcl/envmngt.tcl.in: Filter Modules-specific env var from mod-to-sh result
When running modulefile evaluation for mod-to-sh sub-command, removes all
Modules-specific environment variable from result to only report the
environment changes done by modulefile, not the Modules load context.
2022-07-24 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/envmngt.tcl.in, tcl/subcmd.tcl.in: Get list of Modules-specific env
var in glob form Add getModulesEnvVarGlobList procedure to get all
Modules-specific environment variable in glob form. Update clear and state
sub-command to rely on this procedure. With this change clear sub-command
only unset Modules-specific environment variables that are set.
* NEWS.rst, tcl/subcmd.tcl.in: Clear pushenv stacks on clear subcmd
* tcl/envmngt.tcl.in, tcl/subcmd.tcl.in: Core code for cmdModuleModToSh Add
code for mod-to-sh sub-command. Introduce modtosh_real_shell shell to save
evaluation shell set for modulecmd.tcl. Then shell set for mod-to-sh is set
as target shell for shell code production. Modulefiles specified are loaded
through cmdModuleLoad. Generated shell code is then sent to the report
message channel (stderr) by renderSettings. Shell code is then cleared and
modulecmd.tcl evaluation shell is restored to get final evaluation status on
regular shell code output channel (stdout).
* tcl/envmngt.tcl.in, tcl/main.tcl.in: Rename cleanupAndExit into
flushAndExit
* tcl/envmngt.tcl.in, tcl/init.tcl.in, tcl/main.tcl.in: Deduce shelltype
state value from shell state Add initStateShellType procedure to set
shelltype state when first retrieving its value (with getState). shelltype
is set based on value set for shell state.
2022-07-22 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/main.tcl.in, tcl/report.tcl.in: Move report msg flush in dedicated
proc Create reportFlush, procedure that output the final report messages,
flush the message channel and close it. Make cleanupAndExit procedure call
reportFlush rather implementing these actions locally.
* tcl/envmngt.tcl.in, tcl/main.tcl.in, tcl/mfinterp.tcl.in: Output produced
shell code in one puts call Instead of outputting shell code to sdtout for
each line, collect all produced shell code in a list variable (g_shcode_out)
and output all the code in a single puts call at the end of module command
execution. Create a specific renderFlush procedure to make the puts to
stdout as output could occur after renderSettings but also after
reportErrorAndExit and the exit catch branch in the main procedure.
renderFlush is called in cleanupAndExit procedure, as it is always run in
the end of the execution whatever if everything goes well or if error
occurs. Code of the putsModfileCmd procedure is also adapted to build list
of message to output to stdout with a flag to know if end-of-line should be
added at end of message. Previously this procedure was listing arguments to
directly pass to puts calls.
2022-07-20 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/modulefile.rst, testsuite/modulefiles/info/command,
testsuite/modulefiles/info/commandexp,
testsuite/modules.50-cmds/282-info-command.exp,
testsuite/modules.50-cmds/283-info-command-exp.exp: ts/doc: add mod-to-sh
test/doc on 'module-info command'
2022-07-19 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/design/add-new-sub-command.rst, doc/source/modulefile.rst: doc:
desc. subcmd in modulefile(4) if avail from this ctx
* doc/source/changes.rst: doc: desc. mod-to-sh in changes
* doc/source/design/add-new-sub-command.rst: doc: add subcmd to linter db if
callable from modfile
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add mod-to-sh
subcmd to completion scripts
* tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in: Add 'mod-to-sh'
sub-command Introduce mod-to-sh sub-command to output shell code
corresponding to the environment changes of designated modulefiles. This
sub-command cannot be called from a modulefile evaluation context. Add
sub-command empty skeleton: cmdModuleModToSh. Sub-command accepts --icase,
--auto/--no-auto and --force options. Fixes #447.
* CONTRIBUTING.rst: doc: fix misplaced anchor in CONTRIBUTING
2022-07-17 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, Makefile, NEWS.rst, doc/Makefile, init/Makefile: install:
use install rather mkdir or cp Use install command rather mkdir or cp to
apply regular file mode when installing Modules. A specific umask
configuration set in the current environment will not impact modes set on
installed files. Follow same approach than Makefiles generated by
autotools, with an INSTALL Makefile variable.
2022-07-16 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, MIGRATING.rst: doc: desc. lint subcmd and options in
MIGRATING Closes #451.
2022-07-14 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst: doc: desc. lint subcmd and options in NEWS
* Makefile, tcl/subcmd.tcl.in: Disable nagelfar syntaxdb/plugin usage if
addons disabled
* .aspell.en.pws, doc/source/design/lint-sub-command.rst: doc: desc. lint
subcmd in design
2022-07-13 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* contrib/rpm/environment-modules.spec.in: rpm: recommends nagelfar
installation Now nagelfar is available on Fedora and EPEL, recommends its
installation to be able to lint modulefiles.
2022-07-11 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/design/add-new-sub-command.rst: doc: update linter scripts when
adding new subcmd
2022-07-09 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/changes.rst, doc/source/module.rst: doc: desc lint subcmd in
man/changes
2022-07-06 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/030-options.exp,
testsuite/modules.70-maint/420-lint.exp: ts: add module lint install test
2022-07-08 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* Makefile: install: add rules to deploy global rc linter plugin
* contrib/nagelfar/plugin_globalrc.tcl, tcl/subcmd.tcl.in: Lint global rc
file specifically Global rc file are evaluated as modulefile but it is not
recommended to use commands that change user environment in such file. When
linting global rc file, the modulefile syntax database is used but a
specific plugin is set to warn against non-recommended usages.
2022-07-07 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/main.tcl.in, tcl/modfind.tcl.in, tcl/subcmd.tcl.in: Lint global RC
files When no argument is provided to lint sub-command, also lint all
existing and readable global RC files. When arguments are provided to lint,
test if resolved files are global RC files. If so, lint them as modulerc
files instead of modulefile. The getGlobalRcFileList procedure has been
created from code present in runModulerc procedure. The new procedure return
the list of existing and readable global RC files.
2022-07-06 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/subcmd.tcl.in: Detect whether file to lint is modulefile or modulerc
When a file path is provided as argument, detect if it is a modulerc or a
modulefile to accurately lint this file.
* .aspell.en.pws, INSTALL.rst: doc: desc.
--nagelfardatadir/--enable-nagelfar-addons
* contrib/rpm/environment-modules.spec.in: rpm: install Modules-specific
Nagelfar linter addons
* Makefile, Makefile.inc.in, configure, tcl/subcmd.tcl.in: install: add
--nagelfardatadir/--enable-nagelfar-addons Add --nagelfardatadir and
--enable-nagelfar-addons installation option to control whether or not
Modules-specific Nagelfar files need to be installed and in what location.
2022-06-21 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modulefiles.3/lint/.modulerc, testsuite/modulefiles.3/lint/1.0,
testsuite/modulefiles.3/lint/1.1, testsuite/modulefiles.3/lint/1.2,
testsuite/modulefiles.3/lint/1.3, testsuite/modulefiles.3/lint/1.4,
testsuite/modulefiles.3/lint/2.0, testsuite/modulefiles.3/modbad/lint,
testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.50-cmds/151-module-onlytop.exp,
testsuite/modules.70-maint/420-lint.exp: ts: add tests for lint sub-command
2022-07-05 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/subcmd.tcl.in: Use specific-plugin when linting with Nagelfar Use the
specific plugin to lint modulefile or the one to lint modulerc when Tcl
linter is Nagelfar.
* contrib/nagelfar/plugin_modulefile.tcl,
contrib/nagelfar/plugin_modulerc.tcl: nagelfar: add plugins to lint
modulefile/modulerc Create a Nagelfar plugin to lint modulefile and another
one to lint modulerc. These plugins help to report usage of deprecated, not
implemented or not recommended commands or variables. Also help to handle
--option=value argument form.
2022-06-29 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* contrib/modulefiles/module-git, contrib/modulefiles/use.own: contrib: fix
lint warning on example modulefiles
* tcl/subcmd.tcl.in: Use Nagelfar syntax db located in contrib directory
* contrib/nagelfar/syntaxdb_modulefile.tcl,
contrib/nagelfar/syntaxdb_modulerc.tcl: Add specific syntaxdb for modulefile
and modulerc Add Nagelfar syntax databases to lint modulefile and another
one to lint modulerc.
2022-06-28 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/subcmd.tcl.in: Lint modulerc files when no arg provided In addition
to the modulefiles available from enabled modulepaths, also lint the
modulerc files from these modulepaths. Set specific command for linting
modulerc files, with a different syntax db file when Nagelfar is used.
* tcl/subcmd.tcl.in: Use syntax database when linting with Nagelfar When
Tcl linter is Nagelfar, use a specific syntax database to lint modulefiles.
* .aspell.en.pws, tcl/subcmd.tcl.in: Lint all avail modfile when no arg
provided When no argument is provided to the lint sub-command, resolve all
modulefiles that current user has access to and lint all these files.
Update cmdModuleLint to first gather the list of all files to lint, then
lint these files.
2022-06-27 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .github/workflows/linux_tests.yaml: gh: add --with-tcl-linter on a test
case
2022-06-26 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/report.tcl.in, tcl/subcmd.tcl.in: Move linter output report in
dedicated proc Create displayLinterOutput procedure to handle the parsing
and output of each linter messages. Current code handles specific output
from Nagelfar linter and generic error report for other programs set as
linter.
* configure: install: warning if tcllinter program not found
* INSTALL.rst, doc/source/module.rst: doc: desc --with-tcl-linter-opts in
INSTALL/man
* testsuite/modules.70-maint/220-config.exp: ts: adapt tcl_linter tests for
--with-tcl-linter-opts
* Makefile, Makefile.inc.in, configure, site.exp.in, tcl/init.tcl.in:
install: add --with-tcl-linter-opts configure option Introduce the
--with-tcl-linter-opts configure option to choose at installation time the
options to pass to the tcl linter program. Default option is ''.
2022-06-24 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/install.00-init/010-environ.exp,
testsuite/modules.00-init/010-environ.exp,
testsuite/modules.70-maint/220-config.exp: ts: test tcl_linter config option
* doc/source/changes.rst, doc/source/module.rst: doc: desc.
MODULES_TCL_LINTER in man/changes
* INSTALL.rst: doc: desc --with-tcl-linter in INSTALL
* INSTALL.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
tcl_linter config in man/changes
* init/Makefile, init/fish_completion, init/zsh-functions/_module.in: init:
add tcl_linter config to completion script
* Makefile, Makefile.inc.in, configure, site.exp.in, tcl/init.tcl.in:
install: add --with-tcl-linter configure option Introduce the
--with-tcl-linter configure option to choose at installation time the
default program command to use to lint modulefiles. Default Tcl linter is
'nagelfar.tcl'.
* tcl/init.tcl.in, tcl/subcmd.tcl.in: Introduce tcl_linter configuration
option Add tcl_linter option to configure the program to use by lint
sub-command to lint modulefiles. When configuration is modified it sets the
MODULES_TCL_LINTER environment variable.
2022-06-22 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, tcl/subcmd.tcl.in: Parse and format linter output Output
linter output under a *Linting* message block. Parse each output line to
produce NOTICE, WARNING or ERROR report messages.
2022-06-21 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, tcl/subcmd.tcl.in: Lint every modulefile passed as
argument Update cmdModuleLint to resolve each argument and find
corresponding modulefile. Pass these modulefile to Nagelfar to lint them.
In this initial code, Nagelfar is expected to be found at
nagelfar/nagelfar.tcl and its execution output is sent to the terminal.
2022-06-19 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* init/Makefile, init/bash_completion.in, init/fish_completion,
init/tcsh_completion.in, init/zsh-functions/_module.in: init: add lint
subcmd to completion scripts
* .aspell.en.pws, tcl/main.tcl.in, tcl/report.tcl.in, tcl/subcmd.tcl.in:
Introduce 'lint' sub-command Add the lint sub-command to check syntax of
modulefiles. Initial commit which adds empty cmdModuleLint procedure and
add code to reach it through module procedure. General sub-command
properties: * shortcut name: none * accepted options: --all, --icase *
expected number of argument: 0 to N * accept boolean variant specification:
no * parse module version specification: yes * fully read modulefile when
checking validity: no * only called from top level: yes
2022-07-12 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst: doc: desc protected_envvars in NEWS Fixes #429.
2022-07-09 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .github/workflows/windows_tests.yaml: gh: fix missing liblapack0 dep for R
pkg on Cygwin
* .cirrus.yml: cirrus: update to python39 on FreeBSD-13
2022-06-08 Adrien Cotte <adrien@cotte.com>
* testsuite/modulefiles.3/protect/1.0, testsuite/modulefiles.3/protect/2.0,
.../modules.70-maint/410-protected_envvars.exp: ts: add 70/410
protected_envvars
2022-03-04 Adrien Cotte <adrien@cotte.com>
* testsuite/install.00-init/010-environ.exp,
testsuite/modules.00-init/010-environ.exp,
testsuite/modules.70-maint/220-config.exp: ts: test protected_envvars config
option
2022-02-21 Adrien Cotte <adrien@cotte.com>
* init/zsh-functions/_module.in: Zsh completion support for
protected_envvars config
* init/fish_completion: Fish completion support for protected_envvars config
* init/Makefile: Bash completion support for protected_envvars config
* .aspell.en.pws, INSTALL.rst, doc/source/changes.rst,
doc/source/module.rst: doc: desc. protected_envvars configuration
* tcl/envmngt.tcl.in, tcl/init.tcl.in: Add protected_envvars configuration
option Add the protected_envvars configuration option that prevents choosen
environment variables to be set or unset by Module commands.
2022-06-19 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, NEWS.rst, tcl/mfinterp.tcl.in: Fix source-sh/sh-to-mod
when fish regex-easyesc is on Fix source-sh modulefile command and
sh-to-mod sub-command when used with a fish shell script when the
regex-easyesc fish option is enabled. This option has been introduced in
fish 3.1 and is turned on by default starting fish 3.5. Fixes #463.
* NEWS.rst: doc: desc. enclose install paths work in NEWS
2022-06-18 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* init/Makefile: install: create etcdir from init Makefile if used
2022-06-17 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* doc/source/_static/literal_block.css,
doc/source/_static/rtd_literal_block.css, doc/source/conf.py: doc: fix css
config for sphinx >= 3.5 Use html_css_files configuration option introduced
in Sphinx 1.8 to setup CSS in a more conventional way. Also fix
pre.literal-block specific styling as the 'section' div is not used anymore
in newer Sphinx versions.
2022-06-15 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .cirrus.yml: cirrus: test install path containing space char Transform
the second FreeBSD test case into a Ubuntu testcase, running on last LTS
release. For this test case, installation is made over a path containing a
whitespace character. No specific quarantine setup with this test case, as
it is not compatible with installation in path containing a whitespace
character.
2022-06-13 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/bin/install_test_csh, testsuite/bin/install_test_fish,
testsuite/bin/install_test_sh, testsuite/bin/install_test_tcl,
testsuite/config/unix.exp, testsuite/install.00-init/005-init_ts.exp,
testsuite/install.00-init/030-options.exp,
testsuite/install.00-init/060-quar.exp,
testsuite/install.00-init/080-args.exp: ts: fix install tests if space char
in install path
2022-06-14 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/envmngt.tcl.in: Update autoinit produced code to enclose install path
Update code generated by the autoinit sub-command to enclose all references
to installation path to cope with an installation done in a path containing
whitespace character. Enclosing modulecmd.tcl installation path this way is
not effective with the quarantine mechanism that implies a double shell code
evaluation. So it is advised not to install Modules in a path containing a
whitespace character if the quarantine mechanism is needed.
2022-06-12 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/config/unix.exp, testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.00-init/120-siteconfig.exp,
testsuite/modules.00-init/140-color.exp,
testsuite/modules.50-cmds/400-source-sh.exp,
testsuite/modules.70-maint/120-autoinit.exp,
testsuite/modules.70-maint/310-sh-to-mod.exp: ts: fix tests if space char in
install location path
* Makefile, doc/Makefile, init/Makefile: install: enclose install path refs
in Makefiles
* init/bash.in, init/cmake.in, init/csh.in, init/fish.in, init/ksh.in,
init/perl.pm.in, init/profile.csh.in, init/profile.sh.in, init/r.R.in,
init/ruby.rb.in, init/sh.in, init/tcl.in, init/tcsh_completion.in,
init/zsh.in: init: enclose installation path references Update
initialization, profile and completion scripts to enclose all references to
the installation paths. Enclosing modulecmd.tcl installation path this way
is not effective with the quarantine mechanism that implies a double shell
code evaluation. So it is advised not to install Modules in a path
containing a whitespace character if the quarantine mechanism is needed.
* contrib/modulefiles/modules.in, contrib/modulefiles/version.in,
script/add.modules.in: contrib,script: enclose installation path references
Update add.modules script and example modulefiles to enclose all references
to the installation paths.
* tcl/init.tcl.in, tcl/main.tcl.in, tcl/subcmd.tcl.in: Enclose all
installation path references Fix modulecmd.tcl to enclose all references to
an installation path. These references are thus robust in case a space
character is part of the installation location.
* NEWS.rst: doc: desc. init scripts > autoinit migration work
* .github/workflows/linux_tests.yaml: gh: update test case with disabled
bin/manpath config
2022-06-11 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.70-maint/120-autoinit.exp: ts: test source of shell
completion during autoinit
* testsuite/modules.70-maint/120-autoinit.exp: ts: add autoinit MANPATH
setup tests
2022-06-08 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .cirrus.yml: cirrus: use leap 15.3 to get python-Sphinx
2022-06-05 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* site.exp.in, testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.50-cmds/400-source-sh.exp,
testsuite/modules.70-maint/120-autoinit.exp,
testsuite/modules.70-maint/310-sh-to-mod.exp: ts: update tests now autoinit
sets PATH/MANPATH/etc
* Makefile, init/Makefile, init/zsh.in, tcl/subcmd.tcl.in: init: setup zsh
FPATH through autoinit command Add zsh FPATH setup in autoinit command
instead of zsh shell initialization script. This way all the shell setup is
gathered in the autoinit process. What is left in initialization script is
the code to properly call the autoinit process. Fixes #462.
* Makefile, init/Makefile, init/bash.in, init/csh.in, init/fish.in,
tcl/subcmd.tcl.in: init: setup shell completion through autoinit command
Add shell completion setup in autoinit command instead of shell
initialization scripts. Use this way one modulecmd.tcl internal code instead
of shell code for every shell having some completion to source (bash, tcsh,
fish). Fixes #462.
2022-06-04 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* Makefile, init/Makefile, init/bash.in, init/csh.in, init/fish.in,
init/ksh.in, init/sh.in, init/zsh.in, tcl/subcmd.tcl.in: init: setup MANPATH
through autoinit command Add MANPATH setup in autoinit command instead of
shell initialization scripts. Use this way one modulecmd.tcl internal code
instead of shell code for every shell requiring to setup MANPATH with
Modules binaries location (sh, bash, ksh, zsh, csh, tcsh, fish). Fixes
#462.
2022-06-03 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* Makefile, init/Makefile, init/bash.in, init/csh.in, init/fish.in,
init/ksh.in, init/sh.in, init/zsh.in, tcl/subcmd.tcl.in: init: setup PATH
through autoinit command Add PATH setup in autoinit command instead of
shell initialization scripts. Use this way one modulecmd.tcl internal code
instead of shell code for every shell requiring to setup PATH with Modules
binaries location (sh, bash, ksh, zsh, csh, tcsh, fish). Fixes #462.
* init/bash.in, tcl/envmngt.tcl.in: Export module bash functions directly
through autoinit Export the module, _module_raw and ml bash shell functions
directly through the autoinit sub-command process rather within the bash
shell initialization script. Cannot apply the same change to the sh shell
when it is bash launched as sh, since we cannot tell in the modulecmd.tcl
execution that the current sh shell is bash (as BASH environment variable is
not exported to sub-shells). Fixes #462.
2022-05-26 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.00-init/005-init_ts.exp,
testsuite/modules.70-maint/410-timer.exp: ts: add --timer tests in 70/410
* NEWS.rst, doc/source/changes.rst, doc/source/module.rst: doc: desc.
--timer option in NEWS/changes/man
* testsuite/modules.00-init/100-pager.exp,
testsuite/modules.00-init/120-siteconfig.exp,
testsuite/modules.00-init/150-access-init.exp: ts: adapt existing tests for
timer state introduction
2022-05-25 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/mfinterp.tcl.in, tcl/modspec.tcl, tcl/report.tcl.in: Report duration
of each proc in timer debug mode When --timer option is enabled and
verbosity level is higher or equal to verbose, report trace of each
procedure executed with their duration. All regular debug messages are
replaced by these timer trace messages.
2022-05-22 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, tcl/init.tcl.in, tcl/main.tcl.in, tcl/report.tcl.in:
Introduce --timer option Add --timer global option to report execution time
in milliseconds at the end. Set start time in timer_start global variable
when --timer is set. Also enable timer state, to know later on that timer
mode has been asked. Timer report is produced at the and, in last run
procedure: cleanupAndExit. Report is shown at any verbosity level. Timer
reports are kind of debug information, thus they also use the 'db' sgr key
to get graphically enhanced. No need for a dummy reportTimer procedure like
for reportDebug, to use to gather all messages prior error report
initialization, as reportTimer is always called after error report being
initialized.
2022-05-29 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* MIGRATING.rst: doc: describe Optional requirements in MIGRATING
* testsuite/modulefiles.3/optional/1.0,
testsuite/modules.50-cmds/465-tag-opt.exp,
testsuite/modules.50-cmds/550-optional-opt.exp,
testsuite/modules.70-maint/240-icase.exp: ts: test misplaced/invalid prereq
option in 50/550
* NEWS.rst, tcl/mfinterp.tcl.in: Error on misplaced/invalid options on
prereq commands Update prereq command parsing to raise error in case of an
invalid option or a misplaced one.
* testsuite/modules.50-cmds/550-optional-opt.exp: ts: adapt optional tests
as eval failure are not reported
* tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modeval.tcl: No report of eval
error of optional requirement Do not report the evaluation error of
optional requirements. Proceed like on a prereq-any command, when some
evaluation fails but one succeed. Update the loadRequirementModuleList
procedure by adding an argument named 'optional' to know if current load
attempt is mandatory or not.
2022-05-28 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/mfinterp.tcl.in: Disable auto loading on always-load in DepRe context
Disable auto-loading on always-load sub-command when evaluated in a
Dependency Reload context.
2022-05-27 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modulefiles.3/foo/1.0, testsuite/modulefiles.3/optional/1.0,
testsuite/modulefiles.3/optional/2.0,
testsuite/modules.50-cmds/550-optional-opt.exp: ts: add --optional option
tests in 50/550
2022-05-22 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst: doc: desc. --optional and try-load changes in NEWS
* doc/source/changes.rst, doc/source/design/lmod-tcl-modulefile-compat.rst,
doc/source/modulefile.rst: doc: desc --optional option in man/changes/design
2022-05-21 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modulefiles.3/tryload/2.0,
testsuite/modules.50-cmds/490-try-load.exp,
testsuite/modules.50-cmds/518-load-any.exp: ts: add depre tests for
try-load/load-any mfcmd
2022-05-19 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/modeval.tcl, tcl/subcmd.tcl.in:
Change try_modulefile state into a cmdModuleLoad arg Replace the
try_modulefile state by the tryload argument on the cmdModuleLoad procedure.
Update prereqAnyModfileCmd, prereqAllModfileCmd and
loadRequirementModuleList procedure to pass this tryload argument all along
toward cmdModuleLoad. This is needed when evaluating module try-load and
module load-any commands in modulefile.
* tcl/mfinterp.tcl.in: Allow to pass multiple pre-args on interp cmd alias
Update initialization of the command aliases on modulefile interpreter to
allow to pre defined more than one argument to transmit.
2022-05-18 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* .aspell.en.pws, tcl/main.tcl.in: Inhibit autoload in depre ctx for all
kind of load cmd Inhibit the auto loading mechanism when module is
currently evaluated in a Dependency Reload (DepRe) context for load,
try-load and load-any sub-commands. This way it avoids to auto reload the
optional dependency module currently targeted by the main unload order from
user.
* testsuite/modules.50-cmds/152-module-emptyarg.exp,
testsuite/modules.50-cmds/465-tag-opt.exp,
testsuite/modules.50-cmds/490-try-load.exp,
testsuite/modules.61-coll/040-restore.exp: ts: adapt existing tests to
try-load prereq record change
2022-05-17 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/main.tcl.in: Use optional prereq to record try-load requirements When
try-load is used in a modulefile, record implied requirement as optional
instead of only recording those that are loaded. This way the modulefile
will get reloaded if requirement is loaded afterward. Cannot fully rely on
prereqAllModfileCmd procedure as try-load does not fully correspond to a
prereq-all --optional: an requirement evaluation error will lead to an error
of the module try-load command that will abort the modulefile evaluation.
* tcl/main.tcl.in: Refactor module load/try-load/load-any modulefile code
* testsuite/modules.70-maint/080-help.exp: ts: adapt existing tests for
prereq cmds refactoring
* .aspell.en.pws, tcl/main.tcl.in, tcl/mfinterp.tcl.in: Merge
prereq-all/prereq-allAH into prereqAllModfileCmd Merge the prereq-all and
prereq-allAH procedure into a single prereqAllModfileCmd procedure taking
current auto_handling option value as first arg to know whether to
automatically load requirements or not.
* .aspell.en.pws, tcl/main.tcl.in, tcl/mfinterp.tcl.in, tcl/subcmd.tcl.in:
Merge prereq/prereqAH into prereqAnyModfileCmd proc Merge the prereq and
prereqAH procedure into a single prereqAnyModfileCmd procedure taking
current auto_handling option value as first arg to know whether to
automatically load requirements or not.
2022-05-16 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* testsuite/modules.50-cmds/465-tag-opt.exp,
testsuite/modules.50-cmds/513-prereq-any.exp,
testsuite/modules.50-cmds/515-depends-on.exp,
testsuite/modules.50-cmds/516-prereq-all.exp,
testsuite/modules.50-cmds/517-always-load.exp: ts: adapt existing tests to
--optional addition
* tcl/mfinterp.tcl.in: Add --optional option to prereq commands Introduce
the --optional option on prereq commands (prereq, prereq-all, always-load,
prereq-any and depends-on) to indicate that the prereq list is fully
optional: if none of these prereqs are loaded, no error occurs. When
recording these prereq list in persistency information (__MODULES_LMPREREQ
variable), the current module name is added as first module in prereq list
to get this rule always satisfied even if no module from the prereq list is
loaded.
2022-05-15 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* tcl/main.tcl.in, tcl/modeval.tcl, tcl/subcmd.tcl.in: Change any_modulefile
state into a cmdModuleLoad arg Replace any_modulefile state by the anyload
argument on cmdModuleLoad procedure. any_modulefile branch were already not
in use for 'module load-any' commands used in modulefiles.
* tcl/mfinterp.tcl.in: Make always-load proc directly use prereq-all Update
always-load procedure to make it use directly the auto_handling version of
prereq-all command.
* testsuite/modules.50-cmds/152-module-emptyarg.exp,
testsuite/modules.70-maint/080-help.exp: ts: adapt existing tests for prereq
interp refactoring
* tcl/subcmd.tcl.in: No need to disable auto_handling to call prereq Update
cmdModuleSwitch procedure as it is not anymore needed to disable
auto_handling option to call a prereq command that does not automatically
load requirements.
* tcl/main.tcl.in: Make module load rely on prereq/prereq-all cmds Update
module procedure to directly use, when 'module load' is called within a
modulefile, the prereq/prereq-all commands in their auto_handling or
non-auto_handling versions.
* .aspell.en.pws, tcl/mfinterp.tcl.in: Create auto_handling and not version
of prereq procs Split prereq and prereq-all procedures into a auto_handling
version, that attempts to automatically load requirements, and a non
auto_handling version that raise an error directly if requirement is not
already loaded. Adapt Tcl sub-interpreter initialization to make it
dependent of the auto_handling option enablement. When auto_handling is
enabled, the auto_handling versions of the prereqs procedure are configured.
With this change other parts of the code will be able to call either prereq
or prereqAH directly whether they need a load attempt or not, whatever the
current status of the auto_handling option.
2022-05-31 Xavier Delaruelle <xavier.delaruelle@cea.fr> 2022-05-31 Xavier Delaruelle <xavier.delaruelle@cea.fr>
* NEWS.rst, contrib/rpm/environment-modules.spec.in, doc/source/conf.py, * NEWS.rst, contrib/rpm/environment-modules.spec.in, doc/source/conf.py,
version.inc.in: Release of version 5.1.1 version.inc.in: Release of version 5.1.1
* testsuite/is_module_defined, testsuite/modules.00-init/005-init_ts.exp: * testsuite/is_module_defined, testsuite/modules.00-init/005-init_ts.exp:
ts: fix is_modules_defined test Add bash script to test whether module ts: fix is_modules_defined test Add bash script to test whether module
function is defined function is defined
* Makefile, NEWS.rst: install: call git cmds in Makefile only if needed * Makefile, NEWS.rst: install: call git cmds in Makefile only if needed
 End of changes. 1 change blocks. 
0 lines changed or deleted 1890 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)