Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 00f271f523a94b9cf19f94e0efd2c1a0d390af93
      
https://github.com/Perl/perl5/commit/00f271f523a94b9cf19f94e0efd2c1a0d390af93
  Author: David Mitchell <[email protected]>
  Date:   2025-11-13 (Thu, 13 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

Reply via email to