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-13
License: lppl1.3c gpl2+

Summary description: Development tools for expl3 programmers

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

## expltools 2026-03-13

### explcheck v0.18.2

#### Fixes

This version of explcheck has fixed the following problems:

- Support `c`-type arguments in variable and constants declarations,
  definitions, and uses. (#187)

  This improved [code coverage][] from ca 21% to 25% of all expl3 tokens on
  TeX Live 2024.

- Do a better job detecting arguments in unrecognized replacement texts when
  extracting control sequence name patterns from `c`-type arguments in function
  calls. (#187)

- In semantic analysis, consider the base variables in indirect variable
  definitions to be used, similarly to how base functions in indirect
  function definitions are considered used. (#187)

  This has removed a dozen false positive detections of issue W415 (Unused
  variable or constant) on TeX Live 2024.

- Include `\q_no_value` among well-known expl3 control sequence names. (#187)

- Have the issue E417 (Setting a variable as a constant) mask the issue E421
  (Globally setting a local variable). (#187)

  This has removed a couple questionable detections of the issue E421 on
  TeX Live 2024.

- Only consider potentially used function (variant) (un)definitions in the flow
  analysis. (suggested by @lostenderman in #156, fixed in #187)

  This change improves processing time by about 3% for an average package file
  in TeX Live 2024, and by up to 91% (or 11×) 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 4× for those files.

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

Overall, the changes in the past two releases have reduced the processing time
for large files such as `expl3-code.tex` from months to a little over an hour
(up to 800×) when flow analysis is enabled despite incomplete code
understanding, and have reduced the memory footprint of flow analysis by up to
12× for those files.

[code-coverage]: https://witiko.github.io/Expl3-Linter-11/#code-coverage

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

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.