Skip to content

fix(regex): parse Perl horizontal whitespace natively - #1068

Draft
fglock wants to merge 1 commit into
fix/phase36-joni-lookbehind-acceptance-v3from
fix/phase36-joni-horizontal-whitespace
Draft

fix(regex): parse Perl horizontal whitespace natively#1068
fglock wants to merge 1 commit into
fix/phase36-joni-lookbehind-acceptance-v3from
fix/phase36-joni-horizontal-whitespace

Conversation

@fglock

@fglock fglock commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • enable native Perl \h and \H parsing in the forked Joni syntax
  • preserve Ruby syntax's hexadecimal h/H behavior
  • use JCodings BLANK for Unicode and exact explicit sets where byte or scoped ASCII filtering applies
  • add direct and product coverage for complements, classes, byte/Unicode, and /a//aa

Validation

  • canonical Perl fixture: 108/108
  • forced-Joni JVM/interpreter: 108/108 each, byte-identical
  • imported reg_posixcc.t: 2,560/2,560 on JVM and interpreter
  • full make: warning-free in 5m10, 17/17 tasks, exit 0

Stack

This draft is stacked on fix/phase36-joni-lookbehind-acceptance-v3 at exact
parent 6dc8f49f88d45f2c940baabdbedae6a4568309dc.

References dev/design/phase36-regex-parity.md.

Enable the Perl-only horizontal-whitespace syntax bit and teach the lexer to
emit exact \h and \H semantics without changing Ruby's hex-digit escapes.
Preserve the full Perl set under /a and /aa, including byte-mode classes.

Add direct Joni and standard-Perl-validated product coverage for positive,
complement, class, Unicode, byte, and scoped-modifier behavior.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant