diff options
author | Andrew Fresh <afresh1@cvs.openbsd.org> | 2020-04-09 01:32:17 +0000 |
---|---|---|
committer | Andrew Fresh <afresh1@cvs.openbsd.org> | 2020-04-09 01:32:17 +0000 |
commit | 4f799d9a492b0643b1c62b8437a566e62d69feed (patch) | |
tree | 6aa796d00616fa24615a8c4861669e3d2f9721dd /gnu | |
parent | cd56ef8be5f639e9b0c1646f091e326d98ed4605 (diff) |
Update perl to 5.30.2
https://metacpan.org/pod/release/SHAY/perl-5.30.2/pod/perldelta.pod
Incompatible Changes
There are no changes intentionally incompatible with 5.30.0.
Updated Modules and Pragmata
* Compress::Raw::Bzip2 has been upgraded from version 2.084 to 2.089.
* Module::CoreList has been upgraded from version 5.20191110 to 5.20200314.
Selected Bug Fixes
* printf() or sprintf() with the %n format no longer cause a panic
on debugging builds, or report an incorrectly cached length value
when producing SVfUTF8 flagged strings.
* A memory leak in regular expression patterns has been fixed.
* A read beyond buffer in grok_infnan has been fixed.
* An assertion failure in the regular expression engine has been fixed.
* (?{...}) eval groups in regular expressions no longer unintentionally
trigger "EVAL without pos change exceeded limit in regex".
Proceed when you feel comfortable. deraadt@
Diffstat (limited to 'gnu')
101 files changed, 1991 insertions, 565 deletions
diff --git a/gnu/usr.bin/perl/AUTHORS b/gnu/usr.bin/perl/AUTHORS index a026a1028d6..3d80ae64135 100644 --- a/gnu/usr.bin/perl/AUTHORS +++ b/gnu/usr.bin/perl/AUTHORS @@ -3,7 +3,8 @@ # (hopefully) current and preferred email addresses from the commits. # These people have either submitted patches or suggestions, or their bug # reports or comments have inspired the appropriate patches. Corrections, -# additions, deletions welcome; send them to perlbug@perl.org, preferably +# additions, deletions welcome; send them as a pull request to +# https://github.com/Perl/perl5, or to perl5-porters@perl.org, preferably # as the output of diff(1), diff -u or diff -c between the original and a # corrected version of this file. # diff --git a/gnu/usr.bin/perl/Configure b/gnu/usr.bin/perl/Configure index 4b869dcede1..8b706bb4410 100644 --- a/gnu/usr.bin/perl/Configure +++ b/gnu/usr.bin/perl/Configure @@ -1534,8 +1534,8 @@ case "$sh" in $me: Fatal Error: I can't find a Bourne Shell anywhere. Usually it's in /bin/sh. How did you even get this far? -Please contact me (Perl Maintainers) at perlbug@perl.org and -we'll try to straighten this all out. +Please contact me (Perl Maintainers) at https://github.com/Perl/perl5/issues +and we'll try to straighten this all out. EOM exit 1 ;; @@ -2118,7 +2118,7 @@ THIS PACKAGE SEEMS TO BE INCOMPLETE. You have the option of continuing the configuration process, despite the distinct possibility that your kit is damaged, by typing 'y'es. If you do, don't blame me if something goes wrong. I advise you to type 'n'o -and contact the author (perlbug@perl.org). +and contact the author (https://github.com/Perl/perl5/issues). EOM echo $n "Continue? [n] $c" >&4 @@ -2398,7 +2398,7 @@ Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on yours, your best bet is to edit Configure and run it again. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. Whatever problems you -have, let me (perlbug@perl.org) know how I blew it. +have, let me (https://github.com/Perl/perl5/issues) know how I blew it. This installation script affects things in two ways: @@ -3367,7 +3367,7 @@ EOM (cd $src/hints; ls -C *.sh) | $sed 's/\.sh/ /g' >&4 dflt='' : Half the following guesses are probably wrong... If you have better - : tests or hints, please send them to perlbug@perl.org + : tests or hints, please send them to https://github.com/Perl/perl5/issues : The metaconfig authors would also appreciate a copy... $test -f /irix && osname=irix $test -f /xenix && osname=sco_xenix @@ -4696,7 +4696,7 @@ else fi $rm -f try try.* case "$gccversion" in -1*) cpp=`./loc gcc-cpp $cpp $pth` ;; +1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; esac case "$gccversion" in '') gccosandvers='' ;; @@ -4736,7 +4736,7 @@ esac # gcc 3.* complain about adding -Idirectories that they already know about, # so we will take those off from locincpth. case "$gccversion" in -3*) +3.*) echo "main(){}">try.c for incdir in $locincpth; do warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ @@ -5462,13 +5462,13 @@ fi case "$hint" in default|recommended) case "$gccversion" in - 1*) dflt="$dflt -fpcc-struct-return" ;; + 1.*) dflt="$dflt -fpcc-struct-return" ;; esac case "$optimize:$DEBUGGING" in *-g*:old) dflt="$dflt -DDEBUGGING";; esac case "$gccversion" in - 2*) if $test -d /etc/conf/kconfig.d && + 2.*) if $test -d /etc/conf/kconfig.d && $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1 then # Interactive Systems (ISC) POSIX mode. @@ -5477,7 +5477,7 @@ default|recommended) ;; esac case "$gccversion" in - 1*) ;; + 1.*) ;; 2.[0-8]*) ;; ?*) set strict-aliasing -fno-strict-aliasing eval $checkccflag @@ -5614,7 +5614,7 @@ case "$cppflags" in ;; esac case "$gccversion" in -1*) cppflags="$cppflags -D__GNUC__" +1.*) cppflags="$cppflags -D__GNUC__" esac case "$mips_type" in '');; @@ -5800,7 +5800,7 @@ compile=' mc_file=$1; shift; case "$usedevel" in $define|true|[yY]*) if $test ! -f "${mc_file}.c"; then -echo "Internal Configure script bug - compiler test file ${mc_file}.c is missing. Please report this to perlbug@perl.org" >&4; +echo "Internal Configure script bug - compiler test file ${mc_file}.c is missing. Please report this to https://github.com/Perl/perl5/issues" >&4; exit 1; fi; esac; @@ -8792,7 +8792,7 @@ case "$shrpdir" in *) $cat >&4 <<EOM WARNING: Use of the shrpdir variable for the installation location of the shared $libperl is not supported. It was never documented and -will not work in this version. Let me (perlbug@perl.org) +will not work in this version. Let me (https://github.com/Perl/perl5/issues) know of any problems this may cause. EOM @@ -23199,7 +23199,7 @@ fi : add -D_FORTIFY_SOURCE if feasible and not already there case "$gccversion" in -[456789].*) case "$optimize$ccflags" in +[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in *-O*) case "$ccflags$cppsymbols" in *_FORTIFY_SOURCE=*) # Don't add it again. echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 diff --git a/gnu/usr.bin/perl/Cross/config.sh-arm-linux b/gnu/usr.bin/perl/Cross/config.sh-arm-linux index f22b52ef0fb..2d8c464d058 100644 --- a/gnu/usr.bin/perl/Cross/config.sh-arm-linux +++ b/gnu/usr.bin/perl/Cross/config.sh-arm-linux @@ -35,8 +35,8 @@ api_subversion='0' api_version='30' api_versionstring='5.30.0' ar='ar' -archlib='/usr/lib/perl5/5.30.1/armv4l-linux' -archlibexp='/usr/lib/perl5/5.30.1/armv4l-linux' +archlib='/usr/lib/perl5/5.30.2/armv4l-linux' +archlibexp='/usr/lib/perl5/5.30.2/armv4l-linux' archname64='' archname='armv4l-linux' archobjs='' @@ -55,7 +55,7 @@ castflags='0' cat='cat' cc='cc' cccdlflags='-fpic' -ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.30.1/armv4l-linux/CORE' +ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.30.2/armv4l-linux/CORE' ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccname='arm-linux-gcc' @@ -821,7 +821,7 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='./install_me_here/usr/lib/perl5/5.30.1/armv4l-linux' +installarchlib='./install_me_here/usr/lib/perl5/5.30.2/armv4l-linux' installbin='./install_me_here/usr/bin' installhtml1dir='' installhtml3dir='' @@ -829,13 +829,13 @@ installman1dir='./install_me_here/usr/share/man/man1' installman3dir='./install_me_here/usr/share/man/man3' installprefix='./install_me_here/usr' installprefixexp='./install_me_here/usr' -installprivlib='./install_me_here/usr/lib/perl5/5.30.1' +installprivlib='./install_me_here/usr/lib/perl5/5.30.2' installscript='./install_me_here/usr/bin' -installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.30.1/armv4l-linux' +installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.30.2/armv4l-linux' installsitebin='./install_me_here/usr/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.30.1' +installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.30.2' installsiteman1dir='./install_me_here/usr/share/man/man1' installsiteman3dir='./install_me_here/usr/share/man/man3' installsitescript='./install_me_here/usr/bin' @@ -969,8 +969,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/usr/lib/perl5/5.30.1' -privlibexp='/usr/lib/perl5/5.30.1' +privlib='/usr/lib/perl5/5.30.2' +privlibexp='/usr/lib/perl5/5.30.2' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -1035,17 +1035,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0' sig_size='68' signal_t='void' -sitearch='/usr/lib/perl5/site_perl/5.30.1/armv4l-linux' -sitearchexp='/usr/lib/perl5/site_perl/5.30.1/armv4l-linux' +sitearch='/usr/lib/perl5/site_perl/5.30.2/armv4l-linux' +sitearchexp='/usr/lib/perl5/site_perl/5.30.2/armv4l-linux' sitebin='/usr/bin' sitebinexp='/usr/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/lib/perl5/site_perl/5.30.1' +sitelib='/usr/lib/perl5/site_perl/5.30.2' sitelib_stem='/usr/lib/perl5/site_perl' -sitelibexp='/usr/lib/perl5/site_perl/5.30.1' +sitelibexp='/usr/lib/perl5/site_perl/5.30.2' siteman1dir='/usr/share/man/man1' siteman1direxp='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' @@ -1084,7 +1084,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='1' +subversion='2' sysman='/usr/share/man/man1' tail='' tar='' @@ -1175,8 +1175,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.30.1' -version_patchlevel_string='version 30 subversion 1' +version='5.30.2' +version_patchlevel_string='version 30 subversion 2' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1190,7 +1190,7 @@ config_args='' config_argc=0 PERL_REVISION=5 PERL_VERSION=30 -PERL_SUBVERSION=1 +PERL_SUBVERSION=2 PERL_API_REVISION=5 PERL_API_VERSION=30 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 b/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 index a57e20e4431..85ffa32f9f3 100644 --- a/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 +++ b/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 @@ -35,8 +35,8 @@ api_subversion='0' api_version='30' api_versionstring='5.30.0' ar='ar' -archlib='/usr/lib/perl5/5.30.1/armv4l-linux' -archlibexp='/usr/lib/perl5/5.30.1/armv4l-linux' +archlib='/usr/lib/perl5/5.30.2/armv4l-linux' +archlibexp='/usr/lib/perl5/5.30.2/armv4l-linux' archname64='' archname='armv4l-linux' archobjs='' @@ -54,7 +54,7 @@ castflags='0' cat='cat' cc='arm-none-linux-gnueabi-gcc' cccdlflags='-fpic' -ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.30.1/armv4l-linux/CORE' +ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.30.2/armv4l-linux/CORE' ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccname='arm-linux-gcc' @@ -819,7 +819,7 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='./install_me_here/usr/lib/perl5/5.30.1/armv4l-linux' +installarchlib='./install_me_here/usr/lib/perl5/5.30.2/armv4l-linux' installbin='./install_me_here/usr/bin' installhtml1dir='' installhtml3dir='' @@ -827,13 +827,13 @@ installman1dir='./install_me_here/usr/share/man/man1' installman3dir='./install_me_here/usr/share/man/man3' installprefix='./install_me_here/usr' installprefixexp='./install_me_here/usr' -installprivlib='./install_me_here/usr/lib/perl5/5.30.1' +installprivlib='./install_me_here/usr/lib/perl5/5.30.2' installscript='./install_me_here/usr/bin' -installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.30.1/armv4l-linux' +installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.30.2/armv4l-linux' installsitebin='./install_me_here/usr/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.30.1' +installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.30.2' installsiteman1dir='./install_me_here/usr/share/man/man1' installsiteman3dir='./install_me_here/usr/share/man/man3' installsitescript='./install_me_here/usr/bin' @@ -967,8 +967,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/usr/lib/perl5/5.30.1' -privlibexp='/usr/lib/perl5/5.30.1' +privlib='/usr/lib/perl5/5.30.2' +privlibexp='/usr/lib/perl5/5.30.2' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -1033,17 +1033,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0' sig_size='68' signal_t='void' -sitearch='/usr/lib/perl5/site_perl/5.30.1/armv4l-linux' -sitearchexp='/usr/lib/perl5/site_perl/5.30.1/armv4l-linux' +sitearch='/usr/lib/perl5/site_perl/5.30.2/armv4l-linux' +sitearchexp='/usr/lib/perl5/site_perl/5.30.2/armv4l-linux' sitebin='/usr/bin' sitebinexp='/usr/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/lib/perl5/site_perl/5.30.1' +sitelib='/usr/lib/perl5/site_perl/5.30.2' sitelib_stem='/usr/lib/perl5/site_perl' -sitelibexp='/usr/lib/perl5/site_perl/5.30.1' +sitelibexp='/usr/lib/perl5/site_perl/5.30.2' siteman1dir='/usr/share/man/man1' siteman1direxp='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' @@ -1082,7 +1082,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='1' +subversion='2' sysman='/usr/share/man/man1' tail='' tar='' @@ -1173,8 +1173,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.30.1' -version_patchlevel_string='version 30 subversion 1' +version='5.30.2' +version_patchlevel_string='version 30 subversion 2' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1188,7 +1188,7 @@ config_args='' config_argc=0 PERL_REVISION=5 PERL_VERSION=30 -PERL_SUBVERSION=1 +PERL_SUBVERSION=2 PERL_API_REVISION=5 PERL_API_VERSION=30 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/INSTALL b/gnu/usr.bin/perl/INSTALL index d8b35d63612..e24c2f55151 100644 --- a/gnu/usr.bin/perl/INSTALL +++ b/gnu/usr.bin/perl/INSTALL @@ -609,7 +609,7 @@ The directories set up by Configure fall into three broad categories. =item Directories for the perl distribution -By default, Configure will use the following directories for 5.30.1. +By default, Configure will use the following directories for 5.30.2. $version is the full perl version number, including subversion, e.g. 5.12.3, and $archname is a string like sun4-sunos, determined by Configure. The full definitions of all Configure @@ -2388,30 +2388,28 @@ settings"> above. =head1 Reporting Problems -Wherever possible please use the perlbug tool supplied with this Perl -to report problems, as it automatically includes summary configuration -information about your perl, which may help us track down problems far -more quickly. But first you should read the advice in this file, -carefully re-read the error message and check the relevant manual pages -on your system, as these may help you find an immediate solution. -Once you've exhausted the documentation, please report bugs to us using -the 'perlbug' tool. - -The perlbug tool is installed along with perl, so after you have -completed C<make install> it should be possible to run it with plain -C<perlbug>. If the install fails, or you want to report problems with -C<make test> without installing perl, then you can use C<make nok> to -run perlbug to report the problem, or run it by hand from this source -directory with C<./perl -Ilib utils/perlbug> - -If the build fails too early to run perlbug uninstalled, then please -B<run> the C<./myconfig> shell script, and mail its output along with -an accurate description of your problem to perlbug@perl.org +Please report problems to the GitHub issue tracker at +https://github.com/Perl/perl5/issues, which will ask for the +appropriate summary configuration information about your perl, which +may help us track down problems far more quickly. But first you should +read the advice in this file, carefully re-read the error message and +check the relevant manual pages on your system, as these may help you +find an immediate solution. Once you've exhausted the documentation, +please report bugs to us using the GitHub tracker. + +The summary configuration information can be printed with C<perl -V>. +If the install fails, or you want to report problems with C<make test> +without installing perl, then you can run it by hand from this source +directory with C<./perl -V>. + +If the build fails too early to run perl, then please +B<run> the C<./myconfig> shell script, and include its output along +with an accurate description of your problem. If Configure itself fails, and does not generate a config.sh file -(needed to run C<./myconfig>), then please mail perlbug@perl.org the +(needed to run C<./myconfig>), then please open an issue with the description of how Configure fails along with details of your system --- for example the output from running C<uname -a> +-- for example the output from running C<uname -a>. Please try to make your message brief but clear. Brief, clear bug reports tend to get answered more quickly. Please don't worry if your @@ -2424,13 +2422,10 @@ config.sh or a complete Configure or make log) unless absolutely necessary. Do not include a complete transcript of your build session. Just include the failing commands, the relevant error messages, and whatever preceding commands are necessary to give the -appropriate context. Plain text should usually be sufficient -- fancy -attachments or encodings may actually reduce the number of people who -read your message. Your message will get relayed to over 400 -subscribers around the world so please try to keep it brief but clear. +appropriate context. If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see +inappropriate to send to a public issue tracker, then see L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to report the issue. @@ -2440,7 +2435,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html =head1 Coexistence with earlier versions of perl 5 -Perl 5.30.1 is not binary compatible with versions of Perl earlier than +Perl 5.30.2 is not binary compatible with versions of Perl earlier than 5.30.0. In other words, you will have to recompile your XS modules. @@ -2516,9 +2511,9 @@ won't interfere with another version. (The defaults guarantee this for libraries after 5.6.0, but not for executables. TODO?) One convenient way to do this is by using a separate prefix for each version, such as - sh Configure -Dprefix=/opt/perl5.30.1 + sh Configure -Dprefix=/opt/perl5.30.2 -and adding /opt/perl5.30.1/bin to the shell PATH variable. Such users +and adding /opt/perl5.30.2/bin to the shell PATH variable. Such users may also wish to add a symbolic link /usr/local/bin/perl so that scripts can still start with #!/usr/local/bin/perl. @@ -2533,11 +2528,11 @@ yet. =head2 Upgrading from 5.29.10 or earlier -B<Perl 5.30.1 may not be binary compatible with Perl 5.29.10 or +B<Perl 5.30.2 may not be binary compatible with Perl 5.29.10 or earlier Perl releases.> Perl modules having binary parts (meaning that a C compiler is used) will have to be recompiled to be -used with 5.30.1. If you find you do need to rebuild an extension with -5.30.1, you may safely do so without disturbing the older +used with 5.30.2. If you find you do need to rebuild an extension with +5.30.2, you may safely do so without disturbing the older installations. (See L<"Coexistence with earlier versions of perl 5"> above.) @@ -2570,15 +2565,15 @@ Firstly, the bare minimum to run this script print("$f\n"); } -in Linux with perl-5.30.1 is as follows (under $Config{prefix}): +in Linux with perl-5.30.2 is as follows (under $Config{prefix}): ./bin/perl - ./lib/perl5/5.30.1/strict.pm - ./lib/perl5/5.30.1/warnings.pm - ./lib/perl5/5.30.1/i686-linux/File/Glob.pm - ./lib/perl5/5.30.1/feature.pm - ./lib/perl5/5.30.1/XSLoader.pm - ./lib/perl5/5.30.1/i686-linux/auto/File/Glob/Glob.so + ./lib/perl5/5.30.2/strict.pm + ./lib/perl5/5.30.2/warnings.pm + ./lib/perl5/5.30.2/i686-linux/File/Glob.pm + ./lib/perl5/5.30.2/feature.pm + ./lib/perl5/5.30.2/XSLoader.pm + ./lib/perl5/5.30.2/i686-linux/auto/File/Glob/Glob.so Secondly, for perl-5.10.1, the Debian perl-base package contains 591 files, (of which 510 are for lib/unicore) totaling about 3.5MB in its diff --git a/gnu/usr.bin/perl/MANIFEST b/gnu/usr.bin/perl/MANIFEST index 4bd5ec6e379..edfc2324827 100644 --- a/gnu/usr.bin/perl/MANIFEST +++ b/gnu/usr.bin/perl/MANIFEST @@ -2025,7 +2025,7 @@ cpan/Term-ReadKey/genchars.pl Term::ReadKey cpan/Term-ReadKey/Makefile.PL Term::ReadKey cpan/Term-ReadKey/ppport.h Term::ReadKey cpan/Term-ReadKey/ReadKey.xs Term::ReadKey -cpan/Term-ReadKey/ReadKey.pm.PL Term::ReadKey +cpan/Term-ReadKey/ReadKey.pm.PL Term::ReadKey cpan/Term-ReadKey/README Term::ReadKey cpan/Term-ReadKey/t/01_basic.t Term::ReadKey cpan/Term-ReadKey/t/02_terminal_functions.t Term::ReadKey @@ -5572,6 +5572,7 @@ pod/perl5280delta.pod Perl changes in version 5.28.0 pod/perl5281delta.pod Perl changes in version 5.28.1 pod/perl5282delta.pod Perl changes in version 5.28.2 pod/perl5300delta.pod Perl changes in version 5.30.0 +pod/perl5301delta.pod Perl changes in version 5.30.1 pod/perl561delta.pod Perl changes in version 5.6.1 pod/perl56delta.pod Perl changes in version 5.6 pod/perl581delta.pod Perl changes in version 5.8.1 @@ -6412,6 +6413,7 @@ t/porting/test_bootstrap.t Test that the instructions for test bootstrapping are t/porting/utils.t Check that utility scripts still compile t/re/alpha_assertions.t See if things like '(*postive_lookahed:...) work properly t/re/anyof.t See if bracketed char classes [...] compile properly +t/re/bigfuzzy_not_utf8.t Big and ugly tests not storable as UTF-8 t/re/charset.t See if regex modifiers like /d, /u work properly t/re/fold_grind.pl Core file to see if regex case folding works properly t/re/fold_grind_8.t Wrapper for fold_grind.pl for /l testing with a UTF-8 locale diff --git a/gnu/usr.bin/perl/META.json b/gnu/usr.bin/perl/META.json index 837ca5a411e..e02360645ee 100644 --- a/gnu/usr.bin/perl/META.json +++ b/gnu/usr.bin/perl/META.json @@ -127,6 +127,6 @@ "url" : "https://github.com/Perl/perl5" } }, - "version" : "5.030001", + "version" : "5.030002", "x_serialization_backend" : "JSON::PP version 4.02" } diff --git a/gnu/usr.bin/perl/META.yml b/gnu/usr.bin/perl/META.yml index 38238e58764..85fb097ac23 100644 --- a/gnu/usr.bin/perl/META.yml +++ b/gnu/usr.bin/perl/META.yml @@ -114,5 +114,5 @@ resources: homepage: http://www.perl.org/ license: http://dev.perl.org/licenses/ repository: https://github.com/Perl/perl5 -version: '5.030001' +version: '5.030002' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/gnu/usr.bin/perl/Makefile.SH b/gnu/usr.bin/perl/Makefile.SH index cf4fa5dc7c9..89c05bb118a 100644 --- a/gnu/usr.bin/perl/Makefile.SH +++ b/gnu/usr.bin/perl/Makefile.SH @@ -587,7 +587,7 @@ esac $spitshell >>$Makefile <<'!NO!SUBS!' -perltoc_pod_prereqs = extra.pods pod/perl5301delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod +perltoc_pod_prereqs = extra.pods pod/perl5302delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs) generated_headers = uudmap.h bitcount.h mg_data.h @@ -1145,9 +1145,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) pod/perlmodlib.PL -q -pod/perl5301delta.pod: pod/perldelta.pod - $(RMS) pod/perl5301delta.pod - $(LNS) perldelta.pod pod/perl5301delta.pod +pod/perl5302delta.pod: pod/perldelta.pod + $(RMS) pod/perl5302delta.pod + $(LNS) perldelta.pod pod/perl5302delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` diff --git a/gnu/usr.bin/perl/NetWare/Makefile b/gnu/usr.bin/perl/NetWare/Makefile index e49a101798d..9339e497737 100644 --- a/gnu/usr.bin/perl/NetWare/Makefile +++ b/gnu/usr.bin/perl/NetWare/Makefile @@ -86,7 +86,7 @@ NLM_VERSION = 3,20,0 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW - -MODULE_DESC = "Perl 5.30.1 for NetWare" +MODULE_DESC = "Perl 5.30.2 for NetWare" CCTYPE = CodeWarrior C_COMPILER = mwccnlm -c CPP_COMPILER = mwccnlm @@ -462,7 +462,7 @@ INST_NW_TOP2 = $(INST_NW_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -INST_VER = \5.30.1 +INST_VER = \5.30.2 # # Comment this out if you DON'T want your perl installation to have diff --git a/gnu/usr.bin/perl/NetWare/config_H.wc b/gnu/usr.bin/perl/NetWare/config_H.wc index 6ecbf247e82..436509f1f6f 100644 --- a/gnu/usr.bin/perl/NetWare/config_H.wc +++ b/gnu/usr.bin/perl/NetWare/config_H.wc @@ -887,7 +887,7 @@ * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define ARCHLIB "c:\\perl\\5.30.1\\lib\\NetWare-x86-multi-thread" /**/ +#define ARCHLIB "c:\\perl\\5.30.2\\lib\\NetWare-x86-multi-thread" /**/ /*#define ARCHLIB_EXP "" /**/ /* ARCHNAME: @@ -918,8 +918,8 @@ * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ -#define BIN "c:\\perl\\5.30.1\\bin\\NetWare-x86-multi-thread" /**/ -#define BIN_EXP "c:\\perl\\5.30.1\\bin\\NetWare-x86-multi-thread" /**/ +#define BIN "c:\\perl\\5.30.2\\bin\\NetWare-x86-multi-thread" /**/ +#define BIN_EXP "c:\\perl\\5.30.2\\bin\\NetWare-x86-multi-thread" /**/ /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, @@ -2878,7 +2878,7 @@ * This symbol contains the ~name expanded version of SITEARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define SITEARCH "c:\\perl\\site\\5.30.1\\lib\\NetWare-x86-multi-thread" /**/ +#define SITEARCH "c:\\perl\\site\\5.30.2\\lib\\NetWare-x86-multi-thread" /**/ /*#define SITEARCH_EXP "" /**/ /* SITELIB: @@ -2901,7 +2901,7 @@ * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ -#define SITELIB "c:\\perl\\site\\5.30.1\\lib" /**/ +#define SITELIB "c:\\perl\\site\\5.30.2\\lib" /**/ /*#define SITELIB_EXP "" /**/ #define SITELIB_STEM "" /**/ diff --git a/gnu/usr.bin/perl/Porting/Maintainers.pl b/gnu/usr.bin/perl/Porting/Maintainers.pl index 4a0e489ef7d..648fd6d2bb1 100644 --- a/gnu/usr.bin/perl/Porting/Maintainers.pl +++ b/gnu/usr.bin/perl/Porting/Maintainers.pl @@ -207,7 +207,7 @@ use File::Glob qw(:case); }, 'Compress::Raw::Bzip2' => { - 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.084.tar.gz', + 'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.089.tar.gz', 'FILES' => q[cpan/Compress-Raw-Bzip2], 'EXCLUDED' => [ qr{^t/Test/}, diff --git a/gnu/usr.bin/perl/Porting/checkURL.pl b/gnu/usr.bin/perl/Porting/checkURL.pl index db55c495366..0a2c2d211ab 100644 --- a/gnu/usr.bin/perl/Porting/checkURL.pl +++ b/gnu/usr.bin/perl/Porting/checkURL.pl @@ -1,86 +1,471 @@ -#!/usr/bin/perl - +#!perl use strict; -use warnings 'all'; +use warnings; +use autodie; +use feature qw(say); +require File::Find::Rule; +require File::Slurp; +require File::Spec; +require IO::Socket::SSL; +use List::Util qw(sum); +require LWP::UserAgent; +require Net::FTP; +require Parallel::Fork::BossWorkerAsync; +require Term::ProgressBar::Simple; +require URI::Find::Simple; +$| = 1; + +my %ignore; +while ( my $line = <main::DATA> ) { + chomp $line; + next if $line =~ /^#/; + next unless $line; + $ignore{$line} = 1; +} + +my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 }); +$ua->timeout(58); +$ua->env_proxy; + +my @filenames = @ARGV; +@filenames = sort grep { $_ !~ /^\.git/ } File::Find::Rule->new->file->in('.') + unless @filenames; + +my $total_bytes = sum map {-s} @filenames; -use LWP::Simple qw /$ua getstore/; +my $extract_progress = Term::ProgressBar::Simple->new( + { count => $total_bytes, + name => 'Extracting URIs', + } +); + +my %uris; +foreach my $filename (@filenames) { + next if $filename =~ /uris\.txt/; + next if $filename =~ /check_uris/; + next if $filename =~ /\.patch$/; + next if $filename =~ 'cpan/Pod-Simple/t/perlfaqo?\.pod'; + next if $filename =~ /checkURL\.pl$/; + my $contents = File::Slurp::read_file($filename); + my @uris = URI::Find::Simple::list_uris($contents); + foreach my $uri (@uris) { + next unless $uri =~ /^(http|ftp)/; + next if $ignore{$uri}; + + # no need to hit rt.perl.org + next + if $uri =~ m{^https?://rt.perl.org/(?:rt3/)?Ticket/Display.html?id=\d+$}; -my %urls; + # no need to hit github + next + if $uri =~ m{^https?://(?:www\.)?github\.com/[pP]erl/perl5/issues/\d+$}; -my @dummy = qw( - http://something.here - http://www.pvhp.com - ); -my %dummy; + # no need to hit rt.cpan.org + next + if $uri =~ m{^https?://rt.cpan.org/Public/Bug/Display.html?id=\d+$}; -@dummy{@dummy} = (); + # no need to hit google groups (weird redirect LWP does not like) + next + if $uri =~ m{^http://groups\.google\.com/}; + + push @{ $uris{$uri} }, $filename; + } + $extract_progress += -s $filename; +} -foreach my $file (<*/*.pod */*/*.pod */*/*/*.pod README README.* INSTALL>) { - open my $fh => $file or die "Failed to open $file: $!\n"; - while (<$fh>) { - if (m{(?:http|ftp)://(?:(?!\w<)[-\w~?@=.])+} && !exists $dummy{$&}) { - my $url = $&; - $url =~ s/\.$//; - $urls {$url} ||= { }; - $urls {$url} {$file} = 1; +my $bw = Parallel::Fork::BossWorkerAsync->new( + work_handler => \&work_alarmed, + global_timeout => 120, + worker_count => 20, +); + +foreach my $uri ( keys %uris ) { + my @filenames = @{ $uris{$uri} }; + $bw->add_work( { uri => $uri, filenames => \@filenames } ); +} + +undef $extract_progress; + +my $fetch_progress = Term::ProgressBar::Simple->new( + { count => scalar( keys %uris ), + name => 'Fetching URIs', + } +); + +my %filenames; +while ( $bw->pending() ) { + my $response = $bw->get_result(); + my $uri = $response->{uri}; + my @filenames = @{ $response->{filenames} }; + my $is_success = $response->{is_success}; + my $message = $response->{message}; + + unless ($is_success) { + foreach my $filename (@filenames) { + push @{ $filenames{$filename} }, + { uri => $uri, message => $message }; } } - close $fh; + $fetch_progress++; } +$bw->shut_down(); -sub fisher_yates_shuffle { - my $deck = shift; # $deck is a reference to an array - my $i = @$deck; - while (--$i) { - my $j = int rand ($i+1); - @$deck[$i,$j] = @$deck[$j,$i]; +my $fh = IO::File->new('> uris.txt'); +foreach my $filename ( sort keys %filenames ) { + $fh->say("* $filename"); + my @bits = @{ $filenames{$filename} }; + foreach my $bit (@bits) { + my $uri = $bit->{uri}; + my $message = $bit->{message}; + $fh->say(" $uri"); + $fh->say(" $message"); } } +$fh->close; -my @urls = keys %urls; +say 'Finished, see uris.txt'; -fisher_yates_shuffle(\@urls); +sub work_alarmed { + my $conf = shift; + eval { + local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required + alarm 60; + $conf = work($conf); + alarm 0; + }; + if ($@) { + $conf->{is_success} = 0; + $conf->{message} = 'Timed out'; -sub todo { - warn "(", scalar @urls, " URLs)\n"; + } + return $conf; } -my $MAXPROC = 40; -my $MAXURL = 10; -my $MAXFORK = $MAXPROC < $MAXURL ? 1 : $MAXPROC / $MAXURL; +sub work { + my $conf = shift; + my $uri = $conf->{uri}; + my @filenames = @{ $conf->{filenames} }; -select(STDERR); $| = 1; -select(STDOUT); $| = 1; + if ( $uri =~ /^http/ ) { + my $uri_without_fragment = URI->new($uri); + my $fragment = $uri_without_fragment->fragment(undef); + my $response = $ua->head($uri_without_fragment); -while (@urls) { - my @list; - my $pid; - my $i; + $conf->{is_success} = $response->is_success; + $conf->{message} = $response->status_line; + return $conf; + } else { - todo(); + my $uri_object = URI->new($uri); + my $host = $uri_object->host; + my $path = $uri_object->path; + my ( $volume, $directories, $filename ) + = File::Spec->splitpath($path); - for ($i = 0; $i < $MAXFORK; $i++) { - $list[$i] = [ splice @urls, 0, $MAXURL ]; - $pid = fork; - die "Failed to fork: $!\n" unless defined $pid; - last unless $pid; # Child. - } + my $ftp = Net::FTP->new( $host, Passive => 1, Timeout => 60 ); + unless ($ftp) { + $conf->{is_succcess} = 0; + $conf->{message} = "Can not connect to $host: $@"; + return $conf; + } - if ($pid) { - # Parent. - warn "(waiting)\n"; - 1 until -1 == wait; # Reap. - } else { - # Child. - foreach my $url (@{$list[$i]}) { - my $code = getstore $url, "/dev/null"; - next if $code == 200; - my $f = join ", " => keys %{$urls {$url}}; - printf "%03d %s: %s\n" => $code, $url, $f; + my $can_login = $ftp->login( "anonymous", '-anonymous@' ); + unless ($can_login) { + $conf->{is_success} = 0; + $conf->{message} = "Can not login ", $ftp->message; + return $conf; + } + + my $can_binary = $ftp->binary(); + unless ($can_binary) { + $conf->{is_success} = 0; + $conf->{message} = "Can not binary ", $ftp->message; + return $conf; } - exit; + my $can_cwd = $ftp->cwd($directories); + unless ($can_cwd) { + $conf->{is_success} = 0; + $conf->{message} = "Can not cwd to $directories ", $ftp->message; + return $conf; + } + + if ($filename) { + my $can_size = $ftp->size($filename); + unless ($can_size) { + $conf->{is_success} = 0; + $conf->{message} + = "Can not size $filename in $directories", + $ftp->message; + return $conf; + } + } else { + my ($can_dir) = $ftp->dir; + unless ($can_dir) { + my ($can_ls) = $ftp->ls; + unless ($can_ls) { + $conf->{is_success} = 0; + $conf->{message} + = "Can not dir or ls in $directories ", + $ftp->message; + return $conf; + } + } + } + + $conf->{is_success} = 1; + return $conf; } } +__DATA__ +# these are fine but give errors +ftp://ftp.stratus.com/pub/vos/posix/ga/ga.html +ftp://ftp.stratus.com/pub/vos/utility/utility.html + +# these are missing, sigh +ftp://ftp.sco.com/SLS/ptf7051e.Z +http://perlmonks.thepen.com/42898.html +http://svn.mutatus.co.uk/wsvn/Scalar-List-Utils/trunk/ +http://public.activestate.com/cgi-bin/perlbrowse +http://svn.mutatus.co.uk/browse/libnet/tags/libnet-1.17/ChangeLog +http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631 +http://my.smithmicro.com/mac/stuffit/ +http://www.wg.omron.co.jp/cgi-bin/j-e/jfriedl.html +http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html + +# these are URI extraction bugs +http://www.perl.org/E +http://en.wikipedia.org/wiki/SREC_(file_format +http://somewhere.else',-type=/ +ftp:passive-mode +ftp: +http:[- +http://search.cpan.org/src/KWILLIAMS/Module-Build-0.30/lib/Module/Build/Platform/Windows.pm:split_like_shell +http://www.xray.mpe.mpg.de/mailing-lists/perl5- +http://support.microsoft.com/support/kb/articles/Q280/3/41.ASP: +http://perl.come/ +http://www.perl.come/ + +# these are used as an example +http://example.com/ +http://something.here/ +http://users.perl5.git.perl.org/~yourlogin/ +http://github.com/USERNAME/perl/tree/orange +http://the.good.ship.lollypop.com:8080/cgi-bin/foo.cgi +http://the.good.ship.lollypop.com:8080/cgi-bin/foo.cgi/somewhere/else?game=chess;game=checkers;weather=dull;foo=bar +http://somewhere.else$/ +http://somewhere.else$/ +http://somewhere.else/bin/foo&bar',-Type= +http://the.good.ship.lollypop.com:8080/cgi-bin/foo.cgi +http://the.good.ship.lollypop.com:8080/cgi-bin/foo.cgi/somewhere/else?game=chess;game=checkers;weather=dull;foo=bar +http://www.perl.org/test.cgi +http://cpan2.local/ +http://search.cpan.org/perldoc? +http://cpan1.local/ +http://cpan.dev.local/CPAN +http:/// +ftp:// +ftp://myurl/ +ftp://ftp.software.ibm.com/aix/fixes/v4/other/vac.C.5.0.2.6.bff +http://www14.software.ibm.com/webapp/download/downloadaz.jsp +http://www.cpan.org/modules/by-module/Archive/Archive-Zip-*.tar.gz +http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-*.TXT +http://localhost/tmp/index.txt +http://example.com/foo/bar.html +http://example.com/Text-Bastardize-1.06.tar.gz +ftp://example.com/sources/packages.txt +http://example.com/sources/packages.txt +http://example.com/sources +ftp://example.com/sources +http://some.where.com/dir/file.txt +http://some.where.com/dir/a.txt +http://foo.com/X.tgz +ftp://foo.com/X.tgz +http://foo/ +http://www.foo.com:8000/ +http://mysite.com/cgi-bin/log.cgi/http://www.some.other.site/args +http://decoded/mirror/path +http://a/b/c/d/e/f/g/h/i/j +http://foo/bar.gz +ftp://ftp.perl.org +http://purl.org/rss/1.0/modules/taxonomy/ +ftp://ftp.sun.ac.za/CPAN/CPAN/ +ftp://ftp.cpan.org/pub/mirror/index.txt +ftp://cpan.org/pub/mirror/index.txt +http://example.com/~eh/ +http://plagger.org/.../rss +http://umn.dl.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz +http://umn.dl.sourceforge.net/mingw/binutils-2.16.91-20060119-1.tar.gz +http://umn.dl.sourceforge.net/mingw/mingw-runtime-3.10.tar.gz +http://umn.dl.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz +http://umn.dl.sourceforge.net/mingw/w32api-3.6.tar.gz +http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/dmake-4.5-20060619-SHAY.zip +http://module-build.sourceforge.net/META-spec-new.html +http://module-build.sourceforge.net/META-spec-v1.4.html +http://www.cs.vu.nl/~tmgil/vi.html +http://perlcomposer.sourceforge.net/vperl.html +http://www.perl.com/CPAN/authors/Tom_Christiansen/scripts/rep +http://w4.lns.cornell.edu/~pvhp/ptk/ptkTOC.html +http://world.std.com/~aep/ptkdb/ +http://www.castlelink.co.uk/object_system/ +http://www.fh-wedel.de/elvis/ +ftp://ftp.blarg.net/users/amol/zsh/ +ftp://ftp.funet.fi/pub/languages/perl/CPAN +http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/dmake-4.5-20060619-SHAY.zip +http://users.perl5.git.perl.org/~USERNAME +http://foo/x//y/script.cgi/a//b +http://xxx/script.cgi/http://foo +http://foo/./x//z/script.cgi/a/../b//c +http://somewhere.else/in/movie/land +http://somewhere.else/finished.html +http://somewhere.else/bin/foo&bar$ +http://somewhere.else/ +http://proxy:8484/ +http://proxy/ +http://myrepo.example.com/ +http://remote/source +https://example.com/ +http://example.com:1024/ +http:///path?foo=bar +http://[::]:1024/ +http://([/ +http://example.com:9000/index.html +http://proxy.example.com:8080/ +http:///index.html +http://[www.json::pp.org]/ +http://localhost/ +http://foo.example.com/ +http://abc.com/a.js +http://whatever/man/1/crontab +http://abc.com/c.js +http://whatever/Foo%3A%3ABar +http://abc.com/b.js +http://remote.server.com/jquery.css +http://some.other.com/page.html +https://text.com/1/2 +https://text.com/1/2 +http://link.included.here?o=1&p=2 +http://link.included.here?o=1&p=2 +http://link.included.here?o=1&p=2 +http://link.included.here/ +http://foo/x//y/script.cgi/a//b +http://xxx/script.cgi/http://foo +http://foo/./x//z/script.cgi/a/../b//c +http://somewhere.else/in/movie/land +http://somewhere.else/finished.html +http://webproxy:3128/ +http://www/ + +# these are used to generate or match URLs +http://www.cpan.org/modules/by-authors/id/$1/$1$2/$dist +http://www.cpantesters.org/show/%s.yaml +ftp://(.*?)/(.*)/(.* +ftp://(.*?)/(.*)/(.* +ftp://(.*?)/(.*)/(.* +ftp://ftp.foo.bar/ +http://$host/ +http://wwwe%3C46/ +ftp:/ +http://$addr/mark?commit=$ +http://search.cpan.org/~ +http:/ +ftp:%5Cn$url +http://www.ietf.org/rfc/rfc$2.txt +http://search.cpan.org/~ +ftp:%5Cn$url + +# weird redirects that LWP doesn't like +http://www.theperlreview.com/community_calendar +http://www.software.hp.com/portal/swdepot/displayProductInfo.do?productNumber=PERL +http://sunsolve.sun.com + +# broken webserver that doesn't like HEAD requests +http://docs.sun.com/app/docs/doc/816-5168/syslog-3c?a=view +http://www.w3.org/TR/html4/loose.dtd + +# these have been reported upstream to CPAN authors +http://www.gnu.org/manual/tar/html_node/tar_139.html +http://www.w3.org/pub/WWW/TR/Wd-css-1.html +http://support.microsoft.com/support/kb/articles/Q280/3/41.ASP +http://msdn.microsoft.com/workshop/author/dhtml/httponly_cookies.asp +http://search.cpan.org/search?query=Module::Build::Convert +http://www.refcnt.org/papers/module-build-convert +http://csrc.nist.gov/cryptval/shs.html +http://msdn.microsoft.com/workshop/author/dhtml/reference/charsets/charset4.asp +http://www.debian.or.jp/~kubota/unicode-symbols.html.en +http://www.mail-archive.com/perl5-porters@perl.org/msg69766.html +http://www.debian.or.jp/~kubota/unicode-symbols.html.en +http://rfc.net/rfc2781.html +http://www.icu-project.org/charset/ +http://ppewww.ph.gla.ac.uk/~flavell/charset/form-i18n.html +http://www.rfc-editor.org/ +http://www.rfc.net/ +http://www.oreilly.com/people/authors/lunde/cjk_inf.html +http://www.oreilly.com/catalog/cjkvinfo/ +http://www.cpan.org/modules/by-author/Damian_Conway/Filter-Simple.tar.gz +http://www.csse.monash.edu.au/~damian/CPAN/Filter-Simple.tar.gz +http://www.egt.ie/standards/iso3166/iso3166-1-en.html +http://www.bsi-global.com/iso4217currency +http://www.plover.com/~mjd/perl/Memoize/ +http://www.plover.com/~mjd/perl/MiniMemoize/ +http://www.sysadminmag.com/tpj/issues/vol5_5/ +ftp://ftp.tpc.int/tpc/server/UNIX/ +http://www.nara.gov/genealogy/ +http://home.utah-inter.net/kinsearch/Soundex.html +http://www.nara.gov/genealogy/soundex/soundex.html +http://rfc.net/rfc3461.html +ftp://ftp.cs.pdx.edu/pub/elvis/ +http://www.fh-wedel.de/elvis/ +http://lists.perl.org/list/perl-mvs.html +http://www.cpan.org/ports/os2/ +http://github.com/dagolden/cpan-meta-spec +http://github.com/dagolden/cpan-meta-spec/issues +http://www.opensource.org/licenses/lgpl-license.phpt +http://reality.sgi.com/ariel +http://www.chiark.greenend.org.uk/pipermail/ukcrypto/1999-February/003538.html +http://www.chiark.greenend.org.uk/pipermail/ukcrypto/1999-February/003538.html +http://www.nsrl.nist.gov/testdata/ +http://public.activestate.com/cgi-bin/perlbrowse/p/31194 +http://public.activestate.com/cgi-bin/perlbrowse?patch=16173 +http://public.activestate.com/cgi-bin/perlbrowse?patch=16049 +http://www.li18nux.org/docs/html/CodesetAliasTable-V10.html +http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/3486118 +http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.ut +http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.uf +http://github.com/schwern/extutils-makemaker +https://github.com/dagolden/cpanpm/compare/master...private%2Fuse-http-lite +http://www.json.org/JSON::PP_checker/ +ftp://ftp.kiae.su/pub/unix/fido/ +http://www.gallistel.net/nparker/weather/code/ +http://www.javaworld.com/javaworld/jw-09-2001/jw-0928-ntmessages.html +ftp://ftp-usa.tpc.int/pub/tpc/server/UNIX/ +http://www.cis.ohio-state.edu/htbin/rfc/rfc959.html +http://public.activestate.com/cgi-bin/perlbrowse/p/33567 +http://public.activestate.com/cgi-bin/perlbrowse/p/33566 +http://www.dsmit.com/cons/ +http://www.makemaker.org/wiki/index.cgi?ModuleBuildConversionGuide + __END__ + +=head1 NAME + +checkURL.pl - Check that all the URLs in the Perl source are valid + +=head1 DESCRIPTION + +This program checks that all the URLs in the Perl source are valid. It +checks HTTP and FTP links in parallel and contains a list of known +bad example links in its source. It takes 4 minutes to run on my +machine. The results are written to 'uris.txt' and list the filename, +the URL and the error: + + * ext/Locale-Maketext/lib/Locale/Maketext.pod + http://sunsite.dk/RFC/rfc/rfc2277.html + 404 Not Found + ... + +It should be run every so often and links fixed and upstream authors +notified. + +Note that the web is unstable and some websites are temporarily down. diff --git a/gnu/usr.bin/perl/Porting/config.sh b/gnu/usr.bin/perl/Porting/config.sh index f2636272afc..a0605947e90 100644 --- a/gnu/usr.bin/perl/Porting/config.sh +++ b/gnu/usr.bin/perl/Porting/config.sh @@ -48,8 +48,8 @@ api_subversion='0' api_version='30' api_versionstring='5.30.0' ar='ar' -archlib='/opt/perl/lib/5.30.1/x86_64-linux' -archlibexp='/opt/perl/lib/5.30.1/x86_64-linux' +archlib='/opt/perl/lib/5.30.2/x86_64-linux' +archlibexp='/opt/perl/lib/5.30.2/x86_64-linux' archname64='' archname='x86_64-linux' archobjs='' @@ -845,7 +845,7 @@ incpath='' incpth='/usr/lib/gcc/x86_64-linux-gnu/4.9/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/include' inews='' initialinstalllocation='/opt/perl/bin' -installarchlib='/opt/perl/lib/5.30.1/x86_64-linux' +installarchlib='/opt/perl/lib/5.30.2/x86_64-linux' installbin='/opt/perl/bin' installhtml1dir='' installhtml3dir='' @@ -853,13 +853,13 @@ installman1dir='/opt/perl/man/man1' installman3dir='/opt/perl/man/man3' installprefix='/opt/perl' installprefixexp='/opt/perl' -installprivlib='/opt/perl/lib/5.30.1' +installprivlib='/opt/perl/lib/5.30.2' installscript='/opt/perl/bin' -installsitearch='/opt/perl/lib/site_perl/5.30.1/x86_64-linux' +installsitearch='/opt/perl/lib/site_perl/5.30.2/x86_64-linux' installsitebin='/opt/perl/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='/opt/perl/lib/site_perl/5.30.1' +installsitelib='/opt/perl/lib/site_perl/5.30.2' installsiteman1dir='/opt/perl/man/man1' installsiteman3dir='/opt/perl/man/man3' installsitescript='/opt/perl/bin' @@ -984,7 +984,7 @@ perl_patchlevel='' perl_static_inline='static __inline__' perladmin='yourname@yourhost.yourplace.com' perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc' -perlpath='/opt/perl/bin/perl5.30.1' +perlpath='/opt/perl/bin/perl5.30.2' pg='pg' phostname='' pidtype='pid_t' @@ -993,8 +993,8 @@ pmake='' pr='' prefix='/opt/perl' prefixexp='/opt/perl' -privlib='/opt/perl/lib/5.30.1' -privlibexp='/opt/perl/lib/5.30.1' +privlib='/opt/perl/lib/5.30.2' +privlibexp='/opt/perl/lib/5.30.2' procselfexe='"/proc/self/exe"' ptrsize='8' quadkind='2' @@ -1059,17 +1059,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0' sig_size='69' signal_t='void' -sitearch='/opt/perl/lib/site_perl/5.30.1/x86_64-linux' -sitearchexp='/opt/perl/lib/site_perl/5.30.1/x86_64-linux' +sitearch='/opt/perl/lib/site_perl/5.30.2/x86_64-linux' +sitearchexp='/opt/perl/lib/site_perl/5.30.2/x86_64-linux' sitebin='/opt/perl/bin' sitebinexp='/opt/perl/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/opt/perl/lib/site_perl/5.30.1' +sitelib='/opt/perl/lib/site_perl/5.30.2' sitelib_stem='/opt/perl/lib/site_perl' -sitelibexp='/opt/perl/lib/site_perl/5.30.1' +sitelibexp='/opt/perl/lib/site_perl/5.30.2' siteman1dir='/opt/perl/man/man1' siteman1direxp='/opt/perl/man/man1' siteman3dir='/opt/perl/man/man3' @@ -1095,7 +1095,7 @@ src='.' ssizetype='ssize_t' st_ino_sign='1' st_ino_size='8' -startperl='#!/opt/perl/bin/perl5.30.1' +startperl='#!/opt/perl/bin/perl5.30.2' startsh='#!/bin/sh' static_ext=' ' stdchar='char' @@ -1107,7 +1107,7 @@ stdio_ptr='((fp)->_IO_read_ptr)' stdio_stream_array='' strerror_r_proto='0' submit='' -subversion='1' +subversion='2' sysman='/usr/share/man/man1' sysroot='' tail='' @@ -1205,8 +1205,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.30.1' -version_patchlevel_string='version 30 subversion 1' +version='5.30.2' +version_patchlevel_string='version 30 subversion 2' versiononly='define' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1216,7 +1216,7 @@ zcat='' zip='zip' PERL_REVISION=5 PERL_VERSION=30 -PERL_SUBVERSION=1 +PERL_SUBVERSION=2 PERL_API_REVISION=5 PERL_API_VERSION=30 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/Porting/config_H b/gnu/usr.bin/perl/Porting/config_H index 7981ced4436..c452e4d8c5a 100644 --- a/gnu/usr.bin/perl/Porting/config_H +++ b/gnu/usr.bin/perl/Porting/config_H @@ -1239,8 +1239,8 @@ * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define ARCHLIB "/opt/perl/lib/5.30.1/x86_64-linux" /**/ -#define ARCHLIB_EXP "/opt/perl/lib/5.30.1/x86_64-linux" /**/ +#define ARCHLIB "/opt/perl/lib/5.30.2/x86_64-linux" /**/ +#define ARCHLIB_EXP "/opt/perl/lib/5.30.2/x86_64-linux" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1293,8 +1293,8 @@ * This symbol contains the ~name expanded version of PRIVLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define PRIVLIB "/opt/perl/lib/5.30.1" /**/ -#define PRIVLIB_EXP "/opt/perl/lib/5.30.1" /**/ +#define PRIVLIB "/opt/perl/lib/5.30.2" /**/ +#define PRIVLIB_EXP "/opt/perl/lib/5.30.2" /**/ /* SITEARCH: * This symbol contains the name of the private library for this package. @@ -1311,8 +1311,8 @@ * This symbol contains the ~name expanded version of SITEARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define SITEARCH "/opt/perl/lib/site_perl/5.30.1/x86_64-linux" /**/ -#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.30.1/x86_64-linux" /**/ +#define SITEARCH "/opt/perl/lib/site_perl/5.30.2/x86_64-linux" /**/ +#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.30.2/x86_64-linux" /**/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -1334,8 +1334,8 @@ * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ -#define SITELIB "/opt/perl/lib/site_perl/5.30.1" /**/ -#define SITELIB_EXP "/opt/perl/lib/site_perl/5.30.1" /**/ +#define SITELIB "/opt/perl/lib/site_perl/5.30.2" /**/ +#define SITELIB_EXP "/opt/perl/lib/site_perl/5.30.2" /**/ #define SITELIB_STEM "/opt/perl/lib/site_perl" /**/ /* PERL_VENDORARCH: @@ -4109,7 +4109,7 @@ * script to make sure (one hopes) that it runs with perl and not * some shell. */ -#define STARTPERL "#!/opt/perl/bin/perl5.30.1" /**/ +#define STARTPERL "#!/opt/perl/bin/perl5.30.2" /**/ /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array diff --git a/gnu/usr.bin/perl/Porting/epigraphs.pod b/gnu/usr.bin/perl/Porting/epigraphs.pod index 322902d9fbf..3ab3eef9614 100644 --- a/gnu/usr.bin/perl/Porting/epigraphs.pod +++ b/gnu/usr.bin/perl/Porting/epigraphs.pod @@ -17,6 +17,75 @@ Consult your favorite dictionary for details. =head1 EPIGRAPHS +=head2 v5.31.9 - Sten Nadolny, book The Discovery of Slowness + +L<Announced on 2020-01-20 by Renee Bäcker|https://www.nntp.perl.org/group/perl.perl5.porters/2020/02/msg257144.html> + + „When people talk too fast the content becomes as superfluous as the speed.“ + +=head2 v5.31.8 - Joe Perham, "Joe Perham's Guide to Hunting and Guide to Fishing in Maine" + +L<Announced on 2020-01-20 by Matthew Horsfall|https://www.nntp.perl.org/group/perl.perl5.porters/2020/01/msg256894.html> + + Harry used to cut wood for the Brown company over in Stoneham Red + Rock Basin. And of course he was the best shot in camp. One day the + foreman told him to go get some meat. + + "Take any gun you want." + + Harry says "I'll take the .45-70." + + Foreman said "That gun's only got one bullet." + + Harry says "I only need one bullet." + + Took the .45-70, went out, an hour later he was back with two Moose, + a dozen trout you see, and a fluffy partridge. Went back to work. + + Well at supper that night foreman says "Harry, um, something's + bothering me here a little bit. How did you get all that food with + only one bullet. I'm a little confused about the... the partridge, + there ain't a mark on him." + + "Well", Harry says, "I'll tell ya. I took that .45-70, went back into + the woods a piece there I come to this brook. And I just uh, got to + the other side when I happen to see two moose in the swamp off + there. I figured I could get both of 'em. So I took out my huntin' + knife and stuck it into the mud, hilt foremost, sharp edge on the + blade towards me of course. I took dead aim on that knife, fired, + split that bullet and killed those two moose. Well you know the + recoil knocked me back into the brook. When I come up out of the + water, my pants were so full of fish that it popped a button off my + fly and killed that bird." + +=head2 v5.31.7 - Bernard Werber + +L<Announced on 2019-12-20 by Atoomic|https://www.nntp.perl.org/group/perl.perl5.porters/2019/12/msg256802.html> + + Be quiet. Look at the stars and appreciate what you live. + +=head2 v5.31.6 - Neal Stephenson, "Quicksilver" + +L<Announced on 2019-11-20 by Chris 'BinGOs' Williams|https://www.nntp.perl.org/group/perl.perl5.porters/2019/11/msg256646.html> + + Invocation + + State your intentions, Muse. I know you're there. + Dead bards who pined for you have said + You're bright as flame, but fickle as the air. + My pen and I, submerged in liquid shade, + Much dark can spread, on days and over reams + But without you, no radiance can shed. + Why rustle in the dark, when fledged with fire? + Craze the night with flails of light. Reave + Your turbid shroud. Bestow what I require. + + But you're not in the dark. I do believe + I swim, like squid, in clouds of my own make, + To you, offensive. To us both, opaque. + What's constituted so, only a pen + Can penetrate. I have one here; let's go. + =head2 v5.31.5 - Edward Lear, ed. Vivien Noakes, "The Complete Nonsense and Other Verse": The Daddy Long-legs and the Fly L<Announced on 2019-10-20 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2019/10/msg256478.html> @@ -150,6 +219,67 @@ L<Announced on 2019-05-24 by Sawyer X|https://www.nntp.perl.org/group/perl.perl5 The secrets inside her mind are like flowers in a garden at nighttime, filling the darkness with perfume. +=head2 v5.30.2-RC1 - Francesco Maria Piave, trans. Deutsche Grammophon GmbH, "La traviata", Act II, Scene 2 + +L<Announced on 2020-02-29 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2020/02/msg257163.html> + + ALFREDO + For me this woman lost + all she possessed. + I was blind, a wretched coward, + I accepted it all. + But it's time now for me to clear + myself from debt. + I call you all to witness here + that I've paid her back! + + (Contemptuously, he throws his winnings at Violetta's feet. + She swoons in Flora's arms. Alfredo's father arrives suddenly.) + + ALL + What you have done + is shameful! + To strike down + a tender heart that way! + You have insulted + a woman! + Get out of here! + We've no use for the likes of you! + Go! + + GERMONT + (dignified in his anger) + A man who offends a woman, even in anger, + deserves nothing but scorn. + Where is my son? I no longer see him + in you, Alfredo. + + ALFREDO + (What have I done? Yes, I despise myself! + Jealous madness, love deceived, + ravaged my soul, destroyed my reason. + How can I ever gain her pardon? + I would have left her, but I couldn't; + I came here to vent my anger, + But now I've done that, wretch that I am, + I feel nothing but deep remorse!) + +=head2 v5.30.1 - Francesco Maria Piave, trans. Deutsche Grammophon GmbH, "La traviata", Act I: Brindisi + +L<Announced on 2019-11-10 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2019/11/msg256610.html> + + VIOLETTA: + With you I would share + my days of happiness; + everything is folly in this world + that does not give us pleasure. + Let us enjoy life, + for the pleasures of love are swift and fleeting + as a flower that lives and dies + and can be enjoyed no more. + Let's take our pleasure while its ardent, + brilliant summons lures us on! + =head2 v5.30.1-RC1 - Francesco Maria Piave, trans. Deutsche Grammophon GmbH, "La traviata", Act I: Brindisi L<Announced on 2019-10-27 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2019/10/msg256542.html> diff --git a/gnu/usr.bin/perl/Porting/how_to_write_a_perldelta.pod b/gnu/usr.bin/perl/Porting/how_to_write_a_perldelta.pod index 73c17c9ed25..1934b7484f3 100644 --- a/gnu/usr.bin/perl/Porting/how_to_write_a_perldelta.pod +++ b/gnu/usr.bin/perl/Porting/how_to_write_a_perldelta.pod @@ -165,7 +165,7 @@ for the particular file in core.) =item Utility Changes -Changes to installed programs such as F<perlbug> and F<xsubpp> go here. Most +Changes to installed programs such as F<perldoc> and F<xsubpp> go here. Most of these are built within the directory F<utils>. =item New Documentation diff --git a/gnu/usr.bin/perl/Porting/perldelta_template.pod b/gnu/usr.bin/perl/Porting/perldelta_template.pod index 4f302f4beac..59d9b380f08 100644 --- a/gnu/usr.bin/perl/Porting/perldelta_template.pod +++ b/gnu/usr.bin/perl/Porting/perldelta_template.pod @@ -157,8 +157,8 @@ XXX Description of the purpose of the new file here =head2 Changes to Existing Documentation We have attempted to update the documentation to reflect the changes -listed in this document. If you find any we have missed, send email -to L<perlbug@perl.org|mailto:perlbug@perl.org>. +listed in this document. If you find any we have missed, open an issue +at L<https://github.com/Perl/perl5/issues>. XXX Changes which significantly change existing files in F<pod/> go here. However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> @@ -224,7 +224,7 @@ XXX Describe change here =head1 Utility Changes -XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. +XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here. Most of these are built within the directory F<utils>. [ List utility changes as a =head2 entry for each utility and =item @@ -403,21 +403,20 @@ died, add a short obituary here. XXX Generate this with: - perl Porting/acknowledgements.pl v5.30.1..HEAD + perl Porting/acknowledgements.pl v5.30.2..HEAD =head1 Reporting Bugs If you find what you think is a bug, you might check the perl bug database -at L<https://rt.perl.org/>. There may also be information at +at L<https://github.com/Perl/perl5/issues>. 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 you believe you have an unreported bug, please open an issue at +L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a +tiny but sufficient test case. If the bug you are reporting has security implications which make it -inappropriate to send to a publicly archived mailing list, then see +inappropriate to send to a public issue tracker, then see L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to report the issue. diff --git a/gnu/usr.bin/perl/Porting/pod_lib.pl b/gnu/usr.bin/perl/Porting/pod_lib.pl index 25cf691bf29..f2d854408eb 100644 --- a/gnu/usr.bin/perl/Porting/pod_lib.pl +++ b/gnu/usr.bin/perl/Porting/pod_lib.pl @@ -547,7 +547,7 @@ Hash reference; each element provides either a list or a lookup table for information about various types of POD files. 'aux' => [ # utility programs like - 'h2xs' and 'perlbug' ] + 'h2xs' and 'perldoc' ] 'generated' => { # lookup table for generated POD files like 'perlapi.pod' } 'ignore' => { # lookup table for files to be ignored } diff --git a/gnu/usr.bin/perl/Porting/release_managers_guide.pod b/gnu/usr.bin/perl/Porting/release_managers_guide.pod index 3b39afd448c..2e725d17d50 100644 --- a/gnu/usr.bin/perl/Porting/release_managers_guide.pod +++ b/gnu/usr.bin/perl/Porting/release_managers_guide.pod @@ -141,11 +141,11 @@ Andreas' email address at: https://pause.perl.org/pause/query?ACTION=pause_04imprint -=head3 rt.perl.org update access +=head3 GitHub issue management access -Make sure you have permission to close tickets on L<https://rt.perl.org/> +Make sure you have permission to close tickets on L<https://github.com/Perl/perl5/issues> so you can respond to bug reports as necessary during your stint. If you -don't, make an account (if you don't have one) and contact the pumpking +don't, make a GitHub account (if you don't have one) and contact the pumpking with your username to get ticket-closing permission. =head3 git checkout and commit bit @@ -388,6 +388,14 @@ colon-delimited versions to use for comparison. For example: L<http://analysis.cpantesters.org/beforemaintrelease?pair=5.20.2:5.22.0%20RC1> +=head3 Monitor Continuous Integration smokers + +Currently both "Travis CI" and "GitHub Actions" smokers are setup. +Their current status is available at: + +L<https://github.com/Perl/perl5/actions> +L<https://travis-ci.org/Perl/perl5> + =head3 update perldelta Get perldelta in a mostly finished state. @@ -750,9 +758,9 @@ formatting, e.g. $ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > \ ~/perldelta.html -You can add pod links for RT references thusly: +You should add pod links for GitHub issue references thusly: - $ perl -p -i -e'BEGIN{undef $/}; s{(\[perl\s+#)(\d+)\]}{L<$1$2\]|https://rt.perl.org/Ticket/Display.html?id=$2>}mg' pod/perldelta.pod + $ perl -p -i -e'BEGIN{undef $/}; s{(GH\s+#)(\d+)}{L<$1$2|https://github.com/Perl/perl5/issues/$2>}mg' pod/perldelta.pod If you make changes, be sure to commit them. @@ -1031,9 +1039,9 @@ which is why you should test from the tarball. =head4 Run the Installation Verification Procedure utility - $ ./perl -Ilib ./perlivp + $ ./perl -Ilib ./utils/perlivp # Or, perhaps: - $ ./perl5.x.y ./perlivp5.x.y + $ ./perl5.x.y ./utils/perlivp5.x.y ... All tests successful. $ @@ -1101,9 +1109,7 @@ Test L<perlbug> with the following: Action (Send/Display/Edit/Subject/Save to File): Q and carefully examine the output (in F<perlbug.rep]>), especially -the "Locally applied patches" section. If everything appears okay, then -delete the file, and try it again, this time actually submitting the bug -report. Check that it shows up, then remember to close it! +the "Locally applied patches" section. =for checklist skip BLEAD-POINT @@ -1563,8 +1569,8 @@ If they haven't, ask Ask <ask@perl.org>. =item * -Check L<https://search.cpan.org> to see if it has indexed the distribution. -It should be visible at a URL like C<https://search.cpan.org/dist/perl-5.10.1/>. +Check L<https://metacpan.org> to see if it has indexed the distribution. +It should be visible at a URL like C<https://metacpan.org/release/DAPM/perl-5.10.1>. =back diff --git a/gnu/usr.bin/perl/Porting/release_schedule.pod b/gnu/usr.bin/perl/Porting/release_schedule.pod index d131b415e71..4ad298625a6 100644 --- a/gnu/usr.bin/perl/Porting/release_schedule.pod +++ b/gnu/usr.bin/perl/Porting/release_schedule.pod @@ -15,8 +15,8 @@ deemed necessary by the Pumpking. Code freezes (which happen in the 5.31.X series) - 2020-01-20 5.31.8 Contentious changes freeze - 2020-02-20 5.31.9 User-visible changes to correctly + 2020-01-20 5.31.8 ✓ Contentious changes freeze + 2020-02-20 5.31.9 ✓ User-visible changes to correctly functioning programs freeze 2020-03-20 5.31.10 Full code freeze 2020-04-20 5.32.0 Stable release! @@ -24,7 +24,7 @@ Code freezes (which happen in the 5.31.X series) =head2 Perl 5.30 2019-05-22 5.30.0 ✓ Sawyer X - 2019-11-10 5.30.1 Steve Hay + 2019-11-10 5.30.1 ✓ Steve Hay 2020-03-?? 5.30.2 Steve Hay =head2 Perl 5.28 @@ -62,11 +62,11 @@ you should reset the version numbers to the next blead series. 2019-08-20 5.31.3 ✓ Tom Hukins 2019-09-20 5.31.4 ✓ Max Maischein 2019-10-20 5.31.5 ✓ Steve Hay - 2019-11-20 5.31.6 BinGOs - 2019-12-18 5.31.7 - 2020-01-20 5.31.8 - 2020-02-20 5.31.9 Renee Backer - 2020-03-20 5.31.10 + 2019-11-20 5.31.6 ✓ BinGOs + 2019-12-20 5.31.7 ✓ Atoomic + 2020-01-20 5.31.8 ✓ Matthew Horsfall + 2020-02-20 5.31.9 ✓ Renee Bäcker + 2020-03-20 5.31.10 Sawyer X (RC0 for 5.32.0 will be released once we think that all the blockers have been addressed. This typically means some time in April or May.) diff --git a/gnu/usr.bin/perl/Porting/todo.pod b/gnu/usr.bin/perl/Porting/todo.pod index 64e938a9e69..30f47ba5c14 100644 --- a/gnu/usr.bin/perl/Porting/todo.pod +++ b/gnu/usr.bin/perl/Porting/todo.pod @@ -25,17 +25,18 @@ programming languages offer you 1 line of immortality? =head1 Tasks that only need Perl knowledge -=head2 Classify bug tickets by type +=head2 Label bug tickets by type -Known bugs in Perl are tracked by L<https://rt.perl.org/> (which also -includes Perl 6). A summary can be found at -L<https://rt.perl.org/NoAuth/perl5/Overview.html>. -It shows bugs classified by "type". However, the type of many of the -bugs is "unknown". This greatly lowers the chances of them getting +Known bugs in Perl are tracked by L<https://github.com/Perl/perl5/issues>. +It shows bugs and can be filtered by assigned labels. However, many are +L<unlabeled|https://github.com/Perl/perl5/issues?q=is%3Aopen+is%3Aissue+no%3Alabel> +or have the label L<"Needs Triage"|https://github.com/Perl/perl5/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+Triage%22>. +This greatly lowers the chances of them getting fixed, as the number of open bugs is overwhelming -- too many to wade through for someone to try to find the bugs in the parts of Perl that s/he knows well enough to try to fix. This task involves -going through these bugs and classifying them into one or more types. +going through these bugs and assigning one or more labels, and removing the +"Needs Triage" label if present. =head2 Ongoing: investigate new bug reports @@ -44,8 +45,8 @@ a quick investigation to see if it is a real problem, and to reply to the poster about it, asking for example code that reproduces the problem. Such code should be added to the test suite as TODO tests, and the ticket should be classified by type. To get started on this task, -look at the tickets that are marked as "New Issues" in -L<https://rt.perl.org/NoAuth/perl5/Overview.html>. +look at the issues with no comments at +L<https://github.com/Perl/perl5/issues?q=is%3Aopen+is%3Aissue+comments%3A0>. =head2 Migrate t/ from custom TAP generation diff --git a/gnu/usr.bin/perl/README b/gnu/usr.bin/perl/README index 945db22d702..93840d24043 100644 --- a/gnu/usr.bin/perl/README +++ b/gnu/usr.bin/perl/README @@ -1,6 +1,6 @@ Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, -2013, 2014, 2015, 2016, 2017, 2018, 2019 by Larry Wall and others. +2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 by Larry Wall and others. All rights reserved. @@ -61,8 +61,7 @@ Perl is a large and complex system that's used for everything from knitting to rocket science. If you run into trouble, it's quite likely that someone else has already solved the problem you're facing. Once you've exhausted the documentation, please report bugs to us -using the 'perlbug' tool. For more information about perlbug, either type -'perldoc perlbug' or just 'perlbug' on a line by itself. +at the GitHub issue tracker at https://github.com/Perl/perl5/issues While it was current when we made it available, Perl is constantly evolving and there may be a more recent version that fixes bugs you've run into or diff --git a/gnu/usr.bin/perl/README.bs2000 b/gnu/usr.bin/perl/README.bs2000 index 92cf0ed8673..57b3eb4bf00 100644 --- a/gnu/usr.bin/perl/README.bs2000 +++ b/gnu/usr.bin/perl/README.bs2000 @@ -8,7 +8,7 @@ about pod in pod/perlpod.pod or the short summary in the INSTALL file. perlbs2000 - building and installing Perl for BS2000. B<This document needs to be updated, but we don't know what it should say. -Please email comments to L<perlbug@perl.org|mailto:perlbug@perl.org>.> +Please submit comments to L<https://github.com/Perl/perl5/issues>.> =head1 SYNOPSIS diff --git a/gnu/usr.bin/perl/README.freebsd b/gnu/usr.bin/perl/README.freebsd index 77c297bec6d..7cadb6e6d39 100644 --- a/gnu/usr.bin/perl/README.freebsd +++ b/gnu/usr.bin/perl/README.freebsd @@ -4,7 +4,7 @@ specifically designed to be readable as is. =head1 NAME -README.freebsd - Perl version 5 on FreeBSD systems +perlfreebsd - Perl version 5 on FreeBSD systems =head1 DESCRIPTION @@ -17,31 +17,25 @@ When perl is configured to use ithreads, it will use re-entrant library calls in preference to non-re-entrant versions. There is a bug in FreeBSD's C<readdir_r> function in versions 4.5 and earlier that can cause a SEGV when reading large directories. A patch for FreeBSD libc is available -(see http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631 ) +(see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631> ) which has been integrated into FreeBSD 4.6. -=head2 $^X doesn't always contain a full path in FreeBSD +=head2 C<$^X> doesn't always contain a full path in FreeBSD -perl 5.8.0 sets C<$^X> where possible to a full path by asking the operating -system. On FreeBSD the full path of the perl interpreter is found by reading -the symlink F</proc/curproc/file>. There is a bug on FreeBSD, where the -result of reading this symlink is can be wrong in certain circumstances -(see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ). +perl sets C<$^X> where possible to a full path by asking the operating +system. On FreeBSD the full path of the perl interpreter is found by using +C<sysctl> with C<KERN_PROC_PATHNAME> if that is supported, else by reading +the symlink F</proc/curproc/file>. FreeBSD 7 and earlier has a bug where +either approach sometimes returns an incorrect value +(see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=35703> ). In these cases perl will fall back to the old behaviour of using C's -argv[0] value for C<$^X>. - -=head2 Perl will no longer be part of "base FreeBSD" - -Not as bad as it sounds--what this means is that Perl will no longer be -part of the B<kernel build system> of FreeBSD. Perl will still very -probably be part of the "default install", and in any case the latest -version will be in the ports system. The first FreeBSD version this -change will affect is 5.0, all 4.n versions will keep the status quo. +C<argv[0]> value for C<$^X>. =head1 AUTHOR Nicholas Clark <nick@ccl4.org>, collating wisdom supplied by Slaven Rezic and Tim Bunce. -Please report any errors, updates, or suggestions to F<perlbug@perl.org>. +Please report any errors, updates, or suggestions to +L<https://github.com/Perl/perl5/issues>. diff --git a/gnu/usr.bin/perl/README.haiku b/gnu/usr.bin/perl/README.haiku index a452cae53a8..4bdf05352d7 100644 --- a/gnu/usr.bin/perl/README.haiku +++ b/gnu/usr.bin/perl/README.haiku @@ -22,9 +22,9 @@ The build procedure is completely standard: Make perl executable and create a symlink for libperl: chmod a+x /boot/common/bin/perl - cd /boot/common/lib; ln -s perl5/5.30.1/BePC-haiku/CORE/libperl.so . + cd /boot/common/lib; ln -s perl5/5.30.2/BePC-haiku/CORE/libperl.so . -Replace C<5.30.1> with your respective version of Perl. +Replace C<5.30.2> with your respective version of Perl. =head1 KNOWN PROBLEMS diff --git a/gnu/usr.bin/perl/README.irix b/gnu/usr.bin/perl/README.irix index 3fa47a4cd5b..2968a6072b8 100644 --- a/gnu/usr.bin/perl/README.irix +++ b/gnu/usr.bin/perl/README.irix @@ -134,5 +134,6 @@ at least the shuffle.t and sort.t failures. Jarkko Hietaniemi <jhi@iki.fi> -Please report any errors, updates, or suggestions to F<perlbug@perl.org>. +Please report any errors, updates, or suggestions to +L<https://github.com/Perl/perl5/issues>. diff --git a/gnu/usr.bin/perl/README.linux b/gnu/usr.bin/perl/README.linux index c02ddd3fa1e..ab9e2d5f5cd 100644 --- a/gnu/usr.bin/perl/README.linux +++ b/gnu/usr.bin/perl/README.linux @@ -4,7 +4,7 @@ specifically designed to be readable as is. =head1 NAME -README.linux - Perl version 5 on Linux systems +perllinux - Perl version 5 on Linux systems =head1 DESCRIPTION @@ -13,7 +13,7 @@ version 5 (hereafter just Perl) is compiled and/or runs. =head2 Experimental Support for Sun Studio Compilers for Linux OS -Sun Microsystems has released a port of their Sun Studio compiliers for +Sun Microsystems has released a port of their Sun Studio compilers for Linux. As of November 2005, only an alpha version has been released. Until a release of these compilers is made, support for compiling Perl with these compiler experimental. @@ -35,5 +35,6 @@ is needed to get this working better. Steve Peters <steve@fisharerojo.org> -Please report any errors, updates, or suggestions to F<perlbug@perl.org>. +Please report any errors, updates, or suggestions to +L<https://github.com/Perl/perl5/issues>. diff --git a/gnu/usr.bin/perl/README.macosx b/gnu/usr.bin/perl/README.macosx index 4b37e85a2d9..5d1121acfa3 100644 --- a/gnu/usr.bin/perl/README.macosx +++ b/gnu/usr.bin/perl/README.macosx @@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X This document briefly describes Perl under Mac OS X. - curl -O http://www.cpan.org/src/perl-5.30.1.tar.gz - tar -xzf perl-5.30.1.tar.gz - cd perl-5.30.1 + curl -O http://www.cpan.org/src/perl-5.30.2.tar.gz + tar -xzf perl-5.30.2.tar.gz + cd perl-5.30.2 ./Configure -des -Dprefix=/usr/local/ make make test @@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X. =head1 DESCRIPTION -The latest Perl release (5.30.1 as of this writing) builds without changes +The latest Perl release (5.30.2 as of this writing) builds without changes under all versions of Mac OS X from 10.3 "Panther" onwards. In order to build your own version of Perl you will need 'make', @@ -122,8 +122,8 @@ on G5-based hosts. Support for 64-bit addressing is experimental: some aspects of Perl may be omitted or buggy. Note the messages output by F<Configure> for further -information. Please use C<perlbug> to submit a problem report in the -event that you encounter difficulties. +information. Please use L<https://github.com/Perl/perl5/issues> to submit a +problem report in the event that you encounter difficulties. When building 64-bit modules, it is your responsibility to ensure that linked external libraries and frameworks provide 64-bit support: if they do not, diff --git a/gnu/usr.bin/perl/README.openbsd b/gnu/usr.bin/perl/README.openbsd index b1d5eea14f4..2606208a30b 100644 --- a/gnu/usr.bin/perl/README.openbsd +++ b/gnu/usr.bin/perl/README.openbsd @@ -4,7 +4,7 @@ specifically designed to be readable as is. =head1 NAME -README.openbsd - Perl version 5 on OpenBSD systems +perlopenbsd - Perl version 5 on OpenBSD systems =head1 DESCRIPTION @@ -14,7 +14,7 @@ version 5 (hereafter just Perl) is compiled and/or runs. =head2 OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads When Perl is configured to use ithreads, it will use re-entrant library calls -in preference to non-re-entrant versions. There is an incompatability in +in preference to non-re-entrant versions. There is an incompatibility in OpenBSD's C<getprotobyname_r> and C<getservbyname_r> function in versions 3.7 and later that will cause a SEGV when called without doing a C<bzero> on their return structs prior to calling these functions. Current Perl's @@ -26,5 +26,6 @@ will run into this problem. If you want to run a threaded Perl on OpenBSD Steve Peters <steve@fisharerojo.org> -Please report any errors, updates, or suggestions to F<perlbug@perl.org>. +Please report any errors, updates, or suggestions to +L<https://github.com/Perl/perl5/issues>. diff --git a/gnu/usr.bin/perl/README.os2 b/gnu/usr.bin/perl/README.os2 index 423827645e4..2a9823dd7ab 100644 --- a/gnu/usr.bin/perl/README.os2 +++ b/gnu/usr.bin/perl/README.os2 @@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L</"C<PERLLIB_PREFIX>">. =item Additional Perl modules - unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.30.1/ + unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.30.2/ Same remark as above applies. Additionally, if this directory is not one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you diff --git a/gnu/usr.bin/perl/README.os390 b/gnu/usr.bin/perl/README.os390 index 8062628aa3f..4de4e900384 100644 --- a/gnu/usr.bin/perl/README.os390 +++ b/gnu/usr.bin/perl/README.os390 @@ -13,7 +13,7 @@ This document will help you Configure, build, test and install Perl on OS/390 (aka z/OS) Unix System Services. B<This document needs to be updated, but we don't know what it should say. -Please email comments to L<perlbug@perl.org|mailto:perlbug@perl.org>.> +Please submit comments to L<https://github.com/Perl/perl5/issues>.> =head1 DESCRIPTION diff --git a/gnu/usr.bin/perl/README.os400 b/gnu/usr.bin/perl/README.os400 index eef324ae1b5..a5f22c59be5 100644 --- a/gnu/usr.bin/perl/README.os400 +++ b/gnu/usr.bin/perl/README.os400 @@ -7,7 +7,7 @@ designed to be readable as is. perlos400 - Perl version 5 on OS/400 B<This document needs to be updated, but we don't know what it should say. -Please email comments to L<perlbug@perl.org|mailto:perlbug@perl.org>.> +Please submit comments to L<https://github.com/Perl/perl5/issues>.> =head1 DESCRIPTION diff --git a/gnu/usr.bin/perl/README.solaris b/gnu/usr.bin/perl/README.solaris index b3003c1c79d..7b1107982a5 100644 --- a/gnu/usr.bin/perl/README.solaris +++ b/gnu/usr.bin/perl/README.solaris @@ -709,4 +709,5 @@ The original was written by Andy Dougherty F<doughera@lafayette.edu> drawing heavily on advice from Alan Burlison, Nick Ing-Simmons, Tim Bunce, and many other Solaris users over the years. -Please report any errors, updates, or suggestions to F<perlbug@perl.org>. +Please report any errors, updates, or suggestions to +L<https://github.com/Perl/perl5/issues>. diff --git a/gnu/usr.bin/perl/README.vms b/gnu/usr.bin/perl/README.vms index 8018ed7de29..201053eeb0a 100644 --- a/gnu/usr.bin/perl/README.vms +++ b/gnu/usr.bin/perl/README.vms @@ -142,11 +142,11 @@ You may need to set up a foreign symbol for the unpacking utility of choice. Once you have done so, use a command like the following to unpack the archive: - vmstar -xvf perl-5^.30^.1.tar + vmstar -xvf perl-5^.30^.2.tar Then set default to the top-level source directory like so: - set default [.perl-5^.30^.1] + set default [.perl-5^.30^.2] and proceed with configuration as described in the next section. @@ -467,10 +467,9 @@ of the GNU cc headers. =head1 Reporting Bugs If you come across what you think might be a bug in Perl, please report -it. There's a script in PERL_ROOT:[UTILS], perlbug, that walks you through -the process of creating a bug report. This script includes details of your -installation, and is very handy. Completed bug reports should go to -perlbug@perl.org. +it. The issue tracker at L<https://github.com/Perl/perl5/issues> walks you +through the process of creating a bug report and including details of your +installation. =head1 CAVEATS diff --git a/gnu/usr.bin/perl/README.win32 b/gnu/usr.bin/perl/README.win32 index 2d2c16cac3f..faac3fe73ea 100644 --- a/gnu/usr.bin/perl/README.win32 +++ b/gnu/usr.bin/perl/README.win32 @@ -109,7 +109,7 @@ polling loop. A port of dmake for Windows is available from: -L<http://search.cpan.org/dist/dmake/> +L<https://metacpan.org/release/dmake> Fetch and install dmake somewhere on your path. @@ -691,8 +691,8 @@ or any invocation of make. If a module does not build for some reason, look carefully for why it failed, and report problems to the module author. If it looks like the extension building support is at fault, report -that with full details of how the build failed using the perlbug -utility. +that with full details of how the build failed using the GitHub +issue tracker at L<https://github.com/Perl/perl5/issues>. =item Command-line Wildcard Expansion @@ -880,9 +880,8 @@ executable built during the installation process. Usage is exactly the same as normal C<perl> on Windows, except that options like C<-h> don't work (since they need a command-line window to print to). -If you find bugs in perl, you can run C<perlbug> to create a -bug report (you may have to send it manually if C<perlbug> cannot -find a mailer on your system). +If you find bugs in perl, you can report them to +L<https://github.com/Perl/perl5/issues>. =head1 BUGS AND CAVEATS @@ -930,8 +929,8 @@ variable in the handler. Using signals under this port should currently be considered unsupported. Please send detailed descriptions of any problems and solutions that -you may find to E<lt>F<perlbug@perl.org>E<gt>, along with the output -produced by C<perl -V>. +you may find to E<lt>L<https://github.com/Perl/perl5/issues>E<gt>, +along with the output produced by C<perl -V>. =head1 ACKNOWLEDGEMENTS diff --git a/gnu/usr.bin/perl/cflags.SH b/gnu/usr.bin/perl/cflags.SH index e60742fed11..f1bcd6c38eb 100644 --- a/gnu/usr.bin/perl/cflags.SH +++ b/gnu/usr.bin/perl/cflags.SH @@ -156,7 +156,7 @@ esac case "$gccversion" in '') ;; -[12]*) ;; # gcc versions 1 (gasp!) and 2 are not good for this. +[12].*) ;; # gcc versions 1 (gasp!) and 2 are not good for this. Intel*) ;; # # Is that you, Intel C++? # # NOTE 1: the -std=c89 without -pedantic is a bit pointless. diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE index cc614178cf7..81a37eab7a5 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2010 Julian R Seward. All +documentation, are copyright (C) 1996-2019 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,7 +36,7 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, jseward@bzip.org -bzip2/libbzip2 version 1.0.6 of 6 September 2010 +Julian Seward, jseward@acm.org +bzip2/libbzip2 version 1.0.8 of 13 July 2019 -------------------------------------------------------------------------- diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c index 605b665883d..92d81fe287e 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -202,9 +202,9 @@ void fallbackQSort3 ( UInt32* fmap, bhtab [ 0 .. 2+(nblock/32) ] destroyed */ -#define SET_BH(zz) bhtab[(zz) >> 5] |= (1U << ((zz) & 31)) -#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1U << ((zz) & 31)) -#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1U << ((zz) & 31))) +#define SET_BH(zz) bhtab[(zz) >> 5] |= ((UInt32)1 << ((zz) & 31)) +#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~((UInt32)1 << ((zz) & 31)) +#define ISSET_BH(zz) (bhtab[(zz) >> 5] & ((UInt32)1 << ((zz) & 31))) #define WORD_BH(zz) bhtab[(zz) >> 5] #define UNALIGNED_BH(zz) ((zz) & 0x01f) @@ -477,7 +477,7 @@ Bool mainGtU ( UInt32 i1, usually small, typically <= 20. --*/ static -const Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280, +Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280, 9841, 29524, 88573, 265720, 797161, 2391484 }; diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c index 68cab7e9cf3..aaf1b4005b0 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -43,12 +43,12 @@ void BZ2_bz__AssertH__fail ( int errcode ) fprintf(stderr, "\n\nbzip2/libbzip2: internal error number %d.\n" "This is a bug in bzip2/libbzip2, %s.\n" - "Please report it to me at: jseward@bzip.org. If this happened\n" + "Please report it to: bzip2-devel@sourceware.org. If this happened\n" "when you were using some program which uses libbzip2 as a\n" "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", + "quality software. Thanks.\n\n", errcode, BZ2_bzlibVersion() ); @@ -98,29 +98,19 @@ int bz_config_ok ( void ) /*---------------------------------------------------*/ -#ifdef __cplusplus -extern "C" -{ -#endif - static void* default_bzalloc ( void* opaque, Int32 items, Int32 size ) { void* v = malloc ( items * size ); - (void)opaque; return v; } static void default_bzfree ( void* opaque, void* addr ) { - (void)opaque; if (addr != NULL) free ( addr ); } -#ifdef __cplusplus -} -#endif /*---------------------------------------------------*/ static diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h index 8277123da8c..8966a6c5804 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h index a18585db828..2578c2dcf2d 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.6, 6-Sept-2010" +#define BZ_VERSION "1.0.8, 13-Jul-2019" typedef char Char; typedef unsigned char Bool; diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c index 07330787cef..5dfa00231b0 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -353,7 +353,7 @@ void sendMTFValues ( EState* s ) Calculate the cost of this group as coded by each of the coding tables. --*/ - for (t = 0; t < BZ_N_GROUPS; t++) cost[t] = 0; + for (t = 0; t < nGroups; t++) cost[t] = 0; if (nGroups == 6 && 50 == ge-gs+1) { /*--- fast track the common case ---*/ @@ -454,7 +454,7 @@ void sendMTFValues ( EState* s ) AssertH( nGroups < 8, 3002 ); AssertH( nSelectors < 32768 && - nSelectors <= (2 + (900000 / BZ_G_SIZE)), + nSelectors <= BZ_MAX_SELECTORS, 3003 ); @@ -593,8 +593,6 @@ void sendMTFValues ( EState* s ) } AssertH( selCtr == nSelectors, 3007 ); - (void)nBytes; /* only set, not used */ - if (s->verbosity >= 3) VPrintf1( "codes %d\n", s->numZ-nBytes ); } diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c index 9616312d7db..a9212dbf2c3 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c index 5441735e4f6..5afd6515788 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -285,7 +285,7 @@ Int32 BZ2_decompress ( DState* s ) /*--- Now the selectors ---*/ GET_BITS(BZ_X_SELECTOR_1, nGroups, 3); - if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR); + if (nGroups < 2 || nGroups > BZ_N_GROUPS) RETURN(BZ_DATA_ERROR); GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15); if (nSelectors < 1) RETURN(BZ_DATA_ERROR); for (i = 0; i < nSelectors; i++) { @@ -296,8 +296,14 @@ Int32 BZ2_decompress ( DState* s ) j++; if (j >= nGroups) RETURN(BZ_DATA_ERROR); } - s->selectorMtf[i] = j; + /* Having more than BZ_MAX_SELECTORS doesn't make much sense + since they will never be used, but some implementations might + "round up" the number of selectors, so just ignore those. */ + if (i < BZ_MAX_SELECTORS) + s->selectorMtf[i] = j; } + if (nSelectors > BZ_MAX_SELECTORS) + nSelectors = BZ_MAX_SELECTORS; /*--- Undo the MTF values for the selectors. ---*/ { diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c index 2283fdbc5a1..43a1899e468 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c index 4a2fd189b0a..70666a1249b 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm index 8165115ea36..ce2ac2a398b 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm @@ -11,7 +11,7 @@ use Carp ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); -$VERSION = '2.084'; +$VERSION = '2.089'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -354,6 +354,12 @@ The following bzip2 constants are exported by this module BZ_OUTBUFF_FULL BZ_CONFIG_ERROR +=head1 SUPPORT + +General feedback/questions/bug reports should be sent to +L<https://github.com/pmqs/Compress-Raw-Bzip2/issues> (preferred) or +L<https://rt.cpan.org/Public/Dist/Display.html?Name=Compress-Raw-Bzip2>. + =head1 SEE ALSO L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> @@ -364,7 +370,7 @@ L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>, L<Archive::Tar|Archive::Tar>, L<IO::Zlib|IO::Zlib> -The primary site for the bzip2 program is L<http://www.bzip.org>. +The primary site for the bzip2 program is L<https://sourceware.org/bzip2/>. See the module L<Compress::Bzip2|Compress::Bzip2> diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/t/000prereq.t b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/t/000prereq.t index 624a3124f77..8f66d402d0c 100755 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/t/000prereq.t +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/t/000prereq.t @@ -19,7 +19,7 @@ BEGIN if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - my $VERSION = '2.084'; + my $VERSION = '2.089'; my @NAMES = qw( ); diff --git a/gnu/usr.bin/perl/dist/Module-CoreList/Changes b/gnu/usr.bin/perl/dist/Module-CoreList/Changes index 202c3aae3f6..12cc7ab04e5 100644 --- a/gnu/usr.bin/perl/dist/Module-CoreList/Changes +++ b/gnu/usr.bin/perl/dist/Module-CoreList/Changes @@ -1,3 +1,18 @@ +5.20200314 + - Updated for v5.30.2 + +5.20200220 + - Updated for v5.31.9 + +5.20200120 + - Updated for v5.31.8 + +5.20191220 + - Updated for v5.31.7 + +5.20191120 + - Updated for v5.31.6 + 5.20191110 - Updated for v5.30.1 diff --git a/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList.pm b/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList.pm index 75863d3f14f..9bad56cb0eb 100644 --- a/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList.pm +++ b/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList.pm @@ -4,7 +4,7 @@ use strict; our ( %released, %version, %families, %upstream, %bug_tracker, %deprecated, %delta ); use version; -our $VERSION = '5.20191110'; +our $VERSION = '5.20200314'; sub PKG_PATTERN () { q#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z# } sub _looks_like_invocant ($) { local $@; !!eval { $_[0]->isa(__PACKAGE__) } } @@ -356,6 +356,11 @@ sub changes_between { 5.031004 => '2019-09-20', 5.031005 => '2019-10-20', 5.030001 => '2019-11-10', + 5.031006 => '2019-11-20', + 5.031007 => '2019-12-20', + 5.031008 => '2020-01-20', + 5.031009 => '2020-02-20', + 5.030002 => '2020-03-07', ); for my $version ( sort { $a <=> $b } keys %released ) { @@ -16862,6 +16867,494 @@ for my $version ( sort { $a <=> $b } keys %released ) { removed => { } }, + 5.031006 => { + delta_from => 5.031005, + changed => { + 'B::Deparse' => '1.51', + 'B::Op_private' => '5.031006', + 'Compress::Raw::Bzip2' => '2.090', + 'Compress::Raw::Zlib' => '2.090', + 'Compress::Zlib' => '2.090', + 'Config' => '5.031006', + 'Devel::PPPort' => '3.55', + 'DynaLoader' => '1.46', + 'IO::Compress::Adapter::Bzip2'=> '2.090', + 'IO::Compress::Adapter::Deflate'=> '2.090', + 'IO::Compress::Adapter::Identity'=> '2.090', + 'IO::Compress::Base' => '2.090', + 'IO::Compress::Base::Common'=> '2.090', + 'IO::Compress::Bzip2' => '2.090', + 'IO::Compress::Deflate' => '2.090', + 'IO::Compress::Gzip' => '2.090', + 'IO::Compress::Gzip::Constants'=> '2.090', + 'IO::Compress::RawDeflate'=> '2.090', + 'IO::Compress::Zip' => '2.090', + 'IO::Compress::Zip::Constants'=> '2.090', + 'IO::Compress::Zlib::Constants'=> '2.090', + 'IO::Compress::Zlib::Extra'=> '2.090', + 'IO::Uncompress::Adapter::Bunzip2'=> '2.090', + 'IO::Uncompress::Adapter::Identity'=> '2.090', + 'IO::Uncompress::Adapter::Inflate'=> '2.090', + 'IO::Uncompress::AnyInflate'=> '2.090', + 'IO::Uncompress::AnyUncompress'=> '2.090', + 'IO::Uncompress::Base' => '2.090', + 'IO::Uncompress::Bunzip2'=> '2.090', + 'IO::Uncompress::Gunzip'=> '2.090', + 'IO::Uncompress::Inflate'=> '2.090', + 'IO::Uncompress::RawInflate'=> '2.090', + 'IO::Uncompress::Unzip' => '2.090', + 'List::Util' => '1.53', + 'List::Util::XS' => '1.53', + 'Math::BigFloat' => '1.999818', + 'Math::BigInt' => '1.999818', + 'Math::BigInt::Calc' => '1.999818', + 'Math::BigInt::Lib' => '1.999818', + 'Module::CoreList' => '5.20191120', + 'Module::CoreList::Utils'=> '5.20191120', + 'Module::Load::Conditional'=> '0.70', + 'POSIX' => '1.90', + 'Pod::Simple' => '3.40', + 'Pod::Simple::BlackBox' => '3.40', + 'Pod::Simple::Checker' => '3.40', + 'Pod::Simple::Debug' => '3.40', + 'Pod::Simple::DumpAsText'=> '3.40', + 'Pod::Simple::DumpAsXML'=> '3.40', + 'Pod::Simple::HTML' => '3.40', + 'Pod::Simple::HTMLBatch'=> '3.40', + 'Pod::Simple::LinkSection'=> '3.40', + 'Pod::Simple::Methody' => '3.40', + 'Pod::Simple::Progress' => '3.40', + 'Pod::Simple::PullParser'=> '3.40', + 'Pod::Simple::PullParserEndToken'=> '3.40', + 'Pod::Simple::PullParserStartToken'=> '3.40', + 'Pod::Simple::PullParserTextToken'=> '3.40', + 'Pod::Simple::PullParserToken'=> '3.40', + 'Pod::Simple::RTF' => '3.40', + 'Pod::Simple::Search' => '3.40', + 'Pod::Simple::SimpleTree'=> '3.40', + 'Pod::Simple::Text' => '3.40', + 'Pod::Simple::TextContent'=> '3.40', + 'Pod::Simple::TiedOutFH'=> '3.40', + 'Pod::Simple::Transcode'=> '3.40', + 'Pod::Simple::TranscodeDumb'=> '3.40', + 'Pod::Simple::TranscodeSmart'=> '3.40', + 'Pod::Simple::XHTML' => '3.40', + 'Pod::Simple::XMLOutStream'=> '3.40', + 'Scalar::Util' => '1.53', + 'Sub::Util' => '1.53', + 'Sys::Syslog' => '0.36', + 'Test2' => '1.302169', + 'Test2::API' => '1.302169', + 'Test2::API::Breakage' => '1.302169', + 'Test2::API::Context' => '1.302169', + 'Test2::API::Instance' => '1.302169', + 'Test2::API::Stack' => '1.302169', + 'Test2::Event' => '1.302169', + 'Test2::Event::Bail' => '1.302169', + 'Test2::Event::Diag' => '1.302169', + 'Test2::Event::Encoding'=> '1.302169', + 'Test2::Event::Exception'=> '1.302169', + 'Test2::Event::Fail' => '1.302169', + 'Test2::Event::Generic' => '1.302169', + 'Test2::Event::Note' => '1.302169', + 'Test2::Event::Ok' => '1.302169', + 'Test2::Event::Pass' => '1.302169', + 'Test2::Event::Plan' => '1.302169', + 'Test2::Event::Skip' => '1.302169', + 'Test2::Event::Subtest' => '1.302169', + 'Test2::Event::TAP::Version'=> '1.302169', + 'Test2::Event::V2' => '1.302169', + 'Test2::Event::Waiting' => '1.302169', + 'Test2::EventFacet' => '1.302169', + 'Test2::EventFacet::About'=> '1.302169', + 'Test2::EventFacet::Amnesty'=> '1.302169', + 'Test2::EventFacet::Assert'=> '1.302169', + 'Test2::EventFacet::Control'=> '1.302169', + 'Test2::EventFacet::Error'=> '1.302169', + 'Test2::EventFacet::Hub'=> '1.302169', + 'Test2::EventFacet::Info'=> '1.302169', + 'Test2::EventFacet::Info::Table'=> '1.302169', + 'Test2::EventFacet::Meta'=> '1.302169', + 'Test2::EventFacet::Parent'=> '1.302169', + 'Test2::EventFacet::Plan'=> '1.302169', + 'Test2::EventFacet::Render'=> '1.302169', + 'Test2::EventFacet::Trace'=> '1.302169', + 'Test2::Formatter' => '1.302169', + 'Test2::Formatter::TAP' => '1.302169', + 'Test2::Hub' => '1.302169', + 'Test2::Hub::Interceptor'=> '1.302169', + 'Test2::Hub::Interceptor::Terminator'=> '1.302169', + 'Test2::Hub::Subtest' => '1.302169', + 'Test2::IPC' => '1.302169', + 'Test2::IPC::Driver' => '1.302169', + 'Test2::IPC::Driver::Files'=> '1.302169', + 'Test2::Tools::Tiny' => '1.302169', + 'Test2::Util' => '1.302169', + 'Test2::Util::ExternalMeta'=> '1.302169', + 'Test2::Util::Facets2Legacy'=> '1.302169', + 'Test2::Util::HashBase' => '1.302169', + 'Test2::Util::Trace' => '1.302169', + 'Test::Builder' => '1.302169', + 'Test::Builder::Formatter'=> '1.302169', + 'Test::Builder::Module' => '1.302169', + 'Test::Builder::Tester' => '1.302169', + 'Test::Builder::Tester::Color'=> '1.302169', + 'Test::Builder::TodoDiag'=> '1.302169', + 'Test::More' => '1.302169', + 'Test::Simple' => '1.302169', + 'Test::Tester' => '1.302169', + 'Test::Tester::Capture' => '1.302169', + 'Test::Tester::CaptureRunner'=> '1.302169', + 'Test::Tester::Delegate'=> '1.302169', + 'Test::use::ok' => '1.302169', + 'Tie::StdHandle' => '4.6', + 'Unicode::UCD' => '0.74', + 'Win32API::File' => '0.1203_01', + 'feature' => '1.56', + 'mro' => '1.23', + 'ok' => '1.302169', + 'perlfaq' => '5.20191102', + }, + removed => { + } + }, + 5.031007 => { + delta_from => 5.031006, + changed => { + 'B' => '1.78', + 'B::Deparse' => '1.52', + 'B::Op_private' => '5.031007', + 'Compress::Raw::Bzip2' => '2.093', + 'Compress::Raw::Zlib' => '2.093', + 'Compress::Zlib' => '2.093', + 'Config' => '5.031007', + 'Devel::PPPort' => '3.56', + 'English' => '1.11', + 'ExtUtils::Command' => '7.42', + 'ExtUtils::Command::MM' => '7.42', + 'ExtUtils::Liblist' => '7.42', + 'ExtUtils::Liblist::Kid'=> '7.42', + 'ExtUtils::MM' => '7.42', + 'ExtUtils::MM_AIX' => '7.42', + 'ExtUtils::MM_Any' => '7.42', + 'ExtUtils::MM_BeOS' => '7.42', + 'ExtUtils::MM_Cygwin' => '7.42', + 'ExtUtils::MM_DOS' => '7.42', + 'ExtUtils::MM_Darwin' => '7.42', + 'ExtUtils::MM_MacOS' => '7.42', + 'ExtUtils::MM_NW5' => '7.42', + 'ExtUtils::MM_OS2' => '7.42', + 'ExtUtils::MM_QNX' => '7.42', + 'ExtUtils::MM_UWIN' => '7.42', + 'ExtUtils::MM_Unix' => '7.42', + 'ExtUtils::MM_VMS' => '7.42', + 'ExtUtils::MM_VOS' => '7.42', + 'ExtUtils::MM_Win32' => '7.42', + 'ExtUtils::MM_Win95' => '7.42', + 'ExtUtils::MY' => '7.42', + 'ExtUtils::MakeMaker' => '7.42', + 'ExtUtils::MakeMaker::Config'=> '7.42', + 'ExtUtils::MakeMaker::Locale'=> '7.42', + 'ExtUtils::MakeMaker::version'=> '7.42', + 'ExtUtils::MakeMaker::version::regex'=> '7.42', + 'ExtUtils::Mkbootstrap' => '7.42', + 'ExtUtils::Mksymlists' => '7.42', + 'ExtUtils::testlib' => '7.42', + 'File::stat' => '1.09', + 'Filter::Simple' => '0.96', + 'IO::Compress::Adapter::Bzip2'=> '2.093', + 'IO::Compress::Adapter::Deflate'=> '2.093', + 'IO::Compress::Adapter::Identity'=> '2.093', + 'IO::Compress::Base' => '2.093', + 'IO::Compress::Base::Common'=> '2.093', + 'IO::Compress::Bzip2' => '2.093', + 'IO::Compress::Deflate' => '2.093', + 'IO::Compress::Gzip' => '2.093', + 'IO::Compress::Gzip::Constants'=> '2.093', + 'IO::Compress::RawDeflate'=> '2.093', + 'IO::Compress::Zip' => '2.093', + 'IO::Compress::Zip::Constants'=> '2.093', + 'IO::Compress::Zlib::Constants'=> '2.093', + 'IO::Compress::Zlib::Extra'=> '2.093', + 'IO::Uncompress::Adapter::Bunzip2'=> '2.093', + 'IO::Uncompress::Adapter::Identity'=> '2.093', + 'IO::Uncompress::Adapter::Inflate'=> '2.093', + 'IO::Uncompress::AnyInflate'=> '2.093', + 'IO::Uncompress::AnyUncompress'=> '2.093', + 'IO::Uncompress::Base' => '2.093', + 'IO::Uncompress::Bunzip2'=> '2.093', + 'IO::Uncompress::Gunzip'=> '2.093', + 'IO::Uncompress::Inflate'=> '2.093', + 'IO::Uncompress::RawInflate'=> '2.093', + 'IO::Uncompress::Unzip' => '2.093', + 'Module::CoreList' => '5.20191220', + 'Module::CoreList::Utils'=> '5.20191220', + 'Net::Ping' => '2.72', + 'Opcode' => '1.45', + 'Storable' => '3.18', + 'Test2' => '1.302170', + 'Test2::API' => '1.302170', + 'Test2::API::Breakage' => '1.302170', + 'Test2::API::Context' => '1.302170', + 'Test2::API::Instance' => '1.302170', + 'Test2::API::Stack' => '1.302170', + 'Test2::Event' => '1.302170', + 'Test2::Event::Bail' => '1.302170', + 'Test2::Event::Diag' => '1.302170', + 'Test2::Event::Encoding'=> '1.302170', + 'Test2::Event::Exception'=> '1.302170', + 'Test2::Event::Fail' => '1.302170', + 'Test2::Event::Generic' => '1.302170', + 'Test2::Event::Note' => '1.302170', + 'Test2::Event::Ok' => '1.302170', + 'Test2::Event::Pass' => '1.302170', + 'Test2::Event::Plan' => '1.302170', + 'Test2::Event::Skip' => '1.302170', + 'Test2::Event::Subtest' => '1.302170', + 'Test2::Event::TAP::Version'=> '1.302170', + 'Test2::Event::V2' => '1.302170', + 'Test2::Event::Waiting' => '1.302170', + 'Test2::EventFacet' => '1.302170', + 'Test2::EventFacet::About'=> '1.302170', + 'Test2::EventFacet::Amnesty'=> '1.302170', + 'Test2::EventFacet::Assert'=> '1.302170', + 'Test2::EventFacet::Control'=> '1.302170', + 'Test2::EventFacet::Error'=> '1.302170', + 'Test2::EventFacet::Hub'=> '1.302170', + 'Test2::EventFacet::Info'=> '1.302170', + 'Test2::EventFacet::Info::Table'=> '1.302170', + 'Test2::EventFacet::Meta'=> '1.302170', + 'Test2::EventFacet::Parent'=> '1.302170', + 'Test2::EventFacet::Plan'=> '1.302170', + 'Test2::EventFacet::Render'=> '1.302170', + 'Test2::EventFacet::Trace'=> '1.302170', + 'Test2::Formatter' => '1.302170', + 'Test2::Formatter::TAP' => '1.302170', + 'Test2::Hub' => '1.302170', + 'Test2::Hub::Interceptor'=> '1.302170', + 'Test2::Hub::Interceptor::Terminator'=> '1.302170', + 'Test2::Hub::Subtest' => '1.302170', + 'Test2::IPC' => '1.302170', + 'Test2::IPC::Driver' => '1.302170', + 'Test2::IPC::Driver::Files'=> '1.302170', + 'Test2::Tools::Tiny' => '1.302170', + 'Test2::Util' => '1.302170', + 'Test2::Util::ExternalMeta'=> '1.302170', + 'Test2::Util::Facets2Legacy'=> '1.302170', + 'Test2::Util::HashBase' => '1.302170', + 'Test2::Util::Trace' => '1.302170', + 'Test::Builder' => '1.302170', + 'Test::Builder::Formatter'=> '1.302170', + 'Test::Builder::Module' => '1.302170', + 'Test::Builder::Tester' => '1.302170', + 'Test::Builder::Tester::Color'=> '1.302170', + 'Test::Builder::TodoDiag'=> '1.302170', + 'Test::More' => '1.302170', + 'Test::Simple' => '1.302170', + 'Test::Tester' => '1.302170', + 'Test::Tester::Capture' => '1.302170', + 'Test::Tester::CaptureRunner'=> '1.302170', + 'Test::Tester::Delegate'=> '1.302170', + 'Test::use::ok' => '1.302170', + 'Tie::Hash::NamedCapture'=> '0.13', + 'VMS::Stdio' => '2.45', + 'XS::APItest' => '1.05', + 'feature' => '1.57', + 'ok' => '1.302170', + 'warnings' => '1.46', + }, + removed => { + } + }, + 5.031008 => { + delta_from => 5.031007, + changed => { + 'B::Op_private' => '5.031008', + 'Config' => '5.031008', + 'DB_File' => '1.853', + 'Encode' => '3.02', + 'ExtUtils::Command' => '7.44', + 'ExtUtils::Command::MM' => '7.44', + 'ExtUtils::Liblist' => '7.44', + 'ExtUtils::Liblist::Kid'=> '7.44', + 'ExtUtils::MM' => '7.44', + 'ExtUtils::MM_AIX' => '7.44', + 'ExtUtils::MM_Any' => '7.44', + 'ExtUtils::MM_BeOS' => '7.44', + 'ExtUtils::MM_Cygwin' => '7.44', + 'ExtUtils::MM_DOS' => '7.44', + 'ExtUtils::MM_Darwin' => '7.44', + 'ExtUtils::MM_MacOS' => '7.44', + 'ExtUtils::MM_NW5' => '7.44', + 'ExtUtils::MM_OS2' => '7.44', + 'ExtUtils::MM_QNX' => '7.44', + 'ExtUtils::MM_UWIN' => '7.44', + 'ExtUtils::MM_Unix' => '7.44', + 'ExtUtils::MM_VMS' => '7.44', + 'ExtUtils::MM_VOS' => '7.44', + 'ExtUtils::MM_Win32' => '7.44', + 'ExtUtils::MM_Win95' => '7.44', + 'ExtUtils::MY' => '7.44', + 'ExtUtils::MakeMaker' => '7.44', + 'ExtUtils::MakeMaker::Config'=> '7.44', + 'ExtUtils::MakeMaker::Locale'=> '7.44', + 'ExtUtils::MakeMaker::version'=> '7.44', + 'ExtUtils::MakeMaker::version::regex'=> '7.44', + 'ExtUtils::Mkbootstrap' => '7.44', + 'ExtUtils::Mksymlists' => '7.44', + 'ExtUtils::testlib' => '7.44', + 'Fatal' => '2.32', + 'Hash::Util' => '0.23', + 'IO' => '1.42', + 'IO::Handle' => '1.42', + 'IO::Socket' => '1.42', + 'Module::CoreList' => '5.20200120', + 'Module::CoreList::Utils'=> '5.20200120', + 'POSIX' => '1.91', + 'Pod::Man' => '4.14', + 'Pod::ParseLink' => '4.14', + 'Pod::Text' => '4.14', + 'Pod::Text::Color' => '4.14', + 'Pod::Text::Overstrike' => '4.14', + 'Pod::Text::Termcap' => '4.14', + 'Term::ANSIColor' => '5.01', + 'Test2' => '1.302171', + 'Test2::API' => '1.302171', + 'Test2::API::Breakage' => '1.302171', + 'Test2::API::Context' => '1.302171', + 'Test2::API::Instance' => '1.302171', + 'Test2::API::Stack' => '1.302171', + 'Test2::Event' => '1.302171', + 'Test2::Event::Bail' => '1.302171', + 'Test2::Event::Diag' => '1.302171', + 'Test2::Event::Encoding'=> '1.302171', + 'Test2::Event::Exception'=> '1.302171', + 'Test2::Event::Fail' => '1.302171', + 'Test2::Event::Generic' => '1.302171', + 'Test2::Event::Note' => '1.302171', + 'Test2::Event::Ok' => '1.302171', + 'Test2::Event::Pass' => '1.302171', + 'Test2::Event::Plan' => '1.302171', + 'Test2::Event::Skip' => '1.302171', + 'Test2::Event::Subtest' => '1.302171', + 'Test2::Event::TAP::Version'=> '1.302171', + 'Test2::Event::V2' => '1.302171', + 'Test2::Event::Waiting' => '1.302171', + 'Test2::EventFacet' => '1.302171', + 'Test2::EventFacet::About'=> '1.302171', + 'Test2::EventFacet::Amnesty'=> '1.302171', + 'Test2::EventFacet::Assert'=> '1.302171', + 'Test2::EventFacet::Control'=> '1.302171', + 'Test2::EventFacet::Error'=> '1.302171', + 'Test2::EventFacet::Hub'=> '1.302171', + 'Test2::EventFacet::Info'=> '1.302171', + 'Test2::EventFacet::Info::Table'=> '1.302171', + 'Test2::EventFacet::Meta'=> '1.302171', + 'Test2::EventFacet::Parent'=> '1.302171', + 'Test2::EventFacet::Plan'=> '1.302171', + 'Test2::EventFacet::Render'=> '1.302171', + 'Test2::EventFacet::Trace'=> '1.302171', + 'Test2::Formatter' => '1.302171', + 'Test2::Formatter::TAP' => '1.302171', + 'Test2::Hub' => '1.302171', + 'Test2::Hub::Interceptor'=> '1.302171', + 'Test2::Hub::Interceptor::Terminator'=> '1.302171', + 'Test2::Hub::Subtest' => '1.302171', + 'Test2::IPC' => '1.302171', + 'Test2::IPC::Driver' => '1.302171', + 'Test2::IPC::Driver::Files'=> '1.302171', + 'Test2::Tools::Tiny' => '1.302171', + 'Test2::Util' => '1.302171', + 'Test2::Util::ExternalMeta'=> '1.302171', + 'Test2::Util::Facets2Legacy'=> '1.302171', + 'Test2::Util::HashBase' => '1.302171', + 'Test2::Util::Trace' => '1.302171', + 'Test::Builder' => '1.302171', + 'Test::Builder::Formatter'=> '1.302171', + 'Test::Builder::Module' => '1.302171', + 'Test::Builder::Tester' => '1.302171', + 'Test::Builder::Tester::Color'=> '1.302171', + 'Test::Builder::TodoDiag'=> '1.302171', + 'Test::More' => '1.302171', + 'Test::Simple' => '1.302171', + 'Test::Tester' => '1.302171', + 'Test::Tester::Capture' => '1.302171', + 'Test::Tester::CaptureRunner'=> '1.302171', + 'Test::Tester::Delegate'=> '1.302171', + 'Test::use::ok' => '1.302171', + 'XS::APItest' => '1.06', + 'autodie' => '2.32', + 'autodie::Scope::Guard' => '2.32', + 'autodie::Scope::GuardStack'=> '2.32', + 'autodie::Util' => '2.32', + 'autodie::exception' => '2.32', + 'autodie::exception::system'=> '2.32', + 'autodie::hints' => '2.32', + 'autodie::skip' => '2.32', + 'ok' => '1.302171', + }, + removed => { + } + }, + 5.031009 => { + delta_from => 5.031008, + changed => { + 'Archive::Tar' => '2.36', + 'Archive::Tar::Constant'=> '2.36', + 'Archive::Tar::File' => '2.36', + 'B' => '1.80', + 'B::Op_private' => '5.031009', + 'Config' => '5.031009', + 'Devel::PPPort' => '3.57', + 'Encode' => '3.03', + 'ExtUtils::CBuilder' => '0.280234', + 'ExtUtils::CBuilder::Base'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Unix'=> '0.280234', + 'ExtUtils::CBuilder::Platform::VMS'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280234', + 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280234', + 'ExtUtils::CBuilder::Platform::aix'=> '0.280234', + 'ExtUtils::CBuilder::Platform::android'=> '0.280234', + 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280234', + 'ExtUtils::CBuilder::Platform::darwin'=> '0.280234', + 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280234', + 'ExtUtils::CBuilder::Platform::os2'=> '0.280234', + 'IO' => '1.43', + 'IO::Select' => '1.42', + 'IO::Socket' => '1.43', + 'Module::CoreList' => '5.20200220', + 'Module::CoreList::Utils'=> '5.20200220', + 'POSIX' => '1.92', + 'Pod::Html' => '1.25', + 'Storable' => '3.19', + 'Tie::File' => '1.06', + 'Unicode' => '13.0.0', + 'XS::APItest' => '1.07', + '_charnames' => '1.46', + 'charnames' => '1.46', + 'diagnostics' => '1.37', + 'feature' => '1.58', + 'parent' => '0.238', + 'perlfaq' => '5.20200125', + 'threads' => '2.24', + }, + removed => { + } + }, + 5.030002 => { + delta_from => 5.030001, + changed => { + 'B::Op_private' => '5.030002', + 'Compress::Raw::Bzip2' => '2.089', + 'Config' => '5.030002', + 'Module::CoreList' => '5.20200314', + 'Module::CoreList::Utils'=> '5.20200314', + }, + removed => { + } + }, ); sub is_core @@ -17913,6 +18406,41 @@ sub is_core removed => { } }, + 5.031006 => { + delta_from => 5.031005, + changed => { + }, + removed => { + } + }, + 5.031007 => { + delta_from => 5.031006, + changed => { + }, + removed => { + } + }, + 5.031008 => { + delta_from => 5.031007, + changed => { + }, + removed => { + } + }, + 5.031009 => { + delta_from => 5.031008, + changed => { + }, + removed => { + } + }, + 5.030002 => { + delta_from => 5.030001, + changed => { + }, + removed => { + } + }, ); %deprecated = _undelta(\%deprecated); diff --git a/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList/Utils.pm b/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList/Utils.pm index 2ced7a66c01..2fa5d374023 100644 --- a/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList/Utils.pm +++ b/gnu/usr.bin/perl/dist/Module-CoreList/lib/Module/CoreList/Utils.pm @@ -4,7 +4,7 @@ use strict; use warnings; use Module::CoreList; -our $VERSION = '5.20191110'; +our $VERSION = '5.20200314'; our %utilities; sub utilities { @@ -1551,6 +1551,42 @@ my %delta = ( removed => { } }, + 5.031006 => { + delta_from => 5.031005, + changed => { + 'streamzip' => '1', + }, + removed => { + } + }, + 5.031007 => { + delta_from => 5.031006, + changed => { + }, + removed => { + } + }, + 5.031008 => { + delta_from => 5.031007, + changed => { + }, + removed => { + } + }, + 5.031009 => { + delta_from => 5.031008, + changed => { + }, + removed => { + } + }, + 5.030002 => { + delta_from => 5.030001, + changed => { + }, + removed => { + } + }, ); %utilities = Module::CoreList::_undelta(\%delta); diff --git a/gnu/usr.bin/perl/embed.fnc b/gnu/usr.bin/perl/embed.fnc index 45597f67b6f..aedb4baef19 100644 --- a/gnu/usr.bin/perl/embed.fnc +++ b/gnu/usr.bin/perl/embed.fnc @@ -2425,7 +2425,7 @@ Es |void |reginsert |NN RExC_state_t *pRExC_state \ |const U8 op \ |const regnode_offset operand \ |const U32 depth -Es |bool |regtail |NN RExC_state_t * pRExC_state \ +EsR |bool |regtail |NN RExC_state_t * pRExC_state \ |NN const regnode_offset p \ |NN const regnode_offset val \ |const U32 depth @@ -2559,7 +2559,7 @@ Es |void |dump_trie_interim_list|NN const struct _reg_trie_data *trie\ Es |void |dump_trie_interim_table|NN const struct _reg_trie_data *trie\ |NULLOK HV* widecharmap|NN AV *revcharmap\ |U32 next_alloc|U32 depth -Es |bool |regtail_study |NN RExC_state_t *pRExC_state \ +EsR |bool |regtail_study |NN RExC_state_t *pRExC_state \ |NN regnode_offset p|NN const regnode_offset val|U32 depth # endif #endif diff --git a/gnu/usr.bin/perl/hints/README.hints b/gnu/usr.bin/perl/hints/README.hints index af31dd9e2c6..4745c7cb8e8 100644 --- a/gnu/usr.bin/perl/hints/README.hints +++ b/gnu/usr.bin/perl/hints/README.hints @@ -9,7 +9,8 @@ can't or doesn't guess properly. Most of these hint files have been tested with at least some version of perl5, but some are still left over from perl4. -Please send any problems or suggested changes to perlbug@perl.org. +Please send any problems or suggested changes to +L<https://github.com/Perl/perl5/issues>. =head1 Hint file naming convention. diff --git a/gnu/usr.bin/perl/hints/bsdos.sh b/gnu/usr.bin/perl/hints/bsdos.sh index 53a5cd2e68f..95950b787eb 100644 --- a/gnu/usr.bin/perl/hints/bsdos.sh +++ b/gnu/usr.bin/perl/hints/bsdos.sh @@ -125,7 +125,7 @@ $define|true|[yY]*) *) cat <<EOM >&4 I did not know that BSD/OS $osvers supports POSIX threads. -Feel free to tell perlbug@perl.org otherwise. +Feel free to tell https://github.com/Perl/perl5/issues otherwise. EOM exit 1 ;; diff --git a/gnu/usr.bin/perl/hints/catamount.sh b/gnu/usr.bin/perl/hints/catamount.sh index ef3d83e69da..f78f5f63447 100644 --- a/gnu/usr.bin/perl/hints/catamount.sh +++ b/gnu/usr.bin/perl/hints/catamount.sh @@ -31,11 +31,11 @@ # mkdir -p /opt/perl-catamount # mkdir -p /opt/perl-catamount/include # mkdir -p /opt/perl-catamount/lib -# mkdir -p /opt/perl-catamount/lib/perl5/5.30.1 +# mkdir -p /opt/perl-catamount/lib/perl5/5.30.2 # mkdir -p /opt/perl-catamount/bin # cp *.h /opt/perl-catamount/include # cp libperl.a /opt/perl-catamount/lib -# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.30.1 +# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.30.2 # cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib # # With the headers and the libperl.a you can embed Perl to your Catamount diff --git a/gnu/usr.bin/perl/hints/freebsd.sh b/gnu/usr.bin/perl/hints/freebsd.sh index bf890694377..791290c4745 100644 --- a/gnu/usr.bin/perl/hints/freebsd.sh +++ b/gnu/usr.bin/perl/hints/freebsd.sh @@ -207,7 +207,7 @@ $define|true|[yY]*) 0.*|1.*|2.0*|2.1*) cat <<EOM >&4 I did not know that FreeBSD $osvers supports POSIX threads. -Feel free to tell perlbug@perl.org otherwise. +Feel free to tell https://github.com/Perl/perl5/issues otherwise. EOM exit 1 ;; diff --git a/gnu/usr.bin/perl/lib/B/Op_private.pm b/gnu/usr.bin/perl/lib/B/Op_private.pm index 42b3ddb8c60..81a9fb21f6e 100644 --- a/gnu/usr.bin/perl/lib/B/Op_private.pm +++ b/gnu/usr.bin/perl/lib/B/Op_private.pm @@ -118,7 +118,7 @@ package B::Op_private; our %bits; -our $VERSION = "5.030001"; +our $VERSION = "5.030002"; $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv); $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv); diff --git a/gnu/usr.bin/perl/numeric.c b/gnu/usr.bin/perl/numeric.c index d4e3493784e..e8e8cadf176 100644 --- a/gnu/usr.bin/perl/numeric.c +++ b/gnu/usr.bin/perl/numeric.c @@ -765,6 +765,9 @@ Perl_grok_infnan(pTHX_ const char** sp, const char* send) s++; flags |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT; + if (s == send) { + return flags; + } /* NaN can be followed by various stuff (NaNQ, NaNS), but * there are also multiple different NaN values, and some @@ -776,6 +779,9 @@ Perl_grok_infnan(pTHX_ const char** sp, const char* send) /* "nanq" or "nans" are ok, though generating * these portably is tricky. */ s++; + if (s == send) { + return flags; + } } if (*s == '(') { /* C99 style "nan(123)" or Perlish equivalent "nan($uv)". */ diff --git a/gnu/usr.bin/perl/patchlevel.h b/gnu/usr.bin/perl/patchlevel.h index 6253a725cfb..248a34421a2 100644 --- a/gnu/usr.bin/perl/patchlevel.h +++ b/gnu/usr.bin/perl/patchlevel.h @@ -15,7 +15,7 @@ #define PERL_REVISION 5 /* age */ #define PERL_VERSION 30 /* epoch */ -#define PERL_SUBVERSION 1 /* generation */ +#define PERL_SUBVERSION 2 /* generation */ /* The following numbers describe the earliest compatible version of Perl ("compatibility" here being defined as sufficient binary/API diff --git a/gnu/usr.bin/perl/perl.c b/gnu/usr.bin/perl/perl.c index b125056a4c3..e8a85dc58ef 100644 --- a/gnu/usr.bin/perl/perl.c +++ b/gnu/usr.bin/perl/perl.c @@ -3,7 +3,7 @@ * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 - * 2013, 2014, 2015, 2016, 2017, 2018, 2019 by Larry Wall and others + * 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -3784,7 +3784,7 @@ S_minus_v(pTHX) #endif PerlIO_printf(PIO_stdout, - "\n\nCopyright 1987-2019, Larry Wall\n"); + "\n\nCopyright 1987-2020, Larry Wall\n"); #ifdef MSDOS PerlIO_printf(PIO_stdout, "\nMS-DOS port Copyright (c) 1989, 1990, Diomidis Spinellis\n"); diff --git a/gnu/usr.bin/perl/plan9/config.plan9 b/gnu/usr.bin/perl/plan9/config.plan9 index e47009c99aa..7c1787ec597 100644 --- a/gnu/usr.bin/perl/plan9/config.plan9 +++ b/gnu/usr.bin/perl/plan9/config.plan9 @@ -3131,8 +3131,8 @@ * This symbol contains the ~name expanded version of PRIVLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define PRIVLIB "/sys/lib/perl/5.30.1" /**/ -#define PRIVLIB_EXP "/sys/lib/perl/5.30.1" /**/ +#define PRIVLIB "/sys/lib/perl/5.30.2" /**/ +#define PRIVLIB_EXP "/sys/lib/perl/5.30.2" /**/ /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor @@ -3259,9 +3259,9 @@ * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ -#define SITELIB "/sys/lib/perl/5.30.1/site_perl" /**/ -#define SITELIB_EXP "/sys/lib/perl/5.30.1/site_perl" /**/ -#define SITELIB_STEM "/sys/lib/perl/5.30.1/site_perl" /**/ +#define SITELIB "/sys/lib/perl/5.30.2/site_perl" /**/ +#define SITELIB_EXP "/sys/lib/perl/5.30.2/site_perl" /**/ +#define SITELIB_STEM "/sys/lib/perl/5.30.2/site_perl" /**/ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. diff --git a/gnu/usr.bin/perl/plan9/config_sh.sample b/gnu/usr.bin/perl/plan9/config_sh.sample index e0c446c7c17..31274727680 100644 --- a/gnu/usr.bin/perl/plan9/config_sh.sample +++ b/gnu/usr.bin/perl/plan9/config_sh.sample @@ -35,8 +35,8 @@ api_subversion='0' api_version='30' api_versionstring='5.30.0' ar='ar' -archlib='/sys/lib/perl5/5.30.1/386' -archlibexp='/sys/lib/perl5/5.30.1/386' +archlib='/sys/lib/perl5/5.30.2/386' +archlibexp='/sys/lib/perl5/5.30.2/386' archname64='' archname='386' archobjs='' @@ -815,17 +815,17 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='/sys/lib/perl/5.30.1/386' +installarchlib='/sys/lib/perl/5.30.2/386' installbin='/usr/bin' installman1dir='/sys/man/1pub' installman3dir='/sys/man/2pub' installprefix='/usr' installprefixexp='/usr' -installprivlib='/sys/lib/perl/5.30.1' +installprivlib='/sys/lib/perl/5.30.2' installscript='/usr/bin' -installsitearch='/sys/lib/perl/5.30.1/site_perl/386' +installsitearch='/sys/lib/perl/5.30.2/site_perl/386' installsitebin='/usr/bin' -installsitelib='/sys/lib/perl/5.30.1/site_perl' +installsitelib='/sys/lib/perl/5.30.2/site_perl' installstyle='lib/perl5' installusrbinperl='undef' installvendorarch='' @@ -950,8 +950,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/sys/lib/perl/5.30.1' -privlibexp='/sys/lib/perl/5.30.1' +privlib='/sys/lib/perl/5.30.2' +privlibexp='/sys/lib/perl/5.30.2' procselfexe='' prototype='define' ptrsize='4' @@ -1016,13 +1016,13 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 0' sig_size='50' signal_t='void' -sitearch='/sys/lib/perl/5.30.1/site_perl/386' +sitearch='/sys/lib/perl/5.30.2/site_perl/386' sitearchexp='/sys/lib/perl/site_perl/386' sitebin='/usr/bin' sitebinexp='/usr/bin' -sitelib='/sys/lib/perl/5.30.1/site_perl' -sitelib_stem='/sys/lib/perl/5.30.1/site_perl' -sitelibexp='/sys/lib/perl/5.30.1/site_perl' +sitelib='/sys/lib/perl/5.30.2/site_perl' +sitelib_stem='/sys/lib/perl/5.30.2/site_perl' +sitelibexp='/sys/lib/perl/5.30.2/site_perl' siteprefix='/usr' siteprefixexp='/usr' sizesize='4' @@ -1055,7 +1055,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/sys/include/ape/string.h' submit='' -subversion='1' +subversion='2' sysman='/sys/man/1pub' tail='' tar='' @@ -1136,8 +1136,8 @@ vendorlib_stem='' vendorlibexp='' vendorprefix='' vendorprefixexp='' -version='5.30.1' -version_patchlevel_string='version 30 subversion 1' +version='5.30.2' +version_patchlevel_string='version 30 subversion 2' versiononly='undef' vi='' xlibpth='' @@ -1151,7 +1151,7 @@ config_args='' config_argc=0 PERL_REVISION=5 PERL_VERSION=30 -PERL_SUBVERSION=1 +PERL_SUBVERSION=2 PERL_API_REVISION=5 PERL_API_VERSION=30 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/pod/perl.pod b/gnu/usr.bin/perl/pod/perl.pod index f9ff1640936..ed5ba54281c 100644 --- a/gnu/usr.bin/perl/pod/perl.pod +++ b/gnu/usr.bin/perl/pod/perl.pod @@ -181,6 +181,7 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp perlhist Perl history records perldelta Perl changes since previous version + perl5301delta Perl changes in version 5.30.1 perl5300delta Perl changes in version 5.30.0 perl5282delta Perl changes in version 5.28.2 perl5281delta Perl changes in version 5.28.1 @@ -420,11 +421,9 @@ displayed by diagnostics are internally stored as short integers, so they are limited to a maximum of 65535 (higher numbers usually being affected by wraparound). -You may mail your bug reports (be sure to include full configuration +You may submit your bug reports (be sure to include full configuration information as output by the myconfig program in the perl source -tree, or by C<perl -V>) to perlbug@perl.org . If you've succeeded -in compiling perl, the L<perlbug> script in the F<utils/> subdirectory -can be used to help mail in a bug report. +tree, or by C<perl -V>) to L<https://github.com/Perl/perl5/issues>. Perl actually stands for Pathologically Eclectic Rubbish Lister, but don't tell anyone I said that. diff --git a/gnu/usr.bin/perl/pod/perl5301delta.pod b/gnu/usr.bin/perl/pod/perl5301delta.pod new file mode 100644 index 00000000000..01a2725076c --- /dev/null +++ b/gnu/usr.bin/perl/pod/perl5301delta.pod @@ -0,0 +1,188 @@ +=encoding utf8 + +=head1 NAME + +perl5301delta - what is new for perl v5.30.1 + +=head1 DESCRIPTION + +This document describes differences between the 5.30.0 release and the 5.30.1 +release. + +If you are upgrading from an earlier release such as 5.29.0, first read +L<perl5300delta>, which describes differences between 5.29.0 and 5.30.0. + +=head1 Incompatible Changes + +There are no changes intentionally incompatible with 5.30.1. If any exist, +they are bugs, and we request that you submit a report. See +L</Reporting Bugs> below. + +=head1 Modules and Pragmata + +=head2 Updated Modules and Pragmata + +=over 4 + +=item * + +L<Module::CoreList> has been upgraded from version 5.20190522 to 5.20191110. + +=back + +=head1 Documentation + +=head2 Changes to Existing Documentation + +We have attempted to update the documentation to reflect the changes listed in +this document. If you find any we have missed, send email to +L<perlbug@perl.org|mailto:perlbug@perl.org>. + +Additionally, documentation has been updated to reference GitHub as the new +canonical repository and to describe the new GitHub pull request workflow. + +=head1 Configuration and Compilation + +=over 4 + +=item * + +The C<ECHO> macro is now defined. This is used in a C<dtrace> rule that was +originally changed for FreeBSD, and the FreeBSD make apparently predefines it. +The Solaris make does not predefine C<ECHO> which broke this rule on Solaris. +L<[perl #17057]|https://github.com/perl/perl5/issues/17057> + +=back + +=head1 Testing + +Tests were added and changed to reflect the other additions and changes in this +release. + +=head1 Platform Support + +=head2 Platform-Specific Notes + +=over 4 + +=item Win32 + +The locale tests could crash on Win32 due to a Windows bug, and separately due +to the CRT throwing an exception if the locale name wasn't validly encoded in +the current code page. + +For the second we now decode the locale name ourselves, and always decode it as +UTF-8. + +L<[perl #16922]|https://github.com/perl/perl5/issues/16922> + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +Setting C<$)> now properly sets supplementary group ids, if you have the +necessary privileges. +L<[perl #17031]|https://github.com/perl/perl5/issues/17031> + +=item * + +C<readline @foo> now evaluates C<@foo> in scalar context. Previously, it would +be evaluated in list context, and since readline() pops only one argument from +the stack, the stack could underflow, or be left with unexpected values on it. +L<[perl #16929]|https://github.com/perl/perl5/issues/16929> + +=item * + +sv_gets() now recovers better if the target SV is modified by a signal handler. +L<[perl #16960]|https://github.com/perl/perl5/issues/16960> + +=item * + +Matching a non-C<SVf_UTF8> string against a regular expression containing +Unicode literals could leak an SV on each match attempt. +L<[perl #17140]|https://github.com/perl/perl5/issues/17140> + +=item * + +C<< sprintf("%.*a", -10000, $x) >> would cause a buffer overflow due to +mishandling of the negative precision value. +L<[perl #16942]|https://github.com/perl/perl5/issues/16942> + +=item * + +C<scalar()> on a reference could cause an erroneous assertion failure during +compilation. +L<[perl #16969]|https://github.com/perl/perl5/issues/16969> + +=back + +=head1 Acknowledgements + +Perl 5.30.1 represents approximately 6 months of development since Perl 5.30.0 +and contains approximately 4,700 lines of changes across 67 files from 14 +authors. + +Excluding auto-generated files, documentation and release tools, there were +approximately 910 lines of changes to 20 .pm, .t, .c and .h files. + +Perl continues to flourish into its fourth decade thanks to a vibrant community +of users and developers. The following people are known to have contributed +the improvements that became Perl 5.30.1: + +Chris 'BinGOs' Williams, Dan Book, David Mitchell, Hugo van der Sanden, James E +Keenan, Karen Etheridge, Karl Williamson, Manuel Mausz, Max Maischein, Nicolas +R., Sawyer X, Steve Hay, Tom Hukins, 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 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 Give Thanks + +If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you +can do so by running the C<perlthanks> program: + + perlthanks + +This will send an email to the Perl 5 Porters list with your show of thanks. + +=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/perldelta.pod b/gnu/usr.bin/perl/pod/perldelta.pod index cea8d7a0df2..4c31cf0e8ac 100644 --- a/gnu/usr.bin/perl/pod/perldelta.pod +++ b/gnu/usr.bin/perl/pod/perldelta.pod @@ -2,21 +2,21 @@ =head1 NAME -perldelta - what is new for perl v5.30.1 +perldelta - what is new for perl v5.30.2 =head1 DESCRIPTION -This document describes differences between the 5.30.0 release and the 5.30.1 +This document describes differences between the 5.30.1 release and the 5.30.2 release. -If you are upgrading from an earlier release such as 5.29.0, first read -L<perl5300delta>, which describes differences between 5.29.0 and 5.30.0. +If you are upgrading from an earlier release such as 5.30.0, first read +L<perl5301delta>, which describes differences between 5.30.0 and 5.30.1. =head1 Incompatible Changes -There are no changes intentionally incompatible with 5.30.1. If any exist, -they are bugs, and we request that you submit a report. See -L</Reporting Bugs> below. +There are no changes intentionally incompatible with 5.30.0. If any exist, +they are bugs, and we request that you submit a report. See L</Reporting Bugs> +below. =head1 Modules and Pragmata @@ -26,7 +26,11 @@ L</Reporting Bugs> below. =item * -L<Module::CoreList> has been upgraded from version 5.20190522 to 5.20191110. +L<Compress::Raw::Bzip2> has been upgraded from version 2.084 to 2.089. + +=item * + +L<Module::CoreList> has been upgraded from version 5.20191110 to 5.20200314. =back @@ -34,12 +38,9 @@ L<Module::CoreList> has been upgraded from version 5.20190522 to 5.20191110. =head2 Changes to Existing Documentation -We have attempted to update the documentation to reflect the changes listed in -this document. If you find any we have missed, send email to -L<perlbug@perl.org|mailto:perlbug@perl.org>. - -Additionally, documentation has been updated to reference GitHub as the new -canonical repository and to describe the new GitHub pull request workflow. +We have attempted to update the documentation to reflect the changes +listed in this document. If you find any we have missed, send email +to L<https://github.com/Perl/perl5/issues>. =head1 Configuration and Compilation @@ -47,10 +48,7 @@ canonical repository and to describe the new GitHub pull request workflow. =item * -The C<ECHO> macro is now defined. This is used in a C<dtrace> rule that was -originally changed for FreeBSD, and the FreeBSD make apparently predefines it. -The Solaris make does not predefine C<ECHO> which broke this rule on Solaris. -L<[perl #17057]|https://github.com/perl/perl5/issues/17057> +GCC 10 is now supported by F<Configure>. =back @@ -65,16 +63,9 @@ release. =over 4 -=item Win32 - -The locale tests could crash on Win32 due to a Windows bug, and separately due -to the CRT throwing an exception if the locale name wasn't validly encoded in -the current code page. - -For the second we now decode the locale name ourselves, and always decode it as -UTF-8. +=item Windows -L<[perl #16922]|https://github.com/perl/perl5/issues/16922> +The MYMALLOC (PERL_MALLOC) build on Windows has been fixed. =back @@ -84,58 +75,55 @@ L<[perl #16922]|https://github.com/perl/perl5/issues/16922> =item * -Setting C<$)> now properly sets supplementary group ids, if you have the -necessary privileges. -L<[perl #17031]|https://github.com/perl/perl5/issues/17031> +printf() or sprintf() with the C<%n> format no longer cause a panic on +debugging builds, or report an incorrectly cached length value when producing +C<SVfUTF8> flagged strings. -=item * - -C<readline @foo> now evaluates C<@foo> in scalar context. Previously, it would -be evaluated in list context, and since readline() pops only one argument from -the stack, the stack could underflow, or be left with unexpected values on it. -L<[perl #16929]|https://github.com/perl/perl5/issues/16929> +[L<GH #17221|https://github.com/Perl/perl5/issues/17221>] =item * -sv_gets() now recovers better if the target SV is modified by a signal handler. -L<[perl #16960]|https://github.com/perl/perl5/issues/16960> +A memory leak in regular expression patterns has been fixed. + +[L<GH #17218|https://github.com/Perl/perl5/issues/17218>] =item * -Matching a non-C<SVf_UTF8> string against a regular expression containing -Unicode literals could leak an SV on each match attempt. -L<[perl #17140]|https://github.com/perl/perl5/issues/17140> +A read beyond buffer in grok_infnan has been fixed. + +[L<GH #17370|https://github.com/Perl/perl5/issues/17370>] =item * -C<< sprintf("%.*a", -10000, $x) >> would cause a buffer overflow due to -mishandling of the negative precision value. -L<[perl #16942]|https://github.com/perl/perl5/issues/16942> +An assertion failure in the regular expression engine has been fixed. + +[L<GH #17372|https://github.com/Perl/perl5/issues/17372>] =item * -C<scalar()> on a reference could cause an erroneous assertion failure during -compilation. -L<[perl #16969]|https://github.com/perl/perl5/issues/16969> +C<(?{...})> eval groups in regular expressions no longer unintentionally +trigger "EVAL without pos change exceeded limit in regex". + +[L<GH #17490|https://github.com/Perl/perl5/issues/17490>] =back =head1 Acknowledgements -Perl 5.30.1 represents approximately 6 months of development since Perl 5.30.0 -and contains approximately 4,700 lines of changes across 67 files from 14 +Perl 5.30.2 represents approximately 4 months of development since Perl 5.30.1 +and contains approximately 2,100 lines of changes across 110 files from 15 authors. Excluding auto-generated files, documentation and release tools, there were -approximately 910 lines of changes to 20 .pm, .t, .c and .h files. +approximately 920 lines of changes to 30 .pm, .t, .c and .h files. Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers. The following people are known to have contributed -the improvements that became Perl 5.30.1: +the improvements that became Perl 5.30.2: -Chris 'BinGOs' Williams, Dan Book, David Mitchell, Hugo van der Sanden, James E -Keenan, Karen Etheridge, Karl Williamson, Manuel Mausz, Max Maischein, Nicolas -R., Sawyer X, Steve Hay, Tom Hukins, Tony Cook. +Chris 'BinGOs' Williams, Dan Book, David Mitchell, Hugo van der Sanden, Karen +Etheridge, Karl Williamson, Matthew Horsfall, Nicolas R., Petr Písař, Renee +Baecker, Sawyer X, Steve Hay, Tomasz Konojacki, 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 @@ -155,20 +143,18 @@ If you find what you think is a bug, you might check 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 you believe you have an unreported bug, please open an issue at +L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a +tiny but sufficient test case. 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. +inappropriate to send to a public issue tracker, then see L<perlsec/SECURITY +VULNERABILITY CONTACT INFORMATION> for details of how to report the issue. =head1 Give Thanks -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you -can do so by running the C<perlthanks> program: +If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, +you can do so by running the C<perlthanks> program: perlthanks diff --git a/gnu/usr.bin/perl/pod/perldiag.pod b/gnu/usr.bin/perl/pod/perldiag.pod index f69b1b8367d..709dd44b4e4 100644 --- a/gnu/usr.bin/perl/pod/perldiag.pod +++ b/gnu/usr.bin/perl/pod/perldiag.pod @@ -1924,7 +1924,7 @@ called as barewords. Something like this will work: (P) This is either an error in Perl, or, if you're using one, your L<custom regular expression engine|perlreapi>. If not the -latter, report the problem through the L<perlbug> utility. +latter, report the problem to L<https://github.com/Perl/perl5/issues>. =item corrupted regexp pointers @@ -4845,7 +4845,7 @@ utility to report; in regex; marked by S<<-- HERE> in m/%s/ (S regexp) You used a regular expression with case-insensitive matching, and there is a bug in Perl in which the built-in regular expression folding rules are not accurate. This may lead to incorrect results. -Please report this as a bug using the L<perlbug> utility. +Please report this as a bug to L<https://github.com/Perl/perl5/issues>. =item PerlIO layer ':win32' is experimental diff --git a/gnu/usr.bin/perl/pod/perlebcdic.pod b/gnu/usr.bin/perl/pod/perlebcdic.pod index d2e2d4e8ae5..3f5fc2cf91c 100644 --- a/gnu/usr.bin/perl/pod/perlebcdic.pod +++ b/gnu/usr.bin/perl/pod/perlebcdic.pod @@ -19,7 +19,7 @@ not all the modules found on CPAN but shipped with core Perl work on z/OS. If you want to use Perl on a non-z/OS EBCDIC machine, please let us know -by sending mail to perlbug@perl.org +at L<https://github.com/Perl/perl5/issues>. Writing Perl on an EBCDIC platform is really no different than writing on an L</ASCII> one, but with different underlying numbers, as we'll see diff --git a/gnu/usr.bin/perl/pod/perlguts.pod b/gnu/usr.bin/perl/pod/perlguts.pod index 34d92a42094..9a87c17f344 100644 --- a/gnu/usr.bin/perl/pod/perlguts.pod +++ b/gnu/usr.bin/perl/pod/perlguts.pod @@ -2339,8 +2339,8 @@ part of the API. (See L</Internal Functions>.) The easiest way to be B<sure> a function is part of the API is to find its entry in L<perlapi>. If it exists in L<perlapi>, it's part of the API. If it doesn't, and you -think it should be (i.e., you need it for your extension), send mail via -L<perlbug> explaining why you think it should be. +think it should be (i.e., you need it for your extension), submit an issue at +L<https://github.com/Perl/perl5/issues> explaining why you think it should be. Second problem: there must be a syntax so that the same subroutine declarations and calls can pass a structure as their first argument, diff --git a/gnu/usr.bin/perl/pod/perlhack.pod b/gnu/usr.bin/perl/pod/perlhack.pod index b9f2b5ffd27..5c6695c82c9 100644 --- a/gnu/usr.bin/perl/pod/perlhack.pod +++ b/gnu/usr.bin/perl/pod/perlhack.pod @@ -117,12 +117,9 @@ these commands: =head1 BUG REPORTING -If you want to report a bug in Perl, you must use the F<perlbug> -command line tool. This tool will ensure that your bug report includes -all the relevant system and configuration information. - -To browse existing Perl bugs and patches, you can use the web interface -at L<http://rt.perl.org/>. +If you want to report a bug in Perl, or browse existing Perl bugs and +patches, use the GitHub issue tracker at +L<https://github.com/perl/perl5/issues>. Please check the archive of the perl5-porters list (see below) and/or the bug tracking system before submitting a bug report. Often, you'll @@ -1172,11 +1169,11 @@ configurations. Both efforts welcome volunteers. In order to get involved in smoke testing of the perl itself visit -L<http://search.cpan.org/dist/Test-Smoke/>. In order to start smoke +L<https://metacpan.org/release/Test-Smoke>. In order to start smoke testing CPAN modules visit -L<http://search.cpan.org/dist/CPANPLUS-YACSmoke/> or -L<http://search.cpan.org/dist/minismokebox/> or -L<http://search.cpan.org/dist/CPAN-Reporter/>. +L<https://metacpan.org/release/CPANPLUS-YACSmoke> or +L<https://metacpan.org/release/minismokebox> or +L<https://metacpan.org/release/CPAN-Reporter>. =head1 WHAT NEXT? diff --git a/gnu/usr.bin/perl/pod/perlhist.pod b/gnu/usr.bin/perl/pod/perlhist.pod index 66e9d472bfa..a002d488220 100644 --- a/gnu/usr.bin/perl/pod/perlhist.pod +++ b/gnu/usr.bin/perl/pod/perlhist.pod @@ -671,13 +671,19 @@ the strings?). Sawyer X 5.30.0 2019-May-22 Steve 5.30.1-RC1 2019-Oct-27 Steve 5.30.1 2019-Nov-10 + Steve 5.30.2-RC1 2020-Feb-29 + Steve 5.30.2 2020-Mar-14 - Sawyer X 5.31.0 2018-May-24 The 5.31 development track + Sawyer X 5.31.0 2019-May-24 The 5.31 development track Ether 5.31.1 2019-Jun-20 Steve 5.31.2 2019-Jul-20 Tom H 5.31.3 2019-Aug-20 Max M 5.31.4 2019-Sep-20 Steve 5.31.5 2019-Oct-20 + BinGOs 5.31.6 2019-Nov-20 + Nicolas R 5.31.7 2019-Dec-20 + Matthew H 5.31.8 2020-Jan-20 + Renee 5.31.9 2020-Feb-20 =head2 SELECTED RELEASE SIZES diff --git a/gnu/usr.bin/perl/pod/perllocale.pod b/gnu/usr.bin/perl/pod/perllocale.pod index df2db5c474b..ec1af276034 100644 --- a/gnu/usr.bin/perl/pod/perllocale.pod +++ b/gnu/usr.bin/perl/pod/perllocale.pod @@ -1693,7 +1693,8 @@ effect. See L<perlembed/Using embedded Perl with POSIX locales>. It becomes more important for perl to know about all the possible locale categories on the platform, even if they aren't apparently used in your program. Perl knows all of the Linux ones. If your platform -has others, you can send email to L<mailto:perlbug@perl.org> for +has others, you can submit an issue at +L<https://github.com/Perl/perl5/issues> for inclusion of it in the next release. In the meantime, it is possible to edit the Perl source to teach it about the category, and then recompile. Search for instances of, say, C<LC_PAPER> in the source, and use that as @@ -1714,11 +1715,12 @@ In certain systems, the operating system's locale support is broken and cannot be fixed or used by Perl. Such deficiencies can and will result in mysterious hangs and/or Perl core dumps when C<use locale> is in effect. When confronted with such a system, -please report in excruciating detail to <F<perlbug@perl.org>>, and +please report in excruciating detail to +<L<https://github.com/Perl/perl5/issues>>, and also contact your vendor: bug fixes may exist for these problems in your operating system. Sometimes such bug fixes are called an operating system upgrade. If you have the source for Perl, include in -the perlbug email the output of the test described above in L</Testing +the bug report the output of the test described above in L</Testing for broken locales>. =head1 SEE ALSO diff --git a/gnu/usr.bin/perl/pod/perlmodinstall.pod b/gnu/usr.bin/perl/pod/perlmodinstall.pod index 6ce5c84d7e5..8cd44fd125a 100644 --- a/gnu/usr.bin/perl/pod/perlmodinstall.pod +++ b/gnu/usr.bin/perl/pod/perlmodinstall.pod @@ -140,7 +140,7 @@ If you used WinZip, this was already done for you. You'll need the C<nmake> utility, available at L<http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe> or dmake, available on CPAN. -L<http://search.cpan.org/dist/dmake/> +L<https://metacpan.org/release/dmake> Does the module require compilation (i.e. does it have files that end in .xs, .c, .h, .y, .cc, .cxx, or .C)? If it does, life is now diff --git a/gnu/usr.bin/perl/pod/perlmodlib.PL b/gnu/usr.bin/perl/pod/perlmodlib.PL index 9571b58f022..aed957ae516 100644 --- a/gnu/usr.bin/perl/pod/perlmodlib.PL +++ b/gnu/usr.bin/perl/pod/perlmodlib.PL @@ -119,7 +119,7 @@ push @mod, "=item Config\n\nAccess Perl configuration information\n\n"; # parse as (reasonably) sane Pod as-is to anything that attempts to # brute-force treat it as such. The content is already useful - this just # makes it tidier, by stopping anything doing this mistaking the rest of the -# Perl code for Pod. eg http://search.cpan.org/dist/perl/pod/perlmodlib.PL +# Perl code for Pod. eg https://metacpan.org/pod/perlmodlib print $out <<'=cut'; =head1 NAME diff --git a/gnu/usr.bin/perl/pod/perlootut.pod b/gnu/usr.bin/perl/pod/perlootut.pod index b340dc6ea70..d7474b4b4da 100644 --- a/gnu/usr.bin/perl/pod/perlootut.pod +++ b/gnu/usr.bin/perl/pod/perlootut.pod @@ -23,7 +23,7 @@ version. This document provides an introduction to object-oriented programming in Perl. It begins with a brief overview of the concepts behind object oriented design. Then it introduces several different OO systems from -L<CPAN|http://search.cpan.org> which build on top of what Perl +L<CPAN|https://www.cpan.org> which build on top of what Perl provides. By default, Perl's built-in OO system is very minimal, leaving you to @@ -547,7 +547,7 @@ C<Moose> itself. =item * Rich ecosystem There is a rich ecosystem of C<Moose> extensions on CPAN under the -L<MooseX|http://search.cpan.org/search?query=MooseX&mode=dist> +L<MooseX|https://metacpan.org/search?q=MooseX> namespace. In addition, many modules on CPAN already use C<Moose>, providing you with lots of examples to learn from. @@ -556,7 +556,7 @@ providing you with lots of examples to learn from. C<Moose> is a very powerful tool, and we can't cover all of its features here. We encourage you to learn more by reading the C<Moose> documentation, starting with -L<Moose::Manual|http://search.cpan.org/perldoc?Moose::Manual>. +L<Moose::Manual|https://metacpan.org/pod/Moose::Manual>. =back diff --git a/gnu/usr.bin/perl/pod/perlport.pod b/gnu/usr.bin/perl/pod/perlport.pod index b870c2334aa..b3ef9b5219a 100644 --- a/gnu/usr.bin/perl/pod/perlport.pod +++ b/gnu/usr.bin/perl/pod/perlport.pod @@ -1234,8 +1234,8 @@ character sets internally (usually Character Code Set ID 0037 for OS/400 and either 1047 or POSIX-BC for S/390 systems). The rest of this section may need updating, but we don't know what it -should say. Please email comments to -L<perlbug@perl.org|mailto:perlbug@perl.org>. +should say. Please submit comments to +L<https://github.com/Perl/perl5/issues>. On the mainframe Perl currently works under the "Unix system services for OS/390" (formerly known as OpenEdition), VM/ESA OpenEdition, or @@ -2475,7 +2475,8 @@ the past (5.005_03 and earlier), but we haven't been able to verify their status for the current release, either because the hardware/software platforms are rare or because we don't have an active champion on these platforms--or both. They used to work, -though, so go ahead and try compiling them, and let perlbug@perl.org +though, so go ahead and try compiling them, and let +L<https://github.com/Perl/perl5/issues> know of any trouble. 3b1 diff --git a/gnu/usr.bin/perl/pod/perlrecharclass.pod b/gnu/usr.bin/perl/pod/perlrecharclass.pod index bda60cd49e7..2e09c4bac59 100644 --- a/gnu/usr.bin/perl/pod/perlrecharclass.pod +++ b/gnu/usr.bin/perl/pod/perlrecharclass.pod @@ -1214,8 +1214,8 @@ illustrated above. Due to the way that Perl parses things, your parentheses and brackets may need to be balanced, even including comments. If you run into any -examples, please send them to C<perlbug@perl.org>, so that we can have a -concrete example for this man page. +examples, please submit them to L<https://github.com/Perl/perl5/issues>, +so that we can have a concrete example for this man page. We may change it so that things that remain legal uses in normal bracketed character classes might become illegal within this experimental diff --git a/gnu/usr.bin/perl/pod/perlthrtut.pod b/gnu/usr.bin/perl/pod/perlthrtut.pod index fa56f811229..5a7ae7f68d3 100644 --- a/gnu/usr.bin/perl/pod/perlthrtut.pod +++ b/gnu/usr.bin/perl/pod/perlthrtut.pod @@ -1084,13 +1084,13 @@ Annotated POD for L<threads>: L<http://annocpan.org/?mode=search&field=Module&name=threads> Latest version of L<threads> on CPAN: -L<http://search.cpan.org/search?module=threads> +L<https://metacpan.org/pod/threads> Annotated POD for L<threads::shared>: L<http://annocpan.org/?mode=search&field=Module&name=threads%3A%3Ashared> Latest version of L<threads::shared> on CPAN: -L<http://search.cpan.org/search?module=threads%3A%3Ashared> +L<https://metacpan.org/pod/threads::shared> Perl threads mailing list: L<http://lists.perl.org/list/ithreads.html> diff --git a/gnu/usr.bin/perl/pod/perlutil.pod b/gnu/usr.bin/perl/pod/perlutil.pod index b41a6118305..0051f68b175 100644 --- a/gnu/usr.bin/perl/pod/perlutil.pod +++ b/gnu/usr.bin/perl/pod/perlutil.pod @@ -106,10 +106,10 @@ and in particular, extending Perl with C. =item L<perlbug|perlbug> -F<perlbug> is the recommended way to report bugs in the perl interpreter -itself or any of the standard library modules back to the developers; -please read through the documentation for F<perlbug> thoroughly before -using it to submit a bug report. +F<perlbug> used to be the recommended way to report bugs in the perl +interpreter itself or any of the standard library modules back to the +developers; bug reports and patches should now be submitted to +L<https://github.com/Perl/perl5/issues>. =item L<perlthanks|perlbug> diff --git a/gnu/usr.bin/perl/proto.h b/gnu/usr.bin/perl/proto.h index 0f8feed1875..141ddbaee6d 100644 --- a/gnu/usr.bin/perl/proto.h +++ b/gnu/usr.bin/perl/proto.h @@ -4452,9 +4452,11 @@ PERL_CALLCONV int Perl_re_indentf(pTHX_ const char *fmt, U32 depth, ...); assert(fmt) STATIC void S_regdump_extflags(pTHX_ const char *lead, const U32 flags); STATIC void S_regdump_intflags(pTHX_ const char *lead, const U32 flags); -STATIC bool S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, const regnode_offset val, U32 depth); +STATIC bool S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, const regnode_offset val, U32 depth) + __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTAIL_STUDY \ assert(pRExC_state); assert(p); assert(val) + # endif # if defined(PERL_IN_REGEXEC_C) STATIC void S_debug_start_match(pTHX_ const REGEXP *prog, const bool do_utf8, const char *start, const char *end, const char *blurb); @@ -5587,9 +5589,11 @@ STATIC regnode_offset S_regnode_guts(pTHX_ RExC_state_t *pRExC_state, const U8 o STATIC regnode_offset S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth); #define PERL_ARGS_ASSERT_REGPIECE \ assert(pRExC_state); assert(flagp) -STATIC bool S_regtail(pTHX_ RExC_state_t * pRExC_state, const regnode_offset p, const regnode_offset val, const U32 depth); +STATIC bool S_regtail(pTHX_ RExC_state_t * pRExC_state, const regnode_offset p, const regnode_offset val, const U32 depth) + __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTAIL \ assert(pRExC_state); assert(p); assert(val) + STATIC void S_scan_commit(pTHX_ const RExC_state_t *pRExC_state, struct scan_data_t *data, SSize_t *minlenp, int is_inf); #define PERL_ARGS_ASSERT_SCAN_COMMIT \ assert(pRExC_state); assert(data); assert(minlenp) diff --git a/gnu/usr.bin/perl/regcomp.c b/gnu/usr.bin/perl/regcomp.c index 01b02824630..93c8d98fbb0 100644 --- a/gnu/usr.bin/perl/regcomp.c +++ b/gnu/usr.bin/perl/regcomp.c @@ -131,6 +131,8 @@ struct RExC_state_t { char *parse; /* Input-scan pointer. */ char *copy_start; /* start of copy of input within constructed parse string */ + char *save_copy_start; /* Provides one level of saving + and restoring 'copy_start' */ char *copy_start_in_input; /* Position in input string corresponding to copy_start */ SSize_t whilem_seen; /* number of WHILEM in this expr */ @@ -229,6 +231,7 @@ struct RExC_state_t { #define RExC_precomp (pRExC_state->precomp) #define RExC_copy_start_in_input (pRExC_state->copy_start_in_input) #define RExC_copy_start_in_constructed (pRExC_state->copy_start) +#define RExC_save_copy_start_in_constructed (pRExC_state->save_copy_start) #define RExC_precomp_end (pRExC_state->precomp_end) #define RExC_rx_sv (pRExC_state->rx_sv) #define RExC_rx (pRExC_state->rx) @@ -817,8 +820,13 @@ static const scan_data_t zero_scan_data = { } STMT_END /* Setting this to NULL is a signal to not output warnings */ -#define TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE RExC_copy_start_in_constructed = NULL -#define RESTORE_WARNINGS RExC_copy_start_in_constructed = RExC_precomp +#define TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE \ + STMT_START { \ + RExC_save_copy_start_in_constructed = RExC_copy_start_in_constructed;\ + RExC_copy_start_in_constructed = NULL; \ + } STMT_END +#define RESTORE_WARNINGS \ + RExC_copy_start_in_constructed = RExC_save_copy_start_in_constructed /* Since a warning can be generated multiple times as the input is reparsed, we * output it the first time we come to that point in the parse, but suppress it @@ -2761,7 +2769,12 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, if (OP(noper) == NOTHING) { /* skip past a NOTHING at the start of an alternation * eg, /(?:)a|(?:b)/ should be the same as /a|b/ + * + * If the next node is not something we are supposed to process + * we will just ignore it due to the condition guarding the + * next block. */ + regnode *noper_next= regnext(noper); if (noper_next < tail) noper= noper_next; @@ -2983,6 +2996,9 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *noper_next= regnext(noper); if (noper_next < tail) noper= noper_next; + /* we will undo this assignment if noper does not + * point at a trieable type in the else clause of + * the following statement. */ } if ( noper < tail @@ -3044,7 +3060,13 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, Perl_croak( aTHX_ "panic! In trie construction, no char mapping for %" IVdf, uvc ); } } - } + } else { + /* If we end up here it is because we skipped past a NOTHING, but did not end up + * on a trieable type. So we need to reset noper back to point at the first regop + * in the branch before we call TRIE_HANDLE_WORD() + */ + noper= NEXTOPER(cur); + } TRIE_HANDLE_WORD(state); } /* end second pass */ @@ -3208,6 +3230,9 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *noper_next= regnext(noper); if (noper_next < tail) noper= noper_next; + /* we will undo this assignment if noper does not + * point at a trieable type in the else clause of + * the following statement. */ } if ( noper < tail @@ -3248,6 +3273,12 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, /* charid is now 0 if we dont know the char read, or * nonzero if we do */ } + } else { + /* If we end up here it is because we skipped past a NOTHING, but did not end up + * on a trieable type. So we need to reset noper back to point at the first regop + * in the branch before we call TRIE_HANDLE_WORD(). + */ + noper= NEXTOPER(cur); } accept_state = TRIE_NODENUM( state ); TRIE_HANDLE_WORD(accept_state); @@ -11299,10 +11330,15 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) return 0; } - REGTAIL(pRExC_state, ret, atomic); + if (! REGTAIL(pRExC_state, ret, atomic)) { + REQUIRE_BRANCHJ(flagp, 0); + } - REGTAIL(pRExC_state, atomic, - reg_node(pRExC_state, SRCLOSE)); + if (! REGTAIL(pRExC_state, atomic, reg_node(pRExC_state, + SRCLOSE))) + { + REQUIRE_BRANCHJ(flagp, 0); + } RExC_in_script_run = 0; return ret; @@ -11761,7 +11797,9 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) RExC_flags & RXf_PMf_COMPILETIME ); FLAGS(REGNODE_p(ret)) = 2; - REGTAIL(pRExC_state, ret, eval); + if (! REGTAIL(pRExC_state, ret, eval)) { + REQUIRE_BRANCHJ(flagp, 0); + } /* deal with the length of this later - MJD */ return ret; } @@ -11814,7 +11852,9 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) tail = reg(pRExC_state, 1, &flag, depth+1); RETURN_FAIL_ON_RESTART(flag, flagp); - REGTAIL(pRExC_state, ret, tail); + if (! REGTAIL(pRExC_state, ret, tail)) { + REQUIRE_BRANCHJ(flagp, 0); + } goto insert_if; } else if ( RExC_parse[0] == '<' /* (?(<NAME>)...) */ @@ -11906,15 +11946,22 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) } nextchar(pRExC_state); insert_if: - REGTAIL(pRExC_state, ret, reganode(pRExC_state, IFTHEN, 0)); + if (! REGTAIL(pRExC_state, ret, reganode(pRExC_state, + IFTHEN, 0))) + { + REQUIRE_BRANCHJ(flagp, 0); + } br = regbranch(pRExC_state, &flags, 1, depth+1); if (br == 0) { RETURN_FAIL_ON_RESTART(flags,flagp); FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags); } else - REGTAIL(pRExC_state, br, reganode(pRExC_state, - LONGJMP, 0)); + if (! REGTAIL(pRExC_state, br, reganode(pRExC_state, + LONGJMP, 0))) + { + REQUIRE_BRANCHJ(flagp, 0); + } c = UCHARAT(RExC_parse); nextchar(pRExC_state); if (flags&HASWIDTH) @@ -11931,7 +11978,9 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags); } - REGTAIL(pRExC_state, ret, lastbr); + if (! REGTAIL(pRExC_state, ret, lastbr)) { + REQUIRE_BRANCHJ(flagp, 0); + } if (flags&HASWIDTH) *flagp |= HASWIDTH; c = UCHARAT(RExC_parse); @@ -11946,16 +11995,26 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) vFAIL("Switch (?(condition)... contains too many branches"); } ender = reg_node(pRExC_state, TAIL); - REGTAIL(pRExC_state, br, ender); + if (! REGTAIL(pRExC_state, br, ender)) { + REQUIRE_BRANCHJ(flagp, 0); + } if (lastbr) { - REGTAIL(pRExC_state, lastbr, ender); - REGTAIL(pRExC_state, REGNODE_OFFSET( - NEXTOPER( - NEXTOPER(REGNODE_p(lastbr)))), - ender); + if (! REGTAIL(pRExC_state, lastbr, ender)) { + REQUIRE_BRANCHJ(flagp, 0); + } + if (! REGTAIL(pRExC_state, + REGNODE_OFFSET( + NEXTOPER( + NEXTOPER(REGNODE_p(lastbr)))), + ender)) + { + REQUIRE_BRANCHJ(flagp, 0); + } } else - REGTAIL(pRExC_state, ret, ender); + if (! REGTAIL(pRExC_state, ret, ender)) { + REQUIRE_BRANCHJ(flagp, 0); + } #if 0 /* Removing this doesn't cause failures in the test suite -- khw */ RExC_size++; /* XXX WHY do we need this?!! For large programs it seems to be required @@ -12105,7 +12164,9 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) *flagp |= flags&SIMPLE; } if (is_open) { /* Starts with OPEN. */ - REGTAIL(pRExC_state, ret, br); /* OPEN -> first. */ + if (! REGTAIL(pRExC_state, ret, br)) { /* OPEN -> first. */ + REQUIRE_BRANCHJ(flagp, 0); + } } else if (paren != '?') /* Not Conditional */ ret = br; @@ -12113,12 +12174,15 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) lastbr = br; while (*RExC_parse == '|') { if (RExC_use_BRANCHJ) { + bool shut_gcc_up; + ender = reganode(pRExC_state, LONGJMP, 0); /* Append to the previous. */ - REGTAIL(pRExC_state, - REGNODE_OFFSET(NEXTOPER(NEXTOPER(REGNODE_p(lastbr)))), - ender); + shut_gcc_up = REGTAIL(pRExC_state, + REGNODE_OFFSET(NEXTOPER(NEXTOPER(REGNODE_p(lastbr)))), + ender); + PERL_UNUSED_VAR(shut_gcc_up); } nextchar(pRExC_state); if (freeze_paren) { @@ -12193,7 +12257,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) } break; } - DEBUG_PARSE_r( + DEBUG_PARSE_r({ DEBUG_PARSE_MSG("lsbr"); regprop(RExC_rx, RExC_mysv1, REGNODE_p(lastbr), NULL, pRExC_state); regprop(RExC_rx, RExC_mysv2, REGNODE_p(ender), NULL, pRExC_state); @@ -12204,7 +12268,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) (IV)ender, (IV)(ender - lastbr) ); - ); + }); if (! REGTAIL(pRExC_state, lastbr, ender)) { REQUIRE_BRANCHJ(flagp, 0); } @@ -12229,9 +12293,10 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) is_nothing= 0; } else if (op == BRANCHJ) { - REGTAIL_STUDY(pRExC_state, - REGNODE_OFFSET(NEXTOPER(NEXTOPER(br))), - ender); + bool shut_gcc_up = REGTAIL_STUDY(pRExC_state, + REGNODE_OFFSET(NEXTOPER(NEXTOPER(br))), + ender); + PERL_UNUSED_VAR(shut_gcc_up); /* for now we always disable this optimisation * / if ( OP(NEXTOPER(NEXTOPER(br))) != NOTHING || regnext(NEXTOPER(NEXTOPER(br))) != REGNODE_p(ender)) @@ -12244,7 +12309,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) br= PL_regkind[OP(ret_as_regnode)] != BRANCH ? regnext(ret_as_regnode) : ret_as_regnode; - DEBUG_PARSE_r( + DEBUG_PARSE_r({ DEBUG_PARSE_MSG("NADA"); regprop(RExC_rx, RExC_mysv1, ret_as_regnode, NULL, pRExC_state); @@ -12257,7 +12322,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth) (IV)ender, (IV)(ender - ret) ); - ); + }); OP(br)= NOTHING; if (OP(REGNODE_p(ender)) == TAIL) { NEXT_OFF(br)= 0; @@ -12543,7 +12608,9 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) const regnode_offset w = reg_node(pRExC_state, WHILEM); FLAGS(REGNODE_p(w)) = 0; - REGTAIL(pRExC_state, ret, w); + if (! REGTAIL(pRExC_state, ret, w)) { + REQUIRE_BRANCHJ(flagp, 0); + } if (RExC_use_BRANCHJ) { reginsert(pRExC_state, LONGJMP, ret, depth+1); reginsert(pRExC_state, NOTHING, ret, depth+1); @@ -12558,7 +12625,11 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) if (RExC_use_BRANCHJ) NEXT_OFF(REGNODE_p(ret)) = 3; /* Go over NOTHING to LONGJMP. */ - REGTAIL(pRExC_state, ret, reg_node(pRExC_state, NOTHING)); + if (! REGTAIL(pRExC_state, ret, reg_node(pRExC_state, + NOTHING))) + { + REQUIRE_BRANCHJ(flagp, 0); + } RExC_whilem_seen++; MARK_NAUGHTY_EXP(1, 4); /* compound interest */ } @@ -12630,16 +12701,22 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) if (*RExC_parse == '?') { nextchar(pRExC_state); reginsert(pRExC_state, MINMOD, ret, depth+1); - REGTAIL(pRExC_state, ret, ret + NODE_STEP_REGNODE); + if (! REGTAIL(pRExC_state, ret, ret + NODE_STEP_REGNODE)) { + REQUIRE_BRANCHJ(flagp, 0); + } } else if (*RExC_parse == '+') { regnode_offset ender; nextchar(pRExC_state); ender = reg_node(pRExC_state, SUCCEED); - REGTAIL(pRExC_state, ret, ender); + if (! REGTAIL(pRExC_state, ret, ender)) { + REQUIRE_BRANCHJ(flagp, 0); + } reginsert(pRExC_state, SUSPEND, ret, depth+1); ender = reg_node(pRExC_state, TAIL); - REGTAIL(pRExC_state, ret, ender); + if (! REGTAIL(pRExC_state, ret, ender)) { + REQUIRE_BRANCHJ(flagp, 0); + } } if (ISMULT2(RExC_parse)) { @@ -14684,6 +14761,21 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) if (maybe_exactfu) { node_type = EXACTFLU8; } + else if (UNLIKELY( + _invlist_contains_cp(PL_HasMultiCharFold, ender))) + { + /* A character that folds to more than one will + * match multiple characters, so can't be SIMPLE. + * We don't have to worry about this with EXACTFLU8 + * nodes just above, as they have already been + * folded (since the fold doesn't vary at run + * time). Here, if the final character in the node + * folds to multiple, it can't be simple. (This + * only has an effect if the node has only a single + * character, hence the final one, as elsewhere we + * turn off simple for nodes whose length > 1 */ + maybe_SIMPLE = 0; + } } else if (node_type == EXACTF) { /* Means is /di */ @@ -18090,6 +18182,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, /* Likewise for 'posixes' */ _invlist_union(posixes, cp_list, &cp_list); + SvREFCNT_dec(posixes); /* Likewise for anything else in the range that matched only * under UTF-8 */ @@ -19814,8 +19907,8 @@ S_regtail(pTHX_ RExC_state_t * pRExC_state, } else { if (val - scan > U16_MAX) { - /* Since not all callers check the return value, populate this with - * something that won't loop and will likely lead to a crash if + /* Populate this with something that won't loop and will likely + * lead to a crash if the caller ignores the failure return, and * execution continues */ NEXT_OFF(REGNODE_p(scan)) = U16_MAX; return FALSE; @@ -19926,6 +20019,9 @@ S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, } else { if (val - scan > U16_MAX) { + /* Populate this with something that won't loop and will likely + * lead to a crash if the caller ignores the failure return, and + * execution continues */ NEXT_OFF(REGNODE_p(scan)) = U16_MAX; return FALSE; } diff --git a/gnu/usr.bin/perl/regexec.c b/gnu/usr.bin/perl/regexec.c index bc18396b5ff..fc4dbffa72d 100644 --- a/gnu/usr.bin/perl/regexec.c +++ b/gnu/usr.bin/perl/regexec.c @@ -7243,7 +7243,7 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) /* NOTREACHED */ case EVAL: /* /(?{...})B/ /(??{A})B/ and /(?(?{...})X|Y)B/ */ - if (cur_eval && cur_eval->locinput==locinput) { + if (logical == 2 && cur_eval && cur_eval->locinput==locinput) { if ( ++nochange_depth > max_nochange_depth ) Perl_croak(aTHX_ "EVAL without pos change exceeded limit in regex"); } else { diff --git a/gnu/usr.bin/perl/sv.c b/gnu/usr.bin/perl/sv.c index d650eafd51a..648da9297b6 100644 --- a/gnu/usr.bin/perl/sv.c +++ b/gnu/usr.bin/perl/sv.c @@ -13234,7 +13234,9 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p Perl_croak_nocontext( "Missing argument for %%n in %s", PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()"); - sv_setuv_mg(argsv, has_utf8 ? (UV)sv_len_utf8(sv) : (UV)len); + sv_setuv_mg(argsv, has_utf8 + ? (UV)utf8_length((U8*)SvPVX(sv), (U8*)SvEND(sv)) + : (UV)len); } goto done_valid_conversion; } @@ -13393,6 +13395,13 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()"); } + if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) { + /* while we shouldn't set the cache, it may have been previously + set in the caller, so clear it */ + MAGIC *mg = mg_find(sv, PERL_MAGIC_utf8); + if (mg) + magic_setutf8(sv,mg); /* clear UTF8 cache */ + } SvTAINT(sv); #ifdef USE_LOCALE_NUMERIC diff --git a/gnu/usr.bin/perl/t/README b/gnu/usr.bin/perl/t/README index 97ba6fdf962..23ca7f726a0 100644 --- a/gnu/usr.bin/perl/t/README +++ b/gnu/usr.bin/perl/t/README @@ -19,7 +19,8 @@ will fail, you may want to use Test::Harness thusly: ./perl harness This method pinpoints failed tests automatically. -If you come up with new tests, please send them to perlbug@perl.org. +If you come up with new tests, please submit them to +https://github.com/Perl/perl5/issues. Tests in the t/base/ directory ought to be runnable with plain miniperl. That is, they should not require Config.pm nor should they require any diff --git a/gnu/usr.bin/perl/t/op/groups.t b/gnu/usr.bin/perl/t/op/groups.t index 7e064cc21fe..69ea0a19576 100644 --- a/gnu/usr.bin/perl/t/op/groups.t +++ b/gnu/usr.bin/perl/t/op/groups.t @@ -234,7 +234,7 @@ sub _system_groups { # # If these tests fail, report the particular incantation you use # on this platform to find *all* the groups that an arbitrary -# user may belong to, using the 'perlbug' program. +# user may belong to, using the issue tracker. EOM } return ( $cmd, $str ); diff --git a/gnu/usr.bin/perl/t/op/sprintf2.t b/gnu/usr.bin/perl/t/op/sprintf2.t index 569bd8053dc..ea968790ce0 100755 --- a/gnu/usr.bin/perl/t/op/sprintf2.t +++ b/gnu/usr.bin/perl/t/op/sprintf2.t @@ -1152,4 +1152,14 @@ foreach( is sprintf("%.0f", $_), sprintf("%-.0f", $_), "special-case %.0f on $_"; } +{ + # gh #17221 + my ($off1, $off2); + my $x = eval { sprintf "%n0%n\x{100}", $off1, $off2 }; + is($@, "", "no exception"); + is($x, "0\x{100}", "reasonable result"); + is($off1, 0, "offset at start"); + is($off2, 1, "offset after 0"); +} + done_testing(); diff --git a/gnu/usr.bin/perl/t/porting/libperl.t b/gnu/usr.bin/perl/t/porting/libperl.t index f5fb53d2c32..72b4220c6a6 100644 --- a/gnu/usr.bin/perl/t/porting/libperl.t +++ b/gnu/usr.bin/perl/t/porting/libperl.t @@ -581,9 +581,11 @@ if (defined $nm_err_tmp) { while (<$nm_err_fh>) { # OS X has weird error where nm warns about # "no name list" but then outputs fine. - if (/nm: no name list/ && $^O eq 'darwin') { - print "# $^O ignoring $nm output: $_"; - next; + if ( $^O eq 'darwin' ) { + if (/nm: no name list/ || /^no symbols$/ ) { + print "# $^O ignoring $nm output: $_"; + next; + } } warn "$0: Unexpected $nm error: $_"; $error++; diff --git a/gnu/usr.bin/perl/t/porting/podcheck.t b/gnu/usr.bin/perl/t/porting/podcheck.t index da52e26f5d2..a6ab20fed53 100755 --- a/gnu/usr.bin/perl/t/porting/podcheck.t +++ b/gnu/usr.bin/perl/t/porting/podcheck.t @@ -78,7 +78,7 @@ points to just one target. (The destination pod could have two targets with the same name.) The way that the C<LE<lt>E<gt>> pod command works (for links outside the pod) -is to actually create a link to C<search.cpan.org> with an embedded query for +is to actually create a link to C<metacpan.org> with an embedded query for the desired pod or man page. That means that links outside the distribution are valid. podcheck.t doesn't verify the validity of such links, but instead keeps a database of those known to be valid. This means that if a link to a diff --git a/gnu/usr.bin/perl/t/re/bigfuzzy_not_utf8.t b/gnu/usr.bin/perl/t/re/bigfuzzy_not_utf8.t Binary files differnew file mode 100644 index 00000000000..b4dfd150a92 --- /dev/null +++ b/gnu/usr.bin/perl/t/re/bigfuzzy_not_utf8.t diff --git a/gnu/usr.bin/perl/t/re/pat.t b/gnu/usr.bin/perl/t/re/pat.t index 6a868f4bcd4..9338dcc98e5 100755 --- a/gnu/usr.bin/perl/t/re/pat.t +++ b/gnu/usr.bin/perl/t/re/pat.t @@ -25,7 +25,7 @@ BEGIN { skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader; skip_all_without_unicode_tables(); -plan tests => 864; # Update this when adding/deleting tests. +plan tests => 869; # Update this when adding/deleting tests. run_tests() unless caller; @@ -2006,6 +2006,13 @@ CODE { # [perl #133871], ASAN/valgrind out-of-bounds access fresh_perl_like('qr/(?|(())|())|//', qr/syntax error/, {}, "[perl #133871]"); } + { # [perl #133871], ASAN/valgrind out-of-bounds access + fresh_perl_like('qr/\p{nv:NAnq}/', qr/Can't find Unicode property definition/, {}, "GH #17367"); + } + { # GH #17370, ASAN/valgrind out-of-bounds access + fresh_perl_like('qr/\p{nv:qnan}/', qr/Can't find Unicode property definition/, {}, "GH #17370"); + } + { # [perl #133921], segfault fresh_perl_is('qr0||ß+p00000F00000ù\Q00000ÿ00000x00000x0c0e0\Qx0\Qx0\x{0c!}\;\;î0\x fresh_perl_is('|ß+W0ü0r0\Qx0\Qx0x0c0G00000000000000000O000000000x0x0x0c!}\;îçÿù\Q0 \x @@ -2115,6 +2122,25 @@ x{0c!}\;\;îçÿ like(runperl(prog => "$s", stderr => 1), qr/Unmatched \(/); } +SKIP: + { # [perl #134334], Assertion failure + my $utf8_locale = find_utf8_ctype_locale(); + skip "no UTF-8 locale available" unless $utf8_locale; + fresh_perl_like("use POSIX; POSIX::setlocale(&LC_CTYPE, '$utf8_locale'); 'ssss' =~ /\xDF+?sX/il;", + qr/^$/, + {}, + "Assertion failure matching /il on single char folding to multi"); + } + + # gh17490: test recursion check + { + my $eval = '(?{1})'; + my $re = sprintf '(?&FOO)(?(DEFINE)(?<FOO>%sfoo))', $eval x 20; + my $result = eval qq{"foo" =~ /$re/}; + is($@ // '', '', "many evals did not die"); + ok($result, "regexp correctly matched"); + } + } # End of sub run_tests 1; diff --git a/gnu/usr.bin/perl/t/re/re_tests b/gnu/usr.bin/perl/t/re/re_tests index 17a5b53eee7..d07c94381db 100644 --- a/gnu/usr.bin/perl/t/re/re_tests +++ b/gnu/usr.bin/perl/t/re/re_tests @@ -2016,6 +2016,7 @@ AB\s+\x{100} AB \x{100}X y - - /(?iu)(?<=\xdf)hbase/ sshbase y $& hbase /\x{30c3}?[\x{30a2}\x{30a4}\x{30a6}\x{30a8}\x{30aa}-\x{30e2}\x{30e4}\x{30e6}\x{30e8}-\x{30f4}](?:[\x{30e3}\x{30e5}\x{30e7}\x{30a1}\x{30a3}\x{30a5}\x{30a7}\x{30a9}])?\x{30fc}?\x{30f3}?/ \x{30de}\x{30fc}\x{30af}\x{30b5}\x{30fc}\x{30d3}\x{30b9} y $& \x{30de}\x{30fc} # part of [perl #133942 /[\x{3041}-\x{3093}]+/ \x{6f22}\x{5b57}\x{3001}\x{30ab}\x{30bf}\x{30ab}\x{30ca}\x{3001}\x{3072}\x{3089}\x{304c}\x{306a}\x{306e}\x{5165}\x{3063}\x{305f}String y $& \x{3072}\x{3089}\x{304c}\x{306a}\x{306e} # [perl #133978] - +/(?:0)|(?:)(?:[1-9])/ q0 y $& 0 # [https://github.com/Perl/perl5/issues/17372] # Keep these lines at the end of the file +# pat string y/n/etc expr expected-expr skip-reason comment # vim: softtabstop=0 noexpandtab diff --git a/gnu/usr.bin/perl/t/re/reg_mesg.t b/gnu/usr.bin/perl/t/re/reg_mesg.t index c5c79f0323a..d10fa2c09a2 100755 --- a/gnu/usr.bin/perl/t/re/reg_mesg.t +++ b/gnu/usr.bin/perl/t/re/reg_mesg.t @@ -318,6 +318,7 @@ my @death = '/\p{Is_Other_Alphabetic=F}/ ' => 'Can\'t find Unicode property definition "Is_Other_Alphabetic=F" {#} m/\p{Is_Other_Alphabetic=F}{#}/', '/\x{100}(?(/' => 'Unknown switch condition (?(...)) {#} m/\\x{100}(?({#}/', # [perl #133896] '/(?[\N{KEYCAP DIGIT NINE}/' => '\N{} in inverted character class or as a range end-point is restricted to one character {#} m/(?[\\N{U+39.FE0F.20E3{#}}/', # [perl #133988] + '/0000000000000000[\N{U+0.00}0000/' => 'Unmatched [ {#} m/0000000000000000[{#}\N{U+0.00}0000/', # [perl #134059] ); # These are messages that are death under 'use re "strict"', and may or may diff --git a/gnu/usr.bin/perl/util.c b/gnu/usr.bin/perl/util.c index a9357004d6f..9b99a91145c 100644 --- a/gnu/usr.bin/perl/util.c +++ b/gnu/usr.bin/perl/util.c @@ -2248,7 +2248,7 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val) envstr = S_env_alloc(NULL, nlen, vlen, 2, 1); my_setenv_format(envstr, nam, nlen, val, vlen); (void)PerlEnv_putenv(envstr); - Safefree(envstr); + safesysfree(envstr); } # endif /* WIN32 || NETWARE */ diff --git a/gnu/usr.bin/perl/utils/h2xs.PL b/gnu/usr.bin/perl/utils/h2xs.PL index 92dce0d346a..d2cd26a9504 100644 --- a/gnu/usr.bin/perl/utils/h2xs.PL +++ b/gnu/usr.bin/perl/utils/h2xs.PL @@ -1937,7 +1937,7 @@ WriteMakefile( AUTHOR => '$author <$email>', #LICENSE => 'perl', #Value must be from legacy list of licenses here - #http://search.cpan.org/perldoc?Module%3A%3ABuild%3A%3AAPI + #https://metacpan.org/pod/Module::Build::API END if (!$opt_X) { # print C stuff, unless XS is disabled $opt_F = '' unless defined $opt_F; @@ -1999,7 +1999,7 @@ $generate_code __END__ gave unexpected error $@ Please report the circumstances of this bug in h2xs version $H2XS_VERSION -using the perlbug script. +using the issue tracker at https://github.com/Perl/perl5/issues. EOM } else { my $fail; @@ -2020,7 +2020,7 @@ the files $ext$modpname/$constscfname and $ext$modpname/$constsxsfname correctly. Please report the circumstances of this bug in h2xs version $H2XS_VERSION -using the perlbug script. +using the issue tracker at https://github.com/Perl/perl5/issues. EOM } else { unlink $constscfname, $constsxsfname; diff --git a/gnu/usr.bin/perl/utils/perlbug.PL b/gnu/usr.bin/perl/utils/perlbug.PL index 2f7a9e8d675..54703a71ef0 100644 --- a/gnu/usr.bin/perl/utils/perlbug.PL +++ b/gnu/usr.bin/perl/utils/perlbug.PL @@ -1275,7 +1275,7 @@ B<perlbug> S<[ B<-v> ]> S<[ B<-r> I<returnaddress> ]> =head1 DESCRIPTION -This program is designed to help you generate and send bug reports +This program is designed to help you generate bug reports (and thank-you notes) about perl5 and the modules which ship with it. In most cases, you can just run it interactively from a command @@ -1287,17 +1287,16 @@ non-core module (such as Tk, DBI, etc), then please see the documentation that came with that distribution to determine the correct place to report bugs. -If you are unable to send your report using B<perlbug> (most likely -because your system doesn't have a way to send mail that perlbug -recognizes), you may be able to use this tool to compose your report -and save it to a file which you can then send to B<perlbug@perl.org> -using your regular mail client. +Bug reports should be submitted to the GitHub issue tracker at +L<https://github.com/Perl/perl5/issues>. The B<perlbug@perl.org> +address no longer automatically opens tickets. You can use this tool +to compose your report and save it to a file which you can then submit +to the issue tracker. In extreme cases, B<perlbug> may not work well enough on your system to guide you through composing a bug report. In those cases, you -may be able to use B<perlbug -d> to get system configuration -information to include in a manually composed bug report to -B<perlbug@perl.org>. +may be able to use B<perlbug -d> or B<perl -V> to get system +configuration information to include in your issue report. When reporting a bug, please run through this checklist: @@ -1371,7 +1370,7 @@ Be sure to include the B<exact> error messages, if any. If you get a core dump (or equivalent), you may use a debugger (B<dbx>, B<gdb>, etc) to produce a stack trace to include in the bug -report. +report. NOTE: unless your Perl has been compiled with debug info (often B<-g>), the stack trace is likely to be somewhat hard to use @@ -1390,9 +1389,11 @@ will help a great deal. In other words, try to analyze the problem If so, that's great news; bug reports with patches are likely to receive significantly more attention and interest than those without -patches. Please attach your patch to the report using the C<-p> option. -When sending a patch, create it using C<git format-patch> if possible, -though a unified diff created with C<diff -pu> will do nearly as well. +patches. Please submit your patch via the GitHub Pull Request workflow +as described in B<perldoc> L<perlhack>. You may also send patches to +B<perl5-porters@perl.org>. When sending a patch, create it using +C<git format-patch> if possible, though a unified diff created with +C<diff -pu> will do nearly as well. Your patch may be returned with requests for changes, or requests for more detailed explanations about your fix. @@ -1407,21 +1408,6 @@ same style as the code you are trying to patch. Make sure your patch really does work (C<make test>, if the thing you're patching is covered by Perl's test suite). -=item Can you use C<perlbug> to submit the report? - -B<perlbug> will, amongst other things, ensure your report includes -crucial information about your version of perl. If C<perlbug> is -unable to mail your report after you have typed it in, you may have -to compose the message yourself, add the output produced by C<perlbug --d> and email it to B<perlbug@perl.org>. If, for some reason, you -cannot run C<perlbug> at all on your system, be sure to include the -entire output produced by running C<perl -V> (note the uppercase V). - -Whether you use C<perlbug> or send the email manually, please make -your Subject line informative. "a bug" is not informative. Neither -is "perl crashes" nor is "HELP!!!". These don't help. A compact -description of what's wrong is fine. - =item Can you use C<perlbug> to submit a thank-you note? Yes, you can do this by using the C<-T> option. @@ -1430,6 +1416,10 @@ smile. =back +Please make your issue title informative. "a bug" is not informative. +Neither is "perl crashes" nor is "HELP!!!". These don't help. A compact +description of what's wrong is fine. + Having done your bit, please be prepared to wait, to be told the bug is in your code, or possibly to get no reply at all. The volunteers who maintain Perl are busy folks, so if your problem is @@ -1438,8 +1428,8 @@ a duplicate of an existing report, you may not receive a personal reply. If it is important to you that your bug be fixed, do monitor the -perl5-porters@perl.org mailing list (mailing lists are moderated, your -message may take a while to show up) and the commit logs to development +issue tracker (you will be subscribed to notifications for issues you +submit or comment on) and the commit logs to development versions of Perl, and encourage the maintainers with kind words or offers of frosty beverages. (Please do be kind to the maintainers. Harassing or flaming them is likely to have the opposite effect of the diff --git a/gnu/usr.bin/perl/vms/descrip_mms.template b/gnu/usr.bin/perl/vms/descrip_mms.template index 29920574b2d..4b3fd683e1e 100644 --- a/gnu/usr.bin/perl/vms/descrip_mms.template +++ b/gnu/usr.bin/perl/vms/descrip_mms.template @@ -313,7 +313,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5) extra.pods : miniperl @ @extra_pods.com -PERLDELTA_CURRENT = [.pod]perl5301delta.pod +PERLDELTA_CURRENT = [.pod]perl5302delta.pod $(PERLDELTA_CURRENT) : [.pod]perldelta.pod Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) diff --git a/gnu/usr.bin/perl/win32/GNUmakefile b/gnu/usr.bin/perl/win32/GNUmakefile index d760a9a4d1b..d080617c69d 100644 --- a/gnu/usr.bin/perl/win32/GNUmakefile +++ b/gnu/usr.bin/perl/win32/GNUmakefile @@ -64,7 +64,7 @@ INST_TOP := $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -#INST_VER := \5.30.1 +#INST_VER := \5.30.2 # # Comment this out if you DON'T want your perl installation to have @@ -1762,7 +1762,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5301delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5302delta.pod $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1861,7 +1861,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5301delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5302delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/gnu/usr.bin/perl/win32/Makefile b/gnu/usr.bin/perl/win32/Makefile index 12614df3a33..707d77b4f12 100644 --- a/gnu/usr.bin/perl/win32/Makefile +++ b/gnu/usr.bin/perl/win32/Makefile @@ -38,7 +38,7 @@ INST_TOP = $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -#INST_VER = \5.30.1 +#INST_VER = \5.30.2 # # Comment this out if you DON'T want your perl installation to have @@ -1283,7 +1283,7 @@ utils: $(PERLEXE) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5301delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5302delta.pod cd ..\win32 $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. @@ -1383,7 +1383,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5301delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5302delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/gnu/usr.bin/perl/win32/makefile.mk b/gnu/usr.bin/perl/win32/makefile.mk index cc392afc9e8..9f33ec7a897 100644 --- a/gnu/usr.bin/perl/win32/makefile.mk +++ b/gnu/usr.bin/perl/win32/makefile.mk @@ -45,7 +45,7 @@ INST_TOP *= $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -#INST_VER *= \5.30.1 +#INST_VER *= \5.30.2 # # Comment this out if you DON'T want your perl installation to have @@ -836,7 +836,7 @@ BLINK_FLAGS = $(PRIV_LINK_FLAGS) $(LINK_FLAGS) ############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ############## # Some old dmakes (including Sarathy's one at -# http://search.cpan.org/CPAN/authors/id/G/GS/GSAR/dmake-4.1pl1-win32.zip) +# https://www.cpan.org/authors/id/G/GS/GSAR/dmake-4.1pl1-win32.zip) # don't support logical OR (||) or logical AND (&&) in conditional # expressions and hence don't process this makefile correctly. Determine # whether this is the case so that we can give the user an error message. @@ -1224,7 +1224,7 @@ CHECKDMAKE : $(NOOP) .ELSE @echo Your dmake doesn't support ^|^| or ^&^& in conditional expressions. - @echo Please get the latest dmake from http://search.cpan.org/dist/dmake/ + @echo Please get the latest dmake from https://metacpan.org/release/dmake @exit 1 .ENDIF @@ -1679,7 +1679,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5301delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5302delta.pod $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1778,7 +1778,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5301delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5302delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/gnu/usr.bin/perl/win32/pod.mak b/gnu/usr.bin/perl/win32/pod.mak index e795ef221b7..47d9607de14 100644 --- a/gnu/usr.bin/perl/win32/pod.mak +++ b/gnu/usr.bin/perl/win32/pod.mak @@ -59,6 +59,7 @@ POD = perl.pod \ perl5282delta.pod \ perl5300delta.pod \ perl5301delta.pod \ + perl5302delta.pod \ perl561delta.pod \ perl56delta.pod \ perl581delta.pod \ @@ -213,6 +214,7 @@ MAN = perl.man \ perl5282delta.man \ perl5300delta.man \ perl5301delta.man \ + perl5302delta.man \ perl561delta.man \ perl56delta.man \ perl581delta.man \ @@ -367,6 +369,7 @@ HTML = perl.html \ perl5282delta.html \ perl5300delta.html \ perl5301delta.html \ + perl5302delta.html \ perl561delta.html \ perl56delta.html \ perl581delta.html \ @@ -521,6 +524,7 @@ TEX = perl.tex \ perl5282delta.tex \ perl5300delta.tex \ perl5301delta.tex \ + perl5302delta.tex \ perl561delta.tex \ perl56delta.tex \ perl581delta.tex \ diff --git a/gnu/usr.bin/perl/win32/win32.c b/gnu/usr.bin/perl/win32/win32.c index 8104d864c23..0e199ac1210 100644 --- a/gnu/usr.bin/perl/win32/win32.c +++ b/gnu/usr.bin/perl/win32/win32.c @@ -2240,6 +2240,7 @@ win32_async_check(pTHX) DllExport DWORD win32_msgwait(pTHX_ DWORD count, LPHANDLE handles, DWORD timeout, LPDWORD resultp) { + int retry = 0; /* We may need several goes at this - so compute when we stop */ FT_t ticks = {0}; unsigned __int64 endtime = timeout; @@ -2262,12 +2263,13 @@ win32_msgwait(pTHX_ DWORD count, LPHANDLE handles, DWORD timeout, LPDWORD result * from another process (msctf.dll doing IPC among its instances, VS debugger * causes msctf.dll to be loaded into Perl by kernel), see [perl #33096]. */ - while (ticks.ft_i64 <= endtime) { + while (ticks.ft_i64 <= endtime || retry) { /* if timeout's type is lengthened, remember to split 64b timeout * into multiple non-infinity runs of MWFMO */ DWORD result = MsgWaitForMultipleObjects(count, handles, FALSE, (DWORD)(endtime - ticks.ft_i64), QS_POSTMESSAGE|QS_TIMER|QS_SENDMESSAGE); + retry = 0; if (resultp) *resultp = result; if (result == WAIT_TIMEOUT) { @@ -2283,6 +2285,7 @@ win32_msgwait(pTHX_ DWORD count, LPHANDLE handles, DWORD timeout, LPDWORD result if (result == WAIT_OBJECT_0 + count) { /* Message has arrived - check it */ (void)win32_async_check(aTHX); + retry = 1; } else { /* Not timeout or message - one of handles is ready */ |