Change 16255: Integrate perl

[email protected] (Chris Nandor) Sun, 28 Apr 2002 16:39:46 -0400
Newsgroups perl.perl5.changes.mac
Message-ID <p05100303b8f20e8dc827@[10.0.1.177]>
Change 16255 by pudge@pudge-mobile on 2002/04/28 19:25:04

	Integrate perl

Affected files ...

.... //depot/macperl/MANIFEST#3 integrate
.... //depot/macperl/av.c#2 integrate
.... //depot/macperl/ext/Encode/Encode.xs#3 integrate
.... //depot/macperl/ext/GDBM_File/Makefile.PL#2 integrate
.... //depot/macperl/ext/PerlIO/PerlIO.t#2 integrate
.... //depot/macperl/ext/PerlIO/Via/Via.xs#3 integrate
.... //depot/macperl/ext/PerlIO/encoding/encoding.pm#3 integrate
.... //depot/macperl/ext/PerlIO/encoding/encoding.xs#3 integrate
.... //depot/macperl/ext/PerlIO/t/fallback.t#1 branch
.... //depot/macperl/ext/threads/shared/t/cond.t#2 integrate
.... //depot/macperl/ext/threads/t/basic.t#2 integrate
.... //depot/macperl/ext/threads/t/list.t#1 branch
.... //depot/macperl/ext/threads/t/thread.t#2 integrate
.... //depot/macperl/ext/threads/threads.pm#2 integrate
.... //depot/macperl/ext/threads/threads.xs#2 integrate
.... //depot/macperl/hints/netbsd.sh#3 integrate
.... //depot/macperl/hv.c#2 integrate
.... //depot/macperl/lib/ExtUtils/MM_Unix.pm#3 integrate
.... //depot/macperl/lib/FileCache.pm#2 integrate
.... //depot/macperl/lib/open.t#2 integrate
.... //depot/macperl/lib/warnings.t#2 integrate
.... //depot/macperl/mg.c#2 integrate
.... //depot/macperl/op.c#3 integrate
.... //depot/macperl/op.h#3 integrate
.... //depot/macperl/pod/perldelta.pod#3 integrate
.... //depot/macperl/pod/perlfunc.pod#2 integrate
.... //depot/macperl/pp_sort.c#2 integrate
.... //depot/macperl/regcomp.c#3 integrate
.... //depot/macperl/sv.c#3 integrate
.... //depot/macperl/t/io/binmode.t#2 integrate
.... //depot/macperl/t/io/crlf.t#2 integrate
.... //depot/macperl/t/io/fs.t#3 integrate
.... //depot/macperl/t/win32/system.t#3 integrate
.... //depot/macperl/thrdvar.h#2 integrate
.... //depot/macperl/utf8.c#2 integrate
.... //depot/macperl/wince/Makefile.ce#2 integrate
.... //depot/macperl/wince/cecopy-lib.pl#1 branch
.... //depot/macperl/wince/comp.pl#1 branch
.... //depot/macperl/wince/config_h.PL#2 integrate
.... //depot/macperl/wince/perldll.def#2 integrate
.... //depot/macperl/wince/win32.h#2 integrate
.... //depot/macperl/wince/wince.c#2 integrate

Differences ...

==== //depot/macperl/MANIFEST#3 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST.~1~	Sun Apr 28 13:30:05 2002
+++ perl/MANIFEST	Sun Apr 28 13:30:05 2002
@@ -74,7 +74,7 @@
 ext/B/B/Debug.pm	Compiler Debug backend
 ext/B/B/Deparse.pm	Compiler Deparse backend
 ext/B/B/disassemble	Disassemble compiler bytecode output
-ext/B/B/Disassembler.pm	Compiler Disassembler backend
+ext/B/B/Disassembler.pm Compiler Disassembler backend
 ext/B/B/Lint.pm		Compiler Lint backend
 ext/B/B/makeliblinks	Make a simplistic XSUB .so symlink tree for compiler
 ext/B/B/Showlex.pm	Compiler Showlex backend
@@ -93,12 +93,12 @@
 ext/B/ramblings/flip-flop	Compiler ramblings: notes on flip-flop
 ext/B/ramblings/magic		Compiler ramblings: notes on magic
 ext/B/ramblings/reg.alloc	Compiler ramblings: register allocation
-ext/B/ramblings/runtime.porting	Compiler ramblings: porting PP enging
+ext/B/ramblings/runtime.porting Compiler ramblings: porting PP enging
 ext/B/README		Compiler backend README
-ext/B/t/asmdata.t       See if B::Asmdata works
-ext/B/t/assembler.t     See if B::Assembler, B::Disassembler comply
+ext/B/t/asmdata.t	See if B::Asmdata works
+ext/B/t/assembler.t	See if B::Assembler, B::Disassembler comply
 ext/B/t/b.t		See if B works
-ext/B/t/bblock.t        See if B::Bblock works
+ext/B/t/bblock.t	See if B::Bblock works
 ext/B/t/concise.t	See whether B::Concise works
 ext/B/t/debug.t		See if B::Debug works
 ext/B/t/deparse.t	See if B::Deparse works
@@ -135,7 +135,7 @@
 ext/DB_File/DB_File_BS	Berkeley DB extension mkbootstrap fodder
 ext/DB_File/hints/dynixptx.pl	Hint for DB_File for named architecture
 ext/DB_File/hints/sco.pl	Hint for DB_File for named architecture
-ext/DB_File/Makefile.PL	Berkeley DB extension makefile writer
+ext/DB_File/Makefile.PL Berkeley DB extension makefile writer
 ext/DB_File/t/db-btree.t	See if DB_File works
 ext/DB_File/t/db-hash.t		See if DB_File works
 ext/DB_File/t/db-recno.t	See if DB_File works
@@ -188,11 +188,11 @@
 ext/DynaLoader/dl_none.xs	Stub implementation
 ext/DynaLoader/dl_vmesa.xs	VM/ESA implementation
 ext/DynaLoader/dl_vms.xs	VMS implementation
-ext/DynaLoader/DynaLoader_pm.PL	Dynamic Loader perl module
+ext/DynaLoader/DynaLoader_pm.PL Dynamic Loader perl module
 ext/DynaLoader/hints/aix.pl	Hint for DynaLoader for named architecture
 ext/DynaLoader/hints/linux.pl	Hint for DynaLoader for named architecture
 ext/DynaLoader/hints/netbsd.pl	Hint for DynaLoader for named architecture
-ext/DynaLoader/hints/openbsd.pl	Hint for DynaLoader for named architecture
+ext/DynaLoader/hints/openbsd.pl Hint for DynaLoader for named architecture
 ext/DynaLoader/Makefile.PL	Dynamic Loader makefile writer
 ext/DynaLoader/README		Dynamic Loader notes and intro
 ext/DynaLoader/XSLoader_pm.PL	Simple XS Loader perl module
@@ -202,13 +202,13 @@
 ext/Encode/bin/ucm2table	Table Generator for testing
 ext/Encode/bin/ucmlint	A UCM Lint utility
 ext/Encode/bin/unidump	Unicode Dump like hexdump(1)
-ext/Encode/Byte/Byte.pm	Encode extension
-ext/Encode/Byte/Makefile.PL       Encode extension
+ext/Encode/Byte/Byte.pm Encode extension
+ext/Encode/Byte/Makefile.PL	  Encode extension
 ext/Encode/Changes		Change Log
 ext/Encode/CN/CN.pm		Encode extension
 ext/Encode/CN/Makefile.PL	Encode extension
-ext/Encode/EBCDIC/EBCDIC.pm       Encode extension
-ext/Encode/EBCDIC/Makefile.PL     Encode extension
+ext/Encode/EBCDIC/EBCDIC.pm	  Encode extension
+ext/Encode/EBCDIC/Makefile.PL	  Encode extension
 ext/Encode/encengine.c		Encode extension
 ext/Encode/Encode.pm	       Mother of all Encode extensions
 ext/Encode/Encode.xs		Encode extension
@@ -224,10 +224,10 @@
 ext/Encode/JP/Makefile.PL	Encode extension
 ext/Encode/KR/KR.pm		Encode extension
 ext/Encode/KR/Makefile.PL		Encode extension
-ext/Encode/lib/Encode/Alias.pm	        Encode extension
+ext/Encode/lib/Encode/Alias.pm		Encode extension
 ext/Encode/lib/Encode/CJKConstants.pm	Encode extension
 ext/Encode/lib/Encode/CN/HZ.pm		Encode extension
-ext/Encode/lib/Encode/Config.pm	        Encode configuration module
+ext/Encode/lib/Encode/Config.pm		Encode configuration module
 ext/Encode/lib/Encode/Encoder.pm	       OO Encoder
 ext/Encode/lib/Encode/Encoding.pm	Encode extension
 ext/Encode/lib/Encode/Guess.pm	Encode Extension
@@ -240,8 +240,8 @@
 ext/Encode/Makefile.PL		Encode extension makefile writer
 ext/Encode/MANIFEST		Encode extension
 ext/Encode/README		Encode extension
-ext/Encode/Symbol/Makefile.PL     Encode extension
-ext/Encode/Symbol/Symbol.pm       Encode extension
+ext/Encode/Symbol/Makefile.PL	  Encode extension
+ext/Encode/Symbol/Symbol.pm	  Encode extension
 ext/Encode/t/Aliases.t	test script
 ext/Encode/t/at-cn.t	test script
 ext/Encode/t/at-tw.t	test script
@@ -252,10 +252,10 @@
 ext/Encode/t/CJKT.t	test script
 ext/Encode/t/Encode.t	test script
 ext/Encode/t/Encoder.t	test script
-ext/Encode/t/encoding.t	test script
-ext/Encode/t/fallback.t	test script
-ext/Encode/t/gb2312.enc	test data
-ext/Encode/t/gb2312.utf	test data
+ext/Encode/t/encoding.t test script
+ext/Encode/t/fallback.t test script
+ext/Encode/t/gb2312.enc test data
+ext/Encode/t/gb2312.utf test data
 ext/Encode/t/grow.t	test script
 ext/Encode/t/guess.t	test script
 ext/Encode/t/jisx0201.enc	test data
@@ -408,7 +408,7 @@
 ext/GDBM_File/Makefile.PL	GDBM extension makefile writer
 ext/GDBM_File/typemap		GDBM extension interface types
 ext/I18N/Langinfo/fallback/const-c.inc	I18N::Langinfo
-ext/I18N/Langinfo/fallback/const-xs.inc	I18N::Langinfo
+ext/I18N/Langinfo/fallback/const-xs.inc I18N::Langinfo
 ext/I18N/Langinfo/Langinfo.pm	I18N::Langinfo
 ext/I18N/Langinfo/Langinfo.t	I18N::Langinfo
 ext/I18N/Langinfo/Langinfo.xs	I18N::Langinfo
@@ -430,7 +430,7 @@
 ext/IO/lib/IO/t/io_dir.t	See if directory-related methods from IO work
 ext/IO/lib/IO/t/io_dup.t	See if dup()-related methods from IO work
 ext/IO/lib/IO/t/io_linenum.t	See if I/O line numbers are tracked correctly
-ext/IO/lib/IO/t/io_multihomed.t	See if INET sockets work with multi-homed hosts
+ext/IO/lib/IO/t/io_multihomed.t See if INET sockets work with multi-homed hosts
 ext/IO/lib/IO/t/io_pipe.t	See if pipe()-related methods from IO work
 ext/IO/lib/IO/t/io_poll.t	See if poll()-related methods from IO work
 ext/IO/lib/IO/t/io_sel.t	See if select()-related methods from IO work
@@ -488,7 +488,7 @@
 ext/MIME/Base64/t/unicode.t	See whether MIME::Base64 works
 ext/NDBM_File/hints/cygwin.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/dec_osf.pl	Hint for NDBM_File for named architecture
-ext/NDBM_File/hints/dynixptx.pl	Hint for NDBM_File for named architecture
+ext/NDBM_File/hints/dynixptx.pl Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/linux.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/sco.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/solaris.pl	Hint for NDBM_File for named architecture
@@ -517,15 +517,16 @@
 ext/Opcode/ops.pm		"Pragma" form of Opcode extension Perl module
 ext/Opcode/ops.t		See if Opcode works
 ext/Opcode/Safe.pm		Safe extension Perl module
-ext/PerlIO/encoding/encoding.pm	PerlIO::encoding
-ext/PerlIO/encoding/encoding.xs	PerlIO::encoding
-ext/PerlIO/encoding/Makefile.PL	PerlIO::encoding makefile writer
+ext/PerlIO/encoding/encoding.pm PerlIO::encoding
+ext/PerlIO/encoding/encoding.xs PerlIO::encoding
+ext/PerlIO/encoding/Makefile.PL PerlIO::encoding makefile writer
 ext/PerlIO/encoding/MANIFEST	PerlIO::encoding list of files
 ext/PerlIO/PerlIO.t		See if PerlIO works
 ext/PerlIO/Scalar/Makefile.PL	PerlIO layer for scalars
 ext/PerlIO/Scalar/Scalar.pm	PerlIO layer for scalars
 ext/PerlIO/Scalar/Scalar.xs	PerlIO layer for scalars
 ext/PerlIO/t/encoding.t		See if PerlIO encoding conversion works
+ext/PerlIO/t/fallback.t		See if PerlIO fallbacks work
 ext/PerlIO/t/scalar.t		See if PerlIO::Scalar works
 ext/PerlIO/t/via.t		See if PerlIO::Via works
 ext/PerlIO/Via/Makefile.PL	PerlIO layer for layers in perl
@@ -654,18 +655,18 @@
 ext/threads/Changes		ithreads
 ext/threads/Makefile.PL		ithreads
 ext/threads/README		ithreads
-ext/threads/shared/Makefile.PL  thread shared variables
+ext/threads/shared/Makefile.PL	thread shared variables
 ext/threads/shared/queue.pm	Threadsafe queue.
-ext/threads/shared/README       thread shared variables
-ext/threads/shared/shared.pm    thread shared variables
-ext/threads/shared/shared.xs    thread shared variables
+ext/threads/shared/README	thread shared variables
+ext/threads/shared/shared.pm	thread shared variables
+ext/threads/shared/shared.xs	thread shared variables
 ext/threads/shared/t/0nothread.t	Tests for basic shared array functionality.
 ext/threads/shared/t/av_refs.t	Tests for arrays containing references
 ext/threads/shared/t/av_simple.t	Tests for basic shared array functionality.
 ext/threads/shared/t/cond.t	Test condition variables
 ext/threads/shared/t/hv_refs.t	Test shared hashes containing references
 ext/threads/shared/t/hv_simple.t	Tests for basic shared hash functionality.
-ext/threads/shared/t/no_share.t	Tests for disabled share on variables.
+ext/threads/shared/t/no_share.t Tests for disabled share on variables.
 ext/threads/shared/t/queue.t	thread shared variables
 ext/threads/shared/t/shared_attr.t	Test :shared attribute
 ext/threads/shared/t/sv_refs.t	thread shared variables
@@ -674,12 +675,13 @@
 ext/threads/t/basic.t		ithreads
 ext/threads/t/end.t		Test end functions
 ext/threads/t/join.t		Testing the join function
-ext/threads/t/libc.t            testing libc functions for threadsafetyness
+ext/threads/t/libc.t		testing libc functions for threadsafetyness
+ext/threads/t/list.t		Test threads->list()
 ext/threads/t/stress_cv.t	Test with multiple threads, coderef cv argument.
 ext/threads/t/stress_re.t	Test with multiple threads, string cv argument and regexes.
 ext/threads/t/stress_string.t	Test with multiple threads, string cv argument.
 ext/threads/t/thread.t		General ithread tests from thr5005
-ext/threads/threads.pm          ithreads
+ext/threads/threads.pm		ithreads
 ext/threads/threads.xs		ithreads
 ext/threads/typemap		ithreads
 ext/Time/HiRes/Changes		Time::HiRes extension
@@ -853,7 +855,7 @@
 jpl/JPL_Rolo/JPL_Rolo.jpl	Rolodex sample application
 jpl/JPL_Rolo/Makefile.PL	Makefile generator
 jpl/JPL_Rolo/README		Instructions
-jpl/PerlInterpreter/Makefile.PL	Makefile generator
+jpl/PerlInterpreter/Makefile.PL Makefile generator
 jpl/PerlInterpreter/PerlInterpreter.c	Perl interpreter abstraction
 jpl/PerlInterpreter/PerlInterpreter.h	Perl interpreter abstraction
 jpl/PerlInterpreter/PerlInterpreter.java	Perl interpreter abstraction
@@ -913,7 +915,7 @@
 lib/bigrat.pl			An arbitrary precision rational arithmetic package
 lib/bigrat.pm			bignum
 lib/blib.pm			For "use blib"
-lib/blib.t                      blib.pm test
+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
@@ -951,9 +953,9 @@
 lib/CGI/Pretty.pm		Output nicely formatted HTML
 lib/CGI/Push.pm			Support for server push
 lib/CGI/Switch.pm		Simple interface for multiple server types
