CTAN update: expltools

CTAN Announcements via ctan-ann <[email protected]>
Newsgroups gmane.comp.tex.ctan.announce
Message-ID <[email protected]>
Vít Starý Novotný submitted an update to the

                expltools

package.

Version: 2026-03-10
License: lppl1.3c gpl2+

Summary description: Development tools for expl3 programmers

Announcement text:
----------------------------------------------------------------------

## expltools 2026-03-10

### explcheck v0.18.1

#### Fixes

This version of explcheck has fixed the following problems:

- Merge consecutive blocks of function (variant) definitions and function
  undefinitions into macro-statements that form flow-graph vertices instead
  of individual statements. (suggested by @lostenderman in #156, fixed in #183)

  This change improves processing time by about 10% for an average package file
  in TeX Live 2024, and by up to 98% (or 53×) for large files such as
  `expl3-code.tex` when flow analysis is enabled despite incomplete code
  understanding. It also reduces the memory footprint of flow analysis by
  up to 3× for those files.

  After this change, the default value of the Lua option
  `max_reaching_definition_inner_loops` has been reduced from 30,000,000
  to just 650,000 inner-loop iterations.

- Fix the assignment of segment numbers to replacement texts. (#183)

  This would cause function definition statements to point to segments other
  than the replacement texts, confusing the flow analysis.

  This change reduces processing time by about 2% for an average package file
  in TeX Live 2024, and by up to 11% for large files such as `expl3-code.tex`
  when flow analysis is enabled despite incomplete code understanding.

- Raise an error on ambiguous uses of `--long-option VALUE`, where `VALUE` is
  a valid command-line option. (contributed by @muzimuzhi in #185 and c48fa116)

#### Docker image

This version of explcheck has made the following changes to our Docker image
`ghcr.io/witiko/expltools/explcheck`:

- Replace Lua 5.3 with LuaJIT in `Dockerfile`. (#184)

  This change improves processing time by about 33% for an average package
  file in TeX Live 2024, and by up to 61% for large files such as
  `expl3-code.tex` when flow analysis is enabled despite incomplete code
  understanding.

#### Continuous integration

This version of explcheck has made the following changes to our continuous
integration:

- Run regression tests on different Lua interpreters: Lua 5.2, 5.3, 5.4,
  LuaTeX, and LuaJIT. (#184)
- Bump `docker/login-action` from 3 to 4. (contributed by @dependabot in #186.)

Overall, the changes in this release reduce the processing time for large
files such as `expl3-code.tex` from months to hours (up to 65×) when flow
analysis is enabled despite incomplete code understanding, and reduce the
memory footprint of flow analysis by up to 3× for those files.

While this is still insufficient for real-time use (e.g., in a language server;
see ticket #68), it makes the tool practical for scenarios such as continuous
integration.

For a discussion of other potential performance improvements of the flow
analysis, see ticket #156.

----------------------------------------------------------------------

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
Vincent Goulet

----------------------------------------------------------------------

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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.