In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/1eb538361b7dacd6bfb54d58fe1bee46f40a9479?hp=5ff367e3adebb498f83a7ed1d2d73e78b6305e09>

- Log -----------------------------------------------------------------
commit 1eb538361b7dacd6bfb54d58fe1bee46f40a9479
Author: Nicholas Clark <[email protected]>
Date:   Mon Jul 15 16:58:08 2013 +0200

    ExtUtils::Embed::canon needs to *globally* substitute / for $as
    
    Otherwise the results are buggy for package names with two or more 
separators.
    This bug broke a -Uusedl build, once ExtUtils::Embed was refactored to use
    the existing but always-buggy functionality.
-----------------------------------------------------------------------

Summary of changes:
 lib/ExtUtils/Embed.pm | 2 +-
 pod/perldelta.pod     | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
index 0e3cbbe..05925cf 100644
--- a/lib/ExtUtils/Embed.pm
+++ b/lib/ExtUtils/Embed.pm
@@ -271,7 +271,7 @@ sub canon {
         s!/\w+\.\w+$!!;
     }
     if ($as ne '/') {
-        s!/!$as!
+        s!/!$as!g
             foreach @ext;
     }
     @ext;
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 24eebb9..e33c001 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -142,6 +142,12 @@ happen to have local and incompatible files named 
F<EXTERN.h>, F<XSUB.h> or
 F<perl.h>, as these will now be picked up instead of the installed Perl
 headers.
 
+The C<canon()> function now correctly handles packages with multiple C<::>
+separators when the I<$as> parameter is not I</>. Given that it used to
+generate strings which would likely be syntax errors or pathnames instead of
+filenames, we infer that from the complete lack of bug reports no-one was
+using this functionality. (C<ExtUtils::Miniperl> is now using it.)
+
 =item *
 
 L<ExtUtils::Miniperl> has been upgraded and given a version of 1.

--
Perl5 Master Repository

Reply via email to