From: M.J.T. Guy Date: Fri, 13 Jun 1997 04:08:45 +0000 (+1200) Subject: Exporter errors give wrong location X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=3bb63ce62db2f3ee2964b123e979675f768f552c;p=p5sagit%2Fp5-mst-13.2.git Exporter errors give wrong location If you attempt to import a symbol which a module doesn't export, the error is reported as in Exporter.pm rather than in the offending module, because Exporter.pm uses warn instead of carp. Patch attached. (Against either 5.004 or 5.004_01.) p5p-msgid: E0wdJra-0000n8-00@taurus.cus.cam.ac.uk --- diff --git a/lib/Exporter.pm b/lib/Exporter.pm index 66459b8..a91014b 100644 --- a/lib/Exporter.pm +++ b/lib/Exporter.pm @@ -108,7 +108,8 @@ sub export { last; } } elsif ($sym !~ s/^&// || !$exports{$sym}) { - warn qq["$sym" is not exported by the $pkg module]; + require Carp; + Carp::carp(qq["$sym" is not exported by the $pkg module]); $oops++; } } @@ -137,8 +138,9 @@ sub export { if (@failed) { @failed = $pkg->export_fail(@failed); foreach $sym (@failed) { - warn qq["$sym" is not implemented by the $pkg module ], - "on this architecture"; + require Carp; + Carp::carp(qq["$sym" is not implemented by the $pkg module ], + "on this architecture"); } if (@failed) { require Carp;