CTAN Comprehensive TeX Archive Network

CTAN update: expltools

Date: March 28, 2025 8:24:12 PM CET
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 .

expltools – Development tools for expl3 programmers

This bundle introduces explcheck, a static analysis tool for developers working with expl3 code. Currently in its initial release, explcheck aims to help developers identify potential issues and improve code quality. In the future, this bundle may expand to include additional development tools for expl3.

Packageexpltools
Version 2025-04-01
Copyright2024–2025 Vít Starý Novotný
MaintainerVít Starý Novotný

Announcements

more

Guest Book Sitemap Contact Contact Author