From: Nick Ing-Simmons Date: Wed, 17 Jul 2002 19:30:39 +0000 (+0000) Subject: Integrate mainline X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=fe6a355d0e248c42e1da4becfeb3d3c37cc36990;hp=14d89041d8ff788f94621c8fcb0918e3be8f01f0;p=p5sagit%2Fp5-mst-13.2.git Integrate mainline p4raw-id: //depot/perlio@17607 --- diff --git a/AUTHORS b/AUTHORS index 6f3612d..4197ec5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -273,7 +273,7 @@ Hershel Walters Holger Bechtold Horst von Brand Hubert Feyrer -Hugo van der Sanden +Hugo van der Sanden Hunter Kelly Huw Rogers I. N. Golubev @@ -288,6 +288,7 @@ Ilya Zakharevich Inaba Hiroto Indy Singh Irving Reid +Ivan Kurmanov J. David Blackstone J. van Krieken Jack Shirazi @@ -564,6 +565,7 @@ Quentin Fennessy Radu Greab Rafael Garcia-Suarez Rainer Keuchel +Rainer Orth Rajesh Vaidheeswarran Ralf S. Engelschall Randal L. Schwartz @@ -703,8 +705,10 @@ Ville Skytt Vishal Bhatia Vlad Harchev Vladimir Alexiev +W.BRISCOE@ponl.com W. Phillip Moore Walt Mankowski +Walter Briscoe Warren Hyde Warren Jones Wayne Berke diff --git a/Changes b/Changes index 207156b..3ea6362 100644 --- a/Changes +++ b/Changes @@ -28,6 +28,158 @@ example from http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/ Version v5.7.X Development release working toward v5.8 -------------- ____________________________________________________________________________ +[ 17596] By: jhi on 2002/07/17 12:46:20 + Log: Ivan Kurmanov pointed out that the whole "use utf8" + semantics change was missing from Incompatible Changes. + Ooops. (Also tweaked the announcement.) + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 17595] By: jhi on 2002/07/17 12:35:07 + Log: Doc deduplication by Ivan Kurmanov . + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 17594] By: jhi on 2002/07/17 12:29:42 + Log: Integrate perlio: + + [ 17587] + Fix :scalar layer to allow it to exist under other layers. + Actual fix is just the if (!f) test before calling + PerlIO_allocate(). Rest of change is conforming to + standard indent. + Branch: perl + !> ext/PerlIO/scalar/scalar.xs +____________________________________________________________________________ +[ 17593] By: jhi on 2002/07/17 12:25:39 + Log: Also the NetWare breakage was due to #17270, go figure. + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 17592] By: jhi on 2002/07/17 12:21:07 + Log: Subject: patch against perldebug.pod + From: Jim Cromie + Date: Wed, 17 Jul 2002 08:48:38 -0400 + Message-ID: <3D3567A6.5070404@divsol.com> + Branch: perl + ! pod/perldebug.pod +____________________________________________________________________________ +[ 17591] By: jhi on 2002/07/17 12:18:24 + Log: Subject: [PATCH] Encode::FB_QUIET + From: Tatsuhiko Miyagawa + Date: Wed, 17 Jul 2002 18:25:01 +0900 + Message-ID: <86adoq4sgi.wl@mail.edge.co.jp> + Branch: perl + ! ext/Encode/Encode.pm +____________________________________________________________________________ +[ 17590] By: jhi on 2002/07/17 12:14:21 + Log: Cygwin is at 1.3.12. + Branch: perl + ! README.cygwin +____________________________________________________________________________ +[ 17589] By: pudge on 2002/07/17 11:28:37 + Log: Config/Makefile/test updates + Branch: macperl + ! macos/MacPerlTests.cmd macos/Makefile.mk macos/config.sh + ! macos/macperl/Makefile.mk +____________________________________________________________________________ +[ 17588] By: pudge on 2002/07/17 11:28:02 + Log: Small test fixes for Mac OS + + $Config{cc} is generated dynamically on MacPerl, + so looking at raw config_sh() fails + + op/glob.t never worked before, oops :-) + Branch: macperl + ! lib/Config.t t/op/glob.t +____________________________________________________________________________ +[ 17587] By: nick on 2002/07/17 06:33:58 + Log: Fix :scalar layer to allow it to exist under other layers. + Actual fix is just the if (!f) test before calling + PerlIO_allocate(). Rest of change is conforming to + standard indent. + Branch: perlio + ! ext/PerlIO/scalar/scalar.xs +____________________________________________________________________________ +[ 17586] By: nick on 2002/07/17 06:32:10 + Log: Integrate mainline + Branch: perlio + !> ext/Encode/encoding.pm hints/mpeix.sh lib/Net/Ping.pm + !> lib/Net/Ping/Changes lib/Net/Ping/README + !> lib/Net/Ping/t/200_ping_tcp.t mpeix/nm sv.c +____________________________________________________________________________ +[ 17585] By: pudge on 2002/07/17 04:09:40 + Log: Integrate perl + Branch: macperl + !> (integrate 53 files) +____________________________________________________________________________ +[ 17584] By: jhi on 2002/07/17 03:11:53 + Log: Upgrade to Net::Ping 2.20. + Branch: perl + ! lib/Net/Ping.pm lib/Net/Ping/Changes lib/Net/Ping/README + ! lib/Net/Ping/t/200_ping_tcp.t +____________________________________________________________________________ +[ 17583] By: jhi on 2002/07/16 21:14:36 + Log: DJGPP was broken by #17270. Because of the time crunch + we may not have time to investigate how that is possible, + since the #17270 was trying to protect against illegal + memory accesses... (the breakage of the DJGPP build was + manifested by configpm eating up all the available memory) + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 17582] By: jhi on 2002/07/16 20:18:32 + Log: MPE/iX fixes from Mark Bixby. + Branch: perl + ! hints/mpeix.sh mpeix/nm +____________________________________________________________________________ +[ 17581] By: rgs on 2002/07/16 19:49:16 + Log: Remove bad advice : -M doesn't work on the #! line + Branch: perl + ! ext/Encode/encoding.pm +____________________________________________________________________________ +[ 17580] By: nick on 2002/07/16 19:41:34 + Log: Integrate mainline (what a lot of change during freeze!) + Branch: perlio + !> (integrate 41 files) +____________________________________________________________________________ +[ 17579] By: jhi on 2002/07/16 18:13:50 + Log: With very high probability this 8-space wants to be a 1-tab. + Branch: perl + ! lib/ExtUtils/MM_NW5.pm +____________________________________________________________________________ +[ 17578] By: jhi on 2002/07/16 17:56:17 + Log: Remove the extra warning since after it the right thing + is attempted (and that gives a warning if necessary). + Branch: perl + ! x2p/s2p.PL +____________________________________________________________________________ +[ 17577] By: jhi on 2002/07/16 17:53:47 + Log: Subject: [ID 20020716.001] RC3 pp_sys.c #ifdef usage wrong + From: W.BRISCOE@ponl.com + Date: Tue, 16 Jul 2002 08:24:00 +0100 + Message-Id: + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 17576] By: jhi on 2002/07/16 13:58:32 + Log: Subject: sprintf: fix and docs + From: Hugo van der Sanden + Date: Tue, 16 Jul 2002 16:01:12 +0100 + Message-Id: <200207161501.g6GF1CN00635@crypt.compulink.co.uk> + Branch: perl + ! pod/perlfunc.pod sv.c +____________________________________________________________________________ +[ 17575] By: jhi on 2002/07/16 13:47:11 + Log: Regen toc. + Branch: perl + ! pod/perltoc.pod +____________________________________________________________________________ +[ 17574] By: jhi on 2002/07/16 13:30:22 + Log: Update Changes. + Branch: perl + ! Changes patchlevel.h +____________________________________________________________________________ [ 17573] By: jhi on 2002/07/16 13:14:34 Log: Mac OS X dyld problem: try more direct action first. Branch: perl diff --git a/README.cygwin b/README.cygwin index c96347e..32c9a16 100644 --- a/README.cygwin +++ b/README.cygwin @@ -31,7 +31,7 @@ about this project can be found at: A recent net or commercial release of Cygwin is required. -At the time this document was last updated, Cygwin 1.3.10 was current. +At the time this document was last updated, Cygwin 1.3.12 was current. =head2 Cygwin Configuration diff --git a/ext/Encode/Encode.pm b/ext/Encode/Encode.pm index 4080238..635de30 100644 --- a/ext/Encode/Encode.pm +++ b/ext/Encode/Encode.pm @@ -552,7 +552,7 @@ buffer. Here is some sample code that does exactly this: while(defined(read $fh, $buffer, 256)){ # buffer may end in a partial character so we append $data .= $buffer; - $utf8 .= decode($encoding, $data, ENCODE::FB_QUIET); + $utf8 .= decode($encoding, $data, Encode::FB_QUIET); # $data now contains the unprocessed partial character } diff --git a/lib/Config.t b/lib/Config.t index c47519b..afc3c4a 100644 --- a/lib/Config.t +++ b/lib/Config.t @@ -42,7 +42,10 @@ ok(exists $Config{ccflags_nolargefiles}, "has ccflags_nolargefiles"); like(Config::myconfig(), qr/cc='$Config{cc}'/, "myconfig"); -like(Config::config_sh(), qr/cc='$Config{cc}'/, "config_sh"); +SKIP: { + skip "cc is tied in $^O", 1 if $^O eq 'MacOS'; + like(Config::config_sh(), qr/cc='$Config{cc}'/, "config_sh"); +} my $out = tie *STDOUT, 'FakeOut'; diff --git a/patchlevel.h b/patchlevel.h index ffca887..e7b6eed 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -79,7 +79,7 @@ #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT) static char *local_patches[] = { NULL - ,"DEVEL17573" + ,"DEVEL17596" ,NULL }; diff --git a/pod/perldebug.pod b/pod/perldebug.pod index b63bc4a..dafa572 100644 --- a/pod/perldebug.pod +++ b/pod/perldebug.pod @@ -84,9 +84,10 @@ where STDOUT may be redirected to. =item x [maxdepth] expr -Evaluates its expression in list context and dumps out the result -in a pretty-printed fashion. Nested data structures are printed out -recursively, unlike the real C function in Perl. +Evaluates its expression in list context and dumps out the result in a +pretty-printed fashion. Nested data structures are printed out +recursively, unlike the real C function in Perl. When dumping +hashes, you'll probably prefer 'x \%h' rather than 'x %h'. See L if you'd like to do this yourself. The output format is governed by multiple options described under diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 89b2937..ff7f63a 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -118,6 +118,21 @@ point format on OpenVMS Alpha, potentially breaking binary compatibility with external libraries or existing data. G_FLOAT is still available as a configuration option. The default on VAX (D_FLOAT) has not changed. +=head2 New Unicode Semantics (no more C) + +Previously in Perl 5.6 to use Unicode one would say "use utf8" and +then the operations (like string concatenation) were Unicode-aware +in that lexical scope. + +This was found to be an inconvenient interface, and in Perl 5.8 the +Unicode model has completely changed: now the "Unicodeness" is bound +to the data itself, and for most of the time "use utf8" is not needed +at all. The only remaining use of "use utf8" is when the Perl script +itself has been written in the UTF-8 encoding of Unicode. + +See L for the explanation of the current model, +and L for the current use of the utf8 pragma. + =head2 New Unicode Properties Unicode I are now supported. Scripts are similar to (and superior @@ -428,22 +443,6 @@ Anonymous temporary files are available without need to That is a literal undef, not an undefined value. -=item * - -The list form of C is now implemented for pipes (at least on UNIX): - - open($fh,"-|", 'cat', '/etc/motd') - -creates a pipe, and runs the equivalent of exec('cat', '/etc/motd') in -the child process. - -=item * - -If your locale environment variables (LANGUAGE, LC_ALL, LC_CTYPE, LANG) -contain the strings 'UTF-8' or 'UTF8' (case-insensitive matching), -the default encoding of your STDIN, STDOUT, and STDERR, and of -B, is UTF-8. - =back =head2 ithreads @@ -3385,10 +3384,6 @@ failures are expected: NDBM_File fails and ODBM_File just coredumps. -=head2 DJGPP does not build - -Unfortunately DJGPP build broke somewhere after 5.7.3. - =head2 FreeBSD built with ithreads coredumps reading large directories This is a known bug in FreeBSD 4.5's readdir_r(), it has been fixed in diff --git a/pod/perlport.pod b/pod/perlport.pod index 82551ff..fffb1bc 100644 --- a/pod/perlport.pod +++ b/pod/perlport.pod @@ -2077,6 +2077,7 @@ available at http://www.cpan.org/src/index.html BeOS Cygwin DG/UX + DOS DJGPP 1) DYNIX/ptx EPOC R5 FreeBSD @@ -2104,12 +2105,13 @@ available at http://www.cpan.org/src/index.html UNICOS/mk UTS VOS - Win95/98/ME/2K/XP 1) + Win95/98/ME/2K/XP 2) WinCE z/OS (OS/390) VM/ESA - 1) compilers: Borland, MinGW (GCC), VC6 + 1) in DOS mode either the DOS or OS/2 ports can be used + 2) compilers: Borland, MinGW (GCC), VC6 The following platforms worked with the previous releases (5.6 and 5.7), but we did not manage either to fix or to test these in time @@ -2131,12 +2133,6 @@ Known to be broken for 5.8.0 (but 5.6.1 and 5.7.2 can be used): AmigaOS -Known to be broken for 5.8.0 (but 5.6.1 and 5.7.3 can be used): - - DOS DJGPP 1) - - 1) in DOS mode either the DOS or OS/2 ports can be used - The following platforms have been known to build Perl from source in the past (5.005_03 and earlier), but we haven't been able to verify their status for the current release, either because the diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 96f4f79..e2a191f 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -455,24 +455,25 @@ EXPR, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL, socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST, sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH, splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split -/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR, -sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, -study, sub NAME BLOCK, sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub -NAME (PROTO) : ATTRS BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr -EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall -LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen -FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET, -sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE, -system LIST, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, -syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell -FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied -VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate -EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef -EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE, -unshift ARRAY,LIST, use Module VERSION LIST, use Module VERSION, use Module -LIST, use Module, use VERSION, utime LIST, values HASH, vec -EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write -FILEHANDLE, write EXPR, write, y/// +/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format +parameter index, flags, vector flag, (minimum) width, precision, or maximum +width, size, sqrt EXPR, sqrt, srand EXPR, srand, stat FILEHANDLE, stat +EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME (PROTO) BLOCK, +sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr +EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr +EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen +FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread +FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek +FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite +FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, +syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie +VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate +FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, +ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack +TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST, +use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST, +values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn +LIST, write FILEHANDLE, write EXPR, write, y/// =back @@ -5289,6 +5290,8 @@ I =item IEEE-format Floating Point Default on OpenVMS Alpha +=item New Unicode Semantics (no more C) + =item New Unicode Properties =item REF(...) Instead Of SCALAR(...) @@ -16005,9 +16008,9 @@ MSGNUM ] ), delete ( MSGNUM ), reset (), quit () =item Functions -Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->source_verify( { -0 | 1 } );, $p->hires( { 0 | 1 } );, $p->bind($local_addr);, $p->ping($host -[, $timeout]);, $p->open($host);, $p->close();, pingecho($host [, +Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [, +$timeout]);, $p->source_verify( { 0 | 1 } );, $p->hires( { 0 | 1 } );, +$p->bind($local_addr);, $p->open($host);, $p->close();, pingecho($host [, $timeout]); =back @@ -16016,6 +16019,8 @@ $timeout]); =item NOTES +=item INSTALL + =item AUTHORS =item COPYRIGHT diff --git a/sv.c b/sv.c index 9e3d2a0..2c31193 100644 --- a/sv.c +++ b/sv.c @@ -5884,28 +5884,18 @@ screamer2: /* Accomodate broken VAXC compiler, which applies U8 cast to * both args of ?: operator, causing EOF to change into 255 */ -#ifdef DJGPP /* This is basically undoing #17270 for DJGPP. See below. */ - if (cnt) -#else if (cnt > 0) -#endif - { - i = (U8)buf[cnt - 1]; - } - else { + i = (U8)buf[cnt - 1]; + else i = EOF; - } } -#ifndef DJGPP /* This is basically undoing #17270 for DJGPP. See above.*/ - if (cnt > 0) -#endif - { - if (append) - sv_catpvn(sv, (char *) buf, cnt); - else - sv_setpvn(sv, (char *) buf, cnt); - } + if (cnt < 0) + cnt = 0; /* we do need to re-set the sv even when cnt <= 0 */ + if (append) + sv_catpvn(sv, (char *) buf, cnt); + else + sv_setpvn(sv, (char *) buf, cnt); if (i != EOF && /* joy */ (!rslen || diff --git a/t/op/glob.t b/t/op/glob.t index 68f5850..d03d75f 100755 --- a/t/op/glob.t +++ b/t/op/glob.t @@ -17,6 +17,11 @@ elsif ($^O eq 'VMS') { map { $files{lc($_)}++ } <[.op]*>; map { s/;.*$//; delete $files{lc($_)}; } split /[\n]/, `directory/noheading/notrailing/versions=1 [.op]`, } +elsif ($^O eq 'MacOS') { + @oops = @ops = <:op:*>; + map { $files{$_}++ } <:op:*>; + map { delete $files{$_} } split /[\s\n]/, `echo :op:\xc5`; +} else { map { $files{$_}++ } ; map { delete $files{$_} } split /[\s\n]/, `echo op/*`; @@ -27,16 +32,23 @@ if (keys %files) { print $/ eq "\n" ? "ok 2\n" : "not ok 2\n"; -while () { - $not = "not " unless $_ eq shift @ops; - $not = "not at all " if $/ eq "\0"; +if ($^O eq 'MacOS') { + while () { + $not = "not " unless $_ eq shift @ops; + $not = "not at all " if $/ eq "\0"; + } +} else { + while () { + $not = "not " unless $_ eq shift @ops; + $not = "not at all " if $/ eq "\0"; + } } print "${not}ok 3\n"; print $/ eq "\n" ? "ok 4\n" : "not ok 4\n"; # test the "glob" operator -$_ = "op/*"; +$_ = $^O eq 'MacOS' ? ":op:*" : "op/*"; @glops = glob $_; print "@glops" eq "@oops" ? "ok 5\n" : "not ok 5\n"; diff --git a/utils/perlbug.PL b/utils/perlbug.PL index 0fca884..4a1d335 100644 --- a/utils/perlbug.PL +++ b/utils/perlbug.PL @@ -1242,7 +1242,7 @@ by Gurusamy Sarathy (Egsar@activestate.comE), Tom Christiansen (Etchrist@perl.comE), Nathan Torkington (Egnat@frii.comE), Charles F. Randall (Ecfr@pobox.comE), Mike Guy (Emjtg@cam.a.ukE), Dominic Dunlop (Edomo@computer.orgE), -Hugo van der Sanden (Ehv@crypt0.demon.co.ukE), +Hugo van der Sanden (Ehv@crypt.org), Jarkko Hietaniemi (Ejhi@iki.fiE), Chris Nandor (Epudge@pobox.comE), Jon Orwant (Eorwant@media.mit.eduE, and Richard Foley (Erichard@rfi.netE).