CTAN update: expltools
CTAN Announcements via ctan-ann via ctan-ann <[email protected]> Sun, 31 May 2026 14:47:40 +0200 (CEST)
| Newsgroups | gmane.comp.tex.ctan.announce |
|---|---|
| Organization | CTAN |
| Message-ID | <[email protected]> |
Vít Starý Novotný submitted an update to the
expltools
package.
Version number: 2026-05-29
License type: lppl1.3c gpl2+
Summary description: Development tools for expl3 programmers
Announcement text:
----------------------------------------------------------------------
## expltools 2026-05-29
### explcheck v0.22.0
#### New features
This version of explcheck has implemented the following new features:
- Add more support for flow analysis. (#218)
This adds support for the following issues from the document titled
[_Warnings and errors for the expl3 analysis tool_][warnings-and-errors]:
1. W517 (Unused variable or constant)
- In the semantic analysis, add a call type for standalone variable or constant
control sequences. (#213, #215)
Previously, standalone variable or constant control sequences were considered
other unrecognized tokens. This has improved [code coverage][] by 33,294
expl3 tokens (~0.4% of all expl3 tokens) on TeX Live 2025.
- Perform semantic analysis on boolean expression segments. (#213, #215)
- Detect boolean expression segments in calls to control sequences like
`\bool_if:nTF`. (#215, #217)
- Emit both `VARIABLE_DECLARATION` and `VARIABLE_DEFINITION` statements for
constant definitions like `\tl_const:Nn`. (#218)
Previously, only a `VARIABLE_DEFINITION` statement would have been produced,
requiring special-casing for issues like W415 (Unused variable or constant),
W416 (Setting an undeclared variable), and W419 (Using an undeclared variable
or constant).
- In flow analysis, draw `VARIABLE_USE` and `VARIABLE_USE_RETURN` edges. (#218)
- Include the number of reaching definition loops in verbose command-line
output. (#218)
#### Fixes
This version of explcheck has fixed the following problems:
- Do not report issue W415 (Unused variable or constant) for defined box
variables. (reported by @dcpurton in #214, fixed in #216)
Defining box variables can have useful side effects even if the variable
isn't used elsewhere.
- In the semantic analysis, consider `\⟨type⟩_log:*` a variable use. (#217)
- Reduce false positive detections of issues E408 (Calling an undefined
function), E411 (Indirect function definition from an undefined function),
and W416 (Setting an undeclared variable). (#218)
This was achieved by using pattern-based matching for only partially
understood variable declarations and function definitions.
#### Warnings and errors
This version of explcheck has made the following changes to the document titled
[_Warnings and errors for the expl3 analysis tool_][warnings-and-errors]:
- Remove planned issue W511 (Defined an expandable function as protected), since
it doesn't actually constitute an issue: there are good reasons to protect a
function from expansion, even if it is otherwise expandable. (#213)
#### Housekeeping
This version of explcheck has completed the following housekeeping tasks:
- Reduce repetition in the function `analyze_group_wide_statements()` from
`explcheck-semantic-analysis.lua` by introducing two new mechanisms:
maybe-trackers and statement category lists and indices. (#217)
#### Continuous integration
This version of explcheck has made the following changes to our continuous
integration (CI):
- In the CI, force flow analysis for TeX Live 2025 rather than the latest TeX
Live, so that we can compare the diff against our 2025 baselines. (ea03ec0)
- In the CI, check that the `lua-toml` submodule is up-to-date even if checking
the `latex3` submodule failed. (340f6bc)
#### Dependencies
This version of explcheck has made the following changes to third-party Git
submodules and other dependencies:
- Update the `latex3` submodule from 2026-04-28-dev to 2026-05-15-dev. (85b126a)
[code coverage]: https://witiko.github.io/Expl3-Linter-11/#code-coverage
[warnings-and-errors]: https://github.com/witiko/expltools/releases/download/latest/warnings-and-errors.pdf
----------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/support/expltools
More information is at
https://www.ctan.org/pkg/expltools
------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Erik Braun
------------------------------------------------------------------------
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]