Fix for SL4A where mro.pm doesn't exist even if Perl >= 5.10.0
Fuji, Goro [Sun, 5 Dec 2010 05:23:05 +0000 (14:23 +0900)]
lib/Mouse/Util.pm
xt/002-pod_spell.t

index e3999c3..8adab40 100644 (file)
@@ -127,10 +127,10 @@ sub does_role{
 
 BEGIN {
     my $get_linear_isa;
-    if ($] >= 5.009_005) {
-        require mro;
+    if (eval { require mro }) {
         $get_linear_isa = \&mro::get_linear_isa;
-    } else {
+    }
+    else {
         # this code is based on MRO::Compat::__get_linear_isa
         my $_get_linear_isa_dfs; # this recurses so it isn't pretty
         $_get_linear_isa_dfs = sub {
@@ -442,7 +442,7 @@ C<eval "use $module ()"> or using C<require>.
 
 =head3 C<< Mouse::Util::get_all_metaclass_names() -> (ClassNames) >>
 
-=head2 MRO::Compat
+=head2 mro (or MRO::Compat)
 
 =head3 C<get_linear_isa>
 
@@ -466,6 +466,8 @@ L<Class::MOP>
 
 L<Sub::Identify>
 
+L<mro>
+
 L<MRO::Compat>
 
 =cut
index dc94220..f10f10a 100644 (file)
@@ -188,6 +188,7 @@ namespacing
 transformability
 redispatch
 MISC
+mro
 
 # as in required-ness
 ness