-lib/CGI/t/apache.t              See if CGI::Apache still loads
-lib/CGI/t/carp.t                See if CGI::Carp works
-lib/CGI/t/cookie.t              See if CGI::Cookie works
+lib/CGI/t/apache.t		See if CGI::Apache still loads
+lib/CGI/t/carp.t		See if CGI::Carp works
+lib/CGI/t/cookie.t		See if CGI::Cookie works
 lib/CGI/t/fast.t		See if CGI::Fast works (if FCGI is installed)
 lib/CGI/t/form.t		See if CGI.pm works
 lib/CGI/t/function.t		See if CGI.pm works
@@ -961,7 +963,7 @@
 lib/CGI/t/pretty.t		See if CGI.pm works
 lib/CGI/t/push.t		See if CGI::Push works
 lib/CGI/t/request.t		See if CGI.pm works
-lib/CGI/t/switch.t              See if CGI::Switch still loads
+lib/CGI/t/switch.t		See if CGI::Switch still loads
 lib/CGI/t/util.t		See if CGI.pm works
 lib/CGI/Util.pm			Utility functions
 lib/charnames.pm		Character names
@@ -1004,45 +1006,45 @@
 lib/Exporter.pm			Exporter base class
 lib/Exporter.t			See if Exporter works
 lib/Exporter/Heavy.pm		Complicated routines for Exporter
-lib/ExtUtils/Changes            MakeMaker change log
+lib/ExtUtils/Changes		MakeMaker change log
 lib/ExtUtils/Command.pm		Utilities for Make on non-UNIX platforms
-lib/ExtUtils/Command/MM.pm      Calling MM functions from the cmd line
+lib/ExtUtils/Command/MM.pm	Calling MM functions from the cmd line
 lib/ExtUtils/Constant.pm	generate XS code to import C header constants
 lib/ExtUtils/Embed.pm		Utilities for embedding Perl in C programs
 lib/ExtUtils/Install.pm		Handles 'make install' on extensions
 lib/ExtUtils/Installed.pm	Information on installed extensions
 lib/ExtUtils/instmodsh		Give information about installed extensions
 lib/ExtUtils/Liblist.pm		Locates libraries
-lib/ExtUtils/Liblist/Kid.pm     Does the real work of the above
+lib/ExtUtils/Liblist/Kid.pm	Does the real work of the above
 lib/ExtUtils/MakeMaker.pm	Write Makefiles for extensions
 lib/ExtUtils/Manifest.pm	Utilities to write MANIFEST files
 lib/ExtUtils/MANIFEST.SKIP	The default MANIFEST.SKIP
 lib/ExtUtils/Mkbootstrap.pm	Writes a bootstrap file (see MakeMaker)
 lib/ExtUtils/Mksymlists.pm	Writes a linker options file for extensions
-lib/ExtUtils/MM.pm              MakeMaker adaptor class
-lib/ExtUtils/MM_Any.pm          MakeMaker methods for Any OS
+lib/ExtUtils/MM.pm		MakeMaker adaptor class
+lib/ExtUtils/MM_Any.pm		MakeMaker methods for Any OS
 lib/ExtUtils/MM_BeOS.pm		MakeMaker methods for BeOS
 lib/ExtUtils/MM_Cygwin.pm	MakeMaker methods for Cygwin
-lib/ExtUtils/MM_DOS.pm          MakeMaker methods for DOS
+lib/ExtUtils/MM_DOS.pm		MakeMaker methods for DOS
 lib/ExtUtils/MM_NW5.pm		MakeMaker methods for NetWare
 lib/ExtUtils/MM_OS2.pm		MakeMaker methods for OS/2
 lib/ExtUtils/MM_Unix.pm		MakeMaker methods for Unix
-lib/ExtUtils/MM_UWIN.pm         MakeMaker methods for U/WIN
+lib/ExtUtils/MM_UWIN.pm		MakeMaker methods for U/WIN
 lib/ExtUtils/MM_VMS.pm		MakeMaker methods for VMS
 lib/ExtUtils/MM_Win32.pm	MakeMaker methods for Win32
-lib/ExtUtils/MM_Win95.pm        MakeMaker methods for Win95
-lib/ExtUtils/MY.pm              MakeMaker user override class
+lib/ExtUtils/MM_Win95.pm	MakeMaker methods for Win95
+lib/ExtUtils/MY.pm		MakeMaker user override class
 lib/ExtUtils/Packlist.pm	Manipulates .packlist files
-lib/ExtUtils/t/00setup_dummy.t  Setup MakeMaker test module
-lib/ExtUtils/t/backwards.t      Check MakeMaker's backwards compatibility
+lib/ExtUtils/t/00setup_dummy.t	Setup MakeMaker test module
+lib/ExtUtils/t/backwards.t	Check MakeMaker's backwards compatibility
 lib/ExtUtils/t/basic.t		See if MakeMaker can build a module
 lib/ExtUtils/t/Command.t	See if ExtUtils::Command works (Win32 only)
 lib/ExtUtils/t/Constant.t	See if ExtUtils::Constant works
 lib/ExtUtils/t/Embed.t		See if ExtUtils::Embed and embedding works
-lib/ExtUtils/t/hints.t          See if hint files are honored.
-lib/ExtUtils/t/INST.t           Check MakeMaker INST_* macros 
+lib/ExtUtils/t/hints.t		See if hint files are honored.
+lib/ExtUtils/t/INST.t		Check MakeMaker INST_* macros
 lib/ExtUtils/t/Installed.t	See if ExtUtils::Installed works
-lib/ExtUtils/t/INST_PREFIX.t    See if MakeMaker can apply PREFIXs
+lib/ExtUtils/t/INST_PREFIX.t	See if MakeMaker can apply PREFIXs
 lib/ExtUtils/t/Manifest.t	See if ExtUtils::Manifest works
 lib/ExtUtils/t/Mkbootstrap.t	See if ExtUtils::Mkbootstrap works
 lib/ExtUtils/t/MM_BeOS.t	See if ExtUtils::MM_BeOS works
@@ -1052,10 +1054,10 @@
 lib/ExtUtils/t/MM_VMS.t		See if ExtUtils::MM_VMS works
 lib/ExtUtils/t/MM_Win32.t	See if ExtUtils::MM_Win32 works
 lib/ExtUtils/t/Packlist.t	See if Packlist works
-lib/ExtUtils/t/prefixify.t      See if MakeMaker can apply a PREFIX
-lib/ExtUtils/t/problems.t       How MakeMaker reacts to build problems
+lib/ExtUtils/t/prefixify.t	See if MakeMaker can apply a PREFIX
+lib/ExtUtils/t/problems.t	How MakeMaker reacts to build problems
 lib/ExtUtils/t/testlib.t	See if ExtUtils::testlib works
-lib/ExtUtils/t/VERSION_FROM.t   See if MakeMaker's VERSION_FROM works
+lib/ExtUtils/t/VERSION_FROM.t	See if MakeMaker's VERSION_FROM works
 lib/ExtUtils/t/zz_cleanup_dummy.t   Cleanup MakeMaker test module
 lib/ExtUtils/testlib.pm		Fixes up @INC to use just-built extension
 lib/ExtUtils/typemap		Extension interface types
@@ -1086,8 +1088,8 @@
 lib/File/Spec/Functions.pm	Function interface to File::Spec object methods
 lib/File/Spec/Mac.pm		portable operations on Mac file names
 lib/File/Spec/OS2.pm		portable operations on OS2 file names
-lib/File/Spec/t/Functions.t     See if File::Spec::Functions works
-lib/File/Spec/t/rel2abs2rel.t   See if File::Spec->rel2abs/abs2rel works
+lib/File/Spec/t/Functions.t	See if File::Spec::Functions works
+lib/File/Spec/t/rel2abs2rel.t	See if File::Spec->rel2abs/abs2rel works
 lib/File/Spec/t/Spec.t		See if File::Spec works
 lib/File/Spec/Unix.pm		portable operations on Unix file names
 lib/File/Spec/VMS.pm		portable operations on VMS file names
@@ -1126,7 +1128,7 @@
 lib/Getopt/Long/README		Getopt::Long README
 lib/Getopt/Long/t/gol-basic.t	See if Getopt::Long works
 lib/Getopt/Long/t/gol-compat.t	See if Getopt::Long works
-lib/Getopt/Long/t/gol-linkage.t	See if Getopt::Long works
+lib/Getopt/Long/t/gol-linkage.t See if Getopt::Long works
 lib/Getopt/Long/t/gol-oo.t	See if Getopt::Long works
 lib/Getopt/Std.pm		Fetch command options (getopt, getopts)
 lib/Getopt/Std.t		See if Getopt::Std and Getopt::Long work
@@ -1351,15 +1353,15 @@
 lib/Pod/t/basic.txt		podlators test
 lib/Pod/t/eol.t			end of line agnosticism
 lib/Pod/t/Functions.t		See if Pod::Functions works
-lib/Pod/t/htmlescp.pod          pod2html escape test input data
-lib/Pod/t/htmlescp.t            pod2html escape test
-lib/Pod/t/htmlview.pod          pod2html render test input data
-lib/Pod/t/htmlview.t            pod2html render test
+lib/Pod/t/htmlescp.pod		pod2html escape test input data
+lib/Pod/t/htmlescp.t		pod2html escape test
+lib/Pod/t/htmlview.pod		pod2html render test input data
+lib/Pod/t/htmlview.t		pod2html render test
 lib/Pod/t/InputObjects.t	See if Pod::InputObjects works
 lib/Pod/t/latex.t		See if Pod::LaTeX works
-lib/Pod/t/man.t    		podlators test
+lib/Pod/t/man.t			podlators test
 lib/Pod/t/parselink.t		podlators test
-lib/Pod/t/pod2html-lib.pl       pod2html testing library
+lib/Pod/t/pod2html-lib.pl	pod2html testing library
 lib/Pod/t/Select.t		See if Pod::Select works
 lib/Pod/t/text-errors.t		podlators test
 lib/Pod/t/Usage.t		See if Pod::Usage works
@@ -1410,56 +1412,56 @@
 lib/Term/ReadLine.t		See if Term::ReadLine works
 lib/termcap.pl			Perl library supporting termcap usage
 lib/Test.pm			A simple framework for writing test scripts
-lib/Test/Builder.pm             For writing new test libraries
+lib/Test/Builder.pm		For writing new test libraries
 lib/Test/Harness.pm		A test harness
 lib/Test/Harness/Assert.pm  Test::Harness::Assert (internal use only)
 lib/Test/Harness/Changes	Test::Harness
-lib/Test/Harness/Iterator.pm    Test::Harness::Iterator (internal use only)
-lib/Test/Harness/Straps.pm      Test::Harness::Straps
-lib/Test/Harness/t/00compile.t  Test::Harness test
-lib/Test/Harness/t/assert.t     Test::Harness::Assert test
+lib/Test/Harness/Iterator.pm	Test::Harness::Iterator (internal use only)
+lib/Test/Harness/Straps.pm	Test::Harness::Straps
+lib/Test/Harness/t/00compile.t	Test::Harness test
+lib/Test/Harness/t/assert.t	Test::Harness::Assert test
 lib/Test/Harness/t/base.t	Test::Harness test
-lib/Test/Harness/t/callback.t   Test::Harness test
-lib/Test/Harness/t/nonumbers.t  Test::Harness test
+lib/Test/Harness/t/callback.t	Test::Harness test
+lib/Test/Harness/t/nonumbers.t	Test::Harness test
 lib/Test/Harness/t/ok.t		Test::Harness test
-lib/Test/Harness/t/strap-analyze.t      Test::Harness::Straps test
-lib/Test/Harness/t/strap.t              Test::Harness::Straps test
+lib/Test/Harness/t/strap-analyze.t	Test::Harness::Straps test
+lib/Test/Harness/t/strap.t		Test::Harness::Straps test
 lib/Test/Harness/t/test-harness.t	Test::Harness test
-lib/Test/More.pm                More utilities for writing tests
-lib/Test/Simple.pm              Basic utility for writing tests
+lib/Test/More.pm		More utilities for writing tests
+lib/Test/Simple.pm		Basic utility for writing tests
 lib/Test/Simple/Changes		Test::Simple changes
 lib/Test/Simple/README		Test::Simple README
-lib/Test/Simple/t/buffer.t      Test::Builder buffering test
-lib/Test/Simple/t/Builder.t     Test::Builder tests
-lib/Test/Simple/t/curr_test.t   Test::Builder->curr_test tests
-lib/Test/Simple/t/diag.t        Test::More diag() test
-lib/Test/Simple/t/exit.t        Test::Simple test, exit codes
-lib/Test/Simple/t/extra.t       Test::Simple test
-lib/Test/Simple/t/fail-like.t   Test::More test, like() failures
-lib/Test/Simple/t/fail-more.t   Test::More test, tests failing
-lib/Test/Simple/t/fail.t        Test::Simple test, test failures
+lib/Test/Simple/t/buffer.t	Test::Builder buffering test
+lib/Test/Simple/t/Builder.t	Test::Builder tests
+lib/Test/Simple/t/curr_test.t	Test::Builder->curr_test tests
+lib/Test/Simple/t/diag.t	Test::More diag() test
+lib/Test/Simple/t/exit.t	Test::Simple test, exit codes
+lib/Test/Simple/t/extra.t	Test::Simple test
+lib/Test/Simple/t/fail-like.t	Test::More test, like() failures
+lib/Test/Simple/t/fail-more.t	Test::More test, tests failing
+lib/Test/Simple/t/fail.t	Test::Simple test, test failures
 lib/Test/Simple/t/filehandles.t Test::Simple test, STDOUT can be played with
-lib/Test/Simple/t/import.t      Test::More test, importing functions
-lib/Test/Simple/t/is_deeply.t   Test::More test, is_deeply()
+lib/Test/Simple/t/import.t	Test::More test, importing functions
+lib/Test/Simple/t/is_deeply.t	Test::More test, is_deeply()
 lib/Test/Simple/t/maybe_regex.t Test::Builder->maybe_regex() tests
-lib/Test/Simple/t/missing.t     Test::Simple test, missing tests
-lib/Test/Simple/t/More.t        Test::More test, basic stuff
-lib/Test/Simple/t/no_ending.t   Test::Builder test, no_ending()
-lib/Test/Simple/t/no_header.t   Test::Builder test, no_header()
-lib/Test/Simple/t/no_plan.t     Test::Simple test, forgot the plan
-lib/Test/Simple/t/output.t      Test::Builder test, output methods
-lib/Test/Simple/t/plan.t        Test::More test, plan()
-lib/Test/Simple/t/plan_is_noplan.t      Test::Simple test, no_plan
-lib/Test/Simple/t/plan_no_plan.t        Test::More test, plan() w/no_plan
-lib/Test/Simple/t/plan_skip_all.t       Test::More test, plan() w/skip_all
-lib/Test/Simple/t/simple.t      Test::Simple test, basic stuff
-lib/Test/Simple/t/skip.t        Test::More test, SKIP tests
-lib/Test/Simple/t/skipall.t     Test::More test, skip all tests
-lib/Test/Simple/t/strays.t      Test::Builder stray newline checks
-lib/Test/Simple/t/todo.t        Test::More test, TODO tests
-lib/Test/Simple/t/undef.t       Test::More test, undefs don't cause warnings
-lib/Test/Simple/t/useing.t      Test::More test, compile test
-lib/Test/Simple/t/use_ok.t      Test::More test, use_ok()
+lib/Test/Simple/t/missing.t	Test::Simple test, missing tests
+lib/Test/Simple/t/More.t	Test::More test, basic stuff
+lib/Test/Simple/t/no_ending.t	Test::Builder test, no_ending()
+lib/Test/Simple/t/no_header.t	Test::Builder test, no_header()
+lib/Test/Simple/t/no_plan.t	Test::Simple test, forgot the plan
+lib/Test/Simple/t/output.t	Test::Builder test, output methods
+lib/Test/Simple/t/plan.t	Test::More test, plan()
+lib/Test/Simple/t/plan_is_noplan.t	Test::Simple test, no_plan
+lib/Test/Simple/t/plan_no_plan.t	Test::More test, plan() w/no_plan
+lib/Test/Simple/t/plan_skip_all.t	Test::More test, plan() w/skip_all
+lib/Test/Simple/t/simple.t	Test::Simple test, basic stuff
+lib/Test/Simple/t/skip.t	Test::More test, SKIP tests
+lib/Test/Simple/t/skipall.t	Test::More test, skip all tests
+lib/Test/Simple/t/strays.t	Test::Builder stray newline checks
+lib/Test/Simple/t/todo.t	Test::More test, TODO tests
+lib/Test/Simple/t/undef.t	Test::More test, undefs don't cause warnings
+lib/Test/Simple/t/useing.t	Test::More test, compile test
+lib/Test/Simple/t/use_ok.t	Test::More test, use_ok()
 lib/Test/t/fail.t		See if Test works
 lib/Test/t/mix.t		See if Test works
 lib/Test/t/onfail.t		See if Test works
