Commit Graph

5300 Commits

Author SHA1 Message Date
Xavier Delaruelle
ebb765bfac ts: test exit error against error_on_multi_load in 50/59* 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
1e51ddf4ff lint: add modulepath-label command to syntaxdbs
Update Nagelfar syntax databases to add new modulepath-label modulefile
command.
2023-09-02 09:22:49 +02:00
Xavier Delaruelle
47b64f07d4 doc: desc. exit error in design doc 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
517c8ea59c doc: desc. error_on_multi_load on exit/break mfcmd 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
47db98fc5a doc: error_on_multi_load applies to load and try-load 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
11ea84b322 doc: desc. try-load in evaluation-errors design doc 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
9a944fc44b doc: desc. load-any in evaluation-errors design doc 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
f6b4a925fe ts: test hard hidden error against error_on_multi_load in 50/59* 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
730d477ac9 doc: desc. hard hidden error in design doc 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
e9b69764c8 ts: test not found requirement against error_on_multi_load in 50/59* 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
8918993b36 ts: test forbidden requirement against error_on_multi_load in 50/59* 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
196b6dfa5e Fix issue report when loading requirement with module try-load
Now report an issue message on the modulefile message block when this
modulefile cannot load an erroneous requirement with module try-load.
Not found or forbidden issues are still silenced.
2023-09-02 09:22:49 +02:00
Xavier Delaruelle
4d0b166ece doc: better desc. try-load modfile cmd in design/man 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
6f5ec9576f ts: test try-load subcmd with error_on_multi_load config in 50/592 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
ce19af31f8 ts: test load-any subcmd with error_on_multi_load config in 50/591 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
16a9497bd6 doc: desc. error_on_multi_load in evaluation error design 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
005660403d ts: test load subcmd with error_on_multi_load config in 50/590 2023-09-02 09:22:49 +02:00
Xavier Delaruelle
9c89577f22 doc: desc. error_on_multi_load & co in NEWS 2023-08-17 20:59:35 +02:00
Xavier Delaruelle
24bc793fc0 doc: desc. --with-error-on-multi-load in INSTALL 2023-08-17 20:59:35 +02:00
Xavier Delaruelle
27161199c9 doc: desc. error_on_multi_load config in man/changes 2023-08-17 20:59:35 +02:00
Xavier Delaruelle
51d11f0476 doc: desc. MODULES_ERROR_ON_MULTI_LOAD in man/changes 2023-08-17 20:59:35 +02:00
Xavier Delaruelle
1308d6e51c ts: test error_on_multi_load config option 2023-08-17 20:59:35 +02:00
Xavier Delaruelle
805752e943 init: add error_on_multi_load config to completion script 2023-08-17 20:59:35 +02:00
Xavier Delaruelle
ae2165dfb8 install: add --with-error-on-multi-load configure option
Introduce the --with-error-on-multi-load option to choose at
installation time the default error behavior when loading multiple
modulefiles. Default behavior is "continue".
2023-08-17 20:59:35 +02:00
Xavier Delaruelle
fbf5c724b2 Add error_on_multi_load configuration option
Introduce error_on_multi_load configuration option to define behavior of
module load command from top context in case of multiple modules and top
context evaluation.

When set to "continue" (default), load continues even if one modulefile
in the list fails to load. When set to "abort", if one modulefile fails
to load, environment changes of the modulefiles in the list already
evaluated are withdrawn and evaluation stops (modulefiles remaining in
the list are not evaluated).

Configuration option sets MODULES_ERROR_ON_MULTI_LOAD environment
variable when changed from default value.

