In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/906024c7fead4086ed911b8052d784aa07c2f1e2?hp=a24e5063e082f524bc799cca6607afc923ee5cbf>

- Log -----------------------------------------------------------------
commit 906024c7fead4086ed911b8052d784aa07c2f1e2
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:27:04 2012 -0700

    perlsub: Fix new typo
    
    Since the typo was added during code freeze, I hope I’m not going too
    far in fixing it during code freeze. :-)

M       pod/perlsub.pod

commit 1405d8c98626803a37408a7d016b294df6686604
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:23:34 2012 -0700

    perl5160delta: The coreargs opcode is undeserving of mention

M       Porting/perl5160delta.pod

commit 3e3075706c843ebcfe1b0e90aa4e54be5dafdeec
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:22:38 2012 -0700

    perl5160delta: 2 dots after spaces, please

M       Porting/perl5160delta.pod

commit 44d827786f8553a965b6bc9297fddb57791abea9
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:19:47 2012 -0700

    perl5160delta: Document wrap_op_checker
    
    This was added in e8570548af4, but was somehow missed from
    perl5158delta.

M       Porting/perl5160delta.pod

commit 132f64c45cf03ff9f05a1d7041c9ac9ecbdfea2f
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:18:17 2012 -0700

    perl5160delta: Tweak punctuation

M       Porting/perl5160delta.pod

commit 662ded96f89fe17cb0065b57b259632cbf394446
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:15:13 2012 -0700

    perl5160delta: More details for C<utf8_to_uv*_buf>
    
    I had a note to myself to make sure these were added.  I don’t
    remember why they were not already there.  Perhaps the changes
    were after 5.15.9.

M       Porting/perl5160delta.pod

commit cb592430394b1612b2e964d2b8e2b89c81d68737
Author: Father Chrysostomos <[email protected]>
Date:   Tue Apr 24 22:08:16 2012 -0700

    perl5160delta: Add missing C<>

M       Porting/perl5160delta.pod
-----------------------------------------------------------------------

Summary of changes:
 Porting/perl5160delta.pod |   51 ++++++++++++++++++++++++++------------------
 pod/perlsub.pod           |    4 +-
 2 files changed, 32 insertions(+), 23 deletions(-)

diff --git a/Porting/perl5160delta.pod b/Porting/perl5160delta.pod
index f8ff298..55e218e 100644
--- a/Porting/perl5160delta.pod
+++ b/Porting/perl5160delta.pod
@@ -286,7 +286,7 @@ One-character non-ASCII non-punctuation variables (like 
C<$é>) are now
 subject to "Used only once" warnings.  They used to be exempt, as they
 was treated as punctuation variables.
 
-Also, single-character Unicode punctuation variables (like $‰) are now
+Also, single-character Unicode punctuation variables (like C<$‰>) are now
 supported [perl #69032].
 
 =head3 Improved ability to mix locales and Unicode, including UTF-8 locales
@@ -499,6 +499,13 @@ guarantee that it doesn't read (up to 12 bytes in the 
worst case) beyond
 the end of its input string.  See
 L<is_utf8_char_buf()|/Added is_utf8_char_buf()>.
 
+=head2 Malformed UTF-8 input could cause attempts to read beyond the end of 
the buffer
+
+Two new XS-accessible functions, C<utf8_to_uvchr_buf()> and
+C<utf8_to_uvuni_buf()> are now available to prevent this, and the Perl
+core has been converted to use them.
+See L</Internal Changes>.
+
 =head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC 
(CVE-2011-2728).
 
 Calling C<File::Glob::bsd_glob> with the unsupported flag
@@ -530,11 +537,12 @@ file most likely for applications to have used is
 F<lib/unicore/ToDigit.pl>.  L<Unicode::UCD/prop_invmap()> can be used to
 get at its data instead.
 
-=head2 C<is_utf8_char()>
+=head2 XS functions C<is_utf8_char()>, C<utf8_to_uvchr()> and
+C<utf8_to_uvuni()>
 
 This function is deprecated because it could read beyond the end of the
-input string.  Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>
-instead.
+input string.  Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>,
+C<utf8_to_uvchr_buf()> and C<utf8_to_uvuni_buf()> instead.
 
 =head1 Future Deprecations
 
