summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure7
-rw-r--r--ext/Cwd/t/cwd.t2
-rw-r--r--ext/Devel/DProf/DProf.t3
-rwxr-xr-xext/File/Glob/t/basic.t10
-rw-r--r--ext/SDBM_File/sdbm.t2
-rw-r--r--lib/ExtUtils/MM_BeOS.pm2
-rw-r--r--lib/Pod/t/Usage.t125
-rw-r--r--pod/perl5004delta.pod2
-rw-r--r--pod/perl5005delta.pod2
-rw-r--r--pod/perl561delta.pod2
-rw-r--r--pod/perl56delta.pod2
-rw-r--r--pod/perlfaq1.pod4
-rw-r--r--pod/perlfaq2.pod5
-rw-r--r--pod/perltoc.pod331
-rw-r--r--pp.c32
-rwxr-xr-xt/comp/script.t4
-rwxr-xr-xt/op/oct.t7
-rwxr-xr-xt/op/stat.t4
-rw-r--r--t/run/fresh_perl.t4
-rw-r--r--util.c8
20 files changed, 455 insertions, 103 deletions
diff --git a/Configure b/Configure
index fbeaa0b177..59ef5ebb91 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Fri Jan 18 01:06:38 EET 2002 [metaconfig 3.0 PL70]
+# Generated on Sat Jan 19 05:47:21 EET 2002 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
@@ -8026,6 +8026,9 @@ if $test "$cont"; then
fi
fi
fi
+case "$myhostname" in
+'') myhostname=noname ;;
+esac
: you do not want to know about this
set $myhostname
myhostname=$1
@@ -8126,7 +8129,7 @@ case "$myhostname" in
esac
case "$dflt" in
.) echo "(Lost all hope -- silly guess then)"
- dflt='.uucp'
+ dflt='.nonet'
;;
esac
$rm -f hosts
diff --git a/ext/Cwd/t/cwd.t b/ext/Cwd/t/cwd.t
index 88a1b9477e..8fc61b85fa 100644
--- a/ext/Cwd/t/cwd.t
+++ b/ext/Cwd/t/cwd.t
@@ -31,7 +31,7 @@ eval { fastcwd };
my $pwd_cmd =
($^O eq "MSWin32" || $^O eq "NetWare") ?
"cd" :
- (grep { -x && -f } map { "$_/pwd" }
+ (grep { -x && -f } map { "$_/pwd$Config{exe_ext}" }
split m/$Config{path_sep}/, $ENV{PATH})[0];
$pwd_cmd = 'SHOW DEFAULT' if $IsVMS;
diff --git a/ext/Devel/DProf/DProf.t b/ext/Devel/DProf/DProf.t
index 5ecba68b5b..de4064dc18 100644
--- a/ext/Devel/DProf/DProf.t
+++ b/ext/Devel/DProf/DProf.t
@@ -3,6 +3,7 @@
BEGIN {
chdir( 't' ) if -d 't';
@INC = '../lib';
+ require './test.pl'; # for which_perl() etc
require Config; import Config;
if ($Config{'extensions'} !~ /\bDevel\/DProf\b/){
print "1..0 # Skip: Devel::DProf was not built\n";
@@ -27,7 +28,7 @@ getopts('vI:p:');
$path_sep = $Config{path_sep} || ':';
$perl5lib = $opt_I || join( $path_sep, @INC );
-$perl = $opt_p || $^X;
+$perl = $opt_p || which_perl();
if( $opt_v ){
print "tests: @tests\n";
diff --git a/ext/File/Glob/t/basic.t b/ext/File/Glob/t/basic.t
index 2eb891b348..d7aeea4b05 100755
--- a/ext/File/Glob/t/basic.t
+++ b/ext/File/Glob/t/basic.t
@@ -92,9 +92,15 @@ else {
#print "\@a = ", array(@a);
rmdir $dir;
if (scalar(@a) != 0 || GLOB_ERROR == 0) {
- print "not ";
+ if ($^O eq 'vos') {
+ print "not ok 6 -- hit VOS bug posix-956\n";
+ } else {
+ print "not ok 6\n";
+ }
+ }
+ else {
+ print "ok 6\n";
}
- print "ok 6\n";
}
# check for csh style globbing
diff --git a/ext/SDBM_File/sdbm.t b/ext/SDBM_File/sdbm.t
index f1a5c63169..f942b97d96 100644
--- a/ext/SDBM_File/sdbm.t
+++ b/ext/SDBM_File/sdbm.t
@@ -46,7 +46,7 @@ if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'NetWare' ||
else {
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
$blksize,$blocks) = stat($Dfile);
- print (($mode & 0777) == 0640 ? "ok 2\n" : "not ok 2\n");
+ print (($mode & 0777) == ($^O eq 'vos' ? 0750 : 0640) ? "ok 2\n" : "not ok 2\n");
}
my $i = 0;
while (my ($key,$value) = each(%h)) {
diff --git a/lib/ExtUtils/MM_BeOS.pm b/lib/ExtUtils/MM_BeOS.pm
index 4ea2cf756e..298025dcb0 100644
--- a/lib/ExtUtils/MM_BeOS.pm
+++ b/lib/ExtUtils/MM_BeOS.pm
@@ -39,7 +39,7 @@ least BeOS has one.
sub perl_archive
{
- return '$(PERL_INC)' . "/$Config{libperl}":
+ return File::Spec->catdir('$(PERL_INC)',$Config{libperl});
}
1;
diff --git a/lib/Pod/t/Usage.t b/lib/Pod/t/Usage.t
new file mode 100644
index 0000000000..4afbe5d118
--- /dev/null
+++ b/lib/Pod/t/Usage.t
@@ -0,0 +1,125 @@
+#!perl
+use strict;
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = '../lib';
+}
+
+use File::Basename;
+use File::Spec;
+use Test::More;
+plan tests => 8;
+
+use_ok( 'Pod::Usage' );
+
+# Test verbose level 0
+my $vbl_0 = << 'EOMSG';
+Usage:
+ The SYNOPSIS section is displayed with -verbose >= 0.
+
+EOMSG
+my $fake_out = tie *FAKEOUT, 'CatchOut';
+pod2usage({ -verbose => 0, -exit => 'noexit', -output => \*FAKEOUT });
+is( $$fake_out, $vbl_0, 'Verbose level 0' );
+
+my $msg = "Prefix message for pod2usage()";
+$$fake_out = '';
+pod2usage({ -verbose => 0, -exit => 'noexit', -output => \*FAKEOUT,
+ -message => $msg });
+is( $$fake_out, "$msg\n$vbl_0", '-message parameter' );
+
+SKIP: {
+ my( $file, $path ) = fileparse( $0 );
+ skip( 'File in current directory', 2 ) if -e $file;
+ $$fake_out = '';
+ eval {
+ pod2usage({ -verbose => 0, -exit => 'noexit',
+ -output => \*FAKEOUT, -input => $file });
+ };
+ like( $@, qr/^Can't open $file for reading:/,
+ 'File not found without -pathlist' );
+
+ eval {
+ pod2usage({ -verbose => 0, -exit => 'noexit',
+ -output => \*FAKEOUT, -input => $file,
+ -pathlist => $path });
+ };
+ is( $$fake_out, $vbl_0, '-pathlist parameter' );
+}
+
+{ # Test exit status from pod2usage()
+ my $exit = 42;
+ my $dev_null = File::Spec->devnull;
+ my $args = join ", ", (
+ "-verbose => 0",
+ "-exit => $exit",
+ "-output => q[$dev_null]",
+ "-input => q[$0]",
+ );
+ my $prg = qq[pod2usage({ $args })];
+ my @cmd = ( $^X, '-I../lib', '-MPod::Usage', '-e', $prg );
+
+ is( system( @cmd ) >> 8, $exit, 'Exit status of pod2usage()' );
+}
+
+# Test verbose level 1
+my $vbl_1 = << 'EOMSG';
+Usage:
+ The SYNOPSIS section is displayed with -verbose >= 0.
+
+Options:
+ The OPTIONS section is displayed with -verbose >= 1.
+
+Arguments:
+ The ARGUMENTS section is displayed with -verbose >= 1.
+
+EOMSG
+$$fake_out = '';
+pod2usage( { -verbose => 1, -exit => 'noexit', -output => \*FAKEOUT } );
+is( $$fake_out, $vbl_1, 'Verbose level 1' );
+
+# Test verbose level 2
+$$fake_out = '';
+require Pod::Text; # Pod::Usage->isa( 'Pod::Text' )
+
+( my $p2tp = new Pod::Text )->parse_from_file( $0, \*FAKEOUT );
+my $pod2text = $$fake_out;
+
+$$fake_out = '';
+pod2usage( { -verbose => 2, -exit => 'noexit', -output => \*FAKEOUT } );
+my $pod2usage = $$fake_out;
+
+is( $pod2usage, $pod2text, 'Verbose level >= 2 eq pod2text' );
+
+
+package CatchOut;
+sub TIEHANDLE { bless \( my $self ), shift }
+sub PRINT { my $self = shift; $$self .= $_[0] }
+
+__END__
+
+=head1 NAME
+
+Usage.t - Tests for Pod::Usage
+
+=head1 SYNOPSIS
+
+The B<SYNOPSIS> section is displayed with -verbose >= 0.
+
+=head1 DESCRIPTION
+
+Testing Pod::Usage. This section is not displayed with -verbose < 2.
+
+=head1 OPTIONS
+
+The B<OPTIONS> section is displayed with -verbose >= 1.
+
+=head1 ARGUMENTS
+
+The B<ARGUMENTS> section is displayed with -verbose >= 1.
+
+=head1 AUTHOR
+
+20020105 Abe Timmerman <abe@ztreet.demon.nl>
+
+=cut
diff --git a/pod/perl5004delta.pod b/pod/perl5004delta.pod
index 429cba93ce..35abf6889c 100644
--- a/pod/perl5004delta.pod
+++ b/pod/perl5004delta.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perldelta - what's new for perl5.004
+perl5004delta - what's new for perl5.004
=head1 DESCRIPTION
diff --git a/pod/perl5005delta.pod b/pod/perl5005delta.pod
index e689b84e12..69c3274438 100644
--- a/pod/perl5005delta.pod
+++ b/pod/perl5005delta.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perldelta - what's new for perl5.005
+perl5005delta - what's new for perl5.005
=head1 DESCRIPTION
diff --git a/pod/perl561delta.pod b/pod/perl561delta.pod
index 652ff7f9ac..1b9d7bba3e 100644
--- a/pod/perl561delta.pod
+++ b/pod/perl561delta.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perldelta - what's new for perl v5.6.x
+perl561delta - what's new for perl v5.6.x
=head1 DESCRIPTION
diff --git a/pod/perl56delta.pod b/pod/perl56delta.pod
index d5257256b8..5d07c14385 100644
--- a/pod/perl56delta.pod
+++ b/pod/perl56delta.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perldelta - what's new for perl v5.6.0
+perl56delta - what's new for perl v5.6.0
=head1 DESCRIPTION
diff --git a/pod/perlfaq1.pod b/pod/perlfaq1.pod
index d8e4f9799d..92c28f07f2 100644
--- a/pod/perlfaq1.pod
+++ b/pod/perlfaq1.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perlfaq1 - General Questions About Perl ($Revision: 1.3 $, $Date: 2002/01/11 02:31:20 $)
+perlfaq1 - General Questions About Perl ($Revision: 1.4 $, $Date: 2002/01/18 21:00:17 $)
=head1 DESCRIPTION
@@ -38,7 +38,7 @@ producing better software for free than you could hope to purchase for
money. You may snoop on pending developments via the archives at
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
and http://archive.develooper.com/perl5-porters@perl.org/
-or the news gateway news://nntp.perl.org/perl.perl5.porters or
+or the news gateway nntp://nntp.perl.org/perl.perl5.porters or
its web interface at http://nntp.perl.org/group/perl.perl5.porters ,
or read the faq at http://perlhacker.org/p5p-faq,
or you can subscribe to the mailing list by sending
diff --git a/pod/perlfaq2.pod b/pod/perlfaq2.pod
index 3ef958ffe7..c183d18a25 100644
--- a/pod/perlfaq2.pod
+++ b/pod/perlfaq2.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.4 $, $Date: 2002/01/11 02:31:20 $)
+perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.5 $, $Date: 2002/01/18 21:00:17 $)
=head1 DESCRIPTION
@@ -185,7 +185,7 @@ following groups:
There is also Usenet gateway to the mailing list used by the crack
Perl development team (perl5-porters) at
-news://nntp.perl.org/perl.perl5.porters or its web interface at
+nntp://nntp.perl.org/perl.perl5.porters or its web interface at
http://nntp.perl.org/group/perl.perl5.porters .
=head2 Where should I post source code?
@@ -518,7 +518,6 @@ and there are many other sub-domains for special topics, such as
http://bugs.perl.org/
http://history.perl.org/
http://lists.perl.org/
- http://news.perl.org/
http://use.perl.org/
http://www.cpan.org/ is the Comprehensive Perl Archive Network,
diff --git a/pod/perltoc.pod b/pod/perltoc.pod
index 3a4390976d..c1b4eb4050 100644
--- a/pod/perltoc.pod
+++ b/pod/perltoc.pod
@@ -101,8 +101,8 @@ Parentheses for capturing, Other regexp features
=back
-=head2 perlfaq - frequently asked questions about Perl ($Date: 2001/11/19
-17:09:37 $)
+=head2 perlfaq - frequently asked questions about Perl ($Date: 2002/01/11
+02:31:20 $)
=over 4
@@ -2714,8 +2714,8 @@ tarball, Announce to the modules list, Announce to clpa, Fix bugs!
=back
-=head2 perlfaq1 - General Questions About Perl ($Revision: 1.2 $, $Date:
-2001/11/09 08:06:04 $)
+=head2 perlfaq1 - General Questions About Perl ($Revision: 1.4 $, $Date:
+2002/01/18 21:00:17 $)
=over 4
@@ -2761,8 +2761,8 @@ Scheme, or Tcl?
=back
-=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.3 $,
-$Date: 2001/11/09 08:06:04 $)
+=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.5 $,
+$Date: 2002/01/18 21:00:17 $)
=over 4
@@ -2817,8 +2817,8 @@ References, Tutorials, Task-Oriented, Special Topics
=back
-=head2 perlfaq3 - Programming Tools ($Revision: 1.10 $, $Date: 2001/11/19
-17:09:37 $)
+=head2 perlfaq3 - Programming Tools ($Revision: 1.11 $, $Date: 2002/01/11
+02:31:20 $)
=over 4
@@ -2903,8 +2903,8 @@ mean?
=back
-=head2 perlfaq4 - Data Manipulation ($Revision: 1.10 $, $Date: 2002/01/01
-22:26:45 $)
+=head2 perlfaq4 - Data Manipulation ($Revision: 1.11 $, $Date: 2002/01/11
+02:31:20 $)
=over 4
@@ -3118,8 +3118,8 @@ array of hashes or arrays?
=back
-=head2 perlfaq5 - Files and Formats ($Revision: 1.6 $, $Date: 2001/12/19
-18:17:00 $)
+=head2 perlfaq5 - Files and Formats ($Revision: 1.7 $, $Date: 2002/01/11
+02:31:20 $)
=over 4
@@ -3356,8 +3356,8 @@ is in scope?
=back
-=head2 perlfaq8 - System Interaction ($Revision: 1.4 $, $Date: 2001/11/09
-08:06:04 $)
+=head2 perlfaq8 - System Interaction ($Revision: 1.5 $, $Date: 2002/01/11
+02:31:20 $)
=over 4
@@ -4436,26 +4436,9 @@ croak, warn
=item DESCRIPTION
-=item Global Variables
-
-PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv,
-PL_rs
-
-=item GV Functions
-
-is_gv_magical
-
-=item IO Functions
-
-start_glob
-
-=item Stack Manipulation Macros
-
-djSP, LVRET
-
-=item SV Manipulation Functions
-
-report_uninit, sv_add_arena, sv_clean_all, sv_clean_objs, sv_free_arenas
+djSP, is_gv_magical, LVRET, PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn,
+PL_last_in_gv, PL_ofs_sv, PL_rs, report_uninit, start_glob, sv_add_arena,
+sv_clean_all, sv_clean_objs, sv_free_arenas
=item AUTHORS
@@ -4633,7 +4616,7 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
=item Security audit shipped utilities
-=item Custom opcodes
+=item Sort out the uid-setting mess
=item DLL Versioning
@@ -4777,8 +4760,6 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
=item Attach/detach debugger from running program
-=item Alternative RE syntax module
-
=item GUI::Native
=item foreach(reverse ...)
@@ -4805,6 +4786,8 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
=over 4
+=item Alternative RE syntax module
+
=item Safe signal handling
=item Tie Modules
@@ -5098,7 +5081,7 @@ I<The Road goes ever on and on, down from the door where it began.>
=item IEEE-format Floating Point Default on OpenVMS Alpha
-=item Different Definition of the Unicode Character Classes \p{In...}
+=item New Unicode Properties
=item Perl Parser Stress Tested
@@ -5120,7 +5103,7 @@ I<The Road goes ever on and on, down from the door where it began.>
=item Understanding of Numbers
-=item Miscellaneous Enhancements
+=item Miscellaneous Changes
=back
@@ -5566,7 +5549,7 @@ d_strtoq, d_u32align, d_ualarm, d_usleep
=back
-=head2 perl561delta, perldelta - what's new for perl v5.6.x
+=head2 perl561delta - what's new for perl v5.6.x
=over 4
@@ -5986,7 +5969,7 @@ to mean "${$}<digit>" is deprecated
=back
-=head2 perl56delta, perldelta - what's new for perl v5.6.0
+=head2 perl56delta - what's new for perl v5.6.0
=over 4
@@ -6371,7 +6354,7 @@ to mean "${$}<digit>" is deprecated
=back
-=head2 perl5005delta, perldelta - what's new for perl5.005
+=head2 perl5005delta - what's new for perl5.005
=over 4
@@ -6547,7 +6530,7 @@ temporary file, regexp too big
=back
-=head2 perl5004delta, perldelta - what's new for perl5.004
+=head2 perl5004delta - what's new for perl5.004
=over 4
@@ -8858,7 +8841,7 @@ RV
=item B::PV METHODS
-PV, PVX
+PV, RV, PVX
=item B::PVMG METHODS
@@ -8866,7 +8849,7 @@ MAGIC, SvSTASH
=item B::MAGIC METHODS
-MOREMAGIC, PRIVATE, TYPE, FLAGS, OBJ, PTR
+MOREMAGIC, precomp, PRIVATE, TYPE, FLAGS, OBJ, PTR, REGEX
=item B::PVLV METHODS
@@ -8884,7 +8867,7 @@ LINE, FILE, FILEGV, GvREFCNT, FLAGS
=item B::IO METHODS
LINES, PAGE, PAGE_LEN, LINES_LEFT, TOP_NAME, TOP_GV, FMT_NAME, FMT_GV,
-BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS
+BOTTOM_NAME, BOTTOM_GV, SUBPROCESS, IoTYPE, IoFLAGS, IsSTD
=item B::AV METHODS
@@ -8923,7 +8906,8 @@ children
=item B::PMOP METHODS
-pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmpermflags, precomp
+pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, pmdynflags,
+pmpermflags, precomp, pmoffet
=item B::SVOP METHOD
@@ -8949,11 +8933,11 @@ label, stash, file, cop_seq, arybase, line
=item FUNCTIONS EXPORTED BY C<B>
-main_cv, init_av, main_root, main_start, comppadlist, sv_undef, sv_yes,
-sv_no, amagic_generation, walkoptree(OP, METHOD), walkoptree_debug(DEBUG),
-walksymtable(SYMREF, METHOD, RECURSE, PREFIX), svref_2object(SV),
-ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR), class(OBJ),
-threadsv_names
+main_cv, init_av, begin_av, end_av, main_root, main_start, comppadlist,
+regex_padav, sv_undef, sv_yes, sv_no, amagic_generation, walkoptree(OP,
+METHOD), walkoptree_debug(DEBUG), walksymtable(SYMREF, METHOD, RECURSE,
+PREFIX), svref_2object(SV), ppname(OPNUM), hash(STR), cast_I32(I), minus_c,
+cstring(STR), class(OBJ), threadsv_names
=item AUTHOR
@@ -9040,7 +9024,8 @@ B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-upackage>
B<-ofilename>, B<-v>, B<-->, B<-uPackname>, B<-D>, B<-Do>, B<-Dc>, B<-DA>,
B<-DC>, B<-DM>, B<-f>, B<-fcog>, B<-fsave-data>, B<-fppaddr>, B<-fwarn-sv>,
-B<-fuse-script-name>, B<-fsave-sig-hash>, B<-On>, B<-llimit>
+B<-fuse-script-name>, B<-fsave-sig-hash>, B<-On>, B<-O0>, B<-O1>, B<-O2>,
+B<-llimit>
=item EXAMPLES
@@ -9429,7 +9414,7 @@ B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-upackage>
=item USING THE FUNCTION-ORIENTED INTERFACE
-B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:netscape>, B<:html>,
+B<:cgi>, B<:form>, B<:html2>, B<:html3>, B<:html4>, B<:netscape>, B<:html>,
B<:standard>, B<:all>
=item PRAGMAS
@@ -9440,9 +9425,9 @@ B<:standard>, B<:all>
=item SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS
-1. start_table() (generates a <TABLE> tag), 2. end_table() (generates a
-</TABLE> tag), 3. start_ul() (generates a <UL> tag), 4. end_ul() (generates
-a </UL> tag)
+1. start_table() (generates a <table> tag), 2. end_table() (generates a
+</table> tag), 3. start_ul() (generates a <ul> tag), 4. end_ul() (generates
+a </ul> tag)
=back
@@ -9562,7 +9547,7 @@ B<-name>, B<-value>, B<-path>, B<-domain>, B<-expires>, B<-secure>
1. Create a <Frameset> document, 2. Specify the destination for the
document in the HTTP header, 3. Specify the destination for the document in
-the <FORM> tag
+the <form> tag
=item LIMITED SUPPORT FOR CASCADING STYLE SHEETS
@@ -10980,9 +10965,19 @@ arrays
=item Selecting What To Export
+=item How to Import
+
+C<use ModuleName;>, C<use ModuleName ();>, C<use ModuleName qw(...);>
+
+=back
+
+=item Advanced features
+
+=over 4
+
=item Specialised Import Lists
-=item Exporting without using Export's import method
+=item Exporting without using Exporter's import method
=item Module Version Checking
@@ -11189,6 +11184,19 @@ For static extensions, For dynamic extensions, For dynamic extensions
=back
+=head2 ExtUtils::MM_BeOS - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+perl_archive
+
=head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
ExtUtils::MakeMaker
@@ -11924,7 +11932,7 @@ rmscopy($from,$to[,$date_flag])
=back
-=head2 File::Find, find - traverse a file tree
+=head2 File::Find - Traverse a directory tree.
=over 4
@@ -11932,10 +11940,24 @@ rmscopy($from,$to[,$date_flag])
=item DESCRIPTION
+B<find>, B<finddepth>
+
+=over 4
+
+=item %options
+
C<wanted>, C<bydepth>, C<preprocess>, C<postprocess>, C<follow>,
C<follow_fast>, C<follow_skip>, C<dangling_symlinks>, C<no_chdir>,
C<untaint>, C<untaint_pattern>, C<untaint_skip>
+=item The wanted function
+
+C<$File::Find::dir> is the current directory name,, C<$_> is the current
+filename within that directory, C<$File::Find::name> is the complete
+pathname to the file
+
+=back
+
=item WARNINGS
=item CAVEAT
@@ -13494,6 +13516,8 @@ set ( NAME => VALUE [, NAME => VALUE ...] ), setall ( VALUES ), setval ( N
first BLOCK LIST, max LIST, maxstr LIST, min LIST, minstr LIST, reduce
BLOCK LIST, shuffle LIST, sum LIST
+=item KNOWN BUGS
+
=item SUGGESTED ADDITIONS
=item COPYRIGHT
@@ -13512,6 +13536,8 @@ general-utility list subroutines
first BLOCK LIST, max LIST, maxstr LIST, min LIST, minstr LIST, reduce
BLOCK LIST, shuffle LIST, sum LIST
+=item KNOWN BUGS
+
=item SUGGESTED ADDITIONS
=item COPYRIGHT
@@ -13530,6 +13556,8 @@ general-utility scalar subroutines
blessed EXPR, dualvar NUM, STRING, isweak EXPR, readonly SCALAR, reftype
EXPR, tainted EXPR, weaken REF
+=item KNOWN BUGS
+
=item COPYRIGHT
=item BLATANT PLUG
@@ -16283,6 +16311,8 @@ Memory, CPU, Snooping, Signals, State Changes
blessed EXPR, dualvar NUM, STRING, isweak EXPR, readonly SCALAR, reftype
EXPR, tainted EXPR, weaken REF
+=item KNOWN BUGS
+
=item COPYRIGHT
=item BLATANT PLUG
@@ -16365,10 +16395,10 @@ socket.h defines and structure manipulators
=item DESCRIPTION
inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
-INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in
-SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
-SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN,
-pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
+INADDR_LOOPBACK, INADDR_NONE, sockaddr_family SOCKADDR, sockaddr_in PORT,
+ADDRESS, sockaddr_in SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS,
+unpack_sockaddr_in SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un
+SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
=back
@@ -16410,6 +16440,8 @@ C<Storable::is_retrieving>
=back
+=item Storable magic
+
=item EXAMPLES
=item WARNING
@@ -16722,10 +16754,18 @@ B<ok>
B<is_eq>, B<is_num>
-B<like>
+B<isnt_eq>, B<isnt_num>
+
+B<like>, B<unlike>
+
+B<cmp_ok>
+
+B<BAILOUT>
B<skip>
+B<todo_skip>
+
B<skip_rest>
=over 4
@@ -16796,9 +16836,15 @@ B<_my_exit>
=item The test script output
-B<'1..M'>, B<'ok', 'not ok'. Ok?>, B<test numbers>,
-B<$Test::Harness::verbose>, B<$Test::Harness::switches>, B<Skipping tests>,
-B<Todo tests>, B<Bail out!>, B<Comments>, B<Anything else>
+B<'1..M'>, B<'ok', 'not ok'. Ok?>, B<test numbers>, B<test names>,
+B<Skipping tests>, B<Todo tests>, B<Bail out!>, B<Comments>, B<Anything
+else>
+
+=item Taint mode
+
+=item Configuration variables.
+
+B<$Test::Harness::verbose>, B<$Test::Harness::switches>
=item Failure
@@ -16821,6 +16867,8 @@ B<_run_all_tests>
B<_mk_leader>
+B<_leader_width>
+
=over 4
=item EXPORT
@@ -16850,6 +16898,116 @@ C<HARNESS_ACTIVE>
=back
+=head2 Test::Harness::Assert - simple assert
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Functions
+
+B<assert>
+
+=back
+
+=back
+
+=over 4
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 Test::Harness::Iterator - Internal Test::Harness Iterator
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 Test::Harness::Straps - detailed analysis of test results
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Construction
+
+B<new>
+
+=back
+
+=back
+
+B<_init>
+
+=over 4
+
+=item Analysis
+
+B<analyze>
+
+=back
+
+B<analyze_fh>
+
+B<analyze_file>
+
+B<_switches>
+
+B<_INC2PERL5LIB>
+
+B<_filtered_INC>
+
+B<_restore_PERL5LIB>
+
+=over 4
+
+=item Parsing
+
+B<_is_comment>
+
+=back
+
+B<_is_header>
+
+B<_is_test>
+
+B<_is_bail_out>
+
+B<_reset_file_state>
+
+=over 4
+
+=item Results
+
+B<_detailize>
+
+=back
+
+=over 4
+
+=item EXAMPLES
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
=head2 Test::More - yet another framework for writing test scripts
=over 4
@@ -16880,6 +17038,10 @@ B<is>, B<isnt>
B<like>
+B<unlike>
+
+B<cmp_ok>
+
B<can_ok>
B<isa_ok>
@@ -16888,6 +17050,14 @@ B<pass>, B<fail>
=over 4
+=item Diagnostics
+
+B<diag>
+
+=back
+
+=over 4
+
=item Module tests
B<use_ok>
@@ -16904,7 +17074,7 @@ B<SKIP: BLOCK>
=back
-B<TODO: BLOCK>
+B<TODO: BLOCK>, B<todo_skip>
=over 4
@@ -16922,11 +17092,19 @@ B<eq_set>
=over 4
+=item Extending and Embedding Test::More
+
+B<builder>
+
+=back
+
+=over 4
+
=item NOTES
=item BUGS and CAVEATS
-Making your own ok(), The eq_* family have some caveats, Test::Harness
+Making your own ok(), The eq_* family has some caveats, Test::Harness
upgrades
=item HISTORY
@@ -17479,11 +17657,20 @@ Unicode Collation Algorithm - Unicode TR #10, L<Unicode::Normalize>
=item DESCRIPTION
+=over 4
+
+=item Normalization Forms
+
C<$string_NFD = NFD($raw_string)>, C<$string_NFC = NFC($raw_string)>,
C<$string_NFKD = NFKD($raw_string)>, C<$string_NFKC = NFKC($raw_string)>,
C<$normalized_string = normalize($form_name, $raw_string)>
-=over 4
+=item Character Data
+
+C<$canonical_decomposed = getCanon($codepoint)>,
+C<$compatibility_decomposed = getCompat($codepoint)>, C<$uv_composite =
+getComposite($uv_here, $uv_next)>, C<$combining_class =
+getCombinClass($codepoint)>, C<$is_exclusion = isExclusion($codepoint)>
=item EXPORT
@@ -17493,7 +17680,7 @@ C<$normalized_string = normalize($form_name, $raw_string)>
=item SEE ALSO
-L<Lingua::KO::Hangul::Util>, http://www.unicode.org/unicode/reports/tr15/
+http://www.unicode.org/unicode/reports/tr15/
=back
diff --git a/pp.c b/pp.c
index ef0c75e9d5..997e633032 100644
--- a/pp.c
+++ b/pp.c
@@ -2791,8 +2791,18 @@ PP(pp_hex)
STRLEN len;
NV result_nv;
UV result_uv;
+ SV* sv = POPs;
- tmps = (SvPVx(POPs, len));
+ tmps = (SvPVx(sv, len));
+ if (DO_UTF8(sv)) {
+ /* If Unicode, try to downgrade
+ * If not possible, croak. */
+ SV* tsv = sv_2mortal(newSVsv(sv));
+
+ SvUTF8_on(tsv);
+ sv_utf8_downgrade(tsv, FALSE);
+ tmps = SvPVX(tsv);
+ }
result_uv = grok_hex (tmps, &len, &flags, &result_nv);
if (flags & PERL_SCAN_GREATER_THAN_UV_MAX) {
XPUSHn(result_nv);
@@ -2811,8 +2821,18 @@ PP(pp_oct)
STRLEN len;
NV result_nv;
UV result_uv;
+ SV* sv = POPs;
- tmps = (SvPVx(POPs, len));
+ tmps = (SvPVx(sv, len));
+ if (DO_UTF8(sv)) {
+ /* If Unicode, try to downgrade
+ * If not possible, croak. */
+ SV* tsv = sv_2mortal(newSVsv(sv));
+
+ SvUTF8_on(tsv);
+ sv_utf8_downgrade(tsv, FALSE);
+ tmps = SvPVX(tsv);
+ }
while (*tmps && len && isSPACE(*tmps))
tmps++, len--;
if (*tmps == '0')
@@ -3178,15 +3198,15 @@ PP(pp_crypt)
STRLEN n_a;
STRLEN len;
char *tmps = SvPV(left, len);
+
if (DO_UTF8(left)) {
- /* If Unicode, try to dowgrade.
+ /* If Unicode, try to downgrade.
* If not possible, croak.
* Yes, we made this up. */
SV* tsv = sv_2mortal(newSVsv(left));
-
+
SvUTF8_on(tsv);
- if (!sv_utf8_downgrade(tsv, FALSE))
- Perl_croak(aTHX_ "Wide character in crypt");
+ sv_utf8_downgrade(tsv, FALSE);
tmps = SvPVX(tsv);
}
# ifdef FCRYPT
diff --git a/t/comp/script.t b/t/comp/script.t
index 2dbdaf2afc..6efffdf81a 100755
--- a/t/comp/script.t
+++ b/t/comp/script.t
@@ -3,10 +3,10 @@
BEGIN {
chdir 't';
@INC = '../lib';
- require './test.pl';
+ require './test.pl'; # for which_perl() etc
}
-my $Perl = which_perl;
+my $Perl = which_perl();
print "1..3\n";
diff --git a/t/op/oct.t b/t/op/oct.t
index 06bcf3e402..f996b48975 100755
--- a/t/op/oct.t
+++ b/t/op/oct.t
@@ -2,7 +2,7 @@
# tests 51 onwards aren't all warnings clean. (intentionally)
-print "1..69\n";
+print "1..71\n";
my $test = 1;
@@ -145,3 +145,8 @@ test ('hex', "x3A", 0x3A);
test ('hex', "0x4", 4);
test ('hex', "x4", 4);
+eval '$a = oct "10\x{100}"';
+print $@ =~ /Wide character/ ? "ok $test\n" : "not ok $test\n"; $test++;
+
+eval '$a = hex "ab\x{100}"';
+print $@ =~ /Wide character/ ? "ok $test\n" : "not ok $test\n"; $test++;
diff --git a/t/op/stat.t b/t/op/stat.t
index 4857836ddf..1c0d4b25ba 100755
--- a/t/op/stat.t
+++ b/t/op/stat.t
@@ -3,7 +3,7 @@
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
- require './test.pl';
+ require './test.pl'; # for which_perl() etc
}
use Config;
@@ -11,7 +11,7 @@ use File::Spec;
plan tests => 69;
-my $Perl = which_perl;
+my $Perl = which_perl();
$Is_Amiga = $^O eq 'amigaos';
$Is_Cygwin = $^O eq 'cygwin';
diff --git a/t/run/fresh_perl.t b/t/run/fresh_perl.t
index 73680ebc58..d59d0da7b8 100644
--- a/t/run/fresh_perl.t
+++ b/t/run/fresh_perl.t
@@ -22,12 +22,12 @@
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
- require './test.pl';
+ require './test.pl'; # for which_perl() etc
}
use strict;
-my $Perl = which_perl;
+my $Perl = which_perl();
$|=1;
diff --git a/util.c b/util.c
index 46b9ac1e2e..0d2127bb4c 100644
--- a/util.c
+++ b/util.c
@@ -4032,7 +4032,11 @@ Perl_new_vstring(pTHX_ char *s, SV *sv)
return s;
}
-#if !defined(HAS_SOCKETPAIR) && defined(HAS_SOCKET)
+#if !defined(HAS_SOCKETPAIR) && defined(HAS_SOCKET) && defined(AF_INET) && defined(PF_INET) && defined(SOCK_DGRAM)
+# define EMULATE_SOCKETPAIR_UDP
+#endif
+
+#ifdef EMULATE_SOCKETPAIR_UDP
static int
S_socketpair_udp (int fd[2]) {
dTHX;
@@ -4198,8 +4202,10 @@ Perl_my_socketpair (int family, int type, int protocol, int fd[2]) {
return -1;
}
+#ifdef EMULATE_SOCKETPAIR_UDP
if (type == SOCK_DGRAM)
return S_socketpair_udp (fd);
+#endif
listener = PerlSock_socket (AF_INET, type, 0);
if (listener == -1)