pattern on OTP 27: \w, \b and the POSIX letter classes also take the Latin-1 letters - #78
Merged
Merged
Conversation
…Latin-1 letters; stated and pinned by release The floor leg (OTP 27, Elixir 1.17) failed on main at 289dbdb: `^\w$` matched "é". OTP 27's :re is PCRE with Latin-1 character tables and has no ASCII ones, so without :ucp its \w, \b and [[:alpha:]] still take U+00AA to U+00FF (65 code points); \d, \s and $ are ASCII there too, and from OTP 28 (PCRE2) all of them are. Measured over U+0080..U+2FFF on OTP 27, 28 and 29. No option of :re makes the tables ASCII on 27, so the moduledoc and the CHANGELOG say so, with [A-Za-z0-9_] as the spelling for a host that means ASCII letters, and the test pins each release's reading: é refused from 28 and admitted on 27, Ā and U+00A0 refused on both. The test file passes on OTP 27 / Elixir 1.17 (container) and 28. The 0.10.1 heading takes the release day, 2026-09-26. Signed-off-by: Ayla Croft <aylacroft@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The floor leg failed on main at 289dbdb: on OTP 27,
^\w$matchedé. OTP 27's:reis PCRE with Latin-1 character tables and has no ASCII option, so\w,\band[[:alpha:]]also take U+00AA to U+00FF there (65 code points;\d,\sand$stay ASCII). From OTP 28 (PCRE2) all are ASCII. Measured over U+0080..U+2FFF on 27, 28 and 29.This states it in
BeamMCP.Schema's moduledoc and the CHANGELOG (with[A-Za-z0-9_]for a host that means ASCII letters), and the test pins each release's reading. The 0.10.1 heading takes the release day.Local: the sixteen-step gate passes on OTP 28; the test file passes on OTP 27 / Elixir 1.17 in a container. This PR's CI runs all three legs.