Skip Menu |

This queue is for tickets about the Class-Spiffy CPAN distribution.

Report information
The Basics
Id: 123675
Status: open
Priority: 0/
Queue: Class-Spiffy

People
Owner: Nobody in particular
Requestors: 'spro^^*%*^6ut# [...] &$%*c
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Fails with 5.28-to-be due to ancient Module::Install
The bundled Module::Install (version 0.54) contains a bug in it, fixed by version 0.58. From the change-log: 0.58 Tue 4 Mar 2006 - Adam Kennedy - Made Module::AutoInstall generally aware of AUTOMATED_TESTING - Added compatibility with 5.9.3 proxy constants ...etc... Those ‘proxy constants’ are scalar references stored directly in the stash. Perl 5.28 will introduce a new optimisation allowing (almost) any sub to be stored as a sub ref in the stash, and this trips up this very old version of Module::Install. From the perldelta for 5.27.6: =head2 Subroutines no longer need typeglobs Perl 5.22.0 introduced an optimization allowing subroutines to be stored in packages as simple sub refs, not requiring a full typeglob (thus potentially saving large amounts of memeory). However, the optimization was flawed: it only applied to the main package. This optimization has now been extended to all packages. This may break compatibility with introspection code that looks inside stashes and expects everything in them to be a typeglob. When this optimization happens, the typeglob still notionally exists, so accessing it will cause the stash entry to be upgraded to a typeglob. The optimization does not apply to XSUBs or exported subroutines, and calling a method will undo it, since method calls cache things in typeglobs. [perl #129916] [perl #132252]
And Ingy, please, when you're at it, bump the version number to 0.28 or higher. I do not know the reason why and history how it came about, but metacpan believes there once was a 0.27 and shows it. Whenever I see such a page I get an adrenaline shock. You don't want me to have these shocks, do you?