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
