summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-12-16 16:54:06 +0000
committerNicholas Clark <nick@ccl4.org>2006-12-16 16:54:06 +0000
commit2e5b91de24d62e1e2bf0fd32a1d4d1d849cafc82 (patch)
tree26bb2662cefa3272e2d2d365d577829fa36fbd2f /sv.c
parent702119bc891cbff15043348ab2eab5c9d600e0be (diff)
downloadperl-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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sv.c b/sv.c
index e94629dd42..7e327d46da 100644
--- a/sv.c
+++ b/sv.c
@@ -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();