diff options
author | Brandon Black <blblack@gmail.com> | 2007-04-17 08:14:36 -0500 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2007-04-19 14:48:20 +0000 |
commit | e1a479c5e0c08fb10925261f03573261c69ca0dc (patch) | |
tree | 09088fd1ef489ff5660300a532f799144ff7ae6a /mg.c | |
parent | 0a311364e00e9bf5b4fcb140ade49b02e46833dd (diff) | |
download | perl-e1a479c5e0c08fb10925261f03573261c69ca0dc.tar.gz |
Re: new C3 MRO patch
From: "Brandon Black" <blblack@gmail.com>
Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com>
p4raw-id: //depot/perl@30980
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -1530,8 +1530,18 @@ Perl_magic_setisa(pTHX_ SV *sv, MAGIC *mg) { dVAR; PERL_UNUSED_ARG(sv); - PERL_UNUSED_ARG(mg); - PL_sub_generation++; + + /* The first case occurs via setisa, + the second via setisa_elem, which + calls this same magic */ + mro_isa_changed_in( + GvSTASH( + SvTYPE(mg->mg_obj) == SVt_PVGV + ? (GV*)mg->mg_obj + : (GV*)SvMAGIC(mg->mg_obj)->mg_obj + ) + ); + return 0; } @@ -1541,7 +1551,6 @@ Perl_magic_setamagic(pTHX_ SV *sv, MAGIC *mg) dVAR; PERL_UNUSED_ARG(sv); PERL_UNUSED_ARG(mg); - /* HV_badAMAGIC_on(Sv_STASH(sv)); */ PL_amagic_generation++; return 0; |