diff options
-rw-r--r-- | pp_ctl.c | 1 | ||||
-rw-r--r-- | t/op/incfilter.t | 16 |
2 files changed, 2 insertions, 15 deletions
@@ -5295,7 +5295,6 @@ S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen) I'm going to use a mortal in case the upstream filter croaks. */ upstream = ((SvOK(buf_sv) && sv_len(buf_sv)) || SvGMAGICAL(buf_sv)) ? sv_newmortal() : buf_sv; - SvTEMP_off(upstream); SvUPGRADE(upstream, SVt_PV); if (filter_has_file) { diff --git a/t/op/incfilter.t b/t/op/incfilter.t index 9db4f7d21b..582b691d82 100644 --- a/t/op/incfilter.t +++ b/t/op/incfilter.t @@ -13,7 +13,7 @@ use strict; use Config; use Filter::Util::Call; -plan(tests => 145); +plan(tests => 144); unshift @INC, sub { no warnings 'uninitialized'; @@ -228,22 +228,10 @@ for (0 .. 1) { do $fh or die; } -# [perl #91880] $_ marked TEMP or having the wrong refcount inside a +# [perl #91880] $_ having the wrong refcount inside a { # filter sub local @INC; local $|; unshift @INC, sub { sub { undef *_; --$| }}; do "dah"; pass '$_ has the right refcount inside a filter sub'; - - my $temps = 0; - @INC = sub { sub { - my $temp = \sub{$_}->(); - $temps++ if $temp == \$_; - $_ = "a" unless $|; - return --$| - }}; - local $^W; - do "dah"; - - is $temps, 0, '$_ is not marked TEMP'; } |