Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 1bf4f3b81ed1178798c5a9e1d0acba46ad0d8ef3
https://github.com/Perl/perl5/commit/1bf4f3b81ed1178798c5a9e1d0acba46ad0d8ef3
Author: James E Keenan <[email protected]>
Date: 2025-11-17 (Mon, 17 Nov 2025)
Changed paths:
M t/lib/croak/pp_ctl
Log Message:
-----------
Remove "no warnings 'deprecated';" where no longer needed
These 3 unit tests (which run during t/lib/croak.t):
ok 98 - goto into expression
ok 99 - dump with computed label
ok 100 - when outside given
... no longer need "no warnings 'deprecated';" because they no longer
generate 'deprecated'-class warnings.
Inside pp_ctl.c we have a 'deprecated'-class warning at line 3655, which
falls within function PP(pp_goto). Let's take the 3 unit tests above in
turn.
"goto into expression"
The exception which generates "Can't "goto" into a binary or list
expression" occurs at +3234 pp_ctl.c, inside function S_check_op_type.
This function is called at +3646 pp_ctl.c and at +3680 pp_ctl.c, both of
which are inside function PP(pp_goto). Experimentation indicates that
the invocation at +3646 pp_ctl.c. is the triggering invocation. Hence
control passes to S_check_op_type before the deprecate_fatal warning at
+3655 can be reached.
"dump with computed label"
The exception which generates "Can't find label" occurs at +3635
pp_ctl.c -- 20 lines before the 'deprecated'-class warning.
"when outside given"
The exception which generates "Can't "when" outside a topicalizer"
occurs at +6398 pp_ctl.c, inside function PP(pp_leavewhen). It appears
that in older perls "No warnings 'deprecated';" was needed here because
of the (now apparently abandoned) deprecation of given/when.
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications