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.

Reply via email to