upgrade to CPAN-1.40
Gurusamy Sarathy [Thu, 24 Sep 1998 02:16:14 +0000 (02:16 +0000)]
p4raw-id: //depot/perl@1860

Changes
lib/CPAN.pm
lib/CPAN/FirstTime.pm

diff --git a/Changes b/Changes
index 354cee6..f2b953e 100644 (file)
--- a/Changes
+++ b/Changes
@@ -74,7 +74,555 @@ indicator:
 
 
 ----------------
-Version 5.005_51        Development release working toward 5.006
+Version 5.005_52        Development release working toward 5.006
+----------------
+
+____________________________________________________________________________
+[  1857] By: gsar                                  on 1998/09/23  10:58:36
+        Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Tue, 22 Sep 1998 17:30:16 -0400 (EDT)
+             Message-Id: <199809222130.RAA17034@monk.mps.ohio-state.edu>
+             Subject: More verbose Test::Harness [PATCH]
+     Branch: perl
+           ! lib/Test/Harness.pm
+____________________________________________________________________________
+[  1856] By: gsar                                  on 1998/09/23  10:56:24
+        Log: update hints for OPENSTEP 4.2 on i386
+             From: Gerben Wierda <Gerben_Wierda@RnA.nl>
+             Date: Sun, 20 Sep 1998 01:03:18 +0200
+             Message-Id: <9809192303.AA29190@Spike>
+             Subject: Perl 5.005_02 compilation problems
+     Branch: perl
+           ! hints/next_4.sh
+____________________________________________________________________________
+[  1855] By: gsar                                  on 1998/09/23  10:52:27
+        Log: reset errno after C<require> search (as suggested by Larry)
+     Branch: perl
+           ! pp_ctl.c
+____________________________________________________________________________
+[  1854] By: gsar                                  on 1998/09/23  10:50:26
+        Log: misc pod tweaks
+     Branch: perl
+           ! pod/perldelta.pod pod/perldiag.pod pod/perlport.pod
+____________________________________________________________________________
+[  1853] By: gsar                                  on 1998/09/23  10:46:06
+        Log: make Pod/Html.pm handle the --title option properly (as suggested
+             by gml4410@ggr.co.uk)
+     Branch: perl
+           ! lib/Pod/Html.pm
+____________________________________________________________________________
+[  1852] By: gsar                                  on 1998/09/23  10:41:39
+        Log: SSNEW() API for allocating memory on the savestack
+             From: Albert Dvornik <bert@genscan.com>
+             Date: 17 Sep 1998 19:23:07 -0400
+             Message-Id: <tqemtae338.fsf@puma.genscan.com>
+             Subject: [PATCH 5.005_51] (was: why SAVEDESTRUCTOR()...)
+     Branch: perl
+          ! Changes Changes5.005 embed.h global.sym mg.c objXSUB.h objpp.h
+           ! perl.h proto.h scope.c scope.h t/io/tell.t
+____________________________________________________________________________
+[  1851] By: gsar                                  on 1998/09/23  10:37:05
+        Log: From: Jochen Wiedmann <joe@ispsoft.de>
+             Date: Thu, 17 Sep 1998 17:16:06 +0200
+             Message-ID: <360127B6.E44564A@ispsoft.de>
+             Subject: [PATCH] ExtUtils::MakeMaker::prompt cannot return 0
+     Branch: perl
+           ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1850] By: gsar                                  on 1998/09/23  10:33:05
+        Log: From: andreas.koenig@kulturbox.de (Andreas J. Koenig)
+             Date: 15 Sep 1998 01:32:31 +0200
+             Message-ID: <sfchfya46eo.fsf@dubravka.in-berlin.de>
+             Subject: Re: [PATCH] MakeMaker "test" target doesn't depend on "all"
+     Branch: perl
+           ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[  1849] By: gsar                                  on 1998/09/23  10:29:04
+        Log: From: Charles Bailey <BAILEY@newman.upenn.edu>
+             Date: Sat, 12 Sep 1998 19:25:32 -0400 (EDT)
+             Message-id: <01J1QBJUAY1I002KOW@cor.newman.upenn.edu>
+             Subject: Re: extralibs.ld problem in MM_VMS.pm
+     Branch: perl
+           ! lib/ExtUtils/MM_VMS.pm
+____________________________________________________________________________
+[  1848] By: gsar                                  on 1998/09/23  10:25:24
+        Log: From: Roderick Schertler <roderick@argon.org>
+             Date: 11 Sep 1998 16:19:21 -0400
+             Message-ID: <pzyarqpfli.fsf@eeyore.ibcinc.com>
+             Subject: Re: Open2 and memory leaks
+     Branch: perl
+           ! lib/IPC/Open3.pm
+____________________________________________________________________________
+[  1847] By: gsar                                  on 1998/09/23  10:18:31
+        Log: From: Roderick Schertler <roderick@argon.org>
+             Date: Wed, 09 Sep 1998 23:52:48 -0400
+             Message-ID: <20567.905399568@eeyore.ibcinc.com>
+             Subject: seed srand from /dev/urandom when possible
+     Branch: perl
+           ! pod/perlfunc.pod pp.c
+____________________________________________________________________________
+[  1846] By: gsar                                  on 1998/09/23  10:12:22
+        Log: From: Roderick Schertler <roderick@argon.org>
+             Date: Thu, 10 Sep 1998 00:32:17 -0400
+             Message-ID: <21142.905401937@eeyore.ibcinc.com>
+             Subject: doc update for crypt()'s salt
+     Branch: perl
+           ! pod/perlfunc.pod
+____________________________________________________________________________
+[  1845] By: gsar                                  on 1998/09/23  10:09:23
+        Log: fix h2ph handling of C<#error "foo">
+             From: SAKAI Kiyotaka <ksakai@netwk.ntt-at.co.jp>
+             Date: Thu, 10 Sep 1998 09:59:33 +0900
+             Message-Id: <19980910095933N.ksakai@netwk.ntt-at.co.jp>
+             Subject: [5.005_02] h2ph problem
+     Branch: perl
+           ! utils/h2ph.PL
+____________________________________________________________________________
+[  1844] By: gsar                                  on 1998/09/23  10:06:13
+        Log: plug strictly private function leaks in API listing
+     Branch: perl
+           ! pod/perlguts.pod
+____________________________________________________________________________
+[  1843] By: gsar                                  on 1998/09/23  10:02:57
+        Log: hide symbol for static build
+             From: Dominic Dunlop <domo@vo.lu>
+             Date: Tue, 8 Sep 1998 21:40:46 +0000
+             Message-Id: <v03110700b21b52db318d@[212.24.192.111]>
+             Subject: Not OK: perl 5.00551 on powerpc-machten 4.1.1 [PATCH]
+     Branch: perl
+           ! regcomp.c
+____________________________________________________________________________
+[  1842] By: gsar                                  on 1998/09/23  09:52:46
+        Log: define PUT_svindex(), PUT_opindex()
+     Branch: perl
+           ! ext/B/B/Assembler.pm
+____________________________________________________________________________
+[  1841] By: gsar                                  on 1998/09/23  09:44:25
+        Log: From: Dominic Dunlop <domo@vo.lu>
+             Date: Tue, 8 Sep 1998 15:34:53 +0000
+             Message-Id: <v03110701b21afbdc7cfb@[212.24.192.76]>
+             Subject: [PATCH 5.005_51] Eliminate pragma/warn-regexec test dependence on REG_INFTY value
+     Branch: perl
+           ! t/pragma/warn/regexec
+____________________________________________________________________________
+[  1840] By: gsar                                  on 1998/09/23  09:42:17
+        Log: pl2bat tweak from Tye McQueen <tye@metronet.com>
+     Branch: perl
+           ! win32/bin/pl2bat.pl
+____________________________________________________________________________
+[  1839] By: gsar                                  on 1998/09/23  09:38:18
+        Log: From: Drago Goricanec <drago@raptor.otsd.ts.fujitsu.co.jp>
+             Date: Mon, 7 Sep 1998 17:36:09 +0900
+             Message-Id: <199809070836.RAA14631@raptor.otsd.ts.fujitsu.co.jp>
+             Subject: Thread::cond_wait bug in 5.005.51 causes deadlock
+     Branch: perl
+           ! ext/Thread/Thread.xs
+____________________________________________________________________________
+[  1838] By: gsar                                  on 1998/09/23  09:21:11
+        Log: From: "Green, Paul" <pgreen@seussnt.stratus.com>
+             Date: Thu, 10 Sep 1998 00:02:07 -0400
+             Message-ID: <646CD0392810D211B04A00A024BF26FB1022EB@terminator.sw.stratus.com>
+             Subject: RE: [PATCH] 5.005_02 and 5.005_51: Stratus VOS port
+     Branch: perl
+          + README.vos vos/Changes vos/build.cm vos/compile_perl.cm
+          + vos/config.h vos/config_h.SH_orig vos/perl.bind
+           + vos/test_vos_dummies.c vos/vos_dummies.c vos/vosish.h
+           ! MANIFEST perl.c perl.h pod/perlport.pod
+____________________________________________________________________________
+[  1837] By: gsar                                  on 1998/09/23  08:45:58
+        Log: (via private mail)
+             From: Charles Bailey <BAILEY@newman.upenn.edu>
+             Date: Sat, 05 Sep 1998 01:23:58 -0400 (EDT)
+             Message-id: <01J1FH7R43NS002F14@cor.newman.upenn.edu>
+             Subject: [Patch 5.005_02] Miscellaneous VMS cleanup
+     Branch: perl
+          ! Changes Changes5.005 README.vms ext/DynaLoader/dl_vms.xs
+          ! lib/Cwd.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm
+          ! lib/ExtUtils/Mksymlists.pm lib/File/Copy.pm lib/File/Path.pm
+          ! lib/File/Spec.pm pod/perldiag.pod pod/perlfaq1.pod
+          ! pod/perlport.pod pod/perlrun.pod vms/ext/DCLsym/0README.txt
+          ! vms/ext/DCLsym/DCLsym.pm vms/ext/DCLsym/DCLsym.xs
+          ! vms/ext/Filespec.pm vms/ext/XSSymSet.pm vms/gen_shrfls.pl
+          ! vms/mms2make.pl vms/perly_c.vms vms/sockadapt.c
+          ! vms/sockadapt.h vms/test.com vms/vms.c vms/vms_yfix.pl
+           ! vms/writemain.pl
+____________________________________________________________________________
+[  1836] By: gsar                                  on 1998/09/23  08:17:42
+        Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Sat, 5 Sep 1998 00:14:51 -0400 (EDT)
+             Message-Id: <199809050414.AAA19801@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_*] OS/2 spawning typos
+     Branch: perl
+           ! os2/os2.c
+____________________________________________________________________________
+[  1835] By: gsar                                  on 1998/09/23  08:09:55
+        Log: warn on C<my($foo,$foo)>
+     Branch: perl
+           ! op.c pod/perldiag.pod
+____________________________________________________________________________
+[  1834] By: gsar                                  on 1998/09/23  07:35:56
+        Log: From: pvhp@forte.com (Peter Prymmer)
+             Date: Fri, 4 Sep 98 13:27:41 PDT
+             Message-Id: <9809042027.AA04463@forte.com>
+             Subject: [PATCH 5.005_02 && 5.005_51] general updates to README.vms
+     Branch: perl
+           ! README.vms
+____________________________________________________________________________
+[  1833] By: gsar                                  on 1998/09/23  07:27:34
+        Log: From: Jeff Okamoto <okamoto@xfiles.intercon.hp.com>
+             Date: Wed, 2 Sep 1998 10:06:49 -0700 (PDT)
+             Message-Id: <199809021706.KAA26349@xfiles.intercon.hp.com>
+             Subject: PATCH: 5.005_02 hint/hpux.sh
+     Branch: perl
+           ! hints/hpux.sh
+____________________________________________________________________________
+[  1832] By: gsar                                  on 1998/09/23  07:22:40
+        Log: fix (some) installhtml bugs
+             From: Larry Parmelee <parmelee@CS.Cornell.EDU>
+             Date: Tue, 1 Sep 1998 12:43:40 -0400 (EDT)
+             Message-Id: <199809011643.MAA05702@sundown.cs.cornell.edu>
+             Subject: installhtml script needs work
+     Branch: perl
+           ! installhtml
+____________________________________________________________________________
+[  1831] By: gsar                                  on 1998/09/23  07:19:30
+        Log: document 'U' magic with examples
+             From: Alan Burlison <Alan.Burlison@UK.Sun.com>
+             Date: Tue, 1 Sep 1998 15:54:06 +0100 (BST)
+             Message-Id: <199809011455.PAA00631@sale-wts>
+             Subject: Re: Looking for some XS MAGIC examples...
+     Branch: perl
+           ! pod/perlguts.pod
+____________________________________________________________________________
+[  1830] By: gsar                                  on 1998/09/23  07:16:43
+        Log: From: pvhp@forte.com (Peter Prymmer)
+             Date: Mon, 31 Aug 98 17:13:49 PDT
+             Message-Id: <9809010013.AA06737@forte.com>
+             Subject: [PATCH: 5.005_02; yet another system configuration tip for OS/390]
+     Branch: perl
+           ! README.os390
+____________________________________________________________________________
+[  1829] By: gsar                                  on 1998/09/23  07:15:08
+        Log: fix problematic typecast in filter_del()
+             From: Mark P Lutz <tecmpl1@triton.ca.boeing.com>
+             Date: Mon, 31 Aug 1998 21:13:11 GMT
+             Message-Id: <199808312113.VAA53356@triton.ca.boeing.com>
+             Subject: perl5.005_02 does not build on Cray T90
+     Branch: perl
+           ! toke.c
+____________________________________________________________________________
+[  1828] By: gsar                                  on 1998/09/23  07:11:34
+        Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Mon, 31 Aug 1998 14:52:10 -0400 (EDT)
+             Message-Id: <199808311852.OAA24676@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_5*] (?>) broken in RE
+     Branch: perl
+           ! regexec.c t/op/re_tests
+____________________________________________________________________________
+[  1827] By: gsar                                  on 1998/09/23  07:09:50
+        Log: U/WIN testsuite patches from Joe Buehler <jhpb@hekimian.com>
+     Branch: perl
+           ! t/op/grent.t t/op/groups.t
+____________________________________________________________________________
+[  1826] By: gsar                                  on 1998/09/23  07:03:16
+        Log: From: Jarkko Hietaniemi <jhi@iki.fi>
+             Date: Wed, 12 Aug 1998 22:41:37 +0300 (EET DST)
+             Message-Id: <199808121941.WAA06263@alpha.hut.fi>
+             Subject: [PATCH] 5.004_50 or 5.005_02: get rid of interp.sym because not even AIX needs it
+     Branch: perl
+           - interp.sym
+           ! MANIFEST Makefile.SH embed.pl perl_exp.SH
+____________________________________________________________________________
+[  1825] By: gsar                                  on 1998/09/23  06:56:40
+        Log: re-introduce change#1703
+     Branch: perl
+           ! ext/re/re.pm pod/perlre.pod regcomp.c regexec.c thrdvar.h
+____________________________________________________________________________
+[  1824] By: gsar                                  on 1998/09/23  06:44:19
+        Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Sat, 29 Aug 1998 17:38:30 -0400 (EDT)
+             Message-Id: <199808292138.RAA18359@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_*] Protect debugger from nonlocal exits
+     Branch: perl
+           ! lib/perl5db.pl
+____________________________________________________________________________
+[  1823] By: gsar                                  on 1998/09/23  06:41:34
+        Log: From: Joe Buehler <jhpb@hekimian.com>
+             Date: 29 Aug 1998 17:13:28 -0400
+             Message-ID: <yd37lzro5jb.fsf@pandora.hekimian.com>
+             Subject: patches for perl 5.005_51 under U/WIN
+     Branch: perl
+           + hints/uwin.sh
+          ! Configure installman lib/ExtUtils/MM_Unix.pm makedepend.SH
+           ! t/lib/posix.t
+____________________________________________________________________________
+[  1822] By: gsar                                  on 1998/09/23  06:36:59
+        Log: add missing C<no utf8;> tweak from Larry
+     Branch: perl
+           ! t/op/subst.t
+____________________________________________________________________________
+[  1821] By: gsar                                  on 1998/09/23  06:27:51
+        Log: s/runops/CALLRUNOPS/
+     Branch: perl
+           ! cc_runtime.h
+____________________________________________________________________________
+[  1820] By: gsar                                  on 1998/09/23  06:24:49
+        Log: rename t/pragma/warn-* to t/pragma/warn/*, be 8.3-friendly
+     Branch: perl
+         +> t/pragma/warn/1global t/pragma/warn/2use t/pragma/warn/3both
+         +> t/pragma/warn/4lint t/pragma/warn/5nolint t/pragma/warn/doio
+         +> t/pragma/warn/gv t/pragma/warn/mg t/pragma/warn/op
+         +> t/pragma/warn/perl t/pragma/warn/perly t/pragma/warn/pp
+         +> t/pragma/warn/pp_ctl t/pragma/warn/pp_hot t/pragma/warn/pp_sys
+         +> t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv
+         +> t/pragma/warn/taint t/pragma/warn/toke t/pragma/warn/universal
+          +> t/pragma/warn/util
+          - t/pragma/warn-1global t/pragma/warn-2use t/pragma/warn-3both
+          - t/pragma/warn-4lint t/pragma/warn-5nolint t/pragma/warn-doio
+          - t/pragma/warn-gv t/pragma/warn-mg t/pragma/warn-op
+          - t/pragma/warn-perl t/pragma/warn-perly t/pragma/warn-pp
+          - t/pragma/warn-pp_ctl t/pragma/warn-pp_hot t/pragma/warn-pp_sys
+          - t/pragma/warn-regcomp t/pragma/warn-regexec t/pragma/warn-sv
+          - t/pragma/warn-taint t/pragma/warn-toke t/pragma/warn-universal
+           - t/pragma/warn-util
+           ! MANIFEST t/pragma/warning.t
+____________________________________________________________________________
+[  1819] By: gsar                                  on 1998/09/23  06:08:46
+        Log: make \(%foo) return refs to values (not copies of values)
+             From: Stephen McCamant <smccam@uclink4.berkeley.edu>
+             Date: Fri, 28 Aug 1998 20:46:10 -0700 (PDT)
+             Message-ID: <13799.30680.47765.352558@fre-76-120.reshall.berkeley.edu>
+             --
+             From: Roderick Schertler <roderick@argon.org>
+             Date: Sat, 29 Aug 1998 00:58:33 -0400
+             Message-ID: <29894.904366713@eeyore.ibcinc.com>
+             Subject: Re: \(%x) problems
+     Branch: perl
+           ! doop.c pod/perlref.pod
+____________________________________________________________________________
+[  1818] By: gsar                                  on 1998/09/23  06:05:08
+        Log: make h2xs generate ANSI prototypes
+     Branch: perl
+           ! utils/h2xs.PL
+____________________________________________________________________________
+[  1817] By: gsar                                  on 1998/09/23  05:57:16
+        Log: updated usethreads hints for hpux 10.X
+             From: Matthew T Harden <mthard@mthard1.monsanto.com>
+             Date: Fri, 28 Aug 1998 14:10:42 GMT
+             Message-Id: <199808281410.AA11058@mthard1.monsanto.com>
+             Subject: Re: OK: perl 5.00502 on PA-RISC1.1-thread 10.20 (UNINSTALLED)
+     Branch: perl
+           ! hints/hpux.sh perl.h
+____________________________________________________________________________
+[  1816] By: gsar                                  on 1998/09/23  05:53:31
+        Log: don't create empty directories in installperl
+             From: Robin Barker <rmb1@cise.npl.co.uk>
+             Date: Fri, 21 Aug 1998 11:29:24 +0100 (BST)
+             Message-Id: <199808211029.LAA00551@cyclone.cise.npl.co.uk>
+             Subject: [PATCH 5.005_02] install: empty dirs
+     Branch: perl
+           ! installperl
+____________________________________________________________________________
+[  1815] By: gsar                                  on 1998/09/23  05:50:36
+        Log: make behavior of /(a{3})+/ like /(aaa)+/ w.r.t where it matches
+             From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Fri, 21 Aug 1998 05:41:02 -0400 (EDT)
+             Message-Id: <199808210941.FAA16467@monk.mps.ohio-state.edu>
+             Subject: Re: your mail
+     Branch: perl
+           ! regexec.c t/op/re_tests
+____________________________________________________________________________
+[  1814] By: gsar                                  on 1998/09/23  05:45:17
+        Log: From: "Kurt D. Starsinic" <kstar@chapin.edu>
+             Date: Thu, 20 Aug 1998 20:59:03 -0400
+             Message-ID: <19980820205903.A12908@O2.chapin.edu>
+             Subject: [PATCH] h2ph misquotes #error directives
+     Branch: perl
+           ! t/lib/h2ph.pht utils/h2ph.PL
+____________________________________________________________________________
+[  1813] By: gsar                                  on 1998/09/23  05:42:41
+        Log: patch to support computed regular subexpressions
+             From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Thu, 20 Aug 1998 15:19:50 -0400 (EDT)
+             Message-Id: <199808201919.PAA04692@monk.mps.ohio-state.edu>
+             Subject: [5.005_5* PATCH] Postponed RE - now!
+     Branch: perl
+          ! embedvar.h objXSUB.h pod/perlre.pod regcomp.c regexec.c
+           ! t/op/pat.t t/op/re_tests thrdvar.h toke.c
+____________________________________________________________________________
+[  1812] By: gsar                                  on 1998/09/23  05:26:26
+        Log: better CR-handling on shebang line and in formats (fixed variant of
+             patch suggested by Igor Sysoev <igor@nitek.ru>)
+     Branch: perl
+           ! perl.c toke.c
+____________________________________________________________________________
+[  1811] By: gsar                                  on 1998/09/23  04:35:46
+        Log: document non-loopish blocks better
+             From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
+             Date: Tue, 18 Aug 1998 12:28:36 +0100
+             Message-Id: <E0z8jwK-00057Z-00@ursa.cus.cam.ac.uk>
+             Subject: Re: next in do {} while block gives error message
+     Branch: perl
+           ! pod/perlfunc.pod
+____________________________________________________________________________
+[  1810] By: gsar                                  on 1998/09/23  04:12:05
+        Log: fix bogus integerization of pop()'s return value
+             From: Gurusamy Sarathy <gsar@engin.umich.edu>
+             Date: Sat, 15 Aug 1998 23:27:54 -0400
+             Message-Id: <199808160327.XAA05186@aatma.engin.umich.edu>
+             Subject: Re: Complex expression does integer arithmetic 
+     Branch: perl
+           ! opcode.h opcode.pl
+____________________________________________________________________________
+[  1809] By: gsar                                  on 1998/09/23  04:09:43
+        Log: tweak README.win32
+     Branch: perl
+           ! README.win32
+____________________________________________________________________________
+[  1808] By: gsar                                  on 1998/09/23  03:40:57
+        Log: better diagnostic for do{} used as lvalue
+     Branch: perl
+           ! op.c pod/perlport.pod
+____________________________________________________________________________
+[  1807] By: gsar                                  on 1998/09/23  03:38:30
+        Log: enable PERL_SBRK_VIA_MALLOC on OPENSTEP-Mach
+             From: hansm@icgroup.nl
+             Date: Tue, 11 Aug 98 21:08:51 +0200
+             Message-Id: <9808111907.AA21903@icgned.icgroup.nl>
+             Subject: Not OK: perl 5.00551 on OPENSTEP-Mach 4_1 (UNINSTALLED)
+     Branch: perl
+           ! malloc.c
+____________________________________________________________________________
+[  1806] By: gsar                                  on 1998/09/23  03:36:08
+        Log: support make written in perl (aka "pmake") on win32
+     Branch: perl
+           ! lib/ExtUtils/MM_Win32.pm
+____________________________________________________________________________
+[  1805] By: gsar                                  on 1998/09/23  03:30:07
+        Log: fix mismatched UV/U32 types for to_utf8_*()
+     Branch: perl
+           ! utf8.c
+____________________________________________________________________________
+[  1804] By: gsar                                  on 1998/09/23  03:22:22
+        Log: From: Laszlo Molnar <molnarl@cdata.tvnet.hu>
+             Date: Sun, 9 Aug 1998 22:38:23 +0200
+             Message-ID: <19980809223823.A215@cdata.tvnet.hu>
+             Subject: [PATCH 5.5002] dos-djgpp update
+     Branch: perl
+           ! t/io/fs.t
+____________________________________________________________________________
+[  1803] By: gsar                                  on 1998/09/23  03:20:13
+        Log: apply minimal variant of patch (sent via private mail)
+             From: jarkko.hietaniemi@research.nokia.com (Jarkko Hietaniemi)
+             Date: Wed, 12 Aug 1998 15:42:35 +0300
+             Message-Id: <199808121242.PAA29761@comanche.spices>
+             Subject: [PATCH] 5.004_02 or 5.005_51: fix regexp and tr character ranges in non-ASCII lands
+     Branch: perl
+          ! MANIFEST perl.h pod/perllocale.pod pod/perlop.pod
+           ! pod/perlre.pod regcomp.c t/pragma/locale.t toke.c
+____________________________________________________________________________
+[  1802] By: gsar                                  on 1998/09/23  03:03:39
+        Log: adjust searchdict.t for EBCDIC (still needs documenting)
+             From: pvhp@forte.com (Peter Prymmer)
+             Date: Thu, 6 Aug 98 18:09:39 PDT
+             Message-Id: <9808070109.AA06158@forte.com>
+             Subject: [PATCH 5.005_02-TRIAL2] potential modification to t/lib/searchdict.t
+     Branch: perl
+           ! README.os390 t/lib/searchdict.t
+____________________________________________________________________________
+[  1801] By: gsar                                  on 1998/09/23  02:54:15
+        Log: silence redefined warning for XS(INIT) {}
+     Branch: perl
+           ! op.c
+____________________________________________________________________________
+[  1800] By: gsar                                  on 1998/09/23  02:42:23
+        Log: support match indices via special variables @- and @+
+             From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Tue, 21 Jul 1998 23:00:35 -0400 (EDT)
+             Message-Id: <199807220300.XAA16081@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.004_76] @- and @+
+     Branch: perl
+          ! av.c embed.h global.sym gv.c mg.c objXSUB.h objpp.h perl.h
+           ! pod/perlvar.pod proto.h regnodes.h sv.c t/op/pat.t toke.c
+____________________________________________________________________________
+[  1799] By: gsar                                  on 1998/09/23  01:44:31
+        Log: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Tue, 11 Aug 1998 18:43:29 -0400 (EDT)
+             Message-Id: <199808112243.SAA14243@monk.mps.ohio-state.edu>
+             Subject: Re: Segmentation fault for /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
+     Branch: perl
+           ! regcomp.c t/op/re_tests
+____________________________________________________________________________
+[  1798] By: gsar                                  on 1998/09/23  01:39:23
+        Log: integrate maint-5.005 changes (except conflicting change#1794)
+     Branch: perl
+           ! Changes
+         !> objXSUB.h op.c pod/perlfunc.pod pp.c regcomp.c t/op/re_tests
+         !> toke.c util.c win32/config.bc win32/config.gc win32/config.vc
+          !> win32/win32.h
+____________________________________________________________________________
+[  1797] By: gsar                                  on 1998/09/23  01:32:36
+        Log: add note to win32/Makefile about setting CCHOME
+     Branch: perl
+           ! win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  1796] By: gsar                                  on 1998/09/23  01:31:32
+        Log: perl.pod tweak
+     Branch: perl
+           ! pod/perl.pod
+____________________________________________________________________________
+[  1795] By: gsar                                  on 1998/09/21  20:34:10
+        Log: make xsubpp generate well-formed code with CAPI && !PERL_OBJECT
+     Branch: perl
+           ! lib/ExtUtils/xsubpp
+____________________________________________________________________________
+[  1789] By: gsar                                  on 1998/09/18  18:01:37
+        Log: delay freeing itervar so C<for $i (@a) { return($i) }> works
+     Branch: perl
+           ! cop.h t/cmd/for.t
+____________________________________________________________________________
+[  1788] By: gsar                                  on 1998/09/17  02:19:11
+        Log: resync win32/config.?c with Porting/config.sh to pick up apiversion
+     Branch: perl
+           ! win32/config.bc win32/config.gc win32/config.vc
+____________________________________________________________________________
+[  1787] By: gsar                                  on 1998/09/17  01:45:14
+        Log: suppress bogus warning on C<sub x {} x()>
+     Branch: perl
+           ! toke.c
+____________________________________________________________________________
+[  1786] By: gsar                                  on 1998/09/17  01:42:51
+        Log: ntohl typo in objXSUB.h
+     Branch: perl
+           ! objXSUB.h
+____________________________________________________________________________
+[  1785] By: gsar                                  on 1998/09/17  01:41:48
+        Log: fill gaps in sig_* entries in win32/config.?c
+     Branch: perl
+           ! win32/config.bc win32/config.gc win32/config.vc
+____________________________________________________________________________
+[  1781] By: larry                                 on 1998/09/05  23:48:24
+        Log: tr/// logic was hosed under utf8
+     Branch: perl
+           ! doop.c op.c op.h pp.c proto.h
+____________________________________________________________________________
+[  1780] By: larry                                 on 1998/09/05  23:44:16
+        Log: several new tests needed tweaking to work under utf8
+     Branch: perl
+           ! t/comp/require.t t/op/pack.t t/op/substr.t
+____________________________________________________________________________
+[  1779] By: larry                                 on 1998/09/05  23:41:42
+        Log: index() applied BM optimization to wrong argument
+     Branch: perl
+           ! op.c util.c
+____________________________________________________________________________
+[  1778] By: larry                                 on 1998/09/05  23:38:29
+        Log: Implicit require during compile reset line numbering
+     Branch: perl
+           ! pp_ctl.c
+
+----------------
+Version 5.005_51
 ----------------
 
 ____________________________________________________________________________
index b510ea2..3c94cd9 100644 (file)
@@ -5,20 +5,20 @@ use vars qw{$Try_autoload $Revision
            $Frontend  $Defaultsite
           };
 
-$VERSION = '1.3901';
+$VERSION = '1.40';
 
-# $Id: CPAN.pm,v 1.226 1998/07/08 22:29:29 k Exp k $
+# $Id: CPAN.pm,v 1.239 1998/07/24 16:37:04 k Exp $
 
 # only used during development:
 $Revision = "";
-# $Revision = "[".substr(q$Revision: 1.226 $, 10)."]";
+# $Revision = "[".substr(q$Revision: 1.239 $, 10)."]";
 
 use Carp ();
 use Config ();
 use Cwd ();
 use DirHandle;
 use Exporter ();
-use ExtUtils::MakeMaker ();
+use ExtUtils::MakeMaker (); # $SelfLoader::DEBUG=1;
 use File::Basename ();
 use File::Copy ();
 use File::Find;
@@ -30,7 +30,7 @@ use Text::Wrap;
 
 END { $End++; &cleanup; }
 
-%CPAN::DEBUG = qw(
+%CPAN::DEBUG = qw[
                  CPAN              1
                  Index             2
                  InfoObj           4
@@ -45,7 +45,7 @@ END { $End++; &cleanup; }
                  Eval           2048
                  Config         4096
                  Tarzip         8192
-                );
+];
 
 $CPAN::DEBUG ||= 0;
 $CPAN::Signal ||= 0;
@@ -56,13 +56,7 @@ package CPAN;
 use vars qw($VERSION @EXPORT $AUTOLOAD $DEBUG $META $term);
 use strict qw(vars);
 
-@CPAN::ISA = qw(CPAN::Debug Exporter MM); # MM will go away
-                                          # soonish. Already version
-                                          # 1.29 doesn't rely on
-                                          # catfile and catdir being
-                                          # available via
-                                          # inheritance. Anything else
-                                          # in danger?
+@CPAN::ISA = qw(CPAN::Debug Exporter);
 
 @EXPORT = qw(
             autobundle bundle expand force get
@@ -131,7 +125,7 @@ ReadLine support $rl_avail
        $_ = "$continuation$_" if $continuation;
        s/^\s+//;
        next if /^$/;
-       $_ = 'h' if $_ eq '?';
+       $_ = 'h' if /^\s*\?/;
        if (/^(?:q(?:uit)?|bye|exit)$/i) {
            last;
        } elsif (s/\\$//s) {
@@ -286,7 +280,9 @@ sub try_dot_al {
            }
        }
     } else {
+
        $ok = 1;
+
     }
     $@ = $save;
 #    my $lm = Carp::longmess();
@@ -328,8 +324,7 @@ sub new {
 
 package CPAN;
 
-$META ||= CPAN->new;                 # In case we reeval ourselves we
-                                    # need a ||
+$META ||= CPAN->new; # In case we re-eval ourselves we need the ||
 
 # Do this after you have set up the whole inheritance
 CPAN::Config->load unless defined $CPAN::No_Config_is_ok;
@@ -434,8 +429,8 @@ or
     $self->{LOCK} = $lockfile;
     $fh->close;
     $SIG{'TERM'} = sub {
-       &cleanup;
-       $CPAN::Frontend->mydie("Got SIGTERM, leaving");
+      &cleanup;
+      $CPAN::Frontend->mydie("Got SIGTERM, leaving");
     };
     $SIG{'INT'} = sub {
       # no blocks!!!
@@ -537,16 +532,30 @@ sub new {
 
 #-> sub CPAN::cleanup ;
 sub cleanup {
-    local $SIG{__DIE__} = '';
-    my $i = 0; my $ineval = 0; my $sub;
-    while ((undef,undef,undef,$sub) = caller(++$i)) {
-      $ineval = 1, last if $sub eq '(eval)';
+  # warn "cleanup called with arg[@_] End[$End] Signal[$Signal]";
+  local $SIG{__DIE__} = '';
+  my($message) = @_;
+  my $i = 0;
+  my $ineval = 0;
+  if (
+      0 &&           # disabled, try reload cpan with it
+      $] > 5.004_60  # thereabouts
+     ) {
+    $ineval = $^S;
+  } else {
+    my($subroutine);
+    while ((undef,undef,undef,$subroutine) = caller(++$i)) {
+      $ineval = 1, last if
+         $subroutine eq '(eval)';
     }
-    return if $ineval && !$End;
-    return unless defined $META->{'LOCK'};
-    return unless -f $META->{'LOCK'};
-    unlink $META->{'LOCK'};
-    $CPAN::Frontend->mywarn("Lockfile removed.\n");
+  }
+  return if $ineval && !$End;
+  return unless defined $META->{'LOCK'};
+  return unless -f $META->{'LOCK'};
+  unlink $META->{'LOCK'};
+  # require Carp;
+  # Carp::cluck("DEBUGGING");
+  $CPAN::Frontend->mywarn("Lockfile removed.\n");
 }
 
 package CPAN::CacheMgr;
@@ -755,7 +764,7 @@ sub commit {
     unless (defined $configpm){
        $configpm ||= $INC{"CPAN/MyConfig.pm"};
        $configpm ||= $INC{"CPAN/Config.pm"};
-       $configpm || Carp::confess(qq{
+       $configpm || Carp::confess(q{
 CPAN::Config::commit called without an argument.
 Please specify a filename where to save the configuration or try
 "o conf init" to have an interactive course through configing.
@@ -918,10 +927,9 @@ sub unload {
     delete $INC{'CPAN/Config.pm'};
 }
 
-*h = \&help;
 #-> sub CPAN::Config::help ;
 sub help {
-    $CPAN::Frontend->myprint(qq{
+    $CPAN::Frontend->myprint(q[
 Known options:
   defaults  reload default config values from disk
   commit    commit session changes to disk
@@ -937,7 +945,7 @@ You may edit key values in the follow fashion:
 
   o conf urllist unshift ftp://ftp.foo.bar/
 
-});
+]);
     undef; #don't reprint CPAN::Config
 }
 
@@ -1148,15 +1156,16 @@ sub reload {
        CPAN->debug("reloading the whole CPAN.pm") if $CPAN::DEBUG;
        my $fh = FileHandle->new($INC{'CPAN.pm'});
        local($/);
-       undef $/;
        $redef = 0;
        local($SIG{__WARN__})
            = sub {
-               if ( $_[0] =~ /Subroutine \w+ redefined/ ) {
-                   ++$redef;
-                   local($|) = 1;
-                   $CPAN::Frontend->myprint(".");
-                   return;
+               if ( $_[0] =~ /Subroutine (\w+) redefined/ ) {
+                 my($subr) = $1;
+                 ++$redef;
+                 local($|) = 1;
+                 # $CPAN::Frontend->myprint(".($subr)");
+                 $CPAN::Frontend->myprint(".");
+                 return;
                }
                warn @_;
            };
@@ -1164,9 +1173,9 @@ sub reload {
        warn $@ if $@;
        $CPAN::Frontend->myprint("\n$redef subroutines redefined\n");
     } elsif ($command =~ /index/) {
-       CPAN::Index->force_reload;
+      CPAN::Index->force_reload;
     } else {
-       $CPAN::Frontend->myprint(qq{cpan     re-evals the CPAN.pm file
+      $CPAN::Frontend->myprint(qq{cpan     re-evals the CPAN.pm file
 index    re-reads the index files
 });
     }
@@ -1572,31 +1581,31 @@ package CPAN::FTP;
 
 #-> sub CPAN::FTP::ftp_get ;
 sub ftp_get {
-    my($class,$host,$dir,$file,$target) = @_;
-    $class->debug(
-                      qq[Going to fetch file [$file] from dir [$dir]
+  my($class,$host,$dir,$file,$target) = @_;
+  $class->debug(
+               qq[Going to fetch file [$file] from dir [$dir]
        on host [$host] as local [$target]\n]
                      ) if $CPAN::DEBUG;
-    my $ftp = Net::FTP->new($host);
-    return 0 unless defined $ftp;
-    $ftp->debug(1) if $CPAN::DEBUG{'FTP'} & $CPAN::DEBUG;
-    $class->debug(qq[Going to ->login("anonymous","$Config::Config{'cf_email'}")\n]);
-    unless ( $ftp->login("anonymous",$Config::Config{'cf_email'}) ){
-       warn "Couldn't login on $host";
-       return;
-    }
-    unless ( $ftp->cwd($dir) ){
-       warn "Couldn't cwd $dir";
-       return;
-    }
-    $ftp->binary;
-    $class->debug(qq[Going to ->get("$file","$target")\n]) if $CPAN::DEBUG;
-    unless ( $ftp->get($file,$target) ){
-       warn "Couldn't fetch $file from $host\n";
-       return;
-    }
-    $ftp->quit; # it's ok if this fails
-    return 1;
+  my $ftp = Net::FTP->new($host);
+  return 0 unless defined $ftp;
+  $ftp->debug(1) if $CPAN::DEBUG{'FTP'} & $CPAN::DEBUG;
+  $class->debug(qq[Going to ->login("anonymous","$Config::Config{'cf_email'}")\n]);
+  unless ( $ftp->login("anonymous",$Config::Config{'cf_email'}) ){
+    warn "Couldn't login on $host";
+    return;
+  }
+  unless ( $ftp->cwd($dir) ){
+    warn "Couldn't cwd $dir";
+    return;
+  }
+  $ftp->binary;
+  $class->debug(qq[Going to ->get("$file","$target")\n]) if $CPAN::DEBUG;
+  unless ( $ftp->get($file,$target) ){
+    warn "Couldn't fetch $file from $host\n";
+    return;
+  }
+  $ftp->quit; # it's ok if this fails
+  return 1;
 }
 
 # If more accuracy is wanted/needed, Chris Leach sent me this patch...
@@ -1713,11 +1722,6 @@ sub localize {
                    <=>
                ($a == $Thesite)
            } 0..$last;
-
-#          ((grep { substr($CPAN::Config->{urllist}[$_],0,4)
-#                       eq "file" } 0..$last),
-#           (grep { substr($CPAN::Config->{urllist}[$_],0,4)
-#                       ne "file" } 0..$last));
     }
     my($level,@levels);
     if ($Themethod) {
@@ -1732,9 +1736,11 @@ sub localize {
        @host_seq = (0) unless @host_seq;
        my $ret = $self->$method(\@host_seq,$file,$aslocal);
        if ($ret) {
-           $Themethod = $level;
-           $self->debug("level[$level]") if $CPAN::DEBUG;
-           return $ret;
+         $Themethod = $level;
+         $self->debug("level[$level]") if $CPAN::DEBUG;
+         return $ret;
+       } else {
+         unlink $aslocal;
        }
     }
     my(@mess);
@@ -1797,7 +1803,7 @@ sub hosteasy {
                }
            }
        }
-       if ($CPAN::META->has_inst('LWP')) {
+      if ($CPAN::META->has_inst('LWP')) {
          $CPAN::Frontend->myprint("Fetching with LWP:
   $url
 ");
@@ -1847,7 +1853,7 @@ sub hosteasy {
                    $CPAN::Frontend->myprint("Fetching with Net::FTP
   $url.gz
 ");
-                   if (CPAN::FTP->ftp_get($host,
+                  if (CPAN::FTP->ftp_get($host,
                                           $dir,
                                           "$getfile.gz",
                                           $gz) &&
@@ -1864,15 +1870,17 @@ sub hosteasy {
 }
 
 sub hosthard {
-    my($self,$host_seq,$file,$aslocal) = @_;
+  my($self,$host_seq,$file,$aslocal) = @_;
 
-    # Came back if Net::FTP couldn't establish connection (or
-    # failed otherwise) Maybe they are behind a firewall, but they
-    # gave us a socksified (or other) ftp program...
+  # Came back if Net::FTP couldn't establish connection (or
+  # failed otherwise) Maybe they are behind a firewall, but they
+  # gave us a socksified (or other) ftp program...
 
-    my($i);
-    my($aslocal_dir) = File::Basename::dirname($aslocal);
-    File::Path::mkpath($aslocal_dir);
+  my($i);
+  my($devnull) = $CPAN::Config->{devnull} || ""; 
+  # < /dev/null ";
+  my($aslocal_dir) = File::Basename::dirname($aslocal);
+  File::Path::mkpath($aslocal_dir);
   HOSTHARD: for $i (@$host_seq) {
        my $url = $CPAN::Config->{urllist}[$i] || $CPAN::Defaultsite;
        unless ($self->is_reachable($url)) {
@@ -1894,7 +1902,7 @@ sub hosthard {
        }
        $self->debug("localizing funkyftpwise[$url]") if $CPAN::DEBUG;
        my($f,$funkyftp);
-       for $f ('lynx','ncftp') {
+       for $f ('lynx','ncftpget','ncftp') {
            next unless exists $CPAN::Config->{$f};
            $funkyftp = $CPAN::Config->{$f};
            next unless defined $funkyftp;
@@ -1903,14 +1911,14 @@ sub hosthard {
            my $aslocal_uncompressed;
            ($aslocal_uncompressed = $aslocal) =~ s/\.gz//;
            my($source_switch) = "";
-           $source_switch = "-source" if $funkyftp =~ /\blynx$/;
-           $source_switch = "-c" if $funkyftp =~ /\bncftp$/;
+           $source_switch = " -source" if $funkyftp =~ /\blynx$/;
+           $source_switch = " -c" if $funkyftp =~ /\bncftp$/;
            $CPAN::Frontend->myprint(
-                 qq{
-Trying with "$funkyftp $source_switch" to get
+                 qq[
+Trying with "$funkyftp$source_switch" to get
     $url
-});
-           my($system) = "$funkyftp $source_switch '$url' > ".
+]);
+           my($system) = "$funkyftp$source_switch '$url' $devnull > ".
                "$aslocal_uncompressed";
            $self->debug("system[$system]") if $CPAN::DEBUG;
            my($wstatus);
@@ -1933,32 +1941,36 @@ Trying with "$funkyftp $source_switch" to get
                  return $aslocal;
                }
            } elsif ($url !~ /\.gz$/) {
-               my $gz = "$aslocal.gz";
-               my $gzurl = "$url.gz";
-               $CPAN::Frontend->myprint(
-                     qq{
-Trying with "$funkyftp $source_switch" to get
+             unlink $aslocal_uncompressed if
+                 -f $aslocal_uncompressed && -s _ == 0;
+             my $gz = "$aslocal.gz";
+             my $gzurl = "$url.gz";
+             $CPAN::Frontend->myprint(
+                     qq[
+Trying with "$funkyftp$source_switch" to get
   $url.gz
-});
-               my($system) = "$funkyftp $source_switch '$url.gz' > ".
-                   "$aslocal_uncompressed.gz";
-               $self->debug("system[$system]") if $CPAN::DEBUG;
-               my($wstatus);
-               if (($wstatus = system($system)) == 0
-                   &&
-                   -s "$aslocal_uncompressed.gz"
-                  ) {
-                   # test gzip integrity
-                   if (CPAN::Tarzip->gtest("$aslocal_uncompressed.gz")) {
-                     CPAN::Tarzip->gunzip("$aslocal_uncompressed.gz",
-                                        $aslocal);
-                   } else {
-                       rename $aslocal_uncompressed, $aslocal;
-                   }
-#line 1739
-                   $Thesite = $i;
-                   return $aslocal;
+]);
+             my($system) = "$funkyftp$source_switch '$url.gz' $devnull > ".
+                 "$aslocal_uncompressed.gz";
+             $self->debug("system[$system]") if $CPAN::DEBUG;
+             my($wstatus);
+             if (($wstatus = system($system)) == 0
+                 &&
+                 -s "$aslocal_uncompressed.gz"
+                ) {
+               # test gzip integrity
+               if (CPAN::Tarzip->gtest("$aslocal_uncompressed.gz")) {
+                 CPAN::Tarzip->gunzip("$aslocal_uncompressed.gz",
+                                      $aslocal);
+               } else {
+                 rename $aslocal_uncompressed, $aslocal;
                }
+               $Thesite = $i;
+               return $aslocal;
+             } else {
+               unlink "$aslocal_uncompressed.gz" if
+                   -f "$aslocal_uncompressed.gz";
+             }
            } else {
                my $estatus = $wstatus >> 8;
                my $size = -f $aslocal ? ", left\n$aslocal with size ".-s _ : "";
@@ -2452,9 +2464,11 @@ sub rd_modpacks {
 
        if ($bundle){
            $id =  $CPAN::META->instance('CPAN::Bundle',$mod);
+           # warn "made mod[$mod]a bundle";
            # Let's make it a module too, because bundles have so much
            # in common with modules
            $CPAN::META->instance('CPAN::Module',$mod);
+           # warn "made mod[$mod]a module";
 
 # This "next" makes us faster but if the job is running long, we ignore
 # rereads which is bad. So we have to be a bit slower again.
@@ -3122,32 +3136,10 @@ or
                return;
            }
        } else {
-         if (0) {
-           warn "Trying to intercept the output of 'perl Makefile.PL'";
-           require IO::File;
-           # my $fh = FileHandle->new("$system 2>&1 |") or
-           my $fh = IO::File->new("$system 2>&1 |") or
-               die "Couldn't run '$system': $!";
-           local($|) = 1;
-           while (length($_ = getc($fh))) {
-             print $_; # we want to parse that some day!
-             # unfortunately we have Makefile.PLs that want to talk
-             # and we can't emulate that reliably. I think, we have
-             # to parse Makefile.PL directly
-           }
-           $ret = $fh->close;
-           unless ($ret) {
-             warn $! ? "Error during 'perl Makefile.PL' subprocess: $!" :
-                 "Exit status of 'perl Makefile.PL': $?";
-             $self->{writemakefile} = "NO";
-             return;
-           }
-         } else {
-           $ret = system($system);
-           if ($ret != 0) {
-             $self->{writemakefile} = "NO";
-             return;
-           }
+         $ret = system($system);
+         if ($ret != 0) {
+           $self->{writemakefile} = "NO";
+           return;
          }
        }
        $self->{writemakefile} = "YES";
@@ -3289,58 +3281,68 @@ sub as_string {
 
 #-> sub CPAN::Bundle::contains ;
 sub contains {
-    my($self) = @_;
-    my($parsefile) = $self->inst_file;
-    my($id) = $self->id;
-    $self->debug("parsefile[$parsefile]id[$id]") if $CPAN::DEBUG;
-    unless ($parsefile) {
-       # Try to get at it in the cpan directory
-       $self->debug("no parsefile") if $CPAN::DEBUG;
-       Carp::confess "I don't know a $id" unless $self->{CPAN_FILE};
-       my $dist = $CPAN::META->instance('CPAN::Distribution',
-                                        $self->{CPAN_FILE});
-       $dist->get;
-       $self->debug($dist->as_string) if $CPAN::DEBUG;
-       my($todir) = $CPAN::Config->{'cpan_home'};
-       my(@me,$from,$to,$me);
-       @me = split /::/, $self->id;
-       $me[-1] .= ".pm";
-       $me = MM->catfile(@me);
-       $from = $self->find_bundle_file($dist->{'build_dir'},$me);
-       $to = MM->catfile($todir,$me);
-       File::Path::mkpath(File::Basename::dirname($to));
-       File::Copy::copy($from, $to)
-           or Carp::confess("Couldn't copy $from to $to: $!");
-       $parsefile = $to;
-    }
-    my @result;
-    my $fh = FileHandle->new;
-    local $/ = "\n";
-    open($fh,$parsefile) or die "Could not open '$parsefile': $!";
-    my $inpod = 0;
-    $self->debug("parsefile[$parsefile]") if $CPAN::DEBUG;
-    while (<$fh>) {
-       $inpod = /^=(?!head1\s+CONTENTS)/ ? 0 :
-           /^=head1\s+CONTENTS/ ? 1 : $inpod;
-       next unless $inpod;
-       next if /^=/;
-       next if /^\s+$/;
-       chomp;
-       push @result, (split " ", $_, 2)[0];
-    }
-    close $fh;
-    delete $self->{STATUS};
-    $self->{CONTAINS} = join ", ", @result;
-    $self->debug("CONTAINS[@result]") if $CPAN::DEBUG;
-    @result;
+  my($self) = @_;
+  my($parsefile) = $self->inst_file;
+  my($id) = $self->id;
+  $self->debug("parsefile[$parsefile]id[$id]") if $CPAN::DEBUG;
+  unless ($parsefile) {
+    # Try to get at it in the cpan directory
+    $self->debug("no parsefile") if $CPAN::DEBUG;
+    Carp::confess "I don't know a $id" unless $self->{CPAN_FILE};
+    my $dist = $CPAN::META->instance('CPAN::Distribution',
+                                    $self->{CPAN_FILE});
+    $dist->get;
+    $self->debug($dist->as_string) if $CPAN::DEBUG;
+    my($todir) = $CPAN::Config->{'cpan_home'};
+    my(@me,$from,$to,$me);
+    @me = split /::/, $self->id;
+    $me[-1] .= ".pm";
+    $me = MM->catfile(@me);
+    $from = $self->find_bundle_file($dist->{'build_dir'},$me);
+    $to = MM->catfile($todir,$me);
+    File::Path::mkpath(File::Basename::dirname($to));
+    File::Copy::copy($from, $to)
+       or Carp::confess("Couldn't copy $from to $to: $!");
+    $parsefile = $to;
+  }
+  my @result;
+  my $fh = FileHandle->new;
+  local $/ = "\n";
+  open($fh,$parsefile) or die "Could not open '$parsefile': $!";
+  my $inpod = 0;
+  $self->debug("parsefile[$parsefile]") if $CPAN::DEBUG;
+  while (<$fh>) {
+    $inpod = m/^=(?!head1\s+CONTENTS)/ ? 0 :
+       m/^=head1\s+CONTENTS/ ? 1 : $inpod;
+    next unless $inpod;
+    next if /^=/;
+    next if /^\s+$/;
+    chomp;
+    push @result, (split " ", $_, 2)[0];
+  }
+  close $fh;
+  delete $self->{STATUS};
+  $self->{CONTAINS} = join ", ", @result;
+  $self->debug("CONTAINS[@result]") if $CPAN::DEBUG;
+  unless (@result) {
+    $CPAN::Frontend->mywarn(qq{
+The bundle file "$parsefile" may be a broken
+bundlefile. It seems not to contain any bundle definition.
+Please check the file and if it is bogus, please delete it.
+Sorry for the inconvenience.
+});
+  }
+  @result;
 }
 
 #-> sub CPAN::Bundle::find_bundle_file
 sub find_bundle_file {
     my($self,$where,$what) = @_;
     $self->debug("where[$where]what[$what]") if $CPAN::DEBUG;
-    my $bu = MM->catfile($where,$what);
-    return $bu if -f $bu;
+### The following two lines let CPAN.pm become Bundle/CPAN.pm :-(
+###    my $bu = MM->catfile($where,$what);
+###    return $bu if -f $bu;
+    my $bu;
     my $manifest = MM->catfile($where,"MANIFEST");
     unless (-f $manifest) {
        require ExtUtils::Manifest;
@@ -3496,9 +3498,9 @@ sub as_string {
        pre-alpha alpha beta released mature standard,;
     @stats{qw,? m d u n,}       = qw,unknown mailing-list
        developer comp.lang.perl.* none,;
-    @statl{qw,? p c + o,}       = qw,unknown perl C C++ other,;
-    @stati{qw,? f r O,}         = qw,unknown functions
-       references+ties object-oriented,;
+    @statl{qw,? p c + o h,}       = qw,unknown perl C C++ other hybrid,;
+    @stati{qw,? f r O h,}         = qw,unknown functions
+       references+ties object-oriented hybrid,;
     $statd{' '} = 'unknown';
     $stats{' '} = 'unknown';
     $statl{' '} = 'unknown';
@@ -3544,8 +3546,8 @@ sub manpage_headline {
     my $inpod = 0;
     local $/ = "\n";
     while (<$fh>) {
-      $inpod = /^=(?!head1\s+NAME)/ ? 0 :
-         /^=head1\s+NAME/ ? 1 : $inpod;
+      $inpod = m/^=(?!head1\s+NAME)/ ? 0 :
+         m/^=head1\s+NAME/ ? 1 : $inpod;
       next unless $inpod;
       next if /^=/;
       next if /^\s+$/;
@@ -3707,6 +3709,7 @@ sub inst_version {
     my($self) = @_;
     my $parsefile = $self->inst_file or return;
     local($^W) = 0 if $] < 5.00303 && $ExtUtils::MakeMaker::VERSION < 5.38;
+    # warn "HERE";
     my $have = MM->parse_version($parsefile) || "undef";
     $have =~ s/\s+//g;
     $have;
@@ -3893,7 +3896,15 @@ session. The cache manager keeps track of the disk space occupied by
 the make processes and deletes excess space according to a simple FIFO
 mechanism.
 
-All methods provided are accessible in a programmer style and in an
+For extended searching capabilities there's a plugin for CPAN available,
+L<CPAN::WAIT>. C<CPAN::WAIT> is a full-text search engine that indexes
+all documents available in CPAN authors directories. If C<CPAN::WAIT>
+is installed on your system, the interactive shell of <CPAN.pm> will
+enable the C<wq>, C<wr>, C<wd>, C<wl>, and C<wh> commands which send
+queries to the WAIT server that has been configured for your
+installation.
+
+All other methods provided are accessible in a programmer style and in an
 interactive shell style.
 
 =head2 Interactive Mode
@@ -4212,7 +4223,7 @@ the $VERSION variable. Currently all programs that are dealing with
 version use something like this
 
     perl -MExtUtils::MakeMaker -le \
-        'print MM->parse_version($ARGV[0])' filename
+        'print MM->parse_version(shift)' filename
 
 If you are author of a package and wonder if your $VERSION can be
 parsed, please try the above method.
@@ -4311,7 +4322,7 @@ works like the corresponding perl commands.
 
 =back
 
-=head2 CD-ROM support
+=head2 urllist parameter has CD-ROM support
 
 The C<urllist> parameter of the configuration table contains a list of
 URLs that are to be used for downloading. If the list contains any
@@ -4326,6 +4337,14 @@ CPAN.pm will then fetch the index files from one of the CPAN sites
 that come at the beginning of urllist. It will later check for each
 module if there is a local copy of the most recent version.
 
+Another peculiarity of urllist is that the site that we could
+successfully fetch the last file from automatically gets a preference
+token and is tried as the first site for the next request. So if you
+add a new site at runtime it may happen that the previously preferred
+site will be tried another time. This means that if you want to disallow
+a site for the next transfer, it must be explicitly removed from
+urllist.
+
 =head1 SECURITY
 
 There's no strong security layer in CPAN.pm. CPAN.pm helps you to
@@ -4358,7 +4377,7 @@ traditional method of building a Perl module package from a shell.
 
 =head1 AUTHOR
 
-Andreas König E<lt>a.koenig@mind.deE<gt>
+Andreas König E<lt>a.koenig@kulturbox.deE<gt>
 
 =head1 SEE ALSO
 
index aa7a55d..ff1f723 100644 (file)
@@ -16,7 +16,7 @@ use FileHandle ();
 use File::Basename ();
 use File::Path ();
 use vars qw($VERSION);
-$VERSION = substr q$Revision: 1.29 $, 10;
+$VERSION = substr q$Revision: 1.30 $, 10;
 
 =head1 NAME
 
@@ -50,7 +50,7 @@ sub init {
     # Files, directories
     #
 
-    print qq{
+    print qq[
 
 CPAN is the world-wide archive of perl resources. It consists of about
 100 sites that all replicate the same contents all around the globe.
@@ -62,7 +62,7 @@ If you do not want to enter a dialog now, you can answer 'no' to this
 question and I\'ll try to autoconfigure. (Note: you can revisit this
 dialog anytime later by typing 'o conf init' at the cpan prompt.)
 
-};
+];
 
     my $manual_conf =
        ExtUtils::MakeMaker::prompt("Are you ready for manual configuration?",
@@ -166,30 +166,32 @@ those.
 
     my(@path) = split /$Config{'path_sep'}/, $ENV{'PATH'};
     my $progname;
-    for $progname (qw/gzip tar unzip make lynx ncftp ftp/){
+    for $progname (qw/gzip tar unzip make lynx ncftpget ncftp ftp/){
       my $progcall = $progname;
-       my $path = $CPAN::Config->{$progname} 
-               || $Config::Config{$progname}
-               || "";
-       if (MM->file_name_is_absolute($path)) {
-         # testing existence is not good enough, some have these exe
-         # extensions
-
-         # warn "Warning: configured $path does not exist\n" unless -e $path;
-         # $path = "";
-       } else {
-           $path = '';
-       }
-       unless ($path) {
-         # e.g. make -> nmake
-         $progcall = $Config::Config{$progname} if $Config::Config{$progname};
-       }
+      # we don't need ncftp if we have ncftpget
+      next if $progname eq "ncftp" && $CPAN::Config->{ncftpget} gt " ";
+      my $path = $CPAN::Config->{$progname} 
+         || $Config::Config{$progname}
+             || "";
+      if (MM->file_name_is_absolute($path)) {
+       # testing existence is not good enough, some have these exe
+       # extensions
+
+       # warn "Warning: configured $path does not exist\n" unless -e $path;
+       # $path = "";
+      } else {
+       $path = '';
+      }
+      unless ($path) {
+       # e.g. make -> nmake
+       $progcall = $Config::Config{$progname} if $Config::Config{$progname};
+      }
 
-       $path ||= find_exe($progcall,[@path]);
-       warn "Warning: $progcall not found in PATH\n" unless
-           $path; # not -e $path, because find_exe already checked that
-       $ans = prompt("Where is your $progname program?",$path) || $path;
-       $CPAN::Config->{$progname} = $ans;
+      $path ||= find_exe($progcall,[@path]);
+      warn "Warning: $progcall not found in PATH\n" unless
+         $path; # not -e $path, because find_exe already checked that
+      $ans = prompt("Where is your $progname program?",$path) || $path;
+      $CPAN::Config->{$progname} = $ans;
     }
     my $path = $CPAN::Config->{'pager'} || 
        $ENV{PAGER} || find_exe("less",[@path]) ||