summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-10-16 14:01:11 +0000
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-10-16 14:01:11 +0000
commit1f2bfc8a4408af651fa6e1f274db91de216cc5d4 (patch)
treeadc08e6284f17a768a9352be49b65eb621102100 /op.c
parentd58bf5aa3d3631a46847733b1ff1985b30140228 (diff)
downloadperl-1f2bfc8a4408af651fa6e1f274db91de216cc5d4.tar.gz
Fix up merge with 5.004_04.
p4raw-id: //depot/perl@139
Diffstat (limited to 'op.c')
-rw-r--r--op.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/op.c b/op.c
index 7c769d1550..680b825865 100644
--- a/op.c
+++ b/op.c
@@ -4237,8 +4237,8 @@ OP *o;
{
GV *gv;
- if ((op->op_flags & OPf_KIDS) && !cLISTOP->op_first->op_sibling)
- append_elem(OP_GLOB, op, newSVREF(newGVOP(OP_GV, 0, defgv)));
+ if ((o->op_flags & OPf_KIDS) && !cLISTOPo->op_first->op_sibling)
+ append_elem(OP_GLOB, o, newSVREF(newGVOP(OP_GV, 0, defgv)));
if (!((gv = gv_fetchpv("glob", FALSE, SVt_PVCV)) && GvIMPORTED_CV(gv)))
gv = gv_fetchpv("CORE::GLOBAL::glob", FALSE, SVt_PVCV);
@@ -4248,6 +4248,14 @@ OP *o;
append_elem(OP_GLOB, o,
newSVOP(OP_CONST, 0, newSViv(glob_index++)));
+ o->op_type = OP_LIST;
+ o->op_ppaddr = ppaddr[OP_LIST];
+ cLISTOPo->op_first->op_type = OP_PUSHMARK;
+ cLISTOPo->op_first->op_ppaddr = ppaddr[OP_PUSHMARK];
+ o = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, o,
+ scalar(newUNOP(OP_RV2CV, 0,
+ newGVOP(OP_GV, 0, gv)))));
o = newUNOP(OP_NULL, 0, ck_subr(o));
o->op_targ = OP_GLOB; /* hint at what it used to be */
return o;