Consolidate all constants under DBIC::_ENV_, bump n::c breakage to < 5.8.5
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Carp.pm
index e2af539..5f40094 100644 (file)
@@ -3,6 +3,17 @@ package DBIx::Class::Carp;
 use strict;
 use warnings;
 
+# This is here instead of DBIx::Class because of load-order issues
+BEGIN {
+  ## 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
+  *DBIx::Class::_ENV_::BROKEN_NAMESPACE_CLEAN = ($] < 5.008005)
+    ? sub () { 1 }
+    : sub () { 0 }
+  ;
+}
+
 use Carp ();
 use namespace::clean ();
 
@@ -91,7 +102,11 @@ sub import {
   };
 
   # cleanup after ourselves
-  namespace::clean->import(-cleanee => $into, qw/carp carp_once carp_unique/);
+  namespace::clean->import(-cleanee => $into, qw/carp carp_once carp_unique/)
+    ## 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();
 }
 
 sub unimport {