Change 33188 by [EMAIL PROTECTED] on 2008/02/02 15:58:54
Integrate:
[ 32050]
Fix precedence bug in the logic for PERL_PV_ESCAPE_NOCLEAR in
Perl_pv_escape()
[ 33156]
Integrate:
[ 33011]
Fix (probable) bug-by-inspection - CxREALEVAL(), CxTRYBLOCK(),
CxFOREACH() and CxFOREACHDEF() should all be masking against
CXTYPEMASK rather than their own type number.
Affected files ...
... //depot/maint-5.8/perl/cop.h#41 integrate
... //depot/maint-5.8/perl/dump.c#84 integrate
Differences ...
==== //depot/maint-5.8/perl/cop.h#41 (text) ====
Index: perl/cop.h
--- perl/cop.h#40~32512~ 2007-11-26 14:24:26.000000000 -0800
+++ perl/cop.h 2008-02-02 07:58:54.000000000 -0800
@@ -671,13 +671,13 @@
#define CxTYPE(c) ((c)->cx_type & CXTYPEMASK)
#define CxMULTICALL(c) (((c)->cx_type & CXp_MULTICALL) \
== CXp_MULTICALL)
-#define CxREALEVAL(c) (((c)->cx_type & (CXt_EVAL|CXp_REAL)) \
+#define CxREALEVAL(c) (((c)->cx_type & (CXTYPEMASK|CXp_REAL)) \
== (CXt_EVAL|CXp_REAL))
-#define CxTRYBLOCK(c) (((c)->cx_type & (CXt_EVAL|CXp_TRYBLOCK)) \
+#define CxTRYBLOCK(c) (((c)->cx_type & (CXTYPEMASK|CXp_TRYBLOCK)) \
== (CXt_EVAL|CXp_TRYBLOCK))
-#define CxFOREACH(c) (((c)->cx_type & (CXt_LOOP|CXp_FOREACH)) \
+#define CxFOREACH(c) (((c)->cx_type & (CXTYPEMASK|CXp_FOREACH)) \
== (CXt_LOOP|CXp_FOREACH))
-#define CxFOREACHDEF(c) (((c)->cx_type &
(CXt_LOOP|CXp_FOREACH|CXp_FOR_DEF))\
+#define CxFOREACHDEF(c) (((c)->cx_type &
(CXTYPEMASK|CXp_FOREACH|CXp_FOR_DEF))\
== (CXt_LOOP|CXp_FOREACH|CXp_FOR_DEF))
#define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix =
cxinc()))
==== //depot/maint-5.8/perl/dump.c#84 (text) ====
Index: perl/dump.c
--- perl/dump.c#83~32368~ 2007-11-17 07:06:50.000000000 -0800
+++ perl/dump.c 2008-02-02 07:58:54.000000000 -0800
@@ -207,7 +207,7 @@
const char *pv = str;
const char * const end = pv + count; /* end of string */
- if (!flags & PERL_PV_ESCAPE_NOCLEAR)
+ if (!(flags & PERL_PV_ESCAPE_NOCLEAR))
sv_setpvn(dsv, "", 0);
if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count))
End of Patch.