CTAN update: expltools
CTAN Announcements via ctan-ann <[email protected]> Wed, 13 May 2026 16:06:35 +0200 (CEST)
| Newsgroups | gmane.comp.tex.ctan.announce |
|---|---|
| Organization | CTAN |
| Message-ID | <866e3d1ac20d6412@hogwart> |
Vít Starý Novotný submitted an update to the
expltools
package.
Version: 2026-05-12
License: lppl1.3c gpl2+
Summary description: Development tools for expl3 programmers
Announcement text:
--------------------------------------------------------------------------------
## expltools 2026-05-12
### explcheck v0.21.0
#### New features
This version of explcheck has implemented the following new features:
- Add command-line option `--inline-config`. (suggested by @muzimuzhi in #203,
added in #211)
This option accepts a TOML string that is treated as a config file,
overriding any options specified in config files. The option may be specified
repeatedly; when the same Lua option appears in multiple TOML strings, later
occurrences take precedence.
With this option, you can set ad-hoc Lua options without creating a config
file. For example, to disable the Lua option `stop_early_when_confused`, you
can write `--inline-config defaults.stop_early_when_confused=false`.
- Support specifying Lua options at the top level of the config file.
(suggested by @muzimuzhi in #203, added in #211)
This allows you to omit the `[defaults]` section from your config file. For
example, the following is now a complete valid config file:
``` toml
max_line_length = 120
ignored_issues = ["w100", "S"]
```
This also simplifies the use of the `--inline-config` command-line option:
you can now write `--inline-config stop_early_when_confused=false` without
the previously required `defaults.` prefix.
- Change the semantics of the Lua options
`max_reaching_definition_inner_loops` and
`max_reaching_definition_outer_loops` to perform a partial reaching
definition analysis when the limits are exceeded. (#212, 975f91d)
Previously, exceeding either limit would cause explcheck to abort the
analysis. Now, processing only aborts when the number of reaching definition
loops exceeds the theoretical upper bounds, which indicates a bug. By
contrast, when the limits specified by these options are exceeded, explcheck
now continues with a partial analysis. This may lead to false positive issues
reported by the flow analysis, but can also greatly improve performance.
#### Fixes
This version of explcheck has fixed the following problems:
- Do not report issue W429 (Defined an unexpandable function as unprotected)
for restricted-expandable functions. (e507747)
- Fix potentially untrue assertion predicates in the flow analysis. (reported
by @muzimuzhi in #208, fixed in #209)
- Do not expect the `statements` key in all segments. (#212)
Some segment types such as `BOOLEAN_EXPRESSION` only contain `calls`, not
`statements`.
#### Deprecations
This version of explcheck has deprecated the following features and scheduled
them for removal in v1.0.0:
- Rename the Lua option `config_file` to `config_files` and deprecate
`config_file`. (#211)
- Deprecate the command-line option `--expl3-detection-strategy`. (#211)
If you rely on this option, you may set it using `--inline-config`. For
example, you would replace `--expl3-detection-strategy always` with
`--inline-config 'expl3_detection_strategy = "always"'.
#### Continuous integration
This version of explcheck has made the following changes to our continuous
integration (CI):
- Run the flow analysis on the whole TeX Live in the CI. (#208, #210, #212,
975f91d, 59be8c3)
- Cancel previous CI run from the same branch or pull request. (cae310d)
- Do not run the CI when tags are pushed. (d88b2f1, 8c7a960)
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/support/expltools
More information is at
https://ctan.org/pkg/expltools
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
CTAN is run entirely by volunteers and supported by TeX user groups.
Please join a user group or donate to one, see https://ctan.org/lugs .
_______________________________________________
ctan-ann mailing list -- [email protected]
To unsubscribe send an email to [email protected]