[Perl/perl5] 77897c: Remove customizations for Compress::Raw::* in core
Branch: refs/heads/jkeenan/compress-raw-remove-customizations-20230718 Home: https://github.com/Perl/perl5 Commit: 77897c5f031387ac17c97eae84229562d2078026 https://github.com/Perl/perl5/commit/77897c5f031387ac17c97eae84229562d2078026 Author: James E Keenan Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M Porting/Maintainers.pl Log Message: --- Remove customizations for Compress::Raw::* in core Compress::Raw::Bzip2: https://github.com/Perl/perl5/issues/21262 Compress::Raw::Zlib: https://github.com/Perl/perl5/issues/21263
[Perl/perl5] caef5a: .lgtm.yml: Delete obsolete file
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: caef5a7dffddb63ccd397171f834d8f5122356ee https://github.com/Perl/perl5/commit/caef5a7dffddb63ccd397171f834d8f5122356ee Author: Elvin Aslanov Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: R .lgtm.yml M MANIFEST Log Message: --- .lgtm.yml: Delete obsolete file Fixes #21252
[Perl/perl5]
Branch: refs/heads/yves/fix_universal_import_fragility Home: https://github.com/Perl/perl5
[Perl/perl5] 2dcf3c: Fix assorted bugs related to not having a UNIVERSA...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 2dcf3cf50d7cb67422ffe2c2a3e2d3dc404ea6c4 https://github.com/Perl/perl5/commit/2dcf3cf50d7cb67422ffe2c2a3e2d3dc404ea6c4 Author: Yves Orton Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M gv.c M lib/UNIVERSAL.pm M pod/perldiag.pod M t/op/universal.t M universal.c Log Message: --- Fix assorted bugs related to not having a UNIVERSAL::import Since perl 5.0 the methods "import" and "unimport" have been special cased in gv.c (unimport was removed for a while) to not produce errors if they are called. This is partly because use Foo; is defined to be BEGIN { require Foo; Foo->import(); } which would blow up if there is no import function defined in Foo, for instance if it were defining a class and not a package which exports modules. This special case can be broken by simple code like \&UNIVERSAL::isa which will create a stub function which then blows up when it is used. Notably the module "autouse" which is shipped with perl will trigger this behavior. A related issue is that if you ask for a function to be exported from a module that does not have support for exporting there is no error, eg: use File::Spec qw(catfile); will silently succeed without exporting a catfile function. This is exacerbated on case insensitive file systems when the module name is case-mismatched, the use succeeds but the export does not, leading to confusion, eg: use LIst::Util qw(sum); # note the typo! will load List::Util but will not export the sum function. This patch defines UNIVERSAL::import() and UNIVERSAL::unimport() functions. This prevents the "reference to \&UNIVERSAL::import" bug. The function is defined to be a no-op unless arguments are passed into the functions, in which case a warning is thrown indicating that there is likely a problem. The error is modelled after the error produced by calling a non-existent method or function: ./perl -Ilib -le'BEGIN{ my $import_sub= \&UNIVERSAL::import;} use File::Spec qw(catfile);' Attempt to call UNIVERSAL::import() with arguments via package File::Spec (Perhaps you forgot to load "File::Spec"?) at -e line 1. BEGIN failed--compilation aborted at -e line 1. This fixes Issue #19416, Issue #19417, Issue #19418. See also Issue #19410 for discussion, however this patch does not fix that case (it may not be fixable.)
[Perl/perl5] 7c1600: testsuite.yml: manually download and extract mingw
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 7c1600f08167a99af2b98ebb9b3230080a59d563 https://github.com/Perl/perl5/commit/7c1600f08167a99af2b98ebb9b3230080a59d563 Author: Tomasz Konojacki Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M .github/workflows/testsuite.yml Log Message: --- testsuite.yml: manually download and extract mingw This is much faster than the "setup-mingw" GitHub action (~1 min vs ~6min). It's also more flexible, we can easily switch to a different mingw build.
[Perl/perl5] 5ca0b4: Fix assorted bugs related to not having a UNIVERSA...
Branch: refs/heads/yves/fix_universal_import_fragility Home: https://github.com/Perl/perl5 Commit: 5ca0b4b539d7ce9ed9977a03d85e5fac33809f9e https://github.com/Perl/perl5/commit/5ca0b4b539d7ce9ed9977a03d85e5fac33809f9e Author: Yves Orton Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M gv.c M lib/UNIVERSAL.pm M pod/perldiag.pod M t/op/universal.t M universal.c Log Message: --- Fix assorted bugs related to not having a UNIVERSAL::import Since perl 5.0 the methods "import" and "unimport" have been special cased in gv.c (unimport was removed for a while) to not produce errors if they are called. This is partly because use Foo; is defined to be BEGIN { require Foo; Foo->import(); } which would blow up if there is no import function defined in Foo, for instance if it were defining a class and not a package which exports modules. This special case can be broken by simple code like \&UNIVERSAL::isa which will create a stub function which then blows up when it is used. Notably the module "autouse" which is shipped with perl will trigger this behavior. A related issue is that if you ask for a function to be exported from a module that does not have support for exporting there is no error, eg: use File::Spec qw(catfile); will silently succeed without exporting a catfile function. This is exacerbated on case insensitive file systems when the module name is case-mismatched, the use succeeds but the export does not, leading to confusion, eg: use LIst::Util qw(sum); # note the typo! will load List::Util but will not export the sum function. This patch defines UNIVERSAL::import() and UNIVERSAL::unimport() functions. This prevents the "reference to \&UNIVERSAL::import" bug. The function is defined to be a no-op unless arguments are passed into the functions, in which case a warning is thrown indicating that there is likely a problem. The error is modelled after the error produced by calling a non-existent method or function: ./perl -Ilib -le'BEGIN{ my $import_sub= \&UNIVERSAL::import;} use File::Spec qw(catfile);' Attempt to call UNIVERSAL::import() with arguments via package File::Spec (Perhaps you forgot to load "File::Spec"?) at -e line 1. BEGIN failed--compilation aborted at -e line 1. This fixes Issue #19416, Issue #19417, Issue #19418. See also Issue #19410 for discussion, however this patch does not fix that case (it may not be fixable.)
[Perl/perl5] 788dc9: Fix assorted bugs related to not having a UNIVERSA...
Branch: refs/heads/yves/fix_universal_import_fragility Home: https://github.com/Perl/perl5 Commit: 788dc931519a1f7906e0839d087559bcdf843c18 https://github.com/Perl/perl5/commit/788dc931519a1f7906e0839d087559bcdf843c18 Author: Yves Orton Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M gv.c M lib/UNIVERSAL.pm M pod/perldiag.pod M t/op/universal.t M universal.c Log Message: --- Fix assorted bugs related to not having a UNIVERSAL::import Since perl 5.0 the methods "import" and "unimport" have been special cased in gv.c (unimport was removed for a while) to not produce errors if they are called. This is partly because use Foo; is defined to be BEGIN { require Foo; Foo->import(); } which would blow up if there is no import function defined in Foo, for instance if it were defining a class and not a package which exports modules. This special case can be broken by simple code like \&UNIVERSAL::isa which will create a stub function which then blows up when it is used. Notably the module "autouse" which is shipped with perl will trigger this behavior. A related issue is that if you ask for a function to be exported from a module that does not have support for exporting there is no error, eg: use File::Spec qw(catfile); will silently succeed without exporting a catfile function. This is exacerbated on case insensitive file systems when the module name is case-mismatched, the use succeeds but the export does not, leading to confusion, eg: use LIst::Util qw(sum); # note the typo! will load List::Util but will not export the sum function. This patch defines UNIVERSAL::import() and UNIVERSAL::unimport() functions. This prevents the "reference to \&UNIVERSAL::import" bug. The function is defined to be a no-op unless arguments are passed into the functions, in which case a warning is thrown indicating that there is likely a problem. The error is modelled after the error produced by calling a non-existent method or function: ./perl -Ilib -le'BEGIN{ my $import_sub= \&UNIVERSAL::import;} use File::Spec qw(catfile);' Attempt to call UNIVERSAL::import() with arguments via package File::Spec (Perhaps you forgot to load "File::Spec"?) at -e line 1. BEGIN failed--compilation aborted at -e line 1. This fixes Issue #19416, Issue #19417, Issue #19418. See also Issue #19410 for discussion, however this patch does not fix that case (it may not be fixable.)
[Perl/perl5]
Branch: refs/heads/yves/headerparse_friendly_version_check Home: https://github.com/Perl/perl5
[Perl/perl5] 1f7cfa: t/porting/podcheck.t - some verbatim text is copie...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 1f7cfaefd6cb9cabbdc4ffcb8e1de9ecc291792a https://github.com/Perl/perl5/commit/1f7cfaefd6cb9cabbdc4ffcb8e1de9ecc291792a Author: Yves Orton Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M t/porting/podcheck.t Log Message: --- t/porting/podcheck.t - some verbatim text is copied from the source So we should check if it is still in sync with the source, and ignore any line length issues as the source needs to be changed, not the copy. To enable this simply put "file source: FILENAME" or "copied from: FILENAME" in the first line of the verbatim text. Commit: a6d10131eee6ee336e4bd63f22a378e9d5ae40bd https://github.com/Perl/perl5/commit/a6d10131eee6ee336e4bd63f22a378e9d5ae40bd Author: Yves Orton Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: M pod/perlreapi.pod M regexp.h Log Message: --- regexp.h/perlreapi.pod - synchronize struct regexp documentation with source and update the individual struct members documentation accordingly, some time ago this structure was synchonize with the SV structure, so some members that used to be documented are now actually macros. This also includes a couple of field reordering to make the struct easier to understand and also to cluster the 32 bit fields together so that the structure is a minimal size. Thanks to Tony C for noticing this and calling it to my attention. Compare: https://github.com/Perl/perl5/compare/7465f862296e...a6d10131eee6