=20definitions
expltools
=20
package.
=20
Version: 2026-01-27
License: lppl1.3c gpl2+
=20
Summary description: Development tools for expl3 programmers
=20
Announcement text: ----------------------------------------------------------------------
=20
## expltools 2026-01-27
=20
### explcheck v0.17.0
=20
#### Development
=20
This version of explcheck has implemented the following new features:
=20
- Implement reaching definitions algorithm for function (variant) =
to the flow analysis. (#152)"Static analysis of expl3 programs (11=C2=BD): Chunks, edges, flow =
=20
This algorithm has been described in some detail in [a recent blog
post][Expl3-Linter-11.5].
=20
[Expl3-Linter-11.5]: https://witiko.github.io/Expl3-Linter-11.5/ =
=20reported from
Flow analysis remains disabled by default, since no issues are =
it yet. To enable it, set the Lua option `stop_after =3D "flow =analysis"`
either in your Lua code or your configuration file.results in
=20
After this change, you may already see preliminary flow analysis =
explcheck's verbose output. However, unless explcheck understands =your file
sufficiently well, it will typically stop before reaching the flow =analysis
step and will report this in the verbose output.proceed to
=20
If explcheck reaches semantic analysis, you can encourage it to =
flow analysis by decreasing the Lua option `min_code_coverage` =towards zero.
If explcheck bails out earlier, try disabling =`stop_early_when_confused` or,
ideally, improve your code quality and contribute to expltools so =that it can
understand your code better. =F0=9F=98=89`T`- and
=20
- In the syntactic analysis, fix the assignment of segment numbers to =
`F`-type arguments. (#152)failing
=20
- Add Lua options `max_reaching_definition_inner_loops` and
`max_reaching_definition_outer_loops`. (#152)
=20
These options help guard against the reaching definitions algorithm =
to converge fast.continuous
=20
#### Continuous integration
=20
This version of explcheck has made the following changes to our =
integration:@dependabot in #153)
=20
- Bump actions/download-artifact from 6 to 7. (contributed by =
=20@dependabot in #154)
- Bump actions/upload-artifact from 5 to 6. (contributed by =
=20
- Display processing progress in the CI. (#152)
=20
- Analyze package files using multiple CPUs in the CI. (#152)
=20
This speeds up the CI by ca 40% from ca 25 minutes to ca 15 minutes.
=20
----------------------------------------------------------------------
=20
The package=E2=80=99s Catalogue entry can be viewed at
https://ctan.org/pkg/expltools
=20
The package=E2=80=99s files themselves can be inspected at
https://mirrors.ctan.org/support/expltools/
=20
----------------------------------------------------------------------
=20
Thanks for the upload.
=20
For the CTAN Team
Vincent Goulet
=20
----------------------------------------------------------------------
=20
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
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 02:48:47 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
10 files (20,373K bytes) |
| Messages: | 264,422 |