patch based on:
Yitzchak Scott-Thoennes [Mon, 30 Sep 2002 15:22:18 +0000 (08:22 -0700)]
Subject: Re: [perl #17376] Bug Report - our(%)
Message-ID: <a6Mm9gzkgK0P092yn@efn.org>

p4raw-id: //depot/perl@17949

op.c

diff --git a/op.c b/op.c
index 89e1246..9aea6c4 100644 (file)
--- a/op.c
+++ b/op.c
@@ -2146,10 +2146,16 @@ Perl_my_attrs(pTHX_ OP *o, OP *attrs)
     OP *rops = Nullop;
     int maybe_scalar = 0;
 
+/* [perl #17376]: this appears to be premature, and results in code such as
+   C< my(%x); > executing in list mode rather than void mode */
+#if 0
     if (o->op_flags & OPf_PARENS)
        list(o);
     else
        maybe_scalar = 1;
+#else
+    maybe_scalar = 1;
+#endif
     if (attrs)
        SAVEFREEOP(attrs);
     o = my_kid(o, attrs, &rops);
@@ -2381,7 +2387,13 @@ OP *
 Perl_localize(pTHX_ OP *o, I32 lex)
 {
     if (o->op_flags & OPf_PARENS)
+/* [perl #17376]: this appears to be premature, and results in code such as
+   C< our(%x); > executing in list mode rather than void mode */
+#if 0
        list(o);
+#else
+       ;
+#endif
     else {
        if (ckWARN(WARN_PARENTHESIS)
            && PL_bufptr > PL_oldbufptr && PL_bufptr[-1] == ',')