X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCarp.pm;h=443e6ca3894dc1905727b661753b1d9914514531;hb=fcf32d045;hp=002b6e2ceb4400f46de5b3b0c04e812ea355a003;hpb=cd1228209f685767668163c2510723959951641b;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Carp.pm b/lib/DBIx/Class/Carp.pm index 002b6e2..443e6ca 100644 --- a/lib/DBIx/Class/Carp.pm +++ b/lib/DBIx/Class/Carp.pm @@ -1,4 +1,5 @@ -package DBIx::Class::Carp; +package # hide from pause + DBIx::Class::Carp; use strict; use warnings; @@ -31,7 +32,6 @@ sub __find_caller { while (@f = caller($fr_num++)) { last unless $f[0] =~ $skip_pattern; - # if ( $f[0]->can('_skip_namespace_frames') and @@ -82,10 +82,10 @@ sub import { ); }; - my $fired; + my $fired = {}; *{"${into}::carp_once"} = sub { - return if $fired; - $fired = 1; + return if $fired->{$_[0]}; + $fired->{$_[0]} = 1; $warn->( __find_caller($skip_pattern, $into), @@ -115,7 +115,7 @@ sub import { ## FIXME FIXME FIXME - something is tripping up V::M on 5.8.1, leading # to segfaults. When n::c/B::H::EndOfScope is rewritten in terms of tie() # see if this starts working - unless DBIx::Class::_ENV_::BROKEN_NAMESPACE_CLEAN(); + unless DBIx::Class::_ENV_::BROKEN_NAMESPACE_CLEAN; } sub unimport {