Chop that chunk of sh*t out again, as we're going to hit anything which relies on...
Tomas Doran [Sun, 4 Jan 2009 00:03:16 +0000 (00:03 +0000)]
Changes
TODO
lib/Catalyst/ClassData.pm
t/cdi_backcompat_plugin_accessor_override.t

diff --git a/Changes b/Changes
index cef7eba..594ac2d 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,7 +1,5 @@
 # This file documents the revision history for Perl extension Catalyst.
 
-        - Fix plugins which hook onto setup_finished being called (t0m)
-          - Test for this (t0m)
         - Fix calling use Catalyst::Test 'MyApp' 'foo' which used to work,
           but stopped as the 2nd parameter can be an options hash now (t0m)
         - Bump Moose dependency to fix make_immutable bug (t0m)
           method is called, fixing issues with plugins which have their 
           own new methods by inlining a constructor on MyApp (t0m)
           - Test for this and method modifiers in MyApp (t0m)
-        - Fix Catalyst::Plugin::Authentication's authentication
-          plugin backwards compatibility issues by fixing 
-          Class::Data::Inheritable compatibility (t0m)
-          - Test for this (t0m)
         - Fix bug causing Catalyst::Request::Upload's basename method
           to return undef (t0m)
           - Test for this (Carl Franks)
diff --git a/TODO b/TODO
index 44f794d..01c3873 100644 (file)
--- a/TODO
+++ b/TODO
@@ -31,16 +31,17 @@ Back-compat investigation / known issues:
      
      - Catalyst-Plugin-Cache dies due to mk_accessors('meta')
      
-     - CatalystX-CRUD fails tests against 5.80 (karpet)
+     - CatalystX-CRUD and CatalystX-CRUD-ModelAdapter-DBIC
+       fail tests against 5.80 (karpet)
 
      - Catalyst-Plugin-Authorization-ACL fails as 
        Catalyst::Dispatcher::_do_forward does not fix arguments if you throw
        an exception. Needs a test case (Caelum)
      
-     - Catalyst::Plugin::Authentication::Store::DBIC relies on 
-       hooking the setup_finished class data method in a plugin
-       (see t/cdi_backcompat_accessor_override.t).
-       Is this insane / should we support this?
+     - Catalyst::Plugin::Authentication new release.
+     
+     - Deprecation/Upgrade notice in Catalyst Makefile.PL for known broken
+       versions of plugins.
 
   - Issues with TWMC not being loaded when it used to be in 5.70 
     (Bill Moseley)
index 87b68c9..6174ffd 100644 (file)
@@ -16,18 +16,6 @@ sub mk_classdata {
     my $meta = $pkg->Class::MOP::Object::meta();
     if (@_ > 1) {
       $meta->namespace->{$attribute} = \$_[1];
-      no strict 'refs';
-      if (! *{"${pkg}::${attribute}"}{CODE} ) {
-        foreach my $super ( $meta->linearized_isa ) {
-          # If there is a code symbol for this class data in a parent class, but not in our 
-          # class then copy it into our package. This is evil.
-          my $parent_symbol = *{"${super}::${attribute}"}{CODE} ? \&{"${super}::${attribute}"} : undef;
-          if (defined $parent_symbol) {
-            *{"${pkg}::${attribute}"} = $parent_symbol;
-            last;
-          }
-        }      
-      }
       return $_[1];
     }
 
index bb6bddf..d3efa18 100644 (file)
@@ -24,13 +24,16 @@ $SIG{__DIE__} = \&Carp::confess;
     __PACKAGE__->config;
 }
 
-lives_ok {
-    CDICompatTestApp->setup;
-} 'Setup app with plugins which says use base qw/Class::Accessor::Fast/';
+SKIP: {
+  skip 'Not trying to replicate the nasty CDI hackness', 2;
+  lives_ok {
+      CDICompatTestApp->setup;
+  } 'Setup app with plugins which says use base qw/Class::Accessor::Fast/';
 
-# And the plugin's setup_finished method should have been run, as accessors
-# are not created in MyApp until the data is written to.
-{
-    no warnings 'once';
-    is $CDICompatTestPlugin::Data::HAS_RUN_SETUP_FINISHED, 1, 'Plugin setup_finish run';
-}
+  # And the plugin's setup_finished method should have been run, as accessors
+  # are not created in MyApp until the data is written to.
+  {
+      no warnings 'once';
+      is $CDICompatTestPlugin::Data::HAS_RUN_SETUP_FINISHED, 1, 'Plugin setup_finish run';
+  }
+}
\ No newline at end of file