Integrate perlio:
Jarkko Hietaniemi [Sat, 7 Apr 2001 14:43:59 +0000 (14:43 +0000)]
[  9604]
Split out extension finding code from buildext.pl into FindExt.pm
Use it to get Config.pm's idea of available extensions in line
with what is built.

[  9603]
Cleanup correction for failed :Via() layer, also set an error code.

[  9602]
Digests in lib/md5-file.t are for text files _without_ CRLF i.e. UNIX
style. So don't use binmode() on the handles so that Win32 etc. see
same sequence and produce same digests.

[  9601]
Allow PerlIOBase_pushed to ignore prefix on mode (e.g. sysopen's "#r")
Else it complains and so crlf layer (say) does not get pushed.

[  9599]
Quote $VERSION in Encode.pm.
regen_config_h as requested.

p4raw-link: @9604 on //depot/perlio: 8e2329934bcca9c59680f6d478c3c2bc3ef7c649
p4raw-link: @9603 on //depot/perlio: 267cbce72d0da7af102852e6d7e0bb5c1ce41da6
p4raw-link: @9602 on //depot/perlio: 9070af9fb87632d66faa82c00ab8b5cf20323a2b
p4raw-link: @9601 on //depot/perlio: c5af4229019b04c7fa4be99300f8d9883c0bdf73
p4raw-link: @9599 on //depot/perlio: b8a524e96d5b75be96d6a98368b9c29153780cfe

p4raw-id: //depot/perl@9606

MANIFEST
pod/perlmodlib.pod
t/lib/mimeqp.t [changed mode: 0644->0755]
t/lib/tie-refhash.t
t/op/utf8decode.t [changed mode: 0755->0644]

index b6dab2e..b425a12 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1217,6 +1217,7 @@ os2/dl_os2.c              Addon for dl_open
 os2/dlfcn.h            Addon for dl_open
 os2/os2.c              Additional code for OS/2
 os2/os2.sym            Additional symbols to export
+os2/os2add.sym         Overriding symbols to export
 os2/os2ish.h           Header for OS/2
 os2/os2thread.h                pthread-like typedefs
 os2/perl2cmd.pl                Corrects installed binaries under OS/2
index 15be6f2..62d249a 100644 (file)
@@ -134,10 +134,6 @@ Restrict unsafe constructs
 
 Predeclare sub names
 
-=item unicode::distinct
-
-Strictly distinguish UTF8 data and non-UTF data.
-
 =item utf8
 
 Enable/disable UTF-8 in source code
@@ -204,10 +200,6 @@ Perl compiler's C backend
 
 Perl compiler's optimized C translation backend
 
-=item B::Concise
-
-Walk Perl syntax tree, printing concise info about ops
-
 =item B::Debug
 
 Walk Perl syntax tree, printing debug info about ops
@@ -300,10 +292,6 @@ Wrapper around CPAN.pm without using any XS module
 
 Warn of errors (from perspective of caller)
 
-=item Carp::Heavy
-
-No user serviceable parts inside
-
 =item Class::Struct
 
 Declare struct-like datatypes as Perl classes
@@ -508,10 +496,6 @@ Simplified source filtering
 
 Locate directory of original perl script
 
-=item GDBM_File
-
-Perl5 access to the gdbm library.
-
 =item Getopt::Long
 
 Extended processing of command line options
@@ -636,10 +620,6 @@ Convert POD data to formatted ASCII text
 
 Convert POD data to formatted color ASCII text
 
-=item Pod::Text::Overstrike
-
-Convert POD data to formatted overstrike text
-
 =item Pod::Text::Termcap
 
 Convert POD data to ASCII text with format escapes
@@ -822,66 +802,87 @@ modules are:
 =over 4
 
 =item *
+
 Language Extensions and Documentation Tools
 
 =item *
+
 Development Support
 
 =item *
+
 Operating System Interfaces
 
 =item *
+
 Networking, Device Control (modems) and InterProcess Communication
 
 =item *
+
 Data Types and Data Type Utilities
 
 =item *
+
 Database Interfaces
 
 =item *
+
 User Interfaces
 
 =item *
+
 Interfaces to / Emulations of Other Programming Languages
 
 =item *
+
 File Names, File Systems and File Locking (see also File Handles)
 
 =item *
+
 String Processing, Language Text Processing, Parsing, and Searching
 
 =item *
+
 Option, Argument, Parameter, and Configuration File Processing
 
 =item *
+
 Internationalization and Locale
 
 =item *
+
 Authentication, Security, and Encryption
 
 =item *
+
 World Wide Web, HTML, HTTP, CGI, MIME
 
 =item *
+
 Server and Daemon Utilities
 
 =item *
+
 Archiving and Compression
 
 =item *
+
 Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing
 
 =item *
+
 Mail and Usenet News
 
 =item *
+
 Control Flow Utilities (callbacks and exceptions etc)
 
 =item *
+
 File Handle and Input/Output Stream Utilities
 
 =item *
+
 Miscellaneous Modules
 
 =back
@@ -1450,18 +1451,28 @@ Don't delete the original .pl file till the new .pm one works!
 
 =over 4
 
-=item Complete applications rarely belong in the Perl Module Library.
+=item *
+
+Complete applications rarely belong in the Perl Module Library.
 
-=item Many applications contain some Perl code that could be reused.
+=item *
+
+Many applications contain some Perl code that could be reused.
 
 Help save the world! Share your code in a form that makes it easy
 to reuse.
 
-=item Break-out the reusable code into one or more separate module files.
+=item *
+
+Break-out the reusable code into one or more separate module files.
+
+=item *
 
-=item Take the opportunity to reconsider and redesign the interfaces.
+Take the opportunity to reconsider and redesign the interfaces.
+
+=item *
 
-=item In some cases the 'application' can then be reduced to a small
+In some cases the 'application' can then be reduced to a small
 
 fragment of code built on top of the reusable modules. In these cases
 the application could invoked as:
old mode 100644 (file)
new mode 100755 (executable)
index a82c19c..d80b2e1 100644 (file)
@@ -1,19 +1,19 @@
 #!/usr/bin/perl -w
-#
+# 
 # Basic test suite for Tie::RefHash and Tie::RefHash::Nestable.
-#
+# 
 # The testing is in two parts: first, run lots of tests on both a tied
 # hash and an ordinary un-tied hash, and check they give the same
 # answer.  Then there are tests for those cases where the tied hashes
 # should behave differently to normal hashes, that is, when using
 # references as keys.
-#
+# 
 
 BEGIN {
     chdir 't' if -d 't';
-    @INC = '.';
+    @INC = '.'; 
     push @INC, '../lib';
-}
+}    
 
 use strict;
 use Tie::RefHash;
