Skip to content

fix: restore tied FETCH and substitution pos state - #1366

Merged
fglock merged 2 commits into
masterfrom
fix/tie-fetch-count
Sep 13, 2026
Merged

fix: restore tied FETCH and substitution pos state#1366
fglock merged 2 commits into
masterfrom
fix/tie-fetch-count

Conversation

@fglock

@fglock fglock commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • resolve tied scalar FETCH exactly once at runtime operation boundaries
  • preserve pos() cache identity during global substitution so re/subst*.t no longer aborts at test 188
  • add focused regressions for tied sort comparator FETCH and substitution with pos() / \G

Validation

  • make
  • prove src/test/resources/unit/tied_scalar_sort_fetch_once.t
  • prove src/test/resources/unit/regex/substitution_global_pos_state.t
  • JVM and interpreter runs of both focused tests
  • perl dev/tools/perl_test_runner.pl --jobs 3 --timeout 300 perl5_t/t/re/subst.t perl5_t/t/re/substT.t perl5_t/t/re/subst_wamp.t

The UAT trio now completes at 275/281 each; the reported 185/281 incomplete regression is resolved.

fglock and others added 2 commits September 13, 2026 18:30
Normalize tied scalar operands at runtime operation boundaries and preserve
single FETCH evaluation through sort comparator references.

Add a focused tied scalar sort regression test.

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

Co-Authored-By: Codex <codex@openai.com>
Keep match-position cache state attached to the original scalar so global
substitutions using pos() and \G do not abort.

Add focused global substitution position regression coverage.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock merged commit 1834829 into master Sep 13, 2026
2 checks passed
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