summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-03-24 21:14:22 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-03-24 21:14:22 +0000
commite4b7ebf3387ae98739a0f53e0f27fa7a6228338f (patch)
tree45a7b8a5f380fa06c8b5c0d8852f562fa78ef38a /op.c
parent01f5bc1b1054964df4fcf07067d574b936dee120 (diff)
downloadperl-e4b7ebf3387ae98739a0f53e0f27fa7a6228338f.tar.gz
Make readline() default to *ARGV.
Plus MAD fixes. p4raw-id: //depot/perl@30750
Diffstat (limited to 'op.c')
-rw-r--r--op.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/op.c b/op.c
index 48437cfccb..23b4b81863 100644
--- a/op.c
+++ b/op.c
@@ -6725,6 +6725,22 @@ Perl_ck_defined(pTHX_ OP *o) /* 19990527 MJD */
}
OP *
+Perl_ck_readline(pTHX_ OP *o)
+{
+ if (!(o->op_flags & OPf_KIDS)) {
+ OP * const newop
+ = newUNOP(OP_READLINE, 0, newGVOP(OP_GV, 0, PL_argvgv));
+#ifdef PERL_MAD
+ op_getmad(o,newop,'O');
+#else
+ op_free(o);
+#endif
+ return newop;
+ }
+ return o;
+}
+
+OP *
Perl_ck_rfun(pTHX_ OP *o)
{
const OPCODE type = o->op_type;
@@ -6910,8 +6926,13 @@ Perl_ck_open(pTHX_ OP *o)
}
if (o->op_type == OP_BACKTICK) {
if (!(o->op_flags & OPf_KIDS)) {
+ OP * const newop = newUNOP(OP_BACKTICK, 0, newDEFSVOP());
+#ifdef PERL_MAD
+ op_getmad(o,newop,'O');
+#else
op_free(o);
- return newUNOP(OP_BACKTICK, 0, newDEFSVOP());
+#endif
+ return newop;
}
return o;
}