diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-01-02 23:00:57 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-01-02 23:48:28 -0800 |
commit | 7f7845e39607487538cdd05d965d2677565da5d4 (patch) | |
tree | 571c381ac1ad18bc788a8398447fb08a584278e3 /ext/mro | |
parent | 884491dbe6aed1876e8cb44f8371e6feb3302ce8 (diff) | |
download | perl-7f7845e39607487538cdd05d965d2677565da5d4.tar.gz |
Revert "[perl #68654] next::method doesn't see UNIVERSAL"
This reverts commit a5cd004dbd757df2bcf9e17aab6a8ed1272157d7.
Diffstat (limited to 'ext/mro')
-rw-r--r-- | ext/mro/mro.xs | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/ext/mro/mro.xs b/ext/mro/mro.xs index 63befa9d23..fb28399f77 100644 --- a/ext/mro/mro.xs +++ b/ext/mro/mro.xs @@ -482,7 +482,6 @@ mro__nextcan(...) const char *hvname; I32 entries; struct mro_meta* selfmeta; - bool seen_univ = FALSE; HV* nmcache; I32 i; PPCODE: @@ -613,7 +612,6 @@ mro__nextcan(...) /* Now search the remainder of the MRO for the same method name as the contextually enclosing method */ - retry: if(entries > 0) { while (entries--) { SV * const linear_sv = *linear_svp++; @@ -633,10 +631,6 @@ mro__nextcan(...) assert(curstash); - if (!seen_univ && SvCUR(linear_sv) == 9 - && strnEQ(SvPV_nolen_const(linear_sv), "UNIVERSAL", 9)) - seen_univ = TRUE; - gvp = (GV**)hv_fetch(curstash, subname, subname_len, 0); if (!gvp) continue; @@ -658,14 +652,6 @@ mro__nextcan(...) } } - if (!seen_univ && (selfstash = gv_stashpvn("UNIVERSAL", 9, 0))) { - linear_av = S_mro_get_linear_isa_c3(aTHX_ selfstash, 0); - linear_svp = AvARRAY(linear_av); - entries = AvFILLp(linear_av) + 1; - seen_univ = TRUE; - goto retry; - } - (void)hv_store_ent(nmcache, sv, &PL_sv_undef, 0); if(throw_nomethod) Perl_croak(aTHX_ "No next::method '%s' found for %s", subname, hvname); |