]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - Upper.xs
Also preserve PL_scopestack[cx->blk_oldscopesp - 1] in formats
[perl/modules/Scope-Upper.git] / 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
  }