Retract changes #8254 and #8255, causes coredump in
Jarkko Hietaniemi [Wed, 2 May 2001 11:31:53 +0000 (11:31 +0000)]
'tie FH, "main"', reported by Abigail, culprit found by
Benjamin Sugars.  Mirrors maintperl change #9950.

p4raw-link: @9950 on //depot/maint-5.6/perl: 86e3b6d76fb0afcf1f6b883c997e1a01ed17ab8e
p4raw-link: @8254 on //depot/perl: d38a0a1467f89c02cbd16ebdc31b41c6b552f379

p4raw-id: //depot/perl@9952

op.c
t/pragma/sub_lval.t

diff --git a/op.c b/op.c
index 7d28e36..19045f5 100644 (file)
--- a/op.c
+++ b/op.c
@@ -1361,31 +1361,6 @@ Perl_mod(pTHX_ OP *o, I32 type)
        PL_modcount++;
        return o;
     case OP_CONST:
-        if (o->op_private & (OPpCONST_BARE) &&
-                !(type == OP_GREPSTART || type == OP_ENTERSUB || type == OP_REFGEN)) {
-            SV *sv = ((SVOP*)o)->op_sv;
-            GV *gv;
-
-            /* Could be a filehandle */
-            if ((gv = gv_fetchpv(SvPV_nolen(sv), FALSE, SVt_PVIO))) {
-                OP* gvio = newUNOP(OP_RV2GV, 0, newGVOP(OP_GV, 0, gv));
-                op_free(o);
-                o = gvio;
-            } else {
-                /* OK, it's a sub */
-                OP* enter;
-                gv = gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVCV);
-
-                enter = newUNOP(OP_ENTERSUB,0,
-                        newUNOP(OP_RV2CV, 0,
-                            newGVOP(OP_GV, 0, gv)
-                        ));
-                enter->op_private |= OPpLVAL_INTRO;
-                op_free(o);
-                o = enter;
-            }
-            break;
-        }
        if (!(o->op_private & (OPpCONST_ARYBASE)))
            goto nomod;
        if (PL_eval_start && PL_eval_start->op_type == OP_CONST) {
index f19268b..4e92ef1 100755 (executable)
@@ -1,4 +1,4 @@
-print "1..64\n";
+print "1..47\n";
 
 BEGIN {
     chdir 't' if -d 't';
@@ -430,18 +430,9 @@ foobar() = 12;
 print "# '$newvar'.\nnot " unless $newvar eq "12";
 print "ok 47\n";
 
-# Testing DWIM of foo = bar;
-sub foo : lvalue {
-    $a;
-}
-$a = "not ok 48\n";
-foo = "ok 48\n";
-print $a;
-
-open bar, ">nothing" or die $!; 
-bar = *STDOUT;
-print bar "ok 49\n";
-unlink "nothing";
+print "ok 48 # Skip: removed test\n";
+
+print "ok 49 # Skip: removed test\n";
 
 {
 my %hash; my @array;