Change 29815 by [EMAIL PROTECTED] on 2007/01/15 12:29:14
Factorise croak() calls and error messages in feature.pm
(suggested by Michael G Schwern)
Affected files ...
... //depot/perl/lib/feature.pm#8 edit
Differences ...
==== //depot/perl/lib/feature.pm#8 (text) ====
Index: perl/lib/feature.pm
--- perl/lib/feature.pm#7~28365~ 2006-06-07 01:47:49.000000000 -0700
+++ perl/lib/feature.pm 2007-01-15 04:29:14.000000000 -0800
@@ -105,27 +105,19 @@
sub import {
my $class = shift;
if (@_ == 0) {
- require Carp;
- Carp->import("croak");
croak("No features specified");
}
while (@_) {
my $name = shift(@_);
if ($name =~ /^:(.*)/) {
if (!exists $feature_bundle{$1}) {
- require Carp;
- Carp->import("croak");
- croak(sprintf('Feature bundle "%s" is not supported by Perl
%vd',
- $1, $^V));
+ unknown_feature_bundle($1);
}
unshift @_, @{$feature_bundle{$1}};
next;
}
if (!exists $feature{$name}) {
- require Carp;
- Carp->import("croak");
- croak(sprintf('Feature "%s" is not supported by Perl %vd',
- $name, $^V));
+ unknown_feature($name);
}
$^H{$feature{$name}} = 1;
}
@@ -144,19 +136,13 @@
my $name = shift;
if ($name =~ /^:(.*)/) {
if (!exists $feature_bundle{$1}) {
- require Carp;
- Carp->import("croak");
- croak(sprintf('Feature bundle "%s" is not supported by Perl
%vd',
- $1, $^V));
+ unknown_feature_bundle($1);
}
unshift @_, @{$feature_bundle{$1}};
next;
}
if (!exists($feature{$name})) {
- require Carp;
- Carp->import("croak");
- croak(sprintf('Feature "%s" is not supported by Perl %vd',
- $name, $^V));
+ unknown_feature($name);
}
else {
delete $^H{$feature{$name}};
@@ -164,4 +150,21 @@
}
}
+sub unknown_feature {
+ my $feature = shift;
+ croak(sprintf('Feature "%s" is not supported by Perl %vd',
+ $feature, $^V));
+}
+
+sub unknown_feature_bundle {
+ my $feature = shift;
+ croak(sprintf('Feature bundle "%s" is not supported by Perl %vd',
+ $feature, $^V));
+}
+
+sub croak {
+ require Carp;
+ Carp::croak(@_);
+}
+
1;
End of Patch.