This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate mainline - a few Devel::Peak fails.
authorNick Ing-Simmons <nik@tiuk.ti.com>
Sun, 18 Nov 2001 11:00:34 +0000 (11:00 +0000)
committerNick Ing-Simmons <nik@tiuk.ti.com>
Sun, 18 Nov 2001 11:00:34 +0000 (11:00 +0000)
p4raw-id: //depot/perlio@13066

415 files changed:
AUTHORS
Changes
INSTALL
MANIFEST
Makefile.SH
NetWare/Makefile
NetWare/config.wc
NetWare/config_H.wc
NetWare/nwstdio.h
Porting/checkVERSION.pl [new file with mode: 0644]
Porting/pumpkin.pod
README
README.aix
README.amiga
README.bs2000
README.ce
README.dgux
README.dos
README.epoc
README.hpux
README.mint
README.mpeix
README.netware
README.os2
README.os390
README.plan9
README.qnx
README.solaris
README.threads
README.vmesa
README.vms
README.vos
README.win32
XSUB.h
bytecode.pl
configure.com
djgpp/config.over
doio.c
dosish.h
dump.c
embed.h
embed.pl
epoc/config.sh
ext/B/B.pm
ext/B/B/Asmdata.pm
ext/B/B/Bblock.pm
ext/B/B/Bytecode.pm
ext/B/B/C.pm
ext/B/B/CC.pm
ext/B/B/Debug.pm
ext/B/B/Deparse.pm
ext/B/B/Disassembler.pm
ext/B/B/Lint.pm
ext/B/B/Showlex.pm
ext/B/B/Stackobj.pm
ext/B/B/Stash.pm
ext/B/B/Terse.pm
ext/B/B/Xref.pm
ext/B/Makefile.PL
ext/B/O.pm
ext/Cwd/Cwd.xs
ext/Cwd/t/cwd.t
ext/DB_File/t/db-recno.t
ext/Data/Dumper/Dumper.pm
ext/Devel/DProf/DProf.t [moved from lib/Benchmark.t with 100% similarity, mode: 0644]
ext/Devel/Peek/Peek.pm
ext/Devel/Peek/Peek.xs
ext/Digest/MD5/MD5.pm
ext/Digest/MD5/t/files.t
ext/DynaLoader/dl_dyld.xs
ext/DynaLoader/dl_next.xs
ext/Encode/Encode.pm
ext/Encode/Encode/Tcl.pm
ext/Errno/Errno_pm.PL
ext/Filter/Util/Call/Call.pm
ext/Filter/Util/Call/Call.xs
ext/IO/lib/IO/Dir.pm
ext/IO/lib/IO/File.pm
ext/IO/lib/IO/Handle.pm
ext/IO/lib/IO/Pipe.pm
ext/IO/lib/IO/Select.pm
ext/IO/lib/IO/Socket.pm
ext/IO/lib/IO/t/io_const.t
ext/IO/lib/IO/t/io_dir.t
ext/IO/lib/IO/t/io_dup.t
ext/IO/lib/IO/t/io_pipe.t
ext/IO/lib/IO/t/io_sel.t
ext/IO/lib/IO/t/io_sock.t
ext/IO/lib/IO/t/io_unix.t
ext/IO/lib/IO/t/io_xs.t
ext/Opcode/ops.pm
ext/POSIX/t/posix.t
ext/PerlIO/t/encoding.t
ext/Storable/Storable.xs
ext/Thread/Makefile.PL
ext/Thread/Thread.pm [deleted file]
ext/Thread/Thread/Queue.pm
ext/Thread/Thread/Semaphore.pm
ext/Thread/Thread/Signal.pm
ext/Thread/Thread/Specific.pm
ext/Thread/create.tx
ext/Thread/die.tx
ext/Thread/die2.tx
ext/Thread/io.tx
ext/Thread/join.tx
ext/Thread/join2.tx
ext/Thread/list.tx
ext/Thread/lock.tx
ext/Thread/queue.tx
ext/Thread/specific.tx
ext/Thread/sync.tx
ext/Thread/sync2.tx
ext/Thread/unsync.tx
ext/Thread/unsync2.tx
ext/Thread/unsync3.tx
ext/Thread/unsync4.tx
ext/Unicode/Normalize/Changes [new file with mode: 0644]
ext/Unicode/Normalize/Makefile.PL [new file with mode: 0644]
ext/Unicode/Normalize/Normalize.pm [new file with mode: 0644]
ext/Unicode/Normalize/Normalize.pod [new file with mode: 0644]
ext/Unicode/Normalize/Normalize.xs [new file with mode: 0644]
ext/Unicode/Normalize/README [moved from lib/Unicode/Normalize/README with 75% similarity]
ext/Unicode/Normalize/mkheader [new file with mode: 0644]
ext/Unicode/Normalize/t/func.t [new file with mode: 0644]
ext/Unicode/Normalize/t/norm.t [moved from lib/Unicode/Normalize/t/norm.t with 88% similarity]
ext/Unicode/Normalize/t/test.t [moved from lib/Unicode/Normalize/t/test.t with 87% similarity]
ext/XS/Typemap/Typemap.xs
ext/threads/shared/shared.pm
ext/threads/shared/shared.xs
ext/threads/threads.pm
global.sym
gv.c
hints/beos.sh
hints/dgux.sh
hints/linux.sh
hints/uwin.sh
hints/vmesa.sh
hv.c
hv.h
installman
jpl/JNI/JNI.xs
jpl/JNI/Makefile.PL
lib/Attribute/Handlers.pm
lib/Attribute/Handlers/Changes
lib/Attribute/Handlers/README
lib/Attribute/Handlers/demo/Demo.pm
lib/Attribute/Handlers/demo/Descriptions.pm
lib/Attribute/Handlers/demo/MyClass.pm
lib/Attribute/Handlers/demo/demo_cycle.pl
lib/Attribute/Handlers/demo/demo_hashdir.pl
lib/Attribute/Handlers/t/multi.t
lib/AutoSplit.t
lib/Benchmark.pm
lib/CGI.pm
lib/CGI/Apache.pm
lib/CGI/Carp.pm
lib/CGI/Cookie.pm
lib/CGI/Fast.pm
lib/CGI/Pretty.pm
lib/CGI/Switch.pm
lib/CGI/Util.pm
lib/CGI/t/apache.t
lib/CGI/t/carp.t
lib/CGI/t/cookie.t
lib/CGI/t/fast.t
lib/CGI/t/form.t
lib/CGI/t/function.t
lib/CGI/t/html.t
lib/CGI/t/pretty.t
lib/CGI/t/push.t
lib/CGI/t/request.t
lib/CGI/t/switch.t
lib/CGI/t/util.t
lib/CPAN.pm
lib/Digest.pm
lib/ExtUtils/Constant.pm
lib/ExtUtils/Embed.t
lib/ExtUtils/MM_NW5.pm
lib/ExtUtils/MM_Unix.pm
lib/File/Find.pm
lib/File/Find/t/find.t
lib/File/Spec.t
lib/File/Spec/Epoc.pm
lib/File/Spec/OS2.pm
lib/File/Spec/VMS.pm
lib/File/Spec/Win32.pm
lib/File/Temp.pm
lib/File/stat.pm
lib/File/stat.t
lib/Filter/Simple.pm
lib/Filter/Simple/Changes
lib/Filter/Simple/README
lib/Filter/Simple/t/data.t [new file with mode: 0644]
lib/Filter/Simple/t/filter.t
lib/Filter/Simple/t/filter_only.t [new file with mode: 0644]
lib/Getopt/Long.pm
lib/I18N/LangTags.pm
lib/I18N/LangTags/List.pm
lib/I18N/LangTags/README
lib/Lingua/KO/Hangul/Util.pm [deleted file]
lib/Lingua/KO/Hangul/Util/Changes [deleted file]
lib/Lingua/KO/Hangul/Util/README [deleted file]
lib/Lingua/KO/Hangul/Util/t/test.t [deleted file]
lib/Locale/Constants.pm
lib/Locale/Maketext.pod
lib/Locale/Maketext/README
lib/Locale/Maketext/TPJ13.pod
lib/Math/BigFloat.pm
lib/Math/BigInt.pm
lib/Math/BigInt/Calc.pm
lib/Math/BigInt/t/bigfltpm.inc
lib/Math/BigInt/t/bigfltpm.t
lib/Math/BigInt/t/bigintc.t
lib/Math/BigInt/t/calling.t
lib/Math/BigInt/t/mbimbf.t
lib/Math/BigInt/t/sub_mbf.t
lib/Math/BigInt/t/sub_mbi.t
lib/Math/Complex.pm
lib/Memoize/Expire.pm
lib/NEXT/README
lib/Net/Config.eg
lib/Net/Config.pm
lib/Net/FTP.pm
lib/Net/NNTP.pm
lib/Net/POP3.pm
lib/Net/README.libnet
lib/Net/SMTP.pm
lib/Net/libnetFAQ.pod
lib/PerlIO.pm
lib/Pod/Checker.pm
lib/Pod/Html.pm
lib/Pod/InputObjects.pm
lib/Pod/LaTeX.pm
lib/Pod/Man.pm
lib/Pod/ParseLink.pm [new file with mode: 0644]
lib/Pod/Parser.pm
lib/Pod/Select.pm
lib/Pod/Text.pm
lib/Pod/Text/Color.pm
lib/Pod/Text/Overstrike.pm
lib/Pod/Text/Termcap.pm
lib/Switch.pm
lib/Switch/Changes
lib/Switch/README
lib/Switch/t/nested.t
lib/Term/Cap.pm
lib/Term/Cap.t
lib/Test/Tutorial.pod
lib/Text/Balanced.pm
lib/Thread.pm [new file with mode: 0644]
lib/UNIVERSAL.pm
lib/Unicode/Collate.pm
lib/Unicode/Collate/Changes
lib/Unicode/Collate/README
lib/Unicode/Collate/t/test.t
lib/Unicode/Normalize.pm [deleted file]
lib/Unicode/Normalize/Changes [deleted file]
lib/Unicode/UCD.pm
lib/Unicode/UCD.t
lib/bigint.pl
lib/bytes.pm
lib/bytes.t [new file with mode: 0644]
lib/charnames.pm
lib/encoding.pm
lib/ftp.pl
lib/integer.pm
lib/open.pm
lib/open.t
lib/overload.pm
lib/perl5db.pl
lib/unicore/Category.pl
lib/unicore/In/163.pl
lib/unicore/In/164.pl
lib/unicore/In/169.pl
lib/unicore/In/170.pl
lib/unicore/Is/Alnum.pl
lib/unicore/Is/Alpha.pl
lib/unicore/Is/C.pl
lib/unicore/Is/Cn.pl
lib/unicore/Is/Cntrl.pl
lib/unicore/Is/Co.pl
lib/unicore/Is/Cs.pl
lib/unicore/Is/Graph.pl
lib/unicore/Is/L.pl
lib/unicore/Is/Lo.pl
lib/unicore/Is/Print.pl
lib/unicore/Is/Word.pl
lib/unicore/Name.pl
lib/unicore/Unicode.html
lib/unicore/mktables
lib/vmsish.pm [moved from vms/ext/vmsish.pm with 96% similarity]
lib/vmsish.t [moved from vms/ext/vmsish.t with 93% similarity]
makedepend.SH
nostdio.h
numeric.c
op.c
os2/OS2/REXX/DLL/DLL.pm
patchlevel.h
perl.c
perl.h
perlio.c
pod/buildtoc.PL
pod/perl.pod
pod/perl571delta.pod
pod/perl572delta.pod
pod/perlapi.pod
pod/perlapio.pod
pod/perlcompile.pod
pod/perldata.pod
pod/perldebguts.pod
pod/perldebug.pod
pod/perldelta.pod
pod/perldiag.pod
pod/perldsc.pod
pod/perlebcdic.pod
pod/perlembed.pod
pod/perlfaq1.pod
pod/perlfaq2.pod
pod/perlfaq3.pod
pod/perlfaq4.pod
pod/perlfaq5.pod
pod/perlfaq6.pod
pod/perlfaq7.pod
pod/perlfaq8.pod
pod/perlfaq9.pod
pod/perlfilter.pod
pod/perlfunc.pod
pod/perlguts.pod
pod/perlhack.pod
pod/perlintern.pod
pod/perlintro.pod
pod/perliol.pod
pod/perlipc.pod
pod/perlmodinstall.pod
pod/perlmodlib.pod
pod/perlopentut.pod
pod/perlpod.pod
pod/perlpodspec.pod
pod/perlport.pod
pod/perlre.pod
pod/perlref.pod
pod/perlrequick.pod
pod/perlretut.pod
pod/perlrun.pod
pod/perltoc.pod
pod/perltodo.pod
pod/perltooc.pod
pod/perltrap.pod
pod/perlunicode.pod
pod/perluniintro.pod [new file with mode: 0644]
pod/perlvar.pod
pod/perlxs.pod
pod/pod2man.PL
pp_ctl.c
pp_hot.c
pp_sys.c
proto.h
regcomp.c
regcomp.h
regexec.c
regexp.h
run.c
sharedsv.c
sv.c
sv.h
t/io/argv.t
t/io/dup.t
t/io/utf8.t
t/lib/FilterOnlyTest.pm [new file with mode: 0644]
t/lib/FilterTest.pm
t/op/chdir.t
t/op/die_exit.t
t/op/glob.t
t/op/groups.t
t/op/magic.t
t/op/pack.t
t/op/re_tests
t/op/repeat.t
t/op/taint.t
t/op/universal.t
t/pod/lref.xr
t/pod/pod2usage.xr
t/pod/podselect.xr
t/run/noswitch.t [new file with mode: 0644]
t/run/switchF.t [new file with mode: 0644]
t/run/switcha.t [new file with mode: 0644]
t/run/switches.t [new file with mode: 0644]
t/run/switchn.t [new file with mode: 0644]
t/run/switchp.t [new file with mode: 0644]
t/run/switchx.aux [new file with mode: 0644]
t/run/switchx.t [new file with mode: 0644]
t/test.pl
toke.c
unixish.h
utf8.c
util.c
utils/libnetcfg.PL
utils/perldoc.PL
vms/descrip_mms.template
vms/ext/Filespec.pm
vms/ext/Stdio/Stdio.xs
vms/ext/filespec.t
vms/gen_shrfls.pl
vms/munchconfig.c
vms/sockadapt.c
vms/test.com
vms/vms.c
vms/vmsish.h
vms/vmspipe.com
win32/FindExt.pm
win32/Makefile
win32/makefile.mk
win32/win32.c
wince/FindExt.pm
x2p/Makefile.SH

diff --git a/AUTHORS b/AUTHORS
index d582aac..0aa623a 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -27,6 +27,7 @@ Albert Chin-A-Young            <china@thewrittenword.com>
 Albert Dvornik                 <bert@genscan.com>
 Alex Cough                     <alex@rcon.rog>
 Alexander Gough                <alexander.gough@st-hughs.oxford.ac.uk>
+Alexander Klimov               <ask@wisdom.weizmann.ac.il>
 Alexander Smishlajev           <als@turnhere.com>
 Alexey V. Barantzev            <barancev@kazbek.ispras.ru>
 Allen Smith                    <easmith@beatrice.rutgers.edu>
@@ -350,6 +351,7 @@ Karl Heuer                     <kwzh@gnu.org>
 Karl Simon Berg                <karl@it.kth.se>
 Karsten Sperling               <spiff@phreax.net>
 Kaveh Ghazi                    <ghazi@caip.rutgers.edu>
+Kay Röpke                      <kroepke@dolphin-services.de>
 Keith Neufeld                  <neufeld@fast.pvi.org>
 Keith Thompson                 <kst@cts.com>
 Ken Estes                      <estes@ms.com>
@@ -363,6 +365,7 @@ Kevin O'Gorman                 <kevin.kosman@nrc.com>
 Kevin Ruscoe                   <Kevin.Ruscoe@ubsw.com>
 Kevin White                    <klwhite@magnus.acs.ohio-state.edu>
 Kim Frutiger
+Kirrily Robert                 <skud@infotrope.net>
 Kragen Sitaker                 <kragen@dnaco.net>
 Krishna Sethuraman             <krishna@sgi.com>
 Kurt D. Starsinic              <kstar@wolfetech.com>
@@ -431,6 +434,7 @@ Matthias Urlichs               <smurf@noris.net>
 Mattia Barbon                  <mbarbon@dsi.unive.it>
 Maurizio Loreti                <maurizio.loreti@pd.infn.it>
 Merijn Broeren                 <merijnb@iloquent.nl>
+Michael Carman                 <mjcarman@home.com>
 Michael Cook                   <mcook@cognex.com>
 Michael De La Rue              <mikedlr@tardis.ed.ac.uk>
 Michael Engel                  <engel@nms1.cc.huji.ac.il>
@@ -448,6 +452,7 @@ Mike Rogers
 Mike Schilli                   <m@perlmeister.com>
 Mike Stok                      <mike@stok.co.uk>
 Mike W Ellwood                 <mwe@rl.ac.uk>
+Mikhail Zabaluev               <mhz@alt-linux.org>
 Milton Hankins                 <webtools@uewrhp03.msd.ray.com>
 Milton L. Hankins              <mlh@swl.msd.ray.com>
 Murray Nesbitt                 <murray@nesbitt.ca>
@@ -461,7 +466,7 @@ Nick Gianniotis
 Nick Ing-Simmons               <nick@ing-simmons.net>
 Nikola Knezevic                <indy@tesla.rcub.bg.ac.yu>
 Norbert Pueschel               <pueschel@imsdd.meb.uni-bonn.de>
-Norton T. Allen                <allen@huarp.harvard.edu>
+Norton T. Allen                <nort@qnx.com>
 Olaf Flebbe                    <o.flebbe@science-computing.de>
 Olaf Titz                      <olaf@bigred.inka.de>
 Ollivier Robert                <roberto@keltia.freenix.fr>
@@ -505,8 +510,10 @@ Rajesh Vaidheeswarran          <rv@gnu.org>
 Ralf S. Engelschall            <rse@engelschall.com>
 Randal L. Schwartz             <merlyn@stonehenge.com>
 Randall Gellens                <randy@qualcomm.com>
+Randolf Werner                 <randolf.werner@sap.com>
 Randy J. Ray                   <rjray@redhat.com>
 Raphael Manfredi               <Raphael.Manfredi@pobox.com>
+Raul Dias                      <raul@dias.com.br>
 Raymund Will                   <ray@caldera.de>
 Reini Urban                    <rurban@sbox.tu-graz.ac.at>
 Rex Dieter                     <rdieter@math.unl.edu>
diff --git a/Changes b/Changes
index 5d7648c..731f657 100644 (file)
--- a/Changes
+++ b/Changes
@@ -31,6 +31,1555 @@ or any other branch.
 Version v5.7.2         Development release working toward v5.8
 --------------
 ____________________________________________________________________________
