r22955 - 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
Wed Jul 9 15:39:29 UTC 2008
Author: gregoa
Date: Wed Jul 9 15:39:29 2008
New Revision: 22955
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=22955
Log:
New upstream release.
Modified:
trunk/libclass-mop-perl/Changes
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
trunk/libclass-mop-perl/t/083_load_class.t
Modified: trunk/libclass-mop-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/Changes?rev=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/Changes (original)
+++ trunk/libclass-mop-perl/Changes Wed Jul 9 15:39:29 2008
@@ -1,4 +1,14 @@
Revision history for Perl extension Class-MOP.
+
+0.63 Mon July 7, 2008
+ * Class::MOP
+ - load_class will initialize a metaclass even if
+ the class is already loaded (sartak)
+ - load_class now returns the metaclass instance
+ instead of just 1 (sartak)
+
+ * elsewhere
+ - better error messages (sartak and Dave Rolsky)
0.62 Wed June 18, 2008
- in is_class_loaded, recognize scalar references (as opposed to globs) in
Modified: trunk/libclass-mop-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/META.yml?rev=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/META.yml (original)
+++ trunk/libclass-mop-perl/META.yml Wed Jul 9 15:39:29 2008
@@ -22,50 +22,50 @@
provides:
Class::MOP:
file: lib/Class/MOP.pm
- version: 0.62
+ version: 0.63
Class::MOP::Attribute:
file: lib/Class/MOP/Attribute.pm
- version: 0.62
+ version: 0.63
Class::MOP::Class:
file: lib/Class/MOP/Class.pm
- version: 0.62
+ version: 0.63
Class::MOP::Immutable:
file: lib/Class/MOP/Immutable.pm
- version: 0.62
+ version: 0.63
Class::MOP::Instance:
file: lib/Class/MOP/Instance.pm
- version: 0.62
+ version: 0.63
Class::MOP::Method:
file: lib/Class/MOP/Method.pm
- version: 0.62
+ version: 0.63
Class::MOP::Method::Accessor:
file: lib/Class/MOP/Method/Accessor.pm
- version: 0.62
+ version: 0.63
Class::MOP::Method::Constructor:
file: lib/Class/MOP/Method/Constructor.pm
- version: 0.62
+ version: 0.63
Class::MOP::Method::Generated:
file: lib/Class/MOP/Method/Generated.pm
- version: 0.62
+ version: 0.63
Class::MOP::Method::Wrapped:
file: lib/Class/MOP/Method/Wrapped.pm
- version: 0.62
+ version: 0.63
Class::MOP::Module:
file: lib/Class/MOP/Module.pm
- version: 0.62
+ version: 0.63
Class::MOP::Object:
file: lib/Class/MOP/Object.pm
- version: 0.62
+ version: 0.63
Class::MOP::Package:
file: lib/Class/MOP/Package.pm
- version: 0.62
+ version: 0.63
metaclass:
file: lib/metaclass.pm
- version: 0.62
+ version: 0.63
requires:
Carp: 0
MRO::Compat: 0.05
Scalar::Util: 1.18
Sub::Identify: 0.03
Sub::Name: 0.02
-version: 0.62
+version: 0.63
Modified: trunk/libclass-mop-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/README?rev=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/README (original)
+++ trunk/libclass-mop-perl/README Wed Jul 9 15:39:29 2008
@@ -1,4 +1,4 @@
-Class::MOP version 0.61
+Class::MOP version 0.63
===========================
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/debian/changelog (original)
+++ trunk/libclass-mop-perl/debian/changelog Wed Jul 9 15:39:29 2008
@@ -1,3 +1,9 @@
+libclass-mop-perl (0.63-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- gregor herrmann <gregoa at debian.org> Wed, 09 Jul 2008 17:38:30 +0200
+
libclass-mop-perl (0.62-1) unstable; urgency=low
* New upstream release
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP.pm Wed Jul 9 15:39:29 2008
@@ -17,7 +17,7 @@
BEGIN {
- our $VERSION = '0.62';
+ our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
*IS_RUNNING_ON_5_10 = ($] < 5.009_005)
@@ -131,19 +131,22 @@
confess "Invalid class name ($display)";
}
- # see if this is already
- # loaded in the symbol table
- return 1 if is_class_loaded($class);
- # otherwise require it ...
- my $file = $class . '.pm';
- $file =~ s{::}{/}g;
- eval { CORE::require($file) };
- confess "Could not load class ($class) because : $@" if $@;
+ # if the class is not already loaded in the symbol table..
+ unless (is_class_loaded($class)) {
+ # require it
+ my $file = $class . '.pm';
+ $file =~ s{::}{/}g;
+ eval { CORE::require($file) };
+ confess "Could not load class ($class) because : $@" if $@;
+ }
+
+ # initialize a metaclass if necessary
unless (does_metaclass_exist($class)) {
eval { Class::MOP::Class->initialize($class) };
confess "Could not initialize class ($class) because : $@" if $@;
}
- 1; # return true if it worked
+
+ return get_metaclass_by_name($class);
}
sub is_class_loaded {
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Attribute.pm Wed Jul 9 15:39:29 2008
@@ -9,7 +9,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Class.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Class.pm Wed Jul 9 15:39:29 2008
@@ -11,7 +11,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Module';
@@ -407,7 +407,8 @@
my $class = shift;
my $instance = shift;
(blessed($instance) && $instance->isa($class->name))
- || confess "You must pass an instance ($instance) of the metaclass (" . $class->name . ")";
+ || confess "You must pass an instance of the metaclass (" . $class->name . "), not ($instance)";
+
# NOTE:
# we need to protect the integrity of the
# Class::MOP::Class singletons here, they
@@ -419,7 +420,7 @@
sub clone_instance {
my ($class, $instance, %params) = @_;
(blessed($instance))
- || confess "You can only clone instances, \$self is not a blessed instance";
+ || confess "You can only clone instances, ($instance) is not a blessed instance";
my $meta_instance = $class->get_meta_instance();
my $clone = $meta_instance->clone_instance($instance);
foreach my $attr ($class->compute_all_applicable_attributes()) {
@@ -586,7 +587,7 @@
$body = $method->body;
if ($method->package_name ne $self->name &&
$method->name ne $method_name) {
- warn "Hello there, got somethig for you."
+ warn "Hello there, got something for you."
. " Method says " . $method->package_name . " " . $method->name
. " Class says " . $self->name . " " . $method_name;
$method = $method->clone(
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Immutable.pm Wed Jul 9 15:39:29 2008
@@ -9,7 +9,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Instance.pm Wed Jul 9 15:39:29 2008
@@ -6,7 +6,7 @@
use Scalar::Util 'weaken', 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method.pm Wed Jul 9 15:39:29 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Accessor.pm Wed Jul 9 15:39:29 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method::Generated';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Constructor.pm Wed Jul 9 15:39:29 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken', 'looks_like_number';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method::Generated';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Generated.pm Wed Jul 9 15:39:29 2008
@@ -6,7 +6,7 @@
use Carp 'confess';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Method/Wrapped.pm Wed Jul 9 15:39:29 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Module.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Module.pm Wed Jul 9 15:39:29 2008
@@ -6,7 +6,7 @@
use Scalar::Util 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Package';
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Object.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Object.pm Wed Jul 9 15:39:29 2008
@@ -6,7 +6,7 @@
use Scalar::Util 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
# introspection
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=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/Class/MOP/Package.pm (original)
+++ trunk/libclass-mop-perl/lib/Class/MOP/Package.pm Wed Jul 9 15:39:29 2008
@@ -7,7 +7,7 @@
use Scalar::Util 'blessed';
use Carp 'confess';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
Modified: trunk/libclass-mop-perl/lib/metaclass.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/lib/metaclass.pm?rev=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/lib/metaclass.pm (original)
+++ trunk/libclass-mop-perl/lib/metaclass.pm Wed Jul 9 15:39:29 2008
@@ -7,7 +7,7 @@
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $AUTHORITY = 'cpan:STEVAN';
use Class::MOP;
Modified: trunk/libclass-mop-perl/t/083_load_class.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libclass-mop-perl/t/083_load_class.t?rev=22955&op=diff
==============================================================================
--- trunk/libclass-mop-perl/t/083_load_class.t (original)
+++ trunk/libclass-mop-perl/t/083_load_class.t Wed Jul 9 15:39:29 2008
@@ -1,7 +1,7 @@
#!/usr/bin/env perl
use strict;
use warnings;
-use Test::More tests => 13;
+use Test::More tests => 14;
use Test::Exception;
require Class::MOP;
@@ -15,7 +15,9 @@
throws_ok { Class::MOP::load_class('') } qr/Invalid class name \(\)/;
throws_ok { Class::MOP::load_class(\"foo") } qr/Invalid class name \(SCALAR\(\w+\)\)/;
-ok(Class::MOP::load_class('BinaryTree'));
+my $meta = Class::MOP::load_class('BinaryTree');
+ok($meta, "successfully loaded the class BinaryTree");
+is($meta->name, "BinaryTree", "load_class returns the metaclass");
can_ok('BinaryTree' => 'traverse');
do {
More information about the Pkg-perl-cvs-commits
mailing list