Skip to content

Fix selected CPAN module compatibility - #873

Merged
fglock merged 5 commits into
masterfrom
fix/cpan-module-compatibility
Jul 29, 2026
Merged

Fix selected CPAN module compatibility#873
fglock merged 5 commits into
masterfrom
fix/cpan-module-compatibility

Conversation

@fglock

@fglock fglock commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • add missing core I18N::LangTags::List, Time::localtime, and Time::tm modules
  • preserve compile-time warning handlers for warning-producing constant expressions
  • attribute Java-backed Perl module frames to their registered Perl packages
  • preserve byte-string captures in warning-aware concatenation
  • normalize overflowing dotted versions to v.Inf with correct comparisons
  • remove the Test::FailWarnings and DateTime::Format::CLDR source patches now superseded by runtime parity
  • track @ISA mutations with an inheritance generation and refresh reverse-MRO caches
  • dispatch anonymous CODE attributes in compile-time source order
  • defer custom-handler :const evaluation until anonymous CODE bodies and captures exist
  • preserve Perl caller lines across boolean short-circuit expressions on both backends
  • compile parenthesized increment/decrement operands as lvalues in the interpreter, fixing Test2::Hub contexts
  • remove and retire the Test::Class failure-ignore distropref
  • retain scoped compatibility patches for Term::ANSIColor::Markup and LRU::Cache
  • support both function-style and method-style LRU constructors
  • document the runtime-first experiments and remaining follow-up work

Verification

  • make
  • perl dev/tools/perl_test_runner.pl perl5_t/t/op/attrs.t — 159/159
  • anonymous custom-:const unit passes standard Perl, JVM, and interpreter
  • ./jcpan -t Test::FailWarnings — unpatched, 8 tests
  • ./jcpan -t Hash::Ordered
  • ./jcpan -t Date::Utils
  • ./jcpan -t Term::ANSIColor::Markup
  • ./jcpan -t LRU::Cache — 14 files, 190 tests
  • ./jcpan -t Data::Identifier
  • ./jcpan -t DateTime::Format::CLDR — unpatched, 17 files, 13,054 tests
  • ./jcpan -t Test::Version
  • ./jcpan -t Test::Class — unpatched and unmasked, 57 files, 191 tests
  • restored Test::More MRO regression and parenthesized-lvalue units pass standard Perl, JVM, and interpreter
  • new Perl unit tests validated with standard Perl and both PerlOnJava backends

Generated with Codex

fglock and others added 5 commits July 28, 2026 15:39
Add missing core modules, improve compile-time warning delivery and version
overflow handling, and provide targeted pure-Perl compatibility patches for
the requested CPAN distributions.

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

Co-Authored-By: Codex <codex@openai.com>
Attribute Java-backed module frames to their Perl packages and preserve byte
captures in warning-aware concatenation. Retire the obsolete Test::FailWarnings
and DateTime::Format::CLDR compatibility artifacts, and correct the LRU fallback
constructor for both function and method call forms.

Document the runtime-first experiment and retain the Want and bundled LRU
prototypes as follow-up work after their integration exposed unrelated global
state coupling.

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

Co-Authored-By: Codex <codex@openai.com>
Mark package ISA arrays as inheritance-sensitive and invalidate MRO caches at
their mutation points. Dispatch anonymous CODE attributes in compile-time
source order and preserve Perl caller lines through boolean short-circuit
compilation on both backends.

Remove and retire the Test::Class failure-ignore distropref after the
unmodified upstream suite passes.

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

Co-Authored-By: Codex <codex@openai.com>
Compile one-element parenthesized increment and decrement operands as their
underlying lvalues instead of RuntimeList values. This fixes Test2::Hub's
parenthesized hash-count increment and allows Test::More contexts to complete
under the interpreter.

Restore the MRO parity regression to Test::More and add focused pre/post
increment and decrement coverage.

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

Co-Authored-By: Codex <codex@openai.com>
Preserve built-in effects applied by custom anonymous CODE attribute
handlers and finalize const values only after the executable body and
closure captures are available.

Add a standard-Perl-validated unit test and document the parity behavior.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock merged commit f44819a into master Jul 29, 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