@@ -28,7 +28,7 @@ my $ref = []; my $ref1 = [];
 # on a tied hash and on a normal hash, and checking that the results
 # are the same.  This does of course assume that Perl hashes are not
 # buggy :-)
-#
+# 
 my @tests = standard_hash_tests();
 
 my @ordinary_results = runtests(\@tests, undef);
@@ -40,13 +40,13 @@ foreach my $class ('Tie::RefHash', 'Tie::RefHash::Nestable') {
     foreach my $i (0 .. $#ordinary_results) {
         my ($or, $ow, $oe) = @{$ordinary_results[$i]};
         my ($tr, $tw, $te) = @{$tied_results[$i]};
-
+        
         my $ok = 1;
         local $^W = 0;
         $ok = 0 if (defined($or) != defined($tr)) or ($or ne $tr);
         $ok = 0 if (defined($ow) != defined($tw)) or ($ow ne $tw);
         $ok = 0 if (defined($oe) != defined($te)) or ($oe ne $te);
-
+        
         if (not $ok) {
             print STDERR
               "failed for $class: $tests[$i]\n",
@@ -127,7 +127,7 @@ exit();
 
 # Print 'ok X' if true, 'not ok X' if false
 # Uses global $currtest.
-#
+# 
 sub test {
     my $t = shift;
     print 'not ' if not $t;
@@ -135,7 +135,7 @@ sub test {
 }
 
 
-# Wrapper for Data::Dumper to 'dump' a scalar as an EXPR string.
+# Wrapper for Data::Dumper to 'dump' a scalar as an EXPR string. 
 sub dumped {
     my $s = shift;
     my $d = Dumper($s);
@@ -148,7 +148,7 @@ sub dumped {
 # Crudely dump a hash into a canonical string representation (because
 # hash keys can appear in any order, Data::Dumper may give different
 # strings for the same hash).
-#
+# 
 sub dumph {
     my $h = shift;
     my $r = '';
@@ -159,17 +159,17 @@ sub dumph {
 }
 
 # Run the tests and give results.
-#
+# 
 # Parameters: reference to list of tests to run
 #             name of class to use for tied hash, or undef if not tied
-#
+# 
 # Returns: list of [R, W, E] tuples, one for each test.
 # R is the return value from running the test, W any warnings it gave,
 # and E any exception raised with 'die'.  E and W will be tidied up a
 # little to remove irrelevant details like line numbers :-)
-#
+# 
 # Will also run a few of its own 'ok N' tests.
-#
+# 
 sub runtests {
     my ($tests, $class) = @_;
     my @r;
@@ -215,14 +215,14 @@ sub runtests {
 
 # Things that should work just the same for an ordinary hash and a
 # Tie::RefHash.
-#
+# 
 # Each test is a code string to be eval'd, it should do something with
 # %h and give a scalar return value.  The global $ref and $ref1 may
 # also be used.
-#
+# 
 # One thing we don't test is that the ordering from 'keys', 'values'
 # and 'each' is the same.  You can't reasonably expect that.
-#
+# 
 sub standard_hash_tests {
     my @r;
 
@@ -234,12 +234,12 @@ sub standard_hash_tests {
     { my ($k, $v, %tmp); $tmp{"$k$;$v"}++ while (($k, $v) = each %h); dumph(\%tmp) }
 END
   ;
-
+    
     # Tests on the existence of the element 'foo'
     my $FOO_TESTS = <<'END'
     defined $h{foo};
     exists $h{foo};
-    $h{foo};
+    $h{foo};    
 END
   ;
 
@@ -278,7 +278,7 @@ END
   ;
         }
     }
-
+    
     # Test hash slices
     my @slicetests;
     @slicetests = split /\n/, <<'END'
old mode 100755 (executable)
new mode 100644 (file)