r36530 - in /trunk/libmouse-perl: ./ debian/ inc/Module/ inc/Module/Install/ lib/ lib/Mouse/

ryan52-guest at users.alioth.debian.org ryan52-guest at users.alioth.debian.org
Thu May 28 01:31:16 UTC 2009


Author: ryan52-guest
Date: Thu May 28 01:31:12 2009
New Revision: 36530

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=36530
Log:
New upstream release

Modified:
    trunk/libmouse-perl/Changes
    trunk/libmouse-perl/META.yml
    trunk/libmouse-perl/Makefile.PL
    trunk/libmouse-perl/SIGNATURE
    trunk/libmouse-perl/debian/changelog
    trunk/libmouse-perl/inc/Module/Install.pm
    trunk/libmouse-perl/inc/Module/Install/Base.pm
    trunk/libmouse-perl/inc/Module/Install/Can.pm
    trunk/libmouse-perl/inc/Module/Install/Fetch.pm
    trunk/libmouse-perl/inc/Module/Install/Include.pm
    trunk/libmouse-perl/inc/Module/Install/Makefile.pm
    trunk/libmouse-perl/inc/Module/Install/Metadata.pm
    trunk/libmouse-perl/inc/Module/Install/Win32.pm
    trunk/libmouse-perl/inc/Module/Install/WriteAll.pm
    trunk/libmouse-perl/lib/Mouse.pm
    trunk/libmouse-perl/lib/Mouse/Object.pm
    trunk/libmouse-perl/lib/Mouse/Tiny.pm

Modified: trunk/libmouse-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/Changes?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/Changes (original)
+++ trunk/libmouse-perl/Changes Thu May 28 01:31:12 2009
@@ -1,8 +1,14 @@
 Revision history for Mouse
+
+0.23 Wed May 27 16:52:28 2009
+    * Take the mro::linearized_isa DEMOLISHALL fix from Moose
+      (originally by doy)
+
+    * Mouse::class_of to mirror Class::MOP::class_of
 
 0.22 Tue Apr 21 03:26:43 2009
     * Regenerate broken signature (Sartak)
