In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/83677dc5596295a5b5095063d96f95de3735933a?hp=cb21ff4630e9dc4048595dd175a4ee716bd54ba2>
- Log ----------------------------------------------------------------- commit 83677dc5596295a5b5095063d96f95de3735933a Author: Ricardo Signes <[email protected]> Date: Thu Dec 31 21:54:49 2015 -0500 *glob{FILEHANDLE} is no longer deprecated We are now trying to use deprecation warnings only when we believe that a behavior will really be removed or made an error. Since we don't plan to do that with *glob{FILEHANDLE}, the warning is not useful and may be harmful. See discussion at [perl #127060]. ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 4 +++- pod/perlref.pod | 5 +++-- pp.c | 2 -- t/op/gv.t | 5 ++++- t/uni/gv.t | 5 ++++- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 9cd7344..2004760 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -204,7 +204,9 @@ XXX Changes (i.e. rewording) of diagnostic messages go here =item * -XXX Describe change here +Accessing the C<IO> part of a glob as C<FILEHANDLE> instead of C<IO> is no +longer deprecated. It is discouraged to encourage uniformity (so that, for +example, one can grep more easily) but it will not be removed. [perl #127060] =back diff --git a/pod/perlref.pod b/pod/perlref.pod index 5804c17..e64abe4 100644 --- a/pod/perlref.pod +++ b/pod/perlref.pod @@ -272,8 +272,9 @@ the IO handle, used for file handles (L<perlfunc/open>), sockets (L<perlfunc/socket> and L<perlfunc/socketpair>), and directory handles (L<perlfunc/opendir>). For compatibility with previous versions of Perl, C<*foo{FILEHANDLE}> is a synonym for C<*foo{IO}>, though it -is deprecated as of 5.8.0. If deprecation warnings are in effect, it will warn -of its use. +is discouraged, to encourage a consistent use of one name: IO. On perls +between v5.8 and v5.22, it will issue a deprecation warning, but this +deprecation has since been rescinded. C<*foo{THING}> returns undef if that particular THING hasn't been used yet, except in the case of scalars. C<*foo{SCALAR}> returns a reference to an diff --git a/pp.c b/pp.c index 7071478..016023e 100644 --- a/pp.c +++ b/pp.c @@ -675,8 +675,6 @@ PP(pp_gelem) break; case 'F': if (len == 10 && strEQ(second_letter, "ILEHANDLE")) { - /* finally deprecated in 5.8.0 */ - deprecate("*glob{FILEHANDLE}"); tmpRef = MUTABLE_SV(GvIOp(gv)); } else diff --git a/t/op/gv.t b/t/op/gv.t index 2c9cc64..d71fd0a 100644 --- a/t/op/gv.t +++ b/t/op/gv.t @@ -182,7 +182,10 @@ is (*{*x{GLOB}}, "*main::STDOUT"); $warn .= $_[0]; }; my $val = *x{FILEHANDLE}; - print {*x{IO}} ($warn =~ /is deprecated/ + + # deprecation warning removed in v5.23 -- rjbs, 2015-12-31 + # https://rt.perl.org/Ticket/Display.html?id=127060 + print {*x{IO}} (! defined $warn ? "ok $test\n" : "not ok $test\n"); curr_test(++$test); } diff --git a/t/uni/gv.t b/t/uni/gv.t index 89905fd..da48910 100644 --- a/t/uni/gv.t +++ b/t/uni/gv.t @@ -190,7 +190,10 @@ is (*{*áº{GLOB}}, "*main::STDOUT"); $warn .= $_[0]; }; my $val = *áº{FILEHANDLE}; - print {*áº{IO}} ($warn =~ /is deprecated/ + + # deprecation warning removed in v5.23 -- rjbs, 2015-12-31 + # https://rt.perl.org/Ticket/Display.html?id=127060 + print {*áº{IO}} (! defined $warn ? "ok $test\n" : "not ok $test\n"); curr_test(++$test); } -- Perl5 Master Repository
