Merge branch 'blead' into smartmatch
[p5sagit/p5-mst-13.2.git] / op.c
diff --git a/op.c b/op.c
index be98c3f..f1faf42 100644 (file)
--- a/op.c
+++ b/op.c
@@ -5184,6 +5184,7 @@ S_looks_like_bool(pTHX_ const OP *o)
 
     switch(o->op_type) {
        case OP_OR:
+       case OP_DOR:
            return looks_like_bool(cLOGOPo->op_first);
 
        case OP_AND:
@@ -5199,7 +5200,6 @@ S_looks_like_bool(pTHX_ const OP *o)
        case OP_ENTERSUB:
 
        case OP_NOT:    case OP_XOR:
-       /* Note that OP_DOR is not here */
 
        case OP_EQ:     case OP_NE:     case OP_LT:
        case OP_GT:     case OP_LE:     case OP_GE:
@@ -5232,7 +5232,14 @@ S_looks_like_bool(pTHX_ const OP *o)
            ||  cSVOPo->op_sv == &PL_sv_no)
            
                return TRUE;
+           else
+               return FALSE;
                
+       case OP_FLOP:
+           /* Detect "..." flip-flop operator */
+           if (cUNOPo->op_first->op_flags & OPf_SPECIAL)
+               return TRUE;
+
        /* FALL THROUGH */
        default:
            return FALSE;