CTAN update: expltools
Date: February 26, 2025 10:47:20 AM CET
Vít Starý Novotný submitted an update to the
expltools
package.
Version: 2025-02-25
License: lppl1.3c gpl2+
Summary description: Development tools for expl3 programmers
Announcement text:
Version: 2025-02-24 ### explcheck v0.7.0 #### Development - Generate a static web site for the exploration of issues in all expl3 files from TeX Live. (discussed with @norbusan and @koppor in #28 and #32, implemented in <https://github.com/koppor/explcheck-issues> by @koppor) The web site is available here: <https://koppor.github.io/explcheck-issues/>. - Add support for config file sections `[filename."=E2=80=A6"]` for specifying file-specific configuration. (#32, #57, #62) For example, here is how you might configure a file `expl3-code.tex` from your configuration file `.explcheckrc`: ``` toml [filename."expl3-code.tex"] expl3_detection_strategy =3D "always" ignored_issues =3D ["w200", "w202", "e209"] max_line_length =3D 140 ``` - Pre-configure well-known files from current TeX Live with more than 100 error detections in <https://koppor.github.io/explcheck-issues/>. (#32, #57, #62) - Add command-line option `--error-format` and Lua option `error_format`. (discussed with @koppor in koppor/errorformat-to-html#2, added in #40, 5034639, and #43) This allows users to specify Vim's quickfix errorformat used for the machine-readable output when the command-line option `--porcelain` or the Lua option `porcelain` is enabled. - Add command-line option `--expl3-detection-strategy` and Lua option `expl3_detection_strategy`. (drafted and discussed with @koppor in #38, added in #49) - Add command-line option `--make-at-letter` and Lua option `make_at_letter`. (discussed with @zepinglee in #30 and #36, added in #61) These options determine how the at sign (`@`) should be tokenized. The default value `"auto"` automatically determines the category code based on context cues. #### Fixes - Prevent false positive E102 (Unknown argument specifiers) detections for control sequences with multiple colons (`::`). (#62) - Ensure that whole files are considered to be in expl3 when the Lua option `expl3_detection_strategy` is set to `"always"`, even when the files contain standard delimiters `\ProvidesExpl*`. (#62) This also prevents false positive E102 (expl3 material in non-expl3 parts) detections. - Only report warning S103 (Line too long) in expl3 parts. (#38, #49) - In machine-readable output, report the line and column number 1 for file-wide issues. (reported by @koppor in #39, fixed in #40) - Exclude comments from maximum line length checks. (reported by @muzimuzhi in #27, fixed in #43, #58, and #59) This includes spaces before the comments. - Always accept both lower- and upper-case issue identifiers. (reported by @muzimuzhi in #26, fixed in #44) This includes Lua options and configuration files, in addition to command-line options and inline TeX comments. - Exclude "weird" argument specifiers (`:w`) from warning W200. (reported by @muzimuzhi in #25, fixed in #45) - Remove error E203 (Removed control sequences). (reported by @koppor in #53, fixed in #54) - Fix two instances of explcheck crashing while processing input files. (reported by @koppor in #31, fixed in #52 and #59) - Do not recognize `@` as a part of an expl3 control sequence. (reported by @zepinglee in #30 and #37, fixed in #60) This prevents warnings S205 and S206 for LaTeX2e control sequence (re)definitions. #### Deprecation - Deprecate the command-line option `--expect-expl3-everywhere` and remove the Lua option `expect_expl3_everywhere`. (#49) Use the command-line option `--expl3-detection-strategy=3Dalways` or the corresponding Lua option `expl3_detection_stragegy=3D "always"` instead. - Deprecate the default config file section `[options]`. (#62) Rename the section to `[defaults]` instead. #### Documentation - Add SPDX license identifier to `README.md`. (added by @koppor in #50) - Link a list of all currently supported issues from `README.md`. (added by @koppor in #51) - Link <https://koppor.github.io/explcheck-issues/> from `README.md`. (#28, #32, b774ba77) #### Continuous integration - Continuously run explcheck on all packages in historical TeX Live Docker images. (suggested by @hansonchar in #28 and #31, added in #52 and #56) - Use ShellCheck to check code style of Bash scripts. (#61) #### Housekeeping - Make off-by-one errors less likely when working with byte ranges. (#47, #48, 13ebfc6e, a0923d06) #### Artwork - Add artwork by https://www.quickcartoons.com/ to directory `artwork/`. (566769b) Version: 2025-02-25 ### explcheck v0.7.1 #### Development - Add support for config file sections `[package.…]` for specifying package-specific configuration. (#32, #57, #62, #63) For example, here is how you might configure the file `expl3-code.tex` from the package `l3kernel` in your configuration file `.explcheckrc`: ``` toml [package.l3kernel] expl3_detection_strategy = "always" ignored_issues = ["w200", "w202", "e208", "e209"] max_line_length = 140 ``` - Add value `"never"` for the command-line option `--expl3-detection-strategy` and the Lua option `expl3_detection_strategy`. (#63) - Pre-configure all remaining expl3 files from current TeX Live with more than 1 error in <https://koppor.github.io/explcheck-issues/>. (#32, #57, #62, #63, 4bf5597e, d074dbef)
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 Petra Rübe-Pugliese
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
Version: 2025-02-24 ### explcheck v0.7.0 #### Development - Generate a static web site for the exploration of issues in all expl3 files from TeX Live. (discussed with @norbusan and @koppor in #28 and #32, implemented in <https://github.com/koppor/explcheck-issues> by @koppor) The web site is available here: <https://koppor.github.io/explcheck-issues/>. - Add support for config file sections `[filename."=E2=80=A6"]` for specifying file-specific configuration. (#32, #57, #62) For example, here is how you might configure a file `expl3-code.tex` from your configuration file `.explcheckrc`: ``` toml [filename."expl3-code.tex"] expl3_detection_strategy =3D "always" ignored_issues =3D ["w200", "w202", "e209"] max_line_length =3D 140 ``` - Pre-configure well-known files from current TeX Live with more than 100 error detections in <https://koppor.github.io/explcheck-issues/>. (#32, #57, #62) - Add command-line option `--error-format` and Lua option `error_format`. (discussed with @koppor in koppor/errorformat-to-html#2, added in #40, 5034639, and #43) This allows users to specify Vim's quickfix errorformat used for the machine-readable output when the command-line option `--porcelain` or the Lua option `porcelain` is enabled. - Add command-line option `--expl3-detection-strategy` and Lua option `expl3_detection_strategy`. (drafted and discussed with @koppor in #38, added in #49) - Add command-line option `--make-at-letter` and Lua option `make_at_letter`. (discussed with @zepinglee in #30 and #36, added in #61) These options determine how the at sign (`@`) should be tokenized. The default value `"auto"` automatically determines the category code based on context cues. #### Fixes - Prevent false positive E102 (Unknown argument specifiers) detections for control sequences with multiple colons (`::`). (#62) - Ensure that whole files are considered to be in expl3 when the Lua option `expl3_detection_strategy` is set to `"always"`, even when the files contain standard delimiters `\ProvidesExpl*`. (#62) This also prevents false positive E102 (expl3 material in non-expl3 parts) detections. - Only report warning S103 (Line too long) in expl3 parts. (#38, #49) - In machine-readable output, report the line and column number 1 for file-wide issues. (reported by @koppor in #39, fixed in #40) - Exclude comments from maximum line length checks. (reported by @muzimuzhi in #27, fixed in #43, #58, and #59) This includes spaces before the comments. - Always accept both lower- and upper-case issue identifiers. (reported by @muzimuzhi in #26, fixed in #44) This includes Lua options and configuration files, in addition to command-line options and inline TeX comments. - Exclude "weird" argument specifiers (`:w`) from warning W200. (reported by @muzimuzhi in #25, fixed in #45) - Remove error E203 (Removed control sequences). (reported by @koppor in #53, fixed in #54) - Fix two instances of explcheck crashing while processing input files. (reported by @koppor in #31, fixed in #52 and #59) - Do not recognize `@` as a part of an expl3 control sequence. (reported by @zepinglee in #30 and #37, fixed in #60) This prevents warnings S205 and S206 for LaTeX2e control sequence (re)definitions. #### Deprecation - Deprecate the command-line option `--expect-expl3-everywhere` and remove the Lua option `expect_expl3_everywhere`. (#49) Use the command-line option `--expl3-detection-strategy=3Dalways` or the corresponding Lua option `expl3_detection_stragegy=3D "always"` instead. - Deprecate the default config file section `[options]`. (#62) Rename the section to `[defaults]` instead. #### Documentation - Add SPDX license identifier to `README.md`. (added by @koppor in #50) - Link a list of all currently supported issues from `README.md`. (added by @koppor in #51) - Link <https://koppor.github.io/explcheck-issues/> from `README.md`. (#28, #32, b774ba77) #### Continuous integration - Continuously run explcheck on all packages in historical TeX Live Docker images. (suggested by @hansonchar in #28 and #31, added in #52 and #56) - Use ShellCheck to check code style of Bash scripts. (#61) #### Housekeeping - Make off-by-one errors less likely when working with byte ranges. (#47, #48, 13ebfc6e, a0923d06) #### Artwork - Add artwork by https://www.quickcartoons.com/ to directory `artwork/`. (566769b) Version: 2025-02-25 ### explcheck v0.7.1 #### Development - Add support for config file sections `[package.…]` for specifying package-specific configuration. (#32, #57, #62, #63) For example, here is how you might configure the file `expl3-code.tex` from the package `l3kernel` in your configuration file `.explcheckrc`: ``` toml [package.l3kernel] expl3_detection_strategy = "always" ignored_issues = ["w200", "w202", "e208", "e209"] max_line_length = 140 ``` - Add value `"never"` for the command-line option `--expl3-detection-strategy` and the Lua option `expl3_detection_strategy`. (#63) - Pre-configure all remaining expl3 files from current TeX Live with more than 1 error in <https://koppor.github.io/explcheck-issues/>. (#32, #57, #62, #63, 4bf5597e, d074dbef)
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 Petra Rübe-Pugliese
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.
Package | expltools |
Version | 2025-02-25 |
Copyright | 2024–2025 Vít Starý Novotný |
Maintainer | Vít Starý Novotný |