summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-03-08 00:16:42 +0000
committerKarl Berry <karl@freefriends.org>2018-03-08 00:16:42 +0000
commit34a8597760ab5740abd49b6d8be10e1876f5ce98 (patch)
tree099a794912a28b3ebbc857961643ba29b28e674a /Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
parent2ca3610031316a7312d046d3ae4c783452831216 (diff)
(tl)perl 5.26.1 from siep
git-svn-id: svn://tug.org/texlive/trunk@46882 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CPAN/Bundle.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Bundle.pm14
1 files changed, 12 insertions, 2 deletions
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm b/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
index 1525dde5e32..3b4e93d8bf6 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Bundle.pm
@@ -8,7 +8,7 @@ use CPAN::Module;
use vars qw(
$VERSION
);
-$VERSION = "5.5001";
+$VERSION = "5.5003";
sub look {
my $self = shift;
@@ -21,6 +21,11 @@ sub undelay {
delete $self->{later};
for my $c ( $self->contains ) {
my $obj = CPAN::Shell->expandany($c) or next;
+ if ($obj->id eq $self->id){
+ my $id = $obj->id;
+ $CPAN::Frontend->mywarn("$id seems to contain itself, skipping\n");
+ next;
+ }
$obj->undelay;
}
}
@@ -39,7 +44,12 @@ sub color_cmd_tmps {
&& $color==1
&& $self->{incommandcolor}==$color;
if ($depth>=$CPAN::MAX_RECURSION) {
- die(CPAN::Exception::RecursiveDependency->new($ancestors));
+ my $e = CPAN::Exception::RecursiveDependency->new($ancestors);
+ if ($e->is_resolvable) {
+ return $self->{incommandcolor}=2;
+ } else {
+ die $e;
+ }
}
# warn "color_cmd_tmps $depth $color " . $self->id; # sleep 1;