X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FUtil.pm;h=edecfa6e9434e1617bb108b9ba9d23382f6a15be;hb=bdef60b43281bb85a2a4bed85de0069ae3925068;hp=082e9ee00e48481031dcf6738d963718b20220c2;hpb=af4995e2c7e75d5eadf52aa9eff8214115174777;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Util.pm b/lib/Mouse/Util.pm index 082e9ee..edecfa6 100644 --- a/lib/Mouse/Util.pm +++ b/lib/Mouse/Util.pm @@ -48,21 +48,18 @@ BEGIN{ }, ); + our $VERSION = '0.68'; - # Because Mouse::Util is loaded first in all the Mouse sub-modules, - # XS loader is placed here, not in Mouse.pm. - - our $VERSION = '0.58'; - - my $xs = !(exists $INC{'Mouse/PurePerl.pm'} || $ENV{MOUSE_PUREPERL}); + my $xs = !(defined(&is_valid_class_name) || $ENV{MOUSE_PUREPERL} || $ENV{PERL_ONLY}); + # Because Mouse::Util is loaded first in all the Mouse sub-modules, + # XSLoader must be placed here, not in Mouse.pm. if($xs){ # XXX: XSLoader tries to get the object path from caller's file name # $hack_mouse_file fools its mechanism - (my $hack_mouse_file = __FILE__) =~ s/.Util//; # .../Mouse/Util.pm -> .../Mouse.pm $xs = eval sprintf("#line %d %s\n", __LINE__, $hack_mouse_file) . q{ - local $^W = 0; # work around 'redefine' warning to &install_subroutines + local $^W = 0; # workaround 'redefine' warning to &install_subroutines require XSLoader; XSLoader::load('Mouse', $VERSION); Mouse::Util->import({ into => 'Mouse::Meta::Method::Constructor::XS' }, ':meta'); @@ -156,7 +153,7 @@ BEGIN { { package # hide from PAUSE Class::C3; - our %MRO; # work around 'once' warnings + our %MRO; # avoid 'once' warnings } # MRO::Compat::__get_linear_isa has no prototype, so @@ -365,7 +362,7 @@ Mouse::Util - Features, with or without their dependencies =head1 VERSION -This document describes Mouse version 0.58 +This document describes Mouse version 0.68 =head1 IMPLEMENTATIONS FOR