Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Regex rejects IsPrint when combined with another character-class property

オープン
#1,556 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
perl
領域
compilers

調査の方向性

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 の本文から書いたものです。

説明

area:cpan-port area:regex area:unicode bug

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

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fglock/PerlOnJava のほかの issue

fglock/PerlOnJava の issue をすべて見る

似ている issue

Perl の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。