Fix CPAN compiler and DATA handling issues - #955
Merged
Conversation
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
force-pushed
the
fix/cpan-compiler-tooling-20260814
branch
from
August 14, 2026 20:34
8156e0d to
28ffe02
Compare
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
force-pushed
the
fix/cpan-compiler-tooling-20260814
branch
from
August 15, 2026 06:56
28ffe02 to
5662136
Compare
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
force-pushed
the
fix/cpan-compiler-tooling-20260814
branch
from
August 15, 2026 11:23
5662136 to
957f030
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tell/seekpositions for virtual DATA handles, including package DATA handles without an early placeholderif/unlessbodyCPAN 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 chainThe remaining requested distributions were excluded after the system-Perl baseline:
Heap::Simple::Anyresolves toHeap::Simple::Perl, whose own test suite fails under system PerlChart::Sequencefails to load under system Perl because its accessor generator derives invalid typesLingua::StanfordCoreNLPrequires the unavailable Inline::Java native integration stackPadre::Plugin::FormBuilderrequires the unavailable Wx/native XS GUI stackNo distribution preference was added. No new cryptographic provider was needed; existing Java providers such as BouncyCastle remain reused by the runtime where applicable.
Validation
makepasses all unit-test shardsGenerated with Codex