Skip to content

Fix lexical compile-scope hooks for CPAN modules - #883

Closed
fglock wants to merge 3 commits into
masterfrom
fix/jcpan-test-deep-config-locale-namespace-clean
Closed

Fix lexical compile-scope hooks for CPAN modules#883
fglock wants to merge 3 commits into
masterfrom
fix/jcpan-test-deep-config-locale-namespace-clean

Conversation

@fglock

@fglock fglock commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Track B::Hooks::EndOfScope callbacks by parser lexical scope, fixing nested namespace::clean cleanup.
  • Release temporary localized hash/array contents during global local restoration.
  • Update the Test::Deep compatibility plan with current verification results.

Validation

  • make — passed.
  • ./jcpan -t namespace::clean — 2099/2099 subtests passed.
  • ./jcpan -t Test::Deep — 1267/1268; only the documented selective-weaken edge remains in t/memory.t.
  • ./jcpan -t Config::Locale — core dependency chain compiled; broad Type::Tiny optional tests are limited by missing test-only modules/PadWalker and the bounded run timed out.

Generated with Codex

fglock and others added 3 commits August 3, 2026 10:55
Track B::Hooks::EndOfScope callbacks against parser lexical scopes so
namespace::clean removes nested imports at the correct compile boundary.
Release temporary localized container contents during global local restoration
to avoid retaining package-level caches across scopes.

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

Co-Authored-By: Codex <codex@openai.com>
Recursively clean discarded container values and clear weak references when
an overwritten scalar no longer has a package-global strong path. Add a
system-Perl-validated regression for Test::Deep's second-argument comparison
case.

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

Co-Authored-By: Codex <codex@openai.com>
Collapse only the compiler-wrapper/interpreted-code duplicate when resolving
caller(N), keeping recursive calls with the same name as distinct Perl frames.
This restores Exporter::as_heavy's caller lookup so goto dispatch resolves
heavy_export instead of the nonexistent heavy_as_heavy.

Add a TAP regression covering the bundled Exporter path.

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

Co-Authored-By: Codex <codex@openai.com>
@fglock fglock closed this Aug 4, 2026
@fglock
fglock deleted the fix/jcpan-test-deep-config-locale-namespace-clean branch August 4, 2026 07:54
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