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]

Reply via email to