Better document the difference between a block and a script.
[p5sagit/p5-mst-13.2.git] / pp_ctl.c
index 6ba97c8..ca82350 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -89,13 +89,12 @@ PP(pp_regcomp)
     
     tmpstr = POPs;
 
-     /* prevent recompiling under /o and ithreads. */
+    /* prevent recompiling under /o and ithreads. */
 #if defined(USE_ITHREADS) || defined(USE_THREADS)
-     if (pm->op_pmflags & PMf_KEEP && PM_GETRE(pm))
-         RETURN;
+    if (pm->op_pmflags & PMf_KEEP && PM_GETRE(pm))
+        RETURN;
 #endif
 
-    tmpstr = POPs;
     if (SvROK(tmpstr)) {
        SV *sv = SvRV(tmpstr);
        if(SvMAGICAL(sv))
@@ -150,6 +149,8 @@ PP(pp_regcomp)
        pm = PL_curpm;
     else if (strEQ("\\s+", PM_GETRE(pm)->precomp))
        pm->op_pmflags |= PMf_WHITE;
+    else
+       pm->op_pmflags &= ~PMf_WHITE;
 
     /* XXX runtime compiled output needs to move to the pad */
     if (pm->op_pmflags & PMf_KEEP) {