develooper Front page | perl.perl5.porters | Postings from January 2014

Latest 5.18.2 changelog clarification

Thread Next
Reini Urban
January 7, 2014 16:51
Latest 5.18.2 changelog clarification
Message ID:
In I bitched about
p5p about deliberately breaking the B API again for no obvious
technical reasons.

Now I read about that summarized as:

Perl 5.18.1 introduced a regression along with a bugfix for lexical
subs.  Some B::SPECIAL results from B::CV::GV became undefs instead.
This broke Devel::Cover among other libraries.  This has been fixed.
[perl #119351]

Excuse me? Could the person who writes such changelog lines please
consult with someone who has actually an idea about what was going on?
Or read the ticket.

"Some B::SPECIAL results from B::CV::GV became undefs instead"

This relates to 2 cases:
- lexsubs which do have a NAME but no GV, so it was not fixing a
regression, it rather changed behavior. For the 4th time as I
outlined, and for which I have to support special cases, 3 special
cases in supported maint releases. You only named Devel::Cover which
is trivial test problem, and not a problem with the module itself. You
didn't name any B submodule which actually need this API and a lexsub
- main_cv->GV regression.

"This has been fixed" is wrong. This has been reverted to the 5.18.0
behavior. It actually broke B modules and a bad Devel::Cover testcase.
The wording of the changelog is incorrect and confusing. Anybody which
has to deal with B would like to know which cases are affected. And
both cases are very special.

Nobody with any sanity would try to access main_cv->GV and rely in
this result, because main_cv is a special case by itself. It has no

lexsubs store the names differently which need to be accessed by a new
API, introduced within a maint cycle.
Reini Urban

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About