Skip to content

feat(regex): expand native Joni Unicode properties - #1074

Draft
fglock wants to merge 9 commits into
fix/phase36-branch-reset-named-callfrom
fix/phase36-binary-leading-shortcuts
Draft

feat(regex): expand native Joni Unicode properties#1074
fglock wants to merge 9 commits into
fix/phase36-branch-reset-named-callfrom
fix/phase36-binary-leading-shortcuts

Conversation

@fglock

@fglock fglock commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • advance native Joni Unicode property parsing through exact property-family policy
  • add pinned Age, composed-property, Block, Script, POSIX, and binary alias handling
  • preserve user-property precedence and Perl loose-name behavior

Validation

  • each implementation slice was validated against system Perl first
  • forced-Joni JVM and interpreter focused matrices pass for the delivered families
  • each delivered slice completed a warning-free full make

Notes

This is a stacked Phase 36 PR based on fix/phase36-branch-reset-named-call. Original Joni and JCodings copyright and authorship notices are preserved.

fglock and others added 9 commits August 18, 2026 20:25
Carry per-property case-fold policy through the forked Joni resolver and parse
standalone pinned Block, Script, and Script_Extensions assignments natively.
Keep no-fold properties inside composed classes in the adapter until Joni can
preserve member policy through class algebra.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Route standalone exact combining-class, bidi, decomposition, width, numeric,
and joining-group assignments through Joni's no-fold range resolver while
retaining wildcard and composed-class semantics in the adapter.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Pass exact Age, In, and Present_In assignments to the pinned Joni character
property resolver with explicit no-fold policy. Keep wildcard and composed
class forms in the frontend until their syntax semantics are represented by
the engine.

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

Co-Authored-By: Codex <codex@openai.com>
Carry resolver-provided case-fold eligibility through character-class union,
intersection, negation, and nesting without changing Joni's existing ASCII
boundary policy. Gate singleton and multi-character fold expansion with the
composed eligibility class.

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

Co-Authored-By: Codex <codex@openai.com>
Accept Perl's anchored colon wildcard form for Block values and match official
short and long value aliases while retaining the pinned Perl Block sets.

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

Co-Authored-By: Codex <codex@openai.com>
Canonicalize Perl's pinned XPosix and ASCII Posix aliases using loose
property-name matching while preserving user-property precedence. Propagate
explicit missing-property diagnostics through both backend adapters instead
of converting them into deferred match-any placeholders.

Add a system-Perl-validated focused fixture covering canonical and loose
spellings, membership, rejection, and defined callback precedence.

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

Co-Authored-By: Codex <codex@openai.com>
Allow Perl's bare In and Is Block shortcuts to ignore leading whitespace,
hyphens, and underscores before the prefix. Keep Script, binary,
General_Category, and exact user-property precedence unchanged while resolving
only against the pinned Perl Block table.

Add a system-Perl-validated focused fixture for membership, precedence,
callback behavior, and rejection paths.

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

Co-Authored-By: Codex <codex@openai.com>
Normalize leading loose separators and the Is prefix before resolving
bare Script shortcuts, while preserving binary, general-category, and
user-defined property precedence.

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

Co-Authored-By: Codex <codex@openai.com>
Route leading-loose bare Is aliases through the native Joni property callback,
preserving Script, Block, General_Category, and user-property precedence while
inheriting only already-supported binary and special property bases.

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