+[ 13048] By: jhi                                   on 2001/11/16  14:46:17
+        Log: Subject: Re: [PATCH regcomp.[ch], regexp.h, pp_hot.c, t/op/re_tests] lazy $& and \Z fix
+             From: "Jeff 'japhy' Pinyan" <jeffp@crusoe.net> 
+             Date: Wed, 14 Nov 2001 16:35:29 -0500 (EST) 
+             Message-ID: <Pine.GSO.4.21.0111141634020.16649-100000@crusoe.crusoe.net>
+     Branch: perl
+          ! pp_hot.c regcomp.c regcomp.h regexp.h t/op/re_tests
+____________________________________________________________________________
+[ 13047] By: jhi                                   on 2001/11/16  14:37:32
+        Log: Rename perlunintro to perluniintro; regen toc.
+     Branch: perl
+          + pod/perluniintro.pod
+          - pod/perlunintro.pod
+          ! MANIFEST pod/buildtoc.PL pod/perl.pod pod/perltoc.pod
+____________________________________________________________________________
+[ 13046] By: jhi                                   on 2001/11/16  14:14:38
+        Log: Document the negated lookeahead trick to emulate
+             character class subtraction.
+     Branch: perl
+          ! pod/perlunicode.pod
+____________________________________________________________________________
+[ 13045] By: jhi                                   on 2001/11/16  14:08:43
+        Log: Subject: [PATCH perl@13023] Unicode General Category: Cn
+             From: SADAHIRO Tomoyuki <bqw10602@nifty.com>
+             Date: Fri, 16 Nov 2001 23:31:04 +0900
+             Message-Id: <20011116232709.23CF.BQW10602@nifty.com>
+             
+             (with the tweak that Cntrl is not C, it's Cc)
+     Branch: perl
+          ! lib/unicore/In/163.pl lib/unicore/Is/C.pl lib/unicore/Is/Cn.pl
+          ! lib/unicore/mktables
+____________________________________________________________________________
+[ 13044] By: jhi                                   on 2001/11/16  13:42:44
+        Log: Subject: [PATCH current] runtime runops switch
+             From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Fri, 16 Nov 2001 00:48:09 -0500
+             Message-ID: <20011116004809.A934@math.ohio-state.edu>
+     Branch: perl
+          ! dump.c embed.h embed.pl ext/Devel/Peek/Peek.pm
+          ! ext/Devel/Peek/Peek.xs perl.h pod/perlapi.pod
+          ! pod/perlintern.pod proto.h run.c
+____________________________________________________________________________
+[ 13043] By: jhi                                   on 2001/11/16  13:24:28
+        Log: Further discourage old Thread code; tell how to tell
+             the difference.
+     Branch: perl
+          ! lib/Thread.pm
+____________________________________________________________________________
+[ 13042] By: jhi                                   on 2001/11/16  13:16:13
+        Log: A missing return; from Charles Lane.
+     Branch: perl
+          ! vms/vms.c
+____________________________________________________________________________
+[ 13041] By: ams                                   on 2001/11/16  12:11:14
+        Log: Subject: [PATCH] Doc spellcheck + podcheck
+             From: Autrijus Tang <autrijus@egb.elixus.org>
+             Date: Thu, 15 Nov 2001 22:49:05 -0800
+             Message-Id: <20011116064905.GA44092@egb.elixus.org>
+             
+             Subject: [PATCH] podcheck+spellcheck, the rest of the story
+             From: Autrijus Tang <autrijus@egb.elixus.org>
+             Date: Fri, 16 Nov 2001 00:42:20 -0800
+             Message-Id: <20011116084220.GA44295@egb.elixus.org>
+             
+             Subject: Re: [PATCH] podcheck+spellcheck, the rest of the story
+             From: Nicholas Clark <nick@ccl4.org>
+             Date: Fri, 16 Nov 2001 10:32:01 +0000
+             Message-Id: <20011116103200.F62891@plum.flirble.org>
+             (Applied after suitable de-mangling.)
+     Branch: perl
+          ! README.aix README.dgux README.dos README.epoc README.hpux
+          ! README.mint README.mpeix README.netware README.os2
+          ! README.os390 README.plan9 README.qnx README.solaris
+          ! README.threads doio.c pod/perl571delta.pod
+          ! pod/perl572delta.pod pod/perlapi.pod pod/perlapio.pod
+          ! pod/perldata.pod pod/perlebcdic.pod pod/perlfaq4.pod
+          ! pod/perlfunc.pod pod/perlguts.pod pod/perlhack.pod
+          ! pod/perliol.pod pod/perlpod.pod pod/perlpodspec.pod
+          ! pod/perlrequick.pod pod/perlretut.pod pod/perltodo.pod
+          ! pod/perlunicode.pod pod/perlvar.pod pp_ctl.c sharedsv.c
+____________________________________________________________________________
+[ 13040] By: jhi                                   on 2001/11/16  04:48:16
+        Log: Avoid redefinedness warning for now.
+     Branch: perl
+          ! lib/Thread.pm
+____________________________________________________________________________
+[ 13039] By: jhi                                   on 2001/11/16  04:44:30
+        Log: use strict.
+     Branch: perl
+          ! lib/Thread.pm
+____________________________________________________________________________
+[ 13038] By: jhi                                   on 2001/11/16  04:40:19
+        Log: Subject: [PATCH Perl@13023] subprocess command line size increase
+             From: lane@DUPHY4.Physics.Drexel.Edu (Charles Lane) 
+             Date: Thu, 15 Nov 2001 22:54:47 EST 
+             Message-Id: <011115225352.2db1e@DUPHY4.Physics.Drexel.Edu>         
+     Branch: perl
+          ! vms/vms.c vms/vmspipe.com
+____________________________________________________________________________
+[ 13037] By: jhi                                   on 2001/11/16  04:38:47
+        Log: Subject: [PATCH lib/File/stat.t] Fix AIX Failure (was Re: Smoke 12998 /pro/3gl/CPAN/perl-current)
+             From: "chromatic" <chromatic@rmci.net>
+             Date: Thu, 15 Nov 2001 19:54:23 -0700
+             Message-ID: <20011116030139.6821.qmail@onion.perl.org>
+     Branch: perl
+          ! lib/File/stat.t
+____________________________________________________________________________
+[ 13036] By: jhi                                   on 2001/11/16  04:37:52
+        Log: Make Thread a wrapper for both ithreads and 5005threads.
+             Needs a lot of work and Arthur's eyeballing (and finishing
+             few missing odds and ends of threads.pm).  Now Thread
+             is an extension without its own .pm.
+             
+             If there are people who have experience working with
+             either the 5005threads or the ithreads: cleaning up
+             the documentation (Thread.pm, threads.pm, and perl*thrtut.pod),
+             and porting the various Thread::* modules, like Thread::Queue,
+             to work also with ithreads, is needed.
+             
+             Removed the 5005threads requirement from the 5005 tests
+             for easier testing (not all of them work yet since
+             they use the Thread::* modules that have not been made
+             to work with ithreads).  Leave the 5005 tests named as
+             *.tx so that they are not run by "make test".
+     Branch: perl
+          + lib/Thread.pm
+          - ext/Thread/Thread.pm
+          ! MANIFEST ext/Thread/Makefile.PL ext/Thread/create.tx
+          ! ext/Thread/die.tx ext/Thread/die2.tx ext/Thread/io.tx
+          ! ext/Thread/join.tx ext/Thread/join2.tx ext/Thread/list.tx
+          ! ext/Thread/lock.tx ext/Thread/queue.tx ext/Thread/specific.tx
+          ! ext/Thread/sync.tx ext/Thread/sync2.tx ext/Thread/unsync.tx
+          ! ext/Thread/unsync2.tx ext/Thread/unsync3.tx
+          ! ext/Thread/unsync4.tx ext/threads/threads.pm pod/perlfunc.pod
+____________________________________________________________________________
+[ 13035] By: jhi                                   on 2001/11/16  03:30:38
+        Log: $VERSION "a5" doesn't quite work.
+     Branch: perl
+          ! ext/B/Makefile.PL
+____________________________________________________________________________
+[ 13034] By: jhi                                   on 2001/11/16  00:38:41
+        Log: Add the fruits of Larry Shatzer's version verifying script.
+             (There are some straddlers, but they will be fixed in the
+             upcoming releases of the modules.)
+     Branch: perl
+          ! bytecode.pl ext/B/B.pm ext/B/B/Asmdata.pm ext/B/B/Bblock.pm
+          ! ext/B/B/Bytecode.pm ext/B/B/C.pm ext/B/B/CC.pm
+          ! ext/B/B/Debug.pm ext/B/B/Disassembler.pm ext/B/B/Lint.pm
+          ! ext/B/B/Showlex.pm ext/B/B/Stackobj.pm ext/B/B/Stash.pm
+          ! ext/B/B/Terse.pm ext/B/B/Xref.pm ext/B/O.pm
+          ! ext/Encode/Encode/Tcl.pm ext/Opcode/ops.pm
+          ! ext/Thread/Thread/Queue.pm ext/Thread/Thread/Semaphore.pm
+          ! ext/Thread/Thread/Signal.pm ext/Thread/Thread/Specific.pm
+          ! lib/ExtUtils/MM_NW5.pm lib/Locale/Constants.pm lib/vmsish.pm
+          ! os2/OS2/REXX/DLL/DLL.pm vms/ext/Filespec.pm win32/FindExt.pm
+          ! wince/FindExt.pm
+____________________________________________________________________________
+[ 13033] By: jhi                                   on 2001/11/16  00:37:36
+        Log: Add Larry Shatzer's VERSION verifying script.
+     Branch: perl
+          + Porting/checkVERSION.pl
+          ! MANIFEST Porting/pumpkin.pod
+____________________________________________________________________________
+[ 13032] By: jhi                                   on 2001/11/16  00:09:31
+        Log: Subject: [PATCH t/io/argv.t OR t/test.pl] runperl(), \n and stdin
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Thu, 15 Nov 2001 19:26:40 -0500
+             Message-ID: <20011115192640.R31399@blackrider>
+     Branch: perl
+          ! t/test.pl
+____________________________________________________________________________
+[ 13031] By: jhi                                   on 2001/11/15  23:18:19
+        Log: Document the MY_CXT business; from Paul Marquess.
+     Branch: perl
+          ! pod/perlxs.pod
+____________________________________________________________________________
+[ 13030] By: jhi                                   on 2001/11/15  22:03:46
+        Log: VMSCMD synch attempt.
+     Branch: perl
+          ! vms/vms.c vms/vmsish.h
+____________________________________________________________________________
+[ 13029] By: jhi                                   on 2001/11/15  21:35:36
+        Log: Advise against -P as instructed by Schwern.
+     Branch: perl
+          ! pod/perlrun.pod
+____________________________________________________________________________
+[ 13028] By: jhi                                   on 2001/11/15  21:21:29
+        Log: Subject: [PATCH] v-strings as Objects Step 1
+             From: John Peacock <jpeacock@rowman.com>
+             Date: Thu, 15 Nov 2001 12:41:04 -0500
+             Message-ID: <3BF3FE30.70D7EDCA@rowman.com>
+     Branch: perl
+          ! embed.h embed.pl global.sym pod/perlapi.pod proto.h toke.c
+          ! util.c
+____________________________________________________________________________
+[ 13027] By: jhi                                   on 2001/11/15  21:16:57
+        Log: Subject: [PATCH] -x  (was Re: [PATCH] new tests for command-line switches)
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Thu, 15 Nov 2001 12:47:59 -0500
+             Message-ID: <20011115124759.E31399@blackrider>
+     Branch: perl
+          + t/run/switchx.aux t/run/switchx.t
+          ! MANIFEST t/run/switches.t
+____________________________________________________________________________
+[ 13026] By: jhi                                   on 2001/11/15  20:55:31
+        Log: Upgrade to Getopt::Long 2.26_03.
+     Branch: perl
+          ! lib/Getopt/Long.pm
+____________________________________________________________________________
+[ 13025] By: ams                                   on 2001/11/15  20:46:22
+        Log: Subject: [PATCH vms/vms.c] VMSCMD missing
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Thu, 15 Nov 2001 16:24:11 -0500
+             Message-Id: <20011115162411.M31399@blackrider>
+     Branch: perl
+          ! vms/vms.c
+____________________________________________________________________________
+[ 13024] By: ams                                   on 2001/11/15  19:32:06
+        Log: Subject: Re: [ID 20010713.001] use lib segmentation fault
+             From: rspier@pobox.com (Robert Spier)
+             Date: Thu, 15 Nov 2001 11:19:21 -0800
+             Message-Id: <15348.5433.732364.963687@rls.cx>
+     Branch: perl
+          ! op.c
+____________________________________________________________________________
+[ 13023] By: jhi                                   on 2001/11/15  15:35:48
+        Log: Update Changes.
+     Branch: perl
+          ! Changes patchlevel.h
+____________________________________________________________________________
+[ 13022] By: jhi                                   on 2001/11/15  15:11:37
+        Log: Subject: [PATCH] new tests for command-line switches
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Thu, 15 Nov 2001 17:00:30 +0100
+             Message-ID: <20011115170030.A14193@rafael>
+     Branch: perl
+          + t/run/switches.t
+          ! MANIFEST
+____________________________________________________________________________
+[ 13021] By: jhi                                   on 2001/11/15  15:06:36
+        Log: Upgrade to podlators 1.13.
+     Branch: perl
+          + lib/Pod/ParseLink.pm
+          ! MANIFEST lib/Pod/Html.pm lib/Pod/Man.pm lib/Pod/Text.pm
+          ! lib/Pod/Text/Color.pm lib/Pod/Text/Overstrike.pm
+          ! lib/Pod/Text/Termcap.pm pod/pod2man.PL t/pod/lref.xr
+          ! t/pod/pod2usage.xr t/pod/podselect.xr
+____________________________________________________________________________
+[ 13020] By: jhi                                   on 2001/11/15  14:47:29
+        Log: skip "might be used uninitialized".
+     Branch: perl
+          ! pp_sys.c
+____________________________________________________________________________
+[ 13019] By: jhi                                   on 2001/11/15  14:35:55
+        Log: Fix for "perlio bug in koi8-r encoding".  The problem
+             seemed to be that binmode() always flushed the handle,
+             which is not so good when switching encodings.  Fixed,
+             added Matt Sergeant's testcase, documented in perlfunc/binmode,
+             also added a pointer about disciplines to perlfunc/open,
+             and in general cleaned up and reformatted the open entry.
+     Branch: perl
+          ! ext/PerlIO/t/encoding.t perlio.c pod/perlfunc.pod
+____________________________________________________________________________
+[ 13018] By: jhi                                   on 2001/11/15  13:22:57
+        Log: Subject: Re: [ID 20011114.118] chop and chomp bind too tightly
+             From: rgarciasuarez@free.fr (Rafael Garcia-Suarez)
+             Date: 15 Nov 2001 08:57:06 -0000
+             Message-Id: <slrn9v70s9.gqe.rgarciasuarez@rafael.kazibao.net>
+             
+             chop() and chomp() are not real list functions,
+             so let's not have them overrideable.  (Casey will
+             be confused since in #7071 he patched the other way.)
+     Branch: perl
+          ! pod/perlfunc.pod toke.c
+____________________________________________________________________________
+[ 13017] By: ams                                   on 2001/11/15  12:56:49
+        Log: Subject: [PATCH pod/perltrap.pod] Re: Strange syntax error with map
+             From: Robin Barker <rmb1@cise.npl.co.uk>
+             Date: Thu, 15 Nov 2001 13:48:34 GMT
+             Message-Id: <200111151348.NAA01299@tempest.npl.co.uk>
+             (Applied with tweaks.)
+     Branch: perl
+          ! pod/perltrap.pod
+____________________________________________________________________________
+[ 13016] By: ams                                   on 2001/11/15  09:12:48
+        Log: Subject: [DOC PATCH] mention Filter::cpp in perlrun
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Thu, 15 Nov 2001 09:06:39 +0100
+             Message-Id: <20011115090639.A13005@rafael>
+     Branch: perl
+          ! pod/perlrun.pod
+____________________________________________________________________________
+[ 13015] By: jhi                                   on 2001/11/15  04:08:50
+        Log: "link =" from utils.lst was being processed oddly.
+     Branch: perl
+          ! installman
+____________________________________________________________________________
+[ 13014] By: ams                                   on 2001/11/15  02:52:52
+        Log: Subject: [PATCH current] CreateTTY in -d
+             From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+             Date: Wed, 14 Nov 2001 21:26:31 -0500
+             Message-Id: <20011114212631.A25705@math.ohio-state.edu>
+     Branch: perl
+          ! lib/perl5db.pl
+____________________________________________________________________________
+[ 13013] By: jhi                                   on 2001/11/15  00:46:07
+        Log: Corify the Filter::Simple tests. 
+     Branch: perl
+          ! lib/Filter/Simple/t/data.t lib/Filter/Simple/t/filter.t
+          ! lib/Filter/Simple/t/filter_only.t
+____________________________________________________________________________
+[ 13012] By: jhi                                   on 2001/11/15  00:42:25
+        Log: Upgrade to Filter::Simple 0.70.
+     Branch: perl
+          + lib/Filter/Simple/t/data.t lib/Filter/Simple/t/filter_only.t
+          + t/lib/FilterOnlyTest.pm
+          ! MANIFEST lib/Filter/Simple.pm lib/Filter/Simple/Changes
+          ! lib/Filter/Simple/README lib/Filter/Simple/t/filter.t
+          ! t/lib/FilterTest.pm
+____________________________________________________________________________
+[ 13011] By: jhi                                   on 2001/11/14  22:38:31
+        Log: Cleanliness inspired by Cygwin.
+     Branch: perl
+          ! Makefile.SH x2p/Makefile.SH
+____________________________________________________________________________
+[ 13010] By: jhi                                   on 2001/11/14  22:30:59
+        Log: Add perlunintro (formerly known as perlunitut); regen toc.
+     Branch: perl
+          + pod/perlunintro.pod
+          ! MANIFEST pod/buildtoc.PL pod/perl.pod pod/perltoc.pod
+____________________________________________________________________________
+[ 13009] By: jhi                                   on 2001/11/14  22:27:12
+        Log: FAQ sync.
+     Branch: perl
+          ! pod/perlfaq6.pod
+____________________________________________________________________________
+[ 13008] By: jhi                                   on 2001/11/14  22:16:06
+        Log: Quieten pgcc 2.91.66 worries.
+     Branch: perl
+          ! gv.c pp_ctl.c utf8.c
+____________________________________________________________________________
+[ 13007] By: jhi                                   on 2001/11/14  22:05:01
+        Log: Upgrade to Switch 2.06.
+     Branch: perl
+          ! lib/Switch.pm lib/Switch/Changes lib/Switch/README
+          ! lib/Switch/t/nested.t
+____________________________________________________________________________
+[ 13006] By: jhi                                   on 2001/11/14  21:55:51
+        Log: Upgrade to Attribute::Handlers 0.76.
+     Branch: perl
+          ! lib/Attribute/Handlers.pm lib/Attribute/Handlers/Changes
+          ! lib/Attribute/Handlers/README
+          ! lib/Attribute/Handlers/demo/Demo.pm
+          ! lib/Attribute/Handlers/demo/Descriptions.pm
+          ! lib/Attribute/Handlers/demo/MyClass.pm
+          ! lib/Attribute/Handlers/demo/demo_cycle.pl
+          ! lib/Attribute/Handlers/demo/demo_hashdir.pl
+          ! lib/Attribute/Handlers/t/multi.t
+____________________________________________________________________________
+[ 13005] By: jhi                                   on 2001/11/14  21:53:22
+        Log: Signedness nit.
+     Branch: perl
+          ! regexec.c
+____________________________________________________________________________
+[ 13004] By: jhi                                   on 2001/11/14  21:24:39
+        Log: VERSIONize.
+     Branch: perl
+          ! lib/File/Spec/Epoc.pm lib/PerlIO.pm lib/encoding.pm
+          ! lib/integer.pm
+____________________________________________________________________________
+[ 13003] By: jhi                                   on 2001/11/14  21:17:02
+        Log: No pod in internal Net::FTP classes.
+     Branch: perl
+          ! pod/buildtoc.PL
+____________________________________________________________________________
+[ 13002] By: jhi                                   on 2001/11/14  21:11:48
+        Log: Subject: Re: [PATCH regexec.c] lookahead for REF, MINMOD, PLUS, CURLY* 
+             From: "Jeff 'japhy' Pinyan" <jeffp@crusoe.net>
+             Date: Wed, 14 Nov 2001 09:59:31 -0500 (EST)
+             Message-ID: <Pine.GSO.4.21.0111140958390.1124-100000@crusoe.crusoe.net>
+     Branch: perl
+          ! regexec.c
+____________________________________________________________________________
+[ 13001] By: jhi                                   on 2001/11/14  21:09:48
+        Log: test.pl tweaks from Rafael and Pudge (assuming I deciphered
+             Pudge correctly).
+     Branch: perl
+          ! t/test.pl
+____________________________________________________________________________
+[ 13000] By: jhi                                   on 2001/11/14  21:00:23
+        Log: Add comments to mark where $^X is being handled.
+     Branch: perl
+          ! perl.c toke.c
+____________________________________________________________________________
+[ 12999] By: jhi                                   on 2001/11/14  20:45:42
+        Log: Subject: Re: Test [ID 25] [PATCH t/op/repeat.t] Cleanup and bug test
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Wed, 14 Nov 2001 16:38:25 -0500
+             Message-ID: <20011114163825.D6519@blackrider>
+     Branch: perl
+          ! t/op/repeat.t
+____________________________________________________________________________
+[ 12998] By: jhi                                   on 2001/11/14  20:22:06
+        Log: Subject: [PATCH t/op/die_exit.t] Fwd: [craigberry@mac.com: die_exit.t]
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Wed, 14 Nov 2001 13:19:15 -0500
+             Message-ID: <20011114131915.K5096@blackrider>
+     Branch: perl
+          ! t/op/die_exit.t
+____________________________________________________________________________
+[ 12997] By: jhi                                   on 2001/11/14  19:36:57
+        Log: Subject: Re: [PATCH] new version of runperl()
+             From: lane@DUPHY4.Physics.Drexel.Edu (Charles Lane)
+             Date: Wed, 14 Nov 2001 15:39:12 EST
+             Message-Id: <011114153711.30f96@DUPHY4.Physics.Drexel.Edu>
+             
+             "VMS $^X pipes etc" patch.
+     Branch: perl
+          ! vms/vms.c
+____________________________________________________________________________
+[ 12996] By: jhi                                   on 2001/11/14  19:31:01
+        Log: test.pl runperl() nits from Chris Nandor and Craig Berry,
+             and add "verbose" option to show the final command.
+     Branch: perl
+          ! t/test.pl
+____________________________________________________________________________
+[ 12995] By: jhi                                   on 2001/11/14  15:02:29
+        Log: Goof in some of the comment fields of #12994.
+     Branch: perl
+          ! lib/unicore/In/0.pl lib/unicore/In/1.pl lib/unicore/In/2.pl
+          ! lib/unicore/In/3.pl lib/unicore/In/4.pl lib/unicore/In/5.pl
+          ! lib/unicore/In/6.pl lib/unicore/In/7.pl lib/unicore/In/8.pl
+          ! lib/unicore/In/9.pl
+____________________________________________________________________________
+[ 12994] By: jhi                                   on 2001/11/14  14:59:32
+        Log: The First, Last ranges in the Unicode data weren't
+             getting their general categories added properly;
+             noticed by Jeffrey Friedl.
+     Branch: perl
+          ! lib/unicore/Category.pl lib/unicore/In/0.pl
+          ! lib/unicore/In/1.pl lib/unicore/In/164.pl
+          ! lib/unicore/In/169.pl lib/unicore/In/170.pl
+          ! lib/unicore/In/2.pl lib/unicore/In/3.pl lib/unicore/In/4.pl
+          ! lib/unicore/In/5.pl lib/unicore/In/6.pl lib/unicore/In/7.pl
+          ! lib/unicore/In/8.pl lib/unicore/In/9.pl
+          ! lib/unicore/Is/Alnum.pl lib/unicore/Is/Alpha.pl
+          ! lib/unicore/Is/C.pl lib/unicore/Is/Cntrl.pl
+          ! lib/unicore/Is/Co.pl lib/unicore/Is/Cs.pl
+          ! lib/unicore/Is/Graph.pl lib/unicore/Is/L.pl
+          ! lib/unicore/Is/Lo.pl lib/unicore/Is/Print.pl
+          ! lib/unicore/Is/Word.pl lib/unicore/Name.pl
+          ! lib/unicore/mktables
+____________________________________________________________________________
+[ 12993] By: jhi                                   on 2001/11/14  13:54:20
+        Log: Subject: [PATCH] new version of runperl()
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Wed, 14 Nov 2001 12:23:01 +0100
+             Message-ID: <20011114122301.A29384@rafael>
+     Branch: perl
+          ! t/io/argv.t t/test.pl
+____________________________________________________________________________
+[ 12992] By: ams                                   on 2001/11/14  13:40:39
+        Log: Subject: [PATCH perl.c] s/parse_perl/parse_body/
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Tue, 13 Nov 2001 23:17:54 -0500
+             Message-Id: <20011113231754.S32567@blackrider>
+     Branch: perl
+          ! perl.c
+____________________________________________________________________________
+[ 12991] By: jhi                                   on 2001/11/14  13:24:34
+        Log: Subject: Re: [PATCH pod/perlapio.pod double-word fix]
+             From: Philip Newton <Philip.Newton@gmx.net>
+             Date: Wed, 14 Nov 2001 10:59:53 +0100
+             Message-ID: <e6b4vt8mfasdv0vlm1tqggqhtjbpchvpmg@4ax.com>
+             
+             plus a lot of paragraph reformatting because of long lines.
+     Branch: perl
+          ! pod/perlapio.pod
+____________________________________________________________________________
+[ 12990] By: jhi                                   on 2001/11/14  13:19:19
+        Log: A bool is not a pointer.
+     Branch: perl
+          ! pp_sys.c
+____________________________________________________________________________
+[ 12989] By: jhi                                   on 2001/11/14  02:41:42
+        Log: AUTHORS updates.
+     Branch: perl
+          ! AUTHORS
+____________________________________________________________________________
+[ 12988] By: jhi                                   on 2001/11/14  02:18:44
+        Log: There are several MIME RFCs.
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12987] By: ams                                   on 2001/11/14  01:09:28
+        Log: Subject: [PATCH t/op/groups.t vms/test.com] Simple little VMS fix
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Tue, 13 Nov 2001 20:59:13 -0500
+             Message-Id: <20011113205913.H32567@blackrider>
+     Branch: perl
+          ! t/op/groups.t vms/test.com
+____________________________________________________________________________
+[ 12986] By: ams                                   on 2001/11/14  01:07:06
+        Log: Subject: [PATCH ext/IO/lib/IO/t/io_sel.t vms/test.com] VMS fix
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Tue, 13 Nov 2001 20:51:34 -0500
+             Message-Id: <20011113205134.F32567@blackrider>
+     Branch: perl
+          ! ext/IO/lib/IO/t/io_sel.t vms/test.com
+____________________________________________________________________________
+[ 12985] By: ams                                   on 2001/11/14  00:43:59
+        Log: Subject: [PATCH pod/perlport.pod] Re: select() broken under VMS?
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Tue, 13 Nov 2001 20:38:42 -0500
+             Message-Id: <20011113203842.E32567@blackrider>
+     Branch: perl
+          ! pod/perlport.pod
+____________________________________________________________________________
+[ 12984] By: ams                                   on 2001/11/14  00:32:15
+        Log: Subject: [PATCH ext/IO/lib/IO/t/*.t vms/test.com] VMS fixups for IO::* tests
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Tue, 13 Nov 2001 20:27:02 -0500
+             Message-Id: <20011113202702.D32567@blackrider>
+     Branch: perl
+          ! ext/IO/lib/IO/t/io_const.t ext/IO/lib/IO/t/io_dir.t
+          ! ext/IO/lib/IO/t/io_dup.t ext/IO/lib/IO/t/io_pipe.t
+          ! ext/IO/lib/IO/t/io_sock.t ext/IO/lib/IO/t/io_unix.t
+          ! ext/IO/lib/IO/t/io_xs.t vms/test.com
+____________________________________________________________________________
+[ 12983] By: ams                                   on 2001/11/14  00:00:27
+        Log: Subject: [PATCH pod/perlport.pod] s/socket/select/ typo
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Tue, 13 Nov 2001 19:51:59 -0500
+             Message-Id: <20011113195159.B32567@blackrider>
+     Branch: perl
+          ! pod/perlport.pod
+____________________________________________________________________________
+[ 12982] By: ams                                   on 2001/11/13  23:53:11
+        Log: Subject: [PATCH pod/perlapio.pod double-word fix]
+             From: Larry Shatzer <fugazi@zippy.zyx.net>
+             Date: Tue, 13 Nov 2001 17:27:59 -0700
+             Message-Id: <20011113172759.E27768@zippy.zyx.net>
+     Branch: perl
+          ! pod/perlapio.pod
+____________________________________________________________________________
+[ 12981] By: jhi                                   on 2001/11/13  22:50:27
+        Log: Fix for the :utf8 read() bug noticed by Matt Sergeant:
+             "large enough" Unicode characters returned more than one
+             as their "Unicode size".
+     Branch: perl
+          ! pp_sys.c t/io/utf8.t
+____________________________________________________________________________
+[ 12980] By: ams                                   on 2001/11/13  19:32:33
+        Log: Subject: [PATCH] vms/gen_shrfls.pl tweak
+             From: "Craig A. Berry" <craigberry@mac.com>
+             Date: Tue, 13 Nov 2001 14:33:25 -0600
+             Message-Id: <5.1.0.14.2.20011113142319.01c3ad50@exchi01>
+     Branch: perl
+          ! vms/gen_shrfls.pl
+____________________________________________________________________________
+[ 12979] By: jhi                                   on 2001/11/13  18:10:15
+        Log: Subject: Minor patch to Encode.pm (detypo)
+             From: "Philip Newton" <Philip.Newton@gmx.net>
+             Date: Tue, 13 Nov 2001 20:11:01 +0100
+             Message-ID: <20011113.200845@ID-11583.news.dfncis.de>
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12978] By: jhi                                   on 2001/11/13  17:55:02
+        Log: Evil tabulators.
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12977] By: jhi                                   on 2001/11/13  17:52:17
+        Log: Document the available encodings.
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12976] By: ams                                   on 2001/11/13  17:14:07
+        Log: Subject: Re: Why *not* use UNIVERSAL qw( isa can ) ; ??
+             From: Barrie Slaymaker <barries@slaysys.com>
+             Date: Tue, 13 Nov 2001 12:41:36 -0500
+             Message-Id: <20011113124133.C24305@sizzle.whoville.com>
+     Branch: perl
+          ! t/op/universal.t
+____________________________________________________________________________
+[ 12975] By: ams                                   on 2001/11/13  16:24:21
+        Log: Subject: Re: Why *not* use UNIVERSAL qw( isa can ) ; ??
+             From: Barrie Slaymaker <barries@slaysys.com>
+             Date: Tue, 13 Nov 2001 10:56:20 -0500
+             Message-Id: <20011113105620.B24192@sizzle.whoville.com>
+             (Test applied with minor tweaks and ->isa("HASH") omission.)
+     Branch: perl
+          ! lib/UNIVERSAL.pm t/op/universal.t
+____________________________________________________________________________
+[ 12974] By: ams                                   on 2001/11/13  15:46:07
+        Log: Subject: [PATCH Benchmark.pm] docco tweaks
+             From: Barrie Slaymaker <barries@slaysys.com>
+             Date: Tue, 13 Nov 2001 11:34:45 -0500
+             Message-Id: <20011113113442.B24305@sizzle.whoville.com>
+     Branch: perl
+          ! lib/Benchmark.pm
+____________________________________________________________________________
+[ 12973] By: jhi                                   on 2001/11/13  13:42:40
+        Log: Subject: [PATCH] Attack of the C loops, round 1
+             From: Richard Soderberg <rs@oregonnet.com>
+             Date: Mon, 12 Nov 2001 12:07:29 -0800
+             Message-Id: <200111122007.MAA01994@oregonnet.com>
+             
+             Subject: [PATCH] bytecode.pl (tiny patch)
+             From: Richard Soderberg <rs@oregonnet.com>
+             Date: Mon, 12 Nov 2001 12:53:24 -0800
+             Message-Id: <200111122053.MAA06272@oregonnet.com>
+     Branch: perl
+          ! bytecode.pl installhtml
+____________________________________________________________________________
+[ 12972] By: jhi                                   on 2001/11/13  13:41:02
+        Log: Subject: [PATCH] Update to Filter::Util::Call
+             From: "Paul Marquess" <Paul_Marquess@yahoo.co.uk>
+             Date: Sun, 11 Nov 2001 22:33:33 -0000
+             Message-ID: <AIEAJICLCBDNAAOLLOKLAEKFDEAA.Paul_Marquess@Yahoo.co.uk>
+             
+             Use the new CXT* macros.
+     Branch: perl
+          ! ext/Filter/Util/Call/Call.pm ext/Filter/Util/Call/Call.xs
+____________________________________________________________________________
+[ 12971] By: jhi                                   on 2001/11/13  13:31:34
+        Log: Subject: [PATCH vms/ext/vmsish.* vms/descrip_mms.template MANIFEST] Making vmsish.pm a no-op on non-VMS  
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Mon, 12 Nov 2001 20:50:34 -0500
+             Message-ID: <20011112205034.H2888@blackrider>
+     Branch: perl
+          + lib/vmsish.pm lib/vmsish.t
+          - vms/ext/vmsish.pm vms/ext/vmsish.t
+          ! MANIFEST vms/descrip_mms.template
+____________________________________________________________________________
+[ 12970] By: jhi                                   on 2001/11/13  13:09:23
+        Log: :utf8 works only with perlio.
+     Branch: perl
+          ! lib/open.t
+____________________________________________________________________________
+[ 12969] By: jhi                                   on 2001/11/13  13:03:36
+        Log: Subject: Re: @Config -"des" not quite working on VMS
+             From: lane@DUPHY4.Physics.Drexel.Edu (Charles Lane)
+             Date: Tue, 13 Nov 2001 08:35:13 EST 
+             Message-Id: <011113083447.28742@DUPHY4.Physics.Drexel.Edu>
+     Branch: perl
+          ! configure.com
+____________________________________________________________________________
+[ 12968] By: jhi                                   on 2001/11/13  12:59:11
+        Log: Subject: [PATCH] lib/charnames.pm 
+             From: Jeffrey Friedl <jfriedl@yahoo.com>
+             Date: Tue, 13 Nov 2001 00:36:21 -0800 (PST) 
+             Message-Id: <200111130836.fAD8aLG76010@ventrue.corp.yahoo.com>
+     Branch: perl
+          ! lib/charnames.pm
+____________________________________________________________________________
+[ 12967] By: pudge                                 on 2001/11/13  05:44:13
+        Log: Docs for Mac::err.
+     Branch: maint-5.6/macperl
+          ! macos/ext/Mac/err/err.pm
+____________________________________________________________________________
+[ 12966] By: pudge                                 on 2001/11/13  05:43:58
+        Log: Some cleanup; change some globals to references for
+             possible persistence later.
+     Branch: maint-5.6/macperl
+          ! macos/lib/Mac/Glue.pm
+____________________________________________________________________________
+[ 12965] By: pudge                                 on 2001/11/13  05:42:59
+        Log: Add in a bunch of Mac OS 9 constants for Mac::Files.
+     Branch: maint-5.6/macperl
+          ! macos/ext/Mac/Files/Files.pm
+____________________________________________________________________________
+[ 12964] By: pudge                                 on 2001/11/13  05:42:35
+        Log: Get Mac::Navigation to compile (bug #464684).
+     Branch: maint-5.6/macperl
+          ! macos/Makefile.mk macos/ext/Mac/Makefile.mk
+          ! macos/ext/Mac/Navigation/Makefile.PL
+          ! macos/ext/Mac/Navigation/Navigation.xs
+          ! macos/macperl/Makefile.mk
+____________________________________________________________________________
+[ 12963] By: pudge                                 on 2001/11/13  05:41:12
+        Log: Add in modules and POD to help menu.
+     Branch: maint-5.6/macperl
+          ! macos/macperl/MacPerl.podhelp
+____________________________________________________________________________
+[ 12962] By: pudge                                 on 2001/11/13  05:28:18
+        Log: Update bundled modules.
+     Branch: maint-5.6/macperl
+          + macos/bundled_ext/Filter/t/FilterTest.pm
+          + macos/bundled_ext/List/Util/t/shuffle.t
+          + macos/bundled_ext/Storable/t/compat06.t
+          + macos/bundled_ext/Storable/t/st-dump.pl
+          + macos/bundled_ext/Time/HiRes/hints/dynixptx.pl
+          + macos/bundled_lib/blib/lib/LWP/ConnCache.pm
+          + macos/bundled_lib/blib/lib/LWP/Protocol/http10.pm
+          + macos/bundled_lib/blib/lib/LWP/Protocol/https10.pm
+          + macos/bundled_lib/blib/lib/LWP/Protocol/nogo.pm
+          + macos/bundled_lib/blib/lib/Net/HTTP/NB.pm
+          + macos/bundled_lib/blib/lib/lwpcook.pod
+          + macos/bundled_lib/t/Filter/Simple/filter.t
+          + macos/bundled_lib/t/Switch/t/given.t
+          + macos/bundled_lib/t/Switch/t/nested.t
+          + macos/bundled_lib/t/Switch/t/switch.t
+          + macos/bundled_lib/t/Text/Balanced/t/extbrk.t
+          + macos/bundled_lib/t/Text/Balanced/t/extcbk.t
+          + macos/bundled_lib/t/Text/Balanced/t/extdel.t
+          + macos/bundled_lib/t/Text/Balanced/t/extmul.t
+          + macos/bundled_lib/t/Text/Balanced/t/extqlk.t
+          + macos/bundled_lib/t/Text/Balanced/t/exttag.t
+          + macos/bundled_lib/t/Text/Balanced/t/extvar.t
+          + macos/bundled_lib/t/Text/Balanced/t/gentag.t
+          + macos/bundled_lib/t/URI/rfc2732.t
+          + macos/bundled_lib/t/libnet/config.t
+          + macos/bundled_lib/t/libnet/libnet_t.pl
+          + macos/bundled_lib/t/libwww-perl/live/google.t
+          + macos/bundled_lib/t/libwww-perl/live/jigsaw-auth-b.t
+          + macos/bundled_lib/t/libwww-perl/live/jigsaw-auth-d.t
+          + macos/bundled_lib/t/libwww-perl/live/jigsaw-chunk.t
+          + macos/bundled_lib/t/libwww-perl/live/jigsaw-md5.t
+          + macos/bundled_lib/t/libwww-perl/live/jigsaw-neg.t
+          + macos/bundled_lib/t/libwww-perl/live/jigsaw-te.t
+          + macos/bundled_lib/t/libwww-perl/live/validator.t
+          - macos/bundled_ext/Filter/t/MyFilter.pm
+          - macos/bundled_ext/Storable/t/compat-0.6.t
+          - macos/bundled_ext/Storable/t/dump.pl
+          - macos/bundled_ext/Time/Piece/Makefile.PL
+          - macos/bundled_ext/Time/Piece/Piece.pm
+          - macos/bundled_ext/Time/Piece/Piece.t
+          - macos/bundled_ext/Time/Piece/Piece.xs
+          - macos/bundled_ext/Time/Piece/README
+          - macos/bundled_ext/Time/Piece/Seconds.pm
+          - macos/bundled_lib/blib/lib/LWP/Protocol/http11.pm
+          - macos/bundled_lib/blib/lib/Net/DummyInetd.pm
+          - macos/bundled_lib/blib/lib/Net/PH.pm
+          - macos/bundled_lib/blib/lib/Net/SNPP.pm
+          - macos/bundled_lib/blib/lib/Text/Balanced.pod
+          - macos/bundled_lib/t/Filter/Simple/test.pl
+          - macos/bundled_lib/t/Switch/test.pl
+          - macos/bundled_lib/t/Text/Balanced/t/genxt.t
+          - macos/bundled_lib/t/Text/Balanced/t/xbrak.t
+          - macos/bundled_lib/t/Text/Balanced/t/xcode.t
+          - macos/bundled_lib/t/Text/Balanced/t/xdeli.t
+          - macos/bundled_lib/t/Text/Balanced/t/xmult.t
+          - macos/bundled_lib/t/Text/Balanced/t/xquot.t
+          - macos/bundled_lib/t/Text/Balanced/t/xtagg.t
+          - macos/bundled_lib/t/Text/Balanced/t/xvari.t
+          - macos/bundled_lib/t/libnet/ph.t
+          ! (edit 125 files)
+____________________________________________________________________________
+[ 12961] By: ams                                   on 2001/11/13  00:45:08
+        Log: Subject: [PATCH pod/perlport.pod] exit docs out of order
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Mon, 12 Nov 2001 20:16:45 -0500
+             Message-Id: <20011112201644.G2888@blackrider>
+     Branch: perl
+          ! pod/perlport.pod
+____________________________________________________________________________
+[ 12960] By: ams                                   on 2001/11/12  23:54:00
+        Log: Subject: [PATCH t/io/dup.t ext/IO/lib/IO/t/io_dup.t vms/test.com]
+             Recoving dup tests for VMS
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Mon, 12 Nov 2001 19:35:33 -0500
+             Message-Id: <20011112193533.D2888@blackrider>
+     Branch: perl
+          ! ext/IO/lib/IO/t/io_dup.t t/io/dup.t vms/test.com
+____________________________________________________________________________
+[ 12959] By: jhi                                   on 2001/11/12  20:23:59
+        Log: Update Changes.
+     Branch: perl
+          ! Changes patchlevel.h
+____________________________________________________________________________
+[ 12958] By: jhi                                   on 2001/11/12  16:33:01
+        Log: Subject: [Patch Perl@12856] MULTIPLICITY on VMS                
+             From: lane@DUPHY4.Physics.Drexel.Edu (Charles Lane)             
+             Date: Mon, 12 Nov 2001 12:35:18 EST 
+             Message-Id: <011112123409.27041@DUPHY4.Physics.Drexel.Edu>
+     Branch: perl
+          ! ext/Cwd/Cwd.xs perlio.c vms/ext/Stdio/Stdio.xs
+          ! vms/gen_shrfls.pl vms/sockadapt.c vms/vms.c
+____________________________________________________________________________
+[ 12957] By: jhi                                   on 2001/11/12  15:26:37
+        Log: Subject: [PATCH File::Spec::Win32::abs2rel] remove volume from result
+             From: Barrie Slaymaker <barries@slaysys.com>
+             Date: Mon, 12 Nov 2001 11:19:52 -0500
+             Message-ID: <20011112111948.C7626@sizzle.whoville.com>
+     Branch: perl
+          ! lib/File/Spec.t lib/File/Spec/Win32.pm
+____________________________________________________________________________
+[ 12956] By: jhi                                   on 2001/11/12  15:23:48
+        Log: Subject: [PATCH Benchmark.pm] Add "none" style to cmpthese(), alter result
+             From: Barrie Slaymaker <barries@slaysys.com>
+             Date: Mon, 12 Nov 2001 11:07:36 -0500
+             Message-ID: <20011112110733.B7626@sizzle.whoville.com>
+     Branch: perl
+          ! lib/Benchmark.pm
+____________________________________________________________________________
+[ 12955] By: jhi                                   on 2001/11/12  15:22:23
+        Log: Misplaced test, noticed by Barrie Slaymaker.
+             (We are missing Benchmark tests, then.)
+     Branch: perl
+          + ext/Devel/DProf/DProf.t
+          - lib/Benchmark.t
+          ! MANIFEST
+____________________________________________________________________________
+[ 12954] By: jhi                                   on 2001/11/12  14:50:44
+        Log: Subject: [PATCH] a few typo fixes 
+             From: Jeffrey Friedl <jfriedl@yahoo.com>
+             Date: Sun, 11 Nov 2001 21:15:18 -0800 (PST)
+             Message-Id: <200111120515.fAC5FIc74795@ventrue.corp.yahoo.com>
+             
+             Patching README.foo instead of pod/perlfoo.pod,
+             not patching Math::BigInt (Tels will take care of that),
+             dropping broken hv.c and sv.h patches, patching libnetcfg.PL
+             and perldoc.PL instead of libnetcfg and perldoc, patching
+             ext/Digest/MD5/t/files.t since MD5.pm was changed.
+     Branch: perl
+          ! (edit 109 files)
+____________________________________________________________________________
+[ 12953] By: jhi                                   on 2001/11/12  13:11:55
+        Log: Add a note about the dangers of bad UTF-8.
+     Branch: perl
+          ! pod/perlunicode.pod
+____________________________________________________________________________
+[ 12952] By: jhi                                   on 2001/11/12  12:54:52
+        Log: NetWare Nit from Ananth Kesari.
+     Branch: perl
+          ! NetWare/config.wc
+____________________________________________________________________________
+[ 12951] By: jhi                                   on 2001/11/12  12:32:13
+        Log: Ooops.  I was "fixing" the wrong routine in #12947 and #12950.
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12950] By: jhi                                   on 2001/11/12  12:14:53
+        Log: (retracted by #12951)
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12949] By: ams                                   on 2001/11/12  06:40:18
+        Log: Subject: [PATCH] Re: [ID 20011111.105] qr/$ARGV[0]/ not tainted
+             From: Robert Spier <rspier@pobox.com>
+             Date: Sun, 11 Nov 2001 18:50:18 -0800
+             Message-Id: <15343.14570.121505.233336@rls.cx>
+             
+             Subject: Re: [PATCH] Re: [ID 20011111.105] qr/$ARGV[0]/ not tainted
+             From: Rick Delaney <rick.delaney@home.com>
+             Date: 12 Nov 2001 00:15:52 -0500
+             Message-Id: <m3wv0wmuwn.fsf@cs839290-a.mtth1.on.wave.home.com>
+     Branch: perl
+          ! pp_hot.c t/op/taint.t
+____________________________________________________________________________
+[ 12948] By: jhi                                   on 2001/11/12  01:23:58
+        Log: It seems that we actually have this detail implemented
+             as for as Level 1 Support of Unicode regex support is
+             concerned: at Level 1 only 1:1 support for loose
+             (aka caseless, aka caseigoring ) matching is required.
+     Branch: perl
+          ! pod/perlunicode.pod
+____________________________________________________________________________
+[ 12947] By: jhi                                   on 2001/11/11  21:41:44
+        Log: (retracted by #12951)
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12946] By: jhi                                   on 2001/11/11  21:09:31
+        Log: BOM, bom, Bom.
+     Branch: perl
+          ! pod/perlunicode.pod
+____________________________________________________________________________
+[ 12945] By: jhi                                   on 2001/11/11  21:07:18
+        Log: Upgrade to Math::BigInt 1.46.
+     Branch: perl
+          ! lib/Math/BigFloat.pm lib/Math/BigInt.pm
+          ! lib/Math/BigInt/Calc.pm lib/Math/BigInt/t/bigfltpm.inc
+          ! lib/Math/BigInt/t/bigfltpm.t lib/Math/BigInt/t/bigintc.t
+          ! lib/Math/BigInt/t/calling.t lib/Math/BigInt/t/mbimbf.t
+          ! lib/Math/BigInt/t/sub_mbf.t lib/Math/BigInt/t/sub_mbi.t
+____________________________________________________________________________
+[ 12944] By: jhi                                   on 2001/11/11  18:52:22
+        Log: Subject: Re: PERFORCE change 12943 for review
+             From: "Philip Newton" <Philip.Newton@gmx.net>
+             Date: Sun, 11 Nov 2001 20:53:36 +0100
+             Message-ID: <20011111.204950@ID-11583.news.dfncis.de>           
+     Branch: perl
+          ! pod/perlunicode.pod
+____________________________________________________________________________
+[ 12943] By: jhi                                   on 2001/11/11  18:00:03
+        Log: Doc updates; make the Unicode discussions a little
+             bit less alarming, and add information about encodings,
+             surrogates, and BOMs.
+     Branch: perl
+          ! pod/perlunicode.pod
+____________________________________________________________________________
+[ 12942] By: ams                                   on 2001/11/11  16:45:00
+        Log: Subject: [PATCH @12917] Unicode::Collate v0.09
+             From: =?ISO-2022-JP?B?GyRCRGdXIkNOOVQbKEI=?= <bqw10602@nifty.com>
+             Date: Mon, 12 Nov 2001 00:22:57 +0900
+             Message-Id: <20011112002232.BD46.BQW10602@nifty.com>
+     Branch: perl
+          ! lib/Unicode/Collate.pm lib/Unicode/Collate/Changes
+          ! lib/Unicode/Collate/README lib/Unicode/Collate/t/test.t
+____________________________________________________________________________
+[ 12941] By: ams                                   on 2001/11/11  13:01:40
+        Log: Subject: Re: PERFORCE change 12929 for review
+             From: "Philip Newton" <Philip.Newton@gmx.net>
+             Date: Sun, 11 Nov 2001 14:27:44 +0100
+             Message-Id: <20011111.142505@ID-11583.news.dfncis.de>
+     Branch: perl
+          ! MANIFEST
+____________________________________________________________________________
+[ 12940] By: ams                                   on 2001/11/11  05:06:43
+        Log: Subject: [PATCH t/op/chdir.t] %ENV protection
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Thu, 8 Nov 2001 22:56:45 -0500
+             Message-Id: <20011108225645.H5587@blackrider>
+     Branch: perl
+          ! t/op/chdir.t
+____________________________________________________________________________
+[ 12939] By: ams                                   on 2001/11/11  05:01:00
+        Log: Subject: [PATCH ext/Cwd/t/cwd.t] VMS fixage and cleanup
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Sun, 11 Nov 2001 00:54:43 -0500
+             Message-Id: <20011111005443.A24450@blackrider>
+     Branch: perl
+          ! ext/Cwd/t/cwd.t
+____________________________________________________________________________
+[ 12938] By: ams                                   on 2001/11/11  03:25:13
+        Log: Subject: [PATCH lib/File/stat.pm lib/File/stat.t]
+             (was Re: [ID 20011110.104] File::stat vs. $! conflict)
+             From: "chromatic" <chromatic@rmci.net>
+             Date: Sat, 10 Nov 2001 21:03:20 -0700
+             Message-Id: <20011111041025.12984.qmail@onion.perl.org>
+     Branch: perl
+          ! lib/File/stat.pm lib/File/stat.t
+____________________________________________________________________________
+[ 12937] By: ams                                   on 2001/11/11  02:05:23
+        Log: Subject: Re: [PATCH] resurrect t/op/magic.t on VMS
+             From: "Craig A. Berry" <craigberry@mac.com>
+             Date: Sat, 10 Nov 2001 17:23:52 -0600
+             Message-Id: <5.1.0.14.2.20011110171532.028bcaa8@mail.mac.com>
+     Branch: perl
+          ! t/op/magic.t
+____________________________________________________________________________
+[ 12936] By: jhi                                   on 2001/11/10  18:55:21
+        Log: Bah.  %X doesn't mean 0xC1, it means 0XC1.  So let's %x.
+     Branch: perl
+          ! lib/open.pm lib/open.t
+____________________________________________________________________________
+[ 12935] By: jhi                                   on 2001/11/10  17:47:21
+        Log: The Official name of ASCII.
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12934] By: jhi                                   on 2001/11/10  17:44:27
+        Log: The KOI8-R example wasn't quite right.
+     Branch: perl
+          ! lib/open.pm lib/open.t
+____________________________________________________________________________
+[ 12933] By: jhi                                   on 2001/11/10  17:30:52
+        Log: Enhance the open pragma to support :utf8, :locale,
+             and :encoding directly as special cases, and rename
+             the INOUT to IO.
+     Branch: perl
+          ! ext/Encode/Encode.pm lib/open.pm lib/open.t perlio.c
+____________________________________________________________________________
+[ 12932] By: jhi                                   on 2001/11/10  15:15:29
+        Log: Document the UTF-16 surrogate encoding and decoding.
+     Branch: perl
+          ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 12931] By: jhi                                   on 2001/11/10  15:05:56
+        Log: A potential recursion breaker.
+     Branch: perl
+          ! sv.c
+____________________________________________________________________________
+[ 12930] By: ams                                   on 2001/11/10  07:46:53
+        Log: Subject: [PATCH] Add core switch to CGI.pm distribution tests
+             (was Re: perl@12892)
+             From: "chromatic" <chromatic@rmci.net>
+             Date: Sat, 10 Nov 2001 01:28:09 -0700
+             Message-Id: <20011110083514.86488.qmail@onion.perl.org>
+     Branch: perl
+          ! lib/CGI/t/apache.t lib/CGI/t/carp.t lib/CGI/t/cookie.t
+          ! lib/CGI/t/fast.t lib/CGI/t/form.t lib/CGI/t/function.t
+          ! lib/CGI/t/html.t lib/CGI/t/pretty.t lib/CGI/t/push.t
+          ! lib/CGI/t/request.t lib/CGI/t/switch.t lib/CGI/t/util.t
+____________________________________________________________________________
+[ 12929] By: jhi                                   on 2001/11/10  06:38:07
+        Log: Add a test for the bytes pragma.
+     Branch: perl
+          + lib/bytes.t
+          ! MANIFEST
+____________________________________________________________________________
+[ 12928] By: jhi                                   on 2001/11/10  06:10:39
+        Log: Doc update.
+     Branch: perl
+          ! lib/bytes.pm
+____________________________________________________________________________
+[ 12927] By: jhi                                   on 2001/11/10  04:19:44
+        Log: Cease to exist.
+     Branch: perl
+          - lib/Unicode/Normalize.pm
+____________________________________________________________________________
+[ 12926] By: ams                                   on 2001/11/10  03:23:16
+        Log: Subject: [patch] my_setenv speedup + fixes
+             From: Doug MacEachern <dougm@covalent.net>
+             Date: Fri, 9 Nov 2001 18:13:18 -0800 (PST)
+             Message-Id: <Pine.LNX.4.21.0111091808500.22397-100000@localhost>
+     Branch: perl
+          ! util.c
+____________________________________________________________________________
+[ 12925] By: jhi                                   on 2001/11/10  01:55:13
+        Log: Newline trouble.
+     Branch: perl
+          ! lib/ExtUtils/Embed.t
+____________________________________________________________________________
+[ 12924] By: jhi                                   on 2001/11/10  01:42:29
+        Log: Subject: [PATCH perl@12917] vms/munchconfig.c line length fix
+             From: "Craig A. Berry" <craigberry@mac.com>
+             Date: Fri, 09 Nov 2001 18:13:16 -0600
+             Message-Id: <5.1.0.14.2.20011109180651.02b31d20@exchi01>
+     Branch: perl
+          ! vms/munchconfig.c
+____________________________________________________________________________
+[ 12923] By: jhi                                   on 2001/11/10  01:39:01
+        Log: Subject: [PATCH] new tests for swiches -n -p -a -F
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Sat, 10 Nov 2001 00:10:45 +0100
+             Message-ID: <20011110001045.A11945@rafael>
+     Branch: perl
+          + t/run/noswitch.t t/run/switchF.t t/run/switcha.t
+          + t/run/switchn.t t/run/switchp.t
+          ! MANIFEST
+____________________________________________________________________________
+[ 12922] By: jhi                                   on 2001/11/10  01:34:51
+        Log: Subject: [PATCH] some tests not cleaning up properly               
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr> 
+             Date: Fri, 9 Nov 2001 22:13:10 +0100
+             Message-ID: <20011109221310.A11115@rafael>
+     Branch: perl
+          ! ext/Cwd/t/cwd.t t/io/argv.t
+____________________________________________________________________________
+[ 12921] By: jhi                                   on 2001/11/10  01:32:52
+        Log: Subject: [Patch Perl@12892] a *real* Embed test for VMS           
+             From: lane@DUPHY4.Physics.Drexel.Edu (Charles Lane)
+             Date: Fri, 9 Nov 2001 15:07:19 EST
+             Message-Id: <011109150622.16fb0@DUPHY4.Physics.Drexel.Edu>
+     Branch: perl
+          ! lib/ExtUtils/Embed.t
+____________________________________________________________________________
+[ 12920] By: dougm                                 on 2001/11/10  00:34:50
+        Log: when PERL_USE_SAFE_PUTENV is defined environ will not
+             have been copied so it shouldn't be freed in perl_destruct()
+     Branch: perl
+          ! perl.c
+____________________________________________________________________________
+[ 12919] By: ams                                   on 2001/11/09  15:36:22
+        Log: Subject: [PATCH ext/Cwd/t/cwd.t] Cwd test not cleaning up after itself
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Fri, 9 Nov 2001 00:38:59 -0500
+             Message-Id: <20011109003859.K5587@blackrider>
+             (Applied with directory name changes suggested by Craig Berry.)
+     Branch: perl
+          ! ext/Cwd/t/cwd.t
+____________________________________________________________________________
+[ 12918] By: ams                                   on 2001/11/09  15:29:15
+        Log: Subject: [PATCH vms/ext/filespec.t] Cleanup & fix of unsafe filename
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Fri, 9 Nov 2001 01:44:14 -0500
+             Message-Id: <20011109014414.N5587@blackrider>
+     Branch: perl
+          ! vms/ext/filespec.t
+____________________________________________________________________________
+[ 12917] By: jhi                                   on 2001/11/09  14:39:14
+        Log: Update Changes.
+     Branch: perl
+          ! Changes patchlevel.h
+____________________________________________________________________________
+[ 12916] By: jhi                                   on 2001/11/09  14:33:39
+        Log: Regen toc.
+     Branch: perl
+          ! pod/perltoc.pod
+____________________________________________________________________________
+[ 12915] By: jhi                                   on 2001/11/09  14:08:30
+        Log: JPL sync: CVSROOT=:pserver:anoncvs@as220.org:/home/cvsroot,
+             see http://www.jepstone.net/bjepson//jpl/cvs.html
+     Branch: perl
+          ! jpl/JNI/JNI.xs jpl/JNI/Makefile.PL
+____________________________________________________________________________
+[ 12914] By: ams                                   on 2001/11/09  14:05:12
+        Log: Subject: [PATCH vms/test.com] VMS test.com running in wrong order?
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Thu, 8 Nov 2001 22:05:49 -0500
+             Message-Id: <20011108220549.F5587@blackrider>
+     Branch: perl
+          ! vms/test.com
+____________________________________________________________________________
+[ 12913] By: jhi                                   on 2001/11/09  13:54:23
+        Log: NetWare update from Ananth Kesari.
+     Branch: perl
+          ! NetWare/Makefile NetWare/config_H.wc NetWare/nwstdio.h
+____________________________________________________________________________
+[ 12912] By: ams                                   on 2001/11/09  13:40:26
+        Log: Subject: [PATCH ID 20011109.100] #!perl -F...
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Fri, 9 Nov 2001 14:32:28 +0100
+             Message-Id: <20011109143228.A18996@rafael>
+     Branch: perl
+          ! perl.c
+____________________________________________________________________________
+[ 12911] By: jhi                                   on 2001/11/09  13:37:01
+        Log: FAQ sync.
+     Branch: perl
+          ! pod/perlfaq1.pod pod/perlfaq2.pod pod/perlfaq3.pod
+          ! pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfaq6.pod
+          ! pod/perlfaq7.pod pod/perlfaq8.pod pod/perlfaq9.pod
+____________________________________________________________________________
+[ 12910] By: ams                                   on 2001/11/09  07:33:49
+        Log: Subject: [PATCH lib/File/Find/t/find.t] Helpful File::Find debugging code
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Fri, 9 Nov 2001 00:41:56 -0500
+             Message-Id: <20011109004156.L5587@blackrider>
+     Branch: perl
+          ! lib/File/Find/t/find.t
+____________________________________________________________________________
+[ 12909] By: jhi                                   on 2001/11/09  00:23:40
+        Log: Upgrade to Unicode::Normalize 0.10, now in XS.
+             The CPAN distribution has both pm and XS implementations,
+             and for performance reasons we choose the XS.
+             Another reason to choose the XS is that it doesn't
+             require Lingua::KO::Hangul::Util, which means that
+             we can delete that-- which in turn means that Unicode::UCD
+             cannot expect that: support it, but don't expect.
+             Ditto Unicode::Collate.
+             
+             Note that Unicode::Normalize Makefile.PL and
+             Normalize.xs have been modified from the CPAN 0.10
+             versions: the first one to be simpler (no pm) and
+             clean up the generated unf*.h files, the second one
+             to quench compiler grumblings.  Must notify Sadahiro
+             about these changes.
+     Branch: perl
+          + ext/Unicode/Normalize/Changes
+          + ext/Unicode/Normalize/Makefile.PL
+          + ext/Unicode/Normalize/Normalize.pm
+          + ext/Unicode/Normalize/Normalize.pod
+          + ext/Unicode/Normalize/Normalize.xs
+          + ext/Unicode/Normalize/README ext/Unicode/Normalize/mkheader
+          + ext/Unicode/Normalize/t/func.t ext/Unicode/Normalize/t/norm.t
+          + ext/Unicode/Normalize/t/test.t
+          - lib/Lingua/KO/Hangul/Util.pm lib/Lingua/KO/Hangul/Util/Changes
+          - lib/Lingua/KO/Hangul/Util/README
+          - lib/Lingua/KO/Hangul/Util/t/test.t
+          - lib/Unicode/Normalize/Changes lib/Unicode/Normalize/README
+          - lib/Unicode/Normalize/t/norm.t lib/Unicode/Normalize/t/test.t
+          ! MANIFEST NetWare/Makefile djgpp/config.over epoc/config.sh
+          ! hints/uwin.sh hints/vmesa.sh lib/Unicode/Collate.pm
+          ! lib/Unicode/UCD.pm lib/Unicode/UCD.t win32/Makefile
+          ! win32/makefile.mk
+____________________________________________________________________________
+[ 12908] By: jhi                                   on 2001/11/08  23:49:42
+        Log: Test miscounting.
+     Branch: perl
+          ! ext/POSIX/t/posix.t
+____________________________________________________________________________
+[ 12907] By: jhi                                   on 2001/11/08  22:06:31
+        Log: Quote the variables in failures messages more nicely.
+     Branch: perl
+          ! t/test.pl
+____________________________________________________________________________
+[ 12906] By: jhi                                   on 2001/11/08  21:55:32
+        Log: Subject: [PATCH t/test.pl ext/POSIX/t/posix.t vms/test.com] POSIX cleanup
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Thu, 8 Nov 2001 17:24:49 -0500
+             Message-ID: <20011108172449.A5587@blackrider>
+             
+             Subject: Re: [PATCH t/test.pl ext/POSIX/t/posix.t vms/test.com] POSIX cleanup
+             From: "Craig A. Berry" <craigberry@mac.com>
+             Date: Thu, 8 Nov 2001 16:35:00 -0600
+             Message-Id: <a05101000b810b89c5c5a@[172.16.52.1]>
+     Branch: perl
+          ! ext/POSIX/t/posix.t t/test.pl vms/test.com
+____________________________________________________________________________
+[ 12905] By: jhi                                   on 2001/11/08  21:51:51
+        Log: Subject: [PATCH] RE: Win2k / Cygwin-1.3.3
+             From: "Paul Marquess" <Paul_Marquess@yahoo.co.uk>
+             Date: Thu, 8 Nov 2001 22:52:50 -0000
+             Message-ID: <AIEAJICLCBDNAAOLLOKLKEHNDEAA.Paul_Marquess@Yahoo.co.uk>
+     Branch: perl
+          ! ext/DB_File/t/db-recno.t
+____________________________________________________________________________
+[ 12904] By: jhi                                   on 2001/11/08  21:49:20
+        Log: Unicode::UCD is not yet supported in EBCDIC platforms.
+             (Probably not an EBCDIC issue the way one would think
+             since no chr() et alia are used in UCD.pm.)
+     Branch: perl
+          ! lib/Unicode/UCD.pm lib/Unicode/UCD.t
+____________________________________________________________________________
+[ 12903] By: jhi                                   on 2001/11/08  15:16:49
+        Log: Whether overwriting the $self->{...} values (see #12902)
+             is a good policy or not is debatable, but let's at least
+             be consistent.
+     Branch: perl
+          ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[ 12902] By: jhi                                   on 2001/11/08  15:13:15
+        Log: The MakeMaker argument () quoting patch that sneaked
+             in at #12883 didn't handle make macros like this $(...).
+             Leaning toothpicks, we've got them.
+     Branch: perl
+          ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[ 12901] By: jhi                                   on 2001/11/08  14:28:38
+        Log: Subject: Re: [PATCH t/io/argv.t vms/test.com t/test.pl] argv.t cleanup & fixes for VMS
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Wed, 7 Nov 2001 02:02:29 -0500
+             Message-ID: <20011107020229.K2858@blackrider>
+     Branch: perl
+          ! t/io/argv.t t/test.pl vms/test.com
+____________________________________________________________________________
+[ 12900] By: jhi                                   on 2001/11/08  14:14:40
+        Log: Subject: [PATCH 20011106.084] -s on #! line 
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Wed, 7 Nov 2001 22:23:39 +0100
+             Message-ID: <20011107222339.E729@rafael>
+     Branch: perl
+          ! embed.h embed.pl perl.c proto.h toke.c
+____________________________________________________________________________
+[ 12899] By: jhi                                   on 2001/11/08  13:46:02
+        Log: Subject: [REPATCH] Re: [PATCH pod/perlhack.pod] When to use what test libraries
+             From: Michael G Schwern <schwern@pobox.com>
+             Date: Wed, 7 Nov 2001 16:52:49 -0500
+             Message-ID: <20011107165249.I7346@blackrider>
+     Branch: perl
+          ! pod/perlhack.pod
+____________________________________________________________________________
+[ 12898] By: ams                                   on 2001/11/08  13:02:19
+        Log: Subject: Re: replace http://www.perl.com/CPAN/ with http://www.cpan.org/
+             From: Mark-Jason Dominus <mjd@plover.com>
+             Date: Thu, 08 Nov 2001 08:59:02 -0500
+             Message-Id: <20011108135902.2275.qmail@plover.com>
+     Branch: perl
+          ! INSTALL README README.amiga README.os2 README.vms
+          ! lib/I18N/LangTags.pm lib/I18N/LangTags/README
+          ! lib/Locale/Maketext/README win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[ 12897] By: ams                                   on 2001/11/08  12:49:28
+        Log: Subject: replace http://www.perl.com/CPAN/ with http://www.cpan.org/
+             From: mjd@plover.com
+             Date: 8 Nov 2001 13:33:18 -0000
+             Message-Id: <20011108133318.1786.qmail@plover.com>
+     Branch: perl
+          ! Porting/pumpkin.pod lib/Net/libnetFAQ.pod pod/perldiag.pod
+          ! pod/perlfaq1.pod pod/perlfaq2.pod pod/perlfaq3.pod
+          ! pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfaq6.pod
+          ! pod/perlfaq8.pod pod/perlfaq9.pod pod/perlmodinstall.pod
+          ! pod/perlport.pod pod/perlvar.pod
+____________________________________________________________________________
+[ 12896] By: ams                                   on 2001/11/08  11:22:12
+        Log: open(FH, $file) should strip leading and trailing whitespace.
+     Branch: perl
+          ! doio.c
+____________________________________________________________________________
+[ 12895] By: ams                                   on 2001/11/08  10:17:14
+        Log: Subject: [PATCH] resurrect t/op/glob.t on VMS
+             From: "Craig A. Berry" <craigberry@mac.com>
+             Date: Wed, 07 Nov 2001 13:41:50 -0600
+             Message-Id: <5.1.0.14.2.20011107133422.02419350@exchi01>
+     Branch: perl
+          ! t/op/glob.t
+____________________________________________________________________________
+[ 12894] By: ams                                   on 2001/11/08  08:32:20
+        Log: Subject: [ID 20011108.092] makedepend bug with new gcc
+             From: Alexander Klimov <ask@wisdom.weizmann.ac.il>
+             Date: Thu, 8 Nov 2001 10:00:29 +0200 (IST)
+             Message-Id: <Pine.GSO.4.40.0111080952570.12110-100000@dardar.wisdom.weizmann.ac.il>
+     Branch: perl
+          ! makedepend.SH
+____________________________________________________________________________
+[ 12893] By: ams                                   on 2001/11/08  08:26:31
+        Log: Subject: bleadperl perldebug.pod: mention perldebtut.pod
+             From: mjd@plover.com
+             Date: 8 Nov 2001 08:08:07 -0000
+             Message-Id: <20011108080807.30147.qmail@plover.com>
+             
+             Subject: bleadperl perl.pod
+             From: mjd@plover.com
+             Date: 8 Nov 2001 08:10:47 -0000
+             Message-Id: <20011108081047.30178.qmail@plover.com>
+             
+             Subject: more bleadperl perl.pod
+             From: mjd@plover.com
+             Date: 8 Nov 2001 08:16:28 -0000
+             Message-Id: <20011108081628.30229.qmail@plover.com>
+     Branch: perl
+          ! pod/perl.pod pod/perldebug.pod
+____________________________________________________________________________
+[ 12892] By: jhi                                   on 2001/11/07  16:01:37
+        Log: Tweak for Cray-friendliness from Nicholas Clark.
+     Branch: perl
+          ! sv.c
+____________________________________________________________________________
+[ 12891] By: jhi                                   on 2001/11/07  15:54:24
+        Log: VMS patch redo from Charles Lane.
+     Branch: perl
+          ! vms/gen_shrfls.pl
+____________________________________________________________________________
+[ 12890] By: ams                                   on 2001/11/07  15:16:10
+        Log: Subject: [ID 20011107.088] two perl pod nits
+             From: lvirden@cas.org
+             Date: Wed, 7 Nov 2001 11:09:34 -0500 (EST)
+             Message-Id: <200111071609.fA7G9YW24607@lwv26awu.cas.org>
+     Branch: perl
+          ! pod/perl.pod pod/perlfaq3.pod
+____________________________________________________________________________
+[ 12889] By: jhi                                   on 2001/11/07  15:07:18
+        Log: Update Changes.
+     Branch: perl
+          ! Changes patchlevel.h
+____________________________________________________________________________
+[ 12888] By: jhi                                   on 2001/11/07  14:26:42
+        Log: The (emulated) "no utf8" must be in a BEGIN block
+             to be effective.
+     Branch: perl
+          ! lib/CGI/t/html.t
+____________________________________________________________________________
+[ 12887] By: jhi                                   on 2001/11/07  13:52:58
+        Log: "v-strings" is the right term.
+     Branch: perl
+          ! pod/perltodo.pod
+____________________________________________________________________________
+[ 12886] By: jhi                                   on 2001/11/07  13:48:36
+        Log: Add vstrings-as-objects need to perltodo.
+     Branch: perl
+          ! pod/perltodo.pod
+____________________________________________________________________________
+[ 12885] By: jhi                                   on 2001/11/07  13:43:33
+        Log: Subject: Re: SunOS 5.8 is FUN! (and not quite ok, either) - @12876, gcc and suncc
+             From: Nicholas Clark <nick@ccl4.org>
+             Date: Wed, 7 Nov 2001 14:36:32 +0000
+             Message-ID: <20011107143631.I24980@plum.flirble.org>
+     Branch: perl
+          ! t/op/pack.t
+____________________________________________________________________________
+[ 12884] By: jhi                                   on 2001/11/07  13:34:44
+        Log: The Embed test requires a major rewrite for VMS
+             (plus it reveals a couple of annoying glitches
+             in buffering), so skip the test for now; from
+             Charles Lane.
+     Branch: perl
+          ! lib/ExtUtils/Embed.t
+____________________________________________________________________________
+[ 12883] By: jhi                                   on 2001/11/07  13:33:16
+        Log: Subject: [PATCH Perl@12856] vms/gen_shrfls.pl more general config.sh parsing
+             From: lane@DUPHY4.Physics.Drexel.Edu (Charles Lane)
+             Date: Wed, 7 Nov 2001 09:23:28 EST
+             Message-Id: <011107092325.11726@DUPHY4.Physics.Drexel.Edu>
+     Branch: perl
+          ! lib/ExtUtils/MM_Unix.pm vms/gen_shrfls.pl
+____________________________________________________________________________
+[ 12882] By: ams                                   on 2001/11/07  05:14:04
+        Log: Subject: Re: [ID 20011106.083] $dbline[$i] == 0 generates warnings
+             From: Mark-Jason Dominus <mjd@plover.com>
+             Date: Wed, 07 Nov 2001 00:43:46 -0500
+             Message-Id: <20011107054346.14428.qmail@plover.com>
+     Branch: perl
+          ! gv.c op.c toke.c
+____________________________________________________________________________
+[ 12881] By: jhi                                   on 2001/11/07  03:33:08
+        Log: Subject: [PATCH lib/perl5db.pl] Mentioning perldebguts   
+             From: Michael G Schwern <schwern@pobox.com>             
+             Date: Tue, 6 Nov 2001 22:04:39 -0500
+             Message-ID: <20011106220439.D2858@blackrider>              
+     Branch: perl
+          ! lib/perl5db.pl
+____________________________________________________________________________
+[ 12880] By: jhi                                   on 2001/11/07  01:35:30
+        Log: Subject: [PATCH lib/Term/Cap.t] Sync CPAN version of tests (was Re: [PATCH lib/Term/Cap.t] Skip testing where Term::Cap won't run (was Re: Win95 under
+             stress))
+             From: Jonathan Stowe <gellyfish@gellyfish.com>
+             Date: Tue, 6 Nov 2001 06:54:37 +0000 (GMT)
+             Message-ID: <Pine.LNX.4.33.0111060651210.315-100000@orpheus.gellyfish.com>
+             
+             (except for one hunk where indentation differs)
+     Branch: perl
+          ! lib/Term/Cap.t
+____________________________________________________________________________
+[ 12879] By: jhi                                   on 2001/11/07  01:22:40
+        Log: Subject: [PATCH File::Spec::*] a bunch of untested patches
+             From: Rafael Garcia-Suarez <rgarciasuarez@free.fr>
+             Date: Tue, 6 Nov 2001 21:45:01 +0100
+             Message-ID: <20011106214501.A704@rafael>
+     Branch: perl
+          ! lib/File/Spec/OS2.pm lib/File/Spec/VMS.pm
+          ! lib/File/Spec/Win32.pm
+____________________________________________________________________________
+[ 12878] By: jhi                                   on 2001/11/07  01:06:41
+        Log: Subject: [PATCH t/test.pl] Adding isnt() and next_test() 
+             From: Michael G Schwern <schwern@pobox.com>              
+             Date: Tue, 6 Nov 2001 20:58:45 -0500
+             Message-ID: <20011106205845.G29411@blackrider>
+     Branch: perl
+          ! t/test.pl
+____________________________________________________________________________
+[ 12877] By: jhi                                   on 2001/11/07  01:01:18
+        Log: Subject: making do_sprintf public       
+             From: Doug MacEachern <dougm@covalent.net>    
+             Date: Tue, 6 Nov 2001 10:52:31 -0800 (PST)
+             Message-ID: <Pine.LNX.4.21.0111061051250.27804-100000@localhost>
+     Branch: perl
+          ! embed.h embed.pl global.sym
+____________________________________________________________________________
+[ 12876] By: jhi                                   on 2001/11/06  22:12:28
+        Log: Update to CGI.pm 2.78.
+             
+             TODO: the test suite needs to be merged so that
+             when in core, the core version is tested, and when
+             using the CPAN version, testing the CPAN version.
+             (the changes need to be sent to Lincoln, too...)
+     Branch: perl
+          ! lib/CGI.pm lib/CGI/Apache.pm lib/CGI/Carp.pm lib/CGI/Cookie.pm
+          ! lib/CGI/Pretty.pm lib/CGI/Switch.pm lib/CGI/Util.pm
+          ! lib/CGI/t/apache.t lib/CGI/t/carp.t lib/CGI/t/cookie.t
+          ! lib/CGI/t/fast.t lib/CGI/t/form.t lib/CGI/t/function.t
+          ! lib/CGI/t/html.t lib/CGI/t/pretty.t lib/CGI/t/push.t
+          ! lib/CGI/t/request.t lib/CGI/t/switch.t lib/CGI/t/util.t
+____________________________________________________________________________
+[ 12875] By: jhi                                   on 2001/11/06  22:10:03
+        Log: Integrate with perlio; (strictly) readonly hashes via XS.
+     Branch: perl
+         +> t/lib/access.t
+         !> MANIFEST ext/B/t/stash.t hv.c pod/perldiag.pod universal.c
+____________________________________________________________________________
+[ 12874] By: nick                                  on 2001/11/06  21:05:16
+        Log: Keep It Simple and Stupid version of readonly hash support.
+             - Test for SvREAONLY(hv) at a few spots in hv.c
+             - add the error message to perldiag.pod
+             - (dubious) add access::readonly() to univeral.c
+             - add test using above
+             - fixup ext/B/t/stash.t to account for access:: existing
+     Branch: perlio
+          + t/lib/access.t
+          ! MANIFEST ext/B/t/stash.t hv.c pod/perldiag.pod universal.c
+____________________________________________________________________________
+[ 12873] By: jhi                                   on 2001/11/06  17:07:50
+        Log: Fix incorrect warnings about broken globbing;
+             from Andy Dougherty.
+     Branch: perl
+          ! hints/linux.sh
+____________________________________________________________________________
+[ 12872] By: jhi                                   on 2001/11/06  15:18:41
+        Log: More UTF-8 EXACT tweaking, plus a forgotten UTF-8 
+             toggle-on from the encoding pragma.
+     Branch: perl
+          ! regcomp.c regexec.c
+____________________________________________________________________________
+[ 12871] By: jhi                                   on 2001/11/06  13:19:46
+        Log: Retract #12824, doesn't help and is ignored
+             by Configure anyway.
+     Branch: perl
+          ! hints/beos.sh
+____________________________________________________________________________
+[ 12870] By: ams                                   on 2001/11/06  10:40:37
+        Log: Subject: Cosmetic change
+             From: H.Merijn Brand <h.m.brand@hccnet.nl>
+             Date: Tue, 06 Nov 2001 12:30:52 +0100
+             Message-Id: <20011106122922.30FA.H.M.BRAND@hccnet.nl>
+     Branch: perl
+          ! README.hpux
+____________________________________________________________________________
+[ 12869] By: nick                                  on 2001/11/06  08:26:40
+        Log: Integrate mainline
+     Branch: perlio
+         !> ext/DB_File/DB_File.pm global.sym hints/os390.sh
+         !> lib/encoding.pm lib/encoding.t proto.h regcomp.c regexec.c
+____________________________________________________________________________
+[ 12868] By: jhi                                   on 2001/11/06  03:15:50
+        Log: The parentheses are protected enough.
+     Branch: perl
+          ! hints/os390.sh
+____________________________________________________________________________
+[ 12867] By: jhi                                   on 2001/11/06  03:13:50
+        Log: ccflags, not ldflags.
+     Branch: perl
+          ! hints/os390.sh
+____________________________________________________________________________
+[ 12866] By: jhi                                   on 2001/11/06  03:12:57
+        Log: ... and the proto to go with #12865.
+     Branch: perl
+          ! proto.h
+____________________________________________________________________________
+[ 12865] By: jhi                                   on 2001/11/06  03:11:12
+        Log: Oops.  Luckily nothing was using this symbol yet.
+     Branch: perl
+          ! global.sym
+____________________________________________________________________________
+[ 12864] By: jhi                                   on 2001/11/06  03:05:34
+        Log: Implement the encoding pragma for regex literals.
+     Branch: perl
+          ! lib/encoding.pm lib/encoding.t regcomp.c regexec.c
+____________________________________________________________________________
+[ 12863] By: jhi                                   on 2001/11/06  01:01:49
+        Log: More UTF8 EXACT fixing.
+     Branch: perl
+          ! regexec.c
+____________________________________________________________________________
+[ 12862] By: jhi                                   on 2001/11/06  00:05:19
+        Log: More re debugging.
+     Branch: perl
+          ! regexec.c
+____________________________________________________________________________
+[ 12861] By: jhi                                   on 2001/11/05  23:24:24
+        Log: EXACT correction attempt.  Continued in #12863.
+     Branch: perl
+          ! regexec.c
+____________________________________________________________________________
+[ 12860] By: jhi                                   on 2001/11/05  22:57:04
+        Log: Unterminated L<.
+     Branch: perl
+          ! ext/DB_File/DB_File.pm
+____________________________________________________________________________
+[ 12859] By: nick                                  on 2001/11/05  19:15:17
+        Log: Integrate mainline
+     Branch: perlio
+         +> lib/Math/BigInt/t/Math/BigFloat/Subclass.pm
+         +> lib/Math/BigInt/t/Math/BigInt/Subclass.pm
+         +> lib/Math/BigInt/t/bigintpm.inc lib/Math/BigInt/t/sub_mbf.t
+         +> lib/Math/BigInt/t/sub_mbi.t
+          - lib/Math/BigInt/t/Math/Subclass.pm
+          - lib/Math/BigInt/t/subclass.t
+         !> (integrate 30 files)
+____________________________________________________________________________
+[ 12858] By: jhi                                   on 2001/11/05  17:05:38
+        Log: Regex debugging fixes from Hugo.
+     Branch: perl
+          ! regcomp.c regexec.c
+____________________________________________________________________________
+[ 12857] By: jhi                                   on 2001/11/05  16:09:51
+        Log: IRIX: at some point the cc -version has started
+             to output to stderr, not stdout any more.
+     Branch: perl
+          ! hints/irix_6.sh
+____________________________________________________________________________
+[ 12856] By: jhi                                   on 2001/11/05  15:27:45
+        Log: Update Changes.
+     Branch: perl
+          ! Changes patchlevel.h
+____________________________________________________________________________
 [ 12855] By: jhi                                   on 2001/11/05  15:21:13
         Log: The ${"\cTAINT"} raises the ire of 'use strict'.
      Branch: perl
diff --git a/INSTALL b/INSTALL
index 1ca2322..a204e6a 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1408,7 +1408,7 @@ including a glossary of all those config.sh variables, is in the Porting
 subdirectory.  Especially Porting/Glossary should come in handy.
 
 Ports for other systems may also be available.  You should check out
-http://www.perl.com/CPAN/ports for current information on ports to
+http://www.cpan.org/ports for current information on ports to
 various other operating systems.
 
 If you plan to port Perl to a new architecture study carefully the
index 627c8f0..ee2406f 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -130,6 +130,7 @@ ext/DB_File/typemap         Berkeley DB extension interface types
 ext/DB_File/version.c          Berkeley DB extension interface version check
 ext/Devel/DProf/Changes                Perl code profiler changelog
 ext/Devel/DProf/DProf.pm       Perl code profiler
+ext/Devel/DProf/DProf.t                Perl code profiler
 ext/Devel/DProf/DProf.xs       Perl code profiler
 ext/Devel/DProf/Makefile.PL    Perl code profiler makefile writer
 ext/Devel/DProf/Todo           Perl code profiler todo list
@@ -560,7 +561,6 @@ ext/Thread/specific.tx              Test thread-specific user data
 ext/Thread/sync.tx             Test thread synchronisation
 ext/Thread/sync2.tx            Test thread synchronisation
 ext/Thread/thr5005.t           Test 5.005-style threading (skipped if no use5005threads)
-ext/Thread/Thread.pm           Thread extension Perl module
 ext/Thread/Thread.xs           Thread extension external subroutines
 ext/Thread/Thread/Queue.pm     Thread synchronised queue objects
 ext/Thread/Thread/Semaphore.pm Thread semaphore objects
@@ -596,6 +596,16 @@ ext/Time/HiRes/HiRes.pm            Time::HiRes extension
 ext/Time/HiRes/HiRes.t         Test for Time::HiRes
 ext/Time/HiRes/HiRes.xs                Time::HiRes extension
 ext/Time/HiRes/Makefile.PL     Time::HiRes extension
+ext/Unicode/Normalize/Changes  Unicode::Normalize
+ext/Unicode/Normalize/Makefile.PL      Unicode::Normalize
+ext/Unicode/Normalize/mkheader Unicode::Normalize
+ext/Unicode/Normalize/Normalize.pm     Unicode::Normalize
+ext/Unicode/Normalize/Normalize.pod    Unicode::Normalize
+ext/Unicode/Normalize/Normalize.xs     Unicode::Normalize
+ext/Unicode/Normalize/README   Unicode::Normalize
+ext/Unicode/Normalize/t/func.t Unicode::Normalize
+ext/Unicode/Normalize/t/norm.t Unicode::Normalize
+ext/Unicode/Normalize/t/test.t Unicode::Normalize
 ext/util/make_ext              Used by Makefile to execute extension Makefiles
 ext/XS/Typemap/Makefile.PL     XS::Typemap extension
 ext/XS/Typemap/README          XS::Typemap extension
@@ -792,7 +802,6 @@ lib/autouse.pm                      Load and call a function only when it's used
 lib/autouse.t                  See if autouse works
 lib/base.pm                    Establish IS-A relationship at compile time
 lib/Benchmark.pm               Measure execution time
-lib/Benchmark.t                        Perl code profiler testsuite driver
 lib/bigfloat.pl                        An arbitrary precision floating point package
 lib/bigfloat.t                 See if bigfloat.pl works
 lib/bigint.pl                  An arbitrary precision integer arithmetic package
@@ -801,6 +810,7 @@ lib/bigrat.pl                       An arbitrary precision rational arithmetic package
 lib/blib.pm                    For "use blib"
 lib/blib.t                      blib.pm test
 lib/bytes.pm                   Pragma to enable byte operations
+lib/bytes.t                    bytes.pm test
 lib/bytes_heavy.pl             Support routines for byte pragma
 lib/cacheout.pl                        Manages output filehandles when you need too many
 lib/Carp.pm                    Error message base class
@@ -966,6 +976,8 @@ lib/Filter/Simple.pm                Simple frontend to Filter::Util::Call
 lib/Filter/Simple/Changes      Filter::Simple
 lib/Filter/Simple/README       Filter::Simple
 lib/Filter/Simple/t/filter.t   See if Filter::Simple works
+lib/Filter/Simple/t/data.t     See if Filter::Simple works
+lib/Filter/Simple/t/filter_only.t      See if Filter::Simple works
 lib/find.pl                    A find emulator--used by find2perl
 lib/FindBin.pm                 Find name of currently executing program
 lib/FindBin.t                  See if FindBin works
@@ -1005,10 +1017,6 @@ lib/IPC/SysV.t                   See if IPC::SysV works
 lib/less.pm                    For "use less"
 lib/less.t                     See if less support works
 lib/lib_pm.PL                  For "use lib", produces lib/lib.pm
-lib/Lingua/KO/Hangul/Util.pm           Lingua::KO::Hangul::Util
-lib/Lingua/KO/Hangul/Util/Changes      Lingua::KO::Hangul::Util
-lib/Lingua/KO/Hangul/Util/README       Lingua::KO::Hangul::Util
-lib/Lingua/KO/Hangul/Util/t/test.t             Lingua::KO::Hangul::Util
 lib/locale.pm                  For "use locale"
 lib/locale.t                   See if locale support works
 lib/Locale/Codes/t/all.t       See if Locale::Codes work
@@ -1137,6 +1145,7 @@ lib/Pod/Html.pm                   Convert POD data to HTML
 lib/Pod/InputObjects.pm                Pod-Parser - define objects for input streams
 lib/Pod/LaTeX.pm               Convert POD data to LaTeX
 lib/Pod/Man.pm                 Convert POD data to *roff
+lib/Pod/ParseLink.pm           Perl an L<> formatting code in POD text
 lib/Pod/Parser.pm              Pod-Parser - define base class for parsing POD
 lib/Pod/ParseUtils.pm          Pod-Parser - pod utility functions
 lib/Pod/Plainer.pm             Pod migration utility module
@@ -1250,6 +1259,7 @@ lib/Text/TabsWrap/t/fill.t        See if Text::Wrap::fill works
 lib/Text/TabsWrap/t/tabs.t     See if Text::Tabs works
 lib/Text/TabsWrap/t/wrap.t     See if Text::Wrap::wrap works
 lib/Text/Wrap.pm               Paragraph formatter
+lib/Thread.pm                  Thread extensions frontend
 lib/Tie/Array.pm               Base class for tied arrays
 lib/Tie/Array/push.t           Test for Tie::Array
 lib/Tie/Array/splice.t         Test for Tie::Array::SPLICE
@@ -1277,11 +1287,6 @@ lib/Unicode/Collate/Changes      Unicode::Collate
 lib/Unicode/Collate/keys.txt   Unicode::Collate
 lib/Unicode/Collate/README     Unicode::Collate
 lib/Unicode/Collate/t/test.t   Unicode::Collate
-lib/Unicode/Normalize.pm       Unicode::Normalize
-lib/Unicode/Normalize/Changes  Unicode::Normalize
-lib/Unicode/Normalize/README   Unicode::Normalize
-lib/Unicode/Normalize/t/norm.t Unicode::Normalize
-lib/Unicode/Normalize/t/test.t Unicode::Normalize
 lib/Unicode/README             Explanation what happened to lib/unicode.
 lib/Unicode/UCD.pm             Unicode character database
 lib/Unicode/UCD.t              See if Unicode character database works
@@ -1631,6 +1636,8 @@ lib/utf8_heavy.pl         Support routines for utf8 pragma
 lib/validate.pl                        Perl library supporting wholesale file mode validation
 lib/vars.pm                    Declare pseudo-imported global variables
 lib/vars.t                     See if "use vars" work
+lib/vmsish.pm                  Control VMS-specific behavior of Perl core
+lib/vmsish.t                   Tests for vmsish.pm
 lib/warnings.pm                        For "use warnings"
 lib/warnings.t                 See if warning controls work
 lib/warnings/register.pm       For "use warnings::register"
@@ -1886,6 +1893,7 @@ pod/perltodo.pod          Todo list explained
 pod/perltooc.pod               Tom's object-oriented tutorial (more on class data)
 pod/perltoot.pod               Tom's object-oriented tutorial
 pod/perltrap.pod               Trap info
+pod/perluniintro.pod           Unicode introduction
 pod/perlunicode.pod            Unicode support info
 pod/perlutil.pod               Accompanying utilities explained
 pod/perlvar.pod                        Variable info
@@ -1905,6 +1913,7 @@ pod/splitpod                      Splits perlfunc into multiple pod pages
 Policy_sh.SH           Hold site-wide preferences between Configure runs.
 Porting/apply          Apply patches sent by mail
 Porting/check83.pl     Check whether we are 8.3-friendly
+Porting/checkVERSION.pl        Check whether we have $VERSIONs
 Porting/config.sh      Sample config.sh
 Porting/config_H       Sample config.h
 Porting/Contract       Social contract for contributed modules in Perl core
@@ -2039,6 +2048,7 @@ t/lib/dprof/test6_v               Perl code profiler tests
 t/lib/dprof/V.pm               Perl code profiler tests
 t/lib/filter-util.pl           See if Filter::Util::Call works
 t/lib/FilterTest.pm            Helper file for lib/Filter/Simple/t/filter.t
+t/lib/FilterOnlyTest.pm                Helper file for lib/Filter/Simple/t/filter_only.t
 t/lib/h2ph.h                   Test header file for h2ph
 t/lib/h2ph.pht                 Generated output from h2ph.h by h2ph, for comparison
 t/lib/locale/latin1            Part of locale.t in Latin 1
@@ -2262,6 +2272,14 @@ t/README                 Instructions for regression tests
 t/run/exit.t                    Test perl's exit status.
 t/run/kill_perl.t               Tests that kill perl.
 t/run/runenv.t                 Test if perl honors its environment variables.
+t/run/noswitch.t               Test aliasing ARGV for other switch tests
+t/run/switcha.t                        Test the -a switch
+t/run/switchn.t                        Test the -n switch
+t/run/switchp.t                        Test the -p switch
+t/run/switchx.t                 Test the -x switch
+t/run/switchx.aux               Data for switchx.t
+t/run/switchF.t                        Test the -F switch
+t/run/switches.t               Tests for the other switches
 t/TEST                         The regression tester
 t/test.pl                      Simple testing library
 t/TestInit.pm                  Preamble library for core tests
@@ -2310,8 +2328,6 @@ vms/ext/Stdio/Makefile.PL MakeMaker driver for VMS::Stdio
 vms/ext/Stdio/Stdio.pm         VMS options to stdio routines
 vms/ext/Stdio/Stdio.xs         VMS options to stdio routines
 vms/ext/Stdio/test.pl          regression tests for VMS::Stdio
-vms/ext/vmsish.pm              Control VMS-specific behavior of Perl core
-vms/ext/vmsish.t               Tests for vmsish.pm
 vms/ext/XSSymSet.pm            manage linker symbols when building extensions
 vms/genconfig.pl               retcon config.sh from config.h
 vms/genopt.com                 hack to write options files in case of broken makes
index c9cbfe6..2555a1d 100644 (file)
@@ -877,7 +877,8 @@ _mopup:
        -rm -f perl.third lib*.so.perl.third perl.3log t/perl.third t/perl.3log
        -rm -f perl.pixie lib*.so.perl.pixie lib*.so.Addrs
        -rm -f perl.Addrs perl.Counts t/perl.Addrs t/perl.Counts *perl.xok
-       rm -f perl suidperl miniperl $(LIBPERL) libperl.* microperl
+       -rm -f perlld cygwin.c ld2 libperl*.def libperl*.dll
+       rm -f perl$(EXE_EXT) suidperl$(EXE_EXT) miniperl$(EXE_EXT) $(LIBPERL) libperl.* microperl
 
 # Do not 'make _tidy' directly.
 _tidy:
@@ -899,7 +900,7 @@ _cleaner1:
        done
 
 _cleaner2:
-       rm -f core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/forktmp* t/tmp* t/c t/perl t/rantests .?*.c so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
+       rm -f core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/forktmp* t/tmp* t/c t/perl$(EXE_EXT) t/rantests .?*.c so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
        rm -rf $(addedbyconf)
        rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old
        rm -f $(private)
index ec06f7c..6fde4d6 100644 (file)
@@ -258,28 +258,30 @@ NW_CFG_VARS = \
 NW_CFGSH_TMPL  = config.wc
 NW_CFGH_TMPL   = config_H.wc
 
-SOCKET_NLP     = $(AUTODIR)\Socket\Socket.nlp
-FCNTL_NLP      = $(AUTODIR)\Fcntl\Fcntl.nlp
-IO_NLP         = $(AUTODIR)\IO\IO.nlp
-OPCODE_NLP     = $(AUTODIR)\Opcode\Opcode.nlp
-SDBM_FILE_NLP  = $(AUTODIR)\SDBM_File\SDBM_File.nlp
-POSIX_NLP      = $(AUTODIR)\POSIX\POSIX.nlp
-ATTRS_NLP      = $(AUTODIR)\attrs\attrs.nlp
-THREAD_NLP     = $(AUTODIR)\Thread\Thread.nlp
-B_NLP          = $(AUTODIR)\B\B.nlp
-DUMPER_NLP     = $(AUTODIR)\Data\Dumper\Dumper.nlp
-PEEK_NLP       = $(AUTODIR)\Devel\Peek\Peek.nlp
-RE_NLP         = $(AUTODIR)\re\re.nlp
-BYTELOADER_NLP = $(AUTODIR)\ByteLoader\ByteLoader.nlp
-DPROF_NLP      = $(AUTODIR)\Devel\DProf\DProf.nlp
-GLOB_NLP       = $(AUTODIR)\File\Glob\Glob.nlp
-CWD_NLP                = $(AUTODIR)\Cwd\Cwd.nlp
-STORABLE_NLP   = $(AUTODIR)\Storable\Storable.nlp
-LISTUTIL_NLP   = $(AUTODIR)\List\Util\Util.nlp
-MIMEBASE64_NLP = $(AUTODIR)\MIME\Base64\Base64.nlp
-XSTYPEMAP_NLP  = $(AUTODIR)\XS\Typemap\Typemap.nlp
-
-EXTENSION_NLP  =               \
+SOCKET_NLP             = $(AUTODIR)\Socket\Socket.nlp
+FCNTL_NLP              = $(AUTODIR)\Fcntl\Fcntl.nlp
+IO_NLP                 = $(AUTODIR)\IO\IO.nlp
+OPCODE_NLP             = $(AUTODIR)\Opcode\Opcode.nlp
+SDBM_FILE_NLP          = $(AUTODIR)\SDBM_File\SDBM_File.nlp
+POSIX_NLP              = $(AUTODIR)\POSIX\POSIX.nlp
+ATTRS_NLP              = $(AUTODIR)\attrs\attrs.nlp
+THREAD_NLP             = $(AUTODIR)\Thread\Thread.nlp
+B_NLP                  = $(AUTODIR)\B\B.nlp
+DUMPER_NLP             = $(AUTODIR)\Data\Dumper\Dumper.nlp
+PEEK_NLP               = $(AUTODIR)\Devel\Peek\Peek.nlp
+RE_NLP                 = $(AUTODIR)\re\re.nlp
+BYTELOADER_NLP         = $(AUTODIR)\ByteLoader\ByteLoader.nlp
+DPROF_NLP              = $(AUTODIR)\Devel\DProf\DProf.nlp
+GLOB_NLP               = $(AUTODIR)\File\Glob\Glob.nlp
+HOSTNAME_NLP           = $(AUTODIR)\Sys\Hostname\Hostname.nlp
+CWD_NLP                        = $(AUTODIR)\Cwd\Cwd.nlp
+STORABLE_NLP           = $(AUTODIR)\Storable\Storable.nlp
+LISTUTIL_NLP           = $(AUTODIR)\List\Util\Util.nlp
+MIMEBASE64_NLP         = $(AUTODIR)\MIME\Base64\Base64.nlp
+XSTYPEMAP_NLP          = $(AUTODIR)\XS\Typemap\Typemap.nlp
+UNICODENORMALIZE_NLP   = $(AUTODIR)\XS\Typemap\Typemap.nlp
+
+EXTENSION_NLP  =               \
                $(FCNTL_NLP)    \
                $(BYTELOADER_NLP)       \
                $(IO_NLP)               \
@@ -295,10 +297,12 @@ EXTENSION_NLP     =               \
                $(PEEK_NLP)             \
                $(RE_NLP)       \
                $(DPROF_NLP)    \
+               $(HOSTNAME_NLP) \
                $(STORABLE_NLP) \
                $(LISTUTIL_NLP) \
                $(MIMEBASE64_NLP) \
                $(XSTYPEMAP_NLP)        \
+               $(UNICODENORMALIZE_NLP) \
 #              $(CWD_NLP)      \
 # cwd.pm needs to be modifed for NetWare.
 
@@ -327,11 +331,6 @@ TEST_NLMS  =       \
                        $(ECHO_NLM)     \
                        $(TYPE_NLM)     \
 
-ERRNO_PM_NW    = $(LIBDIR)\Errno.pm
-
-EXTENSION_NPM =        \
-               $(ERRNO_PM_NW)  \
-
 
 !ifndef SCREEN
 SCREEN          = 'none'
@@ -764,35 +763,41 @@ X2P_OBJ           = $(X2P_SRC:.c=.obj)
 
 DYNAMIC_EXT    = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
                Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
-               Storable/Storable List/Util MIME/Base64/Base64 XS/Typemap/Typemap
+               Storable/Storable List/Util MIME/Base64/Base64 \
+               XS/Typemap/Typemap Unicode/Normalize/Normalize Sys/Hostnamees
+
 
 STATIC_EXT     = DynaLoader
 NONXS_EXT      = Errno
 
-DYNALOADER     = $(EXTDIR)\DynaLoader\DynaLoader
-SOCKET         = $(EXTDIR)\Socket\Socket
-FCNTL          = $(EXTDIR)\Fcntl\Fcntl
-OPCODE         = $(EXTDIR)\Opcode\Opcode
-SDBM_FILE      = $(EXTDIR)\SDBM_File\SDBM_File
+DYNALOADER             = $(EXTDIR)\DynaLoader\DynaLoader
+SOCKET                 = $(EXTDIR)\Socket\Socket
+FCNTL                  = $(EXTDIR)\Fcntl\Fcntl
+OPCODE                 = $(EXTDIR)\Opcode\Opcode
+SDBM_FILE              = $(EXTDIR)\SDBM_File\SDBM_File
 IO                     = $(EXTDIR)\IO\IO
-POSIX          = $(EXTDIR)\POSIX\POSIX
-ATTRS          = $(EXTDIR)\attrs\attrs
-THREAD         = $(EXTDIR)\Thread\Thread
+POSIX                  = $(EXTDIR)\POSIX\POSIX
+ATTRS                  = $(EXTDIR)\attrs\attrs
+THREAD                 = $(EXTDIR)\Thread\Thread
 B                      = $(EXTDIR)\B\B
 RE                     = $(EXTDIR)\re\re
-DUMPER         = $(EXTDIR)\Data\Dumper\Dumper
-ERRNO          = $(EXTDIR)\Errno\Errno
-PEEK           = $(EXTDIR)\Devel\Peek\Peek
-BYTELOADER     = $(EXTDIR)\ByteLoader\ByteLoader
-DPROF          = $(EXTDIR)\Devel\DProf\DProf
-GLOB           = $(EXTDIR)\File\Glob\Glob
+DUMPER                 = $(EXTDIR)\Data\Dumper\Dumper
+ERRNO                  = $(EXTDIR)\Errno\Errno
+PEEK                   = $(EXTDIR)\Devel\Peek\Peek
+BYTELOADER             = $(EXTDIR)\ByteLoader\ByteLoader
+DPROF                  = $(EXTDIR)\Devel\DProf\DProf
+GLOB                   = $(EXTDIR)\File\Glob\Glob
+HOSTNAME               = $(EXTDIR)\Sys\Hostname\Hostname
 CWD                    = $(EXTDIR)\Cwd\Cwd
-STORABLE       = $(EXTDIR)\Storable\Storable
-LISTUTIL       = $(EXTDIR)\List\Util
-MIMEBASE64     = $(EXTDIR)\MIME\Base64\Base64
-XSTYPEMAP      = $(EXTDIR)\XS\Typemap\Typemap
+STORABLE               = $(EXTDIR)\Storable\Storable
+LISTUTIL               = $(EXTDIR)\List\Util
+MIMEBASE64             = $(EXTDIR)\MIME\Base64\Base64
+XSTYPEMAP              = $(EXTDIR)\XS\Typemap\Typemap
+UNICODENORMALIZE       = $(EXTDIR)\Unicode\Normalize\Normalize
+
+ERRNO_PM_NW    = $(LIBDIR)\Errno.pm
 
-EXTENSION_C    =               \
+EXTENSION_C    =               \
                $(SOCKET).c     \
                $(FCNTL).c      \
                $(OPCODE).c     \
@@ -808,11 +813,16 @@ EXTENSION_C       =               \
                $(BYTELOADER).c \
                $(DPROF).c      \
                $(GLOB).c       \
+               $(HOSTNAME).c \
                $(CWD).c        \
                $(STORABLE).c   \
                $(LISTUTIL).c   \
                $(MIMEBASE64).c \
                $(XSTYPEMAP).c  \
+               $(UNICODENORMALIZE).c   \
+
+EXTENSION_NPM =        \
+               $(ERRNO_PM_NW)  \
 
 POD2HTML       = $(PODDIR)\pod2html
 POD2MAN                = $(PODDIR)\pod2man
@@ -1171,6 +1181,12 @@ $(SOCKET_NLP): $(NLM_NAME) $(SOCKET).xs
        $(MAKE)
        cd ..\..\netware
 
+$(HOSTNAME_NLP): $(NLM_NAME) $(HOSTNAME).xs
+       cd $(EXTDIR)\Sys\$(*B)
+       ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+       $(MAKE)
+       cd ..\..\..\netware
+
 $(FCNTL_NLP):
        cd $(EXTDIR)\$(*B)
        ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl
@@ -1285,6 +1301,12 @@ $(XSTYPEMAP_NLP):
        $(MAKE)
        cd ..\..\..\netware
 
+$(UNICODENORMALIZE_NLP):
+       cd $(EXTDIR)\Unicode\$(*B)
+       ..\..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl
+       $(MAKE)
+       cd ..\..\..\netware
+
 $(ERRNO_PM_NW):
        cd $(EXTDIR)\$(*B)
        ..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl
@@ -1414,6 +1436,7 @@ utils: $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT) $(X2P)
 distclean: clean nwclean
        -del /f $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD)
        -del /f *.def *.map
+       -del /f $(EXTENSION_NPM)
        -del /f $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm
        -del /f $(EXTDIR)\DynaLoader\dl_netware.xs
        -del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm
@@ -1425,6 +1448,7 @@ distclean: clean nwclean
        -del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
        -del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
        -del /f $(LIBDIR)\File\Glob.pm
+       -del /f $(LIBDIR)\Unicode\Normalize.pm
        -rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
        -rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
        -rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
index 381ae3e..3a35386 100644 (file)
@@ -787,6 +787,7 @@ uvsize='4'
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
+uvXUformat='"lX"'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''
index 12e9a57..1b5d50b 100644 (file)
 #define        UVuf            "lu"            /**/
 #define        UVof            "lo"            /**/
 #define        UVxf            "lx"            /**/
-#define        UVXf            undef           /**/
+#define        UVXf            "lX"            /**/
 #define        NVef            "e"             /**/
 #define        NVff            "f"             /**/
 #define        NVgf            "g"             /**/
index 669ba13..1ddadb5 100644 (file)
@@ -45,7 +45,7 @@
 #define PerlIO_puts(f,s)                       (*PL_StdIO->pPuts)(PL_StdIO, (f),(s)) 
 #define PerlIO_read(f,buf,size)                (*PL_StdIO->pRead)(PL_StdIO, (buf), (size), 1, (f))
 #define PerlIO_eof(f)                          (*PL_StdIO->pEof)(PL_StdIO, (f)) 
-#define PerlIO_fdupopen(f)                     (*PL_StdIO->pFdupopen)(PL_StdIO, (f))
+//#define PerlIO_fdupopen(f)                   (*PL_StdIO->pFdupopen)(PL_StdIO, (f))
 #define PerlIO_reopen(p,m,f)           (*PL_StdIO->pReopen)(PL_StdIO, (p), (m), (f))
 #define PerlIO_open(x,y)                       (*PL_StdIO->pOpen)(PL_StdIO, (x),(y))
 
diff --git a/Porting/checkVERSION.pl b/Porting/checkVERSION.pl
new file mode 100644 (file)
index 0000000..9ad2ff5
--- /dev/null
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+#
+# Check the tree against missing VERSIONs.
+#
+# Originally by Larry Shatzer
+#
+
+use strict;
+use File::Find;
+
+find(
+     sub {
+        return unless -f;
+        if (/\.pm$/ && $File::Find::name !~ m:/t/:) { # pm but not in a test
+            unless (parse_file($_)) {
+                print "$File::Find::name\n";
+            }
+        }
+     }, @ARGV ? shift : ".");
+
+sub parse_file {
+    my $parsefile = shift;
+
+    my $result;
+
+    open(FH,$parsefile) or warn "Could not open '$parsefile': $!";
+
+    my $inpod = 0;
+    while (<FH>) {
+       $inpod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $inpod;
+       next if $inpod || /^\s*\#/;
+       chomp;
+       next unless /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/;
+       my $eval = qq{
+           package ExtUtils::MakeMaker::_version;
+           no strict;
+           local $1$2;
+           \$$2=undef; do {
+               $_
+           }; \$$2
+       };
+       no warnings;
+       $result = eval($eval);
+       warn "Could not eval '$eval' in $parsefile: $@" if $@;
+       $result = "undef" unless defined $result;
+       last;
+    }
+    close FH;
+    return $result;
+}
+
index 44fde71..42f4428 100644 (file)
@@ -24,7 +24,7 @@ and all the various auxiliary files that are part of the distribution.
 
 The Comprehensive Perl Archive Network (or CPAN) is the place to go.
 There are many mirrors, but the easiest thing to use is probably
-http://www.perl.com/CPAN/README.html , which automatically points you to a
+http://www.cpan.org/README.html , which automatically points you to a
 mirror site "close" to you.
 
 =head2 Perl5-porters mailing list
@@ -241,6 +241,9 @@ some or all of the modules File::Basename, File::Spec, File::Path, and
 File::Copy to become aware of your native filesystem syntax and
 peculiarities.
 
+Remember to have a $VERSION in the modules.  You can use the
+Porting/checkVERSION.pl script for checking this.
+
 =item documentation
 
 If your operating system comes from outside UNIX you almost certainly
@@ -359,7 +362,7 @@ on obtaining and running metaconfig is in the F<U/README> file
 that comes with Perl's metaconfig units.  Perl's metaconfig units
 should be available on CPAN.  A set of units that will work with
 perl5.005 is in the file F<mc_units-5.005_00-01.tar.gz> under
-http://www.perl.com/CPAN/authors/id/ANDYD/ .  The mc_units tar file
+http://www.cpan.org/authors/id/ANDYD/ .  The mc_units tar file
 should be unpacked in your main perl source directory.  Note: those
 units were for use with 5.005.  There may have been changes since then.
 Check for later versions or contact perl5-porters@perl.org to obtain a
@@ -633,7 +636,7 @@ script.
 
 I find the F<makepatch> utility quite handy for making patches.
 You can obtain it from any CPAN archive under
-http://www.perl.com/CPAN/authors/Johan_Vromans/ .  There are a couple
+http://www.cpan.org/authors/Johan_Vromans/ .  There are a couple
 of differences between my version and the standard one. I have mine do
 a
 
@@ -1136,7 +1139,7 @@ but not so much that it posed any serious problems.
 
 =item Metaconfig worked for me
 
-My system at the time was Interactive 2.2, a SVR3.2/386 derivative that
+My system at the time was Interactive 2.2, an SVR3.2/386 derivative that
 also had some POSIX support.  Metaconfig-generated Configure scripts
 worked fine for me on that system.  On the other hand, autoconf-generated
 scripts usually didn't.  (They did come quite close, though, in some
@@ -1273,7 +1276,7 @@ reflection, I'd say leave libperl.so in $archlib.
 =head1 Upload Your Work to CPAN
 
 You can upload your work to CPAN if you have a CPAN id.  Check out
-http://www.perl.com/CPAN/modules/04pause.html for information on
+http://www.cpan.org/modules/04pause.html for information on
 _PAUSE_, the Perl Author's Upload Server.
 
 I typically upload both the patch file, e.g. F<perl5.004_08.pat.gz>
@@ -1281,7 +1284,7 @@ and the full tar file, e.g. F<perl5.004_08.tar.gz>.
 
 If you want your patch to appear in the F<src/5.0/unsupported>
 directory on CPAN, send e-mail to the CPAN master librarian.  (Check
-out http://www.perl.com/CPAN/CPAN.html ).
+out http://www.cpan.org/CPAN.html ).
 
 =head1 Help Save the World
 
diff --git a/README b/README
index 28c5de8..d6099b2 100644 (file)
--- a/README
+++ b/README
@@ -86,7 +86,7 @@ I've probably changed my copy since the version you have.
 
 The latest versions of perl are always available on the various CPAN
 (Comprehensive Perl Archive Network) sites around the world.
-See <URL:http://www.perl.com/CPAN/src/>.
+See <URL:http://www.cpan.org/src/>.
 
 
 Just a personal note:  I want you to know that I create nice things like this
index 45a0621..b58b668 100644 (file)
@@ -19,7 +19,7 @@ an ANSI compliant C-compiler with AIX by default, but binary builds of
 gcc for AIX are widely available.
 
 At the moment of writing, AIX supports two different native C compilers,
-for which you have to pay: B<xlc> and B<VAC>. If you decide to use eiter
+for which you have to pay: B<xlc> and B<VAC>. If you decide to use either
 of these two (which is quite a lot easier than using gcc), be sure to
 upgrade to the latest available patch level. Currently:
 
@@ -154,7 +154,7 @@ Follow the messages ... and you're done.
 
 =head2 Using GNU's gcc for building perl
 
-We're woking on this using gcc-3.0 ... (any input highly appreciated)
+We're working on this using gcc-3.0 ... (any input highly appreciated)
 
 =head2 Using Large Files with Perl
 
index 709fcc8..44effb4 100644 (file)
@@ -82,7 +82,7 @@ same way as on any other platform, by
        perl foo arg1 arg2 arg3
 
 If you want to specify perl options C<-my_opts> to the perl itself (as
-opposed to to your program), use
+opposed to your program), use
 
        perl -my_opts foo arg1 arg2 arg3
 
@@ -202,7 +202,7 @@ and extract it with:
 
 or get the official source from CPAN:
 
-  http://www.perl.com/CPAN/src/5.0
+  http://www.cpan.org/src/5.0
 
 Extract it like this
 
index 1dad5ae..b14c434 100644 (file)
@@ -1,5 +1,5 @@
 This document is written in pod format hence there are punctuation
-characters in in odd places.  Do not worry, you've apparently got the
+characters in odd places.  Do not worry, you've apparently got the
 ASCII->EBCDIC translation worked out correctly.  You can read more
 about pod in pod/perlpod.pod or the short summary in the INSTALL file.
 
@@ -151,7 +151,7 @@ C</START-PROG FROM-FILE=*MODULE(PERL,PERL),PROG-MODE=*ANY,RUN-MODE=*ADV>
 First you get the BS2000 commandline prompt ('*').  Here you may enter
 your parameters, e.g. C<-e 'print "Hello World!\\n";'> (note the
 double backslash!) or C<-w> and the name of your Perl script.
-Filenames starting with C</> are searched in in the Posix filesystem,
+Filenames starting with C</> are searched in the Posix filesystem,
 others are searched in the BS2000 filesystem.  You may even use
 wildcards if you put a C<%> in front of your filename (e.g. C<-w
 checkfiles.pl %*.c>).  Read your C/C++ manual for additional
index a216f33..e3aa90f 100644 (file)
--- a/README.ce
+++ b/README.ce
@@ -41,7 +41,7 @@ Before you start, you need to build celib.dll and w32console.
 See instructions in these packages for building.
 
 In the wince directory, type "nmake -f makefile.ce". This should
-build perl.exe and and perl.dll. For building extension dlls,
+build perl.exe and perl.dll. For building extension dlls,
 type "nmake -f makefile.ce dlls"
 
 When building ext dlls, you get lots of macro redefinition
index b033b03..640abab 100644 (file)
@@ -57,10 +57,10 @@ machine is to run the command:
 This will automatically accept all the defaults and
 in particular /usr/local/ as installation directory.
 Note that GCC-2.95.x rev(DG/UX) knows the switch
--pthread whcih allows it to link correctly DG/UX's
+-pthread which allows it to link correctly DG/UX's
 -lthread library.
 
-If you want to change the installtion directory or
+If you want to change the installation directory or
 have a standard DG/UX with C compiler GCC-2.7.2.x
 then you have no choice than to do an interactive
 build by issuing the command:
index 9c444a4..2b40636 100644 (file)
@@ -312,7 +312,7 @@ Note that the MAP_TARGET value *must* have the ".exe" extension or you
 will not create a "perl.exe" to replace the one in C<($DJDIR)/bin>.
 
 When you are done, the XS-module install process will have added information
-to yout "perllocal" information telling that the perl binary has been replaced,
+to your "perllocal" information telling that the perl binary has been replaced,
 and what module was installed.  you can view this information at any time
 by using the command:
 
index 8e12c25..3078df1 100644 (file)
@@ -12,7 +12,7 @@ Perl 5 README file for the EPOC operating system.
 
 =head1 INTRODUCTION
 
-EPOC is a OS for palmtops and mobile phones. For more informations look at:
+EPOC is an OS for palmtops and mobile phones. For more informations look at:
 http://www.symbian.com/
 
 This is a port of perl to EPOC. It runs on ER5 machines: Psion 5mx,
@@ -50,7 +50,7 @@ start perl with a double click on the camel icon. Be sure to configure
 the perl installation drive first. You can even provide a script with
 a special commandline, if needed.
 
-Alternativly you can get ESHELL from symbian: 
+Alternatively you can get ESHELL from symbian: 
 http://developer.epocworld.com/downloads/progs/Eshell.zip
 
 Running ESHELL you can enter: perl -de 0 in order to run the perl
@@ -58,7 +58,7 @@ debugger. If you are leaving perl, you get into the system screen. You
 have to switch back manually to ESHELL. When perl is running, you will
 see a task with the name STDOUT in the task list. 
 
-If you have a ER3 machine (i.e. a PSION 5), you may have to supply the
+If you have an ER3 machine (i.e. a PSION 5), you may have to supply the
 full path to the perl executable C:\system\programs\perl.exe.
 
 If you need to set the current directory of perl, please use the
@@ -68,7 +68,7 @@ command line switch '-x'. See L<perlrun> for details.
 
 You can stop a running perl process in the task list by closing the
 application `STDOUT'. You cannot stop a running perl process if it has
-not written anyting to stdout or stderr! Be very cautious with I/O
+not written anything to stdout or stderr! Be very cautious with I/O
 redirection. You will have to reboot the PDA!
 
 =head1 USING PERL ON EPOC
@@ -129,7 +129,7 @@ backquoting, pipes etc.
 
 =item *
 
-system() does not inherit ressources like: file descriptors,
+system() does not inherit resources like: file descriptors,
 environment etc.
 
 =item *
index b42802d..bc004f1 100644 (file)
@@ -15,7 +15,7 @@ compiled and/or runs.
 =head2 Using perl as shipped with HP-UX
 
 As of application release September 2001, HP-UX 11.00 is shipped with
-perl-5.6.1 in /opt/perl. The first occurrance is on CD 5012-7954 and
+perl-5.6.1 in /opt/perl. The first occurrence is on CD 5012-7954 and
 can be installed using
 
     swinstall -s /cdrom perl
@@ -70,8 +70,8 @@ The original version of PA-RISC, HP no longer sells any system with this chip.
 
 The following systems contained PA-RISC 1.0 chips:
 
-    600, 635, 645, 808, 815, 822, 825, 832, 834, 835, 840, 842, 845, 850, 852,
-    855, 860, 865, 870, 890
+    600, 635, 645, 808, 815, 822, 825, 832, 834, 835, 840, 842, 845, 850,
+    852, 855, 860, 865, 870, 890
 
 =head2 PA-RISC 1.1
 
@@ -80,15 +80,16 @@ system.
 
 The following systems contain with PA-RISC 1.1 chips:
 
-    705, 710, 712, 715, 720, 722, 725, 728, 730, 735, 742, 743, 744, 745, 747,
-    750, 755, 770, 777, 778, 779, 800, 801, 803, 806, 807, 809, 811, 813, 816,
-    817, 819, 821, 826, 827, 829, 831, 837, 839, 841, 847, 849, 851, 856, 857,
-    859, 867, 869, 877, 887, 891, 892, 897, A180, A180C, B115, B120, B132L,
-    B132L+, B160L, B180L, C100, C110, C115, C120, C160L, D200, D210, D220,
-    D230, D250, D260, D310, D320, D330, D350, D360, D410, DX0, DX5, DXO, E25,
-    E35, E45, E55, F10, F20, F30, G30, G40, G50, G60, G70, H20, H30, H40, H50,
-    H60, H70, I30, I40, I50, I60, I70, J200, J210, J210XC, K100, K200, K210,
-    K220, K230, K400, K410, K420, S700i, S715, S744, S760, T500, T520
+    705, 710, 712, 715, 720, 722, 725, 728, 730, 735, 742, 743, 744, 745,
+    747, 750, 755, 770, 777, 778, 779, 800, 801, 803, 806, 807, 809, 811,
+    813, 816, 817, 819, 821, 826, 827, 829, 831, 837, 839, 841, 847, 849,
+    851, 856, 857, 859, 867, 869, 877, 887, 891, 892, 897, A180, A180C,
+    B115, B120, B132L, B132L+, B160L, B180L, C100, C110, C115, C120, C160L,
+    D200, D210, D220, D230, D250, D260, D310, D320, D330, D350, D360, D410,
+    DX0, DX5, DXO, E25, E35, E45, E55, F10, F20, F30, G30, G40, G50, G60,
+    G70, H20, H30, H40, H50, H60, H70, I30, I40, I50, I60, I70, J200, J210,
+    J210XC, K100, K200, K210, K220, K230, K400, K410, K420, S700i, S715,
+    S744, S760, T500, T520
 
 =head2 PA-RISC 2.0
 
@@ -98,14 +99,14 @@ The most recent upgrade to the PA-RISC design, it added support for
 As of the date of this document's last update, the following systems
 contain PA-RISC 2.0 chips (this is very likely to be out of date):
 
-    700, 780, 781, 782, 783, 785, 802, 804, 810, 820, 861, 871, 879, 889, 893,
-    895, 896, 898, 899, A400, A500, B1000, B2000, C130, C140, C160, C180,
-    C180+, C180-XP, C200+, C400+, C3000, C360, C3600, CB260, D270, D280, D370,
-    D380, D390, D650, J220, J2240, J280, J282, J400, J410, J5000, J5500XM,
-    J5600, J7000, J7600, K250, K260, K260-EG, K270, K360, K370, K380, K450,
-    K460, K460-EG, K460-XP, K470, K570, K580, L1000, L2000, L3000, N4000,
-    R380, R390, RP8400, SD16000, SD32000, SD64000, T540, T600, V2000, V2200,
-    V2250, V2500, V2600
+    700, 780, 781, 782, 783, 785, 802, 804, 810, 820, 861, 871, 879, 889,
+    893, 895, 896, 898, 899, A400, A500, B1000, B2000, C130, C140, C160,
+    C180, C180+, C180-XP, C200+, C400+, C3000, C360, C3600, CB260, D270,
+    D280, D370, D380, D390, D650, J220, J2240, J280, J282, J400, J410,
+    J5000, J5500XM, J5600, J7000, J7600, K250, K260, K260-EG, K270, K360,
+    K370, K380, K450, K460, K460-EG, K460-XP, K470, K570, K580, L1000,
+    L2000, L3000, N4000, R380, R390, RP8400, SD16000, SD32000, SD64000,
+    T540, T600, V2000, V2200, V2250, V2500, V2600
 
 =head2 Itanium
 
@@ -126,7 +127,7 @@ chip type used. (Start browsing at the bottom to prevent confusion ;-)
 An executable compiled on a PA-RISC 2.0 platform will not execute on a
 PA-RISC 1.1 platform, even if they are running the same version of
 HP-UX.  If you are building Perl on a PA-RISC 2.0 platform and want that
-Perl to to also run on a PA-RISC 1.1, the compiler flags +DAportable and
+Perl to also run on a PA-RISC 1.1, the compiler flags +DAportable and
 +DS32 should be used.
 
 It is no longer possible to compile PA-RISC 1.0 executables on either
@@ -297,7 +298,7 @@ is listed before -lc in the list of libraries to link Perl with. The
 hints provided for HP-UX during Configure will try very hard to get
 this right for you.
 
-HP-UX versions before 10.30 require a seperate installation of a POSIX
+HP-UX versions before 10.30 require a separate installation of a POSIX
 threads library package. Two examples are the HP DCE package, available
 on "HP-UX Hardware Extensions 3.0, Install and Core OS, Release 10.20,
 April 1999 (B3920-13941)" or the Freely available PTH package, available
index b395509..91a6b30 100644 (file)
@@ -79,14 +79,14 @@ increase cc1's stacksize, if you run out of memory you should
 either decrease the stacksize or follow some more hints:
 
 Perl's building process is very handy on machines with a lot
-of virtual memory but may result in a desaster if you are short
+of virtual memory but may result in a disaster if you are short
 of memory.  If gcc fails to compile many source files you should
 reduce the optimization.  Grep for "optimize" in the file
 config.sh and change the flags.
 
 If only several huge files cause problems (actually it is not a
 matter of the file size resp. the amount of code but depends on
-the size of the individual funtions) it is useful to bypass
+the size of the individual functions) it is useful to bypass
 the make program and compile these files directly from the
 command line.  For example if you got something like the
 following from make:
@@ -103,7 +103,7 @@ Please note that you have to add the name of the source file
 (here toke.c) at the end.
 
 If none of this helps, you're helpless.  Wait for a binary
-release.  If you have succeded you may encounter another problem
+release.  If you have succeeded you may encounter another problem
 at the linking process.  If gcc complains that it can't find
 some libraries within the perl distribution you probably have
 an old linker.  If it complains for example about "file not
index 6f9ee14..a7ec09d 100644 (file)
@@ -17,7 +17,7 @@ README.mpeix - Perl/iX for HP e3000 MPE
 This is a podified version of the above-mentioned web page,
 podified by Jarkko Hietaniemi 2001-Jan-01.
 
-=head1 What's New in Perl ffor MPE/iX
+=head1 What's New in Perl for MPE/iX
 
 June 1, 2000
 
index ac9a19e..196e032 100644 (file)
@@ -61,11 +61,11 @@ The make process runs only under WinNT shell.
 The NetWare makefile is located under the NetWare folder.
 The makefile for NetWare makes use of miniperl.exe to run some of
 the Perl scripts.  To create miniperl.exe, run nmake from
-win32 folder through WinNT commond prompt.  The build process
+win32 folder through WinNT command prompt.  The build process
 can be stopped after miniperl.exe is created.  Then run nmake
 from NetWare folder through WinNT command prompt.
 
-Currently the follwing two build types are tested on NetWare
+Currently the following two build types are tested on NetWare
 
 =over 4
 
index 417af52..ab501ba 100644 (file)
@@ -262,7 +262,7 @@ same way as on any other platform, by
        perl foo.pl arg1 arg2 arg3
 
 If you want to specify perl options C<-my_opts> to the perl itself (as
-opposed to to your program), use
+opposed to your program), use
 
        perl -my_opts foo.pl arg1 arg2 arg3
 
@@ -386,7 +386,7 @@ there is an executable file F<blah.exe> I<anywhere> on C<PATH>.
 
 Note also that executable files on OS/2 can have an arbitrary extension, 
 but F<.exe> will be automatically appended if no dot is present in the name.  
-The workaround as as simple as that:  since F<blah.> and F<blah> denote the 
+The workaround is as simple as that:  since F<blah.> and F<blah> denote the 
 same file, to start an executable residing in file F<n:/bin/blah> (no 
 extension) give an argument C<n:/bin/blah.> (dot appended) to system().
 
@@ -829,8 +829,8 @@ link386 prompts, press C<Ctrl-C> to exit.
 You need to fetch the latest perl source (including developers
 releases). With some probability it is located in 
 
-  http://www.perl.com/CPAN/src/5.0
-  http://www.perl.com/CPAN/src/5.0/unsupported
+  http://www.cpan.org/src/5.0
+  http://www.cpan.org/src/5.0/unsupported
 
 If not, you may need to dig in the indices to find it in the directory
 of the current maintainer.
@@ -838,7 +838,7 @@ of the current maintainer.
 Quick cycle of developers release may break the OS/2 build time to
 time, looking into 
 
-  http://www.perl.com/CPAN/ports/os2/ilyaz/
+  http://www.cpan.org/ports/os2/ilyaz/
 
 may indicate the latest release which was publicly released by the
 maintainer. Note that the release may include some additional patches
@@ -1185,7 +1185,7 @@ C<BEGIN_LIBPATH>.
 
 Returns        C<undef> if it was not called yet, otherwise bit 1 is
 set if on the previous call do_harderror was enabled, bit
-2 is set if if on previous call do_exception was enabled.
+2 is set if on previous call do_exception was enabled.
 
 This function enables/disables error popups associated with 
 hardware errors (Disk not ready etc.) and software exceptions.
@@ -1639,7 +1639,7 @@ of the F<.EXE> file are loaded is decided at compile-time, thus all the
 processes have these sections loaded at same addresses, and no fixup
 of internal links inside the F<.EXE> is needed.
 
-Since DLLs may be loaded at run time, to have the same mechanism for for DLLs
+Since DLLs may be loaded at run time, to have the same mechanism for DLLs
 one needs to have the address range of I<any of the loaded> DLLs in the
 system to be available I<in all the processes> which did not load a particular
 DLL yet.  This is why the DLLs are mapped to the shared memory region.
@@ -1847,7 +1847,7 @@ same as for Perl 5.005_53 (same as in a popular binary release).  Thus
 new Perls will be able to I<resolve the names> of old extension DLLs
 if @INC allows finding their directories.
 
-However, this still does not guarantie that these DLL may be loaded.
+However, this still does not guarantee that these DLL may be loaded.
 The reason is the mangling of the name of the I<Perl DLL>.  And since
 the extension DLLs link with the Perl DLL, extension DLLs for older
 versions would load an older Perl DLL, and would most probably
@@ -1872,7 +1872,7 @@ Old perl executable is started when a new executable is running has
 loaded an extension compiled for the old executable (ouph!).  In this
 case the old executable will get a forwarder DLL instead of the old
 perl DLL, so would link with the new perl DLL.  While not directly
-fatal, it will behave the same as new excutable.  This beats the whole
+fatal, it will behave the same as new executable.  This beats the whole
 purpose of explicitly starting an old executable.
 
 =item *
index 578d5a3..cc550f0 100644 (file)
@@ -253,16 +253,16 @@ Out of Memory!
 Recent perl test suite is quite memory hunrgy. In addition to the comments
 above on memory limitations it is also worth checking for _CEE_RUNOPTS
 in your environment. Perl now has (in miniperlmain.c) a C #pragma
-to set CEE run options, but the enviroment variable wins.
+to set CEE run options, but the environment variable wins.
 
-The C code ask for:
+The C code asks for:
 
  #pragma runopts(HEAP(2M,500K,ANYWHERE,KEEP,8K,4K) STACK(,,ANY,) ALL31(ON))
 
 The important parts of that are the second argument (the increment) to HEAP,
 and allowing the stack to be "Above the (16M) line". If the heap
-increment is too small then when perl (for example loading unicode/Name.pl) trys
-to create a "big" (400K+) string it cannot fit in a single segement
+increment is too small then when perl (for example loading unicode/Name.pl) tries
+to create a "big" (400K+) string it cannot fit in a single segment
 and you get "Out of Memory!" - even if there is still plenty of memory
 available.
 
index 5395ed0..5e53c05 100644 (file)
@@ -84,7 +84,7 @@ WELCOME to Plan 9 Perl, brave soul!
    This is a preliminary alpha version of Plan 9 Perl. Still to be
 implemented are MakeMaker and DynaLoader. Many perl commands are
 missing or currently behave in an inscrutable manner. These gaps will,
-with perserverance and a modicum of luck, be remedied in the near
+with perseverance and a modicum of luck, be remedied in the near
 future.To install this software:
 
 1. Create the source directories and libraries for perl by running the
index 9c4e39a..ef3377d 100644 (file)
@@ -109,6 +109,8 @@ generate a similar cover, but it doesn't handle all the command-line
 options that perl throws at it. This might be reasonably placed in
 /usr/local/bin.
 
+=back
+
 =head2 Outstanding issues with perl under QNX6
 
 The following tests are still failing for Perl 5.7.1 under QNX 6.1.0:
@@ -118,8 +120,6 @@ The following tests are still failing for Perl 5.7.1 under QNX 6.1.0:
   ext/IO/lib/IO/t/io_sock............FAILED at test 12
   ext/IO/lib/IO/t/io_udp.............FAILED at test 4
 
-=back
-
 =head1 AUTHOR
 
 Norton T. Allen (allen@huarp.harvard.edu)
index 627bc73..0caad9b 100644 (file)
@@ -381,7 +381,7 @@ need to use perl's malloc, you can rebuild Perl from the sources
 and Configure the build with 
 
        sh Configure -Dusemymalloc
-  
+
 You should not use perl's malloc if you are building with gcc.  There
 are reports of core dumps, especially in the PDL module.  The problem
 appears to go away under -DDEBUGGING, so it has been difficult to
index de95e10..414ca5a 100644 (file)
@@ -98,7 +98,7 @@ For Digital Unix 4.x:
     Add -lpthread -lc_r to lddlflags
 
     For some reason, the extra includes for pthreads make Digital UNIX
-    complain fatally about the sbrk() delcaration in perl's malloc.c
+    complain fatally about the sbrk() declaration in perl's malloc.c
     so use the native malloc, e.g.  sh Configure -Uusemymalloc, or
     manually edit your config.sh as follows:
        Change usemymalloc to n
@@ -145,7 +145,7 @@ Now you can do a
     make
 
 When you succeed in compiling and testing ("make test" after your
-build) a threaded Perl in a platform previosuly unknown to support
+build) a threaded Perl in a platform previously unknown to support
 threaded perl, please let perlbug@perl.com know about your victory.
 Explain what you did in painful detail.
 
@@ -265,7 +265,7 @@ their associated mutex is held. (This constraint simplifies the
 implementation of condition variables in certain porting situations.)
 For POSIX threads, perl mutexes and condition variables correspond to
 POSIX ones.  For FAKE_THREADS, mutexes are stubs and condition variables
-are implmented as lists of waiting threads. For FAKE_THREADS, a thread
+are implemented as lists of waiting threads. For FAKE_THREADS, a thread
 waits on a condition variable by removing itself from the runnable
 list, calling SCHEDULE to change thr to the next appropriate
 runnable thread and returning op (i.e. the new threads next op).
index 6b69de4..7514028 100644 (file)
@@ -82,7 +82,7 @@ statements in the preprocessor output (.i) file.
 =head2 Testing Anomalies of Perl on VM/ESA
 
 The `make test` step runs a Perl Verification Procedure, usually before
-installation.  As the 5.6.1 kit was was being assembled
+installation.  As the 5.6.1 kit was being assembled
 the following "failures" were known to appear on some machines
 during `make test` (mostly due to ASCII vs. EBCDIC conflicts),
 your results may differ:
index d44cd12..ce6ad85 100644 (file)
@@ -586,7 +586,7 @@ Vmsperl pages on the web include:
     http://www.sidhe.org/vmsperl/index.html
     http://www.crinoid.com/
     http://duphy4.physics.drexel.edu/pub/cgi_info.htmlx
-    http://www.perl.com/CPAN/modules/by-module/VMS/
+    http://www.cpan.org/modules/by-module/VMS/
     http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/
     http://www.best.com/~pvhp/vms/
     http://www-ang.kfunigraz.ac.at/~binder/perl.html
index 97ed838..eb01e37 100644 (file)
@@ -49,7 +49,7 @@ following additional items.
 The VOS Standard C Compiler (or the VOS Standard C
 Cross-Compiler) and the VOS C Runtime.  If you are using
 the generally-available version of POSIX support, you may
-instead use the the VOS GNU C/C++ Compiler.  These are
+instead use the VOS GNU C/C++ Compiler.  These are
 standard Stratus products.
 
 =item 2
index 84fdb18..cf6f3d3 100644 (file)
@@ -84,7 +84,7 @@ case letters, they will be compiled into appropriate .obj-files named
 with all lowercase letters, and every time dmake is invoked
 to bring files up to date, it will try to recompile such files again.
 For example, Tk distribution has a lot of such files, resulting in
-needless recompiles everytime dmake is invoked.  To avoid this, you
+needless recompiles every time dmake is invoked.  To avoid this, you
 may use the script "sync_ext.pl" after a successful build.  It is
 available in the win32 subdirectory of the Perl source distribution.
 
diff --git a/XSUB.h b/XSUB.h
index 5e9c671..e05b369 100644 (file)
--- a/XSUB.h
+++ b/XSUB.h
@@ -130,7 +130,7 @@ handled by C<xsubpp>.
 Return an integer from an XSUB immediately.  Uses C<XST_mIV>.
 
 =for apidoc Am|void|XSRETURN_NV|NV nv
-Return an double from an XSUB immediately.  Uses C<XST_mNV>.
+Return a double from an XSUB immediately.  Uses C<XST_mNV>.
 
 =for apidoc Am|void|XSRETURN_PV|char* str
 Return a copy of a string from an XSUB immediately.  Uses C<XST_mPV>.
index 89536ae..068d1ee 100644 (file)
@@ -44,6 +44,9 @@ unlink "ext/ByteLoader/byterun.c", "ext/ByteLoader/byterun.h", "ext/B/B/Asmdata.
 open(ASMDATA_PM, ">ext/B/B/Asmdata.pm") or die "ext/B/B/Asmdata.pm: $!";
 print ASMDATA_PM $perl_header, <<'EOT';
 package B::Asmdata;
+
+our $VERSION = '1.00';
+
 use Exporter;
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(%insn_data @insn_name @optype @specialsv_name);
@@ -109,7 +112,7 @@ byterun(pTHX_ register struct byteloader_state *bstate)
 
 EOT
 
-for (my $i = 0; $i < @specialsv; $i++) {
+for my $i ( 0 .. $#specialsv ) {
     print BYTERUN_C "    specialsv_list[$i] = $specialsv[$i];\n";
 }
 
@@ -209,7 +212,7 @@ EOT
 
 my $add_enum_value = 0;
 my $max_insn;
-for ($i = 0; $i < @insn_name; $i++) {
+for $i ( 0 .. $#insn_name ) {
     $insn = uc($insn_name[$i]);
     if (defined($insn)) {
        $max_insn = $i;
index 0afe56e..119e699 100644 (file)
@@ -728,8 +728,11 @@ $       DECK
 $       EOD
 $       bool_dflt="n"
 $       rp="Do you really want to continue? [''bool_dflt'] "
-$       IF (fastread) THEN fastread := FALSE
+$       fastread_save = fastread
+$       fastread := FALSE
 $       GOSUB myread
+$       fastread = fastread_save
+$       delete/symbol fastread_save
 $       IF ans
 $       THEN
 $         echo4 "Okay, continuing."
index 5f58ba7..55eef9b 100644 (file)
@@ -46,6 +46,7 @@ repair()
      -e 's=cwd=Cwd=' \
      -e 's=perlio/via=PerlIO/Via=' \
      -e 's=xs/typemap=XS/Typemap=' \
+     -e 's=unicode/normalize=Unicode/Normalize=' \
      -e 's=i18n/langinfo=I18N/Langinfo='
 }
 static_ext=$(repair "$static_ext")
diff --git a/doio.c b/doio.c
index 47a5af6..58df123 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -176,9 +176,13 @@ Perl_do_openn(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
        type = savepvn(name, len);
        tend = type+len;
        SAVEFREEPV(type);
-       /* Loose trailing white space */
-       while (tend > type && isSPACE(tend[-1]))
-           *tend-- = '\0';
+
+        /* Lose leading and trailing white space */
+        /*SUPPRESS 530*/
+        for (; isSPACE(*type); type++) ;
+        while (tend > type && isSPACE(tend[-1]))
+           *--tend = '\0';
+
        if (num_svs) {
            /* New style explict name, type is just mode and discipline/layer info */
            STRLEN l = 0;
@@ -186,8 +190,6 @@ Perl_do_openn(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
            len = (I32)l;
            name = savepvn(name, len);
            SAVEFREEPV(name);
-           /*SUPPRESS 530*/
-           for (; isSPACE(*type); type++) ;
        }
        else {
            name = type;
@@ -2100,7 +2102,7 @@ Perl_do_shmio(pTHX_ I32 optype, SV **mark, SV **sp)
 
 Function called by C<do_readline> to spawn a glob (or do the glob inside
 perl on VMS). This code used to be inline, but now perl uses C<File::Glob>
-this glob starter is only used by miniperl during the build proccess.
+this glob starter is only used by miniperl during the build process.
 Moving it away shrinks pp_hot.c; shrinking pp_hot.c helps speed perl up.
 
 =cut
index a3d5d13..da2285a 100644 (file)
--- a/dosish.h
+++ b/dosish.h
@@ -90,7 +90,7 @@
  *     as the first line of a Perl program designed to be executed directly
  *     by name, instead of the standard Unix #!.  If ALTERNATE_SHEBANG
  *     begins with a character other then #, then Perl will only treat
- *     it as a command line if if finds the string "perl" in the first
+ *     it as a command line if it finds the string "perl" in the first
  *     word; otherwise it's treated as the first line of code in the script.
  *     (IOW, Perl won't hand off to another interpreter via an alternate
  *     shebang sequence that might be legal Perl code.)
diff --git a/dump.c b/dump.c
index 0d87fab..0ac6b0c 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -223,7 +223,7 @@ Perl_sv_peek(pTHX_ SV *sv)
        sv_catpv(t, "(");
        unref++;
     }
-    else if (DEBUG_R_TEST && SvREFCNT(sv) > 1) {
+    else if (DEBUG_R_TEST_ && SvREFCNT(sv) > 1) {
        Perl_sv_catpvf(aTHX_ t, "<%"UVuf">", (UV)SvREFCNT(sv));
     }
 
@@ -1392,3 +1392,123 @@ Perl_sv_dump(pTHX_ SV *sv)
 {
     do_sv_dump(0, Perl_debug_log, sv, 0, 0, 0, 0);
 }
+
+int
+Perl_runops_debug(pTHX)
+{
+    if (!PL_op) {
+       if (ckWARN_d(WARN_DEBUGGING))
+           Perl_warner(aTHX_ WARN_DEBUGGING, "NULL OP IN RUN");
+       return 0;
+    }
+
+    do {
+       PERL_ASYNC_CHECK();
+       if (PL_debug) {
+           if (PL_watchaddr != 0 && *PL_watchaddr != PL_watchok)
+               PerlIO_printf(Perl_debug_log,
+                             "WARNING: %"UVxf" changed from %"UVxf" to %"UVxf"\n",
+                             PTR2UV(PL_watchaddr), PTR2UV(PL_watchok),
+                             PTR2UV(*PL_watchaddr));
+           if (DEBUG_p_TEST_) debstack();
+           if (DEBUG_t_TEST_) debop(PL_op);
+           if (DEBUG_P_TEST_) debprof(PL_op);
+       }
+    } while ((PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX)));
+
+    TAINT_NOT;
+    return 0;
+}
+
+I32
+Perl_debop(pTHX_ OP *o)
+{
+    AV *padlist, *comppad;
+    CV *cv;
+    SV *sv;
+    STRLEN n_a;
+    Perl_deb(aTHX_ "%s", OP_NAME(o));
+    switch (o->op_type) {
+    case OP_CONST:
+       PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo_sv));
+       break;
+    case OP_GVSV:
+    case OP_GV:
+       if (cGVOPo_gv) {
+           sv = NEWSV(0,0);
+           gv_fullname3(sv, cGVOPo_gv, Nullch);
+           PerlIO_printf(Perl_debug_log, "(%s)", SvPV(sv, n_a));
+           SvREFCNT_dec(sv);
+       }
+       else
+           PerlIO_printf(Perl_debug_log, "(NULL)");
+       break;
+    case OP_PADSV:
+    case OP_PADAV:
+    case OP_PADHV:
+       /* print the lexical's name */
+        cv = deb_curcv(cxstack_ix);
+        if (cv) {
+            padlist = CvPADLIST(cv);
+            comppad = (AV*)(*av_fetch(padlist, 0, FALSE));
+            sv = *av_fetch(comppad, o->op_targ, FALSE);
+        } else
+            sv = Nullsv;
+        if (sv)
+           PerlIO_printf(Perl_debug_log, "(%s)", SvPV_nolen(sv));
+        else
+           PerlIO_printf(Perl_debug_log, "[%"UVuf"]", (UV)o->op_targ);
+        break;
+    default:
+       break;
+    }
+    PerlIO_printf(Perl_debug_log, "\n");
+    return 0;
+}
+
+STATIC CV*
+S_deb_curcv(pTHX_ I32 ix)
+{
+    PERL_CONTEXT *cx = &cxstack[ix];
+    if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT)
+        return cx->blk_sub.cv;
+    else if (CxTYPE(cx) == CXt_EVAL && !CxTRYBLOCK(cx))
+        return PL_compcv;
+    else if (ix == 0 && PL_curstackinfo->si_type == PERLSI_MAIN)
+        return PL_main_cv;
+    else if (ix <= 0)
+        return Nullcv;
+    else
+        return deb_curcv(ix - 1);
+}
+
+void
+Perl_watch(pTHX_ char **addr)
+{
+    PL_watchaddr = addr;
+    PL_watchok = *addr;
+    PerlIO_printf(Perl_debug_log, "WATCHING, %"UVxf" is currently %"UVxf"\n",
+       PTR2UV(PL_watchaddr), PTR2UV(PL_watchok));
+}
+
+STATIC void
+S_debprof(pTHX_ OP *o)
+{
+    if (!PL_profiledata)
+       Newz(000, PL_profiledata, MAXO, U32);
+    ++PL_profiledata[o->op_type];
+}
+
+void
+Perl_debprofdump(pTHX)
+{
+    unsigned i;
+    if (!PL_profiledata)
+       return;
+    for (i = 0; i < MAXO; i++) {
+       if (PL_profiledata[i])
+           PerlIO_printf(Perl_debug_log,
+                         "%5lu %s\n", (unsigned long)PL_profiledata[i],
+                                       PL_op_name[i]);
+    }
+}
diff --git a/embed.h b/embed.h
index bef032d..9f4ab86 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define ibcmp                  Perl_ibcmp
 #define ibcmp_locale           Perl_ibcmp_locale
 #define ingroup                        Perl_ingroup
+#define init_argv_symbols      Perl_init_argv_symbols
 #define init_debugger          Perl_init_debugger
 #define init_stacks            Perl_init_stacks
 #define init_tm                        Perl_init_tm
 #define newUNOP                        Perl_newUNOP
 #define newWHILEOP             Perl_newWHILEOP
 #define new_stackinfo          Perl_new_stackinfo
+#define new_vstring            Perl_new_vstring
 #define nextargv               Perl_nextargv
 #define ninstr                 Perl_ninstr
 #define oopsCV                 Perl_oopsCV
 #define reghopmaybe3           S_reghopmaybe3
 #define find_byclass           S_find_byclass
 #endif
-#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
-#   ifdef DEBUGGING
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
 #define deb_curcv              S_deb_curcv
 #define debprof                        S_debprof
-#   endif
 #endif
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #define save_scalar_at         S_save_scalar_at
 #define ibcmp(a,b,c)           Perl_ibcmp(aTHX_ a,b,c)
 #define ibcmp_locale(a,b,c)    Perl_ibcmp_locale(aTHX_ a,b,c)
 #define ingroup(a,b)           Perl_ingroup(aTHX_ a,b)
+#define init_argv_symbols(a,b) Perl_init_argv_symbols(aTHX_ a,b)
 #define init_debugger()                Perl_init_debugger(aTHX)
 #define init_stacks()          Perl_init_stacks(aTHX)
 #define init_tm(a)             Perl_init_tm(aTHX_ a)
 #define newUNOP(a,b,c)         Perl_newUNOP(aTHX_ a,b,c)
 #define newWHILEOP(a,b,c,d,e,f,g)      Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g)
 #define new_stackinfo(a,b)     Perl_new_stackinfo(aTHX_ a,b)
+#define new_vstring(a,b)       Perl_new_vstring(aTHX_ a,b)
 #define nextargv(a)            Perl_nextargv(aTHX_ a)
 #define ninstr(a,b,c,d)                Perl_ninstr(aTHX_ a,b,c,d)
 #define oopsCV(a)              Perl_oopsCV(aTHX_ a)
 #define reghopmaybe3(a,b,c)    S_reghopmaybe3(aTHX_ a,b,c)
 #define find_byclass(a,b,c,d,e,f)      S_find_byclass(aTHX_ a,b,c,d,e,f)
 #endif
-#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
-#   ifdef DEBUGGING
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
 #define deb_curcv(a)           S_deb_curcv(aTHX_ a)
 #define debprof(a)             S_debprof(aTHX_ a)
-#   endif
 #endif
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #define save_scalar_at(a)      S_save_scalar_at(aTHX_ a)
index 37b2cbd..dc99bdf 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -1247,7 +1247,7 @@ p |bool   |do_print       |SV* sv|PerlIO* fp
 p      |OP*    |do_readline
 p      |I32    |do_chomp       |SV* sv
 p      |bool   |do_seek        |GV* gv|Off_t pos|int whence
-     |void   |do_sprintf     |SV* sv|I32 len|SV** sarg
+Ap     |void   |do_sprintf     |SV* sv|I32 len|SV** sarg
 p      |Off_t  |do_sysseek     |GV* gv|Off_t pos|int whence
 p      |Off_t  |do_tell        |GV* gv
 p      |I32    |do_trans       |SV* sv
@@ -1334,6 +1334,7 @@ Apd       |void   |hv_undef       |HV* tb
 Ap     |I32    |ibcmp          |const char* a|const char* b|I32 len
 Ap     |I32    |ibcmp_locale   |const char* a|const char* b|I32 len
 p      |bool   |ingroup        |Gid_t testgid|Uid_t effective
+p      |void   |init_argv_symbols|int|char **
 p      |void   |init_debugger
 Ap     |void   |init_stacks
 Ap     |void   |init_tm        |struct tm *ptm
@@ -1572,6 +1573,7 @@ Ap        |OP*    |newWHILEOP     |I32 flags|I32 debuggable|LOOP* loop \
                                |I32 whileline|OP* expr|OP* block|OP* cont
 
 Ap     |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
+Apd    |char*  |new_vstring    |char *vstr|SV *sv
 p      |PerlIO*|nextargv       |GV* gv
 Ap     |char*  |ninstr         |const char* big|const char* bigend \
                                |const char* little|const char* lend
@@ -2185,11 +2187,9 @@ s        |U8*    |reghopmaybe3   |U8 *pos|I32 off|U8 *lim
 s      |char*  |find_byclass   |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun
 #endif
 
-#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
-#   ifdef DEBUGGING
+#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
 s      |CV*    |deb_curcv      |I32 ix
 s      |void   |debprof        |OP *o
-#   endif
 #endif
 
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
index 42ada75..2cafe19 100644 (file)
@@ -426,7 +426,7 @@ emacs=''
 eunicefix=':'
 exe_ext=''
 expr='expr'
-extensions='Data/Dumper Digest/MD5 Errno Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode PerlIO/Scalar Socket Storable Sys/Hostname attrs re'
+extensions='Data/Dumper Digest/MD5 Errno Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode PerlIO/Scalar Socket Storable Sys/Hostname Unicode/Storable attrs re'
 fflushNULL='undef'
 fflushall='define'
 find=''
index 97dd0c7..06f99c4 100644 (file)
@@ -6,6 +6,9 @@
 #      License or the Artistic License, as specified in the README file.
 #
 package B;
+
+our $VERSION = '1.00';
+
 use XSLoader ();
 require Exporter;
 @ISA = qw(Exporter);
@@ -867,7 +870,7 @@ print_subs() is a B::GV method you have declared.
 Takes any Perl variable and turns it into an object in the
 appropriate B::OP-derived or B::SV-derived class. Apart from functions
 such as C<main_root>, this is the primary way to get an initial
-"handle" on a internal perl data structure which can then be followed
+"handle" on an internal perl data structure which can then be followed
 with the other access methods.
 
 =item ppname(OPNUM)
index dc176be..607071f 100644 (file)
@@ -9,6 +9,9 @@
 # This file is autogenerated from bytecode.pl. Changes made here will be lost.
 #
 package B::Asmdata;
+
+our $VERSION = '1.00';
+
 use Exporter;
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(%insn_data @insn_name @optype @specialsv_name);
index fe7fc52..9bef3ac 100644 (file)
@@ -1,4 +1,7 @@
 package B::Bblock;
+
+our $VERSION = '1.00';
+
 use Exporter ();
 @ISA = "Exporter";
 @EXPORT_OK = qw(find_leaders);
index 1954116..dd49c02 100644 (file)
@@ -7,6 +7,8 @@
 #
 package B::Bytecode;
 
+our $VERSION = '1.00';
+
 use strict;
 use Carp;
 use B qw(main_cv main_root main_start comppadlist
index bcc6f93..d3c9f5b 100644 (file)
@@ -6,6 +6,9 @@
 #      License or the Artistic License, as specified in the README file.
 #
 package B::C::Section;
+
+our $VERSION = '1.00';
+
 use B ();
 use base B::Section;
 
index 51922ee..14ee6cf 100644 (file)
@@ -6,6 +6,9 @@
 #      License or the Artistic License, as specified in the README file.
 #
 package B::CC;
+
+our $VERSION = '1.00';
+
 use Config;
 use strict;
 use B qw(main_start main_root class comppadlist peekop svref_2object
index c69bfbf..f9f8c09 100644 (file)
@@ -1,4 +1,7 @@
 package B::Debug;
+
+our $VERSION = '1.00';
+
 use strict;
 use B qw(peekop class walkoptree walkoptree_exec
          main_start main_root cstring sv_undef);
index b02b9e1..b84e8ea 100644 (file)
@@ -2957,7 +2957,7 @@ sub pp_entersub {
        }
     } else {
        # glob() invocations can be translated into calls of
-       # CORE::GLOBAL::glob with an second parameter, a number.
+       # CORE::GLOBAL::glob with a second parameter, a number.
        # Reverse this.
        if ($kid eq "CORE::GLOBAL::glob") {
            $kid = "glob";
index 212532b..7fc4ac7 100644 (file)
@@ -5,6 +5,9 @@
 #      You may distribute under the terms of either the GNU General Public
 #      License or the Artistic License, as specified in the README file.
 package B::Disassembler::BytecodeStream;
+
+our $VERSION = '1.00';
+
 use FileHandle;
 use Carp;
 use B qw(cstring cast_I32);
index f5186f1..35378ef 100644 (file)
@@ -1,5 +1,7 @@
 package B::Lint;
 
+our $VERSION = '1.00';
+
 =head1 NAME
 
 B::Lint - Perl lint
index 842ca3e..0140c8a 100644 (file)
@@ -1,4 +1,7 @@
 package B::Showlex;
+
+our $VERSION = '1.00';
+
 use strict;
 use B qw(svref_2object comppadlist class);
 use B::Terse ();
index 0db3e33..b17dfb8 100644 (file)
@@ -6,6 +6,9 @@
 #      License or the Artistic License, as specified in the README file.
 #
 package B::Stackobj;  
+
+our $VERSION = '1.00';
+
 use Exporter ();
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(set_callback T_UNKNOWN T_DOUBLE T_INT VALID_UNSIGNED
index f3a8247..5e60868 100644 (file)
@@ -2,6 +2,8 @@
 # vishalb@hotmail.com 
 package B::Stash;
 
+our $VERSION = '1.00';
+
 =pod
 
 =head1 NAME
index 4c31a66..3abe615 100644 (file)
@@ -1,4 +1,7 @@
 package B::Terse;
+
+our $VERSION = '1.00';
+
 use strict;
 use B qw(peekop class walkoptree walkoptree_exec walkoptree_slow
         main_start main_root cstring svref_2object SVf_IVisUV);
index b4078b8..1f3e247 100644 (file)
@@ -1,5 +1,7 @@
 package B::Xref;
 
+our $VERSION = '1.00';
+
 =head1 NAME
 
 B::Xref - Generates cross reference reports for Perl programs
index dcf6a1d..10e90b0 100644 (file)
@@ -16,7 +16,7 @@ if ($^O eq 'MSWin32') {
 
 WriteMakefile(
     NAME       => "B",
-    VERSION    => "a5",
+    VERSION    => "1.00",
     PL_FILES   => { 'defsubs_h.PL' => 'defsubs.h' },
     MAN3PODS   => {},
     clean      => {
index d72d31f..50a445c 100644 (file)
@@ -1,4 +1,7 @@
 package O;
+
+our $VERSION = '1.00';
+
 use B qw(minus_c save_BEGINs);
 use Carp;    
 
index a82404f..19d3afd 100644 (file)
@@ -70,7 +70,8 @@ bsd_realpath(path, resolved)
        char *resolved;
 {
 #ifdef VMS
-       return Perl_rmsexpand((char*)path, resolved, NULL, 0);
+       dTHX;
+       return Perl_rmsexpand(aTHX_ (char*)path, resolved, NULL, 0);
 #else
        struct stat sb;
        int n, rootd, serrno;
index 09b45d6..b636c6d 100644 (file)
@@ -9,19 +9,18 @@ use Config;
 use Cwd;
 use strict;
 use warnings;
+use File::Path;
 
-print "1..14\n";
+use Test::More tests => 16;
+
+my $IsVMS = $^O eq 'VMS';
 
 # check imports
-print +(defined(&cwd) && 
-       defined(&getcwd) &&
-       defined(&fastcwd) &&
-       defined(&fastgetcwd) ?
-        "" : "not "), "ok 1\n";
-print +(!defined(&chdir) &&
-       !defined(&abs_path) &&
-       !defined(&fast_abs_path) ?
-       "" : "not "), "ok 2\n";
+can_ok('main', qw(cwd getcwd fastcwd fastgetcwd));
+ok( !defined(&chdir),           'chdir() not exported by default' );
+ok( !defined(&abs_path),        '  nor abs_path()' );
+ok( !defined(&fast_abs_path),   '  nor fast_abs_path()');
+
 
 # XXX force Cwd to bootsrap its XSUBs since we have set @INC = "../lib"
 # XXX and subsequent chdir()s can make them impossible to find
@@ -33,102 +32,83 @@ my $pwd_cmd =
     ($^O eq "MSWin32" || $^O eq "NetWare") ? "cd" : (grep { -x && -f } map { "$_/pwd" }
                               split m/$Config{path_sep}/, $ENV{PATH})[0];
 
-if ($^O eq 'VMS') { $pwd_cmd = 'SHOW DEFAULT'; }
+$pwd_cmd = 'SHOW DEFAULT' if $IsVMS;
+
+SKIP: {
+    skip "No native pwd command found to test against", 4 unless $pwd_cmd;
 
-if (defined $pwd_cmd) {
     chomp(my $start = `$pwd_cmd`);
     # Win32's cd returns native C:\ style
     $start =~ s,\\,/,g if ($^O eq 'MSWin32' || $^O eq "NetWare");
     # DCL SHOW DEFAULT has leading spaces
-    $start =~ s/^\s+// if $^O eq 'VMS';
-    if ($?) {
-       for (3..6) {
-           print "ok $_ # Skip: '$pwd_cmd' failed\n";
-       }
-    } else {
+    $start =~ s/^\s+// if $IsVMS;
+    SKIP: {
+        skip "'$pwd_cmd' failed, nothing to test against", 4 if $?;
+
        my $cwd        = cwd;
        my $getcwd     = getcwd;
        my $fastcwd    = fastcwd;
        my $fastgetcwd = fastgetcwd;
-       print +($cwd        eq $start ? "" : "not "), "ok 3\n";
-       print +($getcwd     eq $start ? "" : "not "), "ok 4\n";
-       print +($fastcwd    eq $start ? "" : "not "), "ok 5\n";
-       print +($fastgetcwd eq $start ? "" : "not "), "ok 6\n";
-    }
-} else {
-    for (3..6) {
-       print "ok $_ # Skip: no pwd command found\n";
+       is(cwd(),       $start, 'cwd()');
+       is(getcwd(),    $start, 'getcwd()');
+       is(fastcwd(),   $start, 'fastcwd()');
+       is(fastgetcwd(),$start, 'fastgetcwd()');
     }
 }
 
-mkdir "pteerslt", 0777;
-mkdir "pteerslt/path", 0777;
-mkdir "pteerslt/path/to", 0777;
-mkdir "pteerslt/path/to/a", 0777;
-mkdir "pteerslt/path/to/a/dir", 0777;
-Cwd::chdir "pteerslt/path/to/a/dir";
-my $cwd        = cwd;
-my $getcwd     = getcwd;
-my $fastcwd    = fastcwd;
-my $fastgetcwd = fastgetcwd;
-my $want = "t/pteerslt/path/to/a/dir";
-print "# cwd        = '$cwd'\n";
-print "# getcwd     = '$getcwd'\n";
-print "# fastcwd    = '$fastcwd'\n";
-print "# fastgetcwd = '$fastgetcwd'\n";
-# This checked out OK on ODS-2 and ODS-5:
-$want = "T\.PTEERSLT\.PATH\.TO\.A\.DIR\]" if $^O eq 'VMS';
-print +($cwd        =~ m|$want$| ? "" : "not "), "ok 7\n";
-print +($getcwd     =~ m|$want$| ? "" : "not "), "ok 8\n";
-print +($fastcwd    =~ m|$want$| ? "" : "not "), "ok 9\n";
-print +($fastgetcwd =~ m|$want$| ? "" : "not "), "ok 10\n";
+my $Top_Test_Dir = '_ptrslt_';
+my $Test_Dir     = "$Top_Test_Dir/_path_/_to_/_a_/_dir_";
+my $want = "t/$Test_Dir";
+if( $IsVMS ) {
+    # translate the unixy path to VMSish
+    $want = uc $want;
+    $want =~ s|/|\.|g;
+    $want .= '\]';
+}
+
+mkpath(["$Test_Dir"], 0, 0777);
+Cwd::chdir "$Test_Dir";
+
+like(cwd(),        qr|$want$|, 'chdir() + cwd()');
+like(getcwd(),     qr|$want$|, '        + getcwd()');    
+like(fastcwd(),    qr|$want$|, '        + fastcwd()');
+like(fastgetcwd(), qr|$want$|, '        + fastgetcwd()');
 
 # Cwd::chdir should also update $ENV{PWD}
+like($ENV{PWD}, qr|$want$|,      'Cwd::chdir() updates $ENV{PWD}');
+Cwd::chdir "..";
 print "#$ENV{PWD}\n";
-print +($ENV{PWD} =~ m|$want$| ? "" : "not "), "ok 11\n";
-Cwd::chdir ".."; rmdir "dir";
-print "#$ENV{PWD}\n";
-Cwd::chdir ".."; rmdir "a";
+Cwd::chdir "..";
 print "#$ENV{PWD}\n";
-Cwd::chdir ".."; rmdir "to";
+Cwd::chdir "..";
 print "#$ENV{PWD}\n";
-Cwd::chdir ".."; rmdir "path";
+Cwd::chdir "..";
 print "#$ENV{PWD}\n";
-Cwd::chdir ".."; rmdir "pteerslt";
+Cwd::chdir "..";
 print "#$ENV{PWD}\n";
-if ($^O eq 'VMS') {
-    # This checked out OK on ODS-2 and ODS-5:
-    print +($ENV{PWD}  =~ m|\bT\]$| ? "" : "not "), "ok 12\n";
+
+rmtree([$Top_Test_Dir], 0, 0);
+
+if ($IsVMS) {
+    like($ENV{PWD}, qr|\bT\]$|);
 }
 else {
-    print +($ENV{PWD}  =~ m|\bt$| ? "" : "not "), "ok 12\n";
+    like($ENV{PWD}, qr|\bt$|);
 }
 
-if ($Config{d_symlink}) {
-    mkdir "pteerslt", 0777;
-    mkdir "pteerslt/path", 0777;
-    mkdir "pteerslt/path/to", 0777;
-    mkdir "pteerslt/path/to/a", 0777;
-    mkdir "pteerslt/path/to/a/dir", 0777;
-    symlink "pteerslt/path/to/a/dir" => "linktest";
+SKIP: {
+    skip "no symlinks on this platform", 2 unless $Config{d_symlink};
+
+    mkpath([$Test_Dir], 0, 0777);
+    symlink $Test_Dir => "linktest";
 
     my $abs_path      =  Cwd::abs_path("linktest");
     my $fast_abs_path =  Cwd::fast_abs_path("linktest");
-    my $want          = "t/pteerslt/path/to/a/dir";
-
-    print "# abs_path      $abs_path\n";
-    print "# fast_abs_path $fast_abs_path\n";
-    print "# want          $want\n";
-    print +($abs_path      =~ m|$want$| ? "" : "not "), "ok 13\n";
-    print +($fast_abs_path =~ m|$want$| ? "" : "not "), "ok 14\n";
-
-    rmdir "pteerslt/path/to/a/dir";
-    rmdir "pteerslt/path/to/a";
-    rmdir "pteerslt/path/to";
-    rmdir "pteerslt/path";
-    rmdir "pteerslt";
+    my $want          = "t/$Test_Dir";
+
+    like($abs_path,      qr|$want$|);
+    like($fast_abs_path, qr|$want$|);
+
+    rmtree([$Top_Test_Dir], 0, 0);
     unlink "linktest";
-} else {
-    print "ok 13 # skipped\n";
-    print "ok 14 # skipped\n";
 }
index 748bedf..8f42ce3 100755 (executable)
@@ -1061,13 +1061,14 @@ sub test_splice {
     my @array = @$array;
     my @list = @$list;
 
-    open(TEXT, ">$tmp") or die "cannot write to $tmp: $!";
-    foreach (@array) { print TEXT "$_\n" }
-    close TEXT or die "cannot close $tmp: $!";
+    unlink $tmp;
     
     my @h;
-    my $H = tie @h, 'DB_File', $tmp, O_RDWR, 0644, $DB_RECNO
+    my $H = tie @h, 'DB_File', $tmp, O_CREAT|O_RDWR, 0644, $DB_RECNO
       or die "cannot open $tmp: $!";
+
+    my $i = 0;
+    foreach ( @array ) { $h[$i++] = $_ }
     
     return "basic DB_File sanity check failed"
       if list_diff(\@array, \@h);
index 30d6142..83271cf 100644 (file)
@@ -747,7 +747,7 @@ references are not dumped; instead, their names are inserted wherever they
 are encountered subsequently.  This is useful especially for properly
 dumping subroutine references.
 
-Expects a anonymous hash of name => value pairs.  Same rules apply for names
+Expects an anonymous hash of name => value pairs.  Same rules apply for names
 as in C<new>.  If no argument is supplied, will return the "seen" list of
 name => value pairs, in a list context.  Otherwise, returns the object
 itself.
old mode 100755 (executable)
new mode 100644 (file)
similarity index 100%
rename from lib/Benchmark.t
rename to ext/Devel/DProf/DProf.t
index 16471bd..b2b0fc7 100644 (file)
@@ -4,14 +4,14 @@
 package Devel::Peek;
 
 # Underscore to allow older Perls to access older version from CPAN
-$VERSION = '1.00_02';
+$VERSION = '1.00_03';
 
 require Exporter;
 use XSLoader ();
 
 @ISA = qw(Exporter);
 @EXPORT = qw(Dump mstat DeadCode DumpArray DumpWithOP DumpProg
-            fill_mstats mstats_fillhash mstats2hash);
+            fill_mstats mstats_fillhash mstats2hash runops_debug debug_flags);
 @EXPORT_OK = qw(SvREFCNT SvREFCNT_inc SvREFCNT_dec CvGV);
 %EXPORT_TAGS = ('ALL' => [@EXPORT, @EXPORT_OK]);
 
@@ -23,6 +23,26 @@ sub DumpWithOP ($;$) {
    Dump($_[0],$depth);
 }
 
+$D_flags = 'psltocPmfrxuLHXDSTR';
+
+sub debug_flags (;$) {
+  my $out = "";
+  for my $i (0 .. length($D_flags)-1) {
+    $out .= substr $D_flags, $i, 1 if $^D & (1<<$i);
+  }
+  my $arg = shift;
+  my $num = $arg;
+  if (defined $arg and $arg =~ /\D/) {
+    die "unknown flags in debug_flags()" if $arg =~ /[^-$D_flags]/;
+    my ($on,$off) = split /-/, "$arg-";
+    $num = $^D;
+    $num |=  (1<<index($D_flags, $_)) for split //, $on;
+    $num &= ~(1<<index($D_flags, $_)) for split //, $off;
+  }
+  $^D = $num if defined $arg;
+  $out
+}
+
 1;
 __END__
 
@@ -68,6 +88,22 @@ The global variable $Devel::Peek::pv_limit can be set to limit the
 number of character printed in various string values.  Setting it to 0
 means no limit.
 
+=head2 Runtime debugging
+
+C<CvGV($cv)> return one of the globs associated to a subroutine reference $cv.
+
+debug_flags() returns a string representation of C<$^D> (similar to
+what is allowed for B<-D> flag).  When called with a numeric argument,
+sets $^D to the corresponding value.  When called with an argument of
+the form C<"flags-flags">, set on/off bits of C<$^D> corresponding to
+letters before/after C<->.  (The returned value is for C<$^D> before
+the modification.)
+
+runops_debug() returns true if the current I<opcode dispatcher> is the
+debugging one.  When called with an argument, switches to debugging or
+non-debugging dispatcher depending on the argument (active for
+newly-entered subs/etc only).  (The returned value is for the dispatcher before the modification.)
+
 =head2 Memory footprint debugging
 
 When perl is compiled with support for memory footprint debugging
index a2a4186..a1c2970 100644 (file)
@@ -3,6 +3,18 @@
 #include "perl.h"
 #include "XSUB.h"
 
+bool
+_runops_debug(int flag)
+{
+    dTHX;
+    bool d = PL_runops == MEMBER_TO_FPTR(Perl_runops_debug);
+
+    if (flag >= 0)
+       PL_runops 
+           = MEMBER_TO_FPTR(flag ? Perl_runops_debug : Perl_runops_standard);
+    return d;
+}
+
 SV *
 DeadCode(pTHX)
 {
@@ -400,3 +412,6 @@ MODULE = Devel::Peek                PACKAGE = Devel::Peek   PREFIX = _
 SV *
 _CvGV(cv)
     SV *cv
+
+bool
+_runops_debug(int flag = -1)
index 9a109b3..8de2416 100644 (file)
@@ -113,7 +113,7 @@ The constructor returns a new C<Digest::MD5> object which encapsulate
 the state of the MD5 message-digest algorithm.  You can add data to
 the object and finally ask for the digest.
 
-If called as a instance method (i.e. $md5->new) it will just reset the
+If called as an instance method (i.e. $md5->new) it will just reset the
 state the object to the state of a newly created object.  No new
 object is created in this case.
 
index 4ea3fec..bf95950 100644 (file)
@@ -20,7 +20,7 @@ $EXPECT = <<EOT;
 EOT
 } else { # ASCII
 $EXPECT = <<EOT;
-bf8c3c72d071d1c0303fc9e311820708  ext/Digest/MD5/MD5.pm
+665ddc08b12d6b1bf85ac6dc5aae68b3  ext/Digest/MD5/MD5.pm
 95444a9c6ad17e443e4606c6c7fd9e28  ext/Digest/MD5/MD5.xs
 EOT
 }
index 87642ee..752ac36 100644 (file)
@@ -76,7 +76,7 @@ static void TranslateError
     {
        "%s(%d): Object Image Load Failure\n",
        "%s(%d): Object Image Load Success\n",
-       "%s(%d): Not an recognisable object file\n",
+       "%s(%d): Not a recognisable object file\n",
        "%s(%d): No valid architecture\n",
        "%s(%d): Object image has an invalid format\n",
        "%s(%d): Invalid access (permissions?)\n",
index 8fa8440..078d92c 100644 (file)
@@ -85,7 +85,7 @@ static void TranslateError
     {
        "%s(%d): Object Image Load Failure\n",
        "%s(%d): Object Image Load Success\n",
-       "%s(%d): Not an recognisable object file\n",
+       "%s(%d): Not a recognisable object file\n",
        "%s(%d): No valid architecture\n",
        "%s(%d): Object image has an invalid format\n",
        "%s(%d): Invalid access (permissions?)\n",
index 863022b..ddde0f2 100644 (file)
@@ -50,7 +50,6 @@ our %winlatin2cp   = (
                      'Latin1'     => 1252,
                      'Latin2'     => 1250,
                      'Cyrillic'   => 1251,
-                     'Baltic'     => 1257,
                      'Greek'      => 1253,
                      'Turkish'    => 1254,
                      'Hebrew'     => 1255,
@@ -69,6 +68,7 @@ sub findAlias
 {
  my $class = shift;
  local $_ = shift;
+ # print "# findAlias $_\n";
  unless (exists $alias{$_})
   {
    for (my $i=0; $i < @alias; $i += 2)
@@ -121,6 +121,9 @@ define_alias( qr/^iso8859(\d+)$/i => '"iso-8859-$1"' );
 # More HP stuff.
 define_alias( qr/^(?:hp-)?(arabic|greek|hebrew|kana|roman|thai|turkish)8$/i => '"${1}8"' );
 
+# The Official name of ASCII. 
+define_alias( qr/^ANSI[-_]?X3\.4[-_]?1968$/i => '"ascii"' );
+
 # This is a font issue, not an encoding issue.
 # (The currency symbol of the Latin 1 upper half
 #  has been redefined as the euro symbol.)
@@ -158,7 +161,7 @@ define_alias( qr/^koi8u$/i => 'koi8-u' );
 # TODO: Hebrew encoding ISO-8859-8-1
 # TODO: Thai encoding TCVN
 # TODO: Korean encoding Johab
-# TODO: Vietnamese encodings VISCII VPS
+# TODO: Vietnamese encodings VPS
 # TODO: Japanese encoding JIS (not the same as SJIS)
 # TODO: Mac Asian+African encodings: Arabic Armenian Bengali Burmese
 #       ChineseSimp ChineseTrad Devanagari Ethiopic ExtArabic
@@ -193,14 +196,21 @@ sub getEncoding
   {
    return $name;
   }
+ my $lc = lc $name;
  if (exists $encoding{$name})
   {
    return $encoding{$name};
   }
- else
+ if (exists $encoding{$lc})
   {
-   return $class->findAlias($name);
+   return $encoding{$lc};
   }
+
+  my $oc = $class->findAlias($name);
+  return $oc if defined $oc;
+  return $class->findAlias($lc) if $lc ne $name;
+
+  return;
 }
 
 sub find_encoding
@@ -582,11 +592,11 @@ the encoding by picking the first in the following sequence:
 
 =over 4
 
-=item * The MIME name as defined in IETF RFC-XXXX.
+=item * The MIME name as defined in IETF RFCs.
 
 =item * The name in the IANA registry.
 
-=item * The name used by the the organization that defined it.
+=item * The name used by the organization that defined it.
 
 =back
 
@@ -594,6 +604,89 @@ Because of all the alias issues, and because in the general case
 encodings have state C<Encode> uses the encoding object internally
 once an operation is in progress.
 
+As of Perl 5.8.0, at least the following encodings are recognized
+(the => marks aliases):
+
+  ASCII
+
+  US-ASCII => ASCII
+
+The Unicode:
+
+  UTF-8   
+  UTF-16
+  UCS-2
+
+  ISO 10646-1 => UCS-2
+
+The ISO 8859 and KOI:
+
+  ISO 8859-1  ISO 8859-6   ISO 8859-11         KOI8-F
+  ISO 8859-2  ISO 8859-7   (12 doesn't exist)  KOI8-R
+  ISO 8859-3  ISO 8859-8   ISO 8859-13         KOI8-U
+  ISO 8859-4  ISO 8859-9   ISO 8859-14
+  ISO 8859-5  ISO 8859-10  ISO 8859-15
+                           ISO 8859-16
+
+  Latin1  => 8859-1  Latin6  => 8859-10
+  Latin2  => 8859-2  Latin7  => 8859-13
+  Latin3  => 8859-3  Latin8  => 8859-14 
+  Latin4  => 8859-4  Latin9  => 8859-15
+  Latin5  => 8859-9  Latin10 => 8859-16
+
+  Cyrillic => 8859-5
+  Arabic   => 8859-6
+  Greek    => 8859-7
+  Hebrew   => 8859-8
+  Thai     => 8859-11
+  TIS620   => 8859-11 
+
+The CJKV: Chinese, Japanese, Korean, Vietnamese:
+
+  ISO 2022     ISO 2022 JP-1  JIS 0201  GB 1988   Big5       EUC-CN       
+  ISO 2022 CN  ISO 2022 JP-2  JIS 0208  GB 2312   HZ         EUC-JP     
+  ISO 2022 JP  ISO 2022 KR    JIS 0210  GB 12345  CNS 11643  EUC-JP-0212
+  Shift-JIS                                                  EUC-KR     
+  VISCII
+
+The PC codepages:
+
+  CP37   CP852  CP861  CP866  CP949   CP1251  CP1256
+  CP424  CP855  CP862  CP869  CP950   CP1252  CP1257
+  CP737  CP856  CP863  CP874  CP1006  CP1253  CP1258
+  CP775  CP857  CP864  CP932  CP1047  CP1254
+  CP850  CP860  CP865  CP936  CP1250  CP1255
+
+  WinLatin1     => CP1252
+  WinLatin2     => CP1250
+  WinCyrillic   => CP1251
+  WinGreek      => CP1253
+  WinTurkiskh   => CP1254
+  WinHebrew     => CP1255
+  WinArabic     => CP1256
+  WinBaltic     => CP1257
+  WinVietnamese => CP1258
+
+(All the CPI<NNN...> are available also as IBMI<NNN...>.)
+
+The Mac codepages:
+
+  MacCentralEuropean   MacJapanese        
+  MacCroatian          MacRoman           
+  MacCyrillic          MacRumanian        
+  MacDingbats          MacSami            
+  MacGreek             MacThai            
+  MacIcelandic         MacTurkish         
+                       MacUkraine         
+
+Miscellaneous:
+
+  7bit-greek  IR-197
+  7bit-kana   NeXTstep
+  7bit-latin1 POSIX-BC
+  DingBats    Roman8
+  GSM 0338    Symbol
+
 =head1 PERL ENCODING API
 
 =head2 Generic Encoding Interface
@@ -728,9 +821,21 @@ For CHECK see L</"Handling Malformed Data">.
 =head2 Other Encodings of Unicode
 
 UTF-16 is similar to UCS-2, 16 bit or 2-byte chunks.  UCS-2 can only
-represent 0..0xFFFF, while UTF-16 has a "surrogate pair" scheme which
+represent 0..0xFFFF, while UTF-16 has a I<surrogate pair> scheme which
 allows it to cover the whole Unicode range.
 
+Surrogates are code points set aside to encode the 0x01000..0x10FFFF
+range of Unicode code points in pairs of 16-bit units.  The I<high
+surrogates> are the range 0xD800..0xDBFF, and the I<low surrogates>
+are the range 0xDC00..0xDFFFF.  The surrogate encoding is
+
+       $hi = ($uni - 0x10000) / 0x400 + 0xD800;
+       $lo = ($uni - 0x10000) % 0x400 + 0xDC00;
+
+and the decoding is
+
+       $uni = 0x10000 + ($hi - 0xD8000) * 0x400 + ($lo - 0xDC00);
+
 Encode implements big-endian UCS-2 aliased to "iso-10646-1" as that
 happens to be the name used by that representation when used with X11
 fonts.
index 460a521..5d3ad1b 100644 (file)
@@ -1,4 +1,7 @@
 package Encode::Tcl;
+
+our $VERSION = '1.00';
+
 use strict;
 use Encode qw(find_encoding);
 use base 'Encode::Encoding';
index 541106c..efa6130 100644 (file)
@@ -98,7 +98,9 @@ sub get_files {
     } elsif ($Config{archname} eq 'epoc') {
        # Watch out for cross compiling for EPOC (usually done on linux)
        $file{'/usr/local/epoc/include/libc/sys/errno.h'} = 1;
-    } elsif ($^O eq 'linux') {
+    } elsif ($^O eq 'linux' &&
+            $Config{gccversion} ne '' # might be using, say, Intel's icc
+            ) {
        # Some Linuxes have weird errno.hs which generate
        # no #file or #line directives
        $file{'/usr/include/errno.h'} = 1;
index 6f301c3..a560626 100644 (file)
@@ -18,7 +18,7 @@ use vars qw($VERSION @ISA @EXPORT) ;
 
 @ISA = qw(Exporter DynaLoader);
 @EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.05" ;
+$VERSION = "1.06" ;
 
 sub filter_read_exact($)
 {
index 54b213b..0215fa6 100644 (file)
@@ -2,8 +2,8 @@
  * Filename : Call.xs
  * 
  * Author   : Paul Marquess 
- * Date     : 26th March 2000
- * Version  : 1.05
+ * Date     : 11th November 2001
+ * Version  : 1.06
  *
  *    Copyright (c) 1995-2001 Paul Marquess. All rights reserved.
  *       This program is free software; you can redistribute it and/or
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
-
-#ifndef PERL_VERSION
-#    include "patchlevel.h"
-#    define PERL_REVISION      5
-#    define PERL_VERSION       PATCHLEVEL
-#    define PERL_SUBVERSION    SUBVERSION
-#endif
-
-/* defgv must be accessed differently under threaded perl */
-/* DEFSV et al are in 5.004_56 */
-#ifndef DEFSV
-#    define DEFSV              GvSV(defgv)
+#ifdef _NOT_CORE
+#  include "ppport.h"
 #endif
 
-#ifndef pTHX
-#    define pTHX
-#    define pTHX_
-#    define aTHX
-#    define aTHX_
-#endif
-
-
 /* Internal defines */
 #define PERL_MODULE(s)         IoBOTTOM_NAME(s)
 #define PERL_OBJECT(s)         IoTOP_GV(s)
         do { SvPVX(sv)[len] = '\0'; SvCUR_set(sv, len); } while (0)
 
 
+/* Global Data */
+
+#define MY_CXT_KEY "Filter::Util::Call::_guts" XS_VERSION
+typedef struct {
+    int x_fdebug ;
+    int x_current_idx ;
+} my_cxt_t;
+START_MY_CXT
+#define fdebug          (MY_CXT.x_fdebug)
+#define current_idx     (MY_CXT.x_current_idx)
 
-static int fdebug = 0;
-static int current_idx ;
 
 static I32
 filter_call(pTHX_ int idx, SV *buf_sv, int maxlen)
 {
+    dMY_CXT;
     SV   *my_sv = FILTER_DATA(idx);
     char *nl = "\n";
     char *p;
@@ -204,6 +198,7 @@ filter_read(size=0)
        int     size 
        CODE:
        {
+           dMY_CXT;
            SV * buffer = DEFSV ;
 
            RETVAL = FILTER_READ(IDX + 1, buffer, size) ;
@@ -239,6 +234,7 @@ real_import(object, perlmodule, coderef)
 void
 filter_del()
     CODE:
+        dMY_CXT;
        FILTER_ACTIVE(FILTER_DATA(IDX)) = FALSE ;
 
 
@@ -251,8 +247,12 @@ unimport(package="$Package", ...)
 
 
 BOOT:
+  {
+    MY_CXT_INIT;
+    fdebug = 0;
     /* temporary hack to control debugging in toke.c */
     if (fdebug)
         filter_add(NULL, (fdebug) ? (SV*)"1" : (SV*)"0");  
+  }
 
 
index 0a083ef..4ac2638 100644 (file)
@@ -201,7 +201,7 @@ for details of these functions.
 
 =back
 
-C<IO::Dir> also provides a interface to reading directories via a tied
+C<IO::Dir> also provides an interface to reading directories via a tied
 HASH. The tied HASH extends the interface beyond just the directory
 reading routines by the use of C<lstat>, from the C<File::stat> package,
 C<unlink>, C<rmdir> and C<utime>.
index 240033f..d5520cb 100644 (file)
@@ -51,7 +51,7 @@ these classes with methods that are specific to file handles.
 
 =item new ( FILENAME [,MODE [,PERMS]] )
 
-Creates a C<IO::File>.  If it receives any parameters, they are passed to
+Creates an C<IO::File>.  If it receives any parameters, they are passed to
 the method C<open>; if the open fails, the object is destroyed.  Otherwise,
 it is returned to the caller.
 
@@ -78,7 +78,7 @@ whitespace or other special characters, and the second parameter is
 the open mode, optionally followed by a file permission value.
 
 If C<IO::File::open> receives a Perl mode string ("E<gt>", "+E<lt>", etc.)
-or a ANSI C fopen() mode string ("w", "r+", etc.), it uses the basic
+or an ANSI C fopen() mode string ("w", "r+", etc.), it uses the basic
 Perl C<open> operator (but protects any special characters).
 
 If C<IO::File::open> is given a numeric mode, it passes that mode
index 6fdba17..74f9b21 100644 (file)
@@ -48,7 +48,7 @@ Creates a new C<IO::Handle> object.
 
 =item new_from_fd ( FD, MODE )
 
-Creates a C<IO::Handle> like C<new> does.
+Creates an C<IO::Handle> like C<new> does.
 It requires two parameters, which are passed to the method C<fdopen>;
 if the fdopen fails, the object is destroyed. Otherwise, it is returned
 to the caller.
@@ -105,7 +105,7 @@ Furthermore, for doing normal I/O you might need these:
 =item $io->fdopen ( FD, MODE )
 
 C<fdopen> is like an ordinary C<open> except that its first parameter
-is not a filename but rather a file handle name, a IO::Handle object,
+is not a filename but rather a file handle name, an IO::Handle object,
 or a file descriptor number.
 
 =item $io->opened
@@ -220,7 +220,7 @@ the taint-clean flag failed. (eg invalid handle)
 
 =head1 NOTE
 
-A C<IO::Handle> object is a reference to a symbol/GLOB reference (see
+An C<IO::Handle> object is a reference to a symbol/GLOB reference (see
 the C<Symbol> package).  Some modules that
 inherit from C<IO::Handle> may want to keep object related variables
 in the hash table part of the GLOB. In an attempt to prevent modules
index a500f29..0aaa2d7 100644 (file)
@@ -198,7 +198,7 @@ processes.
 
 =item new ( [READER, WRITER] )
 
-Creates a C<IO::Pipe>, which is a reference to a newly created symbol
+Creates an C<IO::Pipe>, which is a reference to a newly created symbol
 (see the C<Symbol> package). C<IO::Pipe::new> optionally takes two
 arguments, which should be objects blessed into C<IO::Handle>, or a
 subclass thereof. These two objects will be used for the system call
index f556b02..7e5d8bd 100644 (file)
@@ -281,7 +281,7 @@ cache which is indexed by the C<fileno> of the handle, so if more than one
 handle with the same C<fileno> is specified then only the last one is cached.
 
 Each handle can be an C<IO::Handle> object, an integer or an array
-reference where the first element is a C<IO::Handle> or an integer.
+reference where the first element is an C<IO::Handle> or an integer.
 
 =item remove ( HANDLES )
 
index d670fe5..2b4c9d7 100644 (file)
@@ -432,7 +432,7 @@ is returned.
 =item sockdomain
 
 Returns the numerical number for the socket domain type. For example, for
-a AF_INET socket the value of &AF_INET will be returned.
+an AF_INET socket the value of &AF_INET will be returned.
 
 =item sockopt(OPT [, VAL])
 
index db1a322..13bb65c 100755 (executable)
@@ -9,10 +9,10 @@ BEGIN {
 use Config;
 
 BEGIN {
-    if(-d "lib" && -f "TEST") {
-        if ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
-           print "1..0\n";
-           exit 0;
+    if($ENV{PERL_CORE}) {
+        if ($Config{'extensions'} !~ /\bIO\b/) {
+            print "1..0 # Skip: IO extension not compiled\n";
+            exit 0;
         }
     }
 }
index 6ec4e9f..a6f03d0 100755 (executable)
@@ -7,7 +7,7 @@ BEGIN {
     }
     require Config; import Config;
     if ($] < 5.00326 || not $Config{'d_readdir'}) {
-       print "1..0\n";
+       print "1..0 # Skip: readdir() not available\n";
        exit 0;
     }
 }
index 8983a56..351a38d 100755 (executable)
@@ -10,9 +10,9 @@ BEGIN {
 use Config;
 
 BEGIN {
-    if(-d "lib" && -f "TEST") {
-        if ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
-           print "1..0\n";
+    if($ENV{PERL_CORE}) {
+        if ($Config{'extensions'} !~ /\bIO\b/) {
+           print "1..0 # Skip: IO extension not compiled\n";
            exit 0;
         }
     }
@@ -39,14 +39,15 @@ $stderr->fdopen($stdout,"w");
 
 print $stdout "ok 2\n";
 print $stderr "ok 3\n";
-if ($^O eq 'MSWin32' || $^O eq 'NetWare') {
-    print `echo ok 4`;
-    print `echo ok 5 1>&2`; # does this *really* work?
-}
-else {
-    system 'echo ok 4';
-    system 'echo ok 5 1>&2';
-}
+
+# Since some systems don't have echo, we use Perl.
+$echo = qq{$^X -le "print q{ok %d}"};
+
+$cmd = sprintf $echo, 4;
+print `$cmd`;
+
+$cmd = sprintf "$echo 1>&2", 5;     
+print `$cmd`;
 
 $stderr->close;
 $stdout->close;
index ae18224..a8bc483 100755 (executable)
@@ -18,7 +18,6 @@ BEGIN {
        elsif ($Config{'extensions'} !~ /\bIO\b/) {
            $reason = 'IO extension unavailable';
        }
-       undef $reason if $^O eq 'VMS';
        if ($reason) {
            print "1..0 # Skip: $reason\n";
            exit 0;
index 1426b76..009c251 100755 (executable)
@@ -49,9 +49,10 @@ $sel->remove([\*STDOUT, 5]);
 print "not " unless $sel->count == 0 && !defined($sel->bits);
 print "ok 9\n";
 
-if ($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'dos') {  # 4-arg select is only valid on sockets
-    print "# skipping tests 10..15\n";
-    for (10 .. 15) { print "ok $_\n" }
+if ( grep $^O eq $_, qw(MSWin32 NetWare dos VMS riscos) ) {
+    for (10 .. 15) { 
+        print "ok $_ # skip: 4-arg select is only valid on sockets\n"
+    }
     $sel->add(\*STDOUT);  # update
     goto POST_SOCKET;
 }
index 6b241c5..c4bfcc4 100755 (executable)
@@ -21,7 +21,6 @@ BEGIN {
        elsif ($Config{'extensions'} !~ /\bIO\b/) {
            $reason = 'IO extension unavailable';
        }
-       undef $reason if $^O eq 'VMS' and $Config{d_socket};
        if ($reason) {
            print "1..0 # Skip: $reason\n";
            exit 0;
index f120c97..e8ce473 100644 (file)
@@ -30,7 +30,6 @@ BEGIN {
        } elsif ($^O =~ m/^(?:qnx|nto)$/ ) {
            $reason = 'Not implemented';
        }
-       undef $reason if $^O eq 'VMS' and $Config{d_socket};
        if ($reason) {
            print "1..0 # Skip: $reason\n";
            exit 0;
index 2449fc4..2ef9577 100644 (file)
@@ -10,12 +10,16 @@ BEGIN {
 use Config;
 
 BEGIN {
-    if(-d "lib" && -f "TEST") {
-        if ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
-           print "1..0\n";
+    if($ENV{PERL_CORE}) {
+        if ($Config{'extensions'} !~ /\bIO\b/) {
+           print "1..0 # Skip: IO extension not built\n";
            exit 0;
         }
     }
+    if( $^O eq 'VMS' && $Config{'vms_cc_type'} ne 'decc' ) {
+        print "1..0 # Skip: not compatible with the VAXCRTL\n";
+        exit 0;
+    }
 }
 
 use IO::File;
index 9b553b7..8a7a200 100644 (file)
@@ -1,5 +1,7 @@
 package ops;
 
+our $VERSION = '1.00';
+
 use Opcode qw(opmask_add opset invert_opset);
 
 sub import {
index eddf38f..81c97e5 100644 (file)
@@ -10,150 +10,160 @@ BEGIN {
     }
 }
 
+require "./test.pl";
+plan(tests => 31);
+
+
 use POSIX qw(fcntl_h signal_h limits_h _exit getcwd open read strftime write
             errno);
-use strict subs;
+use strict 'subs';
 
 $| = 1;
-print "1..29\n";
 
-$Is_W32 = $^O eq 'MSWin32';
-$Is_NetWare = $^O eq 'NetWare';
-$Is_Dos = $^O eq 'dos';
-$Is_MPE = $^O eq 'mpeix';
-$Is_MacOS = $^O eq 'MacOS';
+$Is_W32     = $^O eq 'MSWin32';
+$Is_Dos     = $^O eq 'dos';
+$Is_MPE     = $^O eq 'mpeix';
+$Is_MacOS   = $^O eq 'MacOS';
+$Is_VMS     = $^O eq 'VMS';
+$Is_OS2     = $^O eq 'os2';
+$Is_UWin    = $^O eq 'uwin';
+$Is_OS390   = $^O eq 'os390';
 
-$testfd = open("TEST", O_RDONLY, 0) and print "ok 1\n";
+ok( $testfd = open("TEST", O_RDONLY, 0),        'O_RDONLY with open' );
 read($testfd, $buffer, 9) if $testfd > 2;
-print $buffer eq "#!./perl\n" ? "ok 2\n" : "not ok 2\n";
+is( $buffer, "#!./perl\n",                      '    with read' );
 
 write(1,"ok 3\nnot ok 3\n", 5);
+next_test();
+
+SKIP: {
+    skip("no pipe() support on DOS", 2) if $Is_Dos;
 
-if ($Is_Dos) {
-    for (4..5) {
-        print "ok $_ # skipped, no pipe() support on dos\n";
-    }
-} else {
     @fds = POSIX::pipe();
-    print $fds[0] > $testfd ? "ok 4\n" : "not ok 4\n";
+    ok( $fds[0] > $testfd,      'POSIX::pipe' );
+
     CORE::open($reader = \*READER, "<&=".$fds[0]);
     CORE::open($writer = \*WRITER, ">&=".$fds[1]);
     print $writer "ok 5\n";
     close $writer;
     print <$reader>;
     close $reader;
+    next_test();
 }
 
-if ($Is_W32 || $Is_Dos) {
-    for (6..11) {
-       print "ok $_ # skipped, no sigaction support on win32/dos\n";
-    }
-}
-else {
-    $sigset = new POSIX::SigSet 1, 3;
-    delset $sigset 1;
-    if (!ismember $sigset 1) { print "ok 6\n" }
-    if ( ismember $sigset 3) { print "ok 7\n" }
+SKIP: {
+    skip("no sigaction support on win32/dos", 6) if $Is_W32 || $Is_Dos;
+
+    my $sigset = new POSIX::SigSet 1, 3;
+    $sigset->delset(1);
+    ok(! $sigset->ismember(1),  'POSIX::SigSet->delset' );
+    ok(  $sigset->ismember(3),  'POSIX::SigSet->ismember' );
     
-    if ($Is_MacOS) {
-       for (8..11) {
-           print "ok $_ # skipped, no kill() support on Mac OS\n";
-       }
-    }
-    else {
-       $mask = new POSIX::SigSet &SIGINT;
-       $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
+    SKIP: {
+        skip("no kill() support on Mac OS", 4) if $Is_MacOS;
+
+       my $mask   = new POSIX::SigSet &SIGINT;
+       my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
        sigaction(&SIGHUP, $action);
        $SIG{'INT'} = 'SigINT';
        kill 'HUP', $$;
        sleep 1;
-       print "ok 11\n";
+       print "ok 11 - signal masks successful\n";
        
        sub SigHUP {
-           print "ok 8\n";
+           print "ok 8 - sigaction SIGHUP\n";
            kill 'INT', $$;
            sleep 2;
-           print "ok 9\n";
+           print "ok 9 - sig mask delayed SIGINT\n";
        }
 
         sub SigINT {
-           print "ok 10\n";
+           print "ok 10 -   masked SIGINT received\n";
        }
+
+        # The order of the above tests is very important, so
+        # we use literal prints and hard coded numbers.
+        next_test() for 1..4;
     }
 }
 
-if ($Is_MPE) {
-    print "ok 12 # skipped, _POSIX_OPEN_MAX is inaccurate on MPE\n"
-} else {
-    if (&_POSIX_OPEN_MAX) {
-       print &_POSIX_OPEN_MAX > $fds[1] ? "ok 12\n" : "not ok 12\n";
-    } else {
-       print "ok 12 # _POSIX_OPEN_MAX undefined ($fds[1])\n";
-    }
+SKIP: {
+    skip("_POSIX_OPEN_MAX is inaccurate on MPE", 1) if $Is_MPE;
+    skip("_POSIX_OPEN_MAX undefined ($fds[1])",  1) unless &_POSIX_OPEN_MAX;
+
+    ok( &_POSIX_OPEN_MAX > $fds[1], '_POSIX_OPEN_MAX' );
 }
 
 my $pat;
 if ($Is_MacOS) {
     $pat = qr/:t:$/;
-} else {
+} 
+elsif ( $Is_VMS ) {
+    $pat = qr/\.T]/i;
+}
+else {
     $pat = qr#[\\/]t$#i;
 }
-print getcwd() =~ $pat ? "ok 13\n" : "not ok 13\n";
+like( getcwd(), qr/$pat/, 'getcwd' );
 
 # Check string conversion functions.
 
-if ($Config{d_strtod}) {
+SKIP: { 
+    skip("strtod() not present", 1) unless $Config{d_strtod};
+
     $lc = &POSIX::setlocale(&POSIX::LC_NUMERIC, 'C') if $Config{d_setlocale};
+
+    # we're just checking that strtod works, not how accurate it is
     ($n, $x) = &POSIX::strtod('3.14159_OR_SO');
-# we're just checking that strtod works, not how accurate it is
-    print ((abs("3.14159" - $n) < 1e-6) && ($x == 6) ?
-          "ok 14\n" : "not ok 14\n");
+    ok((abs("3.14159" - $n) < 1e-6) && ($x == 6), 'strtod works');
+
     &POSIX::setlocale(&POSIX::LC_NUMERIC, $lc) if $Config{d_setlocale};
-} else { print "# strtod not present\n", "ok 14\n"; }
+}
+
+SKIP: {
+    skip("strtol() not present", 2) unless $Config{d_strtol};
 
-if ($Config{d_strtol}) {
     ($n, $x) = &POSIX::strtol('21_PENGUINS');
-    print (($n == 21) && ($x == 9) ? "ok 15\n" : "not ok 15\n");
-} else { print "# strtol not present\n", "ok 15\n"; }
+    is($n, 21, 'strtol() number');
+    is($x, 9,  '         unparsed chars');
+}
+
+SKIP: {
+    skip("strtoul() not present", 2) unless $Config{d_strtoul};
 
-if ($Config{d_strtoul}) {
     ($n, $x) = &POSIX::strtoul('88_TEARS');
-    print (($n == 88) && ($x == 6) ? "ok 16\n" : "not ok 16\n");
-} else { print "# strtoul not present\n", "ok 16\n"; }
+    is($n, 88, 'strtoul() number');
+    is($x, 6,  '          unparsed chars');
+}
 
 # Pick up whether we're really able to dynamically load everything.
-print &POSIX::acos(1.0) == 0.0 ? "ok 17\n" : "not ok 17\n";
+ok( &POSIX::acos(1.0) == 0.0,   'dynamic loading' );
 
 # This can coredump if struct tm has a timezone field and we
 # didn't detect it.  If this fails, try adding
 # -DSTRUCT_TM_HASZONE to your cflags when compiling ext/POSIX/POSIX.c.
 # See ext/POSIX/hints/sunos_4.pl and ext/POSIX/hints/linux.pl 
-print POSIX::strftime("ok 18 # %H:%M, on %D\n", localtime());
+print POSIX::strftime("ok 20 # %H:%M, on %D\n", localtime());
+next_test();
 
 # If that worked, validate the mini_mktime() routine's normalisation of
 # input fields to strftime().
 sub try_strftime {
-    my $num = shift;
     my $expect = shift;
     my $got = POSIX::strftime("%a %b %d %H:%M:%S %Y %j", @_);
-    if ($got eq $expect) {
-       print "ok $num\n";
-    }
-    else {
-       print "# expected: $expect\n# got: $got\nnot ok $num\n";
-    }
+    is($got, $expect, "validating mini_mktime() and strftime(): $expect");
 }
 
 $lc = &POSIX::setlocale(&POSIX::LC_TIME, 'C') if $Config{d_setlocale};
-try_strftime(19, "Wed Feb 28 00:00:00 1996 059", 0,0,0, 28,1,96);
-try_strftime(20, "Thu Feb 29 00:00:60 1996 060", 60,0,-24, 30,1,96);
-try_strftime(21, "Fri Mar 01 00:00:00 1996 061", 0,0,-24, 31,1,96);
-try_strftime(22, "Sun Feb 28 00:00:00 1999 059", 0,0,0, 28,1,99);
-try_strftime(23, "Mon Mar 01 00:00:00 1999 060", 0,0,24, 28,1,99);
-try_strftime(24, "Mon Feb 28 00:00:00 2000 059", 0,0,0, 28,1,100);
-try_strftime(25, "Tue Feb 29 00:00:00 2000 060", 0,0,0, 0,2,100);
-try_strftime(26, "Wed Mar 01 00:00:00 2000 061", 0,0,0, 1,2,100);
-try_strftime(27, "Fri Mar 31 00:00:00 2000 091", 0,0,0, 31,2,100);
+try_strftime("Wed Feb 28 00:00:00 1996 059", 0,0,0, 28,1,96);
+try_strftime("Thu Feb 29 00:00:60 1996 060", 60,0,-24, 30,1,96);
+try_strftime("Fri Mar 01 00:00:00 1996 061", 0,0,-24, 31,1,96);
+try_strftime("Sun Feb 28 00:00:00 1999 059", 0,0,0, 28,1,99);
+try_strftime("Mon Mar 01 00:00:00 1999 060", 0,0,24, 28,1,99);
+try_strftime("Mon Feb 28 00:00:00 2000 059", 0,0,0, 28,1,100);
+try_strftime("Tue Feb 29 00:00:00 2000 060", 0,0,0, 0,2,100);
+try_strftime("Wed Mar 01 00:00:00 2000 061", 0,0,0, 1,2,100);
+try_strftime("Fri Mar 31 00:00:00 2000 091", 0,0,0, 31,2,100);
 &POSIX::setlocale(&POSIX::LC_TIME, $lc) if $Config{d_setlocale};
 
 {
@@ -165,15 +175,20 @@ try_strftime(27, "Fri Mar 31 00:00:00 2000 091", 0,0,0, 31,2,100);
        # Autoloading should not munge the value.
        my $foo  = $!;
        my $errno = POSIX::errno();
-       print "not " unless $errno == $foo;
-       print "ok ", 28 + $test, "\n";
+
+        local $TODO;
+        $TODO = 'POSIX::errno() munged by autoloading on VMS' 
+            if $Is_VMS && $test == 0;
+
+        # Force numeric context.
+       is( $errno + 0, $foo + 0,     'autoloading and errno() mix' );
     }
 }
 
 $| = 0;
 # The following line assumes buffered output, which may be not true:
-print '@#!*$@(!@#$' unless ($Is_MacOS || $^O eq 'os2' ||
-                            $^O eq 'uwin' || $^O eq 'os390' ||
+print '@#!*$@(!@#$' unless ($Is_MacOS || $Is_OS2 || $Is_UWin || $Is_OS390 ||
+                            $Is_VMS ||
                            (defined $ENV{PERLIO} &&
                             $ENV{PERLIO} eq 'unix' &&
                             $Config::Config{useperlio}));
index 590fc00..e30e270 100644 (file)
@@ -9,11 +9,12 @@ BEGIN {
     }
 }
 
-print "1..10\n";
+print "1..11\n";
 
 my $grk = "grk$$";
 my $utf = "utf$$";
 my $fail1 = "fail$$";
+my $russki = "koi8r$$";
 
 if (open(GRK, ">$grk")) {
     # alpha beta gamma in ISO 8859-7
@@ -73,6 +74,29 @@ if (!defined $warn) {
     print "not ok 10 # warning is '$warn'";
 }
 
+if (open(RUSSKI, ">$russki")) {
+    print RUSSKI "\x3c\x3f\x78";
+    close RUSSKI;
+    open(RUSSKI, "$russki");
+    binmode(RUSSKI, ":raw");
+    my $buf1;
+    read(RUSSKI, $buf1, 1);
+    eof(RUSSKI);
+    binmode(RUSSKI, ":encoding(koi8-r)");
+    my $buf2;
+    read(RUSSKI, $buf2, 1);
+    my $offset = tell(RUSSKI);
+    if (ord($buf1) == 0x3c && ord($buf2) == 0x3f && $offset == 2) {
+       print "ok 11\n";
+    } else {
+       printf "not ok 11 # %#x %#x %d\n",
+              ord($buf1), ord($buf2), $offset;
+    }
+    close(RUSSKI);
+} else {
+    print "not ok 11 # open failed: $!\n";
+}
+
 END {
-    unlink($grk, $utf, $fail1);
+    unlink($grk, $utf, $fail1, $russki);
 }
index f2c0e2b..6e1dec9 100644 (file)
@@ -191,8 +191,8 @@ typedef double NV;                  /* Older perls lack the NV type */
  */
 #define SX_ITEM                'i'             /* An array item introducer */
 #define SX_IT_UNDEF    'I'             /* Undefined array item */
-#define SX_KEY         'k'             /* An hash key introducer */
-#define SX_VALUE       'v'             /* An hash value introducer */
+#define SX_KEY         'k'             /* A hash key introducer */
+#define SX_VALUE       'v'             /* A hash value introducer */
 #define SX_VL_UNDEF    'V'             /* Undefined hash value */
 
 /*
@@ -238,7 +238,7 @@ struct extendable {
 
 /*
  * At store time:
- * An hash table records the objects which have already been stored.
+ * A hash table records the objects which have already been stored.
  * Those are referred to as SX_OBJECT in the file, and their "tag" (i.e.
  * an arbitrary sequence number) is used to identify them.
  *
@@ -1853,7 +1853,7 @@ sortcmp(const void *a, const void *b)
 /*
  * store_hash
  *
- * Store an hash table.
+ * Store a hash table.
  *
  * Layout is SX_HASH <size> followed by each key/value pair, in random order.
  * Values are stored as <object>.
@@ -2796,7 +2796,7 @@ static int store(stcxt_t *cxt, SV *sv)
         * stored, before recursing...
         *
         * In order to avoid creating new SvIVs to hold the tagnum we just
-        * cast the tagnum to a SV pointer and store that in the hash.  This
+        * cast the tagnum to an SV pointer and store that in the hash.  This
         * means that we must clean up the hash manually afterwards, but gives
         * us a 15% throughput increase.
         *
@@ -3377,7 +3377,7 @@ static SV *retrieve_hook(stcxt_t *cxt, char *cname)
        TRACEME(("class name: %s", class));
 
        /*
-        * Decode user-frozen string length and read it in a SV.
+        * Decode user-frozen string length and read it in an SV.
         *
         * For efficiency reasons, we read data directly into the SV buffer.
         * To understand that code, read retrieve_scalar()
index e67fbb7..a636362 100644 (file)
@@ -1,7 +1,7 @@
 use ExtUtils::MakeMaker;
 WriteMakefile(
        NAME => 'Thread',
-       VERSION_FROM => 'Thread.pm',
-    MAN3PODS => {}
-       );
+       VERSION_FROM => '../../lib/Thread.pm',
+       MAN3PODS => {},
+);
 
diff --git a/ext/Thread/Thread.pm b/ext/Thread/Thread.pm
deleted file mode 100644 (file)
index 6220a60..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-package Thread;
-require Exporter;
-use XSLoader ();
-our($VERSION, @ISA, @EXPORT);
-
-$VERSION = "1.01";
-
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(yield cond_signal cond_broadcast cond_wait async);
-
-=head1 NAME
-
-Thread - manipulate threads in Perl (EXPERIMENTAL, subject to change)
-
-=head1 CAVEAT
-
-The Thread extension requires Perl to be built in a particular way to
-enable the older 5.005 threading model.  Just to confuse matters, there
-is an alternate threading model known as "ithreads" that does NOT
-support this extension.  If you are using a binary distribution such
-as ActivePerl that is built with ithreads support, this extension CANNOT
-be used.
-
-=head1 SYNOPSIS
-
-    use Thread;
-
-    my $t = new Thread \&start_sub, @start_args;
-
-    $result = $t->join;
-    $result = $t->eval;
-    $t->detach;
-    $flags = $t->flags;
-
-    if ($t->done) {
-        $t->join;
-    }
-
-    if($t->equal($another_thread)) {
-       # ...
-    }
-
-    my $tid = Thread->self->tid; 
-    my $tlist = Thread->list;
-
-    lock($scalar);
-    yield();
-
-    use Thread 'async';
-
-=head1 DESCRIPTION
-
-    WARNING: Threading is an experimental feature.  Both the interface
-    and implementation are subject to change drastically.  In fact, this
-    documentation describes the flavor of threads that was in version
-    5.005.  Perl 5.6.0 and later have the beginnings of support for
-    interpreter threads, which (when finished) is expected to be
-    significantly different from what is described here.  The information
-    contained here may therefore soon be obsolete.  Use at your own risk!
-
-The C<Thread> module provides multithreading support for perl.
-
-=head1 FUNCTIONS
-
-=over 8
-
-=item new \&start_sub
-
-=item new \&start_sub, LIST
-
-C<new> starts a new thread of execution in the referenced subroutine. The
-optional list is passed as parameters to the subroutine. Execution
-continues in both the subroutine and the code after the C<new> call.
-
-C<new Thread> returns a thread object representing the newly created
-thread.
-
-=item lock VARIABLE
-
-C<lock> places a lock on a variable until the lock goes out of scope.  If
-the variable is locked by another thread, the C<lock> call will block until
-it's available. C<lock> is recursive, so multiple calls to C<lock> are
-safe--the variable will remain locked until the outermost lock on the
-variable goes out of scope.
-
-Locks on variables only affect C<lock> calls--they do I<not> affect normal
-access to a variable. (Locks on subs are different, and covered in a bit)
-If you really, I<really> want locks to block access, then go ahead and tie
-them to something and manage this yourself. This is done on purpose. While
-managing access to variables is a good thing, perl doesn't force you out of
-its living room...
-
-If a container object, such as a hash or array, is locked, all the elements
-of that container are not locked. For example, if a thread does a C<lock
-@a>, any other thread doing a C<lock($a[12])> won't block.
-
-You may also C<lock> a sub, using C<lock &sub>. Any calls to that sub from
-another thread will block until the lock is released. This behaviour is not
-equivalent to declaring the sub with the C<locked> attribute.  The C<locked>
-attribute serializes access to a subroutine, but allows different threads
-non-simultaneous access. C<lock &sub>, on the other hand, will not allow
-I<any> other thread access for the duration of the lock.
-
-Finally, C<lock> will traverse up references exactly I<one> level.
-C<lock(\$a)> is equivalent to C<lock($a)>, while C<lock(\\$a)> is not.
-
-=item async BLOCK;
-
-C<async> creates a thread to execute the block immediately following
-it. This block is treated as an anonymous sub, and so must have a
-semi-colon after the closing brace. Like C<new Thread>, C<async> returns a
-thread object.
-
-=item Thread->self
-
-The C<Thread-E<gt>self> function returns a thread object that represents
-the thread making the C<Thread-E<gt>self> call.
-
-=item Thread->list
-
-C<Thread-E<gt>list> returns a list of thread objects for all running and
-finished but un-C<join>ed threads.
-
-=item cond_wait VARIABLE
-
-The C<cond_wait> function takes a B<locked> variable as a parameter,
-unlocks the variable, and blocks until another thread does a C<cond_signal>
-or C<cond_broadcast> for that same locked variable. The variable that
-C<cond_wait> blocked on is relocked after the C<cond_wait> is satisfied.
-If there are multiple threads C<cond_wait>ing on the same variable, all but
-one will reblock waiting to reaquire the lock on the variable. (So if
-you're only using C<cond_wait> for synchronization, give up the lock as
-soon as possible)
-
-=item cond_signal VARIABLE
-
-The C<cond_signal> function takes a locked variable as a parameter and
-unblocks one thread that's C<cond_wait>ing on that variable. If more than
-one thread is blocked in a C<cond_wait> on that variable, only one (and
-which one is indeterminate) will be unblocked.
-
-If there are no threads blocked in a C<cond_wait> on the variable, the
-signal is discarded.
-
-=item cond_broadcast VARIABLE
-
-The C<cond_broadcast> function works similarly to C<cond_signal>.
-C<cond_broadcast>, though, will unblock B<all> the threads that are blocked
-in a C<cond_wait> on the locked variable, rather than only one.
-
-=item yield
-
-The C<yield> function allows another thread to take control of the
-CPU. The exact results are implementation-dependent.
-
-=back
-
-=head1 METHODS
-
-=over 8
-
-=item join
-
-C<join> waits for a thread to end and returns any values the thread exited
-with. C<join> will block until the thread has ended, though it won't block
-if the thread has already terminated.
-
-If the thread being C<join>ed C<die>d, the error it died with will be
-returned at this time. If you don't want the thread performing the C<join>
-to die as well, you should either wrap the C<join> in an C<eval> or use the
-C<eval> thread method instead of C<join>.
-
-=item eval
-
-The C<eval> method wraps an C<eval> around a C<join>, and so waits for a
-thread to exit, passing along any values the thread might have returned.
-Errors, of course, get placed into C<$@>.
-
-=item detach
-
-C<detach> tells a thread that it is never going to be joined i.e.
-that all traces of its existence can be removed once it stops running.
-Errors in detached threads will not be visible anywhere - if you want
-to catch them, you should use $SIG{__DIE__} or something like that.
-
-=item equal 
-
-C<equal> tests whether two thread objects represent the same thread and
-returns true if they do.
-
-=item tid
-
-The C<tid> method returns the tid of a thread. The tid is a monotonically
-increasing integer assigned when a thread is created. The main thread of a
-program will have a tid of zero, while subsequent threads will have tids
-assigned starting with one.
-
-=item flags
-
-The C<flags> method returns the flags for the thread. This is the
-integer value corresponding to the internal flags for the thread, and
-the value may not be all that meaningful to you.
-
-=item done
-
-The C<done> method returns true if the thread you're checking has
-finished, and false otherwise.
-
-=back
-
-=head1 LIMITATIONS
-
-The sequence number used to assign tids is a simple integer, and no
-checking is done to make sure the tid isn't currently in use. If a program
-creates more than 2^32 - 1 threads in a single run, threads may be assigned
-duplicate tids. This limitation may be lifted in a future version of Perl.
-
-=head1 SEE ALSO
-
-L<attributes>, L<Thread::Queue>, L<Thread::Semaphore>, L<Thread::Specific>.
-
-=cut
-
-#
-# Methods
-#
-
-#
-# Exported functions
-#
-sub async (&) {
-    return new Thread $_[0];
-}
-
-sub eval {
-    return eval { shift->join; };
-}
-
-XSLoader::load 'Thread';
-
-1;
index 8ace16d..272a2a3 100644 (file)
@@ -1,4 +1,7 @@
 package Thread::Queue;
+
+our $VERSION = '1.00';
+
 use Thread qw(cond_wait cond_broadcast);
 
 =head1 NAME
index 3cd6338..2a8ec25 100644 (file)
@@ -1,6 +1,8 @@
 package Thread::Semaphore;
 use Thread qw(cond_wait cond_broadcast);
 
+our $VERSION = '1.00';
+
 =head1 NAME
 
 Thread::Semaphore - thread-safe semaphores
index f5f03db..d8f3627 100644 (file)
@@ -1,6 +1,8 @@
 package Thread::Signal;
 use Thread qw(async);
 
+our $VERSION = '1.00';
+
 =head1 NAME
 
 Thread::Signal - Start a thread which runs signal handlers reliably
index a6271a4..ed7cbf8 100644 (file)
@@ -1,5 +1,7 @@
 package Thread::Specific;
 
+our $VERSION = '1.00';
+
 =head1 NAME
 
 Thread::Specific - thread-specific keys
index 7cc8334..13f3852 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread 'async';
index 1a65f14..2581416 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread 'async';
index 4bc611a..d84b3d0 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread 'async';
index 693d910..8855897 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index d24473f..db9e219 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index 04f244d..c7d5e15 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index f03fa06..424b46f 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread qw(async);
index b888787..d8199b5 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index 5c1a7e7..de3a895 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index c2bf1a1..4747b6a 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index c5cf1a7..4fa25a7 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index ace0cbd..7311231 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index 51faa8c..b4adb3b 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index 0016646..1576537 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index a1d2c56..ecf77d1 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
index 1186fc0..8a6c124 100644 (file)
@@ -4,10 +4,6 @@ BEGIN {
        print "1..0 # Skip: no Config\n";
        exit(0);
     }
-    if ($Config{extensions} !~ /\bThread\b/) {
-       print "1..0 # Skip: no use5005threads\n";
-       exit(0);
-    }
 }
 
 use Thread;
diff --git a/ext/Unicode/Normalize/Changes b/ext/Unicode/Normalize/Changes
new file mode 100644 (file)
index 0000000..bf17449
--- /dev/null
@@ -0,0 +1,38 @@
+Revision history for Perl extension Unicode::Normalize.
+
+0.10  Sat Nov 03 16:30:20 2001
+       - The XS version is now independent of Lingua::KO::Hangul::Util.
+         (though the Non-XS version still requires that.)
+
+0.09  Fri Nov 02 22:39:30 2001
+       - remove pTHX_.
+
+0.08  Thu Nov 01 23:20:42 2001
+       - use Lingua::KO::Hangul::Util 0.06 and remove "hangul.h".
+
+0.07  Wed Oct 31 22:06:42 2001
+       - modify internal. decompose() - reorder() - compose().
+
+0.06  Sun Oct 28 14:28:46 2001
+       - an XS version.
+       (but the Non-XS version is also supported.)
+
+0.05  Wed Oct 10 22:02:15 2001 (not released)
+       - %Compos contains unnecessary singletons
+         (though it did not cause any bug, only useless).
+         They will not be stored.
+
+0.04  Wed Aug 15 19:02:41 2001
+       - fix: NFD("") and NFKD("") must return "", not but undef.
+
+0.03  Fri Aug 10 22:44:18 2001
+       - rename the module name to Unicode::Normalize.
+       - normalize takes two arguments.
+
+0.02  Thu Aug  9 22:56:36 2001
+       - add function normalize
+
+0.01  Mon Aug  6 21:45:11 2001
+       - original version; created by h2xs 1.21 with options
+               -A -X -n Text::Unicode::Normalize
+
diff --git a/ext/Unicode/Normalize/Makefile.PL b/ext/Unicode/Normalize/Makefile.PL
new file mode 100644 (file)
index 0000000..88ab9b7
--- /dev/null
@@ -0,0 +1,15 @@
+use ExtUtils::MakeMaker;
+
+# This is not the CPAN Unicode::Normalize makefile
+# that can handle XS-NOXS installing.  We do just XS.
+
+do "mkheader";
+
+WriteMakefile(
+    'NAME'             => 'Unicode::Normalize',
+    'VERSION_FROM'     => 'Normalize.pm', # finds $VERSION
+    ($] >= 5.005 ?    ## Add these new keywords supported since 5.005
+      (ABSTRACT_FROM => 'Normalize.pod', # retrieve abstract from module
+       AUTHOR     => 'SADAHIRO Tomoyuki <SADAHIRO@cpan.org>') : ()),
+    clean => {FILES=> 'unfcan.h unfcmb.h unfcmp.h unfcpt.h unfexc.h'},
+);
diff --git a/ext/Unicode/Normalize/Normalize.pm b/ext/Unicode/Normalize/Normalize.pm
new file mode 100644 (file)
index 0000000..a583425
--- /dev/null
@@ -0,0 +1,45 @@
+package Unicode::Normalize;
+
+use 5.006;
+use strict;
+use warnings;
+use Carp;
+
+our $VERSION = '0.10';
+our $PACKAGE = __PACKAGE__;
+
+require Exporter;
+require DynaLoader;
+require AutoLoader;
+
+our @ISA = qw(Exporter DynaLoader);
+our @EXPORT = qw( NFC NFD NFKC NFKD );
+our @EXPORT_OK = qw( normalize decompose reorder compose 
+       getCanon getCompat getComposite getCombinClass getExclusion);
+our %EXPORT_TAGS = ( all => [ @EXPORT, @EXPORT_OK ] );
+
+bootstrap Unicode::Normalize $VERSION;
+
+use constant CANON  => 0;
+use constant COMPAT => 1;
+
+sub NFD  ($) { reorder(decompose($_[0], CANON)) }
+
+sub NFKD ($) { reorder(decompose($_[0], COMPAT)) }
+
+sub NFC  ($) { compose(reorder(decompose($_[0], CANON))) }
+
+sub NFKC ($) { compose(reorder(decompose($_[0], COMPAT))) }
+
+sub normalize($$)
+{
+  my $form = shift;
+  $form eq 'D'  || $form eq 'NFD'  ? NFD ($_[0]) :
+  $form eq 'C'  || $form eq 'NFC'  ? NFC ($_[0]) :
+  $form eq 'KD' || $form eq 'NFKD' ? NFKD($_[0]) :
+  $form eq 'KC' || $form eq 'NFKC' ? NFKC($_[0]) :
+    croak $PACKAGE."::normalize: invalid form name: $form";
+}
+
+1;
+__END__
diff --git a/ext/Unicode/Normalize/Normalize.pod b/ext/Unicode/Normalize/Normalize.pod
new file mode 100644 (file)
index 0000000..4ac8966
--- /dev/null
@@ -0,0 +1,89 @@
+
+=head1 NAME
+
+Unicode::Normalize - normalized forms of Unicode text
+
+=head1 SYNOPSIS
+
+  use Unicode::Normalize;
+
+  $string_NFD  = NFD($raw_string);  # Normalization Form D
+  $string_NFC  = NFC($raw_string);  # Normalization Form C
+  $string_NFKD = NFKD($raw_string); # Normalization Form KD
+  $string_NFKC = NFKC($raw_string); # Normalization Form KC
+
+   or
+
+  use Unicode::Normalize 'normalize';
+
+  $string_NFD  = normalize('D',  $raw_string);  # Normalization Form D
+  $string_NFC  = normalize('C',  $raw_string);  # Normalization Form C
+  $string_NFKD = normalize('KD', $raw_string);  # Normalization Form KD
+  $string_NFKC = normalize('KC', $raw_string);  # Normalization Form KC
+
+=head1 DESCRIPTION
+
+=over 4
+
+=item C<$string_NFD = NFD($raw_string)>
+
+returns the Normalization Form D (formed by canonical decomposition).
+
+
+=item C<$string_NFC = NFC($raw_string)>
+
+returns the Normalization Form C (formed by canonical decomposition
+followed by canonical composition).
+
+=item C<$string_NFKD = NFKD($raw_string)>
+
+returns the Normalization Form KD (formed by compatibility decomposition).
+
+=item C<$string_NFKC = NFKC($raw_string)>
+
+returns the Normalization Form KC (formed by compatibility decomposition
+followed by B<canonical> composition).
+
+=item C<$normalized_string = normalize($form_name, $raw_string)>
+
+As C<$form_name>, one of the following names must be given.
+
+  'C'  or 'NFC'  for Normalization Form C
+  'D'  or 'NFD'  for Normalization Form D
+  'KC' or 'NFKC' for Normalization Form KC
+  'KD' or 'NFKD' for Normalization Form KD
+
+=back
+
+=head2 EXPORT
+
+C<NFC>, C<NFD>, C<NFKC>, C<NFKD>: by default.
+
+C<normalize>: on request.
+
+=head1 AUTHOR
+
+SADAHIRO Tomoyuki, E<lt>SADAHIRO@cpan.orgE<gt>
+
+  http://homepage1.nifty.com/nomenclator/perl/
+
+  Copyright(C) 2001, SADAHIRO Tomoyuki. Japan. All rights reserved.
+
+  This program is free software; you can redistribute it and/or 
+  modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item L<Lingua::KO::Hangul::Util>
+
+utility functions for Hangul Syllables
+
+=item http://www.unicode.org/unicode/reports/tr15/
+
+Unicode Normalization Forms - UAX #15
+
+=back
+
+=cut
diff --git a/ext/Unicode/Normalize/Normalize.xs b/ext/Unicode/Normalize/Normalize.xs
new file mode 100644 (file)
index 0000000..aca0853
--- /dev/null