summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pp_ctl.c1
-rw-r--r--t/op/incfilter.t16
2 files changed, 2 insertions, 15 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 303e3565d6..04dd31b646 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -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';
}