Change 17716 by [EMAIL PROTECTED] on 2002/08/12 11:29:53
Subject: Re: [ID 20020713.001] chomp($data=<tied_fh>) strangeness.
From: Hugo van der Sanden <[EMAIL PROTECTED]>
Date: Sat, 13 Jul 2002 17:44:02 +0100
Message-id: <[EMAIL PROTECTED]>
Affected files ...
.... //depot/perl/pp_hot.c#286 edit
.... //depot/perl/t/op/tiehandle.t#9 edit
Differences ...
==== //depot/perl/pp_hot.c#286 (text) ====
Index: perl/pp_hot.c
--- perl/pp_hot.c#285~17682~ Mon Aug 5 08:04:54 2002
+++ perl/pp_hot.c Mon Aug 12 04:29:53 2002
@@ -1490,8 +1490,11 @@
call_method("READLINE", gimme);
LEAVE;
SPAGAIN;
- if (gimme == G_SCALAR)
- SvSetMagicSV_nosteal(TARG, TOPs);
+ if (gimme == G_SCALAR) {
+ SV* result = POPs;
+ SvSetSV_nosteal(TARG, result);
+ PUSHTARG;
+ }
RETURN;
}
fp = Nullfp;
==== //depot/perl/t/op/tiehandle.t#9 (xtext) ====
Index: perl/t/op/tiehandle.t
--- perl/t/op/tiehandle.t#8~14727~ Sun Feb 17 03:36:52 2002
+++ perl/t/op/tiehandle.t Mon Aug 12 04:29:53 2002
@@ -77,7 +77,7 @@
use Symbol;
-print "1..39\n";
+print "1..40\n";
my $fh = gensym;
@@ -230,3 +230,15 @@
Implement::compare(PRINT => @received);
}
+{
+ # [ID 20020713.001] chomp($data=<tied_fh>)
+ local *TEST;
+ tie *TEST, 'CHOMP';
+ my $data;
+ chomp($data = <TEST>);
+ ok($data eq 'foobar');
+
+ package CHOMP;
+ sub TIEHANDLE { bless {}, $_[0] }
+ sub READLINE { "foobar\n" }
+}
End of Patch.