]> git.vpit.fr Git - perl/modules/Scope-Upper.git/commitdiff
Work around an assertion failure in perl 5.21.4
authorVincent Pit <vince@profvince.com>
Sat, 20 Sep 2014 16:11:14 +0000 (18:11 +0200)
committerVincent Pit <vince@profvince.com>
Sat, 20 Sep 2014 16:11:51 +0000 (18:11 +0200)
This was fixed in perl by commit 5988f306, in which Father Chrysostomos
says "CvNAMED should never be on after calling [CvGV_set], regardless
of the previous state of the CV".

Upper.xs

index 497b70e5ce51055f008e59937fa9b1c35906641d..8b2e63952511fc36f09427958a4a6a00dbb095f5 100644 (file)
--- a/Upper.xs
+++ b/Upper.xs
@@ -1668,6 +1668,9 @@ STATIC CV *su_cv_clone(pTHX_ CV *proto, GV *gv) {
 #endif
 
  CvGV_set(cv, gv);
+#if SU_RELEASE && SU_HAS_PERL_EXACT(5, 21, 4)
+ CvNAMED_off(cv);
+#endif
  CvSTASH_set(cv, CvSTASH(proto));
  /* Commit 4c74a7df, publicized with perl 5.13.3, began to add backrefs to
   * stashes. CvSTASH_set() started to do it as well with commit c68d95645