You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Preserve named typeglob stringification in package stash values #1927
Carp::Notify 1.13's export regression tests show that typeglobs read back from a package symbol table lose their names when stringified on PerlOnJava. This is a pure-Perl compatibility regression.
CPAN evidence
CPAN random-tester run: 20261029-123650-2402
Previous passing run: 2026-10-07 at commit 66b868f89
System Perl 5.42.2: all 75 tests pass.
PerlOnJava: 68/75 assertions pass; 7 fail in t/00_regression.t.
Each failing assertion compares a package symbol-table hash after use Carp::Notify and gets *null for the exported explode glob where Perl expects the fully qualified name (for example, *t::Carp::Notify::a::explode). The same mismatch appears for packages a through g.
The distribution is pure Perl; no XS, external service, or platform prerequisite is involved.
The other assertions in t/00_regression.t pass, including checks that the exported code references are the expected functions. The observed failure is specifically the typeglob value exposed through the package stash hash.
Related work
Related typeglob and symbol-table work is tracked in #1119, but that issue does not document this typeglob stringification failure. Please check for overlap while investigating the root cause.
Acceptance criteria
Add a focused project-owned regression that reads exported glob values from a package stash and compares their stringification with system Perl.
Validate the regression with standard Perl first.
Make the focused test pass on JVM and interpreter backends.
Rerun Carp::Notify 1.13's unchanged upstream suite on both PerlOnJava backends.
State: complete
Agent/session: codex-20261029-carp-notify-glob
Scope: #1927, preserve typeglob names when package stash entries are copied; permanent regression, runtime fix, changelog, validation.
Work: PR #1928 merged into master as d76b95e4093b24d9af782a69b2619a52d0b5ae6c from tested head 36006093557016bee8943d68d0c72eac6ebb392e.
Checkpoint: 2026-10-30; RuntimeStash.snapshotStashEntry now retains source display-name metadata on detached copied globs while detached slot lookup remains independent. The focused regression compares stringification of a copied package glob and passes under system Perl, JVM, and interpreter. The unchanged Carp::Notify 1.13 t/00_regression.t passed on both PerlOnJava backends (75 tests, one upstream skip). op/pack.t passed through test 14726 on both backends after rebasing onto the checksum fix in master. nice -n 19 make and nice -n 19 make check-links passed on the resolved current-master candidate. GitHub CI passed on Windows and Ubuntu for the merged PR head.
Blocked by: none.
Next: none; issue closed automatically when PR #1928 merged.
Activity
fglock commentedon Oct 29, 2026
State: complete
Agent/session: codex-20261029-carp-notify-glob
Scope: #1927, preserve typeglob names when package stash entries are copied; permanent regression, runtime fix, changelog, validation.
Work: PR #1928 merged into
masterasd76b95e4093b24d9af782a69b2619a52d0b5ae6cfrom tested head36006093557016bee8943d68d0c72eac6ebb392e.Checkpoint: 2026-10-30;
RuntimeStash.snapshotStashEntrynow retains source display-name metadata on detached copied globs while detached slot lookup remains independent. The focused regression compares stringification of a copied package glob and passes under system Perl, JVM, and interpreter. The unchanged Carp::Notify 1.13t/00_regression.tpassed on both PerlOnJava backends (75 tests, one upstream skip).op/pack.tpassed through test 14726 on both backends after rebasing onto the checksum fix in master.nice -n 19 makeandnice -n 19 make check-linkspassed on the resolved current-master candidate. GitHub CI passed on Windows and Ubuntu for the merged PR head.Blocked by: none.
Next: none; issue closed automatically when PR #1928 merged.
fix: preserve names on copied stash globs
fix: preserve names on copied stash globs