In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/bf1007bc3074646d66e71a732635a3d0b39ea516?hp=956f01add7c0213f2f704be1e381ba8c5c7622b7>
- Log ----------------------------------------------------------------- commit bf1007bc3074646d66e71a732635a3d0b39ea516 Author: David Mitchell <[email protected]> Date: Sat May 14 15:39:41 2016 +0100 perldelta: OP_PARENT, and require ::Foo::Bar M pod/perldelta.pod commit 4e4996362fc17b0da44da77700adb89378702c1b Author: David Mitchell <[email protected]> Date: Sat May 14 15:20:11 2016 +0100 add PERL_OP_PARENT to 'perl -V' output M perl.c commit 5d32d268506f1f5aad2cf2f55c6585683f32576f Author: David Mitchell <[email protected]> Date: Sat May 14 15:14:28 2016 +0100 enable PERL_OP_PARENT by default. This makes the last op_sibling field in a chain of OP siblings point back the parent node rather than being NULL, with the endness instead being indicated by a flag. See http://nntp.perl.org/group/perl.perl5.porters/235635 M perl.h ----------------------------------------------------------------------- Summary of changes: perl.c | 3 +++ perl.h | 5 +++++ pod/perldelta.pod | 27 +++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/perl.c b/perl.c index 1d8876b..52ed1bd 100644 --- a/perl.c +++ b/perl.c @@ -1773,6 +1773,9 @@ S_Internals_V(pTHX_ CV *cv) # ifdef PERL_MEM_LOG_NOIMPL " PERL_MEM_LOG_NOIMPL" # endif +# ifdef PERL_OP_PARENT + " PERL_OP_PARENT" +# endif # ifdef PERL_PERTURB_KEYS_DETERMINISTIC " PERL_PERTURB_KEYS_DETERMINISTIC" # endif diff --git a/perl.h b/perl.h index 396bc92..a5c3eb8 100644 --- a/perl.h +++ b/perl.h @@ -2666,6 +2666,11 @@ typedef AV PAD; typedef struct padnamelist PADNAMELIST; typedef struct padname PADNAME; +/* enable PERL_OP_PARENT by default */ +#if !defined(PERL_OP_PARENT) && !defined(PERL_NO_OP_PARENT) +# define PERL_OP_PARENT +#endif + /* enable PERL_COPY_ON_WRITE by default */ #if !defined(PERL_COPY_ON_WRITE) && !defined(PERL_NO_COW) # define PERL_COPY_ON_WRITE diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 7c404a3..ddde9c7 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -32,6 +32,11 @@ L</Selected Bug Fixes> section. [ List each security issue as a =head2 entry ] +=head2 require ::Foo::Bar is now illegal. + +Formerly, C<require ::Foo::Bar> would try to read F</Foo/Bar.pm>. Now any +bareword require which starts with a double colon dies instead. + =head2 Unescaped literal C<"{"> characters in regular expression patterns are no longer permissible @@ -200,7 +205,19 @@ and New Warnings =item * -XXX L<message|perldiag/"message"> +L<Bareword in require contains "%s"|perldiag/"Bareword in require contains "%s""> + +=item * + +L<Bareword in require maps to empty filename|perldiag/"Bareword in require maps to empty filename"> + +=item * + +L<Bareword in require maps to disallowed filename "%s"|perldiag/"Bareword in require maps to disallowed filename "%s""> + +=item * + +L<Bareword in require must not start with a double-colon: "%s"|perldiag/"Bareword in require must not start with a double-colon: "%s""> =back @@ -350,7 +367,13 @@ well. =item * -XXX +Perl is now built with the C<PERL_OP_PARENT> compiler define enabled by +default. To disable it, use the C<PERL_NO_OP_PARENT> compiler define. +This flag alters how the C<op_sibling> field is used in C<OP> structures, +and has been available optionally since perl 5.22.0. + +See L<perl5220delta/"Internal Changes"> for more details of what this +build option does. =back -- Perl5 Master Repository
