This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Increase $mro::VERSION to 1.13
[perl5.git] / ext / mro / mro.pm
index 870b688..fddc3fb 100644 (file)
@@ -12,7 +12,7 @@ use warnings;
 
 # mro.pm versions < 1.00 reserved for MRO::Compat
 #  for partial back-compat to 5.[68].x
-our $VERSION = '1.03';
+our $VERSION = '1.13';
 
 sub import {
     mro::set_mro(scalar(caller), $_[1]) if $_[1];
@@ -38,7 +38,7 @@ sub method {
 }
 
 require XSLoader;
-XSLoader::load('mro', $VERSION);
+XSLoader::load('mro');
 
 1;
 
@@ -148,19 +148,7 @@ the given class name, even if the isa relationship is
 indirect.  This is used internally by the MRO code to
 keep track of method/MRO cache invalidations.
 
-Currently, this list only grows, it never shrinks.  This
-was a performance consideration (properly tracking and
-deleting isarev entries when someone removes an entry
-from an C<@ISA> is costly, and it doesn't happen often
-anyways).  The fact that a class which no longer truly
-"isa" this class at runtime remains on the list should be
-considered a quirky implementation detail which is subject
-to future change.  It shouldn't be an issue as long as
-you're looking at this list for the same reasons the
-core code does: as a performance optimization
-over having to search every class in existence.
-
-As with C<mro::get_mro> above, C<UNIVERSAL> is special.
+As with C<mro::get_linear_isa> above, C<UNIVERSAL> is special.
 C<UNIVERSAL> (and parents') isarev lists do not include
 every class in existence, even though all classes are
 effectively descendants for method inheritance purposes.
@@ -175,10 +163,6 @@ Any class for which this function returns true is
 "universal" in the sense that all classes potentially
 inherit methods from it.
 
-For similar reasons to C<isarev> above, this flag is
-permanent.  Once it is set, it does not go away, even
-if the class in question really isn't universal anymore.
-
 =head2 mro::invalidate_all_method_caches()
 
 Increments C<PL_sub_generation>, which invalidates method
@@ -218,10 +202,10 @@ This integer normally starts off at a value of C<1>
 when a package stash is instantiated.  Calling it
 on packages whose stashes do not exist at all will
 return C<0>.  If a package stash is completely
-deleted (not a normal occurence, but it can happen
+deleted (not a normal occurrence, but it can happen
 if someone does something like C<undef %PkgName::>),
 the number will be reset to either C<0> or C<1>,
-depending on how completely package was wiped out.
+depending on how completely the package was wiped out.
 
 =head2 next::method
 
@@ -324,7 +308,7 @@ works (like C<goto &maybe::next::method>);
 
 =over 4
 
-=item L<http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>
+=item L<http://haahr.tempdomainname.com/dylan/linearization-oopsla96.html>
 
 =back
 
@@ -338,8 +322,6 @@ Parrot now uses C3
 
 =over 4
 
-=item L<http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631>
-
 =item L<http://use.perl.org/~autrijus/journal/25768>
 
 =back
@@ -354,14 +336,6 @@ Parrot now uses C3
 
 =back
 
-=head2 C3 for TinyCLOS
-
-=over 4
-
-=item L<http://www.call-with-current-continuation.org/eggs/c3.html>
-
-=back 
-
 =head2 Class::C3
 
 =over 4