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.

Reply via email to