Vít Starý Novotný submitted an update to the
expltools
package.
Version: 2025-03-27
License: lppl1.3c gpl2+
Summary description: Development tools for expl3 programmers
Announcement text:
--------------------------------------------------------------------------------
## expltools 2025-03-27
### explcheck v0.8.0
#### Development
- Add syntactic analysis. (#66)
- Add Lua option `verbose` and a command-line option `--verbose` that
prints extra information in human-readable output. (#66)
For example, here is the output of processing the files `markdown.tex` and
`markdownthemewitiko_markdown_defaults.sty` of the Markdown package for TeX
with TeX Live 2024:
```
$ explcheck --verbose `kpsewhich markdown.tex markdownthemewitiko_markdown_defaults.sty`
```
```
Checking 2 files
Checking /usr/local/texlive/2024/texmf-dist/tex/generic/markdown/markdown.tex OK
File size: 103,972 bytes
Preprocessing results:
- Doesn't seem like a LaTeX style file
- Six expl3 parts spanning 97,657 bytes (94% of file):
1. Between 48:14 and 620:11
2. Between 637:14 and 788:4
3. Between 791:14 and 2104:8
4. Between 2108:14 and 3398:4
5. Between 3413:14 and 4210:4
6. Between 4287:14 and 4444:4
Lexical analysis results:
- 19,344 TeX tokens in expl3 parts
Syntactic analysis results:
- 645 top-level expl3 calls spanning all tokens
Checking /.../tex/latex/markdown/markdownthemewitiko_markdown_defaults.sty OK
File size: 34,894 bytes
Preprocessing results:
- Seems like a LaTeX style file
- Seven expl3 parts spanning 18,515 bytes (53% of file):
1. Between 47:14 and 349:4
2. Between 382:14 and 431:2
3. Between 446:14 and 512:4
4. Between 523:14 and 564:2
5. Between 865:14 and 931:2
6. Between 969:14 and 1003:2
7. Between 1072:14 and 1328:2
Lexical analysis results:
- 3,848 TeX tokens in expl3 parts
Syntactic analysis results:
- 69 top-level expl3 calls spanning 2,082 tokens (54% of tokens, ~29% of file)
Total: 0 errors, 0 warnings in 2 files
Aggregate statistics:
- 138,866 total bytes
- 116,172 expl3 bytes (84% of files) containing 23,192 TeX tokens
- 714 top-level expl3 calls spanning 21,426 tokens (92% of tokens, ~77% of files)
```
- Add Lua option `terminal_width` that determines the layout of the
human-readable command-line output. (#66)
- Stabilize the Lua API of processing steps. (#64)
All processing steps are now functions that accept the following arguments:
1. The filename of a processed file
2. The content of the processed file
3. A registry of issues with the processed file (write-only)
4. Intermediate analysis results (read-write)
5. Options (read-only, optional)
#### Fixes
- During preprocessing, only consider standard delimiters of expl3 parts that
are either not indented or not in braces. (discussed in #17, fixed in #66)
- During preprocessing, support `\endinput`, `\tex_endinput:D`, and
`\file_input_stop:` as standard delimiters of expl3 parts. (#66)
- During preprocessing, do not produce warning W101 (Unexpected delimiters) for
a `\ProvidesExpl*` after `\ExplSyntaxOn`. (#66)
- Prevent newlines from being recognized as catcode 15 (invalid) with Lua 5.2
due to unreliable order of table keys. (#66)
#### Continuous integration
- Add regression tests for TeX Live 2024. (#66)
- Configure Dependabot version updates for GitHub Actions.
(contributed by @koppor in #70)
--------------------------------------------------------------------------------
This package is located at
https://mirrors.ctan.org/support/expltoolsMore information is at
https://www.ctan.org/pkg/expltools--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team
Manfred Lotz
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 .