make Carp::Heavy load Carp for backcompat
authorZefram <zefram@fysh.org>
Fri, 9 Sep 2011 19:09:47 +0000 (20:09 +0100)
committerZefram <zefram@fysh.org>
Fri, 9 Sep 2011 19:09:47 +0000 (20:09 +0100)
MANIFEST
dist/Carp/lib/Carp/Heavy.pm
dist/Carp/t/heavy.t [new file with mode: 0644]

index 6531531..385605c 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2922,6 +2922,7 @@ dist/Carp/lib/Carp/Heavy.pm       Error message retired workhorse
 dist/Carp/lib/Carp.pm          Error message extension
 dist/Carp/Makefile.PL          makefile writer for Carp
 dist/Carp/t/Carp.t             See if Carp works
+dist/Carp/t/heavy.t            See if Carp::Heavy works
 dist/Carp/t/vivify_gv.t                See if Carp leaves utf8:: stuff alone
 dist/constant/lib/constant.pm  For "use constant"
 dist/constant/t/constant.t     See if compile-time constants work
index 83af3fe..2d9fb26 100644 (file)
@@ -1,9 +1,13 @@
 package Carp::Heavy;
 
+use Carp ();
+
 our $VERSION = '1.22';
 
 1;
 
-# Most of the machinery of Carp used to be there.
+# Most of the machinery of Carp used to be here.
 # It has been moved in Carp.pm now, but this placeholder remains for
 # the benefit of modules that like to preload Carp::Heavy directly.
+# This must load Carp, because some modules rely on the historical
+# behaviour of Carp::Heavy loading Carp.
diff --git a/dist/Carp/t/heavy.t b/dist/Carp/t/heavy.t
new file mode 100644 (file)
index 0000000..f890d6c
--- /dev/null
@@ -0,0 +1,7 @@
+print "1..2\n";
+
+print defined(&Carp::carp) ? "not " : "", "ok 1 # control\n";
+require Carp::Heavy;
+print defined(&Carp::carp) ? "" : "not ", "ok 2 # carp loaded by Carp::Heavy\n";
+
+1;