Change 14811 by ams@lustre on 2002/02/21 14:02:12
Subject: [PATCH] No OPf_SPECIAL on OP_ENTERSUB when readline() is overriden
From: Rafael Garcia-Suarez <[EMAIL PROTECTED]>
Date: Thu, 21 Feb 2002 15:22:22 +0100
Message-Id: <20020221152222.A15095@rafael>
Affected files ...
.... //depot/perl/op.h#106 edit
.... //depot/perl/toke.c#417 edit
Differences ...
==== //depot/perl/op.h#106 (text) ====
Index: perl/op.h
--- perl/op.h.~1~ Thu Feb 21 07:15:05 2002
+++ perl/op.h Thu Feb 21 07:15:05 2002
@@ -104,6 +104,7 @@
/* On OP_ENTERITER, loop var is per-thread */
/* On pushre, re is /\s+/ imp. by split " " */
/* On regcomp, "use re 'eval'" was in scope */
+ /* On OP_READLINE, was <$filehandle> */
/* old names; don't use in new code, but don't break them, either */
#define OPf_LIST OPf_WANT_LIST
==== //depot/perl/toke.c#417 (text) ====
Index: perl/toke.c
--- perl/toke.c.~1~ Thu Feb 21 07:15:05 2002
+++ perl/toke.c Thu Feb 21 07:15:05 2002
@@ -6744,7 +6744,8 @@
newUNOP(OP_RV2SV, 0,
newGVOP(OP_GV, 0, gv)));
}
- PL_lex_op->op_flags |= OPf_SPECIAL;
+ if (!readline_overriden)
+ PL_lex_op->op_flags |= OPf_SPECIAL;
/* we created the ops in PL_lex_op, so make yylval.ival a null op */
yylval.ival = OP_NULL;
}
End of Patch.