r26142 - in /trunk/libclass-mop-perl: ./ debian/ lib/ lib/Class/ lib/Class/MOP/ lib/Class/MOP/Method/ t/
gregoa at users.alioth.debian.org
gregoa at users.alioth.debian.org
Sat Oct 18 16:08:52 UTC 2008
Author: gregoa
Date: Sat Oct 18 16:08:42 2008
New Revision: 26142
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=26142
Log:
New upstream release.
Added:
trunk/libclass-mop-perl/t/048_anon_class_create_init.t
- copied unchanged from r26141, branches/upstream/libclass-mop-perl/current/t/048_anon_class_create_init.t
trunk/libclass-mop-perl/t/303_RT_39001_fix.t
- copied unchanged from r26141, branches/upstream/libclass-mop-perl/current/t/303_RT_39001_fix.t
Modified:
trunk/libclass-mop-perl/Changes
trunk/libclass-mop-perl/MANIFEST
trunk/libclass-mop-perl/META.yml
trunk/libclass-mop-perl/README
trunk/libclass-mop-perl/debian/changelog
trunk/libclass-mop-perl/lib/Class/MOP.pm
trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm
trunk/libclass-mop-perl/lib/Class/MOP/Class.pm
trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm
trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm
trunk/libclass-mop-perl/lib/Class/MOP/Method.pm
trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm
trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm
trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm
trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm
trunk/libclass-mop-perl/lib/Class/MOP/Module.pm
trunk/libclass-mop-perl/lib/Class/MOP/Object.pm
trunk/libclass-mop-perl/lib/Class/MOP/Package.pm
trunk/libclass-mop-perl/lib/metaclass.pm
Modified: trunk/libclass-mop-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/Changes?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/Changes (original)
+++ trunk/libclass-mop-perl/Changes Sat Oct 18 16:08:42 2008
@@ -1,6 +1,15 @@
Revision history for Perl extension Class-MOP.
-0.66
+0.67 Tue October 14, 2008
+ * Class::MOP::Class
+ - Call a method on the class after setting the superclass list
+ so that we can get Perl to detect cycles before MRO::Compat
+ spirals into an infinite loop (sartak)
+ - Reported by Schwern, [rt.cpan.org #39001]
+ - In create(), pass unused options on to initialize()
+ - added test for this
+
+0.66 Sat September 20, 2008
!! This release has an incompatible change regarding !!
introspection of a class's method with Class::MOP::Class !!
@@ -15,7 +24,7 @@
aliased methods and "real" methods.
This means that methods added via alias_method now show up as
- part of the class's method list/map. This is backwards
+ part of the class's method list/map. This is a backwards
incompatible change, but seems unlikely to break any
code. Famous last words. (Dave Rolsky)
@@ -26,7 +35,7 @@
0.65 Mon September 1, 2008
For those not following the series of dev releases, the changes
- from 0.64 from 0.65 can mostly be summed up as a lot performance
+ from 0.64 from 0.67 can mostly be summed up as a lot performance
improvements by nothingmuch, including new optional XS versions of
some methods. Also, Class::MOP now works _without_ any XS modules,
for sad systems without a compiler.
Modified: trunk/libclass-mop-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/MANIFEST?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/MANIFEST (original)
+++ trunk/libclass-mop-perl/MANIFEST Sat Oct 18 16:08:42 2008
@@ -60,6 +60,7 @@
t/045_metaclass_loads_classes.t
t/046_rebless_instance.t
t/047_rebless_with_extra_params.t
+t/048_anon_class_create_init.t
t/050_scala_style_mixin_composition.t
t/060_instance.t
t/061_instance_inline.t
@@ -84,6 +85,7 @@
t/300_random_eval_bug.t
t/301_RT_27329_fix.t
t/302_modify_parent_method.t
+t/303_RT_39001_fix.t
t/lib/BinaryTree.pm
t/lib/MyMetaClass.pm
t/lib/MyMetaClass/Attribute.pm
Modified: trunk/libclass-mop-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/META.yml?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/META.yml (original)
+++ trunk/libclass-mop-perl/META.yml Sat Oct 18 16:08:42 2008
@@ -1,22 +1,28 @@
--- #YAML:1.0
-name: Class-MOP
-version: 0.66
-abstract: A Meta Object Protocol for Perl 5
-license: perl
-generated_by: ExtUtils::MakeMaker version 6.36
-distribution_type: module
-requires:
- Carp: 0
- Devel::GlobalDestruction: 0
- File::Spec: 0
- MRO::Compat: 0.05
- Scalar::Util: 1.18
- Sub::Identify: 0.03
- Sub::Name: 0.04
- Test::Exception: 0
- Test::More: 0
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.2.html
- version: 1.2
+name: Class-MOP
+version: 0.67
+abstract: A Meta Object Protocol for Perl 5
author:
- Stevan Little <stevan at iinteractive.com>
+license: perl
+distribution_type: module
+configure_requires:
+ ExtUtils::MakeMaker: 0
+requires:
+ Carp: 0
+ Devel::GlobalDestruction: 0
+ File::Spec: 0
+ MRO::Compat: 0.05
+ Scalar::Util: 1.18
+ Sub::Identify: 0.03
+ Sub::Name: 0.04
+ Test::Exception: 0
+ Test::More: 0
+no_index:
+ directory:
+ - t
+ - inc
+generated_by: ExtUtils::MakeMaker version 6.46
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
Modified: trunk/libclass-mop-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/README?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/README (original)
+++ trunk/libclass-mop-perl/README Sat Oct 18 16:08:42 2008
@@ -1,4 +1,4 @@
-Class::MOP version 0.65
+Class::MOP version 0.67
===========================
See the individual module documentation for more information
Modified: trunk/libclass-mop-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/debian/changelog?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/debian/changelog (original)
+++ trunk/libclass-mop-perl/debian/changelog Sat Oct 18 16:08:42 2008
@@ -1,4 +1,4 @@
-libclass-mop-perl (0.66-1) UNRELEASED; urgency=low
+libclass-mop-perl (0.67-1) UNRELEASED; urgency=low
[ missing Devel::GlobalDestruction ]
Modified: trunk/libclass-mop-perl/lib/Class/MOP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP.pm Sat Oct 18 16:08:42 2008
@@ -31,7 +31,7 @@
*check_package_cache_flag = \&mro::get_pkg_gen;
}
-our $VERSION = '0.66';
+our $VERSION = '0.67';
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm Sat Oct 18 16:08:42 2008
@@ -9,7 +9,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Class.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Class.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Class.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Class.pm Sat Oct 18 16:08:42 2008
@@ -11,7 +11,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
@@ -274,7 +274,16 @@
eval $code;
confess "creation of $package_name failed : $@" if $@;
- my $meta = $class->initialize($package_name);
+ my (%initialize_options) = @args;
+ delete @initialize_options{qw(
+ package
+ superclasses
+ attributes
+ methods
+ version
+ authority
+ )};
+ my $meta = $class->initialize( $package_name => %initialize_options );
# FIXME totally lame
$meta->add_method('meta' => sub {
@@ -500,6 +509,14 @@
if (@_) {
my @supers = @_;
@{$self->get_package_symbol($var_spec)} = @supers;
+
+ # NOTE:
+ # on 5.8 and below, we need to call
+ # a method to get Perl to detect
+ # a cycle in the class hierarchy
+ my $class = $self->name;
+ $class->isa($class);
+
# NOTE:
# we need to check the metaclass
# compatibility here so that we can
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm Sat Oct 18 16:08:42 2008
@@ -9,7 +9,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm Sat Oct 18 16:08:42 2008
@@ -6,7 +6,7 @@
use Scalar::Util 'weaken', 'blessed';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Method.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Method.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method.pm Sat Oct 18 16:08:42 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'weaken';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm Sat Oct 18 16:08:42 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm Sat Oct 18 16:08:42 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken', 'looks_like_number';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm Sat Oct 18 16:08:42 2008
@@ -6,7 +6,7 @@
use Carp 'confess';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm Sat Oct 18 16:08:42 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Module.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Module.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Module.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Module.pm Sat Oct 18 16:08:42 2008
@@ -6,7 +6,7 @@
use Scalar::Util 'blessed';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Object.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Object.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Object.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Object.pm Sat Oct 18 16:08:42 2008
@@ -6,7 +6,7 @@
use Scalar::Util 'blessed';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/Class/MOP/Package.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/Class/MOP/Package.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Package.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Package.pm Sat Oct 18 16:08:42 2008
@@ -7,7 +7,7 @@
use Scalar::Util 'blessed';
use Carp 'confess';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Modified: trunk/libclass-mop-perl/lib/metaclass.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/metaclass.pm?rev=26142&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/metaclass.pm (original)
+++ trunk/libclass-mop-perl/lib/metaclass.pm Sat Oct 18 16:08:42 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.65';
+our $VERSION = '0.67';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
More information about the Pkg-perl-cvs-commits
mailing list