flushEnvSettings procedure is added to withdrawn environment changes
performed by already loaded modulefiles.
2023-08-17 20:59:35 +02:00
Xavier Delaruelle
162959fbe0 doc: desc. continue over error behavior on load subcmd 2023-08-17 20:57:37 +02:00
Xavier Delaruelle
ec9520a088 doc: add evaluation-errors design doc
Describe modulefile evaluation errors (different kind of errors and
behavior). Describe specific behavior for load sub-command. Other
sub-commands will be covered progressively.
2023-08-17 20:57:37 +02:00
Xavier Delaruelle
b78fcd48ea doc: desc. Purging sticky modules in MIGRATING 2023-07-19 07:39:27 +02:00
Xavier Delaruelle
37a968de43 doc: desc. unique_name_loaded in MIGRATING 2023-07-18 07:44:23 +02:00
Xavier Delaruelle
f7da5a174c ts: add missing skip if quick mode cmd in recent test scripts 2023-07-17 06:54:17 +02:00
Xavier Delaruelle
f4447df735 Recursively unset symbols during EMS filtering
Update symbol unset during Extra Match Search filtering process. When
unsetting a "default" symbol also add to unset list the symbols targeting
module parent name. Useful when dealing with deep modules (e.g.,
foo/sub/1.0)
2023-07-16 16:02:24 +02:00
Xavier Delaruelle
d8c54b7b94 ts: test unique_name_loaded effect in 50/580 2023-07-16 16:02:24 +02:00
Xavier Delaruelle
87287855f8 doc: desc. unique_name_loaded & co in NEWS 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
0747e69584 doc: desc. unique_name_loaded in man/changes 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
a6b1e60fef doc: desc. MODULES_UNIQUE_NAME_LOADED in man/changes 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
06ae6c97e1 doc: desc --enable-unique-name-loaded in INSTALL 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
8ae89f1402 ts: test unique_name_loaded config option 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
fce86de163 install: add --enable-unique-name-loaded configure option
Introduce the --enable-unique-name-loaded configure option to choose at
installation time to enable the unique_name_loaded configuration option
which allows only one module loaded per module name.

Configure option is disabled by default.
2023-07-16 09:03:13 +02:00
Xavier Delaruelle
82ad9e995d init: add unload_match_order to completion script 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
4c62917aed Add unique_name_loaded configuration option
Add unique_name_loaded configuration option to raise a conflict error
when enabled if loading module has a name (actual or alternative names)
shared by an already loaded module.

Configuration option is disabled by default.

Declare unique-name-conflict modulefile command to raise such conflict.
Include configuration enablement test in unique-name-conflict procedure
not to expose internal helper procedures like getConf in the modulefile
execution context.

Record conflict in loaded environment as any other conflict to be able
to correctly detect if currently loaded environment is sane (with
conflict rules satisfied)
2023-07-16 09:03:13 +02:00
Xavier Delaruelle
23bae5e0cd doc: desc. several files in MODULERCFILE in NEWS 2023-07-11 07:29:19 +02:00
Xavier Delaruelle
6a18598702 doc: desc. multi elts in MODULERCFILE in INSTALL/man/changes 2023-07-11 07:29:19 +02:00
Xavier Delaruelle
93806b813d ts: test multiple entries in MODULERCFILE 2023-07-11 07:29:19 +02:00
Xavier Delaruelle
6a7b417d08 Allow MODULERCFILE to contain a list of rc file
MODULERCFILE may define a list of rc file separated by colon character.
Load them in the definition order.

Allow shorthand config definition with module config rcfile {+,-}file.
2023-07-10 20:53:46 +02:00
Xavier Delaruelle
0c2a8530f2 doc: desc. Specific modulepath labels in MIGRATING 2023-07-09 21:14:30 +02:00
Xavier Delaruelle
671eb508c8 doc: desc. modulepath-label in NEWS/man/changes 2023-07-09 21:14:30 +02:00
Xavier Delaruelle
309667cab1 ts: test modulepath-label command in 50/570 2023-07-09 21:14:30 +02:00
Xavier Delaruelle
2d123840cc Introduce modulepath-label modulefile command
Add modulepath-label modulefile command to define specific label for
designated modulepath. This command can be used in rc files. If a
specific label is set for a modulepath, this string is used instead of
modulepath fully qualified path designation as report list header.

Allow command from modulefile execution context to enable use from
global rc files.
2023-07-09 21:12:36 +02:00
Xavier Delaruelle
d614b9dfad ts: tests indesym xor alias report on list search 2023-07-09 20:44:41 +02:00
Xavier Delaruelle
504596ec61 doc: desc. sticky_purge in design docs 2023-07-08 15:12:36 +02:00