From: Nicholas Clark Date: Thu, 11 Sep 2008 22:11:32 +0000 (+0000) Subject: Abolish the warning "Can't locate package %"SVf" for the parents of %s" X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c109477dfda0dedbe3c4ffa3d6074085d3b8497a;p=p5sagit%2Fp5-mst-13.2.git Abolish the warning "Can't locate package %"SVf" for the parents of %s" which doesn't tell you anything you won't discover soon enough when you try to call a method. (Or haven't already been warned about when @ISA was linearised) p4raw-id: //depot/perl@34353 --- diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 775e274..14f1368 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -902,13 +902,6 @@ method, nor does any of its base classes. See L. (W syntax) The @ISA array contained the name of another package that doesn't seem to exist. -=item Can't locate package %s for the parents of %s - -(W syntax) You did not define (or require/use) the first package, -which is named as a (possibly indirect) parent of the second by -C<@ISA> inheritance. Perl will treat this as if the undefined -package had an empty C<@ISA>. - =item Can't locate PerlIO%s (F) You tried to use in open() a PerlIO layer that does not exist, diff --git a/universal.c b/universal.c index 461eedf..08dad15 100644 --- a/universal.c +++ b/universal.c @@ -67,14 +67,6 @@ S_isa_lookup(pTHX_ HV *stash, const char * const name) while (items--) { SV* const basename_sv = *svp++; HV* const basestash = gv_stashsv(basename_sv, 0); - if (!basestash) { - /* We have no test coverage for this block, as of 2008/08. */ - if (ckWARN(WARN_SYNTAX)) - Perl_warner(aTHX_ packWARN(WARN_SYNTAX), - "Can't locate package %"SVf" for the parents of %s", - SVfARG(basename_sv), hvname); - continue; - } if(name_stash == basestash || strEQ(name, SvPVX(basename_sv))) return TRUE; }