Maybe Automake shouldn't use: use warnings FATAL => 'all'; Changed to just "use warnings;", as Jacob also noted.
I also took the opportunity to systematize on use 5.006; use strict; use warnings; all on one line to reduce real estate usage. Not all files use 5.006, and I'd be a bit surprised if Automake actually works with 5.006 (or if anyone still has it around), but I didn't worry about any of that. Thanks, everyone. -k ============================================================================= automake: just use warnings, with no => FATAL. Per Perl recommendation: https://perldoc.perl.org/warnings#Fatal-Warnings Suggested by Collin Funk: https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html And in the Perl discussion: https://github.com/Perl/perl5/issues/22954#issuecomment-2622966302 * bin/aclocal.in: just use warnings, not making them fatal. * bin/automake.in: * contrib/tap-driver.pl: * gen-testsuite-part: * lib/Automake/ChannelDefs.pm: * lib/Automake/Channels.pm: * lib/Automake/Condition.pm: * lib/Automake/Config.in: * lib/Automake/Configure_ac.pm: * lib/Automake/DisjConditions.pm: * lib/Automake/FileUtils.pm: * lib/Automake/General.pm: * lib/Automake/Getopt.pm: * lib/Automake/Item.pm: * lib/Automake/ItemDef.pm: * lib/Automake/Language.pm: * lib/Automake/Location.pm: * lib/Automake/Options.pm: * lib/Automake/Rule.pm: * lib/Automake/RuleDef.pm: * lib/Automake/VarDef.pm: * lib/Automake/Variable.pm: * lib/Automake/Version.pm: * lib/Automake/Wrap.pm: * lib/Automake/XFile.pm: * t/ax/deltree.pl: * t/ax/extract-testsuite-summary.pl: * t/check-fd-redirect.sh: * t/tap-signal.tap: * t/tests-environment-fd-redirect.sh: * t/testsuite-summary-count-many.sh: diff --git a/bin/aclocal.in b/bin/aclocal.in index f69a355be..05ec14a30 100644 --- a/bin/aclocal.in +++ b/bin/aclocal.in @@ -19,9 +19,7 @@ # Written by Tom Tromey <tro...@redhat.com>, and # Alexandre Duret-Lutz <a...@gnu.org>. -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; BEGIN { diff --git a/bin/automake.in b/bin/automake.in index a3b74f485..c08b83972 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -22,9 +22,7 @@ package Automake; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; BEGIN { diff --git a/contrib/tap-driver.pl b/contrib/tap-driver.pl index 86a5874d2..8706deb92 100755 --- a/contrib/tap-driver.pl +++ b/contrib/tap-driver.pl @@ -27,12 +27,12 @@ # Imports, static data, and setup. # # ---------------------------------- # -use warnings FATAL => 'all'; -use strict; +use strict; use warnings; use Getopt::Long (); + use TAP::Parser; -my $VERSION = '2024-12-03.03'; # UTC +my $VERSION = '2025-01-31.17'; # UTC my $ME = "tap-driver.pl"; diff --git a/gen-testsuite-part b/gen-testsuite-part index 9bc3efa05..b60626ae1 100755 --- a/gen-testsuite-part +++ b/gen-testsuite-part @@ -20,8 +20,8 @@ #-------------------------------------------------------------------------- -use warnings FATAL => "all"; use strict; +use warnings; use File::Basename (); use constant TRUE => 1; use constant FALSE => 0; diff --git a/lib/Automake/ChannelDefs.pm b/lib/Automake/ChannelDefs.pm index d9c43174d..2a3e7d284 100644 --- a/lib/Automake/ChannelDefs.pm +++ b/lib/Automake/ChannelDefs.pm @@ -49,10 +49,7 @@ shorthand function to output on specific channels. =cut -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Exporter; use Automake::Channels; diff --git a/lib/Automake/Channels.pm b/lib/Automake/Channels.pm index 3d848c45b..0fba4fbdb 100644 --- a/lib/Automake/Channels.pm +++ b/lib/Automake/Channels.pm @@ -66,10 +66,7 @@ etc.) that can also be overridden on a per-message basis. =cut -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; use Exporter; use File::Basename; diff --git a/lib/Automake/Condition.pm b/lib/Automake/Condition.pm index c376ee377..1bf66eb2a 100644 --- a/lib/Automake/Condition.pm +++ b/lib/Automake/Condition.pm @@ -15,10 +15,7 @@ package Automake::Condition; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; use Exporter; diff --git a/lib/Automake/Config.in b/lib/Automake/Config.in index 2a0db49ee..35112c22c 100644 --- a/lib/Automake/Config.in +++ b/lib/Automake/Config.in @@ -17,9 +17,7 @@ package Automake::Config; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Exporter; diff --git a/lib/Automake/Configure_ac.pm b/lib/Automake/Configure_ac.pm index 598a8d91f..e9cb921a6 100644 --- a/lib/Automake/Configure_ac.pm +++ b/lib/Automake/Configure_ac.pm @@ -20,9 +20,7 @@ package Automake::Configure_ac; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Exporter; diff --git a/lib/Automake/DisjConditions.pm b/lib/Automake/DisjConditions.pm index 4310e4df6..dd179782c 100644 --- a/lib/Automake/DisjConditions.pm +++ b/lib/Automake/DisjConditions.pm @@ -15,9 +15,7 @@ package Automake::DisjConditions; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Carp; use Automake::Condition qw (TRUE FALSE); diff --git a/lib/Automake/FileUtils.pm b/lib/Automake/FileUtils.pm index c91c36a03..49658bda2 100644 --- a/lib/Automake/FileUtils.pm +++ b/lib/Automake/FileUtils.pm @@ -34,9 +34,7 @@ This perl module provides various general purpose file handling functions. =cut -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; BEGIN { diff --git a/lib/Automake/General.pm b/lib/Automake/General.pm index d544468b5..528931f9d 100644 --- a/lib/Automake/General.pm +++ b/lib/Automake/General.pm @@ -15,9 +15,7 @@ package Automake::General; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Exporter; use File::Basename; diff --git a/lib/Automake/Getopt.pm b/lib/Automake/Getopt.pm index c55d6bad5..445bade27 100644 --- a/lib/Automake/Getopt.pm +++ b/lib/Automake/Getopt.pm @@ -35,9 +35,7 @@ line options in conformance to the GNU Coding standards. =cut -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Carp qw (confess croak); use Exporter (); diff --git a/lib/Automake/Item.pm b/lib/Automake/Item.pm index 9f2d31bd8..e8d06d6b8 100644 --- a/lib/Automake/Item.pm +++ b/lib/Automake/Item.pm @@ -15,9 +15,7 @@ package Automake::Item; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Carp; diff --git a/lib/Automake/ItemDef.pm b/lib/Automake/ItemDef.pm index 2dae1240a..de9b9b494 100644 --- a/lib/Automake/ItemDef.pm +++ b/lib/Automake/ItemDef.pm @@ -15,10 +15,7 @@ package Automake::ItemDef; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; =head1 NAME diff --git a/lib/Automake/Language.pm b/lib/Automake/Language.pm index 77cc6b710..1a4c6eee4 100644 --- a/lib/Automake/Language.pm +++ b/lib/Automake/Language.pm @@ -15,9 +15,7 @@ package Automake::Language; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Class::Struct (); diff --git a/lib/Automake/Location.pm b/lib/Automake/Location.pm index 365efd320..f50401638 100644 --- a/lib/Automake/Location.pm +++ b/lib/Automake/Location.pm @@ -15,9 +15,7 @@ package Automake::Location; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; =head1 NAME diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm index afd476011..dd0f17a15 100644 --- a/lib/Automake/Options.pm +++ b/lib/Automake/Options.pm @@ -15,10 +15,7 @@ package Automake::Options; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Exporter; use Automake::Config; diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm index ebdd217e9..6a59ce4a3 100644 --- a/lib/Automake/Rule.pm +++ b/lib/Automake/Rule.pm @@ -15,10 +15,7 @@ package Automake::Rule; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; use Exporter; diff --git a/lib/Automake/RuleDef.pm b/lib/Automake/RuleDef.pm index 79ca29840..04fcdea00 100644 --- a/lib/Automake/RuleDef.pm +++ b/lib/Automake/RuleDef.pm @@ -15,10 +15,7 @@ package Automake::RuleDef; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; use Exporter; diff --git a/lib/Automake/VarDef.pm b/lib/Automake/VarDef.pm index 7508598d8Running command: git commit \-q \-F \.\/vc\-dwim\-log\-BmUg_k \-\-author\=Karl\ Berry\ \<karl\@freefriends\.org\> \-\- bin\/aclocal\.in bin\/automake\.in contrib\/tap\-driver\.pl gen\-testsuite\-part lib\/Automake\/ChannelDefs\.pm lib\/Automake\/Channels\.pm lib\/Automake\/Condition\.pm lib\/Automake\/Config\.in lib\/Automake\/Configure_ac\.pm lib\/Automake\/DisjConditions\.pm lib\/Automake\/FileUtils\.pm lib\/Automake\/General\.pm lib\/Automake\/Getopt\.pm lib\/Automake\/Item\.pm lib\/Automake\/ItemDef\.pm lib\/Automake\/Language\.pm lib\/Automake\/Location\.pm lib\/Automake\/Options\.pm lib\/Automake\/Rule\.pm lib\/Automake\/RuleDef\.pm lib\/Automake\/VarDef\.pm lib\/Automake\/Variable\.pm lib\/Automake\/Version\.pm lib\/Automake\/Wrap\.pm lib\/Automake\/XFile\.pm t\/ax\/deltree\.pl t\/ax\/extract\-testsuite\-summary\.pl t\/check\-fd\-redirect\.sh t\/tap\-signal\.tap t\/tests\-environment\-fd\-redirect\.sh t\/testsuite\-summary\-count\-many\.sh .f4f895021 100644 --- a/lib/Automake/VarDef.pm +++ b/lib/Automake/VarDef.pm @@ -15,10 +15,7 @@ package Automake::VarDef; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; use Exporter; diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm index 6e90b81f2..a949f68d9 100644 --- a/lib/Automake/Variable.pm +++ b/lib/Automake/Variable.pm @@ -15,10 +15,7 @@ package Automake::Variable; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Carp; use Exporter; diff --git a/lib/Automake/Version.pm b/lib/Automake/Version.pm index 5de709aca..cb73532b4 100644 --- a/lib/Automake/Version.pm +++ b/lib/Automake/Version.pm @@ -15,9 +15,7 @@ package Automake::Version; -use 5.006; -use strict; -use warnings FATAL => 'all'; +use 5.006; use strict; use warnings; use Automake::ChannelDefs; diff --git a/lib/Automake/Wrap.pm b/lib/Automake/Wrap.pm index 4f611c6e2..aef131c45 100644 --- a/lib/Automake/Wrap.pm +++ b/lib/Automake/Wrap.pm @@ -15,10 +15,7 @@ package Automake::Wrap; -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Exporter; our @ISA = qw (Exporter); diff --git a/lib/Automake/XFile.pm b/lib/Automake/XFile.pm index 544df4ddb..85153362e 100644 --- a/lib/Automake/XFile.pm +++ b/lib/Automake/XFile.pm @@ -69,10 +69,7 @@ and C<getlines> methods to translate C<\r\n> to C<\n>. =cut -use 5.006; -use strict; -use warnings FATAL => 'all'; - +use 5.006; use strict; use warnings; use Errno; use Exporter; use IO::File; diff --git a/t/ax/deltree.pl b/t/ax/deltree.pl index d8590abb9..53f1fb85d 100644 --- a/t/ax/deltree.pl +++ b/t/ax/deltree.pl @@ -17,8 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. -use strict; -use warnings FATAL => 'all'; +use strict; use warnings; use File::Path qw/rmtree/; my $exit_status = 0; diff --git a/t/ax/extract-testsuite-summary.pl b/t/ax/extract-testsuite-summary.pl index 3881cea32..b1bedcdee 100644 --- a/t/ax/extract-testsuite-summary.pl +++ b/t/ax/extract-testsuite-summary.pl @@ -17,8 +17,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. -use warnings FATAL => 'all'; -use strict; +use strict; use warnings; my $br = '=' x 76; my @sections = (''); diff --git a/t/check-fd-redirect.sh b/t/check-fd-redirect.sh index f76b2fa7d..f2eab71dc 100644 --- a/t/check-fd-redirect.sh +++ b/t/check-fd-redirect.sh @@ -81,8 +81,7 @@ do_check echo "#! $PERL -w" > foo.test cat >> foo.test <<'END' -use warnings FATAL => 'all'; -use strict; +use strict; use warnings; open (FD3, "<&=3") or die "opening FD3: $!"; open (FD4, ">&=4") or die "opening FD4: $!"; diff --git a/t/tap-signal.tap b/t/tap-signal.tap index db47b892e..3484a46ef 100644 --- a/t/tap-signal.tap +++ b/t/tap-signal.tap @@ -52,7 +52,7 @@ for sig in $all_signals; do # We need autoflush to avoid losing output, which could cause spurious # "no test plan seen" in the TAP driver. BEGIN { $| = 1 } - use warnings FATAL => "all"; + use warnings; print "1..1\\n"; print "ok 1\\n"; kill $sig, \$\$; diff --git a/t/tests-environment-fd-redirect.sh b/t/tests-environment-fd-redirect.sh index 4de70ec2b..5a4e5a03e 100644 --- a/t/tests-environment-fd-redirect.sh +++ b/t/tests-environment-fd-redirect.sh @@ -44,8 +44,8 @@ END echo "#! $PERL -w" > bar.test cat >>bar.test <<'END' -use warnings FATAL => 'all'; use strict; +use warnings; open(FD8, ">&=8") or die "$!"; open(FD9, ">&=9") or die "$!"; print FD8 " $0: 8888\n"; diff --git a/t/testsuite-summary-count-many.sh b/t/testsuite-summary-count-many.sh index 0b9358f2d..9e74f3586 100644 --- a/t/testsuite-summary-count-many.sh +++ b/t/testsuite-summary-count-many.sh @@ -52,8 +52,8 @@ END chmod a+x all.test $PERL -w -e ' - use warnings FATAL => "all"; use strict; + use warnings; my $base = 1000; my %count = ( compile finished at Fri Jan 31 09:20:47 2025