Re: [PATCH 5.10] Improve diagnostic for reloads of bad modules
Rick Delaney [Sat, 22 Sep 2007 16:30:40 +0000 (12:30 -0400)]
Message-ID: <20070922203040.GK11931@bort.ca>

p4raw-id: //depot/perl@31965

pod/perldiag.pod
pp_ctl.c

index 9123a01..1d2650f 100644 (file)
@@ -282,6 +282,13 @@ invalid anytime, even before the end of the current statement.  Use
 literals or global values as arguments to the "p" pack() template to
 avoid this warning.
 
+=item Attempt to reload %s aborted.
+
+(F) You tried to load a file with C<use> or C<require> that failed to
+compile once already.  Perl will not try to compile this file again
+unless you delete its entry from %INC.  See L<perlfunc/require> and
+L<perlvar/%INC>.
+
 =item Attempt to set length of freed array
 
 (W) You tried to set the length of an array which has been freed.  You
index ba0a503..7ecae35 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -3149,7 +3149,8 @@ PP(pp_require)
            if (*svp != &PL_sv_undef)
                RETPUSHYES;
            else
-               DIE(aTHX_ "Compilation failed in require");
+               DIE(aTHX_ "Attempt to reload %s aborted.\n"
+                           "Compilation failed in require", unixname);
        }
     }