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/expltools
More 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 .