summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorBrandon Black <blblack@gmail.com>2007-04-29 12:27:03 -0500
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-04-30 09:22:58 +0000
commitdd69841bebe1fc7f7a6b248576221520a0418d52 (patch)
tree03f70519210b8c576d1dde888623afef3e9882ba /pp.c
parent49d7dfbcef7527d25e8c34643f831ef2416923a3 (diff)
downloadperl-dd69841bebe1fc7f7a6b248576221520a0418d52.tar.gz
Re: mro status, etc
From: "Brandon Black" <blblack@gmail.com> Message-ID: <84621a60704291527y1b39be37l221ef66e4c828f66@mail.gmail.com> p4raw-id: //depot/perl@31107
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/pp.c b/pp.c
index 4903264707..830d5fb60c 100644
--- a/pp.c
+++ b/pp.c
@@ -828,6 +828,15 @@ PP(pp_undef)
SvSetMagicSV(sv, &PL_sv_undef);
else {
GP *gp;
+ HV *stash;
+
+ /* undef *Foo:: */
+ if((stash = GvHV((GV*)sv)) && HvNAME_get(stash))
+ mro_isa_changed_in(stash);
+ /* undef *Pkg::meth_name ... */
+ else if(GvCVu((GV*)sv) && (stash = GvSTASH((GV*)sv)) && HvNAME_get(stash))
+ mro_method_changed_in(stash);
+
gp_free((GV*)sv);
Newxz(gp, 1, GP);
GvGP(sv) = gp_ref(gp);