diff options
author | 2017-10-29 22:34:55 +0000 | |
---|---|---|
committer | 2017-10-29 22:34:55 +0000 | |
commit | dcce7324b0ca07181011a80bbd5653770d4efd31 (patch) | |
tree | b3230899be4d27a92f6bcbc093b079f0ef6db9e7 | |
parent | More HISTORY and AUTHORS, in part from Jonathan de Boyne Pollard (diff) | |
download | wireguard-openbsd-dcce7324b0ca07181011a80bbd5653770d4efd31.tar.xz wireguard-openbsd-dcce7324b0ca07181011a80bbd5653770d4efd31.zip |
Import perl-5.24.3
ok bluhm@
-rw-r--r-- | gnu/usr.bin/perl/dist/Time-HiRes/Changes | 69 | ||||
-rw-r--r-- | gnu/usr.bin/perl/dist/Time-HiRes/typemap | 2 | ||||
-rw-r--r-- | gnu/usr.bin/perl/hints/cygwin.sh | 2 | ||||
-rw-r--r-- | gnu/usr.bin/perl/pod/perl5224delta.pod | 125 | ||||
-rw-r--r-- | gnu/usr.bin/perl/pod/perl5242delta.pod | 120 | ||||
-rw-r--r-- | gnu/usr.bin/perl/t/op/hexfp.t | 15 | ||||
-rw-r--r-- | gnu/usr.bin/perl/t/op/lop.t | 28 | ||||
-rw-r--r-- | gnu/usr.bin/perl/t/run/switchx.aux | 7 | ||||
-rw-r--r-- | gnu/usr.bin/perl/t/run/switchx.t | 4 |
9 files changed, 364 insertions, 8 deletions
diff --git a/gnu/usr.bin/perl/dist/Time-HiRes/Changes b/gnu/usr.bin/perl/dist/Time-HiRes/Changes index 9d097c585ee..c2ad5a53029 100644 --- a/gnu/usr.bin/perl/dist/Time-HiRes/Changes +++ b/gnu/usr.bin/perl/dist/Time-HiRes/Changes @@ -1,5 +1,74 @@ Revision history for the Perl extension Time::HiRes. +1.9741 [2016-11-20] + - C++11 compatibility: blead a914236c + - El Capitan compatibility: blead 45bbc013 + - use CLOCK_REALTIME for clock_nanosleep scan: blead 56ed632c + - include file consistency in scans: blead 605b4dbe + - use clockid_t consistently: blead 2979fdf3 + - use hv_fetchs(): blead 07e4dd7a + - scan for clockid_t (needed for macos Sierra): blead 69d1f2c2 + - darwin lacks clockid_t: blead d1e7b5aa + [rt.cpan.org #129789] + - provide template for tempfile: blead 91dca83e + - explicit cast for clockid_t in C++11: blead 1c566547 + - upgrade to a newer ppport (3.35) + +1.9740 [2016-09-25] + - the ext3/ext2 filesystems do not have subsecond resolution, + therefore skip the t/utime.t test + [rt.cpan.org #116127] + +1.9739 [2016-06-28] + - the upcoming macOS 10.12 (Sierra, the operating system formerly + known as OS X, or Darwin) has implemented the clock_gettime() + and clock_getres() interfaces but not the clock_nanosleep() + +1.9738 [2016-06-26] + - fix the dates in the Changes, it's not July yet + [rt.cpan.org #115553] + - in cygwin, drop the utime.t expected timestamp resolution + - documented for utime that the actual timestamp resolution depends + on the operating system and the filesystem, just like for stat + - looks like in gnukfreebsd 10.1 neither futimens or utimensat work + even though they exist, skipping utime tests there for now + - demodernize the Test::More use in utime.t (no subtest) to + better support older Perl installations + - for all the tests, drop the Test::More 0.82 requirement, + the only "modern" thing used is the note routine which + can be replaced with print("# ...\n") (or printf), + with this works back at least with Test::More 0.54 (perl 5.8.7) + +1.9737 [2016-06-22] + - utime in HiRes.xs had dXSARGS which was unnecessary, leading + to two markstack pops, panic, and two-minute wait for the watchdog + (thanks to Dave Mitchell for the eagle-eye) + - even though 5.10.x should have the Perl_ck_warner, many CPAN + smokes proved otherwise, so requiring now at least 5.12 for + Perl_ck_warner use in IS_SAFE_PATHNAME() + +1.9736 [2016-06-22] + - the IS_SAFE_PATHNAME() emulation was too modern for Perl 5.10 + - make it so that only one value is set for -DTIME_HIRES_STAT + even on systems that support many options + - the 1.9734 (only released in blead, and as part of the development + release 5.25.2) fix for Darwin's clock_gettime was wrong under + threaded builds, leading into mutex panics in clock.t + - the d_hires_utime determination was made more precise + - the utime.t was failing in platforms where only one of + futimens/utimensat was present (neither or both was okay) + +1.9735 [2016-06-20] + - Time::HiRes should override `utime` to allow setting hires + (futimens and utimensat support) + [rt.perl.org #114809] + - the utime patch used IS_SAFE_PATHNAME() which isn't available in + too old Perls, so emulate (in case the Devel::PPPort is too old) + +1.9734 [2016-06-17] + - fix Darwins with clock_gettime: blead 2d41a263 + [rt.perl.org #128427] + 1.9733 [2016-04-23] - C90 declaration-after-statement error with darwin threads: blead de1003b4 [rt.cpan.org #113856] diff --git a/gnu/usr.bin/perl/dist/Time-HiRes/typemap b/gnu/usr.bin/perl/dist/Time-HiRes/typemap index 1124eb64838..3fa91f3a0b3 100644 --- a/gnu/usr.bin/perl/dist/Time-HiRes/typemap +++ b/gnu/usr.bin/perl/dist/Time-HiRes/typemap @@ -28,6 +28,8 @@ AV * T_AVREF HV * T_HVREF CV * T_CVREF +clockid_t T_IV + IV T_IV UV T_UV NV T_NV diff --git a/gnu/usr.bin/perl/hints/cygwin.sh b/gnu/usr.bin/perl/hints/cygwin.sh index 21997dba745..20e0e588210 100644 --- a/gnu/usr.bin/perl/hints/cygwin.sh +++ b/gnu/usr.bin/perl/hints/cygwin.sh @@ -31,7 +31,7 @@ test -z "$optimize" && optimize='-O3' man3ext='3pm' test -z "$use64bitint" && use64bitint='define' test -z "$useithreads" && useithreads='define' -ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__" +ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE" # - otherwise i686-cygwin archname='cygwin' diff --git a/gnu/usr.bin/perl/pod/perl5224delta.pod b/gnu/usr.bin/perl/pod/perl5224delta.pod new file mode 100644 index 00000000000..a00193daf2e --- /dev/null +++ b/gnu/usr.bin/perl/pod/perl5224delta.pod @@ -0,0 +1,125 @@ +=encoding utf8 + +=head1 NAME + +perl5224delta - what is new for perl v5.22.4 + +=head1 DESCRIPTION + +This document describes differences between the 5.22.3 release and the 5.22.4 +release. + +If you are upgrading from an earlier release such as 5.22.2, first read +L<perl5223delta>, which describes differences between 5.22.2 and 5.22.3. + +=head1 Security + +=head2 Improved handling of '.' in @INC in base.pm + +The handling of (the removal of) C<'.'> in C<@INC> in L<base> has been +improved. This resolves some problematic behaviour in the approach taken in +Perl 5.22.3, which is probably best described in the following two threads on +the Perl 5 Porters mailing list: +L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238991.html>, +L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240297.html>. + +=head2 "Escaped" colons and relative paths in PATH + +On Unix systems, Perl treats any relative paths in the PATH environment +variable as tainted when starting a new process. Previously, it was allowing a +backslash to escape a colon (unlike the OS), consequently allowing relative +paths to be considered safe if the PATH was set to something like C</\:.>. The +check has been fixed to treat C<.> as tainted in that example. + +=head1 Modules and Pragmata + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L<base> has been upgraded from version 2.22 to 2.22_01. + +=item * + +L<Module::CoreList> has been upgraded from version 5.20170114_22 to 5.20170715_22. + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +Fixed a crash with C<s///l> where it thought it was dealing with UTF-8 when it +wasn't. +L<[perl #129038]|https://rt.perl.org/Ticket/Display.html?id=129038> + +=back + +=head1 Acknowledgements + +Perl 5.22.4 represents approximately 6 months of development since Perl 5.22.3 +and contains approximately 2,200 lines of changes across 52 files from 16 +authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 970 lines of changes to 18 .pm, .t, .c and .h files. + +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.22.4: + +Aaron Crane, Abigail, Aristotle Pagaltzis, Chris 'BinGOs' Williams, David +Mitchell, Eric Herman, Father Chrysostomos, James E Keenan, Karl Williamson, +Lukas Mai, Renee Baecker, Ricardo Signes, Sawyer X, Stevan Little, Steve Hay, +Tony Cook. + +The list above is almost certainly incomplete as it is automatically generated +from version control history. In particular, it does not include the names of +the (very much appreciated) contributors who reported issues to the Perl bug +tracker. + +Many of the changes included in this version originated in the CPAN modules +included in Perl's core. We're grateful to the entire CPAN community for +helping Perl to flourish. + +For a more complete list of all of Perl's historical contributors, please see +the F<AUTHORS> file in the Perl source distribution. + +=head1 Reporting Bugs + +If you find what you think is a bug, you might check the articles recently +posted to the comp.lang.perl.misc newsgroup and the perl bug database at +https://rt.perl.org/ . There may also be information at +http://www.perl.org/ , the Perl Home Page. + +If you believe you have an unreported bug, please run the L<perlbug> program +included with your release. Be sure to trim your bug down to a tiny but +sufficient test case. Your bug report, along with the output of C<perl -V>, +will be sent off to perlbug@perl.org to be analysed by the Perl porting team. + +If the bug you are reporting has security implications, which make it +inappropriate to send to a publicly archived mailing list, then please send it +to perl5-security-report@perl.org. This points to a closed subscription +unarchived mailing list, which includes all the core committers, who will be +able to help assess the impact of issues, figure out a resolution, and help +co-ordinate the release of patches to mitigate or fix the problem across all +platforms on which Perl is supported. Please only use this address for +security issues in the Perl core, not for modules independently distributed on +CPAN. + +=head1 SEE ALSO + +The F<Changes> file for an explanation of how to view exhaustive details on +what changed. + +The F<INSTALL> file for how to build Perl. + +The F<README> file for general stuff. + +The F<Artistic> and F<Copying> files for copyright information. + +=cut diff --git a/gnu/usr.bin/perl/pod/perl5242delta.pod b/gnu/usr.bin/perl/pod/perl5242delta.pod new file mode 100644 index 00000000000..5dd954c9d35 --- /dev/null +++ b/gnu/usr.bin/perl/pod/perl5242delta.pod @@ -0,0 +1,120 @@ +=encoding utf8 + +=head1 NAME + +perl5242delta - what is new for perl v5.24.2 + +=head1 DESCRIPTION + +This document describes differences between the 5.24.1 release and the 5.24.2 +release. + +If you are upgrading from an earlier release such as 5.24.0, first read +L<perl5241delta>, which describes differences between 5.24.0 and 5.24.1. + +=head1 Security + +=head2 Improved handling of '.' in @INC in base.pm + +The handling of (the removal of) C<'.'> in C<@INC> in L<base> has been +improved. This resolves some problematic behaviour in the approach taken in +Perl 5.24.1, which is probably best described in the following two threads on +the Perl 5 Porters mailing list: +L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238991.html>, +L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240297.html>. + +=head2 "Escaped" colons and relative paths in PATH + +On Unix systems, Perl treats any relative paths in the PATH environment +variable as tainted when starting a new process. Previously, it was allowing a +backslash to escape a colon (unlike the OS), consequently allowing relative +paths to be considered safe if the PATH was set to something like C</\:.>. The +check has been fixed to treat C<.> as tainted in that example. + +=head1 Modules and Pragmata + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L<base> has been upgraded from version 2.23 to 2.23_01. + +=item * + +L<Module::CoreList> has been upgraded from version 5.20170114_24 to 5.20170715_24. + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +Fixed a crash with C<s///l> where it thought it was dealing with UTF-8 when it +wasn't. +L<[perl #129038]|https://rt.perl.org/Ticket/Display.html?id=129038> + +=back + +=head1 Acknowledgements + +Perl 5.24.2 represents approximately 6 months of development since Perl 5.24.1 +and contains approximately 2,500 lines of changes across 53 files from 18 +authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 960 lines of changes to 17 .pm, .t, .c and .h files. + +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.24.2: + +Aaron Crane, Abigail, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Dan +Collins, David Mitchell, Eric Herman, Father Chrysostomos, James E Keenan, Karl +Williamson, Lukas Mai, Renee Baecker, Ricardo Signes, Sawyer X, Stevan Little, +Steve Hay, Tony Cook, Yves Orton. + +The list above is almost certainly incomplete as it is automatically generated +from version control history. In particular, it does not include the names of +the (very much appreciated) contributors who reported issues to the Perl bug +tracker. + +Many of the changes included in this version originated in the CPAN modules +included in Perl's core. We're grateful to the entire CPAN community for +helping Perl to flourish. + +For a more complete list of all of Perl's historical contributors, please see +the F<AUTHORS> file in the Perl source distribution. + +=head1 Reporting Bugs + +If you find what you think is a bug, you might check the articles recently +posted to the comp.lang.perl.misc newsgroup and the perl bug database at +L<https://rt.perl.org/> . There may also be information at +L<http://www.perl.org/> , the Perl Home Page. + +If you believe you have an unreported bug, please run the L<perlbug> program +included with your release. Be sure to trim your bug down to a tiny but +sufficient test case. Your bug report, along with the output of C<perl -V>, +will be sent off to perlbug@perl.org to be analysed by the Perl porting team. + +If the bug you are reporting has security implications which make it +inappropriate to send to a publicly archived mailing list, then see +L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> +for details of how to report the issue. + +=head1 SEE ALSO + +The F<Changes> file for an explanation of how to view exhaustive details on +what changed. + +The F<INSTALL> file for how to build Perl. + +The F<README> file for general stuff. + +The F<Artistic> and F<Copying> files for copyright information. + +=cut diff --git a/gnu/usr.bin/perl/t/op/hexfp.t b/gnu/usr.bin/perl/t/op/hexfp.t index 4b2a96d051b..c4c08cc3f08 100644 --- a/gnu/usr.bin/perl/t/op/hexfp.t +++ b/gnu/usr.bin/perl/t/op/hexfp.t @@ -10,7 +10,7 @@ use strict; use Config; -plan(tests => 105); +plan(tests => 109); # Test hexfloat literals. @@ -243,6 +243,19 @@ SKIP: } } +# [perl #128919] limited exponent range in hex fp literal with long double +SKIP: { + skip("non-80-bit-long-double", 4) + unless ($Config{uselongdouble} && + ($Config{nvsize} == 16 || $Config{nvsize} == 12) && + ($Config{longdblkind} == 3 || + $Config{longdblkind} == 4)); + is(0x1p-1074, 4.94065645841246544e-324); + is(0x1p-1075, 2.47032822920623272e-324, '[perl #128919]'); + is(0x1p-1076, 1.23516411460311636e-324); + is(0x1p-16445, 3.6451995318824746e-4951); +} + # sprintf %a/%A testing is done in sprintf2.t, # trickier than necessary because of long doubles, # and because looseness of the spec. diff --git a/gnu/usr.bin/perl/t/op/lop.t b/gnu/usr.bin/perl/t/op/lop.t index bc4eb85f7e9..fe1c4326c98 100644 --- a/gnu/usr.bin/perl/t/op/lop.t +++ b/gnu/usr.bin/perl/t/op/lop.t @@ -10,7 +10,7 @@ BEGIN { require './test.pl'; } -plan tests => 17; +plan tests => 23; for my $i (undef, 0 .. 2, "", "0 but true") { my $true = 1; @@ -56,3 +56,29 @@ is( $i, 10, 'negation precedence with &&' ); ++$y; $i = !$x && !$x && !$x && $y; is( $i, 11, 'negation precedence with &&, multiple operands' ); + +# [perl #127952]. This relates to OP_AND and OP_OR with a negated constant +# on the lhs (either a negated bareword, or a negation of a do{} containing +# a constant) and a negated non-foldable expression on the rhs. These cases +# yielded 42 or "Bare" or "str" before the bug was fixed. +{ + $x = 42; + + $i = !Bare || !$x; + is( $i, '', 'neg-bareword on lhs of || with non-foldable neg-true on rhs' ); + + $i = !Bare && !$x; + is( $i, '', 'neg-bareword on lhs of && with non-foldable neg-true on rhs' ); + + $i = do { !$x if !Bare }; + is( $i, '', 'neg-bareword on rhs of modifier-if with non-foldable neg-true on lhs' ); + + $i = do { !$x unless !Bare }; + is( $i, '', 'neg-bareword on rhs of modifier-unless with non-foldable neg-true on lhs' ); + + $i = !do { "str" } || !$x; + is( $i, '', 'neg-do-const on lhs of || with non-foldable neg-true on rhs' ); + + $i = !do { "str" } && !$x; + is( $i, '', 'neg-do-const on lhs of && with non-foldable neg-true on rhs' ); +} diff --git a/gnu/usr.bin/perl/t/run/switchx.aux b/gnu/usr.bin/perl/t/run/switchx.aux index b59df4a0ed8..106b2f79c6b 100644 --- a/gnu/usr.bin/perl/t/run/switchx.aux +++ b/gnu/usr.bin/perl/t/run/switchx.aux @@ -17,11 +17,12 @@ still not perl #!/some/path/that/leads/to/perl -l -print "1..7"; +print "1..8"; +print "ok 1 - Correct line number" if __LINE__ == 4; if (-f 'run/switchx.aux') { - print "ok 1 - Test file exists"; + print "ok 2 - Test file exists"; } -print "ok 2 - Test file utilized"; +print "ok 3 - Test file utilized"; # other tests are in switchx2.aux __END__ diff --git a/gnu/usr.bin/perl/t/run/switchx.t b/gnu/usr.bin/perl/t/run/switchx.t index bcea3d0ab6e..4e57d04497d 100644 --- a/gnu/usr.bin/perl/t/run/switchx.t +++ b/gnu/usr.bin/perl/t/run/switchx.t @@ -15,9 +15,9 @@ print runperl( switches => ['-x'], # Test '-xdir' print runperl( switches => ['-x./run'], progfile => 'run/switchx2.aux', - args => [ 3 ] ); + args => [ 4 ] ); -curr_test(5); +curr_test(6); # Test the error message for not found like(runperl(switches => ['-x'], progfile => 'run/switchx3.aux', stderr => 1), |