@@ -1467,7 +1469,7 @@
 lib/Test/t/skip.t		See if Test works
 lib/Test/t/success.t		See if Test works
 lib/Test/t/todo.t		See if Test works
-lib/Test/Tutorial.pod           A tutorial on writing tests
+lib/Test/Tutorial.pod		A tutorial on writing tests
 lib/Text/Abbrev.pm		An abbreviation table builder
 lib/Text/Abbrev.t		Test Text::Abbrev
 lib/Text/Balanced.pm		Text::Balanced
@@ -1497,37 +1499,37 @@
 lib/Tie/Array/splice.t		Test for Tie::Array::SPLICE
 lib/Tie/Array/std.t		Test for Tie::StdArray
 lib/Tie/Array/stdpush.t		Test for Tie::StdArray
-lib/Tie/File.pm                 Files as tied arrays
-lib/Tie/File/t/00_version.t     Trivial test for Tie::File
-lib/Tie/File/t/01_gen.t         Generic read/write tests for Tie::File
-lib/Tie/File/t/02_fetchsize.t   File length fetch test for Tie::File
-lib/Tie/File/t/03_longfetch.t   Past-the-end-of-the-array tests for Tie::File
-lib/Tie/File/t/04_splice.t      SPLICE method tests for Tie::File
-lib/Tie/File/t/05_size.t        $#a tests for Tie::File
-lib/Tie/File/t/06_fixrec.t      '_fixrec' method functional tests for Tie::File
-lib/Tie/File/t/07_rv_splice.t   SPLICE method return value tests for Tie::File
-lib/Tie/File/t/08_ro.t          read-only mode tests for Tie::File
-lib/Tie/File/t/09_gen_rs.t      Like 01_gen.t, with unusual record separator
-lib/Tie/File/t/10_splice_rs.t   Like 04_splice.t, with unusual record separator
+lib/Tie/File.pm			Files as tied arrays
+lib/Tie/File/t/00_version.t	Trivial test for Tie::File
+lib/Tie/File/t/01_gen.t		Generic read/write tests for Tie::File
+lib/Tie/File/t/02_fetchsize.t	File length fetch test for Tie::File
+lib/Tie/File/t/03_longfetch.t	Past-the-end-of-the-array tests for Tie::File
+lib/Tie/File/t/04_splice.t	SPLICE method tests for Tie::File
+lib/Tie/File/t/05_size.t	$#a tests for Tie::File
+lib/Tie/File/t/06_fixrec.t	'_fixrec' method functional tests for Tie::File
+lib/Tie/File/t/07_rv_splice.t	SPLICE method return value tests for Tie::File
+lib/Tie/File/t/08_ro.t		read-only mode tests for Tie::File
+lib/Tie/File/t/09_gen_rs.t	Like 01_gen.t, with unusual record separator
+lib/Tie/File/t/10_splice_rs.t	Like 04_splice.t, with unusual record separator
 lib/Tie/File/t/11_rv_splice_rs.t  Like 07_rv_splice.t, with unusual record separator
 lib/Tie/File/t/12_longfetch_rs.t  Like 03_longfetch.t, with unusual record separator
-lib/Tie/File/t/13_size_rs.t     Like 05_size.t, with unusual record separator
-lib/Tie/File/t/14_lock.t        File locking method tests for Tie::File
-lib/Tie/File/t/15_pushpop.t     PUSH / POP / SHIFT / UNSHIFT for Tie::File
-lib/Tie/File/t/16_handle.t      Tying a handle instead of a file for Tie::File
-lib/Tie/File/t/17_misc_meth.t   CLEAR / EXISTS / DELETE / EXTEND for Tie::File
-lib/Tie/File/t/18_rs_fixrec.t   Like 06_fixrec.t, with unusual record separator
-lib/Tie/File/t/19_cache.t       Read cache exercises and regression for Tie::File
-lib/Tie/File/t/20_cache_full.t  LRU expiry exercises and regression for Tie::File
-lib/Tie/File/t/21_win32.t       Win32 special behavior of Tie::File
-lib/Tie/File/t/22_autochomp.t   'autochomp' option of Tie::File
+lib/Tie/File/t/13_size_rs.t	Like 05_size.t, with unusual record separator
+lib/Tie/File/t/14_lock.t	File locking method tests for Tie::File
+lib/Tie/File/t/15_pushpop.t	PUSH / POP / SHIFT / UNSHIFT for Tie::File
+lib/Tie/File/t/16_handle.t	Tying a handle instead of a file for Tie::File
+lib/Tie/File/t/17_misc_meth.t	CLEAR / EXISTS / DELETE / EXTEND for Tie::File
+lib/Tie/File/t/18_rs_fixrec.t	Like 06_fixrec.t, with unusual record separator
+lib/Tie/File/t/19_cache.t	Read cache exercises and regression for Tie::File
+lib/Tie/File/t/20_cache_full.t	LRU expiry exercises and regression for Tie::File
+lib/Tie/File/t/21_win32.t	Win32 special behavior of Tie::File
+lib/Tie/File/t/22_autochomp.t	'autochomp' option of Tie::File
 lib/Tie/File/t/23_rv_ac_splice.t  Like 07_rv_splice.t, but with autochomp
 lib/Tie/File/t/24_cache_loop.t	Regression for old Tie::File cache bug
-lib/Tie/File/t/25_gen_nocache.t	Like 01_gen.t, but with caching disabled
+lib/Tie/File/t/25_gen_nocache.t Like 01_gen.t, but with caching disabled
 lib/Tie/File/t/26_twrite.t	Unit tests for Tie::File::_twrite
-lib/Tie/File/t/30_defer.t       deferred writing feature tests for Tie::File
-lib/Tie/File/t/31_autodefer.t   'autodefer' feature tests for Tie::File
-lib/Tie/File/t/32_defer_misc.t  Like 17_misc_meth.t, but with deferred writing
+lib/Tie/File/t/30_defer.t	deferred writing feature tests for Tie::File
+lib/Tie/File/t/31_autodefer.t	'autodefer' feature tests for Tie::File
+lib/Tie/File/t/32_defer_misc.t	Like 17_misc_meth.t, but with deferred writing
 lib/Tie/File/t/33_defer_vs.t	Like 30_defer.t, but with varying-length records
 lib/Tie/File/t/40_abs_cache.t	Unit tests for Tie::File::Cache
 lib/Tie/File/t/41_heap.t	Unit tests for Tie::File::Heap
@@ -1870,7 +1872,7 @@
 lib/unicore/NamesList.txt	Unicode character database
 lib/unicore/Number.pl		Unicode character database
 lib/unicore/Properties		Built-in \p{...} / \P{...} property list
-lib/unicore/PropertyAliases.txt	Unicode character database
+lib/unicore/PropertyAliases.txt Unicode character database
 lib/unicore/PropList.txt	Unicode character database
 lib/unicore/PropValueAliases.txt	Unicode character database
 lib/unicore/README.perl		Unicode character database
@@ -1896,8 +1898,8 @@
 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/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"
@@ -2023,7 +2025,7 @@
 os2/OS2/Process/MANIFEST	system() constants in a module
 os2/OS2/Process/Process.pm	system() constants in a module
 os2/OS2/Process/Process.xs	system() constants in a module
-os2/OS2/Process/t/os2_process.t	Tests
+os2/OS2/Process/t/os2_process.t Tests
 os2/OS2/Process/t/os2_process_kid.t	Tests
 os2/OS2/Process/t/os2_process_text.t	Tests
 os2/OS2/REXX/Changes		DLL access module
@@ -2131,7 +2133,7 @@
 pod/perlhack.pod		Perl hackers guide
 pod/perlhist.pod		Perl history info
 pod/perlintern.pod		Perl internal function docs (autogenrated)
-pod/perlintro.pod               Perl introduction for beginners
+pod/perlintro.pod		Perl introduction for beginners
 pod/perliol.pod			Internals of PerlIO with layers.
 pod/perlipc.pod			IPC info
 pod/perllexwarn.pod		Lexical Warnings info
@@ -2190,7 +2192,7 @@
 Porting/apply		Apply patches sent by mail
 Porting/check83.pl	Check whether we are 8.3-friendly
 Porting/checkURL.pl	Check whether we have working URLs
-Porting/checkVERSION.pl	Check whether we have $VERSIONs
+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
@@ -2300,7 +2302,7 @@
 t/comp/use.t			See if pragmas work
 t/harness			Finer diagnostics from test suite
 t/io/argv.t			See if ARGV stuff works
-t/io/binmode.t                  See if binmode() works
+t/io/binmode.t			See if binmode() works
 t/io/crlf.t			See if :crlf works
 t/io/dup.t			See if >& works right
 t/io/fflush.t			See if auto-flush on fork/exec/system/qx works
@@ -2315,7 +2317,7 @@
 t/io/read.t			See if read works
 t/io/tell.t			See if file seeking works
 t/io/utf8.t			See if file seeking works
-t/japh/abigail.t                Obscure tests
+t/japh/abigail.t		Obscure tests
 t/lib/1_compile.t		See if the various libraries and extensions compile
 t/lib/commonsense.t		See if configuration meets basic needs
 t/lib/compmod.pl		Helper for 1_compile.t
@@ -2341,50 +2343,50 @@
 t/lib/h2ph.pht			Generated output from h2ph.h by h2ph, for comparison
 t/lib/locale/latin1		Part of locale.t in Latin 1
 t/lib/locale/utf8		Part of locale.t in UTF8
-t/lib/MakeMaker/Test/Utils.pm           MakeMaker test utilities
-t/lib/Math/BigFloat/Subclass.pm	Empty subclass of BigFloat for test
+t/lib/MakeMaker/Test/Utils.pm		MakeMaker test utilities
+t/lib/Math/BigFloat/Subclass.pm Empty subclass of BigFloat for test
 t/lib/Math/BigInt/BareCalc.pm	Bigint's simulation of Calc
 t/lib/Math/BigInt/Subclass.pm	Empty subclass of BigInt for test
 t/lib/Math/BigRat/Test.pm		Math::BigRat test helper
 t/lib/sample-tests/bailout		Test data for Test::Harness
-t/lib/sample-tests/bignum               Test data for Test::Harness
+t/lib/sample-tests/bignum		Test data for Test::Harness
 t/lib/sample-tests/combined		Test data for Test::Harness
 t/lib/sample-tests/descriptive		Test data for Test::Harness
-t/lib/sample-tests/die                  Test data for Test::Harness
-t/lib/sample-tests/die_head_end         Test data for Test::Harness
-t/lib/sample-tests/die_last_minute      Test data for Test::Harness
+t/lib/sample-tests/die			Test data for Test::Harness
+t/lib/sample-tests/die_head_end		Test data for Test::Harness
+t/lib/sample-tests/die_last_minute	Test data for Test::Harness
 t/lib/sample-tests/duplicates		Test data for Test::Harness
-t/lib/sample-tests/head_end	        Test data for Test::Harness
-t/lib/sample-tests/head_fail	        Test data for Test::Harness
-t/lib/sample-tests/lone_not_bug         Test data for Test::Harness
+t/lib/sample-tests/head_end		Test data for Test::Harness
+t/lib/sample-tests/head_fail		Test data for Test::Harness
+t/lib/sample-tests/lone_not_bug		Test data for Test::Harness
 t/lib/sample-tests/no_nums		Test data for Test::Harness
-t/lib/sample-tests/out_of_order         Test data for Test::Harness
+t/lib/sample-tests/out_of_order		Test data for Test::Harness
 t/lib/sample-tests/simple		Test data for Test::Harness
 t/lib/sample-tests/simple_fail		Test data for Test::Harness
 t/lib/sample-tests/skip			Test data for Test::Harness
 t/lib/sample-tests/skip_all		Test data for Test::Harness
-t/lib/sample-tests/skip_no_msg	        Test data for Test::Harness
-t/lib/sample-tests/taint                Test data for Test::Harness
+t/lib/sample-tests/skip_no_msg		Test data for Test::Harness
+t/lib/sample-tests/taint		Test data for Test::Harness
 t/lib/sample-tests/todo			Test data for Test::Harness
-t/lib/sample-tests/todo_inline	        Test data for Test::Harness
-t/lib/sample-tests/vms_nit              Test data for Test::Harness
+t/lib/sample-tests/todo_inline		Test data for Test::Harness
+t/lib/sample-tests/vms_nit		Test data for Test::Harness
 t/lib/sample-tests/with_comments	Test data for Test::Harness
 t/lib/st-dump.pl		See if Storable works
 t/lib/strict/refs		Tests of "use strict 'refs'" for strict.t
 t/lib/strict/subs		Tests of "use strict 'subs'" for strict.t
 t/lib/strict/vars		Tests of "use strict 'vars'" for strict.t
-t/lib/Test/Simple/Catch.pm      Utility module for testing Test::Simple
-t/lib/Test/Simple/sample_tests/death.plx                for exit.t
-t/lib/Test/Simple/sample_tests/death_in_eval.plx        for exit.t
-t/lib/Test/Simple/sample_tests/extras.plx               for exit.t
-t/lib/Test/Simple/sample_tests/five_fail.plx            for exit.t
-t/lib/Test/Simple/sample_tests/last_minute_death.plx    for exit.t
-t/lib/Test/Simple/sample_tests/one_fail.plx             for exit.t
-t/lib/Test/Simple/sample_tests/require.plx              for exit.t
-t/lib/Test/Simple/sample_tests/success.plx              for exit.t
-t/lib/Test/Simple/sample_tests/too_few.plx              for exit.t
-t/lib/Test/Simple/sample_tests/two_fail.plx             for exit.t
-t/lib/TieOut.pm                 Testing library to capture prints
+t/lib/Test/Simple/Catch.pm	Utility module for testing Test::Simple
+t/lib/Test/Simple/sample_tests/death.plx		for exit.t
+t/lib/Test/Simple/sample_tests/death_in_eval.plx	for exit.t
+t/lib/Test/Simple/sample_tests/extras.plx		for exit.t
+t/lib/Test/Simple/sample_tests/five_fail.plx		for exit.t
+t/lib/Test/Simple/sample_tests/last_minute_death.plx	for exit.t
+t/lib/Test/Simple/sample_tests/one_fail.plx		for exit.t
+t/lib/Test/Simple/sample_tests/require.plx		for exit.t
+t/lib/Test/Simple/sample_tests/success.plx		for exit.t
+t/lib/Test/Simple/sample_tests/too_few.plx		for exit.t
+t/lib/Test/Simple/sample_tests/two_fail.plx		for exit.t
+t/lib/TieOut.pm			Testing library to capture prints
 t/lib/warnings/1global		Tests of global warnings for warnings.t
 t/lib/warnings/2use		Tests for "use warnings" for warnings.t
 t/lib/warnings/3both		Tests for interaction of $^W and "use warnings"
@@ -2433,7 +2435,7 @@
 t/op/bless.t			See if bless works
 t/op/bop.t			See if bitops work
 t/op/chars.t			See if character escapes work
-t/op/chdir.t                    See if chdir works
+t/op/chdir.t			See if chdir works
 t/op/chop.t			See if chop works
 t/op/closure.t			See if closures work
 t/op/cmp.t			See if the various string and numeric compare work
@@ -2486,7 +2488,7 @@
 t/op/nothr5005.t		local @_ test which does not work under use5005threads
 t/op/numconvert.t		See if accessing fields does not change numeric values
 t/op/oct.t			See if oct and hex work
-t/op/or.t                       See if || works in weird situations
+t/op/or.t			See if || works in weird situations
 t/op/ord.t			See if ord works
 t/op/override.t			See if operator overriding works
 t/op/pack.t			See if pack and unpack work
@@ -2515,7 +2517,7 @@
 t/op/splice.t			See if splice works
 t/op/split.t			See if split works
 t/op/sprintf.t			See if sprintf works
-t/op/srand.t                    See if srand works
+t/op/srand.t			See if srand works
 t/op/stat.t			See if stat works
 t/op/study.t			See if study works
 t/op/subst.t			See if substitution works
@@ -2574,8 +2576,8 @@
 t/pod/testpchk.pl		Module to test Pod::Checker for a given file
 t/pod/testpods/lib/Pod/Stuff.pm			Sample data for find.t
 t/README			Instructions for regression tests
-t/run/exit.t                    Test perl's exit status.
-t/run/fresh_perl.t              Tests that require a fresh perl.
+t/run/exit.t			Test perl's exit status.
+t/run/fresh_perl.t		Tests that require a fresh perl.
 t/run/noswitch.t		Test aliasing ARGV for other switch tests
 t/run/runenv.t			Test if perl honors its environment variables.
 t/run/switcha.t			Test the -a switch
@@ -2583,11 +2585,11 @@
 t/run/switchF.t			Test the -F switch
 t/run/switchn.t			Test the -n switch
 t/run/switchp.t			Test the -p switch
