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.

Reply via email to