Regex rejects IsPrint when combined with another character-class property
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Start by reproducing the failure with the character-class patterns in the issue and running t/01.new.t, t/04.particles.t, t/05.contributor.t, and t/06.source.t on both the JVM and interpreter backends. Inspect the existing Unicode alias handling, especially the Is/is-prefix logic; done means IsPrint combined with \s is accepted and the affected tests pass on both backends.
索引モデルが issue の本文から書いたものです。
説明
Summary
XML-Atom-App v0.0.5 fails under PerlOnJava because the regex engine rejects the valid Perl Unicode property alias \p{IsPrint} when it is combined with \s in a character class.
Reproduction
These patterns behave inconsistently:
-
qr/[\p{IsPrint}]/ succeeds.
-
qr/^[\p{IsPrint}]*$/ succeeds.
-
qr/[\p{IsPrint}\s]/ fails.
-
qr/^[\p{IsPrint}\s]*$/ fails with:
Unknown user-defined property name IsPrint in regex
The failure affects both the JVM and interpreter backends.
CPAN evidence
- Distribution: XML-Atom-App v0.0.5
- CPAN run: 20260928-091741-26386
- Failing tests: t/01.new.t, t/04.particles.t, t/05.contributor.t, t/06.source.t
- PerlOnJava result: 20/21 tests; 4/10 test programs failed
- System Perl result: all 56 upstream tests passed
The failing module code uses:
/^[\\p{IsPrint}\\s]*$/
The same compatibility failure appeared in earlier CPAN reports, including the 2026-08-26 and 2026-09-10 report runs.
Related work
Existing Unicode alias handling strips the Is/is prefix, and prior work addressed isAlpha-style aliases. This reproducer shows a remaining context-sensitive failure when the alias is followed by another property escape in the same character class.
- 主要言語
- Perl
- スター
- 64
- フォーク
- 6
- 平均マージ
- 4時間 55分
- マージ済み PR(30日)
- 169
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
fglock/PerlOnJava のほかの issue
-
area:cpan-port area:unicode bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
fglock/PerlOnJava#1341 ·
メンテナーはふだん 1 日以内に返信
-
area:backend area:runtime bug
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
fglock/PerlOnJava#1554 ·
メンテナーはふだん 1 日以内に返信
-
area:cpan-port area:runtime bug
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
fglock/PerlOnJava#1552 ·
メンテナーはふだん 1 日以内に返信
-
area:backend area:cpan-port bug
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
fglock/PerlOnJava#1548 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
fglock/PerlOnJava#1541 ·
メンテナーはふだん 1 日以内に返信
fglock/PerlOnJava の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
objectionary/eolang.sty#167 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
conan-io/conan-center-index#31065 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
openfoodfacts/openfoodfacts-server#14749 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
rubocop/ruby-style-guide#982 ·