-      rerpoted by Michael Gray [rt.cpan.org #45167]
+      reported by Michael Gray [rt.cpan.org #45167]
 
     * does_role now checks parent classes (tokuhirom)
 

Modified: trunk/libmouse-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/META.yml?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/META.yml (original)
+++ trunk/libmouse-perl/META.yml Thu May 28 01:31:12 2009
@@ -4,12 +4,12 @@
   - 'Shawn M Moore, C<< <sartak at gmail.com> >>'
 build_requires:
   ExtUtils::MakeMaker: 6.42
-  Test::Exception: 0
-  Test::More: 0
+  Test::Exception: 0.21
+  Test::More: 0.8
 configure_requires:
   ExtUtils::MakeMaker: 6.42
 distribution_type: module
-generated_by: 'Module::Install version 0.84'
+generated_by: 'Module::Install version 0.89'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -19,9 +19,10 @@
   directory:
     - inc
     - t
+    - xt
 requires:
   Scalar::Util: 1.14
   perl: 5.6.0
 resources:
   license: http://dev.perl.org/licenses/
-version: 0.22
+version: 0.23

Modified: trunk/libmouse-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/Makefile.PL?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/Makefile.PL (original)
+++ trunk/libmouse-perl/Makefile.PL Thu May 28 01:31:12 2009
@@ -1,4 +1,5 @@
 use inc::Module::Install;
+use 5.008;
 
 name     'Mouse';
 all_from 'lib/Mouse.pm';
@@ -9,8 +10,8 @@
 # > Fixed looks_like_number(undef) to return false for perl >= 5.009002
 requires 'Scalar::Util' => 1.14;
 
-build_requires 'Test::Exception';
-build_requires 'Test::More';
+build_requires 'Test::Exception' => 0.21;
+build_requires 'Test::More' => 0.80;
 
 if ($Module::Install::AUTHOR) {
     if (eval "package foo; use Moose; 1;") {

Modified: trunk/libmouse-perl/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/SIGNATURE?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/SIGNATURE (original)
+++ trunk/libmouse-perl/SIGNATURE Thu May 28 01:31:12 2009
@@ -14,26 +14,26 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 c5e0017796cef8cc7e6a8866f95b3240f40b50c7 Changes
+SHA1 570dea03ff71758f24f541d2f37d2fddefdf4a7b Changes
 SHA1 3bc2194aa8033132d888b42487c515f700505a33 MANIFEST
-SHA1 b3e3ca961ec63cf7b98b15a4f193ea618dfd7c4d META.yml
-SHA1 1609a04a7d6d71c2cdbb231cea272ea0a0d405d1 Makefile.PL
+SHA1 ae470685849e4fa75f197b557eb00ee065e36246 META.yml
+SHA1 b94ead70ddd7f5089225e747896573c707bd96ac Makefile.PL
 SHA1 eec192dccd58fd399dd521615e8f3e11994fed56 author/benchmarks/basic.pl
 SHA1 d4abebe7f431a63ad99ff234e4e0700b17280556 author/benchmarks/caf.pl
 SHA1 a408c24efc701c368bbde43c020b29e1ebd80f64 author/generate-mouse-tiny.pl
 SHA1 ead9858dc8c0cedaa528be47343c9abb6bd4c6db author/munge-tests-for-moose.pl
-SHA1 bc47e8f4bf1fcb7d97f55b9933b6476351a5ea3e inc/Module/Install.pm
-SHA1 114a6fb09697f4b016cf9dcd038c9e3519b02022 inc/Module/Install/Base.pm
-SHA1 f1e78d7c4b902eaf95a3289c42669a19f4125d28 inc/Module/Install/Can.pm
-SHA1 d1c70bc59bf648fc6e4e93b1cd6699fc5841fd64 inc/Module/Install/Fetch.pm
-SHA1 ddcd08a072dc0847346f82148bc697d64d1bb2a5 inc/Module/Install/Include.pm
-SHA1 079203f749342191f5c26170649dbeda93b7c294 inc/Module/Install/Makefile.pm
-SHA1 cf79ec0a289b05e1804733c04d91ca04dc5dbbf6 inc/Module/Install/Metadata.pm
-SHA1 e67c232bed8c4d91a7a2ea06236cf47cd37369d0 inc/Module/Install/Win32.pm
-SHA1 ac709b9014051e94d5afcef5dedf6155124d8cec inc/Module/Install/WriteAll.pm
+SHA1 332e57606ea9888dfb12e4a2a418baa5f7c819e4 inc/Module/Install.pm
+SHA1 2c8c24cb50d28a02a6a92401c927e47fb34184b5 inc/Module/Install/Base.pm
+SHA1 d24b41ae965b81a9432f407d5f9b5b749465d48e inc/Module/Install/Can.pm
+SHA1 9f07638e894574787c6c235e9525ad07a3f567cc inc/Module/Install/Fetch.pm
+SHA1 7fa249b7a473a47b9d625f5cfc5e223e5103a259 inc/Module/Install/Include.pm
+SHA1 60333c5d89a3dd6403c67ec3c5da7791ca7d5396 inc/Module/Install/Makefile.pm
+SHA1 84ce3da42970e13af7ecbe9f88900f4272eecc71 inc/Module/Install/Metadata.pm
+SHA1 7251d18b467b223e47f701441755dd9024b5bae3 inc/Module/Install/Win32.pm
+SHA1 f26db2ac159e74255f336a28e162cc0990db9299 inc/Module/Install/WriteAll.pm
 SHA1 29ccdbe057fec4775456b275262881a6f79531d6 inc/Test/Exception.pm
 SHA1 ab0c02dbe66a1a82be1cc3909a06b41d3e5894c2 inc/Test/More.pm
-SHA1 f533f2ad2ccf2cd26504882733054beef0d4c98e lib/Mouse.pm
+SHA1 10acd6c29c5cd06d2656646adcc7d6e29455cc24 lib/Mouse.pm
 SHA1 f060628159141811891dd38253daf62b561ea438 lib/Mouse/Meta/Attribute.pm
 SHA1 c7a5fa0c45ae8a504b3896e22deba53f703422d7 lib/Mouse/Meta/Class.pm
 SHA1 6c9c029992d398bc966b207230811fd72abb8c94 lib/Mouse/Meta/Method/Accessor.pm
@@ -41,9 +41,9 @@
 SHA1 8feddf4deaee14d9c1f69eff8d0c986222e90dde lib/Mouse/Meta/Method/Destructor.pm
 SHA1 10122e3b1966a463c25bf5c5066cde1210c4e52b lib/Mouse/Meta/Role.pm
 SHA1 aeedb4cce3076d23d8bb852951154da02245ea54 lib/Mouse/Meta/TypeConstraint.pm
-SHA1 7fbdcfc30fac0d5e0a5e18c38467be4be971049e lib/Mouse/Object.pm
+SHA1 245f39a2ee120a12a9f70bf144d811b4a66b0b13 lib/Mouse/Object.pm
 SHA1 9f45252a4aa85150dbfb64444542c71081c056e1 lib/Mouse/Role.pm
-SHA1 19b686decddfcac1c648ca5416d16a1eb374589f lib/Mouse/Tiny.pm
+SHA1 9b0def34208a714d20906ca3642a3a25e15e55ed lib/Mouse/Tiny.pm
 SHA1 affa82bf47e1888f22731b76c5c0f678bc5e43c0 lib/Mouse/TypeRegistry.pm
 SHA1 5413c3ac0bae3c80e1f50dfbf30ffdf8e80aacd3 lib/Mouse/Util.pm
 SHA1 711e7c3539730a0af8317a043fbd106893c5ca1e lib/Mouse/Util/TypeConstraints.pm
@@ -181,7 +181,7 @@
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.7 (Darwin)
 
-iD8DBQFJ7XXusxfQtHhyRPoRAl/eAJ46iedtW+A6bBg4v4nHyEOfN4S1uACghEIp
-JjzYIm/v5Bmk5xkSS1IZFXA=
-=N1Ea
+iD8DBQFKHaknsxfQtHhyRPoRAkN5AKCby1ewIQBR8hidY8ZgPg70Ncls6ACdHRQZ
+16j5QRJE0SFiTMhWv4a2sEQ=
+=TcEG
 -----END PGP SIGNATURE-----

Modified: trunk/libmouse-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/debian/changelog?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/debian/changelog (original)
+++ trunk/libmouse-perl/debian/changelog Thu May 28 01:31:12 2009
@@ -1,3 +1,9 @@
+libmouse-perl (0.23-1) UNRELEASED; urgency=low
+
+  * New upstream release
+
+ -- Ryan Niebur <ryanryan52 at gmail.com>  Wed, 27 May 2009 18:30:24 -0700
+
 libmouse-perl (0.22-1) unstable; urgency=low
 
   * New upstream release

Modified: trunk/libmouse-perl/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install.pm Thu May 28 01:31:12 2009
@@ -28,7 +28,7 @@
 	# This is not enforced yet, but will be some time in the next few
 	# releases once we can make sure it won't clash with custom
 	# Module::Install extensions.
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 
 	# Storage for the pseudo-singleton
 	$MAIN    = undef;
@@ -353,7 +353,7 @@
 	if ( $] >= 5.006 ) {
 		open( FH, '<', $_[0] ) or die "open($_[0]): $!";
 	} else {
-		open( FH, "< $_[0]"  ) or die "open($_[0]): $!";	
+		open( FH, "< $_[0]"  ) or die "open($_[0]): $!";
 	}
 	my $string = do { local $/; <FH> };
 	close FH or die "close($_[0]): $!";
@@ -384,7 +384,7 @@
 	if ( $] >= 5.006 ) {
 		open( FH, '>', $_[0] ) or die "open($_[0]): $!";
 	} else {
-		open( FH, "> $_[0]"  ) or die "open($_[0]): $!";	
+		open( FH, "> $_[0]"  ) or die "open($_[0]): $!";
 	}
 	foreach ( 1 .. $#_ ) {
 		print FH $_[$_] or die "print($_[0]): $!";

Modified: trunk/libmouse-perl/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Base.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Base.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Base.pm Thu May 28 01:31:12 2009
@@ -1,7 +1,11 @@
 #line 1
 package Module::Install::Base;
 
-$VERSION = '0.84';
+use strict 'vars';
+use vars qw{$VERSION};
+BEGIN {
+	$VERSION = '0.89';
+}
 
 # Suspend handler for "redefined" warnings
 BEGIN {
@@ -12,7 +16,7 @@
 ### This is the ONLY module that shouldn't have strict on
 # use strict;
 
-#line 41
+#line 45
 
 sub new {
 	my ($class, %args) = @_;
@@ -27,7 +31,7 @@
 	bless( \%args, $class );
 }
 
-#line 62
+#line 66
 
 sub AUTOLOAD {
 	my $self = shift;
@@ -38,13 +42,13 @@
 	goto &$autoload;
 }
 
-#line 79
+#line 83
 
 sub _top {
 	$_[0]->{_top};
 }
 
-#line 94
+#line 98
 
 sub admin {
 	$_[0]->_top->{admin}
@@ -52,7 +56,7 @@
 	Module::Install::Base::FakeAdmin->new;
 }
 
-#line 110
+#line 114
 
 sub is_admin {
 	$_[0]->admin->VERSION;
@@ -63,6 +67,7 @@
 package Module::Install::Base::FakeAdmin;
 
 my $fake;
+
 sub new {
 	$fake ||= bless(\@_, $_[0]);
 }
@@ -78,4 +83,4 @@
 
 1;
 
-#line 157
+#line 162

Modified: trunk/libmouse-perl/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Can.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Can.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Can.pm Thu May 28 01:31:12 2009
@@ -9,7 +9,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: trunk/libmouse-perl/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Fetch.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Fetch.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Fetch.pm Thu May 28 01:31:12 2009
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: trunk/libmouse-perl/inc/Module/Install/Include.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Include.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Include.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Include.pm Thu May 28 01:31:12 2009
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: trunk/libmouse-perl/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Makefile.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Makefile.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Makefile.pm Thu May 28 01:31:12 2009
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: trunk/libmouse-perl/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Metadata.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Metadata.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Metadata.pm Thu May 28 01:31:12 2009
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	@ISA     = qw{Module::Install::Base};
 	$ISCORE  = 1;
 }
@@ -440,21 +440,21 @@
 	/ixms ) {
 		my $license_text = $1;
 		my @phrases      = (
-			'under the same (?:terms|license) as perl itself' => 'perl',        1,
-			'GNU general public license'                      => 'gpl',         1,
-			'GNU public license'                              => 'gpl',         1,
-			'GNU lesser general public license'               => 'lgpl',        1,
-			'GNU lesser public license'                       => 'lgpl',        1,
-			'GNU library general public license'              => 'lgpl',        1,
-			'GNU library public license'                      => 'lgpl',        1,
-			'BSD license'                                     => 'bsd',         1,
-			'Artistic license'                                => 'artistic',    1,
-			'GPL'                                             => 'gpl',         1,
-			'LGPL'                                            => 'lgpl',        1,
-			'BSD'                                             => 'bsd',         1,
-			'Artistic'                                        => 'artistic',    1,
-			'MIT'                                             => 'mit',         1,
-			'proprietary'                                     => 'proprietary', 0,
+			'under the same (?:terms|license) as (?:perl|the perl programming language) itself' => 'perl', 1,
+			'GNU general public license'         => 'gpl',         1,
+			'GNU public license'                 => 'gpl',         1,
+			'GNU lesser general public license'  => 'lgpl',        1,
+			'GNU lesser public license'          => 'lgpl',        1,
+			'GNU library general public license' => 'lgpl',        1,
+			'GNU library public license'         => 'lgpl',        1,
+			'BSD license'                        => 'bsd',         1,
+			'Artistic license'                   => 'artistic',    1,
+			'GPL'                                => 'gpl',         1,
+			'LGPL'                               => 'lgpl',        1,
+			'BSD'                                => 'bsd',         1,
+			'Artistic'                           => 'artistic',    1,
+			'MIT'                                => 'mit',         1,
+			'proprietary'                        => 'proprietary', 0,
 		);
 		while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
 			$pattern =~ s{\s+}{\\s+}g;
@@ -511,7 +511,7 @@
 # Also, convert double-part versions (eg, 5.8)
 sub _perl_version {
 	my $v = $_[-1];
-	$v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e;	
+	$v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e;
 	$v =~ s/^([1-9])\.([1-9]\d?\d?)\.(0|[1-9]\d?\d?)$/sprintf("%d.%03d%03d",$1,$2,$3 || 0)/e;
 	$v =~ s/(\.\d\d\d)000$/$1/;
 	$v =~ s/_.+$//;
@@ -534,7 +534,7 @@
 
 sub write_mymeta {
 	my $self = shift;
-	
+
 	# If there's no existing META.yml there is nothing we can do
 	return unless -f 'META.yml';
 
@@ -574,7 +574,7 @@
 
 	# Save as the MYMETA.yml file
 	print "Writing MYMETA.yml\n";
-	YAML::Tiny::DumpFile('MYMETA.yml', $meta);	
+	YAML::Tiny::DumpFile('MYMETA.yml', $meta);
 }
 
 1;

Modified: trunk/libmouse-perl/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/Win32.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/Win32.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/Win32.pm Thu May 28 01:31:12 2009
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	@ISA     = qw{Module::Install::Base};
 	$ISCORE  = 1;
 }

Modified: trunk/libmouse-perl/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/WriteAll.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/WriteAll.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/WriteAll.pm Thu May 28 01:31:12 2009
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '0.84';
+	$VERSION = '0.89';
 	@ISA     = qw{Module::Install::Base};
 	$ISCORE  = 1;
 }

Modified: trunk/libmouse-perl/lib/Mouse.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse.pm (original)
+++ trunk/libmouse-perl/lib/Mouse.pm Thu May 28 01:31:12 2009
@@ -4,7 +4,7 @@
 use 5.006;
 use base 'Exporter';
 
-our $VERSION = '0.22';
+our $VERSION = '0.23';
 
 use Carp 'confess';
 use Scalar::Util 'blessed';
@@ -191,6 +191,12 @@
     return 0;
 }
 
+sub class_of {
+    return unless defined $_[0];
+    my $class = blessed($_[0]) || $_[0];
+    return Mouse::Meta::Class::get_metaclass_by_name($class);
+}
+
 1;
 
 __END__
@@ -446,7 +452,9 @@
 
 =head1 BUGS
 
-No known bugs.
+There is a known issue with Mouse on 5.6.2 regarding the @ISA tests. Until
+this is resolve the minimum version of Perl for Mouse is set to 5.8.0. Patches
+to resolve these tests are more than welcome.
 
 Please report any bugs through RT: email
 C<bug-mouse at rt.cpan.org>, or browse

Modified: trunk/libmouse-perl/lib/Mouse/Object.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Object.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Object.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Object.pm Thu May 28 01:31:12 2009
@@ -102,10 +102,23 @@
 
     no strict 'refs';
 
-    for my $class ($self->meta->linearized_isa) {
-        my $code = *{ $class . '::DEMOLISH' }{CODE}
-            or next;
-        $code->($self, @_);
+    my @isa;
+    if ( my $meta = Mouse::class_of($self) ) {
+        @isa = $meta->linearized_isa;
+    } else {
+        # We cannot count on being able to retrieve a previously made
+        # metaclass, _or_ being able to make a new one during global
+        # destruction. However, we should still be able to use mro at
+        # that time (at least tests suggest so ;)
+        my $class_name = ref $self;
+        @isa = @{ Mouse::Util::get_linear_isa($class_name) }
+    }
+
+    foreach my $class (@isa) {
+        no strict 'refs';
+        my $demolish = *{"${class}::DEMOLISH"}{CODE};
+        $self->$demolish
+            if defined $demolish;
     }
 }
 

Modified: trunk/libmouse-perl/lib/Mouse/Tiny.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Tiny.pm?rev=36530&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Tiny.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Tiny.pm Thu May 28 01:31:12 2009
@@ -227,7 +227,7 @@
 use 5.006;
 use base 'Exporter';
 
-our $VERSION = '0.22';
+our $VERSION = '0.23';
 
 use Carp 'confess';
 use Scalar::Util 'blessed';
@@ -405,6 +405,12 @@
 
     # fail
     return 0;
+}
+
+sub class_of {
+    return unless defined $_[0];
+    my $class = blessed($_[0]) || $_[0];
+    return Mouse::Meta::Class::get_metaclass_by_name($class);
 }
 
 package Mouse::Meta::Attribute;
@@ -1865,10 +1871,23 @@
 
     no strict 'refs';
 
-    for my $class ($self->meta->linearized_isa) {
-        my $code = *{ $class . '::DEMOLISH' }{CODE}
-            or next;
-        $code->($self, @_);
+    my @isa;
+    if ( my $meta = Mouse::class_of($self) ) {
+        @isa = $meta->linearized_isa;
+    } else {
+        # We cannot count on being able to retrieve a previously made
+        # metaclass, _or_ being able to make a new one during global
+        # destruction. However, we should still be able to use mro at
+        # that time (at least tests suggest so ;)
+        my $class_name = ref $self;
+        @isa = @{ Mouse::Util::get_linear_isa($class_name) }
+    }
+
+    foreach my $class (@isa) {
+        no strict 'refs';
+        my $demolish = *{"${class}::DEMOLISH"}{CODE};
+        $self->$demolish
+            if defined $demolish;
     }
 }
 
@@ -2383,7 +2402,7 @@
 
 }; #eval
 } #unless
-} # argh!
+}
 
 package Mouse::Tiny;
 use base 'Mouse';




More information about the Pkg-perl-cvs-commits mailing list