Hello community, here is the log from the commit of package perl-Mouse for openSUSE:Factory checked in at 2013-10-06 14:55:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Mouse (Old) and /work/SRC/openSUSE:Factory/.perl-Mouse.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mouse" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Mouse/perl-Mouse.changes 2013-06-09 16:59:02.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Mouse.new/perl-Mouse.changes 2013-10-06 14:55:13.000000000 +0200 @@ -1,0 +2,8 @@ +Fri Oct 4 09:13:59 UTC 2013 - [email protected] + +- updated to 1.12 + [BUG FIXES] + - Fix a memory leak related to triggers, + which was introduced in 1.07 (issue#7) + +------------------------------------------------------------------- Old: ---- Mouse-1.11.tar.gz New: ---- Mouse-1.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mouse.spec ++++++ --- /var/tmp/diff_new_pack.woOlgS/_old 2013-10-06 14:55:13.000000000 +0200 +++ /var/tmp/diff_new_pack.woOlgS/_new 2013-10-06 14:55:13.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-Mouse -Version: 1.11 +Version: 1.12 Release: 0 %define cpan_name Mouse Summary: Moose minus the antlers ++++++ Mouse-1.11.tar.gz -> Mouse-1.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/Changes new/Mouse-1.12/Changes --- old/Mouse-1.11/Changes 2013-04-28 15:01:00.000000000 +0200 +++ new/Mouse-1.12/Changes 2013-09-29 02:53:51.000000000 +0200 @@ -1,5 +1,10 @@ Revision history for Mouse +1.12 2013-09-29 09:52:47+0900 + [BUG FIXES] + - Fix a memory leak related to triggers, + which was introduced in 1.07 (issue#7) + 1.11 2013-04-28 22:00:38 [TEST FIXES] - Ensure Try::Tiny is bundled diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/MANIFEST new/Mouse-1.12/MANIFEST --- old/Mouse-1.11/MANIFEST 2013-04-28 15:00:20.000000000 +0200 +++ new/Mouse-1.12/MANIFEST 2013-09-29 02:54:41.000000000 +0200 @@ -355,6 +355,7 @@ t/900_mouse_bugs/012_RT61906.t t/900_mouse_bugs/013_RT73592_tied_.t t/900_mouse_bugs/014_autoload.t +t/900_mouse_bugs/015_issue7_memleak.t t/900_mouse_bugs/RT75093.t t/990_deprecated/001-export_to_level.t t/lib/Bar.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/META.yml new/Mouse-1.12/META.yml --- old/Mouse-1.11/META.yml 2013-04-28 15:01:06.000000000 +0200 +++ new/Mouse-1.12/META.yml 2013-09-29 02:54:45.000000000 +0200 @@ -32,4 +32,4 @@ resources: license: http://dev.perl.org/licenses/ repository: git://github.com/gfx/p5-Mouse.git -version: 1.11 +version: 1.12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/inc/Module/Install/TestTarget.pm new/Mouse-1.12/inc/Module/Install/TestTarget.pm --- old/Mouse-1.11/inc/Module/Install/TestTarget.pm 2013-04-28 15:01:06.000000000 +0200 +++ new/Mouse-1.12/inc/Module/Install/TestTarget.pm 2013-09-29 02:54:45.000000000 +0200 @@ -3,7 +3,7 @@ use 5.006_002; use strict; #use warnings; # XXX: warnings.pm produces a lot of 'redefine' warnings! -our $VERSION = '0.19'; +our $VERSION = '0.15'; use base qw(Module::Install::Base); use Config; @@ -108,7 +108,7 @@ $code =~ s/\n/ /g; if ($^O eq 'MSWin32') { $code =~ s/\\\$\$/\$\$/g; - if ($Config{make} =~ /dmake/i) { + if ($Config{make} eq 'dmake') { $code =~ s/{/{{/g; $code =~ s/}/}}/g; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/inc/Test/Requires.pm new/Mouse-1.12/inc/Test/Requires.pm --- old/Mouse-1.11/inc/Test/Requires.pm 2013-04-28 15:01:06.000000000 +0200 +++ new/Mouse-1.12/inc/Test/Requires.pm 2013-09-29 02:54:45.000000000 +0200 @@ -2,7 +2,7 @@ package Test::Requires; use strict; use warnings; -our $VERSION = '0.06'; +our $VERSION = '0.07'; use base 'Test::Builder::Module'; use 5.006000; @@ -59,11 +59,17 @@ exit 0; } }; + + my $msg = "$e"; if ( $e =~ /^Can't locate/ ) { - $skip_all->("Test requires module '$mod' but it's not found"); + $msg = "Test requires module '$mod' but it's not found"; + } + + if ($ENV{RELEASE_TESTING}) { + __PACKAGE__->builder->BAIL_OUT($msg); } else { - $skip_all->("$e"); + $skip_all->($msg); } } } @@ -71,4 +77,4 @@ 1; __END__ -#line 128 +#line 147 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/inc/Try/Tiny.pm new/Mouse-1.12/inc/Try/Tiny.pm --- old/Mouse-1.11/inc/Try/Tiny.pm 2013-04-28 15:01:06.000000000 +0200 +++ new/Mouse-1.12/inc/Try/Tiny.pm 2013-09-29 02:54:44.000000000 +0200 @@ -1,148 +1,173 @@ #line 1 package Try::Tiny; - -use strict; -#use warnings; - -use vars qw(@EXPORT @EXPORT_OK $VERSION @ISA); - BEGIN { - require Exporter; - @ISA = qw(Exporter); + $Try::Tiny::AUTHORITY = 'cpan:NUFFIN'; } +{ + $Try::Tiny::VERSION = '0.18'; +} +use 5.006; +# ABSTRACT: minimal try/catch with proper preservation of $@ -$VERSION = "0.12"; - -$VERSION = eval $VERSION; +use strict; +use warnings; -@EXPORT = @EXPORT_OK = qw(try catch finally); +use base 'Exporter'; +our @EXPORT = our @EXPORT_OK = qw(try catch finally); +use Carp; $Carp::Internal{+__PACKAGE__}++; +BEGIN { eval "use Sub::Name; 1" or *{subname} = sub {1} } + # Need to prototype as @ not $$ because of the way Perl evaluates the prototype. # Keeping it at $$ means you only ever get 1 sub because we need to eval in a list # context & not a scalar one sub try (&;@) { - my ( $try, @code_refs ) = @_; + my ( $try, @code_refs ) = @_; - # we need to save this here, the eval block will be in scalar context due - # to $failed - my $wantarray = wantarray; - - my ( $catch, @finally ); - - # find labeled blocks in the argument list. - # catch and finally tag the blocks by blessing a scalar reference to them. - foreach my $code_ref (@code_refs) { - next unless $code_ref; - - my $ref = ref($code_ref); - - if ( $ref eq 'Try::Tiny::Catch' ) { - $catch = ${$code_ref}; - } elsif ( $ref eq 'Try::Tiny::Finally' ) { - push @finally, ${$code_ref}; - } else { - use Carp; - confess("Unknown code ref type given '${ref}'. Check your usage & try again"); - } - } - - # save the value of $@ so we can set $@ back to it in the beginning of the eval - my $prev_error = $@; - - my ( @ret, $error, $failed ); - - # FIXME consider using local $SIG{__DIE__} to accumulate all errors. It's - # not perfect, but we could provide a list of additional errors for - # $catch->(); - - { - # localize $@ to prevent clobbering of previous value by a successful - # eval. - local $@; - - # failed will be true if the eval dies, because 1 will not be returned - # from the eval body - $failed = not eval { - $@ = $prev_error; - - # evaluate the try block in the correct context - if ( $wantarray ) { - @ret = $try->(); - } elsif ( defined $wantarray ) { - $ret[0] = $try->(); - } else { - $try->(); - }; - - return 1; # properly set $fail to false - }; - - # copy $@ to $error; when we leave this scope, local $@ will revert $@ - # back to its previous value - $error = $@; - } + # we need to save this here, the eval block will be in scalar context due + # to $failed + my $wantarray = wantarray; + + # work around perl bug by explicitly initializing these, due to the likelyhood + # this will be used in global destruction (perl rt#119311) + my ( $catch, @finally ) = (); + + # find labeled blocks in the argument list. + # catch and finally tag the blocks by blessing a scalar reference to them. + foreach my $code_ref (@code_refs) { + + if ( ref($code_ref) eq 'Try::Tiny::Catch' ) { + croak 'A try() may not be followed by multiple catch() blocks' + if $catch; + $catch = ${$code_ref}; + } elsif ( ref($code_ref) eq 'Try::Tiny::Finally' ) { + push @finally, ${$code_ref}; + } else { + croak( + 'try() encountered an unexpected argument (' + . ( defined $code_ref ? $code_ref : 'undef' ) + . ') - perhaps a missing semi-colon before or' + ); + } + } + + # FIXME consider using local $SIG{__DIE__} to accumulate all errors. It's + # not perfect, but we could provide a list of additional errors for + # $catch->(); + + # name the blocks if we have Sub::Name installed + my $caller = caller; + subname("${caller}::try {...} " => $try); + subname("${caller}::catch {...} " => $catch) if $catch; + subname("${caller}::finally {...} " => $_) foreach @finally; + + # save the value of $@ so we can set $@ back to it in the beginning of the eval + # and restore $@ after the eval finishes + my $prev_error = $@; + + my ( @ret, $error ); + + # failed will be true if the eval dies, because 1 will not be returned + # from the eval body + my $failed = not eval { + $@ = $prev_error; + + # evaluate the try block in the correct context + if ( $wantarray ) { + @ret = $try->(); + } elsif ( defined $wantarray ) { + $ret[0] = $try->(); + } else { + $try->(); + }; + + return 1; # properly set $fail to false + }; + + # preserve the current error and reset the original value of $@ + $error = $@; + $@ = $prev_error; - # set up a scope guard to invoke the finally block at the end - my @guards = + # set up a scope guard to invoke the finally block at the end + my @guards = map { Try::Tiny::ScopeGuard->_new($_, $failed ? $error : ()) } @finally; - # at this point $failed contains a true value if the eval died, even if some - # destructor overwrote $@ as the eval was unwinding. - if ( $failed ) { - # if we got an error, invoke the catch block. - if ( $catch ) { - # This works like given($error), but is backwards compatible and - # sets $_ in the dynamic scope for the body of C<$catch> - for ($error) { - return $catch->($error); - } - - # in case when() was used without an explicit return, the C<for> - # loop will be aborted and there's no useful return value - } - - return; - } else { - # no failure, $@ is back to what it was, everything is fine - return $wantarray ? @ret : $ret[0]; - } + # at this point $failed contains a true value if the eval died, even if some + # destructor overwrote $@ as the eval was unwinding. + if ( $failed ) { + # if we got an error, invoke the catch block. + if ( $catch ) { + # This works like given($error), but is backwards compatible and + # sets $_ in the dynamic scope for the body of C<$catch> + for ($error) { + return $catch->($error); + } + + # in case when() was used without an explicit return, the C<for> + # loop will be aborted and there's no useful return value + } + + return; + } else { + # no failure, $@ is back to what it was, everything is fine + return $wantarray ? @ret : $ret[0]; + } } sub catch (&;@) { - my ( $block, @rest ) = @_; + my ( $block, @rest ) = @_; + + croak 'Useless bare catch()' unless wantarray; - return ( - bless(\$block, 'Try::Tiny::Catch'), - @rest, - ); + return ( + bless(\$block, 'Try::Tiny::Catch'), + @rest, + ); } sub finally (&;@) { - my ( $block, @rest ) = @_; + my ( $block, @rest ) = @_; - return ( - bless(\$block, 'Try::Tiny::Finally'), - @rest, - ); + croak 'Useless bare finally()' unless wantarray; + + return ( + bless(\$block, 'Try::Tiny::Finally'), + @rest, + ); } { package # hide from PAUSE Try::Tiny::ScopeGuard; + use constant UNSTABLE_DOLLARAT => ($] < '5.013002') ? 1 : 0; + sub _new { shift; bless [ @_ ]; } sub DESTROY { - my @guts = @{ shift() }; - my $code = shift @guts; - $code->(@guts); + my ($code, @args) = @{ $_[0] }; + + local $@ if UNSTABLE_DOLLARAT; + eval { + $code->(@args); + 1; + } or do { + warn + "Execution of finally() block $code resulted in an exception, which " + . '*CAN NOT BE PROPAGATED* due to fundamental limitations of Perl. ' + . 'Your program will continue as if this event never took place. ' + . "Original exception text follows:\n\n" + . (defined $@ ? $@ : '$@ left undefined...') + . "\n" + ; + } } } @@ -150,5 +175,4 @@ __END__ -#line 603 - +#line 656 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Exporter.pm new/Mouse-1.12/lib/Mouse/Exporter.pm --- old/Mouse-1.11/lib/Mouse/Exporter.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Exporter.pm 2013-09-29 02:54:44.000000000 +0200 @@ -269,7 +269,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Attribute.pm new/Mouse-1.12/lib/Mouse/Meta/Attribute.pm --- old/Mouse-1.11/lib/Mouse/Meta/Attribute.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Attribute.pm 2013-09-29 02:54:44.000000000 +0200 @@ -349,7 +349,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Class.pm new/Mouse-1.12/lib/Mouse/Meta/Class.pm --- old/Mouse-1.11/lib/Mouse/Meta/Class.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Class.pm 2013-09-29 02:54:44.000000000 +0200 @@ -470,7 +470,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Method/Accessor.pm new/Mouse-1.12/lib/Mouse/Meta/Method/Accessor.pm --- old/Mouse-1.11/lib/Mouse/Meta/Method/Accessor.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Method/Accessor.pm 2013-09-29 02:54:44.000000000 +0200 @@ -188,7 +188,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Method/Constructor.pm new/Mouse-1.12/lib/Mouse/Meta/Method/Constructor.pm --- old/Mouse-1.11/lib/Mouse/Meta/Method/Constructor.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Method/Constructor.pm 2013-09-29 02:54:44.000000000 +0200 @@ -233,7 +233,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Method/Delegation.pm new/Mouse-1.12/lib/Mouse/Meta/Method/Delegation.pm --- old/Mouse-1.11/lib/Mouse/Meta/Method/Delegation.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Method/Delegation.pm 2013-09-29 02:54:44.000000000 +0200 @@ -61,7 +61,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Method/Destructor.pm new/Mouse-1.12/lib/Mouse/Meta/Method/Destructor.pm --- old/Mouse-1.11/lib/Mouse/Meta/Method/Destructor.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Method/Destructor.pm 2013-09-29 02:54:44.000000000 +0200 @@ -65,7 +65,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Method.pm new/Mouse-1.12/lib/Mouse/Meta/Method.pm --- old/Mouse-1.11/lib/Mouse/Meta/Method.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Method.pm 2013-09-29 02:54:44.000000000 +0200 @@ -54,7 +54,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Module.pm new/Mouse-1.12/lib/Mouse/Meta/Module.pm --- old/Mouse-1.11/lib/Mouse/Meta/Module.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Module.pm 2013-09-29 02:54:44.000000000 +0200 @@ -311,7 +311,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Role/Application.pm new/Mouse-1.12/lib/Mouse/Meta/Role/Application.pm --- old/Mouse-1.11/lib/Mouse/Meta/Role/Application.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Role/Application.pm 2013-09-29 02:54:44.000000000 +0200 @@ -209,7 +209,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Role/Composite.pm new/Mouse-1.12/lib/Mouse/Meta/Role/Composite.pm --- old/Mouse-1.11/lib/Mouse/Meta/Role/Composite.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Role/Composite.pm 2013-09-29 02:54:44.000000000 +0200 @@ -156,7 +156,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Role/Method.pm new/Mouse-1.12/lib/Mouse/Meta/Role/Method.pm --- old/Mouse-1.11/lib/Mouse/Meta/Role/Method.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Role/Method.pm 2013-09-29 02:54:44.000000000 +0200 @@ -23,7 +23,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/Role.pm new/Mouse-1.12/lib/Mouse/Meta/Role.pm --- old/Mouse-1.11/lib/Mouse/Meta/Role.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/Role.pm 2013-09-29 02:54:44.000000000 +0200 @@ -131,7 +131,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Meta/TypeConstraint.pm new/Mouse-1.12/lib/Mouse/Meta/TypeConstraint.pm --- old/Mouse-1.11/lib/Mouse/Meta/TypeConstraint.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Meta/TypeConstraint.pm 2013-09-29 02:54:44.000000000 +0200 @@ -274,7 +274,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Object.pm new/Mouse-1.12/lib/Mouse/Object.pm --- old/Mouse-1.11/lib/Mouse/Object.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Object.pm 2013-09-29 02:54:44.000000000 +0200 @@ -16,7 +16,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 METHODS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/PurePerl.pm new/Mouse-1.12/lib/Mouse/PurePerl.pm --- old/Mouse-1.11/lib/Mouse/PurePerl.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/PurePerl.pm 2013-09-29 02:54:44.000000000 +0200 @@ -755,7 +755,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Role.pm new/Mouse-1.12/lib/Mouse/Role.pm --- old/Mouse-1.11/lib/Mouse/Role.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Role.pm 2013-09-29 02:54:44.000000000 +0200 @@ -1,7 +1,7 @@ package Mouse::Role; use Mouse::Exporter; # enables strict and warnings -our $VERSION = '1.11'; +our $VERSION = '1.12'; use Carp (); use Scalar::Util (); @@ -137,7 +137,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Spec.pm new/Mouse-1.12/lib/Mouse/Spec.pm --- old/Mouse-1.11/lib/Mouse/Spec.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Spec.pm 2013-09-29 02:54:44.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = '1.11'; +our $VERSION = '1.12'; our $MouseVersion = $VERSION; our $MooseVersion = '1.13'; @@ -19,7 +19,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Tiny.pod new/Mouse-1.12/lib/Mouse/Tiny.pod --- old/Mouse-1.11/lib/Mouse/Tiny.pod 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Tiny.pod 2013-09-29 02:54:44.000000000 +0200 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Util/TypeConstraints.pm new/Mouse-1.12/lib/Mouse/Util/TypeConstraints.pm --- old/Mouse-1.11/lib/Mouse/Util/TypeConstraints.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Util/TypeConstraints.pm 2013-09-29 02:54:44.000000000 +0200 @@ -437,7 +437,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head2 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/Util.pm new/Mouse-1.12/lib/Mouse/Util.pm --- old/Mouse-1.11/lib/Mouse/Util.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/Util.pm 2013-09-29 02:54:44.000000000 +0200 @@ -50,7 +50,7 @@ }, ); - our $VERSION = '1.11'; + our $VERSION = '1.12'; my $xs = !(defined(&is_valid_class_name) || $ENV{MOUSE_PUREPERL} || $ENV{PERL_ONLY}); @@ -411,7 +411,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse/XS.pod new/Mouse-1.12/lib/Mouse/XS.pod --- old/Mouse-1.11/lib/Mouse/XS.pod 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse/XS.pod 2013-09-29 02:54:44.000000000 +0200 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/lib/Mouse.pm new/Mouse-1.12/lib/Mouse.pm --- old/Mouse-1.11/lib/Mouse.pm 2013-04-28 15:01:05.000000000 +0200 +++ new/Mouse-1.12/lib/Mouse.pm 2013-09-29 02:54:44.000000000 +0200 @@ -3,7 +3,7 @@ use Mouse::Exporter; # enables strict and warnings -our $VERSION = '1.11'; +our $VERSION = '1.12'; use Carp (); use Scalar::Util (); @@ -155,7 +155,7 @@ =head1 VERSION -This document describes Mouse version 1.11 +This document describes Mouse version 1.12 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/t/900_mouse_bugs/015_issue7_memleak.t new/Mouse-1.12/t/900_mouse_bugs/015_issue7_memleak.t --- old/Mouse-1.11/t/900_mouse_bugs/015_issue7_memleak.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Mouse-1.12/t/900_mouse_bugs/015_issue7_memleak.t 2013-09-29 02:52:21.000000000 +0200 @@ -0,0 +1,20 @@ +use strict; +use Test::Requires qw(Test::LeakTrace); +use Test::More tests => 1; + +{ + package Foo; + + use Mouse; + + has 'bar' => ( + is => 'rw', + trigger => sub { } + ); +} + +no_leaks_ok { + my $foo = Foo->new(bar => 'TEST'); + $foo->bar('bar'); +}; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.11/xs-src/MouseAccessor.xs new/Mouse-1.12/xs-src/MouseAccessor.xs --- old/Mouse-1.11/xs-src/MouseAccessor.xs 2013-04-24 01:46:58.000000000 +0200 +++ new/Mouse-1.12/xs-src/MouseAccessor.xs 2013-09-29 02:51:06.000000000 +0200 @@ -216,7 +216,7 @@ passed to the trigger */ if(flags & MOUSEf_ATTR_HAS_TRIGGER && has_slot(self, slot)){ has_old_value = 1; - old_value = newSVsv( get_slot(self, slot) ); + old_value = sv_mortalcopy( get_slot(self, slot) ); } if(flags & MOUSEf_ATTR_HAS_TC){ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
