From Newsgroup: comp.text.tex
--Apple-Mail=_6A90322E-94DF-441C-B1B8-328F8F988D19
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
V=C3=ADt Star=C3=BD Novotn=C3=BD submitted an update to the
=20
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) =
definitions
to the flow analysis. (#152)
=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/ =
"Static analysis of expl3 programs (11=C2=BD): Chunks, edges, flow =
graphs, confidence, and reaching definitions"
=20
Flow analysis remains disabled by default, since no issues are =
reported from
it yet. To enable it, set the Lua option `stop_after =3D "flow =
analysis"`
either in your Lua code or your configuration file.
=20
After this change, you may already see preliminary flow analysis =
results in
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.
=20
If explcheck reaches semantic analysis, you can encourage it to =
proceed 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
=20
- In the syntactic analysis, fix the assignment of segment numbers to =
`T`- and
`F`-type arguments. (#152)
=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 =
failing
to converge fast.
=20
#### Continuous integration
=20
This version of explcheck has made the following changes to our =
continuous
integration:
=20
- Bump actions/download-artifact from 6 to 7. (contributed by =
@dependabot in #153)
=20
- Bump actions/upload-artifact from 5 to 6. (contributed by =
@dependabot in #154)
=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
--Apple-Mail=_6A90322E-94DF-441C-B1B8-328F8F988D19
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" = content=3D"text/html; charset=3Dutf-8"></head><body =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;"><div = class=3D"Apple-Mail-URLShareUserContentTopClass">V=C3=ADt Star=C3=BD = Novotn=C3=BD submitted an update to the</div><div = class=3D"Apple-Mail-URLShareWrapperClass" style=3D"position: relative = !important;"><blockquote type=3D"cite" style=3D"border-left-style: none; = color: inherit; padding: inherit; margin: inherit;"><br><span = class=3D"Apple-converted-space"> = </span> = expltools<br><br>package.<br><br>Version: 2026-01-27<br>License: =
lppl1.3c gpl2+<br><br>Summary description: Development tools for expl3 = programmers<br><br>Announcement = text:<br>-----------------------------------------------------------------= -----<br><br>## expltools 2026-01-27<br><br>### explcheck =
v0.17.0<br><br>#### Development<br><br>This version of explcheck has = implemented the following new features:<br><br>- Implement reaching = definitions algorithm for function (variant) definitions<br><span = class=3D"Apple-converted-space"> </span> to the flow analysis. = (#152)<br><br><span class=3D"Apple-converted-space"> </span> This = algorithm has been described in some detail in [a recent blog<br><span = class=3D"Apple-converted-space"> </span> = post][Expl3-Linter-11.5].<br><br><span = class=3D"Apple-converted-space"> </span> [Expl3-Linter-11.5]: =
https://witiko.github.io/Expl3-Linter-11.5/ "Static analysis of expl3 = programs (11=C2=BD): Chunks, edges, flow graphs, confidence, and =
reaching definitions"<br><br><span = class=3D"Apple-converted-space"> </span> Flow analysis remains =
disabled by default, since no issues are reported from<br><span = class=3D"Apple-converted-space"> </span> it yet. To enable it, set =
the Lua option `stop_after =3D "flow analysis"`<br><span = class=3D"Apple-converted-space"> </span> either in your Lua code or =
your configuration file.<br><br><span = class=3D"Apple-converted-space"> </span> After this change, you may = already see preliminary flow analysis results in<br><span = class=3D"Apple-converted-space"> </span> explcheck's verbose =
output. However, unless explcheck understands your file<br><span = class=3D"Apple-converted-space"> </span> sufficiently well, it will = typically stop before reaching the flow analysis<br><span = class=3D"Apple-converted-space"> </span> step and will report this =
in the verbose output.<br><br><span = class=3D"Apple-converted-space"> </span> If explcheck reaches =
semantic analysis, you can encourage it to proceed to<br><span = class=3D"Apple-converted-space"> </span> flow analysis by =
decreasing the Lua option `min_code_coverage` towards zero.<br><span = class=3D"Apple-converted-space"> </span> If explcheck bails out =
earlier, try disabling `stop_early_when_confused` or,<br><span = class=3D"Apple-converted-space"> </span> ideally, improve your code = quality and contribute to expltools so that it can<br><span = class=3D"Apple-converted-space"> </span> understand your code =
better. =F0=9F=98=89<br><br>- In the syntactic analysis, fix the =
assignment of segment numbers to `T`- and<br><span = class=3D"Apple-converted-space"> </span> `F`-type arguments. = (#152)<br><br>- Add Lua options `max_reaching_definition_inner_loops` = and<br><span class=3D"Apple-converted-space"> </span> = `max_reaching_definition_outer_loops`. (#152)<br><br><span = class=3D"Apple-converted-space"> </span> These options help guard = against the reaching definitions algorithm failing<br><span = class=3D"Apple-converted-space"> </span> to converge =
fast.<br><br>#### Continuous integration<br><br>This version of =
explcheck has made the following changes to our = continuous<br>integration:<br><br>- Bump actions/download-artifact from =
6 to 7. (contributed by @dependabot in #153)<br><br>- Bump = actions/upload-artifact from 5 to 6. (contributed by @dependabot in = #154)<br><br>- Display processing progress in the CI. (#152)<br><br>- =
Analyze package files using multiple CPUs in the CI. (#152)<br><br><span = class=3D"Apple-converted-space"> </span> This speeds up the CI by =
ca 40% from ca 25 minutes to ca 15 = minutes.<br><br>----------------------------------------------------------= ------------<br><br>The package=E2=80=99s Catalogue entry can be viewed = at<br><span class=3D"Apple-converted-space"> </span> =
https://ctan.org/pkg/expltools<br><br>The package=E2=80=99s files =
themselves can be inspected at<br><span = class=3D"Apple-converted-space"> </span> =
https://mirrors.ctan.org/support/expltools/<br><br>-----------------------= -----------------------------------------------<br><br>Thanks for the = upload.<br><br>For the CTAN Team<br>Vincent = Goulet<br><br>------------------------------------------------------------= ----------<br><br>CTAN is run entirely by volunteers and supported by =
TeX user groups.<br>Please join a user group or donate to one, see =
https://ctan.org/lugs<br>
</blockquote></div></body></html>=
--Apple-Mail=_6A90322E-94DF-441C-B1B8-328F8F988D19--
--- Synchronet 3.21b-Linux NewsLink 1.2