]> git.vpit.fr Git - perl/modules/Scope-Upper.git/commitdiff
Also preserve PL_scopestack[cx->blk_oldscopesp - 1] in formats
authorVincent Pit <vince@profvince.com>
Fri, 27 Mar 2015 19:45:02 +0000 (16:45 -0300)
committerVincent Pit <vince@profvince.com>
Fri, 27 Mar 2015 19:45:22 +0000 (16:45 -0300)
Upper.xs

index 702481594747b6e41c6753b5f9304e1fecae3cf7..5b0685d97502efdab9caa4a15d4c958615757ccf 100644 (file)
--- a/Upper.xs
+++ b/Upper.xs
@@ -1010,7 +1010,7 @@ static void su_pop(pTHX_ void *ud) {
 
 #if SU_HAS_PERL(5, 19, 4)
   cx = cxstack + cxstack_ix;
-  if (CxTYPE(cx) == CXt_SUB)
+  if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT)
    save = PL_scopestack[cx->blk_oldscopesp - 1];
 #endif
 
@@ -1018,7 +1018,7 @@ static void su_pop(pTHX_ void *ud) {
   leave_scope(base);
 
 #if SU_HAS_PERL(5, 19, 4)
-  if (CxTYPE(cx) == CXt_SUB)
+  if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT)
    PL_scopestack[cx->blk_oldscopesp - 1] = save;
 #endif
  }