From: Stevan Little Date: Sun, 18 May 2008 23:58:53 +0000 (+0000) Subject: just adjusting versions and writing changes X-Git-Tag: 0_64~56 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6c34db07326ebe4a50267275bdea7ed9d83ea510;p=gitmo%2FClass-MOP.git just adjusting versions and writing changes --- diff --git a/Changes b/Changes index 24f052b..9845290 100644 --- a/Changes +++ b/Changes @@ -4,6 +4,11 @@ Revision history for Perl extension Class-MOP. * Class::MOP - we now get the &check_package_cache_flag function from MRO::Compat + - All XS based functionality is now optional + and a Pure Perl version is supplied + - the CLASS_MOP_NO_XS environment variable + can now be used to force non-XS versions + to always be used * Class::MOP::Attribute - add has_read_method and has_write_method @@ -17,6 +22,22 @@ Revision history for Perl extension Class-MOP. dying by wrapping add_package_symbol to specifically allow for it to work. - added tests for this + + * Class::MOP::Attribute + Class::MOP::Class + Class::MOP::Immutable + - any time a method meta object is constructed + we make sure to pass the correct package and + method name information + + * Class::MOP::Method + Class::MOP::Method::Wrapped + Class::MOP::Method::Generated + Class::MOP::Method::Accessor + Class::MOP::Method::Consructor + - all these classes are now bootstrapped properly + and now store the package_name and name attributes + correctly as well 0.55 Mon. April 28, 2008 - All classes now have proper C3 MRO support diff --git a/lib/Class/MOP.pm b/lib/Class/MOP.pm index 29bd467..8501f79 100644 --- a/lib/Class/MOP.pm +++ b/lib/Class/MOP.pm @@ -50,8 +50,21 @@ BEGIN { # the XS as possible. # - SL no warnings 'prototype', 'redefine'; - # get this from MRO::Compat ... - *check_package_cache_flag = \&MRO::Compat::__get_pkg_gen_pp; + + unless (IS_RUNNING_ON_5_10()) { + # get this from MRO::Compat ... + *check_package_cache_flag = \&MRO::Compat::__get_pkg_gen_pp; + } + else { + # NOTE: + # but if we are running 5.10 + # there is no need to use the + # Pure Perl version since we + # can use the built in mro + # version instead. + # - SL + *check_package_cache_flag = \&mro::get_pkg_gen; + } # our own version of Sub::Name *subname = $_PP_subname; # and the Sub::Identify version of the get_code_info @@ -81,10 +94,7 @@ BEGIN { # for naming our CVs, if not, we # use the workaround instead. if ( eval { require Sub::Name } ) { - *subname = sub { - #warn "Class::MOP::subname called with @_"; - Sub::Name::subname(@_); - }; + *subname = \&Sub::Name::subname; } else { *subname = $_PP_subname; diff --git a/lib/Class/MOP/Method/Accessor.pm b/lib/Class/MOP/Method/Accessor.pm index 656dd9a..d9b9382 100644 --- a/lib/Class/MOP/Method/Accessor.pm +++ b/lib/Class/MOP/Method/Accessor.pm @@ -7,7 +7,7 @@ use warnings; use Carp 'confess'; use Scalar::Util 'blessed', 'weaken'; -our $VERSION = '0.02'; +our $VERSION = '0.03'; our $AUTHORITY = 'cpan:STEVAN'; use base 'Class::MOP::Method::Generated'; diff --git a/lib/Class/MOP/Method/Constructor.pm b/lib/Class/MOP/Method/Constructor.pm index 893a513..9a71a70 100644 --- a/lib/Class/MOP/Method/Constructor.pm +++ b/lib/Class/MOP/Method/Constructor.pm @@ -7,7 +7,7 @@ use warnings; use Carp 'confess'; use Scalar::Util 'blessed', 'weaken', 'looks_like_number'; -our $VERSION = '0.04'; +our $VERSION = '0.05'; our $AUTHORITY = 'cpan:STEVAN'; use base 'Class::MOP::Method::Generated'; diff --git a/lib/Class/MOP/Method/Generated.pm b/lib/Class/MOP/Method/Generated.pm index 4042e32..06cf9c5 100644 --- a/lib/Class/MOP/Method/Generated.pm +++ b/lib/Class/MOP/Method/Generated.pm @@ -6,7 +6,7 @@ use warnings; use Carp 'confess'; -our $VERSION = '0.01'; +our $VERSION = '0.02'; our $AUTHORITY = 'cpan:STEVAN'; use base 'Class::MOP::Method'; diff --git a/lib/Class/MOP/Method/Wrapped.pm b/lib/Class/MOP/Method/Wrapped.pm index 6e664be..fb3cd6d 100644 --- a/lib/Class/MOP/Method/Wrapped.pm +++ b/lib/Class/MOP/Method/Wrapped.pm @@ -7,7 +7,7 @@ use warnings; use Carp 'confess'; use Scalar::Util 'reftype', 'blessed'; -our $VERSION = '0.02'; +our $VERSION = '0.03'; our $AUTHORITY = 'cpan:STEVAN'; use base 'Class::MOP::Method';