just adjusting versions and writing changes
Stevan Little [Sun, 18 May 2008 23:58:53 +0000 (23:58 +0000)]
Changes
lib/Class/MOP.pm
lib/Class/MOP/Method/Accessor.pm
lib/Class/MOP/Method/Constructor.pm
lib/Class/MOP/Method/Generated.pm
lib/Class/MOP/Method/Wrapped.pm

diff --git a/Changes b/Changes
index 24f052b..9845290 100644 (file)
--- 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
index 29bd467..8501f79 100644 (file)
@@ -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;
index 656dd9a..d9b9382 100644 (file)
@@ -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';
index 893a513..9a71a70 100644 (file)
@@ -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';
index 4042e32..06cf9c5 100644 (file)
@@ -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';
index 6e664be..fb3cd6d 100644 (file)
@@ -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';