In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/9a84a9ba7a7ba718aa90dba54a5bdfedd507aac1?hp=d557393390c0773dc64910e3a956b2d557dc6dd2>

- Log -----------------------------------------------------------------
commit 9a84a9ba7a7ba718aa90dba54a5bdfedd507aac1
Author: Craig A. Berry <craigbe...@mac.com>
Date:   Sun Dec 31 08:10:23 2017 -0600

    XSLoader shouldn't use mod2fname when finding .bs files.
    
    This is a belated follow-up to 907196b2ca1c36611c32cb8, where I
    did the same for DynaLoader but failed to notice that XSLoader has
    its own check for the .bs file before it invokes DynaLoader.
    
    This finally gets the new bootstrap.t test added to XS::APItest
    in 2e6f1ae9c4f7857e86f85fde07 passing on VMS.

-----------------------------------------------------------------------

Summary of changes:
 dist/XSLoader/XSLoader_pm.PL | 11 +++++++----
 pod/perldelta.pod            |  7 +++++++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/dist/XSLoader/XSLoader_pm.PL b/dist/XSLoader/XSLoader_pm.PL
index ec27350cb3..66e4c2d631 100644
--- a/dist/XSLoader/XSLoader_pm.PL
+++ b/dist/XSLoader/XSLoader_pm.PL
@@ -11,7 +11,7 @@ print OUT <<'EOT';
 
 package XSLoader;
 
-$VERSION = "0.29"; # remember to update version in POD!
+$VERSION = "0.30"; # remember to update version in POD!
 
 #use strict;
 
@@ -66,6 +66,7 @@ sub load {
 
     my @modparts = split(/::/,$module);
     my $modfname = $modparts[-1];
+    my $modfname_orig = $modfname; # For .bs file search
 
 EOT
 
@@ -140,8 +141,10 @@ print OUT <<'EOT';
 
 #   print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug;
 
-    my $bs = $file;
-    $bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library
+    # N.B. The .bs file does not following the naming convention used
+    # by mod2fname, so use the unedited version of the name.
+
+    my $bs = "$modlibname/auto/$modpname/$modfname_orig.bs";
 
     # This calls DynaLoader::bootstrap, which will load the .bs file if present
     goto \&XSLoader::bootstrap_inherit if not -f $file or -s $bs;
@@ -249,7 +252,7 @@ XSLoader - Dynamically load C libraries into Perl code
 
 =head1 VERSION
 
-Version 0.29
+Version 0.30
 
 =head1 SYNOPSIS
 
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index ff79614db8..18f8251fed 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -170,6 +170,13 @@ L<Unicode::UCD> has been upgraded from version 0.69 to 
0.70.
 The function C<num> now accepts an optional parameter to help in
 diagnosing error returns.
 
+=item *
+
+L<XSLoader> has been upgraded from version 0.29 to 0.30.
+
+Platforms that use C<mod2fname> to edit the names of loadable libraries now 
look for
+bootstrap (.bs) files under the correct, non-edited name.
+
 =back
 
 =head2 Removed Modules and Pragmata

-- 
Perl5 Master Repository

Reply via email to