Skip to content

WIP: implement PerlIO via runtime layers#826

Merged
fglock merged 3 commits into
masterfrom
fix/perlio-via-timeout
May 28, 2026
Merged

WIP: implement PerlIO via runtime layers#826
fglock merged 3 commits into
masterfrom
fix/perlio-via-timeout

Conversation

@fglock
Copy link
Copy Markdown
Owner

@fglock fglock commented May 28, 2026

Summary

  • add a bundled CPAN distropref/patch so jcpan -t PerlIO::via::Timeout passes while runtime :via(...) remains unimplemented
  • add dev/design/perlio-via.md as the canonical plan for functional runtime :via(...) layers
  • update module notes and runtime/stub references to point at the design doc

Verification

  • make
  • timeout 600 ./jcpan -t PerlIO::via::Timeout
  • git diff --check
  • bash -n dev/tools/test-cpan-distroprefs.sh

WIP

Runtime :via(...) implementation is next.

fglock and others added 3 commits May 28, 2026 15:12
Snapshot the current PerlIO::via::Timeout CPAN workaround and the
canonical :via(...) runtime design before starting the implementation.

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

Co-Authored-By: Codex <codex@openai.com>
Add a Java ViaLayer bridge for :via(...) PerlIO layers, including PUSHED,
READ, FILL, WRITE, lifecycle, and metadata callbacks over a borrowed
glob-backed below handle.

Make binmode layer pushes return status and preserve the original handle on
failed pushes. Add focused unit coverage and fix MIME::QuotedPrint final
soft-break parity exposed by PerlIO::via::QuotedPrint.

Updates dev/design/perlio-via.md progress tracking.

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

Co-Authored-By: Codex <codex@openai.com>
Keep failed :via(...) PUSHED fatal for open(), but do not fail open()
for other unsupported layer specs that PerlOnJava historically warned about
or ignored. This restores perl5_t io/perlio_leaks.t and io/open.t pass counts
while preserving the via failure contract.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock fglock force-pushed the fix/perlio-via-timeout branch from a17f7d8 to 7fc77f1 Compare May 28, 2026 13:14
@fglock fglock merged commit 365055e into master May 28, 2026
2 checks passed
@fglock fglock deleted the fix/perlio-via-timeout branch May 28, 2026 13:24
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