In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/ed996a54e9e136efd3812a9f2d00d7102ed0ef1a?hp=e3384dcea386322f748cca779e4b8d80c8644024>

- Log -----------------------------------------------------------------
commit ed996a54e9e136efd3812a9f2d00d7102ed0ef1a
Author: Father Chrysostomos <[email protected]>
Date:   Sun Nov 23 23:41:45 2014 -0800

    Fix UTF8 lex sub names
    
    UTF8 lexical sub names were getting mangled, with extra junk on the end,
    due to a precedence problem.

M       op.c
M       pad.c
M       t/op/lexsub.t

commit e44e71dc639b9c5d0bcbf2cb8c10dd72cd68e020
Author: Father Chrysostomos <[email protected]>
Date:   Sun Nov 23 23:04:30 2014 -0800

    perl5220delta: Function::Parameters update
    
    F:P has had an update, but now it fails due to the METHOP type
    introduced in 5.21.5.
    
    Patch at https://rt.cpan.org/Ticket/Display.html?id=100518

M       Porting/perl5220delta.pod

commit cde31df6d3fbb113b82716e9da5aec599b618e81
Author: Father Chrysostomos <[email protected]>
Date:   Sun Nov 23 23:02:51 2014 -0800

    perl5215delta.pod: typo

M       pod/perl5215delta.pod
-----------------------------------------------------------------------

Summary of changes:
 Porting/perl5220delta.pod |  2 +-
 op.c                      |  5 +++--
 pad.c                     |  2 +-
 pod/perl5215delta.pod     |  2 +-
 t/op/lexsub.t             | 16 +++++++++++++++-
 5 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/Porting/perl5220delta.pod b/Porting/perl5220delta.pod
index b72b023..dd07e68 100644
--- a/Porting/perl5220delta.pod
+++ b/Porting/perl5220delta.pod
@@ -381,7 +381,7 @@ L<Data::Util> version 0.63
 
 =item *
 
-L<Function::Parameters> version 1.0402
+L<Function::Parameters> version 1.0602
 
 =item *
 
diff --git a/op.c b/op.c
index d44a7ea..0bb4140 100644
--- a/op.c
+++ b/op.c
@@ -7935,7 +7935,8 @@ Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP 
*attrs, OP *block)
            CvNAME_HEK_set(*spot, hek =
                share_hek(
                    PadnamePV(name)+1,
-                   PadnameLEN(name)-1 * (PadnameUTF8(name) ? -1 : 1), hash
+                   (PadnameLEN(name)-1) * (PadnameUTF8(name) ? -1 : 1),
+                   hash
                )
            );
            CvLEXICAL_on(*spot);
@@ -8092,7 +8093,7 @@ Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP 
*attrs, OP *block)
            U32 hash;
            PERL_HASH(hash, PadnamePV(name)+1, PadnameLEN(name)-1);
            hek = share_hek(PadnamePV(name)+1,
-                     PadnameLEN(name)-1 * (PadnameUTF8(name) ? -1 : 1),
+                     (PadnameLEN(name)-1) * (PadnameUTF8(name) ? -1 : 1),
                      hash);
        }
        CvNAME_HEK_set(cv, hek);
diff --git a/pad.c b/pad.c
index 9da5536..a9581f8 100644
--- a/pad.c
+++ b/pad.c
@@ -2128,7 +2128,7 @@ S_cv_clone_pad(pTHX_ CV *proto, CV *cv, CV *outside, bool 
newcv)
                        CvNAME_HEK_set(
                            sv,
                            share_hek(SvPVX_const(namesv)+1,
-                                     SvCUR(namesv) - 1
+                                     (SvCUR(namesv) - 1)
                                         * (SvUTF8(namesv) ? -1 : 1),
                                      hash)
                        );
diff --git a/pod/perl5215delta.pod b/pod/perl5215delta.pod
index f832e85..969df17 100644
--- a/pod/perl5215delta.pod
+++ b/pod/perl5215delta.pod
@@ -479,7 +479,7 @@ class/method related info needed at runtime to improve 
performance
 of class/object method calls.
 
 C<< OP_METHOD >> and C<< OP_METHOD_NAMED >> are moved from being
-C<< UNOP/SVOP >> to being C<< METHOD >>.
+C<< UNOP/SVOP >> to being C<< METHOP >>.
 
 =back
 
diff --git a/t/op/lexsub.t b/t/op/lexsub.t
index e170555..32f8bc7 100644
--- a/t/op/lexsub.t
+++ b/t/op/lexsub.t
@@ -7,7 +7,7 @@ BEGIN {
     *bar::is = *is;
     *bar::like = *like;
 }
-plan 144;
+plan 146;
 
 # -------------------- Errors with feature disabled -------------------- #
 
@@ -424,6 +424,13 @@ is runperl(switches => ['-lXMfeature=:all'],
        " - no 'No comma allowed' after state sub\n";
   curr_test(curr_test()+1);
 }
+{
+  use utf8;
+  state sub φου;
+  eval { φου };
+  like $@, qr/^Undefined subroutine &φου called at /,
+    'state sub with utf8 name';
+}
 
 # -------------------- my -------------------- #
 
@@ -793,6 +800,13 @@ is runperl(switches => ['-lXMfeature=:all'],
   my sub y :prototype() {$x};
   is y, 43, 'my sub that looks like constant closure';
 }
+{
+  use utf8;
+  my sub φου;
+  eval { φου };
+  like $@, qr/^Undefined subroutine &φου called at /,
+    'my sub with utf8 name';
+}
 
 # -------------------- Interactions (and misc tests) -------------------- #
 

--
Perl5 Master Repository

Reply via email to