-t/run/switchPx.aux              Data for switchPx.t
-t/run/switchPx.t                Test the -Px combination
-t/run/switcht.t                 Test the -t switch
-t/run/switchx.aux               Data for switchx.t
-t/run/switchx.t                 Test the -x switch
+t/run/switchPx.aux		Data for switchPx.t
+t/run/switchPx.t		Test the -Px combination
+t/run/switcht.t			Test the -t switch
+t/run/switchx.aux		Data for switchx.t
+t/run/switchx.t			Test the -x switch
 t/TEST				The regression tester
 t/test.pl			Simple testing library
 t/TestInit.pm			Preamble library for core tests
@@ -2734,6 +2736,8 @@
 wince/bin/pl2bat.pl			WinCE port
 wince/bin/runperl.pl			WinCE port
 wince/bin/search.pl			WinCE port
+wince/cecopy-lib.pl			WinCE port
+wince/comp.pl				WinCE port
 wince/config.ce				WinCE port
 wince/config.h				WinCE port
 wince/config_H.ce			WinCE port

==== //depot/macperl/av.c#2 (text) ====
Index: perl/av.c
--- perl/av.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/av.c	Sun Apr 28 13:30:05 2002
@@ -823,7 +823,7 @@
 	    mg = mg_find(sv, PERL_MAGIC_tiedelem);
 	    if (mg) {
 		magic_existspack(sv, mg);
-		return SvTRUE(sv);
+		return (bool)SvTRUE(sv);
 	    }
 	}
     }

==== //depot/macperl/ext/Encode/Encode.xs#3 (text) ====
Index: perl/ext/Encode/Encode.xs
--- perl/ext/Encode/Encode.xs.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/Encode/Encode.xs	Sun Apr 28 13:30:05 2002
@@ -14,11 +14,11 @@
 
 /* set 1 or more to profile.  t/encoding.t dumps core because of
    Perl_warner and PerlIO don't work well */
-#define ENCODE_XS_PROFILE 0 
+#define ENCODE_XS_PROFILE 0
 
 /* set 0 to disable floating point to calculate buffer size for
    encode_method().  1 is recommended. 2 restores NI-S original */
-#define ENCODE_XS_USEFP   1 
+#define ENCODE_XS_USEFP   1
 
 #define UNIMPLEMENTED(x,y) y x (SV *sv, char *encoding) {dTHX;   \
                          Perl_croak(aTHX_ "panic_unimplemented"); \
@@ -123,55 +123,55 @@
 	}
 	case ENCODE_NOREP:
 	    /* encoding */	
-	    if (dir == enc->f_utf8) { 
+	    if (dir == enc->f_utf8) {
 		STRLEN clen;
 		UV ch =
-		    utf8n_to_uvuni(s+slen, (SvCUR(src)-slen), 
+		    utf8n_to_uvuni(s+slen, (SvCUR(src)-slen),
 				   &clen, UTF8_ALLOW_ANY|UTF8_CHECK_ONLY);
 		if (check & ENCODE_DIE_ON_ERR) {
 		    Perl_croak(
-			aTHX_ "\"\\N{U+%" UVxf "}\" does not map to %s, %d", 
+			aTHX_ "\"\\N{U+%" UVxf "}\" does not map to %s, %d",
 			ch, enc->name[0], __LINE__);
 		}else{
 		    if (check & ENCODE_RETURN_ON_ERR){
 			if (check & ENCODE_WARN_ON_ERR){
 			    Perl_warner(
 				aTHX_ packWARN(WARN_UTF8),
-				"\"\\N{U+%" UVxf "}\" does not map to %s", 
+				"\"\\N{U+%" UVxf "}\" does not map to %s",
 				ch,enc->name[0]);
 			}
        			goto ENCODE_SET_SRC;
 		    }else if (check & ENCODE_PERLQQ){
-			SV* perlqq = 
+			SV* perlqq =
 			    sv_2mortal(newSVpvf("\\x{%04"UVxf"}", ch));
 			sdone += slen + clen;
 			ddone += dlen + SvCUR(perlqq);
 			sv_catsv(dst, perlqq);
 		    }else if (check & ENCODE_HTMLCREF){
-			SV* htmlcref = 
+			SV* htmlcref =
 			    sv_2mortal(newSVpvf("&#%" UVuf ";", ch));
 			sdone += slen + clen;
 			ddone += dlen + SvCUR(htmlcref);
 			sv_catsv(dst, htmlcref);
 		    }else if (check & ENCODE_XMLCREF){
-			SV* xmlcref = 
+			SV* xmlcref =
 			    sv_2mortal(newSVpvf("&#x%" UVxf ";", ch));
 			sdone += slen + clen;
 			ddone += dlen + SvCUR(xmlcref);
 			sv_catsv(dst, xmlcref);
-		    } else { 
+		    } else {
 			/* fallback char */
 			sdone += slen + clen;
-			ddone += dlen + enc->replen; 
-			sv_catpvn(dst, (char*)enc->rep, enc->replen); 
+			ddone += dlen + enc->replen;
+			sv_catpvn(dst, (char*)enc->rep, enc->replen);
 		    }			
-		} 
+		}
 	    }
 	    /* decoding */
-	    else {           
+	    else {
 		if (check & ENCODE_DIE_ON_ERR){
 		    Perl_croak(
-			aTHX_ "%s \"\\x%02" UVXf 
+			aTHX_ "%s \"\\x%02" UVXf
 			"\" does not map to Unicode (%d)",
 			enc->name[0], (U8) s[slen], code);
 		}else{
@@ -179,29 +179,29 @@
 			if (check & ENCODE_WARN_ON_ERR){
 			    Perl_warner(
 				aTHX_ packWARN(WARN_UTF8),
-				"%s \"\\x%02" UVXf 
+				"%s \"\\x%02" UVXf
 				"\" does not map to Unicode (%d)",
 				enc->name[0], (U8) s[slen], code);
 			}
 			goto ENCODE_SET_SRC;
-		    }else if (check & 
+		    }else if (check &
 			      (ENCODE_PERLQQ|ENCODE_HTMLCREF|ENCODE_XMLCREF)){
-			SV* perlqq = 
+			SV* perlqq =
 			    sv_2mortal(newSVpvf("\\x%02" UVXf, s[slen]));
 			sdone += slen + 1;
 			ddone += dlen + SvCUR(perlqq);
 			sv_catsv(dst, perlqq);
 		    } else {
 			sdone += slen + 1;
-			ddone += dlen + strlen(FBCHAR_UTF8); 
-			sv_catpv(dst, FBCHAR_UTF8); 
+			ddone += dlen + strlen(FBCHAR_UTF8);
+			sv_catpv(dst, FBCHAR_UTF8);
 		    }
 		}
 	    }
 	    /* settle variables when fallback */
 	    d    = (U8 *)SvEND(dst);
             dlen = SvLEN(dst) - ddone - 1;
-	    s    = (U8*)SvPVX(src) + sdone; 
+	    s    = (U8*)SvPVX(src) + sdone;
 	    slen = tlen - sdone;
 	    break;
 
@@ -221,10 +221,10 @@
 	SvCUR_set(src, sdone);
     }
     /* warn("check = 0x%X, code = 0x%d\n", check, code); */
-    
+
     SvCUR_set(dst, dlen+ddone);
     SvPOK_only(dst);
-    
+
 #if ENCODE_XS_PROFILE
     if (SvCUR(dst) > SvCUR(src)){
 	Perl_warn(aTHX_
@@ -233,7 +233,7 @@
 		  (SvLEN(dst) - SvCUR(dst))*1.0/SvLEN(dst)*100.0);
     }
 #endif
-    
+
  ENCODE_END:
     *SvEND(dst) = '\0';
     return dst;
@@ -317,7 +317,7 @@
 CODE:
 {
     SV * encoding = items == 2 ? ST(1) : Nullsv;
-    
+
     if (encoding)
     RETVAL = _encoded_bytes_to_utf8(sv, SvPV_nolen(encoding));
     else {
@@ -354,7 +354,7 @@
 	    /* Must do things the slow way */
 	    U8 *dest;
             /* We need a copy to pass to check() */
-	    U8 *src  = (U8*)savepv((char *)s); 
+	    U8 *src  = (U8*)savepv((char *)s);
 	    U8 *send = s + len;
 
 	    New(83, dest, len, U8); /* I think */
@@ -379,8 +379,8 @@
 		
 		    /* Note change to utf8.c variable naming, for variety */
 		    while (ulen--) {
-			if ((*s & 0xc0) != 0x80){ 
-			    goto failure; 
+			if ((*s & 0xc0) != 0x80){
+			    goto failure;
 			} else {
 			    uv = (uv << 6) | (*s++ & 0x3f);
 			}
@@ -463,7 +463,7 @@
 OUTPUT:
     RETVAL
 
-int 
+int
 WARN_ON_ERR()
 CODE:
     RETVAL = ENCODE_WARN_ON_ERR;

==== //depot/macperl/ext/GDBM_File/Makefile.PL#2 (text) ====
Index: perl/ext/GDBM_File/Makefile.PL
--- perl/ext/GDBM_File/Makefile.PL.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/GDBM_File/Makefile.PL	Sun Apr 28 13:30:05 2002
@@ -2,7 +2,7 @@
 use ExtUtils::Constant 0.11 'WriteConstants';
 WriteMakefile(
     NAME => 'GDBM_File',
-    LIBS => ["-L/usr/local/lib -lgdbm", "-ldbm"],
+    LIBS => ["-lgdbm", "-ldbm"],
     MAN3PODS 	=> {}, 	# Pods will be built by installman.
     XSPROTOARG => '-noprototypes', 		# XXX remove later?
     VERSION_FROM => 'GDBM_File.pm',

==== //depot/macperl/ext/PerlIO/PerlIO.t#2 (text) ====
Index: perl/ext/PerlIO/PerlIO.t
--- perl/ext/PerlIO/PerlIO.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/PerlIO/PerlIO.t	Sun Apr 28 13:30:05 2002
@@ -2,7 +2,7 @@
 	chdir 't' if -d 't';
 	@INC = '../lib';
 	require Config; import Config;
-	unless ($Config{'useperlio'}) {
+	unless (find PerlIO::Layer 'perlio') {
 	    print "1..0 # Skip: PerlIO not used\n";
 	    exit 0;
 	}

==== //depot/macperl/ext/PerlIO/Via/Via.xs#3 (text) ====
Index: perl/ext/PerlIO/Via/Via.xs
--- perl/ext/PerlIO/Via/Via.xs.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/PerlIO/Via/Via.xs	Sun Apr 28 13:30:05 2002
@@ -76,7 +76,9 @@
    IV count;
    dSP;
    SV *arg;
+   PUSHSTACKi(PERLSI_MAGIC);
    ENTER;
+   SPAGAIN;
    PUSHMARK(sp);
    XPUSHs(s->obj);
    while ((arg = va_arg(ap,SV *)))
@@ -113,6 +115,7 @@
      result = &PL_sv_undef;
     }
    LEAVE;
+   POPSTACK;
   }
  va_end(ap);
  return result;

==== //depot/macperl/ext/PerlIO/encoding/encoding.pm#3 (text) ====
Index: perl/ext/PerlIO/encoding/encoding.pm
--- perl/ext/PerlIO/encoding/encoding.pm.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/PerlIO/encoding/encoding.pm	Sun Apr 28 13:30:05 2002
@@ -1,18 +1,19 @@
 package PerlIO::encoding;
 use strict;
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 our $DEBUG = 0;
 $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
 
 #
-# Equivalent of these are done in encoding.xs - do not uncomment them.
+# Equivalent of this is done in encoding.xs - do not uncomment.
 #
 # use Encode ();
-# our $check;
 
 use XSLoader ();
 XSLoader::load(__PACKAGE__, $VERSION);
 
+our $fallback = Encode::PERLQQ()|Encode::WARN_ON_ERR;
+
 1;
 __END__
 

==== //depot/macperl/ext/PerlIO/encoding/encoding.xs#3 (text) ====
Index: perl/ext/PerlIO/encoding/encoding.xs
--- perl/ext/PerlIO/encoding/encoding.xs.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/PerlIO/encoding/encoding.xs	Sun Apr 28 13:30:05 2002
@@ -49,7 +49,7 @@
 } PerlIOEncode;
 
 #define NEEDS_LINES	1
-#define OUR_DEFAULT_FB	"Encode::FB_QUIET"
+#define OUR_DEFAULT_FB	"Encode::PERLQQ"
 
 SV *
 PerlIOEncode_getarg(pTHX_ PerlIO * f, CLONE_PARAMS * param, int flags)
@@ -58,6 +58,9 @@
     SV *sv = &PL_sv_undef;
     if (e->enc) {
 	dSP;
+	/* Not 100% sure stack swap is right thing to do during dup ... */
+	PUSHSTACKi(PERLSI_MAGIC);
+	SPAGAIN;
 	ENTER;
 	SAVETMPS;
 	PUSHMARK(sp);
@@ -68,6 +71,9 @@
 	    sv = newSVsv(POPs);
 	    PUTBACK;
 	}
+	FREETMPS;
+	LEAVE;
+	POPSTACK;
     }
     return sv;
 }
@@ -80,6 +86,9 @@
     IV  code = PerlIOBuf_pushed(aTHX_ f, mode, Nullsv);
     SV *result = Nullsv;
 
+    PUSHSTACKi(PERLSI_MAGIC);
+    SPAGAIN;
+
     ENTER;
     SAVETMPS;
 
@@ -136,10 +145,11 @@
 	PerlIOBase(f)->flags |= PERLIO_F_UTF8;
     }
 
-    e->chk = newSVsv(get_sv("PerlIO::encoding::check", 0));
+    e->chk = newSVsv(get_sv("PerlIO::encoding::fallback", 0));
 
     FREETMPS;
     LEAVE;
+    POPSTACK;
     return code;
 }
 
@@ -224,6 +234,8 @@
 	    Perl_die(aTHX_ "panic: cannot push :perlio for %p",f);
 	}
     }
+    PUSHSTACKi(PERLSI_MAGIC);
+    SPAGAIN;
     ENTER;
     SAVETMPS;
   retry:
@@ -363,18 +375,19 @@
 	    PerlIO_set_ptrcnt(n, ptr+use, (avail-use));
 	    goto retry;
 	}
-	FREETMPS;
-	LEAVE;
-	return code;
     }
     else {
     end_of_file:
+	code = -1;
 	if (avail == 0)
 	    PerlIOBase(f)->flags |= PERLIO_F_EOF;
 	else
 	    PerlIOBase(f)->flags |= PERLIO_F_ERROR;
-	return -1;
     }
+    FREETMPS;
+    LEAVE;
+    POPSTACK;
+    return code;
 }
 
 IV
@@ -391,6 +404,8 @@
 	SSize_t count = 0;
 	if (PerlIOBase(f)->flags & PERLIO_F_WRBUF) {
 	    /* Write case encode the buffer and write() to layer below */
+	    PUSHSTACKi(PERLSI_MAGIC);
+	    SPAGAIN;
 	    ENTER;
 	    SAVETMPS;
 	    PUSHMARK(sp);
@@ -413,6 +428,7 @@
 	    }
 	    FREETMPS;
 	    LEAVE;
+	    POPSTACK;
 	    if (PerlIO_flush(PerlIONext(f)) != 0) {
 		code = -1;
 	    }
@@ -437,6 +453,8 @@
 		/* Bother - have unread data.
 		   re-encode and unread() to layer below
 		 */
+		PUSHSTACKi(PERLSI_MAGIC);
+		SPAGAIN;
 		ENTER;
 		SAVETMPS;
 		str = sv_newmortal();
@@ -464,6 +482,7 @@
 		}
 		FREETMPS;
 		LEAVE;
+		POPSTACK;
 	    }
 	}
 	e->base.ptr = e->base.end = e->base.buf;
