X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FScope-Upper.git;a=blobdiff_plain;f=Upper.xs;h=386bf5abe245f267c9515c0ca39ca2c2f7f10f2f;hp=e810d69b77603810c207334ee09fcb24e3cf1e6c;hb=ae64b29ad6c13002911b394f671bd4af07b3fc89;hpb=c47d5c51367d1ad7d1dd0ebab3d11f83e9e7c19d diff --git a/Upper.xs b/Upper.xs index e810d69..386bf5a 100644 --- a/Upper.xs +++ b/Upper.xs @@ -900,13 +900,12 @@ static void su_localize(pTHX_ void *ud_) { if (SvTYPE(sv) >= SVt_PVGV) { gv = (GV *) sv; } else { - /* new perl context implementation frees savestack *before* restoring * PL_curcop. Temporarily restore it prematurely to make gv_fetch* * looks up unqualified var names in the caller's package */ #if SU_HAS_NEW_CXT COP *old_cop = PL_curcop; - PL_curcop = CX_CUR()->blk_oldcop; + PL_curcop = CX_CUR()->blk_oldcop; #endif #ifdef gv_fetchsv @@ -917,7 +916,7 @@ static void su_localize(pTHX_ void *ud_) { gv = gv_fetchpvn_flags(name, len, GV_ADDMULTI, t); #endif #if SU_HAS_NEW_CXT - CX_CUR()->blk_oldcop = PL_curcop; + CX_CUR()->blk_oldcop = old_cop; #endif }