@@ -715,7 +723,7 @@ Previously, it would stringify as an empty string, but some 
operators would
 treat it as undefined, producing an "uninitialized" warning.
 Now it stringifies as __ANONIO__ [perl #96326].
 
-=head2 User-defined case changing operations.
+=head2 User-defined case-changing operations
 
 This feature was deprecated in Perl 5.14, and has now been removed.
 The CPAN module L<Unicode::Casing> provides better functionality without
@@ -1714,35 +1722,36 @@ without cc.
 =item *
 
 The compiled representation of formats is now stored via the C<mg_ptr> of
-their C<PERL_MAGIC_fm>. Previously it was stored in the string buffer,
-beyond C<SvLEN()>, the regular end of the string. C<SvCOMPILED()> and
+their C<PERL_MAGIC_fm>.  Previously it was stored in the string buffer,
+beyond C<SvLEN()>, the regular end of the string.  C<SvCOMPILED()> and
 C<SvCOMPILED_{on,off}()> now exist solely for compatibility for XS code.
 The first is always 0, the other two now no-ops. (5.14.1)
 
 =item *
 
 Some global variables have been marked C<const>, members in the interpreter
-structure have been re-ordered, and the opcodes have been re-ordered. The op
-C<OP_AELEMFAST> has been split into C<OP_AELEMFAST> and C<OP_AELEMFAST_LEX>.
+structure have been re-ordered, and the opcodes have been re-ordered.  The
+op C<OP_AELEMFAST> has been split into C<OP_AELEMFAST> and C<OP_AELEMFAST_LEX>.
 
 =item *
 
 When empting a hash of its elements (e.g. via undef(%h), or %h=()), HvARRAY
 field is no longer temporarily zeroed.  Any destructors called on the freed
-elements see the remaining elements. Thus, %h=() becomes more like C<delete
-$h{$_} for keys %h>.
+elements see the remaining elements.  Thus, %h=() becomes more like
+C<delete $h{$_} for keys %h>.
 
 =item *
 
 Boyer-Moore compiled scalars are now PVMGs, and the Boyer-Moore tables are now
-stored via the mg_ptr of their C<PERL_MAGIC_bm>. Previously they were PVGVs,
-with the tables stored in the string buffer, beyond C<SvLEN()>. This eliminates
+stored via the mg_ptr of their C<PERL_MAGIC_bm>.
+Previously they were PVGVs, with the tables stored in
+the string buffer, beyond C<SvLEN()>.  This eliminates
 the last place where the core stores data beyond C<SvLEN()>.
 
 =item *
 
 Simplified logic in C<Perl_sv_magic()> introduces a small change of
-behaviour for error cases involving unknown magic types. Previously, if
+behaviour for error cases involving unknown magic types.  Previously, if
 C<Perl_sv_magic()> was passed a magic type unknown to it, it would
 
 =over
@@ -1778,18 +1787,13 @@ experimental.
 
 F<embedvar.h> has been simplified, and one level of macro indirection for
 PL_* variables has been removed for the default (non-multiplicity)
-configuration. PERLVAR*() macros now directly expand their arguments to
+configuration.  PERLVAR*() macros now directly expand their arguments to
 tokens such as C<PL_defgv>, instead of expanding to C<PL_Idefgv>, with
-F<embedvar.h> defining a macro to map C<PL_Idefgv> to C<PL_defgv>. XS code
+F<embedvar.h> defining a macro to map C<PL_Idefgv> to C<PL_defgv>.  XS code
 which has unwarranted chumminess with the implementation may need updating.
 
 =item *
 
-A C<coreargs> opcode has been added, to be used by C<&CORE::foo> subs to sort
-out C<@_>.
-
-=item *
-
 An API has been added to explicitly choose whether or not to export XSUB
 symbols.  More detail can be found in the comments for commit e64345f8.
 
@@ -1932,6 +1936,11 @@ The regular expression engine now does TRIE case 
insensitive matches
 under Unicode. This may change the output of C<< use re 'debug'; >>,
 and will speed up various things.
 
+=item *
+
+There is a new C<wrap_op_checker()> function, which provides a thread-safe
+alternative to writing to C<PL_check> directly.
+
 =back
 
 =head1 Selected Bug Fixes
diff --git a/pod/perlsub.pod b/pod/perlsub.pod
index 2ab59fe..760e496 100644
--- a/pod/perlsub.pod
+++ b/pod/perlsub.pod
@@ -222,8 +222,8 @@ X<&>
 
 Since Perl 5.16.0, the C<__SUB__> token is available under C<use feature
 'current_sub'> and C<use 5.16.0>.  It will evaluate to a reference to the
-currently sub, which allows for recursive calls without knowing your
-subroutine's name.
+currently-running sub, which allows for recursive calls without knowing
+your subroutine's name.
 
     use 5.16.0;
     my $factorial = sub {

--
Perl5 Master Repository

Reply via email to