summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTels <nospam-abuse@bloodgate.com>2005-07-02 16:11:46 +0000
committerDave Mitchell <davem@fdisolutions.com>2005-07-02 16:11:46 +0000
commit8878f897ac9d9fa8a7f8ad4a14238341d36a293c (patch)
treef5466782bcd60aea629758a5cb7abfece8eca895 /lib
parent82bb6deb04ad3686538ac7e9262c77a8ab0aa822 (diff)
downloadperl-8878f897ac9d9fa8a7f8ad4a14238341d36a293c.tar.gz
do just-in-time loading of Carp.pm in some modules
Subject: [PATCH] No Carp #4 AutoSplit.pm Subject: [PATCH] no Carp #5 (File::Path) Subject: [PATCH] no Carp #7 - charnames.pm Subject: [PATCH] no Carp #6 (File::Compare, File::Copy, File::Temp) Subject: [PATCH] no Carp #8 - SelfLoader, Text/Balanced and open.pm p4raw-id: //depot/perl@25052
Diffstat (limited to 'lib')
-rw-r--r--lib/AutoSplit.pm11
-rw-r--r--lib/File/Compare.pm8
-rw-r--r--lib/File/Copy.pm8
-rw-r--r--lib/File/Path.pm29
-rw-r--r--lib/SelfLoader.pm6
-rw-r--r--lib/charnames.pm13
-rw-r--r--lib/open.pm13
7 files changed, 59 insertions, 29 deletions
diff --git a/lib/AutoSplit.pm b/lib/AutoSplit.pm
index e021e0fffd..bf0f9256c8 100644
--- a/lib/AutoSplit.pm
+++ b/lib/AutoSplit.pm
@@ -3,7 +3,6 @@ package AutoSplit;
use 5.006_001;
use Exporter ();
use Config qw(%Config);
-use Carp qw(carp);
use File::Basename ();
use File::Path qw(mkpath);
use File::Spec::Functions qw(curdir catfile catdir);
@@ -11,7 +10,7 @@ use strict;
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, $Verbose, $Keep, $Maxlen,
$CheckForAutoloader, $CheckModTime);
-$VERSION = "1.04";
+$VERSION = "1.04_01";
@ISA = qw(Exporter);
@EXPORT = qw(&autosplit &autosplit_lib_modules);
@EXPORT_OK = qw($Verbose $Keep $Maxlen $CheckForAutoloader $CheckModTime);
@@ -168,6 +167,10 @@ sub autosplit{
autosplit_file($file, $autodir, $keep, $ckal, $ckmt);
}
+sub carp{
+ require Carp;
+ goto &Carp::carp;
+}
# This function is used during perl building/installation
# ./miniperl -e 'use AutoSplit; autosplit_lib_modules(@ARGV)' ...
@@ -405,14 +408,14 @@ EOT
print " deleting $file\n" if ($Verbose>=2);
my($deleted,$thistime); # catch all versions on VMS
do { $deleted += ($thistime = unlink $file) } while ($thistime);
- carp "Unable to delete $file: $!" unless $deleted;
+ carp ("Unable to delete $file: $!") unless $deleted;
}
closedir($outdir);
}
}
open(my $ts,">$al_idx_file") or
- carp "AutoSplit: unable to create timestamp file ($al_idx_file): $!";
+ carp ("AutoSplit: unable to create timestamp file ($al_idx_file): $!");
print $ts "# Index created by AutoSplit for $filename\n";
print $ts "# (file acts as timestamp)\n";
$last_package = '';
diff --git a/lib/File/Compare.pm b/lib/File/Compare.pm
index 0b73d7c765..bcc996ee3a 100644
--- a/lib/File/Compare.pm
+++ b/lib/File/Compare.pm
@@ -6,15 +6,19 @@ use warnings;
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, $Too_Big);
require Exporter;
-use Carp;
-$VERSION = '1.1003';
+$VERSION = '1.1004';
@ISA = qw(Exporter);
@EXPORT = qw(compare);
@EXPORT_OK = qw(cmp compare_text);
$Too_Big = 1024 * 1024 * 2;
+sub croak {
+ require Carp;
+ goto &Carp::croak;
+}
+
sub compare {
croak("Usage: compare( file1, file2 [, buffersize]) ")
unless(@_ == 2 || @_ == 3);
diff --git a/lib/File/Copy.pm b/lib/File/Copy.pm
index a43a6c6c8a..828473e2d3 100644
--- a/lib/File/Copy.pm
+++ b/lib/File/Copy.pm
@@ -10,7 +10,6 @@ package File::Copy;
use 5.006;
use strict;
use warnings;
-use Carp;
use File::Spec;
use Config;
our(@ISA, @EXPORT, @EXPORT_OK, $VERSION, $Too_Big, $Syscopy_is_copy);
@@ -24,7 +23,7 @@ sub mv;
# package has not yet been updated to work with Perl 5.004, and so it
# would be a Bad Thing for the CPAN module to grab it and replace this
# module. Therefore, we set this module's version higher than 2.0.
-$VERSION = '2.08';
+$VERSION = '2.08_01';
require Exporter;
@ISA = qw(Exporter);
@@ -33,6 +32,11 @@ require Exporter;
$Too_Big = 1024 * 1024 * 2;
+sub croak {
+ require Carp;
+ goto &Carp::croak;
+}
+
my $macfiles;
if ($^O eq 'MacOS') {
$macfiles = eval { require Mac::MoreFiles };
diff --git a/lib/File/Path.pm b/lib/File/Path.pm
index f96dc06d8f..202bb483d9 100644
--- a/lib/File/Path.pm
+++ b/lib/File/Path.pm
@@ -119,13 +119,12 @@ Charles Bailey <F<bailey@newman.upenn.edu>>
=cut
use 5.006;
-use Carp;
use File::Basename ();
use Exporter ();
use strict;
use warnings;
-our $VERSION = "1.07";
+our $VERSION = "1.07_01";
our @ISA = qw( Exporter );
our @EXPORT = qw( mkpath rmtree );
@@ -137,6 +136,16 @@ my $Is_MacOS = $^O eq 'MacOS';
my $force_writeable = ($^O eq 'os2' || $^O eq 'dos' || $^O eq 'MSWin32' ||
$^O eq 'amigaos' || $^O eq 'MacOS' || $^O eq 'epoc');
+sub carp {
+ require Carp;
+ goto &Carp::carp;
+}
+
+sub croak {
+ require Carp;
+ goto &Carp::croak;
+}
+
sub mkpath {
my($paths, $verbose, $mode) = @_;
# $paths -- either a path string or ref to list of paths
@@ -165,7 +174,7 @@ sub mkpath {
unless (mkdir($path,$mode)) {
my $e = $!;
# allow for another process to have created it meanwhile
- croak "mkdir $path: $e" unless -d $path;
+ croak ("mkdir $path: $e") unless -d $path;
}
push(@created, $path);
}
@@ -183,7 +192,7 @@ sub rmtree {
$roots = [$roots] unless ref $roots;
}
else {
- carp "No root path(s) specified\n";
+ carp ("No root path(s) specified\n");
return 0;
}
@@ -203,7 +212,7 @@ sub rmtree {
# to recurse in which case we are better than rm -rf for
# subtrees with strange permissions
chmod($rp | 0700, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
- or carp "Can't make directory $root read+writeable: $!"
+ or carp ("Can't make directory $root read+writeable: $!")
unless $safe;
if (opendir my $d, $root) {
@@ -217,7 +226,7 @@ sub rmtree {
closedir $d;
}
else {
- carp "Can't read $root: $!";
+ carp ("Can't read $root: $!");
@files = ();
}
@@ -237,14 +246,14 @@ sub rmtree {
next;
}
chmod $rp | 0700, $root
- or carp "Can't make directory $root writeable: $!"
+ or carp ("Can't make directory $root writeable: $!")
if $force_writeable;
print "rmdir $root\n" if $verbose;
if (rmdir $root) {
++$count;
}
else {
- carp "Can't remove directory $root: $!";
+ carp ("Can't remove directory $root: $!");
chmod($rp, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
or carp("and can't restore permissions to "
. sprintf("0%o",$rp) . "\n");
@@ -259,13 +268,13 @@ sub rmtree {
next;
}
chmod $rp | 0600, $root
- or carp "Can't make file $root writeable: $!"
+ or carp ("Can't make file $root writeable: $!")
if $force_writeable;
print "unlink $root\n" if $verbose;
# delete all versions under VMS
for (;;) {
unless (unlink $root) {
- carp "Can't unlink file $root: $!";
+ carp ("Can't unlink file $root: $!");
if ($force_writeable) {
chmod $rp, $root
or carp("and can't restore permissions to "
diff --git a/lib/SelfLoader.pm b/lib/SelfLoader.pm
index 40c92db6b7..87587c31be 100644
--- a/lib/SelfLoader.pm
+++ b/lib/SelfLoader.pm
@@ -1,9 +1,8 @@
package SelfLoader;
-# use Carp;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(AUTOLOAD);
-$VERSION = "1.0904";
+$VERSION = "1.0905";
sub Version {$VERSION}
$DEBUG = 0;
@@ -18,6 +17,7 @@ our $one_attr = qr{ (?> (?! \d) \w+ (?:$nested)? ) (?:\s*\:\s*|\s+(?!\:)) }x;
our $attr_list = qr{ \s* : \s* (?: $one_attr )* }x;
sub croak { require Carp; goto &Carp::croak }
+sub carp { require Carp; goto &Carp::carp }
AUTOLOAD {
print STDERR "SelfLoader::AUTOLOAD for $AUTOLOAD\n" if $DEBUG;
@@ -115,7 +115,7 @@ sub _load_stubs {
sub _add_to_cache {
my($self,$fullname,$pack,$lines, $protoype) = @_;
return () unless $fullname;
- (require Carp), Carp::carp("Redefining sub $fullname")
+ carp("Redefining sub $fullname")
if exists $Cache{$fullname};
$Cache{$fullname} = join('', "package $pack; ",@$lines);
print STDERR "SelfLoader cached $fullname: $Cache{$fullname}" if $DEBUG;
diff --git a/lib/charnames.pm b/lib/charnames.pm
index f895d37967..b69cccc767 100644
--- a/lib/charnames.pm
+++ b/lib/charnames.pm
@@ -1,9 +1,8 @@
package charnames;
use strict;
use warnings;
-use Carp;
use File::Spec;
-our $VERSION = '1.04';
+our $VERSION = '1.04_1';
use bytes (); # for $bytes::hint_bits
$charnames::hint_bits = 0x20000; # HINT_LOCALIZE_HH
@@ -44,6 +43,16 @@ my %alias3 = (
);
my $txt;
+sub croak
+{
+ require Carp; goto &Carp::croak;
+} # croak
+
+sub carp
+{
+ require Carp; goto &Carp::carp;
+} # carp
+
sub alias (@)
{
@_ or return %alias3;
diff --git a/lib/open.pm b/lib/open.pm
index 4515899461..35657623fa 100644
--- a/lib/open.pm
+++ b/lib/open.pm
@@ -1,9 +1,8 @@
package open;
use warnings;
-use Carp;
$open::hint_bits = 0x20000; # HINT_LOCALIZE_HH
-our $VERSION = '1.04';
+our $VERSION = '1.04_01';
require 5.008001; # for PerlIO::get_layers()
@@ -14,6 +13,10 @@ sub _get_encname {
return;
}
+sub croak {
+ require Carp; goto &Carp::croak;
+}
+
sub _drop_oldenc {
# If by the time we arrive here there already is at the top of the
# perlio layer stack an encoding identical to what we would like
@@ -39,13 +42,11 @@ sub _drop_oldenc {
require Encode;
my ($loname, $lcname) = _get_encname($old[-2]);
unless (defined $lcname) { # Should we trust get_layers()?
- require Carp;
- Carp::croak("open: Unknown encoding '$loname'");
+ croak("open: Unknown encoding '$loname'");
}
my ($voname, $vcname) = _get_encname($new[-1]);
unless (defined $vcname) {
- require Carp;
- Carp::croak("open: Unknown encoding '$voname'");
+ croak("open: Unknown encoding '$voname'");
}
if ($lcname eq $vcname) {
binmode($h, ":pop"); # utf8 is part of the encoding layer