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,"€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.