Change 18047 by [EMAIL PROTECTED] on 2002/10/22 16:20:18

        Subject: [PATCH] AutoLoader gives wrong message
        From: Peter Scott <[EMAIL PROTECTED]>
        Date: Thu, 17 Oct 2002 19:54:56 -0700
        Message-id: <[EMAIL PROTECTED]>

Affected files ...

.... //depot/perl/lib/AutoLoader.pm#29 edit

Differences ...

==== //depot/perl/lib/AutoLoader.pm#29 (text) ====
Index: perl/lib/AutoLoader.pm
--- perl/lib/AutoLoader.pm#28~17996~    Fri Oct 11 04:55:53 2002
+++ perl/lib/AutoLoader.pm      Tue Oct 22 09:20:18 2002
@@ -92,23 +92,24 @@
     eval { local $SIG{__DIE__}; require $filename };
     if ($@) {
        if (substr($sub,-9) eq '::DESTROY') {
-               no strict 'refs';
+           no strict 'refs';
            *$sub = sub {};
-       } else {
+           $@ = undef;
+       } elsif ($@ =~ /^Can't locate/) {
            # The load might just have failed because the filename was too
            # long for some old SVR3 systems which treat long names as errors.
-           # If we can succesfully truncate a long name then it's worth a go.
+           # If we can successfully truncate a long name then it's worth a go.
            # There is a slight risk that we could pick up the wrong file here
            # but autosplit should have warned about that when splitting.
            if ($filename =~ s/(\w{12,})\.al$/substr($1,0,11).".al"/e){
                eval { local $SIG{__DIE__}; require $filename };
            }
-           if ($@){
-               $@ =~ s/ at .*\n//;
-               my $error = $@;
-               require Carp;
-               Carp::croak($error);
-           }
+       }
+       if ($@){
+           $@ =~ s/ at .*\n//;
+           my $error = $@;
+           require Carp;
+           Carp::croak($error);
        }
     }
     $@ = $save;
@@ -124,9 +125,9 @@
     #
 
     if ($pkg eq 'AutoLoader') {
-      no strict 'refs';
-      *{ $callpkg . '::AUTOLOAD' } = \&AUTOLOAD
-        if @_ and $_[0] =~ /^&?AUTOLOAD$/;
+       no strict 'refs';
+       *{ $callpkg . '::AUTOLOAD' } = \&AUTOLOAD
+           if @_ and $_[0] =~ /^&?AUTOLOAD$/;
     }
 
     #
End of Patch.

Reply via email to