Skip to content

Execute optimistic regex callbacks in Joni - #975

Merged
fglock merged 1 commit into
masterfrom
feature/joni-optimistic-callback-condition
Aug 16, 2026
Merged

Execute optimistic regex callbacks in Joni#975
fglock merged 1 commit into
masterfrom
feature/joni-optimistic-callback-condition

Conversation

@fglock

@fglock fglock commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • execute standalone (*{ ... }) optimistic callbacks and (?(*{ ... })yes|no) callback conditions through the structured Joni callout path
  • expose exact Joni capture-close order so $^N remains distinct from $+
  • document the completed feature coverage while preserving the vendored Joni copyright and authorship notices

Validation

  • make — passes after final rebase; no compiler or make warnings
  • system Perl: prove src/test/resources/unit/regex/optimistic_callback.t — 13/13
  • JVM and interpreter backends: optimistic_callback.t — 13/13 each
  • focused pat_re_eval.t / threaded run — 44/555 passing per backend, up from 24/555 before this phase
  • full perl5_t/t/re/ comparison against ../PerlOnJava/logs/test_20260815_080000_958.log — 50,971 passing assertions, +698 across 80 files

The only file below the older PR 958 baseline is regexp_unicode_prop.t; a clean build of current origin/master reproduces the same 1019/1110 result, so it is inherited rather than introduced here.

Recognize standalone and conditional optimistic callbacks as structured
regex closures, and expose Joni's exact capture-close order for $^N.

Add Perl and vendored-Joni coverage for callback execution, condition
selection, match variables, and nested capture order. Update the Joni
fork design and feature matrix.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock merged commit 3d14205 into master Aug 16, 2026
2 checks passed
@fglock
fglock deleted the feature/joni-optimistic-callback-condition branch August 16, 2026 11:44
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