I have reverted this commit until we decide if its ok to break .pmc's.

Yves

On 24 February 2018 at 04:39, demerphq <demer...@gmail.com> wrote:
> This breaks .pmc's
>
> Which I already posted about. I am not sure if we should care tho.
>
> Yves
>
> On 24 February 2018 at 04:33, Father Chrysostomos <spr...@cpan.org> wrote:
>> In perl.git, the branch blead has been updated
>>
>> <https://perl5.git.perl.org/perl.git/commitdiff/7bb6e12450c58b7094ccdfa7025fa495d3996bcf?hp=b4dcd72d7c1fd970030db81f13b3824d51aeb9b6>
>>
>> - Log -----------------------------------------------------------------
>> commit 7bb6e12450c58b7094ccdfa7025fa495d3996bcf
>> Author: Father Chrysostomos <spr...@cpan.org>
>> Date:   Fri Feb 23 19:32:51 2018 -0800
>>
>>     Carp: Avoid string eval
>>
>>     Carp’s particular use of string eval is unnecessary in this case, and
>>     slower than the alternative.  Carp’s reason for using string eval is
>>     to avoid the effect of bareword require vivifying a package.  But that
>>     only applies to bareword require, and not other forms of require:
>>
>>     $ perl -le 'print $::{"overload::"}||"nothing"; require overload'
>>     *main::overload::
>>     $ perl -le 'print $::{"overload::"}||"nothing"; require "overload.pm"'
>>     nothing
>>
>>     Since string eval has to set up a parser and a new scope, it is much
>>     slower that require, and quite unnecessary here.
>>
>> -----------------------------------------------------------------------
>>
>> Summary of changes:
>>  dist/Carp/lib/Carp.pm | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/dist/Carp/lib/Carp.pm b/dist/Carp/lib/Carp.pm
>> index 610e07fe1a..3de78d9f6f 100644
>> --- a/dist/Carp/lib/Carp.pm
>> +++ b/dist/Carp/lib/Carp.pm
>> @@ -343,10 +343,10 @@ sub format_arg {
>>                 # so we need to use overload::StrVal() below.  But it's
>>                 # possible that the overload module hasn't been loaded:
>>                 # overload methods can be installed without it.  So load
>> -               # the module here.  The eval layer here avoids the
>> -               # compile-time effect of require vivifying the target
>> -               # module's stash.
>> -                eval "require overload; 1"
>> +               # the module here.  The bareword form of require is here
>> +               # eschewed to avoid iths compile-time effect of vivifying
>> +               # vivifying the target module's stash.
>> +                require "overload.pm"
>>                      or return "use overload failed";
>>              }
>>              my $sub = _fetch_sub(overload => 'StrVal');
>>
>> --
>> Perl5 Master Repository
>
>
>
> --
> perl -Mre=debug -e "/just|another|perl|hacker/"



-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Reply via email to