Some signals are more real than others
[p5sagit/p5-mst-13.2.git] / pp_ctl.c
index c53c6d5..b511b0e 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1849,6 +1849,10 @@ PP(pp_enteriter)
                    DIE(aTHX_ "Range iterator outside integer range");
                cx->blk_loop.iterix = SvIV(sv);
                cx->blk_loop.itermax = SvIV(right);
+#ifdef DEBUGGING
+               /* for correct -Dstv display */
+               cx->blk_oldsp = sp - PL_stack_base;
+#endif
            }
            else {
                cx->blk_loop.iterlval = newSVsv(sv);
@@ -2210,7 +2214,6 @@ PP(pp_redo)
 STATIC OP *
 S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
 {
-    OP *kid = Nullop;
     OP **ops = opstack;
     static const char too_deep[] = "Target of goto is too deeply nested";
 
@@ -2228,6 +2231,7 @@ S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
     }
     *ops = 0;
     if (o->op_flags & OPf_KIDS) {
+       OP *kid;
        /* First try all the kids at this level, since that's likeliest. */
        for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling) {
            if ((kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE) &&
@@ -2902,7 +2906,7 @@ STATIC OP *
 S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq)
 {
     dVAR; dSP;
-    OP *saveop = PL_op;
+    OP * const saveop = PL_op;
 
     PL_in_eval = ((saveop && saveop->op_type == OP_REQUIRE)
                  ? (EVAL_INREQUIRE | (PL_in_eval & EVAL_INEVAL))
@@ -3139,7 +3143,7 @@ PP(pp_require)
        I32 i;
 #ifdef VMS
        char *unixname;
-       if ((unixname = tounixspec(name, Nullch)) != Nullch)
+       if ((unixname = tounixspec((char *)name, Nullch)) != Nullch)
 #endif
        {
            namesv = NEWSV(806, 0);
@@ -3276,7 +3280,7 @@ PP(pp_require)
 #else
 #  ifdef VMS
                    char *unixdir;
-                   if ((unixdir = tounixpath(dir, Nullch)) == Nullch)
+                   if ((unixdir = tounixpath((char *)dir, Nullch)) == Nullch)
                        continue;
                    sv_setpv(namesv, unixdir);
                    sv_catpv(namesv, unixname);