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: 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 .

_______________________________________________
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.