diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-12-16 16:54:06 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-12-16 16:54:06 +0000 |
commit | 2e5b91de24d62e1e2bf0fd32a1d4d1d849cafc82 (patch) | |
tree | 26bb2662cefa3272e2d2d365d577829fa36fbd2f /sv.c | |
parent | 702119bc891cbff15043348ab2eab5c9d600e0be (diff) | |
download | perl-2e5b91de24d62e1e2bf0fd32a1d4d1d849cafc82.tar.gz |
Split out the use of SVp_SCREAM for GVs with GPs into a new symbolic
flag SVpgv_GP, and use this in isGV_with_GP_on/off.
p4raw-id: //depot/perl@29565
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -3177,7 +3177,9 @@ S_glob_assign_glob(pTHX_ SV *dstr, SV *sstr, const int dtype) } sv_upgrade(dstr, SVt_PVGV); (void)SvOK_off(dstr); - SvSCREAM_on(dstr); + /* FIXME - why are we doing this, then turning it off and on again + below? */ + isGV_with_GP_on(dstr); } GvSTASH(dstr) = GvSTASH(sstr); if (GvSTASH(dstr)) @@ -3193,9 +3195,9 @@ S_glob_assign_glob(pTHX_ SV *dstr, SV *sstr, const int dtype) #endif gp_free((GV*)dstr); - SvSCREAM_off(dstr); + isGV_with_GP_off(dstr); (void)SvOK_off(dstr); - SvSCREAM_on(dstr); + isGV_with_GP_on(dstr); GvINTRO_off(dstr); /* one-shot flag */ GvGP(dstr) = gp_ref(GvGP(sstr)); if (SvTAINTED(sstr)) @@ -7946,7 +7948,7 @@ S_sv_unglob(pTHX_ SV *sv) if (GvNAME_HEK(sv)) { unshare_hek(GvNAME_HEK(sv)); } - SvSCREAM_off(sv); + isGV_with_GP_off(sv); /* need to keep SvANY(sv) in the right arena */ xpvmg = new_XPVMG(); |