Skip to content

Fix CPAN compiler and DATA handling issues - #955

Merged
fglock merged 5 commits into
masterfrom
fix/cpan-compiler-tooling-20260814
Aug 15, 2026
Merged

Fix CPAN compiler and DATA handling issues#955
fglock merged 5 commits into
masterfrom
fix/cpan-compiler-tooling-20260814

Conversation

@fglock

@fglock fglock commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • make runtime list construction verifier-safe when emitted values cross context boundaries
  • preserve source-absolute tell/seek positions for virtual DATA handles, including package DATA handles without an early placeholder
  • match Perl's caller line for a standalone first call in an if/unless body
  • add system-Perl-validated focused regressions and a progress document for the CPAN batch

CPAN results

  • ./jcpan -t Test::XML::Compare: PASS (13 files, 67 tests)
  • ./jcpan -t CPAN::Index::API::Object::Author: PASS (7 files, 74 tests)
  • ./jcpan -t Lingua::EN::Keywords: PASS (2 tests), including the portable Lingua::EN::Tagger, Memoize, and stemming dependency chain

The remaining requested distributions were excluded after the system-Perl baseline:

  • Heap::Simple::Any resolves to Heap::Simple::Perl, whose own test suite fails under system Perl
  • Chart::Sequence fails to load under system Perl because its accessor generator derives invalid types
  • Lingua::StanfordCoreNLP requires the unavailable Inline::Java native integration stack
  • Padre::Plugin::FormBuilder requires the unavailable Wx/native XS GUI stack

No distribution preference was added. No new cryptographic provider was needed; existing Java providers such as BouncyCastle remain reused by the runtime where applicable.

Validation

  • focused regressions pass with system Perl
  • focused regressions pass with both PerlOnJava JVM and interpreter backends
  • make passes all unit-test shards

Generated with Codex

fglock added a commit that referenced this pull request Aug 14, 2026
Mark the implementation, PR creation, and cross-platform CI phases complete
and point the next step at review and merge of PR #955.

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

Co-Authored-By: Codex <codex@openai.com>
fglock added a commit that referenced this pull request Aug 14, 2026
Mark the implementation, PR creation, and cross-platform CI phases complete
and point the next step at review and merge of PR #955.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock force-pushed the fix/cpan-compiler-tooling-20260814 branch from 8156e0d to 28ffe02 Compare August 14, 2026 20:34
fglock added a commit that referenced this pull request Aug 15, 2026
Mark the implementation, PR creation, and cross-platform CI phases complete
and point the next step at review and merge of PR #955.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock force-pushed the fix/cpan-compiler-tooling-20260814 branch from 28ffe02 to 5662136 Compare August 15, 2026 06:56
fglock and others added 5 commits August 15, 2026 12:46
Use verifier-safe list insertion for runtime-context values, preserve
source-absolute positions on virtual DATA handles, and match Perl caller
lines for the first standalone call in conditional bodies.

These fixes allow Test::XML::Compare, CPAN::Index::API, and
Lingua::EN::Keywords with its portable dependencies to pass through jcpan.

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

Co-Authored-By: Codex <codex@openai.com>
Mark the implementation, PR creation, and cross-platform CI phases complete
and point the next step at review and merge of PR #955.

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

Co-Authored-By: Codex <codex@openai.com>
Preserve verifier-safe list emission without routing every element through
the generic RuntimeBase overload, and limit conditional caller-line
overrides to lexical declaration conditions.

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

Co-Authored-By: Codex <codex@openai.com>
Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Check the conditional branch shape before recursively scanning its condition
for lexical declarations. This preserves caller-line parity while avoiding
unnecessary compiler work for ineligible branches.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock force-pushed the fix/cpan-compiler-tooling-20260814 branch from 5662136 to 957f030 Compare August 15, 2026 11:23
@fglock
fglock merged commit b65d016 into master Aug 15, 2026
2 checks passed
@fglock
fglock deleted the fix/cpan-compiler-tooling-20260814 branch August 15, 2026 12:34
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