Skip Menu |

This queue is for tickets about the B-Lint CPAN distribution.

Report information
The Basics
Id: 99194
Status: resolved
Priority: 0/
Queue: B-Lint

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: [PATCH] Fix for 5.21.4
Subject: open_Z4e8WlXO.txt
diff -rup B-Lint-1.17-dh_SSg-orig/blib/arch/B/Lint.pm B-Lint-1.17-dh_SSg/blib/arch/B/Lint.pm --- B-Lint-1.17-dh_SSg-orig/blib/arch/B/Lint.pm 2013-01-26 07:20:41.000000000 -0800 +++ B-Lint-1.17-dh_SSg/blib/arch/B/Lint.pm 2014-09-28 11:55:43.000000000 -0700 @@ -196,7 +196,7 @@ use strict; use B qw( walkoptree_slow main_root main_cv walksymtable parents OPpOUR_INTRO - OPf_WANT_VOID OPf_WANT_LIST OPf_WANT OPf_STACKED SVf_POK ); + OPf_WANT_VOID OPf_WANT_LIST OPf_WANT OPf_STACKED SVf_POK SVf_ROK ); use Carp 'carp'; # The current M::P doesn't know about .pmc files. @@ -622,7 +622,9 @@ UNDEFINED_SUBS: { and $op->next->name eq "entersub"; my $gv = $op->gv_harder; - my $subname = $gv->STASH->NAME . "::" . $gv->NAME; + my $cv = $gv->FLAGS & SVf_ROK ? $gv->RV : undef; + my $subname = ($cv || $gv)->STASH->NAME . "::" + . ($cv ? $cv->NAME_HEK || $cv->GV->NAME : $gv->NAME); no strict 'refs'; ## no critic strict if ( not exists &$subname ) { diff -rup B-Lint-1.17-dh_SSg-orig/lib/B/Lint.pm B-Lint-1.17-dh_SSg/lib/B/Lint.pm --- B-Lint-1.17-dh_SSg-orig/lib/B/Lint.pm 2014-09-28 11:55:32.000000000 -0700 +++ B-Lint-1.17-dh_SSg/lib/B/Lint.pm 2014-09-28 11:55:43.000000000 -0700 @@ -196,7 +196,7 @@ use strict; use B qw( walkoptree_slow main_root main_cv walksymtable parents OPpOUR_INTRO - OPf_WANT_VOID OPf_WANT_LIST OPf_WANT OPf_STACKED SVf_POK ); + OPf_WANT_VOID OPf_WANT_LIST OPf_WANT OPf_STACKED SVf_POK SVf_ROK ); use Carp 'carp'; # The current M::P doesn't know about .pmc files. @@ -622,7 +622,9 @@ UNDEFINED_SUBS: { and $op->next->name eq "entersub"; my $gv = $op->gv_harder; - my $subname = $gv->STASH->NAME . "::" . $gv->NAME; + my $cv = $gv->FLAGS & SVf_ROK ? $gv->RV : undef; + my $subname = ($cv || $gv)->STASH->NAME . "::" + . ($cv ? $cv->NAME_HEK || $cv->GV->NAME : $gv->NAME); no strict 'refs'; ## no critic strict if ( not exists &$subname ) {
Thank you. Release 1.18 made with this fix. -- rjbs