There is no point of ordering the insides of a complex prefetch without a limit
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Carp.pm
index 6970c10..d27df5d 100644 (file)
@@ -1,4 +1,5 @@
-package DBIx::Class::Carp;
+package # hide from pause
+  DBIx::Class::Carp;
 
 use strict;
 use warnings;
@@ -29,8 +30,6 @@ sub __find_caller {
   my $fr_num = 1; # skip us and the calling carp*
   my @f;
   while (@f = caller($fr_num++)) {
-    last unless $f[0] =~ $skip_pattern;
-
     if (
       $f[0]->can('_skip_namespace_frames')
         and
@@ -38,6 +37,8 @@ sub __find_caller {
     ) {
       $skip_pattern = qr/$skip_pattern|$extra_skip/;
     }
+
+    last if $f[0] !~ $skip_pattern;
   }
 
   my ($ln, $calling) = @f # if empty - nothing matched - full stack
@@ -68,8 +69,8 @@ sub import {
   my $into = caller;
 
   $skip_pattern = $skip_pattern
-    ? qr/ ^ $into $ | $skip_pattern /xo
-    : qr/ ^ $into $ /xo
+    ? qr/ ^ $into $ | $skip_pattern /x
+    : qr/ ^ $into $ /x
   ;
 
   no strict 'refs';