@@ -3728,7 +3728,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)
3728
3728
/* If source has a real method, then a method is
3729
3729
going to change */
3730
3730
else if(
3731
-
GvCV((const GV *)ssv) && GvSTASH(dsv) && HvENAME(GvSTASH(dsv))
3731
+
GvCV((const GV *)ssv) && GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))
3732
3732
) {
3733
3733
mro_changes = 1;
3734
3734
}
@@ -3737,7 +3737,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)
3737
3737
/* If dest already had a real method, that's a change as well */
3738
3738
if(
3739
3739
!mro_changes && GvGP(MUTABLE_GV(dsv)) && GvCVu((const GV *)dsv)
3740
-
&& GvSTASH(dsv) && HvENAME(GvSTASH(dsv))
3740
+
&& GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))
3741
3741
) {
3742
3742
mro_changes = 1;
3743
3743
}
@@ -3750,7 +3750,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)
3750
3750
if(memEQs(name, len, "ISA")
3751
3751
/* The stash may have been detached from the symbol table, so
3752
3752
check its name. */
3753
-
&& GvSTASH(dsv) && HvENAME(GvSTASH(dsv))
3753
+
&& GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))
3754
3754
)
3755
3755
mro_changes = 2;
3756
3756
else {
@@ -3808,7 +3808,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)
3808
3808
}
3809
3809
else if(mro_changes == 3) {
3810
3810
HV * const stash = GvHV(dsv);
3811
-
if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
3811
+
if(old_stash ? HvHasENAME(old_stash) : cBOOL(stash))
3812
3812
mro_package_moved(
3813
3813
stash, old_stash,
3814
3814
(GV *)dsv, 0
@@ -3958,7 +3958,7 @@ Perl_gv_setref(pTHX_ SV *const dsv, SV *const ssv)
3958
3958
(len > 1 && name[len-2] == ':' && name[len-1] == ':')
3959
3959
|| (len == 1 && name[0] == ':')
3960
3960
)
3961
-
&& (!dref || HvENAME_get(dref))
3961
+
&& (!dref || HvHasENAME(dref))
3962
3962
) {
3963
3963
mro_package_moved(
3964
3964
(HV *)sref, (HV *)dref,
@@ -3971,7 +3971,7 @@ Perl_gv_setref(pTHX_ SV *const dsv, SV *const ssv)
3971
3971
&& memEQs(GvNAME((GV*)dsv), GvNAMELEN((GV*)dsv), "ISA")
3972
3972
/* The stash may have been detached from the symbol table, so
3973
3973
check its name before doing anything. */
3974
-
&& GvSTASH(dsv) && HvENAME(GvSTASH(dsv))
3974
+
&& GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))
3975
3975
) {
3976
3976
MAGIC *mg;
3977
3977
MAGIC * const omg = dref && SvSMAGICAL(dref)
@@ -4432,7 +4432,7 @@ Perl_sv_setsv_flags(pTHX_ SV *dsv, SV* ssv, const I32 flags)
4432
4432
if (reset_isa) {
4433
4433
HV * const stash = GvHV(dsv);
4434
4434
if(
4435
-
old_stash ? (HV *)HvENAME_get(old_stash) : stash
4435
+
old_stash ? HvHasENAME(old_stash) : cBOOL(stash)
4436
4436
)
4437
4437
mro_package_moved(
4438
4438
stash, old_stash,
@@ -6558,7 +6558,7 @@ S_anonymise_cv_maybe(pTHX_ GV *gv, CV* cv)
6558
6558
}
6559
6559
6560
6560
/* if not, anonymise: */
6561
-
gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
6561
+
gvname = (GvSTASH(gv) && HvHasNAME(GvSTASH(gv)) && HvHasENAME(GvSTASH(gv)))
6562
6562
? newSVhek(HvENAME_HEK(GvSTASH(gv)))
6563
6563
: newSVpvn_flags( "__ANON__", 8, 0 );
6564
6564
sv_catpvs(gvname, "::__ANON__");
@@ -6793,7 +6793,7 @@ Perl_sv_clear(pTHX_ SV *const orig_sv)
6793
6793
case SVt_PVGV:
6794
6794
if (isGV_with_GP(sv)) {
6795
6795
if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
6796
-
&& HvENAME_get(stash))
6796
+
&& HvHasENAME(stash))
6797
6797
mro_method_changed_in(stash);
6798
6798
gp_free(MUTABLE_GV(sv));
6799
6799
if (GvNAME_HEK(sv))
@@ -10082,7 +10082,7 @@ Perl_sv_resetpvn(pTHX_ const char *s, STRLEN len, HV * const stash)
10082
10082
if (GvAV(gv)) {
10083
10083
av_clear(GvAV(gv));
10084
10084
}
10085
-
if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
10085
+
if (GvHV(gv) && !HvHasNAME(GvHV(gv))) {
10086
10086
hv_clear(GvHV(gv));
10087
10087
}
10088
10088
}
@@ -10458,9 +10458,10 @@ Perl_sv_ref(pTHX_ SV *dst, const SV *const sv, const int ob)
10458
10458
dst = sv_newmortal();
10459
10459
10460
10460
if (ob && SvOBJECT(sv)) {
10461
-
HvNAME_get(SvSTASH(sv))
10462
-
? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))
10463
-
: sv_setpvs(dst, "__ANON__");
10461
+
if (HvHasNAME(SvSTASH(sv)))
10462
+
sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)));
10463
+
else
10464
+
sv_setpvs(dst, "__ANON__");
10464
10465
}
10465
10466
else {
10466
10467
const char * reftype = sv_reftype(sv, 0);
@@ -10774,7 +10775,7 @@ S_sv_unglob(pTHX_ SV *const sv, U32 flags)
10774
10775
SvREFCNT_inc_simple_void_NN(sv_2mortal(sv));
10775
10776
if (GvGP(sv)) {
10776
10777
if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
10777
-
&& HvNAME_get(stash))
10778
+
&& HvHasNAME(stash))
10778
10779
mro_method_changed_in(stash);
10779
10780
gp_free(MUTABLE_GV(sv));
10780
10781
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4