Abolish the warning "Can't locate package %"SVf" for the parents of %s"
Nicholas Clark [Thu, 11 Sep 2008 22:11:32 +0000 (22:11 +0000)]
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

pod/perldiag.pod
universal.c

index 775e274..14f1368 100644 (file)
@@ -902,13 +902,6 @@ method, nor does any of its base classes.  See L<perlobj>.
 (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,
index 461eedf..08dad15 100644 (file)
@@ -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;
     }