Skip to content

fix: preserve lvalue returns through goto markers - #1917

Merged
fglock merged 2 commits into
masterfrom
fix/lvalue-undef-return-sub-quote
Oct 28, 2026
Merged

fglock merged 2 commits into
masterfrom
fix/lvalue-undef-return-sub-quote

Conversation

@fglock

@fglock fglock commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Preserve lvalue goto &sub control-flow markers until the replacement subroutine returns its value.
  • Keep rejecting actual empty scalar lvalue returns.
  • Add regression coverage for a writable undef slot returned directly and forwarded through goto.

Fixes #1915

Validation

  • System Perl: new regression passes.
  • Unfixed parent c7c805b7a: regression fails on JVM and interpreter.
  • Final candidate 8344ae1: regression passes on JVM and interpreter.
  • nice -n 19 make — passed on the final candidate based on current master.
  • make check-links — passed.
  • Sub::Quote 2.006009 full test suite — 15 files, 6,641 tests passed on JVM and interpreter.

fglock and others added 2 commits October 28, 2026 16:25
Defer lvalue-return validation while a goto &sub control-flow marker is
being forwarded, so the replacement subroutine can return its writable
undef-valued scalar cell. Keep validation for actual empty lvalue returns.

Fixes #1915

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

Co-Authored-By: Codex <codex@openai.com>
Record draft PR #1917 and its current validation state in the project issue queue.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock marked this pull request as ready for review October 28, 2026 16:37
@fglock
fglock merged commit fab237f into master Oct 28, 2026
2 checks passed
fglock added a commit that referenced this pull request Oct 28, 2026
Remove the resolved #1915 fix from the active project queue after its delivery in PR #1917.

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.

Preserve undef lvalue aliases through goto wrappers

1 participant