From: Jarkko Hietaniemi Date: Wed, 2 May 2001 11:31:53 +0000 (+0000) Subject: Retract changes #8254 and #8255, causes coredump in X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=8b6e382403e01ada78964d4a7f0d27d8a5bbd79d;p=p5sagit%2Fp5-mst-13.2.git Retract changes #8254 and #8255, causes coredump in '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 --- diff --git a/op.c b/op.c index 7d28e36..19045f5 100644 --- 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) { diff --git a/t/pragma/sub_lval.t b/t/pragma/sub_lval.t index f19268b..4e92ef1 100755 --- a/t/pragma/sub_lval.t +++ b/t/pragma/sub_lval.t @@ -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;