Subject: CVS commit: pkgsrc/lang/perl5
From: Thomas Klausner
Date: 2015-02-25 15:56:45
Message id: 20150225145645.C9FA198@cvs.netbsd.org

Log Message:
Update to 5.20.2, provided by Kai-Uwe Eckhardt <kuehro@gmx.de> in private
mail.

Changes:

Incompatible Changes

There are no changes intentionally incompatible with 5.20.1. If any
exist, they are bugs, and we request that you submit a report. See
"Reporting Bugs" below.  Modules and Pragmata Updated Modules and
Pragmata

    attributes has been upgraded from version 0.22 to 0.23.

    The usage of memEQs in the XS has been corrected. [perl #122701]

    Data::Dumper has been upgraded from version 2.151 to 2.151_01.

    Fixes CVE-2014-4330 by adding a configuration variable/option to
    limit recursion when dumping deep data structures.

    Errno has been upgraded from version 1.20_03 to 1.20_05.

    Warnings when building the XS on Windows with the Visual C++
    compiler are now avoided.

    feature has been upgraded from version 1.36 to 1.36_01.

    The postderef feature has now been documented. This feature was
    actually added in Perl 5.20.0 but was accidentally omitted from
    the feature documentation until now.

    IO::Socket has been upgraded from version 1.37 to 1.38.

    Document the limitations of the connected() method. [perl #123096]

    Module::CoreList has been upgraded from version 5.020001 to
    5.20150214.

    The list of Perl versions covered has been updated.

    PathTools has been upgraded from version 3.48 to 3.48_01.

    A warning from the gcc compiler is now avoided when building the
    XS.

    PerlIO::scalar has been upgraded from version 0.18 to 0.18_01.

    Reading from a position well past the end of the scalar now
    correctly returns end of file. [perl #123443]

    Seeking to a negative position still fails, but no longer leaves
    the file position set to a negation location.

    eof() on a PerlIO::scalar handle now properly returns true when
    the file position is past the 2GB mark on 32-bit systems.

    Storable has been upgraded from version 2.49 to 2.49_01.

    Minor grammatical change to the documentation only.

    VMS::DCLsym has been upgraded from version 1.05 to 1.05_01.

    Minor formatting change to the documentation only.

    VMS::Stdio has been upgraded from version 2.4 to 2.41.

    Minor formatting change to the documentation only.

Documentation New Documentation perlunicook

This document, by Tom Christiansen, provides examples of handling
Unicode in Perl.  Changes to Existing Documentation perlexperiment

    Added reference to subroutine signatures. This feature was
    actually added in Perl 5.20.0 but was accidentally omitted from
    the experimental feature documentation until now.

perlpolicy

    The process whereby features may graduate from experimental status
    has now been formally documented.

perlsyn

    An ambiguity in the documentation of the ellipsis statement has
    been corrected. [perl #122661]

Diagnostics

The following additions or changes have been made to diagnostic
output, including warnings and fatal error messages. For the complete
list of diagnostic messages, see perldiag.  Changes to Existing
Diagnostics

    Bad symbol for scalar is now documented. This error is not new,
    but was not previously documented here.

    Missing right brace on \N{} is now documented. This error is not
    new, but was not previously documented here.

Testing

    The test script re/rt122747.t has been added to verify that perl
    #122747 remains fixed.

Platform Support Regained Platforms

IRIX and Tru64 platforms are working again. (Some make test failures
remain.)  Selected Bug Fixes

    AIX now sets the length in getsockopt correctly. [perl #120835],
    [cpan #91183], [cpan #85570]

    In Perl 5.20.0, $^N accidentally had the internal UTF8 flag turned
    off if accessed from a code block within a regular expression,
    effectively UTF8-encoding the value. This has been fixed. [perl
    #123135]

    Various cases where the name of a sub is used (autoload,
    overloading, error messages) used to crash for lexical subs, but
    have been fixed.

    An assertion failure when parsing sort with debugging enabled has
    been fixed. [perl #122771]

    Loading UTF8 tables during a regular expression match could cause
    assertion failures under debugging builds if the previous match
    used the very same regular expression. [perl #122747]

    Due to a mistake in the string-copying logic, copying the value of
    a state variable could instead steal the value and undefine the
    variable. This bug, introduced in Perl 5.20, would happen mostly
    for long strings (1250 chars or more), but could happen for any
    strings under builds with copy-on-write disabled. [perl #123029]

    Fixed a bug that could cause perl to execute an infinite loop
    during compilation. [perl #122995]

    On Win32, restoring in a child pseudo-process a variable that was
    local()ed in a parent pseudo-process before the fork happened
    caused memory corruption and a crash in the child pseudo-process
    (and therefore OS process). [perl #40565]

    Tainted constants evaluated at compile time no longer cause
    unrelated statements to become tainted. [perl #122669]

    Calling write on a format with a ^** field could produce a panic
    in sv_chop() if there were insufficient arguments or if the
    variable used to fill the field was empty. [perl #123245]

    In Perl 5.20.0, sort CORE::fake where 'fake' is anything other
    than a keyword started chopping of the last 6 characters and
    treating the result as a sort sub name. The previous behaviour of
    treating "CORE::fake" as a sort sub name has been restored. [perl
    #123410]

    A bug in regular expression patterns that could lead to segfaults
    and other crashes has been fixed. This occurred only in patterns
    compiled with "/i", while taking into account the current POSIX
    locale (this usually means they have to be compiled within the
    scope of "use locale"), and there must be a string of at least 128
    consecutive bytes to match. [perl #123539]

    qr/@array(?{block})/ no longer dies with "Bizarre copy of
    ARRAY". [perl #123344]

    gmtime no longer crashes with not-a-number values. [perl #123495]

    Certain syntax errors in substitutions, such as s/${<>{})//, would
    crash, and had done so since Perl 5.10. (In some cases the crash
    did not start happening until Perl 5.16.) The crash has, of
    course, been fixed. [perl #123542]

    A memory leak in some regular expressions, introduced in Perl
    5.20.1, has been fixed. [perl #123198]

    formline("@...", "a"); would crash. The FF_CHECKNL case in
    pp_formline() didn't set the pointer used to mark the chop
    position, which led to the FF_MORE case crashing with a
    segmentation fault. This has been fixed. [perl #123538] [perl
    #123622]

    A possible buffer overrun and crash when parsing a literal pattern
    during regular expression compilation has been fixed. [perl
    #123604]

Known Problems

    It is a known bug that lexical subroutines cannot be used as the
    SUBNAME argument to sort. This will be fixed in a future version
    of Perl.

Errata From Previous Releases

    A regression has been fixed that was introduced in Perl 5.20.0
    (fixed in Perl 5.20.1 as well as here) in which a UTF-8 encoded
    regular expression pattern that contains a single ASCII lowercase
    letter does not match its uppercase counterpart. [perl #122655]

Files:
RevisionActionfile
1.23modifypkgsrc/lang/perl5/Makefile.common
1.126modifypkgsrc/lang/perl5/distinfo
1.22modifypkgsrc/lang/perl5/patches/patch-ca
1.10modifypkgsrc/lang/perl5/patches/patch-hints_netbsd.sh
1.1removepkgsrc/lang/perl5/patches/patch-dist_Data-Dumper_Dumper.pm
1.1removepkgsrc/lang/perl5/patches/patch-dist_Data-Dumper_Dumper.xs