@@ -588,12 +607,14 @@
 
 BOOT:
 {
-    SV *chk = get_sv("PerlIO::encoding::check", GV_ADD|GV_ADDMULTI);
+    SV *chk = get_sv("PerlIO::encoding::fallback", GV_ADD|GV_ADDMULTI);
     /*
      * we now "use Encode ()" here instead of
      * PerlIO/encoding.pm.  This avoids SEGV when ":encoding()"
      * is invoked without prior "use Encode". -- dankogai
      */
+    PUSHSTACKi(PERLSI_MAGIC);
+    SPAGAIN;
     if (!gv_stashpvn("Encode", 6, FALSE)) {
 #if 0
 	/* This would just be an irritant now loading works */
@@ -607,6 +628,7 @@
 	SPAGAIN;
 	LEAVE;
     }
+#ifdef PERLIO_LAYERS
     PUSHMARK(sp);
     PUTBACK;
     if (call_pv(OUR_DEFAULT_FB, G_SCALAR) != 1) {
@@ -616,7 +638,7 @@
     SPAGAIN;
     sv_setsv(chk, POPs);
     PUTBACK;
-#ifdef PERLIO_LAYERS
     PerlIO_define_layer(aTHX_ &PerlIO_encode);
 #endif
+    POPSTACK;
 }

==== //depot/macperl/ext/threads/shared/t/cond.t#2 (text) ====
==== //depot/macperl/ext/threads/t/basic.t#2 (xtext) ====
Index: perl/ext/threads/t/basic.t
--- perl/ext/threads/t/basic.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/threads/t/basic.t	Sun Apr 28 13:30:05 2002
@@ -73,12 +73,20 @@
 
 #test trying to detach thread
 
-sub test4 { ok(6,1,"Detach test") }
+sub test4 { ok(6,1,"Detach test"); rmdir "thrsem" }
+
+# Just a sleep() would not guarantee that we sleep and will not
+# wake up before the just created thread finishes.  Instead, let's
+# use the filesystem as a semaphore.  Creating a directory and removing
+# it should be a reasonably atomic operation even over NFS. 
+# Also, we do not want to depend here on shared variables.
+
+mkdir "thrsem", 0700;
 
 my $thread1 = threads->create('test4');
 
 $thread1->detach();
-sleep 2;
+sleep 1 while -d "thrsem";
 ok(7,1,"Detach test");
 
 
@@ -115,11 +123,8 @@
 ok(14, 0 == threads->self->tid(),"Check so that tid for threads work for main thread");
 ok(15, 0 == threads->tid(),"Check so that tid for threads work for main thread");
 
+END {
+    1 while rmdir "thrsem";
+}
+
 1;
-
-
-
-
-
-
-

==== //depot/macperl/ext/threads/t/thread.t#2 (text) ====
Index: perl/ext/threads/t/thread.t
--- perl/ext/threads/t/thread.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/threads/t/thread.t	Sun Apr 28 13:30:05 2002
@@ -12,7 +12,7 @@
 
 use ExtUtils::testlib;
 use strict;
-BEGIN { $| = 1; print "1..21\n" };
+BEGIN { $| = 1; print "1..17\n" };
 use threads;
 use threads::shared;
 
@@ -40,23 +40,27 @@
 sub dorecurse {
     my $val = shift;
     my $ret;
-    print $val;
     if(@_) {
 	$ret = threads->new(\&dorecurse, @_);
-	$ret->join;
+	$ret &= $ret->join;
     }
+    $val;
 }
 {
-    my $t = threads->new(\&dorecurse, map { "ok $_\n" } 6..10);
-    $t->join();
+    curr_test(6);
+	
+    my $t = threads->new(\&dorecurse, 6..10);
+    ok($t->join());
 }
 
 {
+    curr_test(7);
+
     # test that sleep lets other thread run
-    my $t = threads->new(\&dorecurse, "ok 11\n");
+    my $t = threads->new(\&dorecurse, 1);
     sleep 1;
-    print "ok 12\n";
-    $t->join();
+    ok(1);
+    ok($t->join());
 }
 {
     my $lock : shared;
@@ -70,7 +74,7 @@
 	}
 	return $ret;
     }
-my $t = threads->new(\&islocked, "ok 13\n", "ok 14\n");
+my $t = threads->new(\&islocked, "ok 9\n", "ok 10\n");
 $t->join->join;
 }
 
@@ -95,10 +99,10 @@
 
 
 { 
-    curr_test(15);
+    curr_test(11);
 
-    my $thr1 = threads->new(\&testsprintf, 15);
-    my $thr2 = threads->new(\&testsprintf, 16);
+    my $thr1 = threads->new(\&testsprintf, 11);
+    my $thr2 = threads->new(\&testsprintf, 12);
     
     my $short = "This is a long string that goes on and on.";
     my $shorte = " a long string that goes on and on.";
@@ -108,8 +112,8 @@
     my $fooe = " bar bar bar.";
     my $thr3 = new threads \&threaded, $short, $shorte;
     my $thr4 = new threads \&threaded, $long, $longe;
-    my $thr5 = new threads \&testsprintf, 19;
-    my $thr6 = new threads \&testsprintf, 20;
+    my $thr5 = new threads \&testsprintf, 15;
+    my $thr6 = new threads \&testsprintf, 16;
     my $thr7 = new threads \&threaded, $foo, $fooe;
 
     ok($thr1->join());

==== //depot/macperl/ext/threads/threads.pm#2 (xtext) ====
Index: perl/ext/threads/threads.pm
--- perl/ext/threads/threads.pm.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/threads/threads.pm	Sun Apr 28 13:30:05 2002
@@ -52,7 +52,7 @@
 our @EXPORT = qw(
 	
 );
-our $VERSION = '0.05';
+our $VERSION = '0.99';
 
 
 sub equal {
@@ -101,6 +101,8 @@
 
 threads->yield();
 
+threads->list();
+
 =head1 DESCRIPTION
 
 Perl 5.6 introduced something called interpreter threads.  Interpreter
@@ -135,7 +137,7 @@
 
 This will wait for the corresponding thread to join. When it finishes
 join will return the return values of the entry point function.  If a
-thread has been detached, join will return without wait.
+thread has been detached, an error will be thrown..
 
 =item $thread->detach
 
@@ -148,14 +150,18 @@
 
 =item $thread->tid
 
-This will return the id of the thread.  threads->self->tid() is a
-quick way to get current thread id.
+This will return the id of the thread.  threads->tid() is a quick way 
+to get current thread id if you don't have your thread handy.
 
 =item threads->yield();
 
 This will tell the OS to let this thread yield CPU time to other threads.
 However this is highly depending on the underlying thread implmentation.
 
+=item threads->list();
+
+This will return a list of all non joined, non detached threads.
+
 =back
 
 =head1 WARNINGS
@@ -170,15 +176,38 @@
 
 =back
 
-=head1 TODO
+=head1 BUGS / TODO
+
+The current implmentation of threads has been an attempt to get
+a correct threading system working that could be built on, 
+and optimized, in newer versions of perl.
+
+Current the overhead of creating a thread is rather large,
+also the cost of returning values can be large. These are areas
+were there most likely will be work done to optimize what data
+that needs to be cloned.
 
 =over
 
-=item Fix so the return value is returned when you join.
+=item Parent-Child threads.
+
+On some platforms it might not be possible to destroy "parent"
+threads while there are still existing child "threads".
+
+This will be possibly be fixed in later versions of perl.
+
+=item tid is I32
+
+The tid is a 32 bit integer, it can potentially overflow. 
+This might be fixed in a later version of perl.
+
+=item Returning objects
 
-=item Add join_all.
+When you return an object the entire stash that the object is blessed
+as well. This will lead to a large memory usage.
+The ideal situation would be to detect the original stash if it existed.
 
-=item Fix memory leaks!
+=item PERL_OLD_SIGNALS are not threadsafe, will not be.
 
 =back
 
@@ -203,16 +232,8 @@
 
 please join [email protected] for more information
 
-=head1 BUGS
 
-=over
 
-=item creating a thread from within a thread is unsafe under win32
-
-=item PERL_OLD_SIGNALS are not threadsafe, will not be.
-
-
-=back
 
 =head1 SEE ALSO
 

==== //depot/macperl/ext/threads/threads.xs#2 (xtext) ====
Index: perl/ext/threads/threads.xs
--- perl/ext/threads/threads.xs.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/threads/threads.xs	Sun Apr 28 13:30:05 2002
@@ -367,7 +367,6 @@
 	MUTEX_INIT(&thread->mutex);
 	thread->tid = tid_counter++;
 	thread->gimme = GIMME_V;
-	thread->state = (thread->gimme == G_VOID) ? 1 : 0;
 
 	/* "Clone" our interpreter into the thread's interpreter
 	 * This gives thread access to "static data" and code.
@@ -553,6 +552,27 @@
 }
 
 void
+ithread_list(char *classname)
+PPCODE:
+{
+  ithread *curr_thread;
+  MUTEX_LOCK(&create_destruct_mutex);
+  curr_thread = threads;
+  PUSHs( sv_2mortal(ithread_to_SV(aTHX_ NULL, curr_thread, classname, TRUE)));
+  while(curr_thread) {
+    curr_thread = curr_thread->next;
+    if(curr_thread == threads)
+      break;
+    if(curr_thread->state & PERL_ITHR_DETACHED ||
+       curr_thread->state & PERL_ITHR_JOINED) 
+      continue;
+    PUSHs( sv_2mortal(ithread_to_SV(aTHX_ NULL, curr_thread, classname, TRUE)));
+  }	
+  MUTEX_UNLOCK(&create_destruct_mutex);
+}
+
+
+void
 ithread_self(char *classname)
 CODE:
 {

==== //depot/macperl/hints/netbsd.sh#3 (text) ====
Index: perl/hints/netbsd.sh
--- perl/hints/netbsd.sh.~1~	Sun Apr 28 13:30:05 2002
+++ perl/hints/netbsd.sh	Sun Apr 28 13:30:05 2002
@@ -18,29 +18,26 @@
 	usedl="$undef"
 	;;
 *)
-	# Note that we use the value of $prefix in this block.  The user
-	# should specify -Dprefix=... to the Configure script.
-	if [ -f /usr/libexec/ld.elf_so ]; then
+	if test -f /usr/libexec/ld.elf_so; then
 		d_dlopen=$define
 		d_dlerror=$define
 		# Include the whole libgcc.a, required for Xerces-P, which
 		# needs __eh_alloc, __pure_virtual, and others.
 		# XXX This should be obsoleted by gcc-3.0.
 		ccdlflags="-Wl,-whole-archive -lgcc -Wl,-no-whole-archive \
-			-Wl,-E -Wl,-R$prefix/lib $ccdlflags"
+			-Wl,-E $ccdlflags"
 		cccdlflags="-DPIC -fPIC $cccdlflags"
 		lddlflags="--whole-archive -shared $lddlflags"
-	elif [ "`uname -m`" = "pmax" ]; then
+	elif test "`uname -m`" = "pmax"; then
 # NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so, which will not work.
 		case "$osvers" in
 		1.3|1.3.1)
 			d_dlopen=$undef
 			;;
 		esac
-	elif [ -f /usr/libexec/ld.so ]; then
+	elif test -f /usr/libexec/ld.so; then
 		d_dlopen=$define
 		d_dlerror=$define
-		ccdlflags="-Wl,-R$prefix/lib $ccdlflags"
 # we use -fPIC here because -fpic is *NOT* enough for some of the
 # extensions like Tk on some netbsd platforms (the sparc is one)
 		cccdlflags="-DPIC -fPIC $cccdlflags"
@@ -79,24 +76,55 @@
 cat > UU/usethreads.cbu <<'EOCBU' 
 case "$usethreads" in 
 $define|true|[yY]*) 
-        # The GNU pth is the recommended user-level pthreads implementation. 
-        # As of NetBSD 1.5.2 there are no kernel pthreads. 
-        if pkg_info -qe pth; then 
-            # Add -lpthread. 
-            libswanted="$libswanted pthread" 
-            # There is no libc_r as of NetBSD 1.5.2, so no c -> c_r. 
+	lpthread=
+	for thislib in pthread; do
+		for thisdir in $loclibpth $plibpth $glibpth dummy; do
+			xxx=$thisdir/lib$thislib.a
+			if test -f "$xxx"; then
+				lpthread=$thislib
+				break;
+			fi
+			xxx=$thisdir/lib$thislib.so
+			if test -f "$xxx"; then
+				lpthread=$thislib
+				break;
+			fi
+			xxx=`ls $thisdir/lib$thislib.so.* 2>/dev/null`
+			if test "X$xxx" != X; then
+				lpthread=$thislib
+				break;
+			fi
+		done
+		if test "X$lpthread" != X; then
+			break;
+		fi
+	done
+	if test "X$lpthread" != X; then
+		# Add -lpthread. 
+		libswanted="$libswanted $lpthread" 
+		# There is no libc_r as of NetBSD 1.5.2, so no c -> c_r.
+		# This will be revisited when NetBSD gains a native pthreads
+		# implementation.
         else 
-            echo "$0: You need to install the GNU pth.  Aborting." >&4 
-            exit 1 
-        fi 
+		echo "$0: No POSIX threads library (-lpthread) found.  " \
+		     "You may want to install GNU pth.  Aborting." >&4 
+		exit 1 
+        fi
+	unset thisdir
+	unset thislib
+	unset lpthread
         ;; 
 esac 
 EOCBU
 
 # Recognize the NetBSD packages collection.
-# GDBM might be here, pth might be there.
+# GDBM might be here, GNU pth might be there.
 if test -d /usr/pkg/lib; then
 	loclibpth="$loclibpth /usr/pkg/lib"
-	ldflags="$ldflags -R/usr/pkg/lib"
+	if test -f /usr/libexec/ld.elf_so; then
+		ldflags="$ldflags -Wl,-R/usr/pkg/lib"
+	else
+		ldflags="$ldflags -R/usr/pkg/lib"
+	fi
 fi
 test -d /usr/pkg/include && locincpth="$locincpth /usr/pkg/include"

==== //depot/macperl/hv.c#2 (text) ====
Index: perl/hv.c
--- perl/hv.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/hv.c	Sun Apr 28 13:30:05 2002
@@ -1158,7 +1158,7 @@
 	    sv = sv_newmortal();
 	    mg_copy((SV*)hv, sv, key, klen);
 	    magic_existspack(sv, mg_find(sv, PERL_MAGIC_tiedelem));
-	    return SvTRUE(sv);
+	    return (bool)SvTRUE(sv);
 	}
 #ifdef ENV_IS_CASELESS
 	else if (mg_find((SV*)hv, PERL_MAGIC_env)) {
@@ -1262,7 +1262,7 @@
 	    keysv = sv_2mortal(newSVsv(keysv));
 	    mg_copy((SV*)hv, sv, (char*)keysv, HEf_SVKEY);
 	   magic_existspack(svret, mg_find(sv, PERL_MAGIC_tiedelem));
-	   return SvTRUE(svret);
+	   return (bool)SvTRUE(svret);
 	}
 #ifdef ENV_IS_CASELESS
 	else if (mg_find((SV*)hv, PERL_MAGIC_env)) {
@@ -1935,6 +1935,7 @@
 
             sv = newSVpvn ((char*)as_utf8, utf8_len);
             SvUTF8_on (sv);
+	    Safefree (as_utf8); /* bytes_to_utf8() allocates a new string */
         } else {
             sv = newSVpvn_share(HEK_KEY(hek),
                                 (HEK_UTF8(hek) ? -HEK_LEN(hek) : HEK_LEN(hek)),

==== //depot/macperl/lib/ExtUtils/MM_Unix.pm#3 (text) ====
Index: perl/lib/ExtUtils/MM_Unix.pm
--- perl/lib/ExtUtils/MM_Unix.pm.~1~	Sun Apr 28 13:30:05 2002
+++ perl/lib/ExtUtils/MM_Unix.pm	Sun Apr 28 13:30:05 2002
@@ -1004,7 +1004,7 @@
     push(@m,'	$(RM_F) $@
 ');
 
-    my $libs = $self->{LDLOADLIBS} || '';
+    my $libs = '$(LDLOADLIBS)';
 
     if ($^O eq 'netbsd') {
 	# Use nothing on static perl platforms, and to the flags needed
@@ -1013,9 +1013,9 @@
 	# or -R to add paths to the run-time library search path.
 	if ($Config{'useshrplib'}) {
 	    if ($Config{'lddlflags'} =~ /-Wl,-R/) {
-		$libs = '-L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl';
+		$libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl';
 	    } elsif ($Config{'lddlflags'} =~ /-R/) {
-		$libs = '-L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl';
+		$libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl';
 	    }
 	}
     }

==== //depot/macperl/lib/FileCache.pm#2 (text) ====
Index: perl/lib/FileCache.pm
--- perl/lib/FileCache.pm.~1~	Sun Apr 28 13:30:05 2002
+++ perl/lib/FileCache.pm	Sun Apr 28 13:30:05 2002
@@ -1,6 +1,6 @@
 package FileCache;
 
-our $VERSION = '1.02';
+our $VERSION = '1.021';
 
 =head1 NAME
 
@@ -45,6 +45,11 @@
 and explicitly close the filehandle., when it is closed from the
 other end some cleanup needs to be done.
 
+While it is permissible to C<close> a FileCache managed file,
+do not do so if you are calling C<FileCache::cacheout> from a package other
+than which it was imported, or with another module which overrides C<close>.
+If you must, use C<FileCache::cacheout_close>.
+
 =head1 BUGS
 
 F<sys/param.h> lies with its C<NOFILE> define on some systems,
@@ -52,7 +57,7 @@
 
 =cut
 
-require 5.000;
+require 5.006;
 use Carp;
 use strict;
 no strict 'refs';

==== //depot/macperl/lib/open.t#2 (text) ====
Index: perl/lib/open.t
--- perl/lib/open.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/lib/open.t	Sun Apr 28 13:30:05 2002
@@ -18,11 +18,11 @@
 
 # this should fail
 eval { import() };
-like( $@, qr/needs explicit list of disciplines/, 
+like( $@, qr/needs explicit list of disciplines/,
 	'import should fail without args' );
 
 # the hint bits shouldn't be set yet
-is( $^H & $open::hint_bits, 0, 
+is( $^H & $open::hint_bits, 0,
 	'hint bits should not be set in $^H before open import' );
 
 # prevent it from loading I18N::Langinfo, so we can test encoding failures
@@ -39,11 +39,11 @@
 
 $warn = '';
 eval q{ use warnings 'layer'; use open IN => ':macguffin' ; };
-like( $warn, qr/Unknown discipline layer/, 
+like( $warn, qr/Unknown discipline layer/,
 	'should warn about unknown discipline with bad discipline provided' );
 
 SKIP: {
-    skip("no perlio, no :utf8", 1) unless $Config{useperlio};
+    skip("no perlio, no :utf8", 1) unless (find PerlIO::Layer 'perlio');
     # now load a real-looking locale
     $ENV{LC_ALL} = ' .utf8';
     import( 'IN', 'locale' );
@@ -53,7 +53,7 @@
 
 # and see if it sets the magic variables appropriately
 import( 'IN', ':crlf' );
-ok( $^H & $open::hint_bits, 
+ok( $^H & $open::hint_bits,
 	'hint bits should be set in $^H after open import' );
 is( $^H{'open_IN'}, 'crlf', 'should have set crlf layer' );
 
@@ -72,7 +72,7 @@
 is( $^H{'open_IO'}, 'crlf', 'should record last layer set in %^H' );
 
 SKIP: {
-    skip("no perlio, no :utf8", 4) unless $Config{'useperlio'};
+    skip("no perlio, no :utf8", 4) unless (find PerlIO::Layer 'perlio');
 
     eval <<EOE;
     use open ':utf8';

==== //depot/macperl/lib/warnings.t#2 (text) ====
Index: perl/lib/warnings.t
--- perl/lib/warnings.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/lib/warnings.t	Sun Apr 28 13:30:05 2002
@@ -31,7 +31,7 @@
 foreach my $file (@w_files) {
 
     next if $file =~ /(~|\.orig|,v)$/;
-    next if $file =~ /perlio$/ && !$Config{useperlio};
+    next if $file =~ /perlio$/ && !(find PerlIO::Layer 'perlio');
 
     open F, "<$file" or die "Cannot open $file: $!\n" ;
     my $line = 0;
@@ -132,7 +132,7 @@
 	foreach my $option (split(' ', $1)) {
 	    if ($option eq 'regex') { # allow regular expressions
 		$option_regex = 1;
-	    } 
+	    }
 	    elsif ($option eq 'random') { # all lines match, but in any order
 		$option_random = 1;
 	    }

==== //depot/macperl/mg.c#2 (text) ====
Index: perl/mg.c
--- perl/mg.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/mg.c	Sun Apr 28 13:30:05 2002
@@ -1959,7 +1959,7 @@
 	    }
 	}
 	else if (strEQ(mg->mg_ptr+1, "IDE_SYSTEM_CALLS"))
-	    PL_widesyscalls = SvTRUE(sv);
+	    PL_widesyscalls = (bool)SvTRUE(sv);
 	break;
     case '.':
 	if (PL_localizing) {

==== //depot/macperl/op.c#3 (text) ====
Index: perl/op.c
--- perl/op.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/op.c	Sun Apr 28 13:30:05 2002
@@ -3376,9 +3376,6 @@
     OP *pack;
     OP *imop;
     OP *veop;
-    char *packname = Nullch;
-    STRLEN packlen = 0;
-    SV *packsv;
 
     if (id->op_type != OP_CONST)
 	Perl_croak(aTHX_ "Module name must be constant");
@@ -3436,15 +3433,6 @@
 				   newSVOP(OP_METHOD_NAMED, 0, meth)));
     }
 
-    if (ckWARN(WARN_MISC) &&
-        imop && (imop != arg) && /* no warning on use 5.0; or explicit () */
-        SvPOK(packsv = ((SVOP*)id)->op_sv))
-    {
-        /* BEGIN will free the ops, so we need to make a copy */
-        packlen = SvCUR(packsv);
-        packname = savepvn(SvPVX(packsv), packlen);
-    }
-
     /* Fake up the BEGIN {}, which does its thing immediately. */
     newATTRSUB(floor,
 	newSVOP(OP_CONST, 0, newSVpvn("BEGIN", 5)),
@@ -3456,25 +3444,22 @@
 	        newSTATEOP(0, Nullch, veop)),
 	    newSTATEOP(0, Nullch, imop) ));
 
-    if (packname) {
-	 /* The "did you use incorrect case?" warning used to be here.
-	  * The problem is that on case-insensitive filesystems one
-	  * might get false positives for "use" (and "require"):
-	  * "use Strict" or "require CARP" will work.  This causes
-	  * portability problems for the script: in case-strict
-	  * filesystems the script will stop working.
-	  *
-	  * The "incorrect case" warning checked whether "use Foo"
-	  * imported "Foo" to your namespace, but that is wrong, too:
-	  * there is no requirement nor promise in the language that
-	  * a Foo.pm should or would contain anything in package "Foo".
-	  *
-	  * There is very little Configure-wise that can be done, either:
-	  * the case-sensitivity of the build filesystem of Perl does not
-	  * help in guessing the case-sensitivity of the runtime environment.
-	  */
-        safefree(packname);
-    }
+    /* The "did you use incorrect case?" warning used to be here.
+     * The problem is that on case-insensitive filesystems one
+     * might get false positives for "use" (and "require"):
+     * "use Strict" or "require CARP" will work.  This causes
+     * portability problems for the script: in case-strict
+     * filesystems the script will stop working.
+     *
+     * The "incorrect case" warning checked whether "use Foo"
+     * imported "Foo" to your namespace, but that is wrong, too:
+     * there is no requirement nor promise in the language that
+     * a Foo.pm should or would contain anything in package "Foo".
+     *
+     * There is very little Configure-wise that can be done, either:
+     * the case-sensitivity of the build filesystem of Perl does not
+     * help in guessing the case-sensitivity of the runtime environment.
+     */
 
     PL_hints |= HINT_BLOCK_SCOPE;
     PL_copline = NOLINE;

==== //depot/macperl/op.h#3 (text) ====
Index: perl/op.h
--- perl/op.h.~1~	Sun Apr 28 13:30:05 2002
+++ perl/op.h	Sun Apr 28 13:30:05 2002
@@ -252,7 +252,7 @@
     REGEXP *    op_pmregexp;            /* compiled expression */
 #endif
     U32		op_pmflags;
-    U16		op_pmpermflags;
+    U32		op_pmpermflags;
     U8		op_pmdynflags;
 #ifdef USE_ITHREADS
     char *	op_pmstashpv;

==== //depot/macperl/pod/perldelta.pod#3 (text) ====
Index: perl/pod/perldelta.pod
--- perl/pod/perldelta.pod.~1~	Sun Apr 28 13:30:05 2002
+++ perl/pod/perldelta.pod	Sun Apr 28 13:30:05 2002
@@ -2792,13 +2792,6 @@
  op/numconvert.t                        1440   13   0.90%  208 509-510
  657-658 665-666 829-830 989-990 1149-1150
 
-=head2 UNICOS and UNICOS/mk
-
-The io/fs test #31 is failing because in UNICOS and UNICOS/mk the Perl
-truncate() cannot be used to grow the size of filehandles, only to
-reduce the size.  The workaround is to truncate files instead of
-filehandles.
-
 =head2 UNICOS/mk
 
 =over 4

==== //depot/macperl/pod/perlfunc.pod#2 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod.~1~	Sun Apr 28 13:30:05 2002
+++ perl/pod/perlfunc.pod	Sun Apr 28 13:30:05 2002
@@ -5644,6 +5644,9 @@
 on your system.  Returns true if successful, the undefined value
 otherwise.
 
+The behavior is undefined if LENGTH is greater than the length of the
+file.
+
 =item uc EXPR
 
 =item uc

==== //depot/macperl/pp_sort.c#2 (text) ====
Index: perl/pp_sort.c
--- perl/pp_sort.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/pp_sort.c	Sun Apr 28 13:30:05 2002
@@ -16,6 +16,11 @@
 #define PERL_IN_PP_SORT_C
 #include "perl.h"
 
+#if defined(UNDER_CE)
+/* looks like 'small' is reserved word for WINCE (or somesuch)*/
+#define	small xsmall
+#endif
+
 static I32 sortcv(pTHX_ SV *a, SV *b);
 static I32 sortcv_stacked(pTHX_ SV *a, SV *b);
 static I32 sortcv_xsub(pTHX_ SV *a, SV *b);

==== //depot/macperl/regcomp.c#3 (text) ====
Index: perl/regcomp.c
--- perl/regcomp.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/regcomp.c	Sun Apr 28 13:30:05 2002
@@ -108,7 +108,7 @@
 #endif
 
 typedef struct RExC_state_t {
-    U16		flags16;		/* are we folding, multilining? */
+    U32		flags;			/* are we folding, multilining? */
     char	*precomp;		/* uncompiled string. */
     regexp	*rx;
     char	*start;			/* Start of input for compile */
@@ -132,7 +132,7 @@
 #endif
 } RExC_state_t;
 
-#define RExC_flags16	(pRExC_state->flags16)
+#define RExC_flags	(pRExC_state->flags)
 #define RExC_precomp	(pRExC_state->precomp)
 #define RExC_rx		(pRExC_state->rx)
 #define RExC_start	(pRExC_state->start)
@@ -228,8 +228,8 @@
 #define SCF_WHILEM_VISITED_POS	0x2000
 
 #define UTF (RExC_utf8 != 0)
-#define LOC ((RExC_flags16 & PMf_LOCALE) != 0)
-#define FOLD ((RExC_flags16 & PMf_FOLD) != 0)
+#define LOC ((RExC_flags & PMf_LOCALE) != 0)
+#define FOLD ((RExC_flags & PMf_FOLD) != 0)
 
 #define OOB_UNICODE		12345678
 #define OOB_NAMEDCLASS		-1
@@ -1746,7 +1746,7 @@
 		       PL_colors[4],PL_colors[5],PL_colors[0],
 		       (int)(xend - exp), RExC_precomp, PL_colors[1]);
     });
-    RExC_flags16 = pm->op_pmflags;
+    RExC_flags = pm->op_pmflags;
     RExC_sawback = 0;
 
     RExC_seen = 0;
@@ -1815,7 +1815,7 @@
     RExC_rx = r;
 
     /* Second pass: emit code. */
-    RExC_flags16 = pm->op_pmflags;	/* don't let top level (?i) bleed */
+    RExC_flags = pm->op_pmflags;	/* don't let top level (?i) bleed */
     RExC_parse = exp;
     RExC_end = xend;
     RExC_naughty = 0;
@@ -1831,7 +1831,7 @@
 
     /* Dig out information for optimizations. */
     r->reganch = pm->op_pmflags & PMf_COMPILETIME; /* Again? */
-    pm->op_pmflags = RExC_flags16;
+    pm->op_pmflags = RExC_flags;
     if (UTF)
         r->reganch |= ROPT_UTF8;	/* Unicode in it? */
     r->regstclass = NULL;
@@ -1959,7 +1959,7 @@
 	if (longest_float_length
 	    || (data.flags & SF_FL_BEFORE_EOL
 		&& (!(data.flags & SF_FL_BEFORE_MEOL)
-		    || (RExC_flags16 & PMf_MULTILINE)))) {
+		    || (RExC_flags & PMf_MULTILINE)))) {
 	    int t;
 
 	    if (SvCUR(data.longest_fixed) 			/* ok to leave SvCUR */
@@ -1978,7 +1978,7 @@
 	    r->float_max_offset = data.offset_float_max;
 	    t = (data.flags & SF_FL_BEFORE_EOL /* Can't have SEOL and MULTI */
 		       && (!(data.flags & SF_FL_BEFORE_MEOL)
-			   || (RExC_flags16 & PMf_MULTILINE)));
+			   || (RExC_flags & PMf_MULTILINE)));
 	    fbm_compile(data.longest_float, t ? FBMcf_TAIL : 0);
 	}
 	else {
@@ -1992,7 +1992,7 @@
 	if (longest_fixed_length
 	    || (data.flags & SF_FIX_BEFORE_EOL /* Cannot have SEOL and MULTI */
 		&& (!(data.flags & SF_FIX_BEFORE_MEOL)
-		    || (RExC_flags16 & PMf_MULTILINE)))) {
+		    || (RExC_flags & PMf_MULTILINE)))) {
 	    int t;
 
 	    if (SvUTF8(data.longest_fixed)) {
@@ -2005,7 +2005,7 @@
 	    r->anchored_offset = data.offset_fixed;
 	    t = (data.flags & SF_FIX_BEFORE_EOL /* Can't have SEOL and MULTI */
 		 && (!(data.flags & SF_FIX_BEFORE_MEOL)
-		     || (RExC_flags16 & PMf_MULTILINE)));
+		     || (RExC_flags & PMf_MULTILINE)));
 	    fbm_compile(data.longest_fixed, t ? FBMcf_TAIL : 0);
 	}
 	else {
@@ -2128,7 +2128,7 @@
     register regnode *lastbr;
     register regnode *ender = 0;
     register I32 parno = 0;
-    I32 flags, oregflags = RExC_flags16, have_branch = 0, open = 0;
+    I32 flags, oregflags = RExC_flags, have_branch = 0, open = 0;
 
     /* for (?g), (?gc), and (?o) warnings; warning
        about (?c) will warn about (?g) -- japhy    */
@@ -2371,8 +2371,8 @@
 		    ++RExC_parse;
 		    goto parse_flags;
 		}
-		RExC_flags16 |= posflags;
-		RExC_flags16 &= ~negflags;
+		RExC_flags |= posflags;
+		RExC_flags &= ~negflags;
 		if (*RExC_parse == ':') {
 		    RExC_parse++;
 		    paren = ':';
@@ -2501,7 +2501,7 @@
 
     /* Check for proper termination. */
     if (paren) {
-	RExC_flags16 = (U16)oregflags;
+	RExC_flags = oregflags;
 	if (RExC_parse >= RExC_end || *nextchar(pRExC_state) != ')') {
 	    RExC_parse = oregcomp_parse;
 	    vFAIL("Unmatched (");
@@ -2783,9 +2783,9 @@
     case '^':
 	RExC_seen_zerolen++;
 	nextchar(pRExC_state);
-	if (RExC_flags16 & PMf_MULTILINE)
+	if (RExC_flags & PMf_MULTILINE)
 	    ret = reg_node(pRExC_state, MBOL);
-	else if (RExC_flags16 & PMf_SINGLELINE)
+	else if (RExC_flags & PMf_SINGLELINE)
 	    ret = reg_node(pRExC_state, SBOL);
 	else
 	    ret = reg_node(pRExC_state, BOL);
@@ -2795,9 +2795,9 @@
 	nextchar(pRExC_state);
 	if (*RExC_parse)
 	    RExC_seen_zerolen++;
-	if (RExC_flags16 & PMf_MULTILINE)
+	if (RExC_flags & PMf_MULTILINE)
 	    ret = reg_node(pRExC_state, MEOL);
-	else if (RExC_flags16 & PMf_SINGLELINE)
+	else if (RExC_flags & PMf_SINGLELINE)
 	    ret = reg_node(pRExC_state, SEOL);
 	else
 	    ret = reg_node(pRExC_state, EOL);
@@ -2805,7 +2805,7 @@
 	break;
     case '.':
 	nextchar(pRExC_state);
-	if (RExC_flags16 & PMf_SINGLELINE)
+	if (RExC_flags & PMf_SINGLELINE)
 	    ret = reg_node(pRExC_state, SANY);
 	else
 	    ret = reg_node(pRExC_state, REG_ANY);
@@ -3040,7 +3040,7 @@
 	break;
 
     case '#':
-	if (RExC_flags16 & PMf_EXTENDED) {
+	if (RExC_flags & PMf_EXTENDED) {
 	    while (RExC_parse < RExC_end && *RExC_parse != '\n') RExC_parse++;
 	    if (RExC_parse < RExC_end)
 		goto tryagain;
@@ -3071,7 +3071,7 @@
 	    {
 		oldp = p;
 
-		if (RExC_flags16 & PMf_EXTENDED)
+		if (RExC_flags & PMf_EXTENDED)
 		    p = regwhite(p, RExC_end);
 		switch (*p) {
 		case '^':
@@ -3196,7 +3196,7 @@
 			ender = *p++;
 		    break;
 		}
-		if (RExC_flags16 & PMf_EXTENDED)
+		if (RExC_flags & PMf_EXTENDED)
 		    p = regwhite(p, RExC_end);
 		if (UTF && FOLD) {
 		    /* Prime the casefolded buffer. */
@@ -4241,7 +4241,7 @@
 	    RExC_parse++;
 	    continue;
 	}
-	if (RExC_flags16 & PMf_EXTENDED) {
+	if (RExC_flags & PMf_EXTENDED) {
 	    if (isSPACE(*RExC_parse)) {
 		RExC_parse++;
 		continue;
@@ -5017,7 +5017,7 @@
     SAVEPPTR(RExC_precomp);		/* uncompiled string. */
     SAVEI32(RExC_npar);		/* () count. */
     SAVEI32(RExC_size);		/* Code size. */
-    SAVEI16(RExC_flags16);		/* are we folding, multilining? */
+    SAVEI32(RExC_flags);		/* are we folding, multilining? */
     SAVEVPTR(RExC_rx);		/* from regcomp.c */
     SAVEI32(RExC_seen);		/* from regcomp.c */
     SAVEI32(RExC_sawback);		/* Did we see \1, ...? */

==== //depot/macperl/sv.c#3 (text) ====
Index: perl/sv.c
--- perl/sv.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/sv.c	Sun Apr 28 13:30:05 2002
@@ -3318,7 +3318,7 @@
 	SV* tmpsv;
         if (SvAMAGIC(sv) && (tmpsv=AMG_CALLun(sv,bool_)) &&
                 (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
-	    return SvTRUE(tmpsv);
+	    return (bool)SvTRUE(tmpsv);
       return SvRV(sv) != 0;
     }
     if (SvPOKp(sv)) {

==== //depot/macperl/t/io/binmode.t#2 (text) ====
Index: perl/t/io/binmode.t
--- perl/t/io/binmode.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/t/io/binmode.t	Sun Apr 28 13:30:05 2002
@@ -11,20 +11,20 @@
 plan(tests => 8);
 
 ok( binmode(STDERR),            'STDERR made binary' );
-if ($Config{useperlio}) {
+if (find PerlIO::Layer 'perlio') {
   ok( binmode(STDERR, ":unix"),   '  with unix discipline' );
 } else {
-  ok(1,   '  skip unix discipline for -Uuseperlio' );
+  ok(1,   '  skip unix discipline without PerlIO layers' );
 }
 ok( binmode(STDERR, ":raw"),    '  raw' );
 ok( binmode(STDERR, ":crlf"),   '  and crlf' );
 
 # If this one fails, we're in trouble.  So we just bail out.
 ok( binmode(STDOUT),            'STDOUT made binary' )      || exit(1);
-if ($Config{useperlio}) {
+if (find PerlIO::Layer 'perlio') {
   ok( binmode(STDOUT, ":unix"),   '  with unix discipline' );
 } else {
-  ok(1,   '  skip unix discipline for -Uuseperlio' );
+  ok(1,   '  skip unix discipline without PerlIO layers' );
 }
 ok( binmode(STDOUT, ":raw"),    '  raw' );
 ok( binmode(STDOUT, ":crlf"),   '  and crlf' );

==== //depot/macperl/t/io/crlf.t#2 (text) ====
Index: perl/t/io/crlf.t
--- perl/t/io/crlf.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/t/io/crlf.t	Sun Apr 28 13:30:05 2002
@@ -14,7 +14,7 @@
  unlink($file);
 }
 
-if ($Config{useperlio}) {
+if (find PerlIO::Layer 'perlio') {
  plan(tests => 6);
  ok(open(FOO,">:crlf",$file));
  ok(print FOO 'a'.((('a' x 14).qq{\n}) x 2000) || close(FOO));

==== //depot/macperl/t/io/fs.t#3 (xtext) ====
Index: perl/t/io/fs.t
--- perl/t/io/fs.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/t/io/fs.t	Sun Apr 28 13:30:05 2002
@@ -47,7 +47,7 @@
 my $skip_mode_checks =
     $^O eq 'cygwin' && $ENV{CYGWIN} !~ /ntsec/;
 
-plan tests => 36;
+plan tests => 32;
 
 
 if (($^O eq 'MSWin32') || ($^O eq 'NetWare')) {
@@ -270,7 +270,7 @@
 SKIP: {
 # Check truncating a closed file.
     eval { truncate "Iofs.tmp", 5; };
-    
+
     skip("no truncate - $@", 10) if $@;
 
     is(-s "Iofs.tmp", 5, "truncation to five bytes");
@@ -302,7 +302,7 @@
     if ($needs_fh_reopen) {
 	close (FH); open (FH, ">>Iofs.tmp") or die "Can't reopen Iofs.tmp";
     }
-       
+
     if ($^O eq 'vos') {
         skip ("# TODO - hit VOS bug posix-973 - cannot resize an open file below the current file pos.", 7);
     }
@@ -317,12 +317,6 @@
 
     ok(-z "Iofs.tmp", "fh resize to zero working (filename check)");
 
-    ok(truncate(FH, 200), "fh resize to 200");
-    is(-s FH, 200, "fh resize to 200 working (FH check)");
-
-    ok(truncate(FH, 0), "fh resize to 0");
-    ok(-z FH, "fh resize to 0 working (FH check)");
-
     close FH;
 }
 

==== //depot/macperl/t/win32/system.t#3 (text) ====
Index: perl/t/win32/system.t
--- perl/t/win32/system.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/t/win32/system.t	Sun Apr 28 13:30:05 2002
@@ -40,7 +40,7 @@
 {
     int i;
 #ifdef __BORLANDC__
-    char *h,*s = GetCommandLine();
+    char *s = GetCommandLine();
     int j=0;
     av[0] = s;
     if (s[0]=='"') {

==== //depot/macperl/thrdvar.h#2 (text) ====
Index: perl/thrdvar.h
--- perl/thrdvar.h.~1~	Sun Apr 28 13:30:05 2002
+++ perl/thrdvar.h	Sun Apr 28 13:30:05 2002
@@ -180,7 +180,7 @@
 PERLVAR(Tregprecomp,	char *)		/* uncompiled string. */
 PERLVAR(Tregnpar,	I32)		/* () count. */
 PERLVAR(Tregsize,	I32)		/* Code size. */
-PERLVAR(Tregflags,	U16)		/* are we folding, multilining? */
+PERLVAR(Tregflags,	U32)		/* are we folding, multilining? */
 PERLVAR(Tregseen,	U32)		/* from regcomp.c */
 PERLVAR(Tseen_zerolen,	I32)		/* from regcomp.c */
 PERLVAR(Tseen_evals,	I32)		/* from regcomp.c */

==== //depot/macperl/utf8.c#2 (text) ====
Index: perl/utf8.c
--- perl/utf8.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/utf8.c	Sun Apr 28 13:30:05 2002
@@ -1348,6 +1348,15 @@
 	 HE *he;
 	 SV *val;
 	
+#if defined(UNDER_CE) && defined(MIPS)
+/*strange: compiler complaints that I redefine macro UVXf and points where
+           it was first defined. I copied line from there without any changes.
+           Nothing should change.
+           But when I do not do this, there is an error on a line with
+              Perl_newSVpvf(aTHX_ "%04"UVXf, uv1)
+*/
+#define	UVXf		"lX"		/**/
+#endif
 	 if ((hv    = get_hv(special, FALSE)) &&
 	     (keysv = sv_2mortal(Perl_newSVpvf(aTHX_ "%04"UVXf, uv1))) &&
 	     (he    = hv_fetch_ent(hv, keysv, FALSE, 0)) &&

==== //depot/macperl/wince/Makefile.ce#2 (text) ====
Index: perl/wince/Makefile.ce
--- perl/wince/Makefile.ce.~1~	Sun Apr 28 13:30:05 2002
+++ perl/wince/Makefile.ce	Sun Apr 28 13:30:05 2002
@@ -5,7 +5,12 @@
 SRCDIR     = ..
 PV         = 57
 INST_VER   = 5.7.3
+
+INSTALL_ROOT=/netzwerk/sprache/perl
+
+# PERLCEDIR shoud be set to current directory
 PERLCEDIR  = H:\src\wince\perl\wince
+
 WCEROOT    = N:\Windows CE Tools
 WCEROOT    = D:\Windows CE Tools
 NTPERL     = N:\Programme\perl\bin\perl.exe
@@ -19,10 +24,15 @@
 COPY       = copy $(YES)
 XCOPY      = xcopy $(YES) /f /r /i /d
 RCOPY	   = xcopy $(YES) /f /r /i /e /d
+
+# cecopy program. Make shure it is in your path, as well as cemkdir, cedel
+CECOPY     = cecopy
+
 NOOP	   = @echo
 # keep this untouched!
 NULL	   =
 
+
 CFG=DEBUG
 #CFG=RELEASE
 
@@ -532,7 +542,7 @@
 EXTRACORE_SRC	= $(EXTRACORE_SRC) ..\malloc.c
 !ENDIF
 
-EXTRACORE_SRC	= $(EXTRACORE_SRC) ..\perlio.c
+EXTRACORE_SRC	= $(EXTRACORE_SRC) ..\perlio.c .\win32io.c
 
 WIN32_SRC	=		\
 		.\wince.c	\
@@ -861,81 +871,79 @@
 	-rm -f ../config.sh ../lib/Config.pm
 	-rm -f config.h perl.res
 
-!if "$(MACHINE)" == "wince-sh3-hpc"
+!IF "$(MACHINE)" == "wince-sh3-hpc"
+
 install_perlexe: $(PERLEXE)
 	cedel /speicherkarte2/bin/perl.exe
-	cecopy pc:../perl.exe ce:/speicherkarte2/bin
+	$(CECOPY) pc:../perl.exe ce:/speicherkarte2/bin
 
 install_perldll: $(PERLDLL)
 	cedel /speicherkarte2/bin/perl$(PV).dll
-	cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin
+	$(CECOPY) pc:../perl$(PV).dll ce:/speicherkarte2/bin
 
 install_perl: install_perlexe install_perldll
 
 test_perl:
-	cecopy pc:test.pl ce:/speicherkarte2/bin
+	$(CECOPY) pc:test.pl ce:/speicherkarte2/bin
 	ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
-#	ceexec /speicherkarte2/bin/perl.exe -V
 
 install_lib: ../lib/Config.pm
-	cecopy	pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
-!endif
+	$(CECOPY)	pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
+
+!ELSEIF "$(MACHINE)" == "wince-arm-hpc"
 
-!if "$(MACHINE)" == "wince-arm-hpc"
 install_perlexe: $(PERLEXE)
 	-cedel /speicherkarte/bin/perl.exe
-	cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+	$(CECOPY) pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
 
 install_perldll: $(PERLDLL)
 	-cedel /speicherkarte/bin/perl$(PV).dll
-	cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+	$(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
 
 install_perl: install_perlexe install_perldll
 
 test_perl:
-	cecopy pc:test.pl ce:/speicherkarte/bin
+	$(CECOPY) pc:test.pl ce:/speicherkarte/bin
 	ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
-#	ceexec /speicherkarte2/bin/perl.exe -V
 
 install_lib: ../lib/Config.pm
-	cecopy	pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
-!endif
+	$(CECOPY)	pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
+
+!ELSEIF "$(MACHINE)" == "wince-mips-hpc"
 
-!if "$(MACHINE)" == "wince-mips-hpc"
 install_perlexe: $(PERLEXE)
-	cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
+	$(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
 
 install_perldll: $(PERLDLL)
-	cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
+	$(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
 
 install_perl: install_perlexe install_perldll
 
 test_perl:
-	cecopy pc:test.pl ce:/netzwerk/compaq/bin
-	ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl
-#	ceexec /netzwerk/compaq/bin/perl.exe -V
+	$(CECOPY) pc:test.pl ce:/netzwerk/compaq/bin
+	ceexec /netzwerk/compaq/bin/perl.exe $(INSTALL_ROOT)/test.pl
 
 install_lib: ../lib/Config.pm
-	cecopy	pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
-!endif
+	$(CECOPY)	pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
+
+!ELSEIF "$(MACHINE)" == "wince-x86em-pocket"
 
-!if "$(MACHINE)" == "wince-x86em-pocket"
 install_lib:
 	ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
 	ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
 	ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
 
 install_perlexe: $(PERLEXE)
-	cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
+	$(CECOPY) pc:../perl.exe ce:/netzwerk/compaq/bin
 
 install_perldll: $(PERLDLL)
-	cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
+	$(CECOPY) pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
 
 install_perl: install_perlexe install_perldll
 
 test_perl:
 	echo Not yet
-!endif
+!ENDIF
 
 
 XDLLOBJS = \
@@ -974,6 +982,7 @@
 $(DLLDIR)\util.obj \
 $(DLLDIR)\win32thread.obj \
 $(DLLDIR)\wince.obj \
+$(DLLDIR)\win32io.obj \
 $(DLLDIR)\wincesck.obj \
 $(DLLDIR)\xsutils.obj \
 $(DLLDIR)\perllib.obj \
@@ -1040,34 +1049,42 @@
 
 !if "$(MACHINE)" == "wince-arm-hpc-wce300"
 install: all
-	cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
-	cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+	$(CECOPY) pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+	$(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
 install_dlls: dlls
-	cecopy pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
+	$(CECOPY) pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
+!else
+install: all
+	-cemkdir "$(INSTALL_ROOT)"
+	-cemkdir "$(INSTALL_ROOT)\bin"
+	-cemkdir "$(INSTALL_ROOT)\lib"
+	$(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
+	$(CECOPY) "pc:$(MACHINE)/perl.dll" "ce:$(INSTALL_ROOT)/bin"
+	$(CECOPY) "pc:../lib/Config.pm" "ce:$(INSTALL_ROOT)/lib"
 !endif
 
 !if "$(MACHINE)" == "wince-arm-hpc-wce211"
 install: all
-	cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
-	cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
+	$(CECOPY) pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
+	$(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
 !endif
 
 !if "$(MACHINE)" == "wince-mips-hpc-wce211"
 install:
-	cecopy pc:$(MACHINE)/perl.exe ce:/bin
-	cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
+	$(CECOPY) pc:$(MACHINE)/perl.exe ce:/bin
+	$(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/bin
 !endif
 
 !if "$(MACHINE)" == "wince-mips-hpc-wce200"
 install:
-	cecopy pc:$(MACHINE)/perl.exe ce:/bin
-	cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
+	$(CECOPY) pc:$(MACHINE)/perl.exe ce:/bin
+	$(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:/bin
 !endif
 
 !if "$(MACHINE)" == "wince-sh3-hpc-wce211"
 install:
-	cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin
-	cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin
+	$(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
+	$(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
 !endif
 
 perl.ico:

==== //depot/macperl/wince/config_h.PL#2 (text) ====
==== //depot/macperl/wince/perldll.def#2 (text) ====
Index: perl/wince/perldll.def
--- perl/wince/perldll.def.~1~	Sun Apr 28 13:30:05 2002
+++ perl/wince/perldll.def	Sun Apr 28 13:30:05 2002
@@ -1,4 +1,4 @@
-LIBRARY Perl57
+LIBRARY Perl
 
 EXPORTS
 	PL_AMG_names
@@ -405,20 +405,10 @@
 	PL_yynerrs
 	PL_yyval
 	PerlIO_canset_cnt
-	PerlIO_clearerr
-	PerlIO_close
-	PerlIO_eof
-	PerlIO_error
 	PerlIO_exportFILE
 	PerlIO_fast_gets
 	PerlIO_fdopen
-	PerlIO_fileno
 	PerlIO_findFILE
-	PerlIO_flush
-	PerlIO_get_base
-	PerlIO_get_bufsiz
-	PerlIO_get_cnt
-	PerlIO_get_ptr
 	PerlIO_getc
 	PerlIO_getname
 	PerlIO_getpos
@@ -430,26 +420,16 @@
 	PerlIO_printf
 	PerlIO_putc
 	PerlIO_puts
-	PerlIO_read
 	PerlIO_releaseFILE
 	PerlIO_reopen
 	PerlIO_rewind
-	PerlIO_seek
-	PerlIO_set_cnt
-	PerlIO_set_ptrcnt
-	PerlIO_setlinebuf
 	PerlIO_setpos
 	PerlIO_sprintf
-	PerlIO_stderr
-	PerlIO_stdin
-	PerlIO_stdout
 	PerlIO_stdoutf
-	PerlIO_tell
 	PerlIO_tmpfile
 	PerlIO_ungetc
 	PerlIO_vprintf
 	PerlIO_vsprintf
-	PerlIO_write
 	Perl_Gv_AMupdate
 	Perl_amagic_call
 	Perl_av_clear
@@ -771,7 +751,6 @@
 	Perl_set_numeric_local
 	Perl_set_numeric_radix
 	Perl_set_numeric_standard
-	Perl_sharepvn
 	Perl_stack_grow
 	Perl_start_subparse
 	Perl_str_to_version

==== //depot/macperl/wince/win32.h#2 (text) ====
Index: perl/wince/win32.h
--- perl/wince/win32.h.~1~	Sun Apr 28 13:30:05 2002
+++ perl/wince/win32.h	Sun Apr 28 13:30:05 2002
@@ -227,6 +227,16 @@
 
 /* compatibility stuff for other compilers goes here */
 
+#ifndef _INTPTR_T_DEFINED
+typedef int		intptr_t;
+#  define _INTPTR_T_DEFINED
+#endif
+
+#ifndef _UINTPTR_T_DEFINED
+typedef unsigned int	uintptr_t;
+#  define _UINTPTR_T_DEFINED
+#endif
+
 START_EXTERN_C
 
 #undef	 Stat

==== //depot/macperl/wince/wince.c#2 (text) ====
Index: perl/wince/wince.c
--- perl/wince/wince.c.~1~	Sun Apr 28 13:30:05 2002
+++ perl/wince/wince.c	Sun Apr 28 13:30:05 2002
@@ -352,6 +352,20 @@
   return -1;
 }
 
+/* TODO */
+bool
+win32_signal()
+{
+  Perl_croak_nocontext("signal() TBD on this platform");
+  return FALSE;
+}
+DllExport void
+win32_clearenv()
+{
+  return;
+}
+
+
 DllExport char ***
 win32_environ(void)
 {
@@ -554,11 +568,7 @@
 	char *arch;
 	GetSystemInfo(&info);
 
-#if defined(__BORLANDC__) || defined(__MINGW32__)
-	switch (info.u.s.wProcessorArchitecture) {
-#else
 	switch (info.wProcessorArchitecture) {
-#endif
 	case PROCESSOR_ARCHITECTURE_INTEL:
 	    arch = "x86"; break;
 	case PROCESSOR_ARCHITECTURE_MIPS:
@@ -1616,3 +1626,13 @@
   return _isnan(d);
 }
 
+int
+win32_open_osfhandle(intptr_t osfhandle, int flags)
+{
+    int fh;
+    char fileflags=0;		/* _osfile flags */
+
+    XCEMessageBoxA(NULL, "NEED TO IMPLEMENT a place in ../wince/wince.c(win32_open_osfhandle)", "Perl(developer)", 0);
+    Perl_croak_nocontext("win32_open_osfhandle() TBD on this platform");
+    return 0;
+}

==== //depot/macperl/ext/PerlIO/t/fallback.t#1 (text) ====
Index: perl/ext/PerlIO/t/fallback.t
--- perl/ext/PerlIO/t/fallback.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/PerlIO/t/fallback.t	Sun Apr 28 13:30:05 2002
@@ -0,0 +1,63 @@
+#!./perl
+
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require "../t/test.pl";
+    skip_all("No perlio") unless (find PerlIO::Layer 'perlio');
+    plan (8);
+}
+use Encode qw(:fallback_all);
+
+# $PerlIO::encoding = 0; # WARN_ON_ERR|PERLQQ;
+
+my $file = "fallback$$.txt";
+
+$PerlIO::encoding::fallback = Encode::PERLQQ;
+
+ok(open(my $fh,">encoding(iso-8859-1)",$file),"opened iso-8859-1 file");
+my $str = "\x{20AC}";
+print $fh $str,"0.02\n";
+close($fh);
+
+open($fh,$file) || die "File cannot be re-opened";
+my $line = <$fh>;
+is($line,"\\x{20ac}0.02\n","perlqq escapes");
+close($fh);
+
+$PerlIO::encoding::fallback = Encode::HTMLCREF;
+
+ok(open(my $fh,">encoding(iso-8859-1)",$file),"opened iso-8859-1 file");
+my $str = "\x{20AC}";
+print $fh $str,"0.02\n";
+close($fh);
+
+open($fh,$file) || die "File cannot be re-opened";
+my $line = <$fh>;
+is($line,"&#8364;0.02\n","HTML escapes");
+close($fh);
+
+open($fh,">$file") || die "File cannot be re-opened";
+print $fh "£0.02\n";
+close($fh);
+
+ok(open($fh,"<encoding(US-ASCII)",$file),"Opened as ASCII");
+my $line = <$fh>;
+printf "# %x\n",ord($line);
+is($line,"\\xA30.02\n","Escaped non-mapped char");
+close($fh);
+
+$PerlIO::encoding::fallback = Encode::WARN_ON_ERROR;
+
+ok(open($fh,"<encoding(US-ASCII)",$file),"Opened as ASCII");
+my $line = <$fh>;
+printf "# %x\n",ord($line);
+is($line,"\x{FFFD}0.02\n","Unicode replacement char");
+close($fh);
+
+END {
+    1 while unlink($file);
+}
+
+
+

==== //depot/macperl/ext/threads/t/list.t#1 (text) ====
Index: perl/ext/threads/t/list.t
--- perl/ext/threads/t/list.t.~1~	Sun Apr 28 13:30:05 2002
+++ perl/ext/threads/t/list.t	Sun Apr 28 13:30:05 2002
@@ -0,0 +1,55 @@
+
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = qw(../lib .);
+    require Config; import Config;
+    unless ($Config{'useithreads'}) {
+        print "1..0 # Skip: no useithreads\n";
+        exit 0;
+    }
+    require "test.pl";
+}
+
+use ExtUtils::testlib;
+
+use strict;
+
+
+BEGIN { $| = 1; print "1..8\n" };
+
+use_ok('threads');
+
+ok(threads->self == (threads->list)[0]);
+
+
+threads->create(sub {})->join();
+ok(scalar @{[threads->list]} == 1);
+
+my $thread = threads->create(sub {});
+ok(scalar @{[threads->list]} == 2);
+$thread->join();
+ok(scalar @{[threads->list]} == 1);
+
+curr_test(6);
+
+# Just a sleep() would not guarantee that we sleep and will not
+# wake up before the just created thread finishes.  Instead, let's
+# use the filesystem as a semaphore.  Creating a directory and removing
+# it should be a reasonably atomic operation even over NFS. 
+# Also, we do not want to depend here on shared variables.
+
+mkdir "thrsem", 0700;
+
+$thread = threads->create(sub { my $ret = threads->self == (threads->list)[1];
+			        rmdir "thrsem";
+			        return $ret });
+
+sleep 1 while -d "thrsem";
+
+ok($thread == (threads->list)[1]);
+ok($thread->join());
+ok(scalar @{[threads->list]} == 1);
+
+END {
+    1 while rmdir "thrsem";
+}

==== //depot/macperl/wince/cecopy-lib.pl#1 (text) ====
Index: perl/wince/cecopy-lib.pl
--- perl/wince/cecopy-lib.pl.~1~	Sun Apr 28 13:30:05 2002
+++ perl/wince/cecopy-lib.pl	Sun Apr 28 13:30:05 2002
@@ -0,0 +1,217 @@
+# just copy modules
+# TODO: copy tests and try to run them...
+# this file may be used as example on how to use comp.pl
+
+my @files;
+
+my %dirs;
+sub mk {
+  my $r = shift;
+  return if exists $dirs{$r};
+  if ($r=~/\//) {
+    $r=~/^(.*)\/[^\/]*?$/;
+    mk($1);
+  }
+  system("$^X comp.pl --do cemkdir [p]\\lib\\$r");
+  print STDERR "$^X comp.pl --do cemkpath [p]\\lib\\$r\n";
+  $dirs{$r}++;
+}
+for (@files) {
+  if (/\//) {
+    /^(.*)\/[^\/]*?$/;
+    mk($1);
+  }
+  # currently no stripping POD
+  system("$^X comp.pl --do cecopy pc:..\\lib\\$_ ce:[p]\\lib\\$_");
+}
+
+sub BEGIN {
+ @files = qw(
+    attributes.pm
+    AutoLoader.pm
+    AutoSplit.pm
+    autouse.pm
+    base.pm
+    Benchmark.pm
+    bigint.pm
+    bignum.pm
+    bigrat.pm
+    blib.pm
+    bytes.pm
+    Carp.pm
+    charnames.pm
+    Config.pm
+    constant.pm
+    Cwd.pm
+    DB.pm
+    diagnostics.pm
+    Digest.pm
+    DirHandle.pm
+    Dumpvalue.pm
+    DynaLoader.pm
+    English.pm
+    Env.pm
+    Exporter.pm
+    Fatal.pm
+    fields.pm
+    FileCache.pm
+    FileHandle.pm
+    filetest.pm
+    FindBin.pm
+    if.pm
+    integer.pm
+    less.pm
+    locale.pm
+    Memoize.pm
+    NEXT.pm
+    open.pm
+    overload.pm
+    PerlIO.pm
+    re.pm
+    SelectSaver.pm
+    SelfLoader.pm
+    Shell.pm
+    sigtrap.pm
+    sort.pm
+    strict.pm
+    subs.pm
+    Switch.pm
+    Symbol.pm
+    Test.pm
+    Thread.pm
+    UNIVERSAL.pm
+    utf8.pm
+    vars.pm
+    vmsish.pm
+    warnings.pm
+    XSLoader.pm
+    warnings/register.pm
+    Unicode/Collate.pm
+    Unicode/UCD.pm
+    Time/gmtime.pm
+    Time/Local.pm
+    Time/localtime.pm
+    Time/tm.pm
+    Tie/Array.pm
+    Tie/File.pm
+    Tie/Handle.pm
+    Tie/Hash.pm
+    Tie/Memoize.pm
+    Tie/RefHash.pm
+    Tie/Scalar.pm
+    Tie/SubstrHash.pm
+    Text/Abbrev.pm
+    Text/Balanced.pm
+    Text/ParseWords.pm
+    Text/Soundex.pm
+    Text/Tabs.pm
+    Text/Wrap.pm
+    Test/Builder.pm
+    Test/Harness.pm
+    Test/More.pm
+    Test/Simple.pm
+    Test/Harness/Assert.pm
+    Test/Harness/Iterator.pm
+    Test/Harness/Straps.pm
+    Term/ANSIColor.pm
+    Term/Cap.pm
+    Term/Complete.pm
+    Term/ReadLine.pm
+    Search/Dict.pm
+    Pod/Checker.pm
+    Pod/Find.pm
+    Pod/Functions.pm
+    Pod/Html.pm
+    Pod/InputObjects.pm
+    Pod/LaTeX.pm
+    Pod/Man.pm
+    Pod/ParseLink.pm
+    Pod/Parser.pm
+    Pod/ParseUtils.pm
+    Pod/Plainer.pm
+    Pod/Select.pm
+    Pod/Text.pm
+    Pod/Usage.pm
+    Pod/Text/Color.pm
+    Pod/Text/Overstrike.pm
+    Pod/Text/Termcap.pm
+    Math/BigFloat.pm
+    Math/BigInt.pm
+    Math/BigRat.pm
+    Math/Complex.pm
+    Math/Trig.pm
+    Math/BigInt/Calc.pm
+    Math/BigInt/Trace.pm
+    Math/BigFloat/Trace.pm
+    Locale/Constants.pm
+    Locale/Country.pm
+    Locale/Currency.pm
+    Locale/Language.pm
+    Locale/Maketext.pm
+    Locale/Script.pm
+    IPC/Open2.pm
+    IPC/Open3.pm
+    I18N/Collate.pm
+    I18N/LangTags.pm
+    I18N/LangTags/List.pm
+    Hash/Util.pm
+    Getopt/Long.pm
+    Getopt/Std.pm
+    Filter/Simple.pm
+    File/Basename.pm
+    File/CheckTree.pm
+    File/Compare.pm
+    File/Copy.pm
+    File/DosGlob.pm
+    File/Find.pm
+    File/Path.pm
+    File/Spec.pm
+    File/stat.pm
+    File/Temp.pm
+    File/Spec/Cygwin.pm
+    File/Spec/Epoc.pm
+    File/Spec/Functions.pm
+    File/Spec/Mac.pm
+    File/Spec/OS2.pm
+    File/Spec/Unix.pm
+    File/Spec/VMS.pm
+    File/Spec/Win32.pm
+    ExtUtils/Command.pm
+    ExtUtils/Constant.pm
+    ExtUtils/Embed.pm
+    ExtUtils/Install.pm
+    ExtUtils/Installed.pm
+    ExtUtils/Liblist.pm
+    ExtUtils/MakeMaker.pm
+    ExtUtils/Manifest.pm
+    ExtUtils/Miniperl.pm
+    ExtUtils/Mkbootstrap.pm
+    ExtUtils/Mksymlists.pm
+    ExtUtils/MM.pm
+    ExtUtils/MM_Any.pm
+    ExtUtils/MM_BeOS.pm
+    ExtUtils/MM_Cygwin.pm
+    ExtUtils/MM_DOS.pm
+    ExtUtils/MM_NW5.pm
+    ExtUtils/MM_OS2.pm
+    ExtUtils/MM_Unix.pm
+    ExtUtils/MM_UWIN.pm
+    ExtUtils/MM_VMS.pm
+    ExtUtils/MM_Win32.pm
+    ExtUtils/MM_Win95.pm
+    ExtUtils/MY.pm
+    ExtUtils/Packlist.pm
+    ExtUtils/testlib.pm
+    ExtUtils/Liblist/Kid.pm
+    ExtUtils/Command/MM.pm
+    Exporter/Heavy.pm
+    Devel/SelfStubber.pm
+    Class/ISA.pm
+    Class/Struct.pm
+    Carp/Heavy.pm
+    Attribute/Handlers.pm
+    Attribute/Handlers/demo/Demo.pm
+    Attribute/Handlers/demo/Descriptions.pm
+    Attribute/Handlers/demo/MyClass.pm
+  );
+}

==== //depot/macperl/wince/comp.pl#1 (text) ====
Index: perl/wince/comp.pl
--- perl/wince/comp.pl.~1~	Sun Apr 28 13:30:05 2002
+++ perl/wince/comp.pl	Sun Apr 28 13:30:05 2002
@@ -0,0 +1,111 @@
+=comments
+
+helper script to make life for PerlCE easier.
+
+You need edit values for @defs array to reflect your changes and then do
+
+  perl comp.pl [any-additional-options]
+
+This will call
+  nmake -f Makefile.ce
+with most parameters overrided as you specified and additional options
+(such as build target) will also be prepended to command line to execute.
+
+There are also additional different modes for running this script:
+  perl comp.pl --run [any-command-line-arguments]
+and
+  perl comp.pl --do [any-command-line-arguments]
+and
+  perl comp.pl --copy-pm pc:[pc-location] ce:[ce-location]
+
+--run executes this build of perl on CE device with arguments provided
+--run=test will display a predefined messagebox that say everything is ok.
+
+--do  Executes on local computer command that is presented by arguments
+      immediately following after --do
+      Most reason why you may want to execute script in this mode is that
+      arguments preprocessed to replace [p] occurences into current perl
+      location. Typically it is handy to run
+  perl comp.pl --do cecopy pc:..\lib\Exporter.pm ce:[p]\lib
+
+--copy copies file to CE device
+  here also [p] will be expanded to corrent PerlCE path, and additionally
+  when --copy=compact specified then, if filename looks like perl module,
+  then POD will be stripped away from that file
+  modules
+
+
+=cut
+
+use Cwd;
+use strict;
+
+# edit value of $inst_root variable to reflect your desired location of
+# built perl
+my $inst_root = "\\Storage Card\\perl-tests\\perl\@16225";
+my @defs = (
+  "\"PV=\"",
+  "\"INST_VER=\"",
+  "\"INSTALL_ROOT=$inst_root\"",
+  "\"WCEROOT=$ENV{SDKROOT}\"",
+  "NTPERL=$^X", #todo: check version: this must be (almost?) current version
+  "\"CEPATH=$ENV{WCEROOT}\"",
+  "CELIBDLLDIR=d:\\personal\\pocketPC\\celib-palm-3.0",
+  "CECONSOLEDIR=d:\\personal\\pocketPC\\w32console",
+  "YES=/y",
+  "CFG=RELEASE",
+  "MACHINE=wince-mips-pocket-wce300",
+  "PERLCEDIR=".cwd,
+  #NIY "\"CECOPY=\$(NTPERL) \$(PERLCEDIR)\\$0 --copy=compact\"",
+  "\"CECOPY=\$(NTPERL) \$(PERLCEDIR)\\$0 --copy\"",
+);
+
+my %opts = (
+  # %known_opts enumerates allowed opts as well as specifies default
+  #   and initial values
+  my %known_opts = (
+     'do' => '',
+     'run' => '',
+     'copy' => '',
+  ),
+  #options itself
+  my %specified_opts = (
+    (map {/^--([\-_\w]+)=(.*)$/} @ARGV),                            # --opt=smth
+    (map {/^no-?(.*)$/i?($1=>0):($_=>1)} map {/^--([\-_\w]+)$/} @ARGV),  # --opt --no-opt --noopt
+  ),
+);
+die "option '$_' is not recognized" for grep {!exists $known_opts{$_}} keys %specified_opts;
+@ARGV = grep {!/^--/} @ARGV;
+
+if ($opts{'do'}) {
+  s/\[p\]/$inst_root/g for @ARGV;
+  system(@ARGV);
+}
+elsif ($opts{'run'}) {
+  if ($opts{'run'} eq 'test') {
+    system("ceexec","$inst_root\\bin\\perl","-we","Win32::MessageBox(\$].qq(\n).join'','cc'..'dx')");
+  }
+  else {
+    system("ceexec","$inst_root\\bin\\perl", map {/^".*"$/s?$_:"\"$_\""} @ARGV);
+  }
+}
+elsif ($opts{'copy'}) {
+  if ($opts{'copy'} eq 'compact') {
+    die "todo";
+  }
+  s/\[p\]/$inst_root/g for @ARGV;
+  if ($ARGV[0]=~/^pc:/i) {system("cedel",$ARGV[1])}
+  system("cecopy",@ARGV);
+}
+else {
+  my $cmd = "nmake -f Makefile.ce @defs @ARGV";
+  print $cmd;
+  system($cmd);
+}
+
+
+=comments
+
+  Author Vadim Konovalov.
+
+=cut
End of Patch.