In perl.git, the branch rjbs/release-5.16 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/d0b6df67b7245bb84dcdb9c0050ed6897aae1bcd?hp=b46815fd39e55b61a80f57f4c585b42a30e81c80>

- Log -----------------------------------------------------------------
commit d0b6df67b7245bb84dcdb9c0050ed6897aae1bcd
Author: Ricardo Signes <[email protected]>
Date:   Mon May 14 12:26:36 2012 -0400

    next release will be RC1

M       patchlevel.h

commit 725df607777c0fcde7dd1ffd8e251d60926ffef6
Author: Ricardo Signes <[email protected]>
Date:   Mon May 14 12:26:24 2012 -0400

    perldelta: fix version named in acknowledgements

M       pod/perldelta.pod

commit 39fa9b09c5302747dfc83c8cffd2ae9e2df5f921
Author: Nicholas Clark <[email protected]>
Date:   Mon May 14 10:17:06 2012 +0100

    In the Linux hints, invoke gcc with LANG and LC_ALL set to "C".
    
    The output of gcc -print-search-dirs is subject to localisation, which means
    that the literal text "libraries" will not be present if the user has a
    non-English locale, and we won't determine the correct path for libraries
    such as -lm, breaking the build. Problem diagnosed by Alexander Hartmaier.

M       hints/linux.sh

commit 9c80a07187cd4c4241fd700957893a40d7ef4861
Author: Paul Johnson <[email protected]>
Date:   Mon May 14 09:45:10 2012 +0100

    Don't test that errno is still 0 after POSIX::f?pathconf
    
    I think the best we can do with respect to the f?pathconf tests is to
    make sure that the perl call doesn't die, and that the system call
    doesn't fail.  And it's arguable we should only be testing the former.
    But since we've been testing more that this anyway, it's probably safe
    to test both.
    
    With respect to the sysconf call, I think we shouldn't test more than
    that perl doesn't die.  Any further testing would require different
    tests based the argument being passed in.  Before doing that, it's
    probably worth considering the purpose of the tests.  I don't think we
    really want to test that POSIX has been implemented correctly, only that
    our layer over it is correctly implemented.
    
    This fixes RT #112866.

M       ext/POSIX/t/sysconf.t
-----------------------------------------------------------------------

Summary of changes:
 dist/Module-CoreList/lib/Module/CoreList.pm |    6 +
 ext/POSIX/t/sysconf.t                       |   38 +++---
 hints/linux.sh                              |    2 +-
 patchlevel.h                                |    2 +-
 pod/perldelta.pod                           |  217 +++++++++++++++------------
 5 files changed, 145 insertions(+), 120 deletions(-)

diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm 
b/dist/Module-CoreList/lib/Module/CoreList.pm
index 9b5b07a..ec6e1aa 100644
--- a/dist/Module-CoreList/lib/Module/CoreList.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList.pm
@@ -34687,6 +34687,8 @@ $released{'5.011000'} = $released{5.011};
 $released{'5.012000'} = $released{5.012};
 $released{'5.013000'} = $released{5.013};
 $released{'5.014000'} = $released{5.014};
+$released{'5.015000'} = $released{5.015};
+$released{'5.016000'} = $released{5.016};
 
 $version{'5.000'} = $version{5};
 $version{'5.010000'} = $version{5.01};
@@ -34694,11 +34696,15 @@ $version{'5.011000'} = $version{5.011};
 $version{'5.012000'} = $version{5.012};
 $version{'5.013000'} = $version{5.013};
 $version{'5.014000'} = $version{5.014};
+$version{'5.015000'} = $version{5.015};
+$version{'5.016000'} = $version{5.016};
 
 $deprecated{'5.011000'} = $deprecated{5.011};
 $deprecated{'5.012000'} = $deprecated{5.012};
 $deprecated{'5.013000'} = $deprecated{5.013};
 $deprecated{'5.014000'} = $deprecated{5.014};
+$deprecated{'5.015000'} = $deprecated{5.015};
+$deprecated{'5.016000'} = $deprecated{5.016};
 
 1;
 __END__
diff --git a/ext/POSIX/t/sysconf.t b/ext/POSIX/t/sysconf.t
index 65625a8..8590eef 100644
--- a/ext/POSIX/t/sysconf.t
+++ b/ext/POSIX/t/sysconf.t
@@ -33,10 +33,10 @@ my @sys_consts = check qw(
     _SC_STREAM_MAX _SC_VERSION _SC_TZNAME_MAX
 );
 
-my $tests = 2 * 3 * @path_consts +
-            2 * 3 * @path_consts_terminal +
-            2 * 3 * @path_consts_fifo +
-                3 * @sys_consts;
+my $tests = 2 * 2 * @path_consts +
+            2 * 2 * @path_consts_terminal +
+            2 * 2 * @path_consts_fifo +
+                1 * @sys_consts;
 plan $tests 
      ? (tests => $tests) 
      : (skip_all => "No tests to run on this OS")
@@ -58,17 +58,17 @@ sub _check_and_report {
     my $return_val = eval {$sub->(eval "$constant()")};
     my $errno = $!; # Grab this before anything else changes it.
     is($@, '', $description);
-    SKIP: {
-       skip "terminal constants set errno on QNX", 1
-           if $^O eq 'nto' and $description =~ $TTY;
-       cmp_ok($errno, '==', 0, 'errno should be clear in all cases')
-           or diag("\$!: $errno");
-    }
-    SKIP: {
-        skip "constant not implemented on $^O or no limit in effect", 1 
-            if !defined($return_val);
-        like($return_val, qr/\A(?:-?[1-9][0-9]*|0 but true)\z/,
+
+    # We can't test sysconf further without investigating the type of argument
+    # provided
+    return if $description =~ /sysconf/;
+
+    if (defined $return_val) {
+       like($return_val, qr/\A(?:-?[1-9][0-9]*|0 but true)\z/,
             'the returned value should be a signed integer');
+    } else {
+       cmp_ok($errno, '==', 0, 'errno should be 0 as before the call')
+           or diag("\$!: $errno");
     }
 }
 
@@ -76,7 +76,7 @@ sub _check_and_report {
 SKIP: {
     my $fd = POSIX::open($testdir, O_RDONLY)
         or skip "could not open test directory '$testdir' ($!)",
-         3 * @path_consts;
+         2 * @path_consts;
 
     for my $constant (@path_consts) {
        _check_and_report(sub { fpathconf($fd, shift) }, $constant,
@@ -93,7 +93,7 @@ for my $constant (@path_consts) {
 }
 
 SKIP: {
-    my $n = 2 * 3 * @path_consts_terminal;
+    my $n = 2 * 2 * @path_consts_terminal;
 
     -c $TTY
        or skip("$TTY not a character file", $n);
@@ -122,11 +122,11 @@ my $fifo = "fifo$$";
 
 SKIP: {
     eval { mkfifo($fifo, 0666) }
-       or skip("could not create fifo $fifo ($!)", 2 * 3 * @path_consts_fifo);
+       or skip("could not create fifo $fifo ($!)", 2 * 2 * @path_consts_fifo);
 
   SKIP: {
       my $fd = POSIX::open($fifo, O_RDONLY | O_NONBLOCK)
-         or skip("could not open $fifo ($!)", 3 * @path_consts_fifo);
+         or skip("could not open $fifo ($!)", 2 * @path_consts_fifo);
 
       for my $constant (@path_consts_fifo) {
          _check_and_report(sub { fpathconf($fd, shift) }, $constant,
@@ -150,7 +150,7 @@ END {
 SKIP: {
     if($^O eq 'cygwin') {
         pop @sys_consts;
-        skip("No _SC_TZNAME_MAX on Cygwin", 3);
+        skip("No _SC_TZNAME_MAX on Cygwin", 1);
     }
         
 }
diff --git a/hints/linux.sh b/hints/linux.sh
index 5713faf..688c68d 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -174,7 +174,7 @@ else
 fi
 
 case "$plibpth" in
-'') plibpth=`$gcc -print-search-dirs | grep libraries |
+'') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
        cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
     set X $plibpth # Collapse all entries on one line
     shift
diff --git a/patchlevel.h b/patchlevel.h
index 3640282..d0740e4 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -133,7 +133,7 @@ hunk.
 #  endif
 static const char * const local_patches[] = {
        NULL
-       ,"RC0"
+       ,"RC1"
 #ifdef PERL_GIT_UNCOMMITTED_CHANGES
        ,"uncommitted-changes"
 #endif
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index d7e98ad..61f53ab 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -13,11 +13,19 @@ If you are upgrading from an earlier release such as 
5.12.0, first read
 L<perl5140delta>, which describes differences between 5.12.0 and
 5.14.0.
 
+Some of the bug fixes in this release have been backported to subsequent
+releases of 5.14.x.  Those are indicated with the 5.14.x version in
+parentheses.
+
 =head1 Notice
 
-As described in L<perlpolicy>, the release of Perl 5.16.0 marks the
-official end of support for Perl 5.12.  Users of Perl 5.12 or earlier
-should consider upgrading to a more recent release of Perl.
+With the release of Perl 5.16.0, the 5.12.x series of releases are now out of
+their support period.  There may be future 5.12.x releases, but only in the
+event of a critical security issue.  Users of Perl 5.12 or earlier should
+consider upgrading to a more recent release of Perl.
+
+This policy is described in greater detail in
+L<perlpolicy|perlpolicy/MAINTENANCE AND SUPPORT>.
 
 =head1 Core Enhancements
 
@@ -118,7 +126,7 @@ becomes longer.
 
 Since this change also allowed many bugs to be fixed (see
 L</The C<substr> operator>), and since the behaviour
-of negative offsets has never been specified, so the
+of negative offsets has never been specified, the
 change was deemed acceptable.
 
 =head3 Return value of C<tied>
@@ -284,7 +292,7 @@ letter.  That has been extended to all Unicode identifier 
characters.
 
 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.
+were treated as punctuation variables.
 
 Also, single-character Unicode punctuation variables (like C<$‰>) are now
 supported [perl #69032].
@@ -342,9 +350,9 @@ C<TYPEMAP> section:
 
 The XS-callable function C<is_utf8_char()>, when presented with
 malformed UTF-8 input, can read up to 12 bytes beyond the end of the
-string.  This cannot be fixed without changing its API.  It is not
-called from CPAN.  The documentation now describes how to use it
-safely.
+string.  This cannot be fixed without changing its API, and so its
+use is now deprecated.  Use C<is_utf8_char_buf()> (described just below)
+instead.
 
 =head3 Added C<is_utf8_char_buf()>
 
@@ -514,14 +522,14 @@ program that accepts a flags value from an external 
source could expose
 itself to denial of service or arbitrary code execution attacks.  There
 are no known exploits in the wild.  The problem has been corrected by
 explicitly disabling all unsupported flags and setting unused function
-pointers to null.  Bug reported by Clément Lecigne.
+pointers to null.  Bug reported by Clément Lecigne. (5.14.2)
 
 =head2 Privileges are now set correctly when assigning to C<$(>
 
 A hypothetical bug (probably non-exploitable in practice) due to the
 incorrect setting of the effective group ID while setting C<$(> has been
 fixed.  The bug would only have affected systems that have C<setresgid()>
-but not C<setregid()>, but no such systems are known of.
+but not C<setregid()>, but no such systems are known to exist.
 
 =head1 Deprecations
 
@@ -533,7 +541,7 @@ use the new functions in L<Unicode::UCD>.  These provide a 
stable API,
 and give complete information.
 
 Perl may at some point in the future change or remove the files.  The
-file most likely for applications to have used is
+file which applications were most likely to have used is
 F<lib/unicore/ToDigit.pl>.  L<Unicode::UCD/prop_invmap()> can be used to
 get at its data instead.
 
@@ -575,7 +583,11 @@ PerlIO::mmap
 
 =item *
 
-Pod::Parser, Pod::LaTeX
+Pod::LaTeX
+
+=item *
+
+Pod::Parser
 
 =item *
 
@@ -674,6 +686,15 @@ The removal of this will allow extensions to pattern 
syntax, and better
 error checking of existing syntax.  See L<perlre/Quantifiers> for an
 example.
 
+=item *
+
+Revamping C<< "\Q" >> semantics in double-quotish strings when combined with 
other escapes
+
+There are a number of bugs and inconsistencies involving combinations
+of C<\Q> and  excapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair.
+These need to be fixed, and doing so will necessarily change current
+behavior.  The changes have not yet been settled.
+
 =back
 
 =head1 Incompatible Changes
@@ -694,7 +715,7 @@ expression itself [perl #108780].
 
 Two presumably unused XS typemap entries have been removed from the
 core typemap: T_DATAUNIT and T_CALLBACK.  If you are, against all odds,
-a user of these, please see the instructions on how to regain them
+a user of these, please see the instructions on how to restore them
 in L<perlxstypemap>.
 
 =head2 Unicode 6.1 has incompatibilities with Unicode 6.0
@@ -745,8 +766,8 @@ outside the compilation unit.  Users can use the new 
C<XS_EXTERNAL(name)>
 and C<XS_INTERNAL(name)> macros to pick the desired linking behaviour.
 The ordinary C<XS(name)> declaration for XSUBs will continue to declare
 non-'static' XSUBs for compatibility, but the XS compiler,
-C<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default.
-C<ExtUtils::ParseXS>'s behaviour can be reconfigured from XS using the
+L<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default.
+L<ExtUtils::ParseXS>'s behaviour can be reconfigured from XS using the
 C<EXPORT_XSUB_SYMBOLS> keyword.  See L<perlxs> for details.
 
 =head2 Weakening read-only references
@@ -851,7 +872,7 @@ property in each regular expression.  Thus, 
C<qr/\p{foo}abc\p{foo}/>
 would generate two hashes.  Any probes in one instance would be unknown
 to the other, and the hashes could expand separately to be quite large
 if the regular expression were used on many different widely-separated
-code points.  This can lead to running out of memory in extreme cases.
+code points.
 Now, however, there is just one hash shared by all instances of a given
 property.  This means that if C<\p{foo}> is matched against "A" in one
 regular expression in a thread, the result will be known immediately to
@@ -922,10 +943,6 @@ The implementation of C<s///r> makes one fewer copy of the 
scalar's value.
 
 =item *
 
-C<study> is now a no-op.
-
-=item *
-
 Recursive calls to lvalue subroutines in lvalue scalar context use less
 memory.
 
@@ -955,7 +972,7 @@ L<arybase> -- this new module implements the C<$[> variable.
 
 =item *
 
-C<PerlIO::mmap> 0.010 has been added to the Perl core.
+L<PerlIO::mmap> 0.010 has been added to the Perl core.
 
 The C<mmap> PerlIO layer is no longer implemented by perl itself, but has
 been moved out into the new L<PerlIO::mmap> module.
@@ -975,7 +992,7 @@ You can substitute your favorite version in place of 
5.14.0, too.
 
 =item *
 
-L<Archive::Extract> has been upgraded from version 0.48 to version 0.58
+L<Archive::Extract> has been upgraded from version 0.48 to 0.58.
 
 Includes a fix for FreeBSD to only use C<unzip> if it is located in
 C</usr/local/bin>, as FreeBSD 9.0 will ship with a limited C<unzip> in
@@ -983,14 +1000,14 @@ C</usr/bin>.
 
 =item *
 
-L<Archive::Tar> has been upgraded from version 1.76 to version 1.82.
+L<Archive::Tar> has been upgraded from version 1.76 to 1.82.
 
 Adjustments to handle files >8gb (>0777777777777 octal) and a feature
 to return the MD5SUM of files in the archive.
 
 =item *
 
-L<base> has been upgraded from version 2.16 to version 2.18.
+L<base> has been upgraded from version 2.16 to 2.18.
 
 C<base> no longer sets a module's C<$VERSION> to "-1" when a module it
 loads does not define a C<$VERSION>.  This change has been made because
@@ -1005,14 +1022,14 @@ be reloaded.
 
 =item *
 
-L<Carp> has been upgraded from version 1.20 to version 1.26.
+L<Carp> has been upgraded from version 1.20 to 1.26.
 
 It now includes last read filehandle info and puts a dot after the file
 and line number, just like errors from C<die> [perl #106538].
 
 =item *
 
-L<charnames> has been updated from version 1.18 to version 1.30
+L<charnames> has been updated from version 1.18 to 1.30.
 
 L<charnames> can now be invoked with a new option, C<:loose>,
 which is like the existing C<:full> option, but enables Unicode loose
@@ -1025,11 +1042,9 @@ numerous deparsing bugs.
 
 =item *
 
-L<CGI> has been upgraded from version 3.52 to version 3.59
-
-The DELETE HTTP verb is now supported.
+L<CGI> has been upgraded from version 3.52 to 3.59.
 
-It uses public and documented FCGI.pm API in CGI::Fast.  CGI::Fast was
+It uses the public and documented FCGI.pm API in CGI::Fast.  CGI::Fast was
 using an FCGI API that was deprecated and removed from documentation
 more than ten years ago.  Usage of this deprecated API with FCGI E<gt>=
 0.70 or FCGI E<lt>= 0.73 introduces a security issue.
@@ -1043,8 +1058,8 @@ with either the C<path=E<gt>1> or C<path_info=E<gt>1> 
flag.
 
 If your code is running under mod_rewrite (or compatible) and you are
 calling C<self_url()> or you are calling C<url()> and passing
-C<path_info=E<gt>1>, These methods will actually be returning
-C<PATH_INFO> now, as you have explicitly requested, or has C<self_url()>
+C<path_info=E<gt>1>, these methods will actually be returning
+C<PATH_INFO> now, as you have explicitly requested or C<self_url()>
 has requested on your behalf.
 
 The C<PATH_INFO> has been omitted in such URLs since the issue was
@@ -1055,30 +1070,32 @@ workaround it. Check for application before upgrading 
to this release.
 
 Examples of affected method calls:
 
-  $q->url(-absolute => 1, -query => 1, -path_info => 1 )
-  $q->url(-path=>1)
-  $q->url(-full=>1,-path=>1)
-  $q->url(-rewrite=>1,-path=>1)
+  $q->url(-absolute => 1, -query => 1, -path_info => 1);
+  $q->url(-path=>1);
+  $q->url(-full=>1,-path=>1);
+  $q->url(-rewrite=>1,-path=>1);
   $q->self_url();
 
 We no longer read from STDIN when the Content-Length is not set,
 preventing requests with no Content-Length from freezing in some cases.
 This is consistent with the CGI RFC 3875, and is also consistent with
-CGI::Simple. However, the old behavior may have been expected by some
+CGI::Simple.  However, the old behavior may have been expected by some
 command-line uses of CGI.pm.
 
+In addition, the DELETE HTTP verb is now supported.
+
 =item *
 
-L<Compress::Zlib> has been upgraded from version 2.035 to version 2.048
+L<Compress::Zlib> has been upgraded from version 2.035 to 2.048.
 
 IO::Compress::Zip and IO::Uncompress::Unzip now have support for LZMA
 (method 14).  There is a fix for a CRC issue in IO::Compress::Unzip and
-it supports Streamed Stored context now. And fixed a Zip64 issue in
+it supports Streamed Stored context now.  And fixed a Zip64 issue in
 IO::Compress::Zip when the content size was exactly 0xFFFFFFFF.
 
 =item *
 
-L<Digest::SHA> has been upgraded from version 5.61 to version 5.71.
+L<Digest::SHA> has been upgraded from version 5.61 to 5.71.
 
 Added BITS mode to the addfile method and shasum.  This makes
 partial-byte inputs possible via files/STDIN and allows shasum to check
@@ -1087,12 +1104,13 @@ required to do this.
 
 =item *
 
-L<Encode> has been upgraded from version 2.42 to version 2.44
+L<Encode> has been upgraded from version 2.42 to 2.44.
 
 Missing aliases added, a deep recursion error fixed and various
 documentation updates.
 
 Addressed 'decode_xs n-byte heap-overflow' security bug in Unicode.xs
+(CVE-2011-2939). (5.14.2)
 
 =item *
 
@@ -1106,7 +1124,7 @@ counterparts.
 L<ExtUtils::ParseXS> has been upgraded from version 2.2210 to 3.16.
 
 Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>,
-was rewritten and cleaned up. It has been made somewhat more extensible
+was rewritten and cleaned up.  It has been made somewhat more extensible
 and now finally uses strictures.
 
 The typemap logic has been moved into a separate module,
@@ -1117,7 +1135,7 @@ changelog, available on the CPAN.
 
 =item *
 
-L<File::Glob> has been upgraded from version 1.12 to version 1.17.
+L<File::Glob> has been upgraded from version 1.12 to 1.17.
 
 On Windows, tilde (~) expansion now checks the C<USERPROFILE> environment
 variable, after checking C<HOME>.
@@ -1140,7 +1158,7 @@ current one exists in the path and is executable.
 
 =item *
 
-L<HTTP::Tiny> has been upgraded from version 0.012 to version 0.017.
+L<HTTP::Tiny> has been upgraded from version 0.012 to 0.017.
 
 Added support for using C<$ENV{http_proxy}> to set the default proxy host.
 
@@ -1163,14 +1181,14 @@ applying the approprate I/O layers to the newly-opened 
file
 
 =item *
 
-L<IPC::Cmd> has been upgraded from version 0.70 to version 0.76
+L<IPC::Cmd> has been upgraded from version 0.70 to 0.76.
 
 Capturing of command output (both C<STDOUT> and C<STDERR>) is now supported
 using L<IPC::Open3> on MSWin32 without requiring L<IPC::Run>.
 
 =item *
 
-L<IPC::Open3> has been upgraded from version 1.09 to version 1.12.
+L<IPC::Open3> has been upgraded from version 1.09 to 1.12.
 
 =over 4
 
@@ -1192,7 +1210,7 @@ version 1.06 (and hence in Perl 5.14.0) [perl #95748].
 
 =item *
 
-L<Locale::Codes> has been upgraded from version 3.16 to version 3.21
+L<Locale::Codes> has been upgraded from version 3.16 to 3.21.
 
 Added Language Extension codes (langext) and Language Variation codes (langvar)
 as defined in the IANA language registry.
@@ -1201,10 +1219,10 @@ Added language codes from ISO 639-5
 
 Added language/script codes from the IANA language subtag registry
 
-Fixed an uninitialized value warning.  RT 67438
+Fixed an uninitialized value warning [rt.cpan.org #67438].
 
-Fixed the return value for the all_XXX_codes and all_XXX_names functions.  RT
-69100
+Fixed the return value for the all_XXX_codes and all_XXX_names functions
+[rt.cpan.org #69100].
 
 Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to allow
 for cleaner future additions.  The original four modules (Locale::Language,
@@ -1242,7 +1260,7 @@ Math::BigFloat).
 
 =item *
 
-L<Math::BigRat> has been upgraded from version 0.2602 to version 0.2603.
+L<Math::BigRat> has been upgraded from version 0.2602 to 0.2603.
 
 C<int()> on a Math::BigRat object containing -1/2 now creates a
 Math::BigInt containing 0, rather than -0.  L<Math::BigInt> does not even
@@ -1251,8 +1269,8 @@ support negative zero, so the resulting object was 
actually malformed
 
 =item *
 
-L<Math::Complex> has been upgraded from version 1.56 to version 1.59
-and L<Math::Trig> has been upgraded from version 1.2 to version 1.22.
+L<Math::Complex> has been upgraded from version 1.56 to 1.59
+and L<Math::Trig> from version 1.2 to 1.22.
 
 Fixes include: correct copy constructor usage; fix polarwise formatting with
 numeric format specifier; and more stable C<great_circle_direction> algorithm.
@@ -1267,14 +1285,14 @@ changes between two perl distributions.
 
 =item *
 
-C<Module::Metadata> has been upgraded from version 1.000004 to 1.000009.
+L<Module::Metadata> has been upgraded from version 1.000004 to 1.000009.
 
 Adds C<provides> method to generate a CPAN META provides data structure
 correctly; use of C<package_versions_from_directory> is discouraged.
 
 =item *
 
-L<ODBM_File> has been upgraded from version 1.10 to version 1.12.
+L<ODBM_File> has been upgraded from version 1.10 to 1.12.
 
 The XS code is now compiled with C<PERL_NO_GET_CONTEXT>, which will aid
 performance under ithreads.
@@ -1283,14 +1301,14 @@ performance under ithreads.
 
 L<open> has been upgraded from version 1.08 to 1.10.
 
-It no longer turns of layers on standard handles when invoked without the
+It no longer turns off layers on standard handles when invoked without the
 ":std" directive.  Similarly, when invoked I<with> the ":std" directive, it
 now clears layers on STDERR before applying the new ones, and not just on
 STDIN and STDOUT [perl #92728].
 
 =item *
 
-L<overload> has been upgraded from version 1.13 to version 1.18.
+L<overload> has been upgraded from version 1.13 to 1.18.
 
 C<overload::Overloaded> no longer calls C<can> on the class, but uses
 another means to determine whether the object has overloading.  It was
@@ -1307,7 +1325,7 @@ L<PerlIO::scalar> has been upgraded from version 0.11 to 
0.14.
 (This is the module that implements C<< open $fh, '>', \$scalar >>.)
 
 It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
-C<$scalar> is a copy-on-write scalar.
+C<$scalar> is a copy-on-write scalar. (5.14.2)
 
 It also fixes a hang that occurs with C<readline> or C<< <$fh> >> if a
 typeglob has been assigned to $scalar [perl #92258].
@@ -1331,10 +1349,10 @@ the regular expression engine [perl #108398].
 
 =item *
 
-C<Pod::Functions> has been upgraded from version 1.04 to 1.05.
+L<Pod::Functions> has been upgraded from version 1.04 to 1.05.
 
 F<Functions.pm> is now generated at perl build time from annotations in
-F<perlfunc.pod>. This will ensure that L<Pod::Functions> and L<perlfunc>
+F<perlfunc.pod>.  This will ensure that L<Pod::Functions> and L<perlfunc>
 remain in synchronisation.
 
 =item *
@@ -1357,26 +1375,27 @@ the CPAN for more information.
 
 =item *
 
-L<POSIX> has been upgraded from version 1.24 to version 1.30.
+L<POSIX> has been upgraded from version 1.24 to 1.30.
 
-L<POSIX> no longer uses L<AutoLoader>. Any code which was relying on this
+L<POSIX> no longer uses L<AutoLoader>.  Any code which was relying on this
 implementation detail was buggy, and may fail as a result of this change.
 The module's Perl code has been considerably simplified, roughly halving
-the number of lines, with no change in functionality. The XS code has
+the number of lines, with no change in functionality.  The XS code has
 been refactored to reduce the size of the shared object by about 12%,
-with no change in functionality. More POSIX functions now have tests.
+with no change in functionality.  More POSIX functions now have tests.
 
-C<sigsuspend> and C<pause> now run signals handle before returning, as the
+C<sigsuspend> and C<pause> now run signal handlers before returning, as the
 whole point of these two functions is to wait until a signal has
 arrived, and then return I<after> it has been triggered.  Delayed, or
 "safe", signals were preventing that from happening, possibly resulting in
 race conditions [perl #107216].
 
 C<POSIX::sleep> is now a direct call into the underlying OS C<sleep>
-function, instead of being a Perl wrapper on C<CORE::sleep>. C<POSIX::dup2>
-now returns the correct value on Win32 (I<i.e.> the file descriptor).
-C<POSIX::SigSet> C<sigsuspend> and C<sigpending> and C<POSIX::pause> now
-dispatch safe signals immediately before returning to their caller.
+function, instead of being a Perl wrapper on C<CORE::sleep>.
+C<POSIX::dup2> now returns the correct value on Win32 (I<i.e.>, the file
+descriptor).  C<POSIX::SigSet> C<sigsuspend> and C<sigpending> and
+C<POSIX::pause> now dispatch safe signals immediately before returning to
+their caller.
 
 C<POSIX::Termios::setattr> now defaults the third argument to C<TCSANOW>,
 instead of 0. On most platforms C<TCSANOW> is defined as 0, but on some
@@ -1384,7 +1403,7 @@ instead of 0. On most platforms C<TCSANOW> is defined as 
0, but on some
 
 =item *
 
-L<Socket> as been upgraded from version 1.94 to 2.000
+L<Socket> has been upgraded from version 1.94 to 2.000.
 
 It has new functions and constants for handling IPv6 sockets:
 
@@ -1402,20 +1421,20 @@ It has new functions and constants for handling IPv6 
sockets:
 
 =item *
 
-L<Storable> has been upgraded from version 2.27 to version 2.34.
+L<Storable> has been upgraded from version 2.27 to 2.34.
 
 It no longer turns copy-on-write scalars into read-only scalars when
 freezing and thawing.
 
 =item *
 
-L<Sys::Syslog> has been upgraded from version 0.27 to version 0.29
+L<Sys::Syslog> has been upgraded from version 0.27 to 0.29.
 
 This upgrade closes many outstanding bugs.
 
 =item *
 
-L<Term::ANSIColor> has been upgraded from version 3.00 to version 3.01
+L<Term::ANSIColor> has been upgraded from version 3.00 to 3.01.
 
 Only interpret an initial array reference as a list of colors, not any initial
 reference, allowing the colored function to work properly on objects with
@@ -1423,10 +1442,10 @@ stringification defined.
 
 =item *
 
-C<Term::ReadLine> has been upgraded from version 1.07 to 1.09.
+L<Term::ReadLine> has been upgraded from version 1.07 to 1.09.
 
 Term::ReadLine now supports any event loop, including unpublished ones and
-simple L<IO::Select> loops without the need to rewrite existing code for
+simple L<IO::Select>, loops without the need to rewrite existing code for
 any particular framework [perl #108470].
 
 =item *
@@ -1440,7 +1459,7 @@ global destruction time [perl #98204].
 
 =item *
 
-L<Unicode::Collate> has been upgraded from version 0.73 to version 0.89
+L<Unicode::Collate> has been upgraded from version 0.73 to 0.89.
 
 Updated to CLDR 1.9.1
 
@@ -1457,16 +1476,16 @@ Locale/*.pl files are now searched for in @INC.
 
 =item *
 
-L<Unicode::Normalize> has been upgraded from version 1.10 to version 1.14
+L<Unicode::Normalize> has been upgraded from version 1.10 to 1.14.
 
 Fixes for the removal of F<unicore/CompositionExclusions.txt> from core.
 
 =item *
 
-L<Unicode::UCD> has been upgraded from version 0.32 to version 0.43.
+L<Unicode::UCD> has been upgraded from version 0.32 to 0.43.
 
-This adds four new functions:  C<prop_aliases()>, and
-C<prop_value_aliases()> which are used to find all the Unicode-approved
+This adds four new functions:  C<prop_aliases()> and
+C<prop_value_aliases()>, which are used to find all the Unicode-approved
 synonyms for property names, or to convert from one name to another;
 C<prop_invlist> which returns all the code points matching a given
 Unicode binary property; and C<prop_invmap> which returns the complete
@@ -1474,7 +1493,7 @@ specification of a given Unicode property.
 
 =item *
 
-L<Win32API::File> has been upgraded from version 0.1101 to version 0.1200
+L<Win32API::File> has been upgraded from version 0.1101 to 0.1200.
 
 Added SetStdHandle and GetStdHandle functions
 
@@ -1554,7 +1573,7 @@ never documented anywhere.  Now the perlfunc entry 
mentions it
 
 =item *
 
-As an accident of history, C<open $fh, "<:", ...> applies the default
+As an accident of history, C<open $fh, '<:', ...> applies the default
 layers for the platform (C<:raw> on Unix, C<:crlf> on Windows), ignoring
 whatever is declared by L<open.pm|open>.  This seems such a useful feature
 it has been documented in L<perlfunc|perlfunc/open> and L<open>.
@@ -2177,7 +2196,7 @@ further links.
 HP-UX PA-RISC/64 now supports gcc-4.x
 
 A fix to correct the socketsize now makes the test suite pass on HP-UX
-PA-RISC for 64bitall builds.
+PA-RISC for 64bitall builds. (5.14.2)
 
 =back
 
@@ -2309,11 +2328,6 @@ 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.
 
@@ -2547,9 +2561,9 @@ It used to be possible to free the typeglob of a 
localised array or hash
 
 Some core bugs affecting L<Hash::Util> have been fixed: locking a hash
 element that is a glob copy no longer causes subsequent assignment to it to
-corrupt the glob, and unlocking a hash element that holds a copy-on-write
-scalar no longer causes modifications to that scalar to modify other
-scalars that were sharing the same string buffer.
+corrupt the glob (5.14.2), and unlocking a hash element that holds a
+copy-on-write scalar no longer causes modifications to that scalar to
+modify other scalars that were sharing the same string buffer.
 
 =back
 
@@ -2649,7 +2663,7 @@ of Perl were not updated to account for them, but have 
now been fixed.
 
 C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
 string buffers in place (i.e., skipping the copy).  This could result in
-hashes having two elements with the same key [perl #91834].
+hashes having two elements with the same key [perl #91834]. (5.14.2)
 
 =item *
 
@@ -2661,12 +2675,12 @@ was not fixed until this release.
 
 Elements of restricted hashes (see the L<fields> pragma) containing
 copy-on-write values couldn't be deleted, nor could such hashes be cleared
-(C<%hash = ()>).
+(C<%hash = ()>). (5.14.2)
 
 =item *
 
 Localising a tied variable used to make it read-only if it contained a
-copy-on-write string.
+copy-on-write string. (5.14.2)
 
 =item *
 
@@ -3265,7 +3279,7 @@ under threading has been fixed.
 
 =item *
 
-A regression introduced in 5.13.6 has
+A regression introduced in 5.14.0 has
 been fixed.  This involved an inverted
 bracketed character class in a regular expression that consisted solely
 of a Unicode property.  That property wasn't getting inverted outside the
@@ -3343,7 +3357,7 @@ fixed-string nodes with inconvenient contents.
 
 A panic involving the combination of the regular expression modifiers
 C</aa> and the C<\b> escape sequence introduced in 5.14.0 has been
-fixed [perl #95964].
+fixed [perl #95964]. (5.14.2)
 
 =item *
 
@@ -3865,6 +3879,11 @@ recommendations.  See L<perlfunc/quotemeta> for details.
 
 =item *
 
+C<study> is now a no-op, presumably fixing all outstanding bugs related to
+study causing regex matches to behave incorrectly!
+
+=item *
+
 When one writes C<open foo || die>, which used to work in Perl 4, a
 "Precedence problem" warning is produced.  This warning used erroneously to
 apply to fully-qualified bareword handle names not followed by C<||>.  This
@@ -4000,7 +4019,7 @@ It has now been fixed.
 
 Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
 a pack template equivalent to "U0" if the input string was empty.  This has
-been fixed [perl #90160].
+been fixed [perl #90160]. (5.14.2)
 
 =item *
 
@@ -4064,7 +4083,7 @@ to force it [perl #96942].
 
 C<caller> no longer leaks memory when called from the DB package if
 C<@DB::args> was assigned to after the first call to C<caller>.  L<Carp>
-was triggering this bug [perl #97010].
+was triggering this bug [perl #97010]. (5.14.2)
 
 =item *
 
@@ -4180,7 +4199,7 @@ files from 137 authors.
 
 Perl continues to flourish into its third decade thanks to a vibrant
 community of users and developers.  The following people are known to
-have contributed the improvements that became Perl 5.14.1:
+have contributed the improvements that became Perl 5.16.0:
 
 Aaron Crane, Abhijit Menon-Sen, Abigail, Alan Haggai Alavi, Alberto
 Simões, Alexandr Ciornii, Andreas König, Andy Dougherty, Aristotle

--
Perl5 Master Repository

Reply via email to