X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=mg.c;h=dfe1fb7d80b1f075bfe4e916f70327ef4edd6940;hb=b91ba1f24f52edc181821f93840733a1b39a2451;hp=f88b07851bcca6d64bc8cc76a7ae7fb5ce0f1f46;hpb=218787bdb7a9250de0cc00118d84dcb23ff2f1c5;p=p5sagit%2Fp5-mst-13.2.git diff --git a/mg.c b/mg.c index f88b078..dfe1fb7 100644 --- a/mg.c +++ b/mg.c @@ -1560,7 +1560,8 @@ Perl_magic_setsig(pTHX_ SV *sv, MAGIC *mg) * tell whether HINT_STRICT_REFS is in force or not. */ if (!strchr(s,':') && !strchr(s,'\'')) - Perl_sv_insert(aTHX_ sv, 0, 0, STR_WITH_LEN("main::")); + Perl_sv_insert_flags(aTHX_ sv, 0, 0, STR_WITH_LEN("main::"), + SV_GMAGIC); if (i) (void)rsignal(i, PL_csighandlerp); else @@ -1606,7 +1607,8 @@ Perl_magic_setisa(pTHX_ SV *sv, MAGIC *mg) : (GV*)SvMAGIC(mg->mg_obj)->mg_obj ); - mro_isa_changed_in(stash); + if (stash) + mro_isa_changed_in(stash); return 0; } @@ -1631,7 +1633,8 @@ Perl_magic_clearisa(pTHX_ SV *sv, MAGIC *mg) : (GV*)SvMAGIC(mg->mg_obj)->mg_obj ); - mro_isa_changed_in(stash); + if (stash) + mro_isa_changed_in(stash); return 0; } @@ -3140,7 +3143,7 @@ Perl_magic_sethint(pTHX_ SV *sv, MAGIC *mg) } /* -=for apidoc magic_sethint +=for apidoc magic_clearhint Triggered by a delete from %^H, records the key to C.