Vít Starý Novotný submitted an update to the
expltools
package.
Version: 2026-03-04
License: lppl1.3c gpl2+
Summary description: Development tools for expl3 programmers
Announcement text:
----------------------------------------------------------------------
## expltools 2026-03-04
### explcheck v0.18.0
#### Enhancements
This version of explcheck has made the following new enhancements:
- In human-readable output, mention that further issues may be reported after
fixing the current errors after we have failed fast. (reported by @dbitouze
and @muzimuzhi in #170 and #171, fixed in #175)
- Add more support for flow analysis. (#176)
This adds support for the following issues from Section 5.1 of the document
titled [_Warnings and errors for the expl3 analysis
tool_][warnings-and-errors]:
1. E505 (Calling an undefined function)
Flow analysis is now enabled by default for all package files with at least
95%
code understanding.
- In issue W419 (Using an undeclared variable or constant), also report
undeclared usages through `V`- and `v`-type arguments. (#176)
- Support the plain TeX `\newtoks` command and the corresponding deprecated
expl3 function `\toks_new:N`. (#176)
- Support separate command-line options `--long-option value` in addition to
`--long-option=value`. (contributed by @muzimuzhi in #178)
- Deprecate the command-line options `--group-files={true|false|auto}` and
`--make-at-letter={true|false|auto}`. Add the valueless options
`--make-at-letter`, `--make-at-other`, `--group-files`, and
`--no-group-files`. (#178)
The expected usage is now as follows:
- `--make-at-letter` instead of `--make-at-letter=true`
- `--make-at-other` instead of `--make-at-letter=false`
- `--group-files` instead of `--group-files=true`
- `--no-group-files` instead of `--group-files=false`
- no option instead of `--make-at-letter=auto` and `--group-files=auto`
(default)
The deprecated options are scheduled for removal in version 1.0.0.
#### Code understanding
This version of explcheck introduces the following changes to code
understanding
and to how it evaluates its own level of confidence:
- Add support for `\cs_undefine:N`. (#176)
- Treat simple constant and variable definitions, as well as message texts, as
well-understood. (#176)
- Consider `FUNCTION_CALL` statements high-confidence and well-understood only
if there are no potential low-confidence definitions of the called control
function. (#176)
These changes have had a mixed effect on the [code coverage][]. Overall, it has
remained mostly stable, but coverage on the current TeX Live 2025 snapshot
(2026-02-19) now rounds to 19%, down from the previous 20%.
[code coverage]: https://witiko.github.io/Expl3-Linter-11/#code-coverage
#### Fixes
This version of explcheck has fixed the following bugs:
- Fix an integer overflow in function `format_pathname()`. (reported by
@muzimuzhi in #163, fixed in 776eb72)
- Fix a failure to load TOML files whose last line is a comment without
a trailing newline. (reported by @Chipsterjulien in jonstoler/lua-toml#27
and by @muzimuzhi in #165, fixed in #166)
- Record control sequence name usage and definitions in unanalyzed arguments.
(reported by @dbitouze in #170 and #173, fixed in #174)
- Do not produce warning S204 (Missing stylistic whitespaces) for repeated
begin group (`{{`) or end group (`}}`). (discovered in witiko/markdown#623,
fixed in #177)
#### Documentation
This version of explcheck has made the following improvements to the
documentation:
- Document that `% noqa` at the top of a file silences issues everywhere.
(f1528f1)
#### Continuous integration
This version of explcheck has made the following changes to our continuous
integration:
- Run LuaLS even if Luacheck failed. (95f71a1)
- Run one additional process to reduce the problem of idle CPUs near the end
while one worker grinds a difficult task. (#174, 19ceb45)
- Increase the time limit for running explcheck over the entire TeX Live
from 3 to 5 minutes. (#176)
- Migrate from `TeX-Live/setup-texlive-action@v3` to
`zauguin/install-texlive@v4`.
(drafted by @koppor in koppor#1 and independently suggested by @muzimuzhi and
@gucci-on-fleek in #178, added in #181)
- Bump `actions/upload-artifact` from 6 to 7. (contributed by @dependabot in
#179)
- Bump `actions/download-artifact` from 7 to 8. (contributed by @dependabot in
#180)
----------------------------------------------------------------------
The package’s Catalogue entry can be viewed at
https://ctan.org/pkg/expltools
The package’s files themselves can be inspected at
https://mirrors.ctan.org/support/expltools/
------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Petra Rübe-Pugliese
------------------------------------------------------------------------
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]