Branch: refs/heads/davem/undef_caret_W
Home: https://github.com/Perl/perl5
Commit: 207df329df51321a2b243d9461adb266b249f290
https://github.com/Perl/perl5/commit/207df329df51321a2b243d9461adb266b249f290
Author: David Mitchell <[email protected]>
Date: 2025-11-12 (Wed, 12 Nov 2025)
Changed paths:
M mg.c
M t/lib/warnings/mg
M t/op/reset.t
Log Message:
-----------
don't warn on 'undef $^W'
Ironically, this warns:
$ perl -e'use warnings; undef $^W'
Use of uninitialized value in undef operator at -e line 1.
$
The magic-setting code was treating the new value of $^W as an integer.
This commit makes it treat the value as a boolean.
I suppose this commit could in theory break code if that code is
doing something like:
$^W = "0 but true";
In the past that would have disabled warnings, but will now enable them.
But it seems unlikely that anyone would have written such code. The
variable is documented in perlvar as having a value which is interpreted
as a boolean.
Note that this commit stops a test in t/op/reset.t from expecting a
warning when resetting $^W. This test was added by issue GH #20763, and
AFAIKT that ticket was concerned with 'reset $^W' not actually
resetting the variable; the test for the warning was purely a
side-effect of the fact that it happened to warn.
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications