From: millert Date: Thu, 6 Apr 2000 17:03:22 +0000 (+0000) Subject: perl-5.6.0 + local changes X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=e2e5c5d36e4398ba94879f0a31b0307421edcfdb;p=openbsd perl-5.6.0 + local changes --- diff --git a/gnu/usr.bin/perl/Changes b/gnu/usr.bin/perl/Changes index 00a38d5eeba..69498211964 100644 --- a/gnu/usr.bin/perl/Changes +++ b/gnu/usr.bin/perl/Changes @@ -1,11 +1,9 @@ -Please note: This file provides a summary of significant changes -between versions and sub-versions of Perl, not necessarily a complete -list of each modification. If you'd like more detailed information, -please consult the comments in the patches on which the relevant -release of Perl is based. (Patches can be found on any CPAN -site, in the .../src/5.0 directory for full version releases, -or in the .../src/5/0/unsupported directory for sub-version -releases.) +Please note: This file provides a complete, temporally ordered log of +changes that went into every version of Perl. If you'd like more +detailed information, please consult the comments in the individual +patches posted to the perl5-porters mailing list. Patches for each +individual change may also be obtained through ftp and rsync--see +perlhack.pod for the details. --------------- @@ -14,46 +12,63 @@ releases.) To give due honor to those who have made Perl what is is today, here are some of the more common names in the Changes file, and their -current addresses (as of July 1998): +current addresses (as of February 2000): Gisle Aas - Abigail + Abigail Kenneth Albanowski Russ Allbery + Brad Appleton + Greg Bacon + Robin Barker + Vishal Bhatia Spider Boardman Tom Christiansen + Mark-Jason Dominus + Jan Dubois + Dominic Dunlop + Eric Fifer Hallvard B Furuseth M. J. T. Guy Jarkko Hietaniemi + Tom Hughes Nick Ing-Simmons Andreas Koenig + Douglas Lankshear Doug MacEachern - Paul Marquess + Raphael Manfredi + Paul Marquess Stephen McCamant - Laszlo Molnar + Laszlo Molnar Hans Mulder + Chris Nandor Matthias Neeracher Jeff Okamoto Ulrich Pfeifer Tom Phoenix Joshua Pritikin + Peter Prymmer Norbert Pueschel Dean Roehrich Hugo van der Sanden + Michael G Schwern Roderick Schertler Kurt D. Starsinic + Benjamin Stuhl Dan Sugalski + Nathan Torkington Larry W. Virden + Johan Vromans Ilya Zakharevich And the Keepers of the Patch Pumpkin: - Charles Bailey - Graham Barr + Charles Bailey + Graham Barr Malcolm Beattie Tim Bunce Andy Dougherty - Gurusamy Sarathy + Gurusamy Sarathy Chip Salzenberg And, of course, the Author of Perl: @@ -73,19264 +88,27343 @@ indicator: !> merged changes (from elsewhere) ----------------- -Version 5.005_03 Third maintenance release of 5.005 ----------------- +-------------- +Version v5.6.0 +-------------- ____________________________________________________________________________ -[ 3198] By: gbarr on 1999/03/28 22:21:49 - Log: redo #3193 which #3195 undid - Branch: maint-5.005/perl - ! pod/perlhist.pod +[ 5899] By: gsar on 2000/03/23 05:39:11 + Log: update patchlevel.h, Changes; regen perltoc.pod + Branch: perl + ! Changes patchlevel.h pod/perlhist.pod pod/perltoc.pod ____________________________________________________________________________ -[ 3197] By: gbarr on 1999/03/28 21:04:04 - Log: Updated CPAN.pm to 1.48 - Branch: maint-5.005/perl - ! lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm +[ 5898] By: jhi on 2000/03/23 05:36:47 + Log: Integrate with Sarathy. + Branch: cfgperl + !> README.machten Todo Todo-5.6 pod/perldebug.pod + !> pod/perldelta.pod pod/perldiag.pod pod/perlport.pod sv.c ____________________________________________________________________________ -[ 3196] By: gbarr on 1999/03/28 17:21:27 - Log: AIX hints update from Jarkko - Branch: maint-5.005/perl - ! hints/aix.sh +[ 5897] By: gsar on 2000/03/23 05:31:12 + Log: revise perldelta for more optimal ordering, minor Todo + rearrangments + Branch: perl + ! README.machten Todo Todo-5.6 pod/perldelta.pod + ! pod/perldiag.pod ____________________________________________________________________________ -[ 3195] By: jhi on 1999/03/28 16:42:54 - Log: Update perlhist on 5_03. - Branch: maint-5.005/perl - ! pod/perlhist.pod +[ 5896] By: gsar on 2000/03/23 05:30:15 + Log: pod updates (from Tom Christiansen) + Branch: perl + ! pod/perldebug.pod pod/perlport.pod ____________________________________________________________________________ -[ 3193] By: gsar on 1999/03/28 09:46:29 - Log: =end needs matching =begin (or installhtml will croak) - Branch: maint-5.005/perl - ! pod/perlhist.pod +[ 5895] By: gsar on 2000/03/23 02:33:33 + Log: fix misplaced OP refcount for eval root + Branch: perl + ! sv.c ____________________________________________________________________________ -[ 3192] By: gsar on 1999/03/28 09:10:15 - Log: update pod/Makefile - Branch: maint-5.005/perl - ! pod/Makefile +[ 5894] By: jhi on 2000/03/22 21:37:03 + Log: Integrate with Sarathy. + Branch: cfgperl + +> README.machten + !> MAINTAIN MANIFEST README.win32 ext/DynaLoader/dlutils.c + !> ext/IO/lib/IO/File.pm hints/machten.sh pod/perl.pod + !> pod/perldelta.pod pod/perlsyn.pod t/io/fs.t win32/Makefile + !> win32/makefile.mk ____________________________________________________________________________ -[ 3191] By: gsar on 1999/03/28 08:43:47 - Log: integrate change#3180 from mainline - - fix bogus OPf_REF context for the BLOCK in C - (sometimes caused bizarreness in the BLOCK) - Branch: maint-5.005/perl - +> t/op/grep.t - !> MANIFEST op.c +[ 5893] By: gsar on 2000/03/22 21:08:34 + Log: unretract change#5871 (Dominic Dunlop reports machten is better + with it than without) + Branch: perl + ! hints/machten.sh ____________________________________________________________________________ -[ 3190] By: gsar on 1999/03/28 08:29:51 - Log: integrate change#3147 from mainline - - warn about newfangled vfork() caveats - Branch: maint-5.005/perl - ! Configure +[ 5892] By: gsar on 2000/03/22 20:37:44 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure config_h.SH hints/machten.sh hints/solaris_2.sh + !> hints/unicosmk.sh ____________________________________________________________________________ -[ 3189] By: gsar on 1999/03/28 08:22:00 - Log: various pod niggles - Branch: maint-5.005/perl - ! pod/perl.pod pod/perldebug.pod pod/perldiag.pod - ! pod/perlfunc.pod pod/perlhist.pod +[ 5891] By: gsar on 2000/03/22 20:04:01 + Log: perlsyn.pod nit (from Tom Christiansen) + Branch: perl + ! pod/perlsyn.pod ____________________________________________________________________________ -[ 3188] By: gsar on 1999/03/28 07:37:43 - Log: integrate binary compatible variant of change#3098 from mainline - Branch: maint-5.005/perl - ! op.c perl.h t/base/lex.t toke.c +[ 5890] By: gsar on 2000/03/22 19:43:22 + Log: typo in comment + Branch: perl + ! ext/DynaLoader/dlutils.c ____________________________________________________________________________ -[ 3187] By: gsar on 1999/03/28 07:31:16 - Log: regularize CAPI declarations (CAPI extensions now build under - the Borland compiler) - Branch: maint-5.005/perl - ! win32/GenCAPI.pl +[ 5889] By: gsar on 2000/03/22 19:41:46 + Log: add README.machten (from Dominic Dunlop) + Branch: perl + + README.machten + ! MAINTAIN MANIFEST pod/perl.pod win32/Makefile + ! win32/makefile.mk ____________________________________________________________________________ -[ 3186] By: gsar on 1999/03/28 07:26:33 - Log: ensure XS_LOCKS stuff happens *before* XSUB is entered under - -DPERL_CAPI - Branch: maint-5.005/perl - ! XSlock.h win32/GenCAPI.pl win32/Makefile win32/makefile.mk +[ 5888] By: gsar on 2000/03/22 19:29:47 + Log: makefile nits + Branch: perl + ! win32/Makefile win32/makefile.mk ____________________________________________________________________________ -[ 3185] By: gbarr on 1999/03/28 06:37:41 - Log: integrate change #2846 from mainline - - a modified version of suggested patch for pack template 'Z'; added docs - From: "Valeriy E. Ushakov" - Date: Mon, 16 Jun 1997 03:00:31 +0400 (MSD) - Message-ID: <%lOHpzIuGV@snark.ptc.spbu.ru> - Subject: lack of pack/unpack letter with useful symmetry for C null delimited strings - Branch: maint-5.005/perl - ! pod/perldelta.pod pod/perlfunc.pod pp.c - !> t/op/pack.t +[ 5887] By: gsar on 2000/03/22 19:26:03 + Log: add note about lib/open3.t#22 failure on Win2K + Branch: perl + ! README.win32 pod/perldelta.pod ____________________________________________________________________________ -[ 3184] By: gbarr on 1999/03/28 06:35:50 - Log: integrate change # 3160 from mainline - - better description of OP_UNSTACK (s/unstack/iteration finalizer/) - Branch: maint-5.005/perl - ! opcode.h opcode.pl +[ 5886] By: gsar on 2000/03/22 19:14:20 + Log: io/fs.t tweaks for Windows 2000 + Branch: perl + ! t/io/fs.t ____________________________________________________________________________ -[ 3182] By: gbarr on 1999/03/28 03:40:28 - Log: Integrate changes #3067 and #3106 from mainline - - exempt $foo::a,$foo::b from warnings only if sort() was seen in package foo - From: Graham Barr - Date: Wed, 3 Mar 1999 17:23:56 -0600 - Message-ID: <19990303172356.F7442@dal.asp.ti.com> - Subject: Re: 'use strict' doesn't work for one-letter variables - - change#3067 failed package.t due to needless creation of $a and $b; - fixed to do that only for C, not C - Branch: maint-5.005/perl - ! gv.c op.c t/pragma/warn-1global +[ 5885] By: gsar on 2000/03/22 18:41:50 + Log: make unloading of extension shared objects (change#5381) a build + option (use "Configure -Accflags=-DDL_UNLOAD_ALL_AT_EXIT" to enable) + Branch: perl + ! ext/DynaLoader/dlutils.c pod/perldelta.pod ____________________________________________________________________________ -[ 3179] By: gsar on 1999/03/28 02:14:04 - Log: fix thread segfault when passing large number of arguments to child - a la Cnew($foo, 1..1000)> - Branch: maint-5.005/perl - ! ext/Thread/Thread.xs t/lib/thread.t +[ 5884] By: gsar on 2000/03/22 18:16:45 + Log: avoid loading both XSLoader and DynaLoader (avoids dl_error() + redefinition warnings when statically linked) + Branch: perl + ! ext/IO/lib/IO/File.pm ____________________________________________________________________________ -[ 3178] By: gbarr on 1999/03/28 01:39:23 - Log: fix $Config{'usethreads'} typo in perlthrtut - - From: Ian Maloney - Date: Thu, 25 Mar 1999 16:40:14 +0100 (MET) - Message-Id: <199903251540.QAA02439@wsblob.> - Subject: perlthrtut documentation error - Branch: maint-5.005/perl - ! pod/perlthrtut.pod +[ 5883] By: jhi on 2000/03/22 17:45:01 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/lib/thr5005.t t/op/64bitint.t t/op/nothr5005.t + - t/lib/thread.t t/op/64bit.t t/op/nothread.t + !> Configure MAINTAIN MANIFEST Todo-5.6 ext/POSIX/Makefile.PL + !> lib/ExtUtils/Liblist.pm lib/ExtUtils/xsubpp + !> lib/File/Compare.pm pod/perldelta.pod universal.c util.c + !> utils/h2xs.PL utils/perlbug.PL win32/Makefile + !> win32/makefile.mk +____________________________________________________________________________ +[ 5882] By: jhi on 2000/03/22 17:16:27 + Log: Metaconfigify #5881. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/installdirs/inc_version_list.U ____________________________________________________________________________ -[ 3177] By: gbarr on 1999/03/28 01:09:59 - Log: Integrate #2910 from mainline - - slurping an empty file should return '' rather than undef, with - commensurate effects on ARGV processing - Branch: maint-5.005/perl - ! pod/perldelta.pod pp_hot.c sv.h - !> t/io/argv.t +[ 5881] By: gsar on 2000/03/22 17:04:01 + Log: avoid including things that aren't directories in inc_version_list + (from Robin Barker) + Branch: perl + ! Configure ____________________________________________________________________________ -[ 3176] By: gbarr on 1999/03/28 00:00:30 - Log: Integrate relevant doc changes from mainline - Branch: maint-5.005/perl - !> (integrate 34 files) +[ 5880] By: gsar on 2000/03/22 16:55:42 + Log: avoid File::Compare warning when passed handles (from Nick + Ing-Simmons) + Branch: perl + ! lib/File/Compare.pm ____________________________________________________________________________ -[ 3175] By: gbarr on 1999/03/27 19:20:32 - Log: Integrated #2352 and #2397 from mainline - - Implement $^C to allow perl access to -c flag - I think this - was agreed once... - - Update docs and English.pm for $^C - Branch: maint-5.005/perl - ! gv.c mg.c - !> lib/English.pm +[ 5879] By: jhi on 2000/03/22 16:48:33 + Log: Retract #5871. + Branch: cfgperl + ! hints/machten.sh ____________________________________________________________________________ -[ 3174] By: gbarr on 1999/03/27 18:21:01 - Log: Update Copyright year - Branch: maint-5.005/perl - ! EXTERN.h INTERN.h README av.c av.h cop.h cv.h deb.c doio.c - ! doop.c dump.c form.h gv.c gv.h handy.h hv.c hv.h mg.c mg.h - ! op.c op.h perl.h perly.y pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c - ! regcomp.c regexec.c run.c scope.c sv.c sv.h toke.c util.c - ! util.h +[ 5878] By: gsar on 2000/03/22 16:29:37 + Log: RM600-svr4 tweaks (from Frank Ridderbusch + ) + Branch: perl + ! ext/POSIX/Makefile.PL lib/ExtUtils/Liblist.pm ____________________________________________________________________________ -[ 3173] By: gbarr on 1999/03/27 18:19:47 - Log: Update Test.pm to VERSION 1.122 from CPAN - Branch: maint-5.005/perl - ! lib/Test.pm +[ 5877] By: gsar on 2000/03/22 15:38:49 + Log: save RE context when calling __WARN__ and __DIE__ hooks; + add missing stack-of-stacks logic for new code that came + in with lexical warnings (this fixes coredumps from + -Mdiagnostics when the warnings happens to come from within + the RE engine) + Branch: perl + ! util.c ____________________________________________________________________________ -[ 3154] By: jhi on 1999/03/24 21:40:51 - Log: Reword the shared library search path (LD_LIBRARY_PATH) info - based on suggestions from Andy Dougherty. - Branch: maint-5.005/perl - ! INSTALL +[ 5876] By: gsar on 2000/03/22 15:02:59 + Log: missing pieces in perldelta + Branch: perl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 3146] By: jhi on 1999/03/24 09:20:14 - Log: Bring in changes #2808 and #2812 (from mainline perl) - that enhance the perlbug checklist. - Branch: maint-5.005/perl - ! utils/perlbug.PL +[ 5875] By: gsar on 2000/03/22 14:46:24 + Log: rename tests to more appropriate names + Branch: perl + +> t/lib/thr5005.t t/op/64bitint.t t/op/nothr5005.t + - t/lib/thread.t t/op/64bit.t t/op/nothread.t + ! MAINTAIN MANIFEST pod/perldelta.pod ____________________________________________________________________________ -[ 3130] By: jhi on 1999/03/23 22:02:23 - Log: Don't use config.msg to remind about the - LD_LIBRARY_PATH because Makefile.SH takes - care of that. - - Use shrplib in DEC O^W^Digital U^W^WTru64 UNIX. - This used to be the default but in some MT or another it - was dropped because of some transient error or another. - Branch: maint-5.005/perl - ! Configure hints/dec_osf.sh +[ 5874] By: jhi on 2000/03/22 14:32:57 + Log: Make the no-luck-on-uselongdouble warning more visible. + Branch: cfgperl + ! hints/solaris_2.sh ____________________________________________________________________________ -[ 3122] By: jhi on 1999/03/19 21:12:14 - Log: Describe the new Benchmark feature in more detail. +[ 5873] By: gsar on 2000/03/22 14:28:56 + Log: backout change#5708; fixups for behavior of recently added -a switch; + support -k and -m switches in h2xs (from Hugo van der Sanden) + Branch: perl + ! lib/ExtUtils/xsubpp utils/h2xs.PL +____________________________________________________________________________ +[ 5872] By: gsar on 2000/03/22 14:21:20 + Log: remove outdated notes in makefiles + Branch: perl + ! win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 5871] By: jhi on 2000/03/22 14:17:40 + Log: Disable SysV shm and msg even more. Branch: cfgperl - ! pod/perldelta.pod - Branch: maint-5.005/perl - ! pod/perldelta.pod + ! hints/machten.sh ____________________________________________________________________________ -[ 3121] By: jhi on 1999/03/19 08:16:12 - Log: AVAILABILITY tuning. +[ 5870] By: jhi on 2000/03/22 14:16:54 + Log: Augment #5865. Branch: cfgperl - ! pod/perl.pod - Branch: maint-5.005/perl - ! pod/perl.pod + ! hints/unicosmk.sh ____________________________________________________________________________ -[ 3119] By: jhi on 1999/03/17 14:33:43 - Log: More Apollo fixes. - Branch: maint-5.005/perl - ! README.apollo hints/apollo.sh t/lib/io_udp.t +[ 5869] By: gsar on 2000/03/22 14:07:27 + Log: perlbug -ok shouldn't prompt (from Paul Moore + ) + Branch: perl + ! utils/perlbug.PL ____________________________________________________________________________ -[ 3118] By: jhi on 1999/03/16 17:23:39 - Log: Nada. - Branch: maint-5.005/perl - ! README.apollo +[ 5868] By: gsar on 2000/03/22 13:54:27 + Log: integrate cfgperl contents into mainline + Branch: perl + ! Todo-5.6 + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH hints/dec_osf.sh hints/openbsd.sh + !> hints/solaris_2.sh hints/unicosmk.sh pod/perldelta.pod + !> pod/perlport.pod win32/config_H.bc win32/config_H.gc + !> win32/config_H.vc ____________________________________________________________________________ -[ 3117] By: jhi on 1999/03/16 17:18:49 - Log: Apollo DomainOS AVAILABILITY. +[ 5867] By: jhi on 2000/03/22 05:25:40 + Log: OpenBSD pthreadness fixes from Tom Christiansen. Branch: cfgperl - ! pod/perl.pod - Branch: maint-5.005/perl - ! pod/perl.pod + ! hints/openbsd.sh ____________________________________________________________________________ -[ 3116] By: jhi on 1999/03/16 17:14:00 - Log: Apollo DomainOS patch - From: Johann Klasek - Subject: Re: DomainPerl - Date: Tue, 16 Mar 1999 17:46:32 +0100 - Message-ID: <19990316174632.A19759@euklid.auto.tuwien.ac.at> - Branch: maint-5.005/perl - + README.apollo apollo/netinet/in.h - ! MANIFEST hints/apollo.sh +[ 5866] By: gsar on 2000/03/22 04:18:39 + Log: UMRs in universal.c (SvCUR() may not be there unless SvPOK()) + Branch: perl + ! universal.c ____________________________________________________________________________ -[ 3115] By: jhi on 1999/03/16 14:23:54 - Log: From: Paul Marquess - To: Gurusamy Sarathy , - Graham Barr - Cc: Perl5 Porters , - "Paul.Marquess" - Subject: [PATCH 5.005_56 & 5.005_03_T6] Upgrade DB_File to version 1.65 - Date: Sun, 14 Mar 1999 14:43:57 -0000 - Message-Id: <199903141841.NAA17040@defender.perl.org> - Branch: maint-5.005/perl - ! ext/DB_File/Changes ext/DB_File/DB_File.pm - ! ext/DB_File/DB_File.xs ext/DB_File/typemap +[ 5865] By: jhi on 2000/03/21 21:38:20 + Log: The SysV shm*() are in libc but unimplemented. + Branch: cfgperl + ! hints/unicosmk.sh ____________________________________________________________________________ -[ 3114] By: jhi on 1999/03/16 12:42:20 - Log: Mention Rhapsody in 5.005_5X perldelta, - and in Rhapsody and Netware in 5.005_0X and 5.005_5X - *planned* AVAILABILITY. +[ 5864] By: jhi on 2000/03/21 21:30:02 + Log: s/setgropus/setgroups/; # detypo in a comment Branch: cfgperl - ! pod/perl.pod pod/perldelta.pod - Branch: maint-5.005/perl - ! pod/perl.pod + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc + Branch: metaconfig + ! U/modified/Getfile.U U/modified/d_flexfnam.U + ! U/modified/groupstype.U ____________________________________________________________________________ -[ 3113] By: jhi on 1999/03/16 10:38:53 - Log: perldelta niggling. +[ 5863] By: jhi on 2000/03/21 20:25:40 + Log: Add supported platforms. Branch: cfgperl - ! pod/perldelta.pod - Branch: maint-5.005/perl - ! pod/perldelta.pod + ! pod/perlport.pod ____________________________________________________________________________ -[ 3111] By: jhi on 1999/03/16 10:28:10 - Log: AVAILABILITY update: still mention PowerUX, - Novell Netware now has sources available. +[ 5862] By: jhi on 2000/03/21 19:19:04 + Log: Integrate with Sarathy. Branch: cfgperl - ! pod/perl.pod - Branch: maint-5.005/perl - ! pod/perl.pod + !> makedef.pl ____________________________________________________________________________ -[ 3105] By: jhi on 1999/03/12 15:54:57 - Log: Recognize the NetBSD packages collection. - Branch: maint-5.005/perl - ! hints/netbsd.sh +[ 5861] By: gsar on 2000/03/21 19:07:13 + Log: add missing bincompat symbols to export list + Branch: perl + ! makedef.pl ____________________________________________________________________________ -[ 3104] By: jhi on 1999/03/12 09:07:04 - Log: From: pvhp@forte.com (Peter Prymmer) - To: jhi@iki.fi, perl-mvs@perl.org, perlbug@perl.com - Subject: [PATCH MT6,_56] was Re: Not OK: perl 5.00503 +MAINT_TRIAL_6 on os390 06.00 (UNINSTALLED) - Date: Thu, 11 Mar 99 14:24:54 PST - Message-Id: <9903112224.AA24346@forte.com> - Branch: maint-5.005/perl - ! README.os390 t/lib/posix.t +[ 5860] By: jhi on 2000/03/21 18:59:39 + Log: Disallow using too old gcc in {Tru64,Digital UNIX,DEC OSF/1}. + (Even gcc 2.95 doesn't seem to be working 100%.) + Branch: cfgperl + ! hints/dec_osf.sh pod/perldelta.pod ____________________________________________________________________________ -[ 3102] By: jhi on 1999/03/10 11:01:20 - Log: From: pvhp@forte.com (Peter Prymmer) - To: perl5-porters@perl.org - Subject: [5.005_03-MT6]Patch: time passes - Date: Tue, 9 Mar 99 18:42:17 PST - Message-Id: <9903100242.AA29057@forte.com> - Branch: maint-5.005/perl - ! perl.c +[ 5859] By: jhi on 2000/03/21 16:36:27 + Log: Nit for #5802 from Robin Barker. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Getfile.U ____________________________________________________________________________ -[ 3101] By: jhi on 1999/03/10 10:30:15 - Log: From: Mark-Jason Dominus - To: perl5-porters@perl.com - Subject: Minor fix to perlfunc.pod - Date: Mon, 08 Mar 1999 20:05:53 -0500 - Message-ID: <19990309010553.13757.qmail@plover.com> - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 5858] By: jhi on 2000/03/21 14:34:25 + Log: Be more lenient in the case libsunmath cannot be found. + Branch: cfgperl + ! hints/solaris_2.sh ____________________________________________________________________________ -[ 3094] By: jhi on 1999/03/06 16:16:15 - Log: From: Mark Kettenis - To: jhi@iki.fi - Subject: Oops - Date: Sat, 6 Mar 1999 17:15:35 +0100 (CET) - Message-Id: <199903061615.RAA00207@delius.kettenis.nl> - Branch: maint-5.005/perl - ! README.hurd +[ 5857] By: jhi on 2000/03/21 14:14:38 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 27 files) ____________________________________________________________________________ -[ 3093] By: jhi on 1999/03/06 15:59:46 - Log: From: Mark Kettenis - To: jhi@iki.fi - Subject: New Hurd README - Date: Sat, 6 Mar 1999 16:46:12 +0100 (CET) - Message-Id: <199903061601.RAA00185@delius.kettenis.nl> - Branch: maint-5.005/perl - ! README.hurd +[ 5856] By: gsar on 2000/03/21 10:44:10 + Log: here lies RC3 + Branch: perl + ! Changes patchlevel.h pod/perlhist.pod ____________________________________________________________________________ -[ 3092] By: jhi on 1999/03/06 12:52:06 - Log: From: Paul_Green@stratus.com - To: perl5-porters@perl.org - Cc: jhi@iki.fi, Paul_Green@stratus.com - Subject: [PATCH 5.005_03-MAINT_TRIAL_6]: platform: vos -- updates to VOS port of Perl5 - Date: Fri, 5 Mar 1999 18:08:49 -0500 - Message-ID: <1D1A4EF7AD4DD211A80D00A0C9D7DB665A035A@exna1.stratus.com> - Branch: maint-5.005/perl - ! vos/config.h vos/config_h.SH_orig +[ 5855] By: gsar on 2000/03/21 10:05:42 + Log: clone awareness for change#5847 + Branch: perl + ! sv.c ____________________________________________________________________________ -[ 3091] By: jhi on 1999/03/06 12:42:21 - Log: From: Dan Sugalski - To: perl5-porters@perl.org, vmsperl@perl.org - Subject: [PATCH 5.005_03-MT6]VMS build patch - Date: Fri, 05 Mar 1999 12:36:19 -0800 - Message-Id: <3.0.6.32.19990305123619.02d326a0@ous.edu> - Branch: maint-5.005/perl - ! vms/subconfigure.com +[ 5854] By: gsar on 2000/03/21 09:30:50 + Log: regen win32/config* + Branch: perl + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc ____________________________________________________________________________ -[ 3090] By: gsar on 1999/03/06 04:40:03 - Log: integrate change#3089 from mainline - - tolerate CRs after options - Branch: maint-5.005/perl - !> perl.c +[ 5853] By: gsar on 2000/03/21 08:56:58 + Log: integrate cfgperl and vmsperl contents into mainline + Branch: perl + !> Configure Todo Todo-5.6 config_h.SH lib/File/Spec/VMS.pm + !> pod/perldelta.pod t/op/taint.t ____________________________________________________________________________ -[ 3086] By: gbarr on 1999/03/05 01:48:05 - Log: #3085 was a bit premature, this is MT6 as 2 files were - missing from MANIFEST - Branch: maint-5.005/perl - ! MANIFEST +[ 5852] By: gsar on 2000/03/21 06:08:20 + Log: README.mint tweaks (from Guido Flohr ) + Branch: perl + ! Changes README.mint ____________________________________________________________________________ -[ 3085] By: gbarr on 1999/03/05 01:41:06 - Log: Trial release 6 - Branch: maint-5.005/perl - ! Changes +[ 5851] By: gsar on 2000/03/21 06:06:44 + Log: make parenthetic warnings look consistent; make diagnostic on + "use 5.6" et al mention the alternate form; pod fixups + Branch: perl + ! gv.c op.c pod/perldelta.pod pod/perldiag.pod pp_ctl.c + ! t/comp/use.t t/pragma/strict-vars t/pragma/warn/op + ! t/pragma/warn/pp_hot t/pragma/warn/pp_sys toke.c universal.c + ! util.c ____________________________________________________________________________ -[ 3084] By: gbarr on 1999/03/05 01:34:07 - Log: Don't process - as a file in Errno_pm.PL - - From: Jarkko Hietaniemi - Date: Thu, 4 Mar 1999 13:29:23 +0200 (EET) - Message-ID: <14046.28307.561693.849859@alpha.hut.fi> - Subject: Re: maint-5.005 - Branch: maint-5.005/perl - ! ext/Errno/Errno_pm.PL +[ 5850] By: gsar on 2000/03/21 04:05:00 + Log: disable unused Windows code that won't run on Windows 95 + Branch: perl + ! win32/vmem.h ____________________________________________________________________________ -[ 3081] By: gsar on 1999/03/05 00:14:33 - Log: protect against doubled backslashes - Branch: maint-5.005/perl - ! ext/Errno/Errno_pm.PL +[ 5849] By: gsar on 2000/03/21 03:34:39 + Log: $File::Find::name doesn't reflect top level files + correctly (from Simon Cozens ) + Branch: perl + ! lib/File/Find.pm ____________________________________________________________________________ -[ 3080] By: gsar on 1999/03/04 23:37:20 - Log: pick up AIX hints from mainline - Branch: maint-5.005/perl - !> hints/aix.sh +[ 5848] By: gsar on 2000/03/21 02:46:01 + Log: test fails when sockets not available (from Yitzchak Scott-Thoennes) + Branch: perl + ! t/lib/io_unix.t ____________________________________________________________________________ -[ 3079] By: gsar on 1999/03/04 21:09:43 - Log: tweak cast and crew - Branch: maint-5.005/perl - ! Changes +[ 5847] By: gsar on 2000/03/21 00:09:09 + Log: under useithreads, PUSHLOOP must save PL_curpad for looking up + iterdata, since dounwind() may defer LEAVEs + Branch: perl + ! cop.h ____________________________________________________________________________ -[ 3078] By: gsar on 1999/03/04 21:03:04 - Log: update patchlevel, Changes - Branch: maint-5.005/perl - ! Changes README.win32 patchlevel.h - !> pod/perlhist.pod +[ 5846] By: jhi on 2000/03/20 23:54:37 + Log: Document the lib/io_multihomedt hang in 64-bit HP-Ux. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 3075] By: gsar on 1999/03/04 07:36:53 - Log: integrate changes#3037,3041 from mainline - - fix longstanding bug: searches for lexicals originating within eval'' - weren't stopping at the subroutine boundary correctly - -- - fix subtle bug in eval'' testsuite - Branch: maint-5.005/perl - !> op.c proto.h t/op/eval.t +[ 5845] By: jhi on 2000/03/20 23:45:24 + Log: detypo + Branch: cfgperl + ! t/op/taint.t ____________________________________________________________________________ -[ 3074] By: gsar on 1999/03/04 07:32:15 - Log: integrate change#3048 from mainline - - updated HP-UX notes from Jeff Okamoto - Branch: maint-5.005/perl - !> MANIFEST README.hpux +[ 5844] By: jhi on 2000/03/20 23:17:18 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/Dumpvalue.pm lib/User/pwent.pm lib/dumpvar.pl + !> lib/strict.pm op.c pod/perldata.pod pod/perldelta.pod + !> pod/perlfunc.pod pp.c t/io/pipe.t t/lib/charnames.t toke.c + !> utils/perlbug.PL ____________________________________________________________________________ -[ 3073] By: gsar on 1999/03/04 07:29:43 - Log: integrate changes#3014,3015,3021,3032,3034,3045 from mainline - - more "correct" utbuf for utime() - -- - avoid modifying readonly values from qw() - -- - ansify perlio.c, fix PerlIO-ish typos - -- - add README.hpux - -- - s/print STDERR/warn/ suggested by abigail@fnx.com; add $VERSION - -- - destroy PL_svref_mutex in perl_destruct() - Branch: maint-5.005/perl - +> README.hpux - !> MANIFEST doio.c ext/DynaLoader/dl_beos.xs - !> ext/DynaLoader/dl_cygwin32.xs iperlsys.h - !> lib/ExtUtils/MM_Unix.pm lib/Getopt/Std.pm perl.c perlio.c +[ 5843] By: gsar on 2000/03/20 22:14:35 + Log: add note about symbolic filehandles (from Johan Vromans) + Branch: perl + ! lib/strict.pm pod/perlfunc.pod ____________________________________________________________________________ -[ 3072] By: gsar on 1999/03/04 07:12:15 - Log: integrate changes#2978,2979 from mainline - - bring '*' prototype closer to how it behaves internally - -- - doc for change#2978 - Branch: maint-5.005/perl - +> t/lib/fatal.t - !> MANIFEST lib/Fatal.pm op.c pod/perlsub.pod t/comp/proto.t +[ 5842] By: gsar on 2000/03/20 21:59:51 + Log: perlbugtron flags in perlbug (from Richard Foley); eliminate duplicate + code + Branch: perl + ! utils/perlbug.PL ____________________________________________________________________________ -[ 3071] By: gsar on 1999/03/04 07:05:50 - Log: integrate changes#2919,2920,2921,2928,2932,2933 from mainline - - applied suggested patch, with several language/readability tweaks - From: Ilya Zakharevich - Date: Fri, 29 Jan 1999 00:25:02 -0500 - Message-ID: <19990129002502.C2898@monk.mps.ohio-state.edu> - Subject: Re: [PATCH 5.005_*] Better parsing docs - -- - tweak READ() docs to mention $buffer must be altered by reference - -- - use New() et al., rather than safemalloc() et al. - From: jan.dubois@ibm.net (Jan Dubois) - Date: Fri, 29 Jan 1999 23:27:22 +0100 - Message-ID: <36bd33f2.51029616@smtp1.ibm.net> - Subject: [PATCH _03-MT5] POSIX.xs memory API - -- - allow the Carp routines to pass through exception objects - -- - clarify what a "line" is - -- - From: "J. van Krieken" - Date: Thu, 4 Feb 1999 17:25:25 +0100 (MET) - Message-Id: <199902041625.RAA14489@atcmpg.ATComputing.nl> - Subject: s2p incorrectly handles hold space commands - Branch: maint-5.005/perl - !> ext/POSIX/POSIX.xs lib/Carp.pm pod/perlfunc.pod pod/perlop.pod - !> pod/perltie.pod pod/perlvar.pod x2p/s2p.PL +[ 5841] By: gsar on 2000/03/20 21:06:01 + Log: more sleep needed from slow systems (from Peter Haworth) + Branch: perl + ! t/io/pipe.t ____________________________________________________________________________ -[ 3070] By: gsar on 1999/03/04 06:43:57 - Log: integrate changes#2748,2753,2754,2819,2824,2855,2866,2867,2869,2885,2888,2889 - from mainline - - From: "Jonathan I. Kamens" - Date: Thu, 3 Dec 1998 15:10:17 -0500 - Message-Id: <199812032010.PAA09692@jik.shore.net> - Subject: sample checksum code in "perlfunc" man page is wrong - -- - Todo tweaks - -- - Todo updates from Andy Dougherty - -- - avoid garbage in db->dirbuf - From: Masahiro KAJIURA - Date: Sat, 05 Dec 1998 14:14:54 +0900 - Message-Id: <199812050514.OAA23268@toshiba.co.jp> - Subject: SDBM bug - -- - tweak doc on bitwise ops - -- - applied suggested patch; added tests - From: Adam Krolnik - Date: Sat, 12 Dec 98 15:30:18 -0600 - Message-Id: <9812122130.AA03717@gypsy.eng.cyrix.com> - Subject: Range operation doesn't handle IV_MAX - -- - display full pathname of unreadable files - -- - av_extend() doc tweak from Jan Dubois - -- - update win32/pod.mak - -- - note how to find REG_INFTY limit - -- - add note about test-notty target - -- - tweak PERL_STRICT_CR notes - Branch: maint-5.005/perl - !> Porting/pumpkin.pod README.win32 Todo Todo-5.005 - !> ext/SDBM_File/sdbm/sdbm.c pod/perldelta.pod pod/perlfunc.pod - !> pod/perlguts.pod pod/perlop.pod pod/perlre.pod pp_ctl.c - !> t/op/range.t utils/perldoc.PL win32/pod.mak +[ 5840] By: gsar on 2000/03/20 21:04:42 + Log: typo in change#5839 + Branch: perl + ! lib/Dumpvalue.pm ____________________________________________________________________________ -[ 3069] By: gsar on 1999/03/04 06:02:29 - Log: integrate change#2747 from mainline - - typos in Pod/Text.pm - Branch: maint-5.005/perl - !> lib/Pod/Text.pm +[ 5839] By: gsar on 2000/03/20 21:03:14 + Log: make dumpvar.pl recognize emptyness in arrays (from Matthias Urlichs + ); fix up duplicate code in Dumpvalue.pm + Branch: perl + ! lib/Dumpvalue.pm lib/dumpvar.pl ____________________________________________________________________________ -[ 3059] By: jhi on 1999/03/03 22:46:43 - Log: Document HP-UX 11 Y2K patch effect, based on - - From: "Richard L. England" - To: perlbug@perl.com - CC: "England, Richard" - Subject: test io/fs.t number 18 fails on HPUX 11.0 when Y2K patch installed. - Date: Fri, 26 Feb 1999 15:35:49 -0800 - Message-ID: <36D72FD4.4136C84F@mentorg.com> - Branch: maint-5.005/perl - ! INSTALL +[ 5838] By: gsar on 2000/03/20 20:53:25 + Log: mention handle autovivification in perldata (from Johan Vromans) + Branch: perl + ! lib/User/pwent.pm pod/perldata.pod ____________________________________________________________________________ -[ 3057] By: jhi on 1999/03/03 21:42:22 - Log: The *symbols patch (for Kurt's h2ph fixes) haunted us in AIX. - Branch: maint-5.005/perl - ! Configure +[ 5837] By: gsar on 2000/03/20 20:37:42 + Log: change#5797 didn't do the right thing for "\xff\N{WHITE SMILING FACE}" + Branch: perl + ! t/lib/charnames.t toke.c ____________________________________________________________________________ -[ 3056] By: jhi on 1999/03/03 21:21:46 - Log: Fixed the pthreads_created_joinable test messed up - by the Mach cthreads change. - Branch: maint-5.005/perl - ! Configure +[ 5836] By: gsar on 2000/03/20 16:27:13 + Log: autovivify open($fh[0],...) properly + Branch: perl + ! op.c pp.c ____________________________________________________________________________ -[ 3055] By: jhi on 1999/03/03 18:17:55 - Log: Configure and make gotchas. - Branch: maint-5.005/perl - ! INSTALL +[ 5835] By: gsar on 2000/03/19 18:51:24 + Log: add @x->[2] bug to known issues (from Johan Vromans) + Branch: perl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 3051] By: jhi on 1999/03/02 08:24:52 - Log: From: Dan Sugalski - To: perl5-porters@perl.org, vmsperl@perl.org - Subject: [PATCH 5.005_0x and 5.005_5x]Minor update to README.VMS - Date: Mon, 01 Mar 1999 16:10:57 -0800 - Message-Id: <3.0.6.32.19990301161057.03b1fc00@ous.edu> +[ 5834] By: jhi on 2000/03/19 18:42:35 + Log: Fix the socklen default type (from Laszlo Molnar; + though I prefer signed, not unsigned); move the cross-compialtion + wish item to Todo; drop excess permissions in taint.t. Branch: cfgperl - ! README.vms - Branch: maint-5.005/perl - ! README.vms + ! Configure Todo Todo-5.6 config_h.SH t/op/taint.t + Branch: metaconfig + ! U/protos/socksizetype.U ____________________________________________________________________________ -[ 3049] By: jhi on 1999/03/02 07:34:21 - Log: From: Spider Boardman - To: perl5-porters@perl.org - Subject: [PATCH] Eliminate (valid) warning in byterun.c - Date: Mon, 01 Mar 1999 17:27:59 -0500 - Message-Id: <199903012227.RAA00181@leggy.zk3.dec.com> +[ 5833] By: jhi on 2000/03/19 18:20:42 + Log: Integrate with Sarathy. Branch: cfgperl - ! bytecode.h - Branch: maint-5.005/perl - ! bytecode.h + !> (integrate 42 files) ____________________________________________________________________________ -[ 3028] By: jhi on 1999/02/26 14:40:00 - Log: HP-UX 11 threads. - - From: Jeff Okamoto - To: perl5-porters@perl.org - Cc: jhi@cc.hut.fi - Subject: Maint 5 and _54 with threading on HP-UX 11.00 - Date: Wed, 3 Feb 1999 12:57:18 -0800 (PST) - Message-Id: <199902032057.MAA10218@xfiles.intercon.hp.com> - - NOTE from jhi: the hpux hints could still be more robust by - disabling gdbm when necessary. - - Currently if there's a libgdbm.sl (gdbm 1.7.3) which is pre-11, - linking -lgdbm -lpthread creates an executable that instantly - core dumps on a pthreads internal panic: - - ./gdpt - - Pthread internal error: message: __libc_reinit() failed, file: ../pthreads/pthread.c, line: 1096 - Return Pointer is 0xc082bf33 - 17639 quit (core dumped) ./gdpt - - You don't have to *use* either gdbm or pthreads in the executable, - just linking them together is enough. Workaround is to recompile - the GDBM under HP-UX 11, that makes the problem to go away. - Branch: maint-5.005/perl - ! hints/hpux.sh thread.h +[ 5832] By: gsar on 2000/03/19 18:01:28 + Log: pwent.pm doc tweak (from Tom Christiansen) + Branch: perl + ! lib/User/pwent.pm ____________________________________________________________________________ -[ 3027] By: jhi on 1999/02/26 09:04:29 - Log: From: abigail@fnx.com - To: perl5-porters@perl.org (Perl Porters) - Subject: [PATCH 5.005_02 Getopt::Std] warn() instead of print STDERR. - Date: Thu, 25 Feb 1999 22:08:41 -0500 (EST) - Message-ID: <19990226030841.5985.qmail@alexandra.wayne.fnx.com> - Branch: maint-5.005/perl - ! lib/Getopt/Std.pm +[ 5831] By: gsar on 2000/03/19 17:57:31 + Log: unsigned is a more reasonable socksizetype default (from + Laszlo ) + Branch: perl + ! Configure ____________________________________________________________________________ -[ 3026] By: jhi on 1999/02/26 08:18:26 - Log: full_ar wasn't propagated. - Branch: maint-5.005/perl - ! Configure +[ 5830] By: gsar on 2000/03/19 17:40:20 + Log: taint.t shouldn't fail where IPC::SysV unavailable + Branch: perl + ! t/op/taint.t ____________________________________________________________________________ -[ 3013] By: jhi on 1999/02/22 19:27:44 - Log: Fix MacPerl version, change PowerUX to PowerMAX. - - From: Chris Nandor - To: jhi@iki.fi - Cc: perl5-porters@perl.org - Subject: Re: perl current availability as documented by perl.pod - Date: Sun, 21 Feb 1999 11:06:03 -0500 - Message-Id: - - From: Tom Horsley - To: jhi@iki.fi - Cc: perl5-porters@perl.org - Subject: Re: perl current availability as documented by perl.pod - Date: Mon, 22 Feb 1999 13:08:30 GMT - Message-Id: <199902221308.NAA19971@cleo.ccur.com> - Branch: cfgperl - ! pod/perl.pod - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5829] By: gsar on 2000/03/19 17:19:46 + Log: update Changes + Branch: perl + ! Changes embed.h ____________________________________________________________________________ -[ 3010] By: jhi on 1999/02/22 10:21:55 - Log: From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - To: gbarr@pobox.com (Graham Barr) - Cc: perl5-porters@perl.org - Subject: [PATCH 5.005_03-MT5] DB_File 1.64 patch - Date: Mon, 22 Feb 1999 10:12:34 +0000 (GMT) - Message-Id: <9902221012.AA17784@claudius.bfsec.bt.co.uk> - Branch: maint-5.005/perl - ! ext/DB_File/Changes ext/DB_File/DB_File.pm - ! ext/DB_File/DB_File.xs ext/DB_File/typemap t/lib/db-recno.t +[ 5828] By: gsar on 2000/03/19 16:47:14 + Log: squelch known scalar leak due to compile failure + Branch: perl + ! t/pragma/strict-vars ____________________________________________________________________________ -[ 3005] By: jhi on 1999/02/22 08:35:30 - Log: Configure/Perl knew how to look for use Mach cthreads - but Configure didn't let them to be used ($osname 'next'). - Branch: cfgperl - ! Configure config_h.SH - Branch: maint-5.005/perl - ! Configure +[ 5827] By: gsar on 2000/03/19 09:20:22 + Log: mention how to look up perllocal.pod (from Michael G Schwern) + Branch: perl + ! pod/perlapi.pod pod/perlmodinstall.pod pod/perlmodlib.pod ____________________________________________________________________________ -[ 3004] By: jhi on 1999/02/21 15:46:02 - Log: Update Acorn AVAILABILITY. - Branch: cfgperl - ! pod/perl.pod - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5826] By: gsar on 2000/03/19 08:49:27 + Log: mention need to wait for children (from Russ Allbery) + Branch: perl + ! lib/IPC/Open2.pm lib/IPC/Open3.pm pod/perldelta.pod ____________________________________________________________________________ -[ 3003] By: jhi on 1999/02/21 14:50:42 - Log: From: rjk@linguist.dartmouth.edu (Ronald J. Kimball) - To: perl5-porters@perl.org (Perl 5 Porters) - Subject: PATCH: perlref.pod - symbolic ref example - Date: Sat, 20 Feb 1999 17:32:11 -0500 (EST) - Message-Id: <199902202232.RAA62306@linguist.dartmouth.edu> - Branch: cfgperl - ! pod/perlref.pod - Branch: maint-5.005/perl - ! pod/perlref.pod +[ 5825] By: gsar on 2000/03/19 08:47:52 + Log: Pod::Man should strip leading lib/ for module manpages (from + Russ Allbery) + Branch: perl + ! lib/Pod/Man.pm ____________________________________________________________________________ -[ 3000] By: jhi on 1999/02/21 14:15:31 - Log: pack s/l for negative numbers was broken on platforms - where sizeof(short) != 2 or sizeof(long) != 4 (Alpha, Cray). - pack v was broken for sizeof(short) == 8 big-endian platforms - (Cray), only zeros were produced. - Branch: maint-5.005/perl - ! perl.h pod/perlfunc.pod pp.c t/op/pack.t +[ 5824] By: gsar on 2000/03/19 08:17:49 + Log: User::pwent fixups for additional fields (from Tom Christiansen); + fix bug in pw_has(); tolerate absense of pw{change,age,quota} + and pw{comment,class} (Debian 2.1 doesn't have either of these) + Branch: perl + ! lib/User/pwent.pm ____________________________________________________________________________ -[ 2997] By: jhi on 1999/02/20 14:00:26 - Log: Glossary update. - Branch: maint-5.005/perl - ! Porting/Glossary +[ 5823] By: gsar on 2000/03/19 07:41:46 + Log: pod typo fixes (from Marcel Grunauer ) + Branch: perl + ! embed.pl embedvar.h hints/linux.sh pod/perlhack.pod + ! pod/perlnumber.pod pod/perlthrtut.pod vms/ext/Stdio/Stdio.pm ____________________________________________________________________________ -[ 2995] By: jhi on 1999/02/20 12:25:10 - Log: Document #2893, Mach cthreads support. - Branch: maint-5.005/perl - ! pod/perldelta.pod +[ 5822] By: gsar on 2000/03/19 07:34:29 + Log: integrate cfgperl contents into mainline + Branch: perl + ! ext/Thread/Thread.pm pod/perlthrtut.pod + !> (integrate 41 files) ____________________________________________________________________________ -[ 2986] By: jhi on 1999/02/19 23:26:34 - Log: Remove the unnecessary osf1 -D__LANGUAGE_C__. - Branch: maint-5.005/perl - ! Configure +[ 5821] By: gsar on 2000/03/19 07:14:38 + Log: remove dead code + Branch: perl + ! lib/charnames.pm ____________________________________________________________________________ -[ 2983] By: jhi on 1999/02/19 20:35:51 - Log: Mach cthreads: - From: brie@corp.home.net (Brian Harrison) - Subject: perl5.005_02 patch for mthreads - To: perl5-porters@perl.org - Date: Fri, 23 Oct 1998 14:20:57 -0700 (PDT) - Message-ID: - Branch: maint-5.005/perl - ! Configure Porting/Glossary config_h.SH malloc.c perl.h - ! thread.h +[ 5820] By: gsar on 2000/03/19 07:13:01 + Log: fix typo + Branch: perl + ! pod/perldiag.pod ____________________________________________________________________________ -[ 2981] By: jhi on 1999/02/19 19:49:03 - Log: From: "Kurt D. Starsinic" - To: Chaim Frenkel , - Russ Allbery , - Jarkko Hietaniemi , - Gurusamy Sarathy , - Graham Barr - Cc: bdensch@ameritech.net, perlbug@perl.com - Subject: [PATCH] Re: Solaris 7 for Intel - Message-ID: <19990219124404.A30182@O2.chapin.edu> - - and Glossary update. - Branch: maint-5.005/perl - ! Configure Makefile.SH Porting/Glossary +[ 5819] By: gsar on 2000/03/19 07:09:32 + Log: produce better error message when \N{...} is used without + "use charnames ..." + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod toke.c ____________________________________________________________________________ -[ 2980] By: gbarr on 1999/02/19 16:06:53 - Log: Make result of h2xs work when user adds C - Branch: maint-5.005/perl - ! utils/h2xs.PL +[ 5818] By: gsar on 2000/03/19 06:30:11 + Log: default warnLevel and dieLevel to 0 in debugger (from Tom + Christiansen); make dumpvar.pl safe against non-glob entries + in stashes + Branch: perl + ! lib/Dumpvalue.pm lib/dumpvar.pl lib/perl5db.pl + ! pod/perldebug.pod ____________________________________________________________________________ -[ 2976] By: gsar on 1999/02/18 21:54:09 - Log: integrate change#2975 from mainline - - distinguish eval'' from BEGIN|INIT|END CVs (fixes buggy propagation - of lexical searches in BEGIN|INIT|END) - Branch: maint-5.005/perl - !> cop.h cv.h op.c perly.c perly.y pp_ctl.c t/op/misc.t - !> vms/perly_c.vms +[ 5817] By: gsar on 2000/03/19 06:18:24 + Log: better notes on s///ee (from Simon Cozens ) + Branch: perl + ! pod/perlop.pod ____________________________________________________________________________ -[ 2971] By: jhi on 1999/02/18 11:14:24 - Log: AIX syscalls.exp scan missed explicitly 32/64-bit syscalls. - - From: Joe Buehler - To: perl5-porters@perl.org - Subject: setsid not detected by perl 5.005_02 configure under AIX 4.3 - Date: 12 Feb 1999 11:25:21 -0500 - Message-ID: - Branch: maint-5.005/perl - ! Configure +[ 5816] By: gsar on 2000/03/19 05:55:52 + Log: support for C; move VMSISH_EXIT out of + op_private (from Charles Lane ) + Branch: perl + ! embed.pl op.c op.h opcode.h opcode.pl perl.h pp.sym pp_ctl.c + ! pp_proto.h vms/ext/vmsish.pm vms/ext/vmsish.t vms/vmsish.h ____________________________________________________________________________ -[ 2967] By: jhi on 1999/02/17 23:12:59 - Log: Make SCO/Unixware scan to work in Unixware, too. - - From: Tom Hughes - To: perlbug@perl.com - Subject: Not OK: perl 5.00555 on i386-svr4 [actually Unixware 2.1] (UNINSTALLED) - Date: 17 Feb 1999 15:34:15 +0000 - Message-ID: - Branch: maint-5.005/perl - ! Configure +[ 5815] By: gsar on 2000/03/19 05:27:31 + Log: fix sort optimizer to not hang inside loops + Branch: perl + ! op.c t/op/sort.t ____________________________________________________________________________ -[ 2956] By: jhi on 1999/02/15 21:03:28 - Log: OpenBSD sparc SHMLBA (like change #2945). - Branch: maint-5.005/perl - ! ext/IPC/SysV/SysV.xs +[ 5814] By: gsar on 2000/03/19 03:59:29 + Log: fixes for alias handling in debugger (from Tom Christiansen) + Branch: perl + ! lib/perl5db.pl ____________________________________________________________________________ -[ 2950] By: jhi on 1999/02/15 13:37:28 - Log: AVAILABILITY sync. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5813] By: gsar on 2000/03/19 03:38:10 + Log: warn about CHECK and INIT blocks encountered at run time + Branch: perl + ! op.c pod/perldelta.pod pod/perldiag.pod t/pragma/warn/op ____________________________________________________________________________ -[ 2906] By: jhi on 1999/02/13 14:55:47 - Log: AVAILABILITY sync. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5812] By: jhi on 2000/03/19 03:15:58 + Log: Taint msgrcv() messages; general SysV IPC cleanup. + Branch: cfgperl + ! doio.c ext/IPC/SysV/Msg.pm pod/perldelta.pod pod/perlfunc.pod + ! pod/perlipc.pod pod/perlsec.pod t/lib/ipc_sysv.t t/op/taint.t ____________________________________________________________________________ -[ 2905] By: gsar on 1999/02/13 00:12:53 - Log: integrate change#2898 from mainline - - support win32_putenv() - Branch: maint-5.005/perl - !> mg.c util.c win32/GenCAPI.pl win32/makedef.pl win32/perlhost.h - !> win32/win32.c win32/win32iop.h +[ 5811] By: jhi on 2000/03/19 01:48:47 + Log: Taint shmread(). + Branch: cfgperl + ! doio.c pod/perldelta.pod pod/perlfunc.pod pod/perlsec.pod + ! t/op/taint.t ____________________________________________________________________________ -[ 2904] By: jhi on 1999/02/12 21:23:30 - Log: Add README.hurd, from Mark Kettenis . - Branch: maint-5.005/perl - + README.hurd - ! MANIFEST +[ 5810] By: jhi on 2000/03/19 01:22:47 + Log: Taint also the passwd field of the getpw*(). + Branch: cfgperl + ! pod/perldelta.pod pod/perlfunc.pod pod/perlsec.pod pp_sys.c + ! t/op/taint.t ____________________________________________________________________________ -[ 2900] By: jhi on 1999/02/12 12:07:28 - Log: SCO ODT/OSR release scanning. - Branch: maint-5.005/perl - ! Configure +[ 5809] By: jhi on 2000/03/18 21:44:34 + Log: Integrate with Sarathy. + Branch: cfgperl + !> t/pragma/strict-vars toke.c ____________________________________________________________________________ -[ 2897] By: jhi on 1999/02/12 11:24:25 - Log: Undo a big bad paste from change #2884. - Branch: maint-5.005/perl - ! hints/openbsd.sh +[ 5808] By: jhi on 2000/03/18 21:40:55 + Log: (Re-)introduce $uidsign and $gidsign. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH epoc/config.sh pp_sys.c vms/subconfigure.com + ! vos/config.def vos/config.h vos/config_h.SH_orig + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + ! win32/config_h.PL win32/config_sh.PL + Branch: metaconfig + ! U/modified/groupstype.U U/typedefs/gidtype.U ____________________________________________________________________________ -[ 2896] By: jhi on 1999/02/12 11:19:52 - Log: Update the error message of db-recno.t to DB version 1.86 - and the URL to www.sleepycat.com instead of www.bostic.com. - Branch: maint-5.005/perl - ! t/lib/db-recno.t +[ 5807] By: jhi on 2000/03/18 20:38:12 + Log: The #5805 requires a test change, too. + Branch: cfgperl + ! t/op/taint.t ____________________________________________________________________________ -[ 2895] By: gsar on 1999/02/12 11:18:59 - Log: integrate change#2854 from mainline - - compatibility fix: magic non-propagation in foreach implicit localization - Branch: maint-5.005/perl - !> pp_ctl.c t/op/local.t +[ 5806] By: gsar on 2000/03/18 20:10:29 + Log: queued errors may not be displayed after the PL_error_count limit + Branch: perl + ! t/pragma/strict-vars toke.c ____________________________________________________________________________ -[ 2884] By: jhi on 1999/02/12 08:36:14 - Log: OpenBSD pthreads awareness, thanks to - David Leonard - Branch: maint-5.005/perl - ! Configure hints/openbsd.sh +[ 5805] By: jhi on 2000/03/18 19:56:12 + Log: Taint the shell from the getpw*. + Branch: cfgperl + ! pod/perldelta.pod pod/perlfunc.pod pod/perlsec.pod pp_sys.c ____________________________________________________________________________ -[ 2883] By: jhi on 1999/02/12 08:29:51 - Log: AVAILABILITY sync. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5804] By: jhi on 2000/03/18 19:37:01 + Log: Use the newSVuv(). + Branch: cfgperl + ! embed.h op.c pp_sys.c toke.c ____________________________________________________________________________ -[ 2878] By: jhi on 1999/02/11 22:00:50 - Log: Replace changes #2783, #2784, #2785, with a single tested - patch from Francois Desarmenien . - Branch: maint-5.005/perl - ! MANIFEST ext/GDBM_File/hints/sco.pl ext/IPC/SysV/SysV.xs - ! hints/sco.sh +[ 5803] By: jhi on 2000/03/18 19:08:40 + Log: Add newSVuv(). + Branch: cfgperl + ! Configure embed.pl global.sym objXSUB.h perlapi.c perlapi.h + ! pod/perlapi.pod proto.h sv.c ____________________________________________________________________________ -[ 2876] By: jhi on 1999/02/11 20:43:17 - Log: From: Chris Nandor - To: perl5-porters@perl.org - Subject: [PATCH] perlport.pod 1.39 - Date: Thu, 11 Feb 1999 12:28:35 -0500 - Message-Id: - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 5802] By: jhi on 2000/03/18 17:11:07 + Log: Configure nits: rewording from Sarathy (aka #5796), + and installation directories patch from Robin Parker. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH vos/config.h vos/config_h.SH_orig + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + Branch: metaconfig + ! U/modified/Getfile.U + Branch: metaconfig/U/perl + ! bincompat5005.U ____________________________________________________________________________ -[ 2875] By: jhi on 1999/02/11 20:35:08 - Log: The fpsetmask() really is SCO5 only. - Branch: maint-5.005/perl - ! unixish.h +[ 5801] By: jhi on 2000/03/18 16:41:31 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes Configure hints/dos_djgpp.sh lib/ExtUtils/xsubpp + !> lib/Getopt/Long.pm mg.c pod/perlpod.pod pp_hot.c + !> t/lib/charnames.t t/pragma/utf8.t toke.c ____________________________________________________________________________ -[ 2874] By: jhi on 1999/02/11 20:32:06 - Log: Change #2783 missed these. - Branch: maint-5.005/perl - ! ext/IPC/SysV/SysV.xs unixish.h +[ 5800] By: gsar on 2000/03/18 05:16:32 + Log: force i_ieeefp=undef on dos_djgpp (it reportedly causes failures + in system includes) + Branch: perl + ! hints/dos_djgpp.sh ____________________________________________________________________________ -[ 2873] By: jhi on 1999/02/11 20:27:45 - Log: Import the change #2810 from cfgperl. - Branch: maint-5.005/perl - + ext/GDBM_File/hints/sco.pl - ! MANIFEST hints/sco.sh unixish.h +[ 5799] By: gsar on 2000/03/18 05:12:00 + Log: Getopt::Long 2.23 update (from Johan Vromans) + Branch: perl + ! Changes lib/Getopt/Long.pm ____________________________________________________________________________ -[ 2872] By: jhi on 1999/02/11 19:57:37 - Log: Sync the current AVAILABILITY. - Branch: maint-5.005/perl - ! pod/perl.pod pod/perldelta.pod +[ 5798] By: gsar on 2000/03/18 05:03:20 + Log: recognize single-line declarations in xsubpp; add switches to + disable newfangled features (from Ilya Zakharevich) + Branch: perl + ! lib/ExtUtils/xsubpp ____________________________________________________________________________ -[ 2871] By: jhi on 1999/02/11 19:42:54 - Log: Copied the GNU/Hurd hints file over from cfgperl - because it works well enough (there are still some - rough edges in Hurd), verified via private - email from Mark Kettenis - Branch: maint-5.005/perl - + hints/gnu.sh +[ 5797] By: gsar on 2000/03/18 04:21:43 + Log: make "\N{...}" enable utf8-ness correctly + Branch: perl + ! t/lib/charnames.t toke.c ____________________________________________________________________________ -[ 2864] By: jhi on 1999/02/11 08:45:00 - Log: From: Spider Boardman - To: perlbug@perl.com - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_5 on RISC-ultrix 4.4 (UNINSTALLED) - Date: Wed, 10 Feb 1999 23:33:31 -0500 - Message-Id: <9902110433.AA12816@abyss.zk3.dec.com> - Branch: maint-5.005/perl - ! doio.c ext/IPC/SysV/SysV.xs hints/ultrix_4.sh +[ 5796] By: gsar on 2000/03/18 04:03:08 + Log: avoid mentioning Perl version in Configure question + Branch: perl + ! Configure ____________________________________________________________________________ -[ 2863] By: jhi on 1999/02/11 08:35:35 - Log: AVAILABILITY. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5795] By: gsar on 2000/03/18 03:32:31 + Log: better explanation of C<> tags (from Wolfgang Laun) + Branch: perl + ! pod/perlpod.pod ____________________________________________________________________________ -[ 2858] By: gsar on 1999/02/11 07:10:59 - Log: remove dup hunk - Branch: maint-5.005/perl - ! pod/perldelta.pod +[ 5794] By: gsar on 2000/03/18 03:26:57 + Log: make return values from match in a list context, as well as $& et + al propagate utf8-ness (from Graham Barr) + Branch: perl + ! mg.c pp_hot.c t/pragma/utf8.t ____________________________________________________________________________ -[ 2857] By: gsar on 1999/02/11 07:09:20 - Log: sync with parent version of perldelta.pod - Branch: maint-5.005/perl - !> pod/perldelta.pod +[ 5793] By: jhi on 2000/03/18 01:45:30 + Log: Integrate with Sarathy. + Branch: cfgperl + !> hints/powerux.sh xsutils.c ____________________________________________________________________________ -[ 2853] By: gsar on 1999/02/11 00:33:06 - Log: integrate change#2816 from mainline - - minor bug in dumping blessed subrefs - Branch: maint-5.005/perl - !> ext/Data/Dumper/Dumper.pm +[ 5792] By: gsar on 2000/03/18 01:08:25 + Log: hints fixups for PowerMAX (from Tom Horsley) + Branch: perl + ! hints/powerux.sh ____________________________________________________________________________ -[ 2852] By: gsar on 1999/02/10 23:17:49 - Log: fair warning about -Dusethreads - Branch: maint-5.005/perl - ! Configure INSTALL README.threads +[ 5791] By: gsar on 2000/03/17 23:53:21 + Log: make reftype() consistently croak on non-refs + Branch: perl + ! xsutils.c ____________________________________________________________________________ -[ 2851] By: jhi on 1999/02/10 23:00:39 - Log: Snapshot of the ongoing AVAILABILITY discussion. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5790] By: jhi on 2000/03/17 23:41:36 + Log: Integrate with Sarathy. + Branch: cfgperl + !> configpm ext/Thread/Thread/Queue.pm + !> ext/Thread/Thread/Semaphore.pm ext/Thread/Thread/Specific.pm + !> lib/Pod/Find.pm lib/perl5db.pl perl.c pod/perldata.pod ____________________________________________________________________________ -[ 2850] By: jhi on 1999/02/10 16:07:32 - Log: OS390 and Windows AVAILABILITY entries enhanced. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5789] By: gsar on 2000/03/17 22:37:21 + Log: fix coredump when upgrading PL_sv_yes in a second call to + perl_construct() (from Doug MacEachern) + Branch: perl + ! perl.c ____________________________________________________________________________ -[ 2849] By: jhi on 1999/02/10 12:39:46 - Log: AS/400 and Mac were not described right. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5788] By: gsar on 2000/03/17 22:32:25 + Log: make noTTY debugger option work again (from Paul Marquess) + Branch: perl + ! lib/perl5db.pl ____________________________________________________________________________ -[ 2848] By: jhi on 1999/02/10 09:13:49 - Log: Added AVAILABILITY section. - Branch: maint-5.005/perl - ! pod/perl.pod +[ 5787] By: gsar on 2000/03/17 17:00:05 + Log: make Config.pm report sane errors with older perls + Branch: perl + ! configpm ____________________________________________________________________________ -[ 2837] By: jhi on 1999/02/08 14:51:39 - Log: Fix typo introduced in change #2836. - Branch: maint-5.005/perl - ! Configure +[ 5786] By: gsar on 2000/03/17 16:48:20 + Log: syntax errors in Thread::* (from Tom Christiansen) + Branch: perl + ! ext/Thread/Thread/Queue.pm ext/Thread/Thread/Semaphore.pm + ! ext/Thread/Thread/Specific.pm ____________________________________________________________________________ -[ 2836] By: jhi on 1999/02/08 14:44:31 - Log: Augment change #2809, the h2ph-*symbols patch. - Branch: maint-5.005/perl - ! Configure t/lib/h2ph.pht +[ 5785] By: gsar on 2000/03/17 16:45:34 + Log: tweak perldata section on v-strings + Branch: perl + ! pod/perldata.pod ____________________________________________________________________________ -[ 2815] By: gsar on 1999/02/05 03:44:50 - Log: integrate change#2242 from mainline - - fix skipspace() to properly account for newlines in eval''-ed - strings (caused bogus line numbers in diagnostics and debugger) - Branch: maint-5.005/perl - !> toke.c +[ 5784] By: gsar on 2000/03/17 16:24:28 + Log: missing file in change#5781 + Branch: perl + ! lib/Pod/Find.pm ____________________________________________________________________________ -[ 2814] By: jhi on 1999/02/04 21:21:39 - Log: Stratus perlport update. - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 5783] By: jhi on 2000/03/17 14:38:29 + Log: Add the NEXTSTEP strftime %j bug to Known Problems. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2813] By: jhi on 1999/02/04 21:16:54 - Log: Stratus VOS update. - - From: Paul_Green@stratus.com - To: jhi@iki.fi - Subject: RE: VOS changes for Perl5.005_03 are ready! - Date: Thu, 4 Feb 1999 14:51:07 -0500 - Message-ID: <1D1A4EF7AD4DD211A80D00A0C9D7DB665A0168@exna1.stratus.com> - Branch: maint-5.005/perl - + vos/vos_accept.c - ! MANIFEST README.vos perl.c pod/perlport.pod vos/Changes - ! vos/build.cm vos/compile_perl.cm vos/config.h - ! vos/config_h.SH_orig vos/perl.bind vos/test_vos_dummies.c - ! vos/vos_dummies.c vos/vosish.h +[ 5782] By: jhi on 2000/03/17 14:29:46 + Log: Integrate with Sarathy. + Branch: cfgperl + !> embed.pl ext/B/B/Bblock.pm global.sym lib/File/Spec/Unix.pm + !> lib/open.pm objXSUB.h op.c perlapi.c pod/perlcompile.pod + !> pod/perldebug.pod sv.c t/comp/cpp.aux t/pod/testpchk.pl ____________________________________________________________________________ -[ 2809] By: jhi on 1999/02/03 19:54:16 - Log: h2ph fixes + Configure patch to support them. - - From: "Kurt D. Starsinic" - To: Graham Barr , Jarkko Hietaniemi , - Gurusamy Sarathy - Cc: perl5-porters@perl.org - Subject: [PATCH 5.00503_MT5] h2ph.PL - Date: Tue, 2 Feb 1999 19:48:06 -0500 - Message-ID: <19990202194806.E10647@O2.chapin.edu> - Branch: maint-5.005/perl - ! Configure utils/h2ph.PL +[ 5781] By: gsar on 2000/03/17 06:19:17 + Log: PodParser v1.13 update (from Brad Appleton) + Branch: perl + ! t/pod/testpchk.pl ____________________________________________________________________________ -[ 2802] By: jhi on 1999/02/02 17:41:23 - Log: From: John Bley - To: perlbug@perl.org - Subject: [PATCH]5.005_54 (DOC) fix minor typos - Date: Tue, 2 Feb 1999 07:52:52 -0500 (EST) - Message-ID: - Branch: maint-5.005/perl - ! pod/perlre.pod +[ 5780] By: gsar on 2000/03/17 05:42:45 + Log: propagate CvFLAGS() into clones + Branch: perl + ! op.c ____________________________________________________________________________ -[ 2790] By: jhi on 1999/02/02 16:51:45 - Log: Re-introduce the typo corrections (update to CGI 2.46 - overran them). - Branch: maint-5.005/perl - ! lib/CGI.pm +[ 5779] By: gsar on 2000/03/17 04:58:39 + Log: documentation fixes from p5p + Branch: perl + ! ext/B/B/Bblock.pm lib/File/Spec/Unix.pm pod/perlcompile.pod + ! pod/perldebug.pod ____________________________________________________________________________ -[ 2781] By: jhi on 1999/02/02 14:27:01 - Log: Update the MkLinux note. - Branch: maint-5.005/perl - ! hints/linux.sh +[ 5778] By: bailey on 2000/03/17 04:23:35 + Log: Quick pre-release fixes: clean up results in File::Spec::VMS and + switch dir test order in taint.t to accomodate DECCRTL extension. + Branch: vmsperl + ! lib/File/Spec/VMS.pm t/op/taint.t ____________________________________________________________________________ -[ 2775] By: jhi on 1999/02/02 13:13:24 - Log: Mention lib/Dumpvalue.pm. - Branch: maint-5.005/perl - ! pod/roffitall +[ 5777] By: gsar on 2000/03/17 04:13:27 + Log: make attributes::reftype(*FOO{IO}) return "IO" instead of "UNKNOWN" + (from Tom Christiansen) + Branch: perl + ! sv.c ____________________________________________________________________________ -[ 2767] By: jhi on 1999/02/02 12:29:57 - Log: Demangle spaces to tab+space. - Branch: maint-5.005/perl - ! hints/freebsd.sh +[ 5776] By: jhi on 2000/03/17 03:40:18 + Log: More Todo. + Branch: cfgperl + ! Todo Todo-5.6 ____________________________________________________________________________ -[ 2758] By: jhi on 1999/02/02 10:51:26 - Log: Detypo. - Branch: maint-5.005/perl - ! lib/Math/Trig.pm +[ 5775] By: gsar on 2000/03/17 03:40:14 + Log: s/:def/:DEFAULT/ + Branch: perl + ! lib/open.pm ____________________________________________________________________________ -[ 2755] By: jhi on 1999/02/02 09:07:51 - Log: Make FreeBSD 2.2.7 work with -Duseshrplib -ders. - Branch: maint-5.005/perl - ! hints/freebsd.sh +[ 5774] By: gsar on 2000/03/17 03:39:07 + Log: export cv_undef() and cv_const_sv() (mod_perl uses them to + good advantage) + Branch: perl + ! embed.pl global.sym objXSUB.h perlapi.c ____________________________________________________________________________ -[ 2752] By: jhi on 1999/02/01 22:15:12 - Log: Add perlthrtut.pod. - - From: Dan Sugalski - To: perl5-porters@perl.org - Subject: perlthrtut.pod - Date: Mon, 01 Feb 1999 10:57:11 -0800 - Message-Id: <3.0.6.32.19990201105711.02e62540@ous.edu> - Branch: maint-5.005/perl - + pod/perlthrtut.pod - ! MANIFEST pod/Makefile pod/buildtoc pod/perldelta.pod - ! pod/roffitall +[ 5773] By: gsar on 2000/03/17 03:12:34 + Log: remove non-ANSI parts in comp/cpp.t + Branch: perl + ! t/comp/cpp.aux ____________________________________________________________________________ -[ 2741] By: gbarr on 1999/02/01 03:00:42 - Log: Fix typecasts in #2728 - - From: "G. Del Merritt" - Date: Fri, 29 Jan 1999 11:47:25 -0700 - Message-Id: <199901291847.LAA04828@jhereg.perl.com> - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_5 on MSWin32-x86-object 4.0 (PATCH included) - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.xs +[ 5772] By: jhi on 2000/03/17 03:11:49 + Log: Integrate with Sarathy. + Branch: cfgperl + !> configure.com embed.h embed.pl lib/CGI.pm + !> lib/ExtUtils/Mksymlists.pm lib/Pod/Man.pm perl.h + !> pod/pod2man.PL pod/pod2text.PL pp_sys.c vms/ext/vmsish.pm + !> vms/ext/vmsish.t vms/subconfigure.com vms/test.com + !> vms/vmsish.h +____________________________________________________________________________ +[ 5771] By: jhi on 2000/03/17 03:10:34 + Log: Make the test easier to use. + Branch: cfgperl + ! t/op/sysio.t ____________________________________________________________________________ -[ 2740] By: gsar on 1999/02/01 02:43:07 - Log: CAPI inheritance tweak and doc - Branch: maint-5.005/perl - ! lib/ExtUtils/MakeMaker.pm +[ 5770] By: gsar on 2000/03/17 03:04:33 + Log: pod{man,text} updates from podlators-1.00 (from Russ Allbery) + Branch: perl + ! lib/Pod/Man.pm pod/pod2man.PL pod/pod2text.PL ____________________________________________________________________________ -[ 2739] By: jhi on 1999/01/31 18:31:54 - Log: Undo changes #2730 and #2731 and replace them - with an extensively tested patch from - Anton Berezin (via private email). - Branch: maint-5.005/perl - ! Makefile.SH hints/freebsd.sh +[ 5769] By: gsar on 2000/03/17 02:53:39 + Log: integrate vmsperl contents into mainline (no actual changes, since + cfgperl already had them all) + Branch: perl + !> configure.com lib/CGI.pm lib/ExtUtils/Mksymlists.pm perl.h + !> vms/ext/vmsish.pm vms/ext/vmsish.t vms/subconfigure.com + !> vms/test.com vms/vmsish.h ____________________________________________________________________________ -[ 2738] By: gsar on 1999/01/31 05:04:32 - Log: fix bogus CAPI inheritance from change#2541 - Branch: maint-5.005/perl - ! lib/ExtUtils/MakeMaker.pm +[ 5768] By: gsar on 2000/03/17 02:48:14 + Log: fix signedness in test for syswrite() length argument + Branch: perl + ! pp_sys.c ____________________________________________________________________________ -[ 2737] By: gsar on 1999/01/31 04:55:06 - Log: remove the big ugly thing jhi sneezed into INSTALL :-) - Branch: maint-5.005/perl - ! INSTALL +[ 5767] By: gsar on 2000/03/17 02:38:51 + Log: integrate cfgperl contents into mainline + Branch: perl + !> (integrate 28 files) ____________________________________________________________________________ -[ 2736] By: jhi on 1999/01/30 12:57:06 - Log: From: pvhp@forte.com (Peter Prymmer) - To: perl-mvs@perl.org, perlbug@perl.com - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_5 on os390 05.00 (UNINSTALLED) - Date: Fri, 29 Jan 99 19:22:31 PST - Message-Id: <9901300322.AA19136@forte.com> - - (slighty edited at the end) - Branch: maint-5.005/perl - ! README.os390 +[ 5766] By: jhi on 2000/03/17 02:29:24 + Log: Add "Known Problems" section. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2735] By: jhi on 1999/01/30 11:49:54 - Log: Undo 5.005-devel random, srandom mention. - Branch: maint-5.005/perl - ! INSTALL +[ 5765] By: gsar on 2000/03/17 00:31:19 + Log: add missing bincompat5005 #defines + Branch: perl + ! embed.h embed.pl ____________________________________________________________________________ -[ 2734] By: jhi on 1999/01/29 22:22:00 - Log: Add perlreftut. - Branch: maint-5.005/perl - + pod/perlreftut.pod - ! MANIFEST pod/perl.pod pod/perldelta.pod pod/roffitall +[ 5764] By: jhi on 2000/03/16 15:32:52 + Log: pp_send() type tuning continues. + Branch: cfgperl + ! pp_sys.c ____________________________________________________________________________ -[ 2732] By: gsar on 1999/01/29 20:09:44 - Log: integrate change#2720 from mainline - - missing space while munging CCFLAGS for PERL_CAPI - Branch: maint-5.005/perl - !> lib/ExtUtils/MM_Unix.pm +[ 5763] By: jhi on 2000/03/16 04:09:37 + Log: Integrate with Sarathy. + Branch: cfgperl + !> embed.pl global.sym objXSUB.h perl.c perlapi.c + !> win32/perlhost.h win32/perllib.c win32/win32.h ____________________________________________________________________________ -[ 2731] By: jhi on 1999/01/29 14:33:12 - Log: FreeBSD version numbers can be like "2.2.8-release". - Branch: maint-5.005/perl - ! hints/freebsd.sh +[ 5762] By: jhi on 2000/03/16 04:06:36 + Log: VMS patches from Dan Sugalski and Charles Bailey + Branch: cfgperl + ! configure.com ext/File/Glob/Glob.pm lib/CGI.pm + ! lib/ExtUtils/Mksymlists.pm vms/subconfigure.com +____________________________________________________________________________ +[ 5761] By: gsar on 2000/03/16 03:18:41 + Log: due to an oversight during PERL_OBJECT migration, hosts created + by pseudo-fork were never being deleted, leading to a sizeable + memory leak; std FDs in pseudo-children are now closed + automatically to avoid resource leaks; basic infinite looping + fork() test works without leaking again in non-PERL_OBJECT + build + Branch: perl + ! embed.pl global.sym objXSUB.h perl.c perlapi.c + ! win32/perlhost.h win32/perllib.c win32/win32.h +____________________________________________________________________________ +[ 5760] By: jhi on 2000/03/16 01:50:13 + Log: Fix pp_send() sizes (pass a Size_t, not an Off_t, and + return a SSize_t, not an Off_t); add a note about a slightly + similar situation in pp_truncate(); introduce $sizesize + for Configure; update EPOC, VOS, Win32, and VMS for the + sizesize; minor updates on the EPOC config file; reword + socklen_t message slightly; fix fpossize (though unused currently) + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH epoc/config.sh pp_sys.c vms/subconfigure.com + ! vos/config.def vos/config.h win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc win32/config_h.PL win32/config_sh.PL + Branch: metaconfig/U/perl + ! d_socklen_t.U fpossize.U ____________________________________________________________________________ -[ 2730] By: jhi on 1999/01/29 12:40:38 - Log: FreeBSD hints iteration (hopefully convergent). - usethreads: require at least FreeBSD 2.2.8. - signal type: mirror change #2429 in cfgperl. - Branch: maint-5.005/perl - ! hints/freebsd.sh +[ 5759] By: jhi on 2000/03/15 23:47:11 + Log: Integrate with Sarathy. + Branch: cfgperl + !> makedef.pl ____________________________________________________________________________ -[ 2729] By: gbarr on 1999/01/29 05:06:32 - Log: Trial release 5 - Branch: maint-5.005/perl - ! Changes patchlevel.h pod/perlhist.pod +[ 5758] By: jhi on 2000/03/15 23:46:17 + Log: Retract #5767; replace it with a tested patch + from Anton Berezin. + Branch: cfgperl + ! hints/freebsd.sh +____________________________________________________________________________ +[ 5757] By: jhi on 2000/03/15 23:36:53 + Log: Configure nits: do not use /tmp to avoid potential security + problems (Andy Dougherty: this does not fix the rampant + use of /tmp by the various utilities like C compilers, though. + Just don't run Configure as root if you care about security.), + fix man3dir bug (both from Andy Dougherty); fix hints files + not to use /tmp; retract #4993 (the description of the *symbols + variables is okay, after all); regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH hints/dec_osf.sh hints/esix4.sh hints/newsos4.sh + Branch: metaconfig + + U/modified/d_flexfnam.U + ! U/installdirs/man3dir.U ____________________________________________________________________________ -[ 2728] By: gbarr on 1999/01/29 04:10:37 - Log: From: Ted Law - Date: Wed, 27 Jan 1999 14:54:03 -0500 (EST) - Message-Id: <199901271954.OAA07391@dcm2.cibcwg.com> - Subject: POSIX::strftime buffer overflow problem - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.xs +[ 5756] By: jhi on 2000/03/15 22:20:06 + Log: cater for FreeBSD 5.* + Branch: cfgperl + ! hints/freebsd.sh ____________________________________________________________________________ -[ 2728] By: gbarr on 1999/01/29 04:10:37 - Log: From: Ted Law - Date: Wed, 27 Jan 1999 14:54:03 -0500 (EST) - Message-Id: <199901271954.OAA07391@dcm2.cibcwg.com> - Subject: POSIX::strftime buffer overflow problem - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.xs +[ 5755] By: jhi on 2000/03/15 22:00:57 + Log: Add missing Windows O_ constants. + Branch: cfgperl + ! ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs ____________________________________________________________________________ -[ 2727] By: gbarr on 1999/01/29 04:09:57 - Log: From: Tom Spindler - Date: Thu, 28 Jan 1999 17:15:11 -0800 - Message-ID: <19990128171510.A11778@isi.net> - Subject: [PATCH] BeOS dynamic loading support for perl5.005_03_MT4 - Branch: maint-5.005/perl - + ext/DynaLoader/dl_beos.xs - ! Configure MANIFEST Makefile.SH README.beos hints/beos.sh - ! lib/ExtUtils/MM_Unix.pm +[ 5754] By: gsar on 2000/03/15 19:56:37 + Log: add PL_thr_key to export list under useithreads + Branch: perl + ! makedef.pl ____________________________________________________________________________ -[ 2726] By: gbarr on 1999/01/29 03:30:51 - Log: Remove use of File::Slurp in t/lib/textfill.t - Branch: maint-5.005/perl - ! t/lib/textfill.t +[ 5753] By: jhi on 2000/03/15 04:19:19 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 37 files) ____________________________________________________________________________ -[ 2725] By: gbarr on 1999/01/29 03:11:41 - Log: From: Gurusamy Sarathy - Date: Wed, 27 Jan 1999 23:14:33 -0800 - Message-Id: <199901280714.XAA10176@activestate.com> - Subject: Re: NOT OK: "@INC contains: ." after make install - MAINT_TRIAL_4 - 5.005_03 maintenance trial 4 MSWin32-x86-object - Branch: maint-5.005/perl - ! win32/Makefile win32/makefile.mk +[ 5752] By: bailey on 2000/03/15 03:45:28 + Log: Make DEBUGGING a configurable option + Branch: vmsperl + ! configure.com ____________________________________________________________________________ -[ 2724] By: jhi on 1999/01/28 19:27:15 - Log: Change jhi@iki.fi to perlbug@perl.com. - Cosmetic change in semctl probing messages. - Branch: maint-5.005/perl - ! Configure hints/freebsd.sh +[ 5751] By: bailey on 2000/03/15 03:38:57 + Log: Remove obsolete DCL symbol from subconfigure.com + Branch: vmsperl + ! vms/subconfigure.com ____________________________________________________________________________ -[ 2723] By: jhi on 1999/01/28 17:27:49 - Log: Yet another typo in a test program. - Branch: maint-5.005/perl - ! Configure +[ 5750] By: bailey on 2000/03/15 03:29:17 + Log: Add VMS' default to the CGI.pm temp list (should update to File::Spec) + Branch: vmsperl + ! lib/CGI.pm + !> ext/File/Glob/Glob.pm ____________________________________________________________________________ -[ 2722] By: jhi on 1999/01/28 17:13:52 - Log: The pthreads_created_joinable test had a typo, - by blind luck the default value works almost anywhere. - Branch: maint-5.005/perl - ! Configure +[ 5749] By: bailey on 2000/03/15 02:05:28 + Log: Change test using obsolete %COnfig element + Branch: vmsperl + ! lib/ExtUtils/Mksymlists.pm ____________________________________________________________________________ -[ 2721] By: jhi on 1999/01/28 13:04:23 - Log: MinT support, adapted from change #2594. - Branch: maint-5.005/perl - + README.mint ext/POSIX/hints/mint.pl hints/mint.sh - + mint/Makefile mint/README mint/errno.h mint/pwd.c mint/stdio.h - + mint/sys/time.h mint/time.h - ! MANIFEST doio.c malloc.c miniperlmain.c perl.c - ! pod/perldelta.pod t/io/fs.t t/lib/safe2.t t/op/groups.t - ! t/op/mkdir.t t/op/taint.t +[ 5748] By: gsar on 2000/03/14 23:39:42 + Log: update local_patches entry for RC2 + Branch: perl + ! Changes patchlevel.h pod/perlhist.pod ____________________________________________________________________________ -[ 2719] By: jhi on 1999/01/27 19:49:49 - Log: From: "M.J.T. Guy" - To: perl5-porters@perl.org - Subject: Re: [PATCH] perl5.005_03-MAINT_TRIAL_3: clarify Sv[INU]V versus Sv[INU]VX in perlguts - Date: Tue, 26 Jan 1999 22:25:07 +0000 - Message-Id: - Branch: maint-5.005/perl - ! pod/perlguts.pod +[ 5747] By: gsar on 2000/03/14 22:44:27 + Log: more warnings tidy-ups (from Paul Marquess) + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod pod/perlfaq4.pod + ! t/lib/attrs.t utils/h2xs.PL ____________________________________________________________________________ -[ 2718] By: jhi on 1999/01/27 19:46:04 - Log: io/fs.t fails test #18 (sense of tests appears to have been - changed incompletely; this patch just skips the test attached, - a la test #17 preceding it). - - From: "G. Del Merritt" - To: perlbug@perl.com - Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on MSWin32-x86-object (PATCHES included) - Date: Tue, 26 Jan 1999 12:09:09 -0700 - Message-Id: <199901261909.MAA25525@jhereg.perl.com> - Branch: maint-5.005/perl - ! t/io/fs.t +[ 5746] By: gsar on 2000/03/14 22:30:43 + Log: Sys::Syslog fix for accidental arguments to autoloaded constants + Branch: perl + ! ext/Sys/Syslog/Syslog.pm ext/Sys/Syslog/Syslog.xs ____________________________________________________________________________ -[ 2717] By: jhi on 1999/01/27 19:44:46 - Log: Miniperl fails to build (pp_sys.c was changed and iperlsys.h wasn't) - - From: "G. Del Merritt" - To: perlbug@perl.com - Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on MSWin32-x86-object (PATCHES included) - Date: Tue, 26 Jan 1999 12:09:09 -0700 - Message-Id: <199901261909.MAA25525@jhereg.perl.com> - Branch: maint-5.005/perl - ! iperlsys.h +[ 5745] By: gsar on 2000/03/14 22:20:27 + Log: tweak to use SIZE_ONLY + Branch: perl + ! regcomp.c ____________________________________________________________________________ -[ 2716] By: jhi on 1999/01/27 19:38:36 - Log: From: Dan Sugalski - To: perlbug@perl.com, vmsperl@perl.org - Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on VMSAXP (Patch included, of course) - Date: Tue, 26 Jan 1999 14:40:38 -0800 - Message-Id: <3.0.6.32.19990126144038.02e5d650@ous.edu> - - From: Dan Sugalski - To: perl5-porters@perl.org, vmsperl@perl.org - Subject: [PATCH 5.005_03-MAILT_TRIAL_4]VMS test patches - Date: Tue, 26 Jan 1999 14:55:29 -0800 - Message-Id: <3.0.6.32.19990126145529.02f22280@ous.edu> - Branch: maint-5.005/perl - ! t/lib/textfill.t t/lib/textwrap.t vms/ext/Stdio/test.pl - ! vms/subconfigure.com +[ 5744] By: gsar on 2000/03/14 21:56:48 + Log: regen win32/config* + Branch: perl + ! win32/Makefile win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc win32/makefile.mk ____________________________________________________________________________ -[ 2715] By: jhi on 1999/01/27 19:34:28 - Log: From: Mark Bixby - To: perl5-porters@perl.org - Subject: [PATCH perl5.005_03-MAINT_TRIAL_4] MPE port tweaks - Date: Tue, 26 Jan 1999 16:32:18 -0800 (PST) - Message-Id: <199901270032.QAA13395@spock.dis.cccd.edu> - Branch: maint-5.005/perl - ! hints/mpeix.sh mpeix/relink +[ 5743] By: gsar on 2000/03/14 21:46:25 + Log: change#5729 had syntax errors + Branch: perl + ! t/lib/complex.t ____________________________________________________________________________ -[ 2714] By: jhi on 1999/01/27 19:32:41 - Log: NetBSD does not do setruid, setrgid. - Branch: maint-5.005/perl - ! hints/netbsd.sh +[ 5742] By: gsar on 2000/03/14 21:26:33 + Log: integrate vmsperl changes into mainline (change#5693 denied) + Branch: perl + !> configure.com lib/File/Spec/VMS.pm t/lib/complex.t + !> t/lib/filespec.t vms/ext/filespec.t vms/subconfigure.com + !> vms/vms.c ____________________________________________________________________________ -[ 2713] By: jhi on 1999/01/27 19:28:53 - Log: FreeBSD usethreads, based on private email with - Anton Berezin . - Branch: maint-5.005/perl - ! hints/freebsd.sh +[ 5741] By: gsar on 2000/03/14 21:17:34 + Log: update Changes; integrate cfgperl contents into mainline + Branch: perl + ! Changes + !> ext/Socket/Socket.xs patchlevel.h perl.h t/lib/complex.t ____________________________________________________________________________ -[ 2712] By: jhi on 1999/01/27 19:26:17 - Log: From: Ilya Zakharevich - To: Mailing list Perl5 - Subject: [PATCH 5.005_*] OS/2 threads - Date: Tue, 26 Jan 1999 13:39:46 -0500 - Message-ID: <19990126133946.A11594@monk.mps.ohio-state.edu> - Branch: maint-5.005/perl - ! os2/os2ish.h +[ 5740] By: gsar on 2000/03/14 20:57:12 + Log: perlfaq4 tweak (from Damian Conway ) + Branch: perl + ! pod/perlfaq4.pod ____________________________________________________________________________ -[ 2711] By: jhi on 1999/01/27 19:24:28 - Log: "make ok", "make okfile", and "make nok" were broken - with -Duseshrplib, because of a shared typo. - - From: Spider Boardman - To: perlbug@perl.com - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED) - Date: Wed, 27 Jan 1999 12:27:15 -0500 - Message-Id: <199901271727.MAA233455@web.zk3.dec.com> - Branch: maint-5.005/perl - ! Makefile.SH +[ 5739] By: gsar on 2000/03/14 20:53:07 + Log: allow alternates to negate correctly (from Johan Vromans) + Branch: perl + ! lib/Getopt/Long.pm ____________________________________________________________________________ -[ 2710] By: jhi on 1999/01/27 19:22:23 - Log: Errno fixes: - - From: Spider Boardman - To: perlbug@perl.com - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED) - Date: Wed, 27 Jan 1999 12:27:15 -0500 - Message-Id: <199901271727.MAA233455@web.zk3.dec.com> - - From: Spider Boardman - To: perlbug@perl.com - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED) - Date: Wed, 27 Jan 1999 13:31:16 -0500 - Message-Id: <199901271831.NAA241001@web.zk3.dec.com> - Branch: maint-5.005/perl - ! Configure ext/Errno/Errno_pm.PL +[ 5738] By: gsar on 2000/03/14 20:34:19 + Log: kludge our way around warnings on C + Branch: perl + ! ext/IO/lib/IO/Seekable.pm ____________________________________________________________________________ -[ 2709] By: jhi on 1999/01/27 19:17:35 - Log: Fix Configure installusrbinperl: - - From: Spider Boardman - To: jhi@iki.fi - cc: perl5-porters@perl.org - Subject: Re: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED) - Date: Wed, 27 Jan 1999 13:03:35 -0500 - Message-Id: <199901271803.NAA238257@web.zk3.dec.com> - Branch: maint-5.005/perl - ! Configure +[ 5737] By: gsar on 2000/03/14 20:06:23 + Log: protect special characters better against interpretation by *roff + (from Russ Allbery) + Branch: perl + ! lib/Pod/Man.pm ____________________________________________________________________________ -[ 2708] By: gbarr on 1999/01/26 04:14:42 - Log: Trial release 4 - Branch: maint-5.005/perl - ! Changes patchlevel.h pod/perlhist.pod +[ 5736] By: gsar on 2000/03/14 19:47:00 + Log: provide an explicit base address for perl56.dll to avoid relocations; + increase the default stack size (RE engine can use a lot more stack + than the 1MB default limit); default to using the regular version of + the MSVCRT even for DEBUGGING builds (this allows extensions to be + selectively built with debugging) + Branch: perl + ! win32/Makefile win32/makefile.mk ____________________________________________________________________________ -[ 2707] By: gbarr on 1999/01/26 02:06:17 - Log: Add redef IO::Handle::* for setv?buf() - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.pm +[ 5735] By: gsar on 2000/03/14 19:31:53 + Log: regen perltoc, other pod nits + Branch: perl + ! ext/IO/poll.c pod/Makefile pod/buildtoc pod/perlnumber.pod + ! pod/perltoc.pod pod/roffitall ____________________________________________________________________________ -[ 2706] By: jhi on 1999/01/24 22:26:12 - Log: Better AIX libc nm scan. - Branch: maint-5.005/perl - ! Configure +[ 5734] By: gsar on 2000/03/14 19:08:22 + Log: avoid dup warning (from Simon Cozens) + Branch: perl + ! regcomp.c ____________________________________________________________________________ -[ 2703] By: jhi on 1999/01/24 14:26:18 - Log: Minor Configure adjustments. - Branch: maint-5.005/perl - ! Configure +[ 5733] By: gsar on 2000/03/14 18:46:50 + Log: allow usemymalloc to be overridden via -Uusemymalloc + Branch: perl + ! hints/hpux.sh ____________________________________________________________________________ -[ 2702] By: jhi on 1999/01/24 13:57:33 - Log: Use usethreads.cbu consistently. - Branch: maint-5.005/perl - ! Configure hints/aix.sh hints/dec_osf.sh hints/dos_djgpp.sh - ! hints/freebsd.sh hints/hpux.sh hints/irix_4.sh hints/irix_5.sh - ! hints/irix_6.sh hints/irix_6_0.sh hints/irix_6_1.sh - ! hints/linux.sh hints/os2.sh hints/solaris_2.sh +[ 5732] By: gsar on 2000/03/14 17:23:47 + Log: test case for change#5700 (from M. J. T. Guy) + Branch: perl + ! t/op/universal.t ____________________________________________________________________________ -[ 2701] By: jhi on 1999/01/24 13:55:43 - Log: Mention year-1900 and month 0..11 also here. - Branch: maint-5.005/perl - ! lib/Time/Local.pm +[ 5731] By: gsar on 2000/03/14 17:15:44 + Log: revise README.win32 for currentness, point to function + list in perlport.pod (from a patch suggested by Dominic Dunlop) + Branch: perl + ! README.win32 pod/perlport.pod ____________________________________________________________________________ -[ 2700] By: jhi on 1999/01/24 13:52:36 - Log: Document Configure -Uinstallusrbinperl. - Branch: maint-5.005/perl - ! INSTALL pod/perldelta.pod +[ 5730] By: gsar on 2000/03/14 17:14:21 + Log: tweak sort() notes (from Nathan Torkington) + Branch: perl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 2699] By: jhi on 1999/01/24 13:01:57 - Log: perlopentut was missing. - Branch: maint-5.005/perl - + pod/perlopentut.pod - ! MANIFEST pod/perldelta.pod +[ 5729] By: jhi on 2000/03/14 15:13:13 + Log: Make the tests 1018 and 1019 more robust. + Branch: cfgperl + ! t/lib/complex.t ____________________________________________________________________________ -[ 2697] By: jhi on 1999/01/24 12:31:33 - Log: Remove t/op/grent.t (t/op/pwent.t was removed by #2685). - Branch: maint-5.005/perl - - t/op/grent.t - ! MANIFEST +[ 5728] By: jhi on 2000/03/14 15:07:48 + Log: Fix for one of the problems in RC1 reported by M. E. O'Neill + in NEXTSTEP 3.3p2. + Branch: cfgperl + ! ext/Socket/Socket.xs ____________________________________________________________________________ -[ 2696] By: gsar on 1999/01/24 11:39:39 - Log: integrate changes#2255,2694 from mainline - - another win32 portability fix: make sysread() and syswrite() - work on sockets - - better notes on 'make' on win32 - Branch: maint-5.005/perl - ! README.win32 pp_sys.c win32/win32.h +[ 5727] By: jhi on 2000/03/14 14:57:04 + Log: Integrate with Sarathy; unapply the #5539 that snekt in + with #5539. + Branch: cfgperl + +> pod/perldebguts.pod + ! patchlevel.h perl.h + !> MANIFEST lib/Text/Abbrev.pm lib/perl5db.pl pod/perl.pod + !> pod/perldebug.pod pod/perldelta.pod pod/perlnumber.pod + !> t/lib/io_sock.t utils/perlcc.PL utils/perldoc.PL + !> win32/makefile.mk ____________________________________________________________________________ -[ 2693] By: gbarr on 1999/01/24 00:53:31 - Log: Integrate changes #2646,2647 from cfgperl - - Show LANGUAGE env var when needed. (Augment change #2645). - - SHMLBA strikes back in NetBSD/sparc. - - From: Dave Nelson - To: jhi@iki.fi - Subject: perl5.005_02 + IPC::SysV + NetBSD/Sparc - Date: Mon, 18 Jan 1999 22:07:56 -0600 - Message-Id: <199901190407.WAA02543@longhorn.bellcow.com> - Branch: maint-5.005/perl - ! util.c utils/perlbug.PL - !> ext/IPC/SysV/SysV.xs +[ 5726] By: gsar on 2000/03/14 07:43:37 + Log: fixes for Borland compiler (from Vadim Konovalov + ) + Branch: perl + ! utils/perlcc.PL win32/makefile.mk ____________________________________________________________________________ -[ 2692] By: gbarr on 1999/01/24 00:28:52 - Log: Integrate #2630 from mainline and an errno save fix - Branch: maint-5.005/perl - !> doio.c +[ 5725] By: gsar on 2000/03/14 07:38:00 + Log: more efficient Text::Abbrev (from M.E. O'Neill ) + Branch: perl + ! lib/Text/Abbrev.pm ____________________________________________________________________________ -[ 2691] By: gbarr on 1999/01/24 00:28:37 - Log: Update CGI modules to 2.46 and Getopt::Long to 2.19 - Branch: maint-5.005/perl - ! lib/CGI.pm lib/CGI/Carp.pm lib/CGI/Cookie.pm lib/CGI/Fast.pm - ! lib/CGI/Push.pm lib/Getopt/Long.pm t/lib/cgi-html.t +[ 5724] By: gsar on 2000/03/14 05:59:02 + Log: integrate cfgperl changes into mainline, ignoring the + __attribute__((unused)) stuff that seems to have snuck + back in + Branch: perl + !> Todo-5.6 patchlevel.h perl.h pod/perl.pod pod/perlport.pod + !> vms/perlvms.pod ____________________________________________________________________________ -[ 2690] By: gbarr on 1999/01/23 23:35:39 - Log: Integrate #2681 from cfgperl - - Better (I hope) LANGUAGE documentation. - Branch: maint-5.005/perl - !> pod/perllocale.pod +[ 5723] By: gsar on 2000/03/14 05:49:08 + Log: patches for many bugs in the debugger; documentation updates for + perldelta; split perldebug.pod into perldeb{ug,guts}.pod (from + Tom Christiansen) + Branch: perl + + pod/perldebguts.pod + ! MANIFEST lib/perl5db.pl pod/perl.pod pod/perldebug.pod + ! pod/perldelta.pod pod/perlnumber.pod pod/perlport.pod ____________________________________________________________________________ -[ 2689] By: gbarr on 1999/01/23 23:31:59 - Log: More nosuid patches - - From: Jarkko Hietaniemi - Date: Fri, 22 Jan 1999 12:12:45 +0200 (EET) - Message-ID: <13992.20253.269284.841300@alpha.hut.fi> - Subject: Re: [PATCH] 5.005*: the "nosuid" problem: v2 - Branch: maint-5.005/perl - ! Configure config_h.SH perl.c perl.h pod/perldelta.pod - ! pod/perldiag.pod +[ 5722] By: gsar on 2000/03/14 05:37:29 + Log: add sleep() to avoid race on NeXT (from M.E. O'Neill + ) + Branch: perl + ! t/lib/io_sock.t ____________________________________________________________________________ -[ 2688] By: gbarr on 1999/01/23 23:03:39 - Log: From: Anton Berezin - Date: 21 Jan 1999 17:07:28 +0100 - Message-ID: <86emood2yn.fsf@lion.plab.ku.dk> - Subject: [PATCH 5.005_54] hints/freebsd.sh - reflect the birth of version 4.0 - Branch: maint-5.005/perl - ! hints/freebsd.sh +[ 5721] By: gsar on 2000/03/14 03:53:50 + Log: support a -U option when run as root to drop privileges (from + Tom Christiansen) + Branch: perl + ! utils/perldoc.PL ____________________________________________________________________________ -[ 2687] By: gbarr on 1999/01/23 22:52:58 - Log: overload syntax is no longer experimental - Branch: maint-5.005/perl - ! lib/overload.pm +[ 5720] By: jhi on 2000/03/14 03:43:51 + Log: move the big AVAILABILITY list to perlport as Supported Platforms + (Tom Christiansen); add few more platforms + Branch: cfgperl + ! pod/perl.pod pod/perlport.pod ____________________________________________________________________________ -[ 2685] By: gbarr on 1999/01/23 22:15:46 - Log: Remove t/op/pwent.t added from cfgperl, but is not robust. - Branch: maint-5.005/perl - - t/op/pwent.t - ! MANIFEST +[ 5719] By: jhi on 2000/03/14 02:44:55 + Log: more todo + Branch: cfgperl + ! Todo-5.6 ____________________________________________________________________________ -[ 2684] By: gbarr on 1999/01/23 22:13:07 - Log: More doc typos from Abigail, and undo some in lib/diagnostics.pm - from change #2672 - - From: abigail@fnx.com - Date: Tue, 19 Jan 1999 19:32:42 -0500 (EST) - Message-Id: <19990120003242.19938.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/CGI.pm] Typos - - From: abigail@fnx.com - Date: Tue, 19 Jan 1999 19:40:41 -0500 (EST) - Message-Id: <19990120004041.20052.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/CPAN.pm] Typos - Branch: maint-5.005/perl - ! lib/CGI.pm lib/CPAN.pm lib/diagnostics.pm +[ 5718] By: jhi on 2000/03/14 02:17:16 + Log: detypo + Branch: cfgperl + ! vms/perlvms.pod ____________________________________________________________________________ -[ 2677] By: gbarr on 1999/01/22 03:38:07 - Log: Integrate #2645, #2648 and update patching.pod - - Document the GNU LANGUAGE env var. - - Mention /usr/share/locale. - - From: Daniel Grisinger - Date: 21 Jan 1999 00:17:35 -0700 - Message-Id: - Subject: [PATCH] patching.pod, misc fixes (was Re: Which ? What ? Why ? When ?) - Branch: maint-5.005/perl - ! Porting/patching.pod - !> pod/perllocale.pod +[ 5717] By: jhi on 2000/03/14 02:00:24 + Log: Integrate with Sarathy. + Branch: cfgperl + ! patchlevel.h perl.h + !> (integrate 60 files) ____________________________________________________________________________ -[ 2676] By: gbarr on 1999/01/22 01:54:02 - Log: Fixup FindBin to use File::Spec - - Message-Id: <19990120185157.D24479@west-tip.transeda.com> - Date: Wed, 20 Jan 1999 18:51:57 +0000 - From: Paul Johnson - Subject: Re: [PATCH] 5005_54 Make FindBin work with UNC paths - Branch: maint-5.005/perl - ! lib/FindBin.pm +[ 5716] By: gsar on 2000/03/14 00:01:39 + Log: reference miscount in Devel::Peek that causes debugger to + crash unceremoniously when doing "V DB" etc., repeatedly + Branch: perl + ! ext/Devel/Peek/Peek.xs ____________________________________________________________________________ -[ 2675] By: gbarr on 1999/01/22 01:38:31 - Log: Add new config values added for nosuid fix into VMS configure - - From: Dan Sugalski - Date: Wed, 20 Jan 1999 12:05:18 -0800 - Message-Id: <3.0.6.32.19990120120518.00a98470@ous.edu> - Subject: [PATCH 5.005_03MT3]VMS configure tweak - Branch: maint-5.005/perl - ! vms/subconfigure.com +[ 5715] By: gsar on 2000/03/13 21:40:23 + Log: fixes for broken L<> links (from Wolfgang Laun + ) + Branch: perl + ! pod/Win32.pod pod/perlcall.pod pod/perlcompile.pod + ! pod/perldata.pod pod/perlfaq7.pod pod/perlfunc.pod + ! pod/perlguts.pod pod/perllocale.pod pod/perlnumber.pod + ! pod/perlop.pod pod/perlxstut.pod vms/perlvms.pod ____________________________________________________________________________ -[ 2674] By: gbarr on 1999/01/22 01:36:35 - Log: Fix for buggy compiler optimization on dec for pack("I",...) - - From: Achim Bohnet - Date: Wed, 20 Jan 1999 20:25:53 +0100 - Message-Id: <199901201925.UAA16940@o06.xray.mpe.mpg.de> - Subject: [PATCH] Not OK: perl 5.00503 +MAINT_TRIAL_3 on alpha-dec_osf 4.0 - Branch: maint-5.005/perl - ! pp.c +[ 5714] By: gsar on 2000/03/13 21:37:48 + Log: typos in perlboot.pod (from Randal L. Schwartz ) + Branch: perl + ! pod/perlboot.pod ____________________________________________________________________________ -[ 2673] By: gbarr on 1999/01/22 01:29:37 - Log: OS/2 patches from Ilya - - Date: Thu, 21 Jan 1999 02:08:27 -0500 - From: Ilya Zakharevich - Subject: [PATCH 5.00*] makedepend - Message-Id: <19990121020827.A25509@monk.mps.ohio-state.edu> - - Date: Thu, 21 Jan 1999 02:46:34 -0500 - From: Ilya Zakharevich - Subject: [PATCH 5.005_*] Errno.pm suffers from \\ too - Message-Id: <19990121024634.A25600@monk.mps.ohio-state.edu> - - Date: Thu, 21 Jan 1999 02:50:16 -0500 - From: Ilya Zakharevich - Subject: [PATCH 5.005_03] Resend of OS/2 patch - Message-Id: <19990121025016.A25612@monk.mps.ohio-state.edu> - - Date: Thu, 21 Jan 1999 03:58:29 -0500 - From: Ilya Zakharevich - Subject: [PATCH 5.005_*] OS2::PrfDB was exploiting a bug in U32 XSUBs - Message-Id: <19990121035829.A25822@monk.mps.ohio-state.edu> - Branch: maint-5.005/perl - ! ext/Errno/Errno_pm.PL makedepend.SH os2/Changes - ! os2/Makefile.SHs os2/OS2/PrfDB/PrfDB.xs os2/os2.c +[ 5713] By: gsar on 2000/03/13 21:36:24 + Log: avoid infinite loop in h2xs (from Hugo van der Sanden) + Branch: perl + ! utils/h2xs.PL ____________________________________________________________________________ -[ 2672] By: gbarr on 1999/01/22 01:05:45 - Log: More doc typo patches from Abigail - - From: abigail@fnx.com - Message-Id: <19990120001410.19645.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL 3 lib/AutoLoader.pm] Typos - Date: Tue, 19 Jan 1999 19:14:10 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120004312.20152.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/Carp.pm] Typo - Date: Tue, 19 Jan 1999 19:43:12 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120004429.20190.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/Cwd.pm] Typo - Date: Tue, 19 Jan 1999 19:44:29 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120005241.20693.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/Safe.pm] Typo - Date: Tue, 19 Jan 1999 19:52:41 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120005525.20788.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/SelfLoader.pm] Typos - Date: Tue, 19 Jan 1999 19:55:25 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120005821.20926.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/Symbol.pm] Typo - Date: Tue, 19 Jan 1999 19:58:21 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120010002.20973.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/Test.pm] Typo - Date: Tue, 19 Jan 1999 20:00:02 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120013823.23015.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/diagnostics.pm] Typos (ignore - Date: Tue, 19 Jan 1999 20:38:23 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120013909.23085.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/ops.pm] Typo - Date: Tue, 19 Jan 1999 20:39:09 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120015817.24306.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/overload.pm] Typos - Date: Tue, 19 Jan 1999 20:58:16 -0500 (EST) - - From: abigail@fnx.com - Message-Id: <19990120020326.24373.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL3 lib/re.pm] Typos - Date: Tue, 19 Jan 1999 21:03:26 -0500 (EST) - Branch: maint-5.005/perl - ! ext/Opcode/Safe.pm ext/Opcode/ops.pm ext/re/re.pm - ! lib/AutoLoader.pm lib/Carp.pm lib/Cwd.pm lib/SelfLoader.pm - ! lib/Symbol.pm lib/Test.pm lib/diagnostics.pm lib/overload.pm +[ 5712] By: gsar on 2000/03/13 21:29:15 + Log: lexical warnings update for docs and tests (from Paul Marquess) + Branch: perl + ! ext/File/Glob/Glob.pm lib/fields.pm pod/perl.pod + ! pod/perldata.pod pod/perldbmfilter.pod pod/perlfaq3.pod + ! pod/perlfaq4.pod pod/perlfaq7.pod pod/perlfilter.pod + ! pod/perlipc.pod pod/perlmod.pod pod/perlmodlib.pod + ! pod/perlop.pod pod/perlre.pod pod/perlref.pod pod/perlrun.pod + ! pod/perlstyle.pod pod/perlsyn.pod pod/perltie.pod + ! pod/perltrap.pod pod/perlunicode.pod pod/perlxstut.pod + ! t/io/open.t t/lib/fields.t t/lib/parsewords.t + ! t/op/assignwarn.t t/op/gv.t t/op/hashwarn.t t/op/magic.t + ! t/op/pack.t t/op/pat.t t/op/sort.t t/op/sprintf.t + ! t/pragma/constant.t t/pragma/locale.t ____________________________________________________________________________ -[ 2671] By: gbarr on 1999/01/22 00:40:13 - Log: Fix win32 for Borland compiler and spaces in paths - - From: Gurusamy Sarathy - Date: Mon, 18 Jan 1999 20:33:17 -0800 - Message-Id: <199901190433.UAA03656@activestate.com> - Subject: [PATCH] 5.005_03-trial3 win32 issues - Branch: maint-5.005/perl - ! README.win32 win32/Makefile win32/config_sh.PL - ! win32/makefile.mk win32/runperl.c +[ 5711] By: gsar on 2000/03/13 21:08:29 + Log: updates from PodParser v1.12 on CPAN (from Brad Appleton) + Branch: perl + ! lib/Pod/Checker.pm lib/Pod/Find.pm lib/Pod/InputObjects.pm + ! lib/Pod/ParseUtils.pm lib/Pod/Parser.pm lib/Pod/Select.pm + ! lib/Pod/Usage.pm t/pod/poderrs.xr t/pod/testp2pt.pl + ! t/pod/testpchk.pl ____________________________________________________________________________ -[ 2637] By: gbarr on 1999/01/18 02:52:18 - Log: Update DB_File to 1.63 - - From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Date: Tue, 29 Dec 1998 16:23:54 +0000 (GMT) - Message-Id: <9812291623.AA20884@claudius.bfsec.bt.co.uk> - Subject: PATCH DB_File 1.63 for 5.005_54 & 5.005_03 - Branch: maint-5.005/perl - ! ext/DB_File/Changes ext/DB_File/DB_File.pm - ! ext/DB_File/DB_File.xs ext/DB_File/dbinfo ext/DB_File/typemap +[ 5710] By: gsar on 2000/03/13 20:46:37 + Log: cleaner logic in op.c, also avoids QNX optimizer bug (from Norton + Allen ) + Branch: perl + ! op.c ____________________________________________________________________________ -[ 2636] By: gbarr on 1999/01/17 18:03:31 - Log: Trial release 3 - Branch: maint-5.005/perl - ! Changes patchlevel.h +[ 5709] By: gsar on 2000/03/13 20:43:30 + Log: mention changes to diagnostics + Branch: perl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2635] By: gbarr on 1999/01/17 17:32:01 - Log: Update to CPAN-1.44 - - From: Mark-Jason Dominus - Date: Sat, 16 Jan 1999 17:22:06 -0500 - Message-ID: <19990116222206.3674.qmail@plover.com> - Subject: Re: DOC PATCH (5.005_54 perlsub.pod) - Branch: maint-5.005/perl - ! lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm - ! pod/perlsub.pod +[ 5708] By: gsar on 2000/03/13 20:34:38 + Log: ignore const for the purposes of typemaps (from Hugo van der Sanden) + Branch: perl + ! lib/ExtUtils/xsubpp ____________________________________________________________________________ -[ 2634] By: gbarr on 1999/01/17 17:27:12 - Log: Fix for suidperl when script is on a nosuid filesystem - - From: Jarkko Hietaniemi - Date: Sun, 17 Jan 1999 16:27:06 +0200 (EET) - Message-ID: <13985.62266.324824.292401@alpha.hut.fi> - Subject: [PATCH] 5.005*: the "nosuid" problem: v2 - Branch: maint-5.005/perl - ! Configure config_h.SH perl.c perl.h pod/perldiag.pod +[ 5707] By: gsar on 2000/03/13 20:23:24 + Log: don't check for errno after Atof() (atof() doesn't set errno, and + where Atof() is actually strto[l]d(), some platforms seem to want + to set errno randomly) + Branch: perl + ! toke.c ____________________________________________________________________________ -[ 2618] By: gbarr on 1999/01/16 19:18:26 - Log: Added Dumpvalue.pm - - From: Ilya Zakharevich - Date: Mon, 7 Dec 1998 02:44:25 -0500 (EST) - Message-Id: <199812070744.CAA18949@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Dumpvar.pm - Branch: maint-5.005/perl - + lib/Dumpvalue.pm - ! MANIFEST pod/perldelta.pod +[ 5706] By: gsar on 2000/03/13 18:14:18 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure config_h.SH hints/hpux.sh hints/solaris_2.sh mg.c + !> perl.h pod/perl.pod pp.c ____________________________________________________________________________ -[ 2617] By: gbarr on 1999/01/16 19:09:36 - Log: Minor change to perlxstut and added perlopentut.pod - - From: Nathan Torkington - Date: Sat, 26 Dec 1998 14:28:21 +1300 (NZDT) - Message-ID: <13956.15285.933914.320849@localhost.frii.com> - Subject: [PATCH] perlxstut.pod fix - - From: Tom Christiansen - Date: Sat, 09 Jan 1999 08:13:18 -0700 - Message-Id: <199901091513.IAA17512@jhereg.perl.com> - Subject: perlopentut.pod - Branch: maint-5.005/perl - ! MANIFEST pod/perl.pod pod/perldelta.pod pod/perlxstut.pod - ! pod/roffitall +[ 5705] By: jhi on 2000/03/13 14:44:11 + Log: STRLEN != int. + Branch: cfgperl + ! mg.c ____________________________________________________________________________ -[ 2616] By: gbarr on 1999/01/16 18:59:55 - Log: Win32 changes from Jan - - From: jan.dubois@ibm.net (Jan Dubois) - Date: Fri, 15 Jan 1999 23:38:35 +0100 - Message-ID: <36a7c10d.16311905@smtp1.ibm.net> - Subject: [PATCH 5.005_03m2] Win32 Makefile patches - - From: jan.dubois@ibm.net (Jan Dubois) - Date: Sat, 16 Jan 1999 13:02:45 +0100 - Message-ID: <36a07da6.10722337@smtp1.ibm.net> - Subject: [PATCH 5.005_03m2] minor tweaks to README.win32 - Branch: maint-5.005/perl - ! README.win32 win32/Makefile win32/makefile.mk +[ 5704] By: jhi on 2000/03/13 13:18:07 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/warnings/register.pm + !> (integrate 42 files) ____________________________________________________________________________ -[ 2615] By: gbarr on 1999/01/16 18:48:48 - Log: Jumbo patch from Sarathy for PERL_OBJECT & USE_THREADS - - From: Gurusamy Sarathy - Date: Thu, 07 Jan 1999 00:12:00 -0500 - Message-Id: <199901070512.AAA23568@aatma.engin.umich.edu> - Subject: Re: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds - - From: Gurusamy Sarathy - Date: Thu, 14 Jan 1999 19:21:46 -0500 - Message-Id: <199901150021.TAA01886@aatma.engin.umich.edu> - Subject: Re: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds - Branch: maint-5.005/perl - ! embed.h global.sym lib/ExtUtils/MM_Unix.pm objXSUB.h objpp.h - ! op.c perl.c perl.h perly.c perly.y perly_c.diff pp.c proto.h - ! sv.c t/io/fs.t toke.c win32/GenCAPI.pl win32/config.bc - ! win32/makedef.pl win32/runperl.c win32/win32.c +[ 5703] By: gsar on 2000/03/13 12:40:51 + Log: mention autoflush portability caveat + Branch: perl + ! pod/perlfunc.pod pod/perlop.pod pod/perlport.pod ____________________________________________________________________________ -[ 2614] By: gbarr on 1999/01/16 16:48:38 - Log: From: Jarkko Hietaniemi - Date: Fri, 15 Jan 1999 17:28:34 +0200 (EET) - Message-Id: <199901151528.RAA08785@alpha.hut.fi> - Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: NetBSD patches - - From: Jarkko Hietaniemi - Date: Fri, 15 Jan 1999 18:44:19 +0200 (EET) - Message-Id: <199901151644.SAA08184@alpha.hut.fi> - Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: allow skipping the "install also as /usr/bin/perl" question of installperl - - From: Jarkko Hietaniemi - Date: Fri, 15 Jan 1999 18:52:29 +0200 (EET) - Message-Id: <199901151652.SAA11259@alpha.hut.fi> - Subject: the promised "installusrbinperl + NetBSD" fix - Branch: maint-5.005/perl - ! Configure Makefile.SH hints/netbsd.sh installperl - ! makedepend.SH unixish.h +[ 5702] By: gsar on 2000/03/13 11:09:05 + Log: final touches for lexical warnings (from Paul Marquess) + Branch: perl + + lib/warnings/register.pm + ! MANIFEST ext/IO/lib/IO/Select.pm ext/Socket/Socket.pm + ! lib/Class/Struct.pm lib/I18N/Collate.pm lib/Tie/Handle.pm + ! lib/Tie/Hash.pm lib/Tie/Scalar.pm lib/constant.pm + ! lib/syslog.pl lib/vars.pm lib/warnings.pm mg.c perl.c + ! pod/perllexwarn.pod pp_ctl.c t/lib/filepath.t t/lib/io_sel.t + ! t/lib/socket.t t/lib/tie-stdhandle.t t/op/tie.t + ! t/pragma/constant.t t/pragma/diagnostics.t t/pragma/warn/2use + ! t/pragma/warn/9enabled warnings.h warnings.pl ____________________________________________________________________________ -[ 2613] By: gbarr on 1999/01/16 16:28:40 - Log: From: Laszlo Molnar - Date: Thu, 14 Jan 1999 22:37:26 +0100 - Message-ID: <19990114223726.A177@beeblebrox> - Subject: [PATCH for 5.005_03-MAINT_TRIAL_2] dos-djgpp update - Branch: maint-5.005/perl - ! djgpp/config.over djgpp/djgpp.c +[ 5701] By: gsar on 2000/03/13 11:00:00 + Log: avoid compiler warnings + Branch: perl + ! pp_hot.c ____________________________________________________________________________ -[ 2612] By: gbarr on 1999/01/16 16:27:25 - Log: Hints for sco.sh to automatically support dynamic linking - - From: Peter Wolfe - Date: Mon, 11 Jan 1999 11:50:20 -0800 (PST) - Message-Id: <199901111950.LAA01703@titan.teloseng.com> - Subject: SCO 3.2v5 patch for perl5.005_03-MAINT_TRIAL_1 - Branch: maint-5.005/perl - ! hints/sco.sh +[ 5700] By: gsar on 2000/03/13 09:57:59 + Log: make the is_utf8_*() safe for use on invalid utf8 (they now + return false on such input instead of emitting warnings) + Branch: perl + ! embed.h embed.pl global.sym gv.c objXSUB.h perlapi.c + ! pod/perlapi.pod proto.h universal.c utf8.c ____________________________________________________________________________ -[ 2610] By: gbarr on 1999/01/14 03:07:33 - Log: Fix login in installperl for pods - - From: Robin Barker - Date: Mon, 4 Jan 1999 13:50:10 GMT - Message-Id: <199901041350.NAA19665@cyclone.cise.npl.co.uk> - Subject: PATCH to installperl - Branch: maint-5.005/perl - ! installperl +[ 5699] By: gsar on 2000/03/13 06:59:57 + Log: the premature FREETMPS calls in change#1187 weren't defensive enough + Branch: perl + ! pp_ctl.c pp_hot.c t/op/recurse.t ____________________________________________________________________________ -[ 2609] By: gbarr on 1999/01/14 03:04:37 - Log: Fix incorrect "used only once" warnings - - From: Ilya Zakharevich - Date: Fri, 8 Jan 1999 04:37:10 -0500 - Message-ID: <19990108043710.A14390@monk.mps.ohio-state.edu> - Subject: Re: change#965 flakiness - Branch: maint-5.005/perl - ! gv.c +[ 5698] By: jhi on 2000/03/13 05:03:37 + Log: hints nibbling continues + Branch: cfgperl + ! hints/hpux.sh ____________________________________________________________________________ -[ 2608] By: gbarr on 1999/01/14 02:56:46 - Log: Fixed double GLOB de-reference - - From: Gurusamy Sarathy - Date: Sat, 09 Jan 1999 23:40:24 -0500 - Message-Id: <199901100440.XAA12360@aatma.engin.umich.edu> - Subject: Re: IO::Pipe with perl -d (on HPUX) - Branch: maint-5.005/perl - ! ext/IO/lib/IO/Pipe.pm +[ 5697] By: jhi on 2000/03/13 04:45:57 + Log: there's no end to tweaking + Branch: cfgperl + ! hints/hpux.sh ____________________________________________________________________________ -[ 2607] By: gbarr on 1999/01/14 02:53:40 - Log: Added Carp::cluck to perldelta.pod - Branch: maint-5.005/perl - ! pod/perldelta.pod +[ 5696] By: jhi on 2000/03/13 04:26:15 + Log: hints tweak + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5695] By: bailey on 2000/03/13 03:54:09 + Log: Trim out leftover hunk from prior resolve conflict + Branch: vmsperl + ! lib/File/Spec/VMS.pm +____________________________________________________________________________ +[ 5694] By: bailey on 2000/03/13 03:20:20 + Log: Assorted configuration cleanups (Peter Prymmer, and a + bit from Charles Bailey and Dan Sugalski) + Branch: vmsperl + ! configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 5693] By: bailey on 2000/03/13 03:00:16 + Log: Add vmsish 'hushed' option to suppress error messages at exit + Branch: vmsperl + ! perl.h vms/ext/vmsish.pm vms/ext/vmsish.t vms/test.com + ! vms/vmsish.h +____________________________________________________________________________ +[ 5692] By: bailey on 2000/03/13 02:50:10 + Log: Fix inverted test conditions for secure lnm translation + and default file types. (Dan Sugalski) + Branch: vmsperl + ! vms/subconfigure.com +____________________________________________________________________________ +[ 5691] By: bailey on 2000/03/13 02:41:36 + Log: Insulate tests of default display_format from different precision + on different machines by truncating at 1 digit less than the most + common choice (.15g) + Branch: vmsperl + ! t/lib/complex.t +____________________________________________________________________________ +[ 5690] By: bailey on 2000/03/13 02:31:44 + Log: Resync with mainline post RC1 + Branch: vmsperl + +> lib/Pod/Plainer.pm + !> (integrate 137 files) +____________________________________________________________________________ +[ 5689] By: bailey on 2000/03/13 02:22:24 + Log: Update File::Spec::VMS and tests + Since reduce_ricochet has been removed from File::Spec, + revert changes to VMS::Filespec::vmsify made to accomodate it. + Branch: vmsperl + ! lib/File/Spec/VMS.pm t/lib/filespec.t vms/ext/filespec.t + ! vms/vms.c +____________________________________________________________________________ +[ 5688] By: bailey on 2000/03/13 02:12:11 + Log: Basic 5.6.0 RC1 build patches for VMS + Branch: vmsperl + ! configure.com t/pragma/warn/doio t/pragma/warn/util + ! vms/subconfigure.com +____________________________________________________________________________ +[ 5687] By: jhi on 2000/03/13 00:41:51 + Log: Solaris long double fixes from Alan Burlison. + Branch: cfgperl + ! hints/solaris_2.sh perl.h pp.c ____________________________________________________________________________ -[ 2606] By: gbarr on 1999/01/14 02:44:04 - Log: New perlfaq*.pod from Tom (private mail) - Branch: maint-5.005/perl - ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod - ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod - ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod - ! pod/perlfaq9.pod +[ 5686] By: jhi on 2000/03/13 00:17:13 + Log: Integrate with Sarathy. + Branch: cfgperl + !> dump.c hints/hpux.sh op.c pod/perldelta.pod t/op/misc.t ____________________________________________________________________________ -[ 2584] By: gbarr on 1999/01/08 04:50:56 - Log: implemented Ilya's suggested fix, and added a testcase - - From: Ilya Zakharevich - Date: Tue, 5 Jan 1999 00:56:01 -0500 (EST) - Message-Id: <199901050556.AAA02597@monk.mps.ohio-state.edu> - Subject: Re: Text::ParseWords: regex fix - Branch: maint-5.005/perl - ! lib/Text/ParseWords.pm t/lib/parsewords.t +[ 5685] By: jhi on 2000/03/13 00:13:17 + Log: Retract #5680, it broke more than it helped. + Branch: cfgperl + ! hints/hpux.sh ____________________________________________________________________________ -[ 2583] By: gbarr on 1999/01/08 04:50:03 - Log: From: Jarkko Hietaniemi - Date: Thu, 7 Jan 1999 12:47:38 +0200 (EET) - Message-Id: <199901071047.MAA24100@alpha.hut.fi> - Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: ext/Errno_pm.PL: understand wrapper cppstdins - Branch: maint-5.005/perl - ! ext/Errno/Errno_pm.PL +[ 5684] By: gsar on 2000/03/12 21:48:44 + Log: set optimize=-O only if not already set + Branch: perl + ! hints/hpux.sh ____________________________________________________________________________ -[ 2582] By: gbarr on 1999/01/08 03:37:55 - Log: More doc changes from Abigail, and included change #2575 from cfgperl - - From: abigail@fnx.com - Message-ID: <19990107041434.22326.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Time/gmtime.pm] Typo fix - Date: Wed, 6 Jan 1999 23:14:34 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107041746.22376.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Time/localtime.pm] Typo fix - Date: Wed, 6 Jan 1999 23:17:46 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107042105.22527.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/User/grent.pm] Typo fix - Date: Wed, 6 Jan 1999 23:21:05 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107042254.22624.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/User/pwent.pw] Typo fix - Date: Wed, 6 Jan 1999 23:22:54 -0500 (EST) - Branch: maint-5.005/perl - ! lib/Math/Trig.pm lib/Time/gmtime.pm lib/Time/localtime.pm - ! lib/User/grent.pm lib/User/pwent.pm +[ 5683] By: gsar on 2000/03/12 20:11:45 + Log: another optimized-OP_SASSIGN bug: ops that were not OA_TARGLEX + were being mistakenly subverted anyway + Branch: perl + ! dump.c op.c pod/perldelta.pod t/op/misc.t ____________________________________________________________________________ -[ 2578] By: gbarr on 1999/01/07 04:30:26 - Log: From: Dan Sugalski - Date: Wed, 06 Jan 1999 13:47:34 -0800 - Message-Id: <3.0.6.32.19990106134734.0334d260@ous.edu> - Subject: [PATCH 5.005_02-MT2, 5.005_5x]VMS.C tweak for occasional system() error - Branch: maint-5.005/perl - ! vms/vms.c +[ 5682] By: jhi on 2000/03/12 18:11:52 + Log: update AVAILABILITY for LynxOS + Branch: cfgperl + ! pod/perl.pod ____________________________________________________________________________ -[ 2577] By: gbarr on 1999/01/07 04:26:28 - Log: Another set of doc patches from Abigail - - From: abigail@fnx.com - Message-ID: <19990107032132.20124.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRAIL2 lib/Net/hostent.pm] Typo fix - Date: Wed, 6 Jan 1999 22:21:32 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107032445.20178.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Net/netent.pm] Typo fix - Date: Wed, 6 Jan 1999 22:24:45 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107032834.20362.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRAIL2 lib/Term/Complete.pm] Typo fix - Date: Wed, 6 Jan 1999 22:28:34 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107033136.20440.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRAIL2 lib/Term/ReadLine.pm] Typo fix - Date: Wed, 6 Jan 1999 22:31:36 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107033351.20540.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/CGI/Apache.pm] Typo fix - Date: Wed, 6 Jan 1999 22:33:51 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107033933.20707.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/CGI/Push.pm] Typo fix - Date: Wed, 6 Jan 1999 22:39:33 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107034548.20936.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/File/Copy.pm] Typo fixes - Date: Wed, 6 Jan 1999 22:45:48 -0500 (EST) +[ 5681] By: jhi on 2000/03/12 18:03:46 + Log: 64-bitness hints tweaks + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5680] By: jhi on 2000/03/12 17:49:25 + Log: 64-bitness tweak: separate 64bitint and 64bitall. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5679] By: jhi on 2000/03/12 17:43:09 + Log: metaconfig-ify #5676. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! fflushall.U +____________________________________________________________________________ +[ 5678] By: jhi on 2000/03/12 17:37:14 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes Configure Todo lib/File/DosGlob.pm +____________________________________________________________________________ +[ 5677] By: gsar on 2000/03/12 11:35:10 + Log: integrate cfgperl changes into mainline + Branch: perl + ! Changes Todo + !> Todo-5.6 perl.h pod/perldelta.pod +____________________________________________________________________________ +[ 5676] By: gsar on 2000/03/12 11:27:38 + Log: don't bother testing if we can flush all handles when fflush(stdin) + shows the pipe bug + Branch: perl + ! Configure +____________________________________________________________________________ +[ 5675] By: jhi on 2000/03/12 05:08:29 + Log: continue flogging the string->int conversion ifdefs + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5674] By: gsar on 2000/03/12 05:01:30 + Log: fix File::DosGlob for patterns with drive names like c:*.bat + (suggested by Jason Mathews ) + Branch: perl + ! lib/File/DosGlob.pm +____________________________________________________________________________ +[ 5673] By: jhi on 2000/03/12 04:48:14 + Log: Integrate with Sarathy. + Branch: cfgperl + !> doop.c perl.h pod/perldelta.pod pod/perldiag.pod + !> pod/perlpod.pod toke.c utils/perldoc.PL +____________________________________________________________________________ +[ 5672] By: gsar on 2000/03/12 03:57:23 + Log: security fixes for perldoc (from Tom Christiansen) + Branch: perl + ! utils/perldoc.PL +____________________________________________________________________________ +[ 5671] By: gsar on 2000/03/12 03:45:27 + Log: Larry's patch to disallow CORE::Snark, with perldiag entry + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod toke.c +____________________________________________________________________________ +[ 5670] By: gsar on 2000/03/12 03:36:17 + Log: insufficient buffer in change#5317 + Branch: perl + ! doop.c +____________________________________________________________________________ +[ 5669] By: gsar on 2000/03/12 03:15:29 + Log: avoid L for now, not all the pod2foo support it + Branch: perl + ! pod/perlpod.pod +____________________________________________________________________________ +[ 5668] By: gsar on 2000/03/12 02:35:55 + Log: rework change#5664 + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 5667] By: jhi on 2000/03/11 21:35:29 + Log: todo and perldelta updates + Branch: cfgperl + ! Todo Todo-5.6 pod/perldelta.pod +____________________________________________________________________________ +[ 5666] By: jhi on 2000/03/11 21:00:34 + Log: Integrate with Sarathy. + Branch: cfgperl + !> perl.h +____________________________________________________________________________ +[ 5665] By: jhi on 2000/03/11 20:58:58 + Log: Fixes for #5661. + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5664] By: gsar on 2000/03/11 19:50:06 + Log: fix Strtoul() misdefinition is change#5661 + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 5663] By: gsar on 2000/03/11 19:21:18 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure config_h.SH hints/solaris_2.sh perl.h + !> t/pragma/warn/pp_hot toke.c +____________________________________________________________________________ +[ 5662] By: jhi on 2000/03/11 19:06:20 + Log: Integrate with Sarathy. + Branch: cfgperl + !> cop.h perl.c pp_ctl.c t/op/eval.t t/op/misc.t +____________________________________________________________________________ +[ 5661] By: jhi on 2000/03/11 19:03:32 + Log: Use Atof() instead of bare strtod(); ditto for Atol()/Atoul() + (introduce the latter) instead of bare strtoll()/strtoll(). + Branch: cfgperl + ! perl.h toke.c +____________________________________________________________________________ +[ 5660] By: gsar on 2000/03/11 18:40:49 + Log: another long-standing eval bug: return doesn't reset $@ correctly + Branch: perl + ! pp_ctl.c t/op/eval.t +____________________________________________________________________________ +[ 5659] By: jhi on 2000/03/11 18:27:54 + Log: metaconfig-ify the test for broken fflush(NULL) + (which ails e.g. Solaris), from Ulrich Pfeifer. + Branch: cfgperl + ! Configure config_h.SH hints/solaris_2.sh + Branch: metaconfig/U/perl + ! d_unorderedl.U fflushall.U +____________________________________________________________________________ +[ 5658] By: gsar on 2000/03/11 18:11:22 + Log: change#3511 was not defensive enough about try blocks, causing + bogus attempts to free closures, and thence, segfaults + Branch: perl + ! cop.h perl.c pp_ctl.c t/op/misc.t +____________________________________________________________________________ +[ 5657] By: jhi on 2000/03/11 18:04:44 + Log: Rewording. + Branch: cfgperl + ! t/pragma/warn/pp_hot +____________________________________________________________________________ +[ 5656] By: jhi on 2000/03/11 17:41:29 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 27 files) +____________________________________________________________________________ +[ 5655] By: gsar on 2000/03/11 17:06:03 + Log: reword comment + Branch: perl + ! t/pragma/warn/pp_hot +____________________________________________________________________________ +[ 5654] By: gsar on 2000/03/11 17:01:47 + Log: off-by-one in os2.c (from Ilya Zakharevich) + Branch: perl + ! os2/os2.c +____________________________________________________________________________ +[ 5653] By: gsar on 2000/03/11 16:59:48 + Log: File::Spec::VMS fixups, *not tested* on VMS (from Barrie Slaymaker) + Branch: perl + ! lib/File/Spec/VMS.pm t/lib/filespec.t +____________________________________________________________________________ +[ 5652] By: gsar on 2000/03/11 16:52:03 + Log: missing export list entry in change#5619 + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5651] By: gsar on 2000/03/11 16:50:05 + Log: avoid using context pointer in MUTEX_INIT() et al; remove the + *_NOCONTEXT variants to keep it simple + Branch: perl + ! malloc.c thread.h win32/win32thread.h +____________________________________________________________________________ +[ 5650] By: gsar on 2000/03/11 16:07:35 + Log: remove =for section (from Johan Vromans) + Branch: perl + ! lib/Getopt/Long.pm +____________________________________________________________________________ +[ 5649] By: gsar on 2000/03/11 16:05:50 + Log: add nokfile target in Makefile (from Andy Dougherty) + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 5648] By: gsar on 2000/03/11 16:02:53 + Log: mention podchecker (from Tim Jenness ) + Branch: perl + ! pod/perlpod.pod +____________________________________________________________________________ +[ 5647] By: gsar on 2000/03/11 16:01:03 + Log: VMS build tweaks (from Charles Bailey) + Branch: perl + ! configure.com perl.c t/pragma/warn/doio t/pragma/warn/util + ! vms/subconfigure.com +____________________________________________________________________________ +[ 5646] By: gsar on 2000/03/11 10:13:27 + Log: remove outdated ftp.cis.ufl.edu reference + Branch: perl + ! pod/perlfaq2.pod +____________________________________________________________________________ +[ 5645] By: gsar on 2000/03/11 10:10:39 + Log: failed hunk in change#5644 + Branch: perl + ! t/op/pat.t +____________________________________________________________________________ +[ 5644] By: gsar on 2000/03/11 10:08:47 + Log: fix optimizer bug in /^(?p{"a"})b/ (from Ilya Zakharevich) + Branch: perl + ! regcomp.c t/op/pat.t +____________________________________________________________________________ +[ 5643] By: gsar on 2000/03/11 09:48:30 + Log: better {local,gm}time documentation (from Mark-Jason Dominus) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5642] By: gsar on 2000/03/11 09:45:10 + Log: tweaks for lynxos build (from Ed Mooring ) + Branch: perl + ! doio.c hints/lynxos.sh perl.h +____________________________________________________________________________ +[ 5641] By: gsar on 2000/03/11 09:42:56 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure Todo-5.6 config_h.SH hints/irix_6.sh + !> lib/Math/Complex.pm regcomp.c t/op/64bit.t +____________________________________________________________________________ +[ 5640] By: gsar on 2000/03/11 09:24:30 + Log: perldelta update, typos and whitespace adjustments + Branch: perl + ! lib/open.pm miniperlmain.c pod/perldelta.pod win32/perllib.c +____________________________________________________________________________ +[ 5639] By: jhi on 2000/03/11 00:51:48 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 44 files) +____________________________________________________________________________ +[ 5638] By: jhi on 2000/03/11 00:45:46 + Log: Cpp out deadcode that IRIX compiler noticed. + Branch: cfgperl + ! regcomp.c +____________________________________________________________________________ +[ 5637] By: jhi on 2000/03/10 14:22:24 + Log: Do not use Perl's malloc in IRIX. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5636] By: jhi on 2000/03/10 05:27:03 + Log: More/modified unused floating point units. + Branch: metaconfig/U/perl + + d_fp_class_l.U d_unordered.U d_unorderedl.U + ! d_fpclass.U +____________________________________________________________________________ +[ 5635] By: jhi on 2000/03/10 01:54:07 + Log: Add various yet-unused units. + Branch: metaconfig/U/perl + + d_class.U d_fchdir.U d_finite.U d_fp_class.U d_fp_classl.U + + d_fpclass.U d_fpclassify.U d_frexpl.U d_futimes.U + + d_getitimer.U d_getrlimit.U d_iconv.U d_isfinite.U d_isinf.U + + d_isnan.U d_isnanl.U d_lchmod.U d_lutimes.U d_setitimer.U + + d_setrlimit.U d_ualarm.U d_utimes.U +____________________________________________________________________________ +[ 5634] By: jhi on 2000/03/10 01:07:54 + Log: Fix goofups noticed by Mark Bixby and Jeff Okamoto. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/compline/nblock_io.U + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5633] By: jhi on 2000/03/09 23:22:33 + Log: Remove an obsolete note. + Branch: cfgperl + ! t/op/64bit.t +____________________________________________________________________________ +[ 5632] By: gsar on 2000/03/09 18:50:43 + Log: update Changes + Branch: perl + ! Changes +____________________________________________________________________________ +[ 5631] By: gsar on 2000/03/09 18:49:12 + Log: track more of the child state on Windows + Branch: perl + ! win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5630] By: gsar on 2000/03/09 18:48:05 + Log: UNIVERSAL::isa() and UNIVERSAL::can() fail for magic values + Branch: perl + ! universal.c +____________________________________________________________________________ +[ 5629] By: gsar on 2000/03/09 18:37:35 + Log: tweak Unicode notes, other cleanups + Branch: perl + ! Changes lib/bytes.pm lib/utf8.pm pod/perldelta.pod + ! pod/perlhist.pod pod/perlunicode.pod +____________________________________________________________________________ +[ 5628] By: gsar on 2000/03/09 17:39:58 + Log: support binmode(F,":crlf") and use open IN => ":raw", OUT => ":crlf" + semantics; the pragma sets defaults for both open() and qx// + Branch: perl + ! doio.c dosish.h embed.h embed.pl epoc/epocish.h lib/open.pm + ! mpeix/mpeixish.h op.c op.h opcode.h opcode.pl os2/os2ish.h + ! perl.h perlapi.c plan9/plan9ish.h pod/perlfunc.pod pp.sym + ! pp_proto.h pp_sys.c proto.h sv.h vms/vmsish.h vos/vosish.h +____________________________________________________________________________ +[ 5627] By: gsar on 2000/03/09 12:54:08 + Log: avoid autoflushing behavior of fork/system/exec on Solaris (thanks + to fflush(NULL) bug) + Branch: perl + ! hints/solaris_2.sh pod/perldelta.pod +____________________________________________________________________________ +[ 5626] By: gsar on 2000/03/09 11:34:51 + Log: abort build on HP-UX if bundled non-ANSI compiler is detected + (from Dominic Dunlop ) + Branch: perl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5625] By: gsar on 2000/03/09 11:17:07 + Log: patch from Larry to make -T filetest algorithm recognize utf8 as + "text" + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 5624] By: gsar on 2000/03/09 11:11:59 + Log: provide support for deleting actions etc. (from Ronald J Kimball + ) + Branch: perl + ! lib/perl5db.pl pod/perldebug.pod +____________________________________________________________________________ +[ 5623] By: gsar on 2000/03/09 06:39:21 + Log: new xsubpp keywords should be in all caps + Branch: perl + ! lib/ExtUtils/xsubpp +____________________________________________________________________________ +[ 5622] By: gsar on 2000/03/09 06:26:04 + Log: demand-load utf8.pm in swash routines + Branch: perl + ! op.c utf8.c +____________________________________________________________________________ +[ 5621] By: gsar on 2000/03/08 19:27:02 + Log: make Dump() call the XSUB implementation transparently (modified + version of patch suggested by David Boyce ) + Branch: perl + ! ext/Data/Dumper/Dumper.pm ext/Data/Dumper/Dumper.xs + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5620] By: gsar on 2000/03/08 18:35:48 + Log: do FILE should not see outside lexicals (from Rick Delaney + ) + Branch: perl + ! op.c pp_ctl.c t/comp/require.t +____________________________________________________________________________ +[ 5619] By: gsar on 2000/03/08 18:04:45 + Log: abstract code for C into a Perl_load_module() + API function + Branch: perl + ! doio.c embed.h embed.pl global.sym objXSUB.h op.c op.h + ! perlapi.c pp_sys.c proto.h +____________________________________________________________________________ +[ 5618] By: jhi on 2000/03/08 18:03:30 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/Pod/Plainer.pm + !> Changes MANIFEST dosish.h embedvar.h lib/Pod/InputObjects.pm + !> lib/Pod/Parser.pm makedef.pl op.c op.h perl.c perlapi.h + !> perlvars.h pod/perlop.pod pod/pod2latex.PL sv.c unixish.h + !> vms/vmsish.h +____________________________________________________________________________ +[ 5617] By: jhi on 2000/03/08 15:44:05 + Log: ICU todo fixes. + Branch: cfgperl + ! Todo-5.6 +____________________________________________________________________________ +[ 5616] By: jhi on 2000/03/08 14:30:40 + Log: Even more Todo. + Branch: cfgperl + ! Todo-5.6 +____________________________________________________________________________ +[ 5615] By: jhi on 2000/03/08 14:13:45 + Log: More Todo. + Branch: cfgperl + ! Todo-5.6 +____________________________________________________________________________ +[ 5614] By: jhi on 2000/03/08 13:50:53 + Log: wording changes + Branch: cfgperl + ! lib/Math/Complex.pm +____________________________________________________________________________ +[ 5613] By: gsar on 2000/03/08 12:51:35 + Log: clarify docs on return value from binding operators + Branch: perl + ! pod/perlop.pod +____________________________________________________________________________ +[ 5612] By: gsar on 2000/03/08 12:41:38 + Log: shore up pod2latex shortcomings, and a Pod::Parser fix (from + Robin Barker) + Branch: perl + + lib/Pod/Plainer.pm + ! MANIFEST lib/Pod/Parser.pm pod/pod2latex.PL +____________________________________________________________________________ +[ 5611] By: gsar on 2000/03/08 12:22:59 + Log: integrate cfgperl changes into mainline + Branch: perl + ! Changes + !> installperl lib/Math/Complex.pm pod/perldelta.pod + !> t/lib/complex.t vms/vmsish.h +____________________________________________________________________________ +[ 5610] By: gsar on 2000/03/08 12:08:17 + Log: add missing locks for op refcounts + Branch: perl + ! dosish.h embedvar.h makedef.pl op.c op.h perl.c perlapi.h + ! perlvars.h sv.c unixish.h vms/vmsish.h +____________________________________________________________________________ +[ 5609] By: gsar on 2000/03/08 11:30:32 + Log: Pod::InputObjects tweak (from Brad Appleton) + Branch: perl + ! lib/Pod/InputObjects.pm +____________________________________________________________________________ +[ 5608] By: jhi on 2000/03/08 05:08:59 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 27 files) +____________________________________________________________________________ +[ 5607] By: jhi on 2000/03/08 05:07:06 + Log: Make the stringification more customizable. + A potentially backward incompatible change. + Based on a suggestion by Roman Kosenko . + Branch: cfgperl + ! lib/Math/Complex.pm pod/perldelta.pod t/lib/complex.t +____________________________________________________________________________ +[ 5606] By: jhi on 2000/03/08 00:49:14 + Log: s/lfs/largefiles/ + Branch: metaconfig + ! U/mksample +____________________________________________________________________________ +[ 5605] By: gsar on 2000/03/07 23:37:48 + Log: VMS build patch (from Peter Prymmer) + Branch: perl + ! configure.com installhtml lib/lib.pm vms/descrip_mms.template + ! vms/subconfigure.com vms/vms.c +____________________________________________________________________________ +[ 5604] By: gsar on 2000/03/07 23:25:46 + Log: CopFILEGV(&PL_compiling) must be reset properly (from Doug MacEachern) + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5603] By: gsar on 2000/03/07 23:05:16 + Log: type mismatch + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5602] By: gsar on 2000/03/07 22:40:55 + Log: add note to INSTALL about C++ compilers (from M J T Guy) + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 5601] By: gsar on 2000/03/07 22:30:35 + Log: separate options to incpush() for adding version directories and + architecture directories (from Andy Dougherty) + Branch: perl + ! embed.h embed.pl perl.c proto.h t/lib/fatal.t +____________________________________________________________________________ +[ 5600] By: gsar on 2000/03/07 20:18:54 + Log: support :void to enable croaking only in void context (from + Simon Cozens ) + Branch: perl + ! lib/Fatal.pm t/lib/fatal.t +____________________________________________________________________________ +[ 5599] By: gsar on 2000/03/07 18:35:21 + Log: Pod::Html tweak to avoid false falses + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 5598] By: gsar on 2000/03/07 18:21:58 + Log: skip null siblings encountered by goto out of loopish block + (from Doug Lankshear) + Branch: perl + ! pp_ctl.c +____________________________________________________________________________ +[ 5597] By: gsar on 2000/03/07 16:33:29 + Log: omit XSLoader from bytecode dumps + Branch: perl + ! ext/B/B/Bytecode.pm ext/B/B/Stash.pm ext/B/B/Xref.pm +____________________________________________________________________________ +[ 5596] By: gsar on 2000/03/07 10:58:17 + Log: avoid coredump on C + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5595] By: gsar on 2000/03/07 10:26:03 + Log: add missing HTML escapes that can be displayed in xterm (from + Tim Jenness ) + Branch: perl + ! lib/Pod/Text.pm +____________________________________________________________________________ +[ 5594] By: gsar on 2000/03/07 10:24:55 + Log: Fatal.pm pod tweak (from Matt Sergeant ) + Branch: perl + ! lib/Fatal.pm +____________________________________________________________________________ +[ 5593] By: gsar on 2000/03/07 09:57:24 + Log: get ByteLoader working again + Branch: perl + ! bytecode.pl ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm + ! ext/B/B/C.pm ext/ByteLoader/bytecode.h + ! ext/ByteLoader/byterun.c +____________________________________________________________________________ +[ 5592] By: gsar on 2000/03/07 05:14:49 + Log: typo in makedef.pl + Branch: perl + ! lib/File/Path.pm makedef.pl +____________________________________________________________________________ +[ 5591] By: jhi on 2000/03/06 22:56:24 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes ext/File/Glob/Glob.xs lib/Pod/Html.pm +____________________________________________________________________________ +[ 5590] By: gsar on 2000/03/06 22:32:44 + Log: fix incorrect prototypes in File::Glob + Branch: perl + ! ext/File/Glob/Glob.xs +____________________________________________________________________________ +[ 5589] By: gsar on 2000/03/06 22:07:38 + Log: update Changes + Branch: perl + ! Changes +____________________________________________________________________________ +[ 5588] By: jhi on 2000/03/06 21:46:18 + Log: From: "Craig A. Berry" + To: vmsperl@perl.org, perl5-porters@perl.org + Cc: jhi@iki.fi, Charles Bailey , gsar@activestate.com + Subject: [PATCH 5.5.670] circumvent VMS fileno bug in old DEC C version + Date: Mon, 06 Mar 2000 15:36:13 -0600 + Message-Id: <4.2.2.20000306153539.00ca6420@exchi01.midwest.metamorgs.com> + Branch: cfgperl + ! vms/vmsish.h +____________________________________________________________________________ +[ 5587] By: jhi on 2000/03/06 21:23:27 + Log: Use $^O. + Branch: cfgperl + ! installperl +____________________________________________________________________________ +[ 5586] By: jhi on 2000/03/06 21:19:15 + Log: Undo drift from the mainline. + Branch: cfgperl + !> (integrate 1607 files) +____________________________________________________________________________ +[ 5585] By: gsar on 2000/03/06 20:23:37 + Log: change#5513 accidentally undid change#5373, put it back + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 5584] By: jhi on 2000/03/06 17:30:48 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/File/Path.pm lib/Getopt/Long.pm lib/IPC/Open2.pm + !> lib/Pod/Man.pm makedef.pl toke.c vms/subconfigure.com +____________________________________________________________________________ +[ 5583] By: gsar on 2000/03/06 17:02:52 + Log: makedef.pl typos + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5582] By: gsar on 2000/03/06 15:24:14 + Log: Pod::Man bugfixes (from Russ Allbery) + Branch: perl + ! lib/Pod/Man.pm +____________________________________________________________________________ +[ 5581] By: gsar on 2000/03/06 15:17:08 + Log: File::Path::rmtree() doesn't delete stale symlinks correctly + Branch: perl + ! lib/File/Path.pm +____________________________________________________________________________ +[ 5580] By: gsar on 2000/03/06 14:55:57 + Log: pod nits + Branch: perl + ! lib/Getopt/Long.pm lib/IPC/Open2.pm +____________________________________________________________________________ +[ 5579] By: gsar on 2000/03/06 14:55:08 + Log: 64-bit build fix on VMS (from Dan Sugalski) + Branch: perl + ! toke.c vms/subconfigure.com +____________________________________________________________________________ +[ 5578] By: jhi on 2000/03/06 14:37:46 + Log: Integrate with Sarathy. + Branch: cfgperl + !> README.win32 configure.com iperlsys.h lib/File/Spec/VMS.pm + !> lib/IPC/Open2.pm lib/IPC/Open3.pm perl.c t/lib/filefind.t + !> t/lib/filespec.t vms/ext/filespec.t vms/subconfigure.com + !> vms/test.com vms/vms.c win32/config.bc win32/config.gc + !> win32/config.vc win32/config_H.bc win32/config_H.gc + !> win32/config_H.vc win32/config_h.PL win32/perlhost.h + !> win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5577] By: gsar on 2000/03/06 07:26:18 + Log: skip tests that need VMS::Filespec on other platforms + Branch: perl + ! t/lib/filespec.t +____________________________________________________________________________ +[ 5576] By: gsar on 2000/03/06 07:11:21 + Log: integrate vmsperl contents into mainline + Branch: perl + !> configure.com lib/File/Spec/VMS.pm t/lib/filefind.t + !> t/lib/filespec.t vms/ext/filespec.t vms/subconfigure.com + !> vms/test.com vms/vms.c +____________________________________________________________________________ +[ 5575] By: gsar on 2000/03/06 07:05:34 + Log: support for autovivified handles (from Tom Christiansen) + Branch: perl + ! lib/IPC/Open2.pm lib/IPC/Open3.pm +____________________________________________________________________________ +[ 5574] By: gsar on 2000/03/06 06:31:55 + Log: vendorlib support for Windows; regen win32/config* + Branch: perl + ! README.win32 iperlsys.h perl.c win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc win32/config_h.PL win32/perlhost.h + ! win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5573] By: bailey on 2000/03/06 05:23:23 + Log: Skip openpid.t while VMS subprocess intercommunication in flux (several vmsperlers) + Branch: vmsperl + ! vms/test.com +____________________________________________________________________________ +[ 5572] By: gsar on 2000/03/06 05:21:26 + Log: the incpush()es weren't all quite right on Windows in change#5559 + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5571] By: bailey on 2000/03/06 05:18:59 + Log: Fix ricochet in File::Spec::VMS + Fix eval error in filespec.t + Misc. minor fixes in filespec.t + Branch: vmsperl + ! lib/File/Spec/VMS.pm t/lib/filespec.t +____________________________________________________________________________ +[ 5570] By: gsar on 2000/03/06 05:00:44 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure Makefile.SH Porting/Glossary Porting/config.sh + !> Porting/config_H config_h.SH epoc/config.sh + !> ext/DynaLoader/DynaLoader_pm.PL hints/aix.sh patchlevel.h + !> perl.c perl.h toke.c vos/config.def vos/config.h + !> vos/config_h.SH_orig +____________________________________________________________________________ +[ 5569] By: jhi on 2000/03/06 04:51:39 + Log: Integrate with Sarathy. + Branch: cfgperl + !> installperl pp.c +____________________________________________________________________________ +[ 5568] By: gsar on 2000/03/06 04:48:17 + Log: installperl wasn't putting extensions with two or more + nested package names in the archlib + Branch: perl + ! installperl +____________________________________________________________________________ +[ 5567] By: bailey on 2000/03/06 03:43:36 + Log: Set up for vendorarch (and fix 64bitint typo) (Dan Sugalski) + Branch: vmsperl + ! configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 5566] By: bailey on 2000/03/06 03:40:14 + Log: Change $Config{'extensions'} to look Unixy (Charles Lane) + FIx logic error in glob-basic.t (Charles Lane) + Branch: vmsperl + ! configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 5565] By: bailey on 2000/03/06 03:37:46 + Log: Remove trailing . from typeless files (Charles Lane) + Branch: vmsperl + ! t/lib/filefind.t +____________________________________________________________________________ +[ 5564] By: bailey on 2000/03/06 03:36:26 + Log: Resync with mainline, update test in vmsfspec.t + Branch: vmsperl + +> lib/Term/ANSIColor.pm t/lib/ansicolor.t + ! vms/ext/filespec.t + !> (integrate 171 files) +____________________________________________________________________________ +[ 5563] By: gsar on 2000/03/06 03:29:11 + Log: avoid warning + Branch: perl + ! pp.c +____________________________________________________________________________ +[ 5562] By: bailey on 2000/03/06 02:48:17 + Log: Downcase function call to hush picky cc + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5561] By: jhi on 2000/03/06 00:23:22 + Log: VOS patch from Paul Green. Note that the vos/config_h.SH_orig + is not exactly identical to the current config_h.SH because + Paul needs better $sitearch control. + Branch: cfgperl + ! vos/config.def vos/config.h vos/config_h.SH_orig +____________________________________________________________________________ +[ 5560] By: jhi on 2000/03/05 23:26:41 + Log: Avoid wiping out @dl_{librefs,modules} when XSLoader + falls back to DynaLoader. - From: abigail@fnx.com - Message-ID: <19990107034856.21056.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/File/Spec.pm] Typo fix - Date: Wed, 6 Jan 1999 22:48:56 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107035113.21174.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/File/Spec/Mac.pm] Typo fixes - Date: Wed, 6 Jan 1999 22:51:13 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107035612.21522.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Math/BigFloat.pm] Typo fix - Date: Wed, 6 Jan 1999 22:56:12 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107035842.21585.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Math/BigInt.pm] Typo fixes - Date: Wed, 6 Jan 1999 22:58:41 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107040644.22009.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Text/Wrap.pm] Typo fixes - Date: Wed, 6 Jan 1999 23:06:44 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990107040955.22087.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Tie/Array.pm] Typo fixes - Date: Wed, 6 Jan 1999 23:09:55 -0500 (EST) + From: Doug MacEachern + To: perl5-porters@perl.org + Subject: [PATCH v5.5.670] maintain DynaLoader::dl_{librefs,modules} + Date: Sun, 5 Mar 2000 15:19:01 -0800 (PST) + Message-ID: + Branch: cfgperl + ! ext/DynaLoader/DynaLoader_pm.PL +____________________________________________________________________________ +[ 5559] By: jhi on 2000/03/05 22:05:54 + Log: sitelib_stem and vendorlib_stem patches from Andy; + problem reported in + From: schwern@athens.arena-i.com (Michael G Schwern) + To: perl5-porters@perl.org + Subject: [ID 20000305.001] [BUG 5.5.670 perl.c] SITELIB_EXP mangled by hack. + Date: Sun, 5 Mar 2000 06:31:29 -0500 (EST) + Message-Id: <20000305113129.80DC23820@athens.arena-i.com> + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH epoc/config.sh patchlevel.h perl.c perl.h + ! vos/config.def vos/config.h vos/config_h.SH_orig + Branch: metaconfig + ! U/installdirs/instubperl.U U/installdirs/sitelib.U + ! U/installdirs/vendorlib.U +____________________________________________________________________________ +[ 5558] By: jhi on 2000/03/05 21:18:59 + Log: Integrate with Sarathy. + Branch: cfgperl + !> hints/linux.sh lib/Getopt/Long.pm +____________________________________________________________________________ +[ 5557] By: gsar on 2000/03/05 20:35:13 + Log: Getopt-Long v2.21 update (from Johan Vromans) + Branch: perl + ! lib/Getopt/Long.pm +____________________________________________________________________________ +[ 5556] By: gsar on 2000/03/05 20:26:57 + Log: Linux needs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 too + (from Matthias Urlichs ) + Branch: perl + ! hints/linux.sh +____________________________________________________________________________ +[ 5555] By: jhi on 2000/03/05 20:15:34 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/Term/ANSIColor.pm t/lib/ansicolor.t + !> MANIFEST lib/Pod/InputObjects.pm opcode.h opcode.pl + !> pod/perldelta.pod pod/perlfunc.pod pp.c pp_sys.c + !> t/comp/proto.t toke.c utils/perlbug.PL +____________________________________________________________________________ +[ 5554] By: gsar on 2000/03/05 20:02:17 + Log: prototype changes for eventually supporting C + and C + Branch: perl + ! opcode.h opcode.pl pod/perlfunc.pod pp.c pp_sys.c + ! t/comp/proto.t toke.c +____________________________________________________________________________ +[ 5553] By: jhi on 2000/03/05 19:55:02 + Log: AIX gcvt() cannot format long doubles very well. + Branch: cfgperl + ! hints/aix.sh +____________________________________________________________________________ +[ 5552] By: jhi on 2000/03/05 18:44:37 + Log: the monster cpp expression needs to be on one line to + appease makedepend + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 5551] By: jhi on 2000/03/05 18:24:32 + Log: IRIX cpp is fussy. + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 5550] By: gsar on 2000/03/05 17:46:18 + Log: perlbug tweak to grok local_patches better + Branch: perl + ! utils/perlbug.PL +____________________________________________________________________________ +[ 5549] By: gsar on 2000/03/05 17:33:10 + Log: add Term::ANSIColor, perldelta notes on Pod::Man, and fix a bug + in Pod::InputObjects (from Russ Allbery) + Branch: perl + + lib/Term/ANSIColor.pm t/lib/ansicolor.t + ! MANIFEST lib/Pod/InputObjects.pm pod/perldelta.pod +____________________________________________________________________________ +[ 5548] By: jhi on 2000/03/05 17:27:06 + Log: clean up the makedepend temp file + Branch: cfgperl + ! Makefile.SH +____________________________________________________________________________ +[ 5547] By: jhi on 2000/03/05 17:23:18 + Log: Integrate with Sarathy. + Branch: cfgperl + !> perl.c +____________________________________________________________________________ +[ 5546] By: jhi on 2000/03/05 17:16:12 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 47 files) +____________________________________________________________________________ +[ 5545] By: gsar on 2000/03/05 17:13:48 + Log: strip last component of SITELIB_EXP only if it looks like a + number + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5544] By: jhi on 2000/03/05 17:12:42 + Log: s/Perl/PeRl/; # yeah + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/cpp_stuff.U +____________________________________________________________________________ +[ 5543] By: gsar on 2000/03/05 16:54:10 + Log: thinko in change#4546 that caused variables to lose their importedness + (GvIMPORTED_XV_off should be !GvIMPORTED_XV) + Branch: perl + ! sv.c t/pragma/strict-vars +____________________________________________________________________________ +[ 5542] By: gsar on 2000/03/05 09:37:26 + Log: regen win32/config*, up version numbers &c. + Branch: perl + ! patchlevel.h win32/Makefile win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc win32/makefile.mk +____________________________________________________________________________ +[ 5541] By: gsar on 2000/03/05 09:20:12 + Log: undo change#5506; add patch to make blank line warnings optional + (from Brad Appleton) + Branch: perl + ! lib/Pod/Checker.pm lib/Pod/Parser.pm t/pod/poderrs.xr +____________________________________________________________________________ +[ 5540] By: gsar on 2000/03/05 09:04:52 + Log: fixes for most warnings identified by gcc -Wall + Branch: perl + ! av.c cop.h deb.c doop.c dump.c embed.h embed.pl gv.c hv.c mg.c + ! miniperlmain.c objXSUB.h op.c perl.c perlapi.c pp.c pp_ctl.c + ! pp_hot.c pp_sys.c proto.h regcomp.c regexec.c regexp.h run.c + ! scope.c sv.c sv.h toke.c universal.c util.c xsutils.c +____________________________________________________________________________ +[ 5539] By: gsar on 2000/03/05 06:37:58 + Log: shup up warnings about dNOOP from gcc with __attribute__ ((unused)) + (from Doug MacEachern ) + Branch: perl + ! patchlevel.h perl.h +____________________________________________________________________________ +[ 5538] By: gsar on 2000/03/05 05:50:44 + Log: tyop + Branch: perl + ! config_h.SH +____________________________________________________________________________ +[ 5537] By: gsar on 2000/03/05 05:41:10 + Log: integrate cfgperl contents into mainline; add new tests from + inc.t into 64bit.t + Branch: perl + ! t/op/64bit.t + !> Configure config_h.SH hints/hpux.sh hints/sco.sh perl.h + !> pod/perl.pod toke.c +____________________________________________________________________________ +[ 5536] By: jhi on 2000/03/05 05:37:22 + Log: dethinko + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 5535] By: jhi on 2000/03/05 05:14:40 + Log: Integrate with Sarathy. + Branch: cfgperl + !> pp.c t/op/inc.t toke.c +____________________________________________________________________________ +[ 5534] By: gsar on 2000/03/05 04:50:26 + Log: optimize change#5533 to stick to IVs if constant is <= IV_MAX, + since runtime is highly optimized for IVs rather than UVs + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 5533] By: gsar on 2000/03/05 04:30:02 + Log: scan_num() sticks to UVs rather than IVs (now -2147483648 doesn't + end up being promoted to an NV) + Branch: perl + ! pp.c t/op/inc.t toke.c +____________________________________________________________________________ +[ 5532] By: jhi on 2000/03/05 01:11:37 + Log: more cpp cosmetics, logic cleanup + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 5531] By: jhi on 2000/03/05 00:51:20 + Log: Implement #5525 in metaconfig. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/cpp_stuff.U +____________________________________________________________________________ +[ 5530] By: jhi on 2000/03/05 00:32:51 + Log: Integrate with Sarathy. + Branch: cfgperl + !> config_h.SH doio.c lib/Cwd.pm lib/Pod/Html.pm lib/bytes.pm + !> lib/charnames.pm lib/filetest.pm lib/integer.pm lib/locale.pm + !> lib/overload.pm lib/utf8.pm os2/os2ish.h pod/perldebug.pod + !> t/lib/ipc_sysv.t t/pragma/warn/regcomp win32/config_H.bc + !> win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 5529] By: jhi on 2000/03/05 00:31:17 + Log: Sanity check on the strtoll and strtoull. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! d_strtoll.U d_strtoull.U +____________________________________________________________________________ +[ 5528] By: jhi on 2000/03/05 00:07:21 + Log: Reformat the fearful cpp expression to be a little bit less fearful. + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 5527] By: gsar on 2000/03/04 21:55:03 + Log: make hints available via globals in the respective pragmas to + avoid duplicating the constants everywhere + Branch: perl + ! lib/bytes.pm lib/charnames.pm lib/filetest.pm lib/integer.pm + ! lib/locale.pm lib/overload.pm lib/utf8.pm +____________________________________________________________________________ +[ 5526] By: gsar on 2000/03/04 20:39:36 + Log: remove deadcode + Branch: perl + ! lib/Cwd.pm +____________________________________________________________________________ +[ 5525] By: gsar on 2000/03/04 19:42:55 + Log: make CAT2() portable for use as a macro argument with an extra + level of macros + Branch: perl + ! config_h.SH +____________________________________________________________________________ +[ 5524] By: gsar on 2000/03/04 19:02:27 + Log: avoid looking up stale PL_statbuf (spotted by Charles Lane + ) + Branch: perl + ! doio.c +____________________________________________________________________________ +[ 5523] By: gsar on 2000/03/04 18:59:03 + Log: pod tweak + Branch: perl + ! pod/perldebug.pod +____________________________________________________________________________ +[ 5522] By: gsar on 2000/03/04 17:46:58 + Log: regen win32/config_H* + Branch: perl + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 5521] By: jhi on 2000/03/04 16:35:48 + Log: From: "Matthias Urlichs" + To: perl5-porters@perl.org + Subject: BUG: Integer floatifies? +PATCH: reading BIG integers with SMALL floats + Date: Sat, 4 Mar 2000 12:48:42 +0100 + Message-ID: <20000304124841.A8090@noris.de> + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 5520] By: jhi on 2000/03/04 15:41:12 + Log: unthink wishful thinking + Branch: cfgperl + ! pod/perl.pod +____________________________________________________________________________ +[ 5519] By: gsar on 2000/03/04 06:42:47 + Log: fix OS/2 coredump with POSIX::tmpnam() (from Ilya Zakharevich) + Branch: perl + ! os2/os2ish.h +____________________________________________________________________________ +[ 5518] By: gsar on 2000/03/04 06:02:26 + Log: avoid "scalars leaked" message in test + Branch: perl + ! t/pragma/warn/regcomp +____________________________________________________________________________ +[ 5517] By: jhi on 2000/03/04 06:01:16 + Log: detypo + Branch: cfgperl + ! pod/perl.pod +____________________________________________________________________________ +[ 5516] By: jhi on 2000/03/04 05:59:21 + Log: cleanup AVAILABILITY and mention binaries + Branch: cfgperl + ! pod/perl.pod +____________________________________________________________________________ +[ 5515] By: gsar on 2000/03/04 05:55:02 + Log: syntax error in change#5498 + Branch: perl + ! t/lib/ipc_sysv.t +____________________________________________________________________________ +[ 5514] By: jhi on 2000/03/04 05:50:56 + Log: assuming that removing the libbind will be a good idea + Branch: cfgperl + ! hints/sco.sh +____________________________________________________________________________ +[ 5513] By: gsar on 2000/03/04 05:50:15 + Log: Pod::Html fixups for nicer links to functions (from Wolfgang Laun + ) + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 5512] By: jhi on 2000/03/04 05:45:52 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 41 files) +____________________________________________________________________________ +[ 5511] By: jhi on 2000/03/04 05:42:37 + Log: HP-UX 64-bitness cures + Branch: cfgperl + ! hints/hpux.sh perl.h +____________________________________________________________________________ +[ 5510] By: gsar on 2000/03/04 05:40:08 + Log: better error messages when xsubpp fails to find map for a particular + type (from Ilya Zakharevich) + Branch: perl + ! lib/ExtUtils/xsubpp +____________________________________________________________________________ +[ 5509] By: jhi on 2000/03/04 05:33:27 + Log: scratch #5508 + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5508] By: jhi on 2000/03/04 05:31:19 + Log: In HP-UX there is a secret handshake to get strtoll and strtoull. + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5507] By: gsar on 2000/03/04 04:27:51 + Log: more whitespace removal (from Michael G Schwern) + Branch: perl + ! ext/Data/Dumper/Dumper.pm ext/Errno/Errno_pm.PL + ! ext/File/Glob/Glob.pm ext/IO/lib/IO/Select.pm + ! ext/IO/lib/IO/Socket.pm ext/IO/lib/IO/Socket/INET.pm + ! ext/IPC/SysV/Msg.pm ext/IPC/SysV/Semaphore.pm lib/CGI.pm + ! lib/CGI/Cookie.pm lib/CGI/Fast.pm lib/CGI/Push.pm + ! lib/Carp/Heavy.pm lib/DB.pm lib/Exporter/Heavy.pm + ! lib/File/DosGlob.pm lib/File/Find.pm lib/Getopt/Long.pm + ! lib/Math/Trig.pm lib/Net/Ping.pm lib/Net/netent.pm + ! lib/SelfLoader.pm lib/Tie/Array.pm lib/Tie/Handle.pm + ! lib/Tie/Scalar.pm lib/Time/Local.pm lib/filetest.pm + ! lib/overload.pm x2p/s2p.PL +____________________________________________________________________________ +[ 5506] By: gsar on 2000/03/04 04:12:06 + Log: temporarily disable blank line warning from Pod::Parser until + it can be made optional + Branch: perl + ! lib/Pod/Parser.pm t/pod/poderrs.xr +____________________________________________________________________________ +[ 5505] By: gsar on 2000/03/04 04:00:44 + Log: rid blanks in pods (from Michael G Schwern) + Branch: perl + ! README.amiga README.dos README.os2 +____________________________________________________________________________ +[ 5504] By: gsar on 2000/03/04 03:59:07 + Log: avoid warnings from shmread() when given undefined variable + (from Tom Christiansen) + Branch: perl + ! doio.c +____________________________________________________________________________ +[ 5503] By: gsar on 2000/03/04 03:53:43 + Log: fpsetmask() needs include on freebsd (from Slaven Rezic + ) + Branch: perl + ! unixish.h +____________________________________________________________________________ +[ 5502] By: gsar on 2000/03/04 03:51:05 + Log: avoid ambiguity in indirect object notation (breaks with overridden + run time require) + Branch: perl + ! lib/CGI.pm +____________________________________________________________________________ +[ 5501] By: gsar on 2000/03/04 01:08:54 + Log: adjust perldelta + Branch: perl + ! Todo-5.6 pod/perl.pod pod/perldelta.pod +____________________________________________________________________________ +[ 5500] By: gsar on 2000/03/04 00:33:49 + Log: integrate cfgperl contents into mainline + Branch: perl + !> hints/irix_6.sh hints/solaris_2.sh pod/perl.pod + !> pod/perlfunc.pod t/lib/ipc_sysv.t +____________________________________________________________________________ +[ 5499] By: jhi on 2000/03/03 22:51:53 + Log: solaris hints tweak + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5498] By: jhi on 2000/03/03 22:35:46 + Log: The SysV IPC test must use the native integers + (long or short), also noted this in the msgsnd/semctl + documentation. Reported in - From: abigail@fnx.com - Message-ID: <19990107041136.22174.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/Tie/Hash.pm] Typo fix - Date: Wed, 6 Jan 1999 23:11:36 -0500 (EST) - Branch: maint-5.005/perl - ! lib/CGI/Apache.pm lib/CGI/Push.pm lib/File/Copy.pm - ! lib/File/Spec.pm lib/File/Spec/Mac.pm lib/Math/BigFloat.pm - ! lib/Math/BigInt.pm lib/Net/hostent.pm lib/Net/netent.pm - ! lib/Term/Complete.pm lib/Term/ReadLine.pm lib/Text/Wrap.pm - ! lib/Tie/Array.pm lib/Tie/Hash.pm + From: schwern@athens.arena-i.com (Michael G Schwern) + To: perl5-porters@perl.org + Subject: [ID 20000302.006] [BUG 5.5.670 t/ipc_sysv.t] Fails 2,5,6 with 64bit on Linux + Date: Thu, 2 Mar 2000 17:15:03 -0500 (EST) + Message-Id: <20000302221503.EDF6E3830@athens.arena-i.com> + Branch: cfgperl + ! pod/perlfunc.pod t/lib/ipc_sysv.t +____________________________________________________________________________ +[ 5497] By: jhi on 2000/03/03 21:08:53 + Log: Update AVAILABILITY. + Branch: cfgperl + ! pod/perl.pod +____________________________________________________________________________ +[ 5496] By: gsar on 2000/03/03 20:21:05 + Log: perldebug tweak (from M J T Guy) + Branch: perl + ! pod/perldebug.pod +____________________________________________________________________________ +[ 5495] By: jhi on 2000/03/03 19:32:58 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 79 files) +____________________________________________________________________________ +[ 5494] By: jhi on 2000/03/03 19:14:01 + Log: the workaround is needed in all 7.2.* compilers, + not just on IRIX64. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5493] By: gsar on 2000/03/03 18:58:45 + Log: whitespace and readabiliti nits in the pods (from Michael G Schwern + and Robin Barker) + Branch: perl + ! Changes pod/perl.pod pod/perl5004delta.pod + ! pod/perl5005delta.pod pod/perlboot.pod pod/perldata.pod + ! pod/perldebug.pod pod/perldelta.pod pod/perldiag.pod + ! pod/perlembed.pod pod/perlfaq.pod pod/perlfaq2.pod + ! pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfaq6.pod + ! pod/perlfaq7.pod pod/perlfaq8.pod pod/perlfaq9.pod + ! pod/perlfilter.pod pod/perlguts.pod pod/perlipc.pod + ! pod/perllexwarn.pod pod/perllocale.pod pod/perlmodinstall.pod + ! pod/perlmodlib.pod pod/perlobj.pod pod/perlopentut.pod + ! pod/perlpod.pod pod/perlport.pod pod/perlre.pod + ! pod/perlref.pod pod/perlreftut.pod pod/perlsub.pod + ! pod/perltie.pod pod/perltodo.pod pod/perltoot.pod + ! pod/perltootc.pod pod/perltrap.pod pod/perlvar.pod + ! pod/perlxstut.pod +____________________________________________________________________________ +[ 5492] By: gsar on 2000/03/03 17:48:31 + Log: support for list assignment to pseudohashes (from John Tobey + ) + Branch: perl + ! av.c dump.c embed.h embed.pl global.sym objXSUB.h op.c op.h + ! perlapi.c pp_hot.c proto.h t/op/avhv.t t/op/hashwarn.t +____________________________________________________________________________ +[ 5491] By: gsar on 2000/03/03 16:45:49 + Log: add MakeMaker caveat to INSTALL (from Andy Dougherty) + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 5490] By: gsar on 2000/03/03 16:44:42 + Log: perldelta tweaks + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5489] By: gsar on 2000/03/03 16:26:52 + Log: /dev/console may not be writable in Syslog.pm (from Ask Bjoern Hansen + ) + Branch: perl + ! ext/Sys/Syslog/Syslog.pm +____________________________________________________________________________ +[ 5488] By: gsar on 2000/03/03 16:21:34 + Log: OS/2 patches for dlclose() support (from Yitzchak Scott-Thoennes + ) + Branch: perl + ! makedef.pl os2/diff.configure os2/dl_os2.c os2/dlfcn.h + ! os2/os2.sym +____________________________________________________________________________ +[ 5487] By: gsar on 2000/03/03 16:16:34 + Log: skip test on AFS (from Hans Ranke ) + Branch: perl + ! t/lib/glob-basic.t +____________________________________________________________________________ +[ 5486] By: gsar on 2000/03/03 15:42:28 + Log: integrate cfgperl and vmsperl contents into mainline + Branch: perl + ! pod/perl.pod + !> (integrate 38 files) +____________________________________________________________________________ +[ 5485] By: jhi on 2000/03/03 15:21:40 + Log: pull the sparcv9 workshop libraries in front of loclibpth + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5484] By: jhi on 2000/03/03 15:09:03 + Log: Introduce i_ieefp because FreeBSD on ix86 needs that + for ftpsetmask(0); regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH epoc/config.sh perl.h vms/subconfigure.com + ! vos/config.def vos/config.h vos/config_h.SH_orig + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 5483] By: jhi on 2000/03/03 05:37:58 + Log: The _cflags must be left-aligned. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5482] By: bailey on 2000/03/03 04:42:45 + Log: Once more unto resync + Branch: vmsperl + !> (integrate 48 files) +____________________________________________________________________________ +[ 5481] By: bailey on 2000/03/03 04:36:46 + Log: VMS-specific perldelta update + Branch: vmsperl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5480] By: bailey on 2000/03/03 04:05:28 + Log: Set up Perl invocation method during configuration (Peter Prymmer) + Add missing bits to various utilities and install them (ditto) + Branch: vmsperl + ! configure.com pod/pod2usage.PL pod/podselect.PL + ! utils/dprofpp.PL vms/descrip_mms.template +____________________________________________________________________________ +[ 5479] By: bailey on 2000/03/03 04:01:48 + Log: Fix test to match new behavior of vmsify() (Craig Berry) + Branch: vmsperl + ! vms/ext/filespec.t +____________________________________________________________________________ +[ 5478] By: bailey on 2000/03/03 03:54:10 + Log: Try to intuit whether typeless file invoked in subprocess + is an executable image or DCL procedure. + Branch: vmsperl + ! vms/perlvms.pod vms/vms.c +____________________________________________________________________________ +[ 5477] By: bailey on 2000/03/03 03:37:18 + Log: Remove leftover bits of VAXC support (Dan Sugalski) + Branch: vmsperl + ! vms/gen_shrfls.pl +____________________________________________________________________________ +[ 5476] By: bailey on 2000/03/03 03:34:51 + Log: Add missing declaration (Dan Sugalski) + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5475] By: gsar on 2000/03/03 03:27:52 + Log: warn about /(?p{})/ (from Simon Cozens) + Branch: perl + ! regcomp.c toke.c +____________________________________________________________________________ +[ 5474] By: bailey on 2000/03/03 03:27:05 + Log: Ad hoc patch for duping stdout into stderr + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5473] By: bailey on 2000/03/03 03:23:29 + Log: Bypass PERL_INC_VERSION_LIST until we support in in Configure.Com + Branch: vmsperl + ! vms/subconfigure.com vms/vmsish.h +____________________________________________________________________________ +[ 5472] By: gsar on 2000/03/03 02:58:49 + Log: File::Spec bugs (spotted by Hack Kampbjorn ) + Branch: perl + ! lib/File/Spec/Mac.pm lib/File/Spec/Unix.pm + ! lib/File/Spec/VMS.pm lib/File/Spec/Win32.pm +____________________________________________________________________________ +[ 5471] By: jhi on 2000/03/03 02:38:23 + Log: more todo + Branch: cfgperl + ! Todo-5.6 +____________________________________________________________________________ +[ 5470] By: gsar on 2000/03/03 02:36:02 + Log: skip test if db doesn't have null key support + Branch: perl + ! t/lib/anydbm.t +____________________________________________________________________________ +[ 5469] By: jhi on 2000/03/03 02:26:53 + Log: Integrate with Sarathy. + Branch: cfgperl + !> INSTALL lib/AutoSplit.pm lib/ExtUtils/xsubpp lib/SelfLoader.pm + !> lib/Test/Harness.pm lib/constant.pm pod/perl.pod + !> pod/perldelta.pod pod/perlpod.pod pod/perlre.pod + !> pod/perltoc.pod regcomp.c t/op/misc.t t/op/pat.t toke.c + !> utils/h2xs.PL win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 5468] By: jhi on 2000/03/03 02:24:05 + Log: irix hints tweak + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5467] By: gsar on 2000/03/03 02:19:50 + Log: /(?p{})/ changed to /(??{})/, per Larry's suggestion (from + Simon Cozens ) + Branch: perl + ! lib/AutoSplit.pm lib/ExtUtils/xsubpp lib/SelfLoader.pm + ! pod/perlre.pod pod/perltoc.pod regcomp.c t/op/misc.t + ! t/op/pat.t toke.c +____________________________________________________________________________ +[ 5466] By: jhi on 2000/03/03 02:12:41 + Log: in words order bad + Branch: cfgperl + ! pod/perlre.pod +____________________________________________________________________________ +[ 5465] By: jhi on 2000/03/03 02:09:45 + Log: /[[:alpha]/ now dies on unmatched [] instead of + "an unknown character class" (spotted by Tom Christiansen) + Branch: cfgperl + ! regcomp.c t/pragma/warn/regcomp +____________________________________________________________________________ +[ 5464] By: gsar on 2000/03/03 02:04:48 + Log: perldelta notes about IO::Socket changes (from Graham Barr) + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5463] By: gsar on 2000/03/03 02:02:50 + Log: relax restrictions on constant names a bit (from M J T Guy) + Branch: perl + ! lib/constant.pm +____________________________________________________________________________ +[ 5462] By: gsar on 2000/03/03 01:59:49 + Log: support for generation of accessor functions (from Hugo van der + Sanden) + Branch: perl + ! utils/h2xs.PL +____________________________________________________________________________ +[ 5461] By: jhi on 2000/03/03 01:51:53 + Log: cosmetics + Branch: cfgperl + ! t/op/pack.t +____________________________________________________________________________ +[ 5460] By: jhi on 2000/03/03 01:50:07 + Log: detypo + Branch: cfgperl + ! t/op/pack.t +____________________________________________________________________________ +[ 5459] By: gsar on 2000/03/03 01:46:35 + Log: pod tweaks + Branch: perl + ! pod/perl.pod pod/perlpod.pod +____________________________________________________________________________ +[ 5458] By: jhi on 2000/03/03 01:25:21 + Log: solaris hints tweak + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5457] By: jhi on 2000/03/02 22:56:49 + Log: detypo + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5456] By: gsar on 2000/03/02 21:15:11 + Log: Test::Harness uses $ENV{HARNESS_PERL_SWITCHES} when running perl; + add test targets for -C switch on windows + Branch: perl + ! lib/Test/Harness.pm win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 5455] By: gsar on 2000/03/02 21:06:49 + Log: add note about failed tests on memory starved systems (from + Andy Dougherty) + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 5454] By: jhi on 2000/03/02 21:03:35 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes lib/Pod/Find.pm lib/Pod/Html.pm lib/Pod/Man.pm + !> lib/Term/Cap.pm lib/Test/Harness.pm lib/blib.pm + !> pod/perldata.pod pod/perldelta.pod pod/perlop.pod +____________________________________________________________________________ +[ 5453] By: jhi on 2000/03/02 20:58:43 + Log: Further long double patches from Spider Boardman. + Branch: cfgperl + ! t/comp/use.t t/lib/bigfltpm.t t/op/pack.t t/op/universal.t +____________________________________________________________________________ +[ 5452] By: gsar on 2000/03/02 20:52:08 + Log: move doc about v-strings from perlop to perldata (suggested by + David Dyck ) + Branch: perl + ! pod/perldata.pod pod/perldelta.pod pod/perlop.pod +____________________________________________________________________________ +[ 5451] By: gsar on 2000/03/02 20:30:29 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure hints/irix_6.sh pp.c +____________________________________________________________________________ +[ 5450] By: gsar on 2000/03/02 20:08:10 + Log: still other multiline match cleanups (from Greg Bacon) + Branch: perl + ! Changes lib/Pod/Find.pm lib/Pod/Html.pm lib/Pod/Man.pm + ! lib/Term/Cap.pm lib/Test/Harness.pm lib/blib.pm +____________________________________________________________________________ +[ 5449] By: jhi on 2000/03/02 20:01:58 + Log: Integrate with Sarathy. + Branch: cfgperl + !> configure.com ext/File/Glob/Glob.pm ext/File/Glob/bsd_glob.c + !> lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/lib/glob-basic.t + !> t/pragma/warn/8signal t/pragma/warn/pp_ctl + !> vms/descrip_mms.template vms/gen_shrfls.pl + !> vms/subconfigure.com vms/vms.c win32/Makefile + !> win32/makefile.mk win32/perllib.c win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5448] By: jhi on 2000/03/02 20:00:37 + Log: workaround for Tru64 compiler bug (cleaner fix will have + to wait until 5.6.1), from Spider Boardman + Branch: cfgperl + ! pp.c +____________________________________________________________________________ +[ 5447] By: jhi on 2000/03/02 19:52:34 + Log: Workaround for an optimizer bug. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5446] By: jhi on 2000/03/02 19:44:35 + Log: installation directory fix from Andy Dougherty + (installstyle was being clobbered, spotted by Spider Boardman) + Branch: cfgperl + ! Configure + Branch: metaconfig + ! U/installdirs/installstyle.U +____________________________________________________________________________ +[ 5445] By: gsar on 2000/03/02 19:40:44 + Log: patch to fix mingw32 build under USE_IMP_SYS (from Benjamin Stuhl); + some parts not applied + Branch: perl + ! win32/Makefile win32/makefile.mk win32/perllib.c win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 5444] By: gsar on 2000/03/02 19:26:08 + Log: avoid buffering issue in warn/8signal + Branch: perl + ! t/pragma/warn/8signal +____________________________________________________________________________ +[ 5443] By: gsar on 2000/03/02 18:13:28 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure config_h.SH hints/aix.sh hints/hpux.sh + !> hints/solaris_2.sh makedepend.SH sv.c t/lib/syslfs.t + !> t/op/lfs.t t/op/pack.t +____________________________________________________________________________ +[ 5442] By: gsar on 2000/03/02 18:02:40 + Log: integrate vmsperl changes into mainline (denied their changes to + Glob.pm, t/pragma/warn/{8signal,pp_ctl}) + Branch: perl + !> configure.com ext/File/Glob/Glob.pm ext/File/Glob/bsd_glob.c + !> lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/lib/glob-basic.t + !> t/pragma/warn/8signal t/pragma/warn/pp_ctl + !> vms/descrip_mms.template vms/gen_shrfls.pl + !> vms/subconfigure.com vms/vms.c +____________________________________________________________________________ +[ 5441] By: jhi on 2000/03/02 17:56:20 + Log: nit from Spider Boardman + Branch: cfgperl + ! makedepend.SH +____________________________________________________________________________ +[ 5440] By: jhi on 2000/03/02 17:48:15 + Log: Confusion over uselargefiles.cbu and uselfs.cbu (the first one + is the correct one), spotted by Robin Parker. + Branch: cfgperl + ! Configure config_h.SH hints/aix.sh hints/hpux.sh + Branch: metaconfig/U/perl + ! uselfs.U +____________________________________________________________________________ +[ 5439] By: jhi on 2000/03/02 15:32:04 + Log: Remove the pack.t kludge introduced to fudge the test + to pass under long doubles: leave the similar kludge + to posix.t because POSIX::strtod() is still double, + not long double. + Branch: cfgperl + ! t/op/pack.t +____________________________________________________________________________ +[ 5438] By: jhi on 2000/03/02 04:58:48 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/ExtUtils/Install.pm lib/ExtUtils/Installed.pm + !> lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm lib/FindBin.pm + !> lib/Pod/Html.pm op.c +____________________________________________________________________________ +[ 5437] By: jhi on 2000/03/02 04:51:46 + Log: A patch on #5407. + Branch: cfgperl + ! sv.c +____________________________________________________________________________ +[ 5436] By: gsar on 2000/03/02 04:45:37 + Log: avoid useless comparison + Branch: perl + ! op.c +____________________________________________________________________________ +[ 5435] By: bailey on 2000/03/02 04:43:11 + Log: YA sync with mainline + Branch: vmsperl + +> lib/open.pm pod/perlboot.pod pod/perlnumber.pod + +> t/lib/env-array.t + !> (integrate 150 files) +____________________________________________________________________________ +[ 5434] By: gsar on 2000/03/02 04:28:48 + Log: make the "back to top" links optional + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 5433] By: bailey on 2000/03/02 04:26:58 + Log: Protect manipulation of open pipe list from concurrent ASTs (Charles Lane) + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5432] By: bailey on 2000/03/02 04:20:51 + Log: Update dependencies and remove obsolete VAXC support + Branch: vmsperl + ! vms/descrip_mms.template +____________________________________________________________________________ +[ 5431] By: bailey on 2000/03/02 04:19:42 + Log: Rmeove obsolete VAXC support + Branch: vmsperl + ! vms/gen_shrfls.pl +____________________________________________________________________________ +[ 5430] By: bailey on 2000/03/02 04:18:57 + Log: Minor updates to subconfigure.com: + - remove old VAXC support + - avoid echoing commands to tempfiles + - fix typos + - define 64bit symbols (as "undef") when not using 64 bit support + Branch: vmsperl + ! vms/subconfigure.com +____________________________________________________________________________ +[ 5429] By: bailey on 2000/03/02 04:16:11 + Log: Minor changes to Configure.Com: + - permit operation in batch mode (splits output) + - remove old VAXC support + - default to enabling secure internal lnm translation + Branch: vmsperl + ! configure.com +____________________________________________________________________________ +[ 5428] By: bailey on 2000/03/02 04:06:53 + Log: Optional warning for truncated logical name equivalence string (Dan Sugalski) + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5427] By: bailey on 2000/03/02 04:05:47 + Log: FIx no-op in vms.c + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5426] By: bailey on 2000/03/02 04:04:52 + Log: MIscellaneous tweaks to test and driver (Charles Lane) + Branch: vmsperl + ! t/pragma/warn/8signal t/pragma/warn/pp_sys t/pragma/warnings.t + ! vms/test.com +____________________________________________________________________________ +[ 5425] By: bailey on 2000/03/02 04:02:44 + Log: Take advantage of new subprocess invocation (Charles Lane) + Branch: vmsperl + ! t/op/runlevel.t t/pragma/strict.t t/pragma/subs.t + ! t/pragma/warnings.t +____________________________________________________________________________ +[ 5424] By: bailey on 2000/03/02 04:00:20 + Log: Increment counter for skipped tests (Charles Lane) + Branch: vmsperl + ! t/io/open.t +____________________________________________________________________________ +[ 5423] By: bailey on 2000/03/02 03:59:14 + Log: Remove redundant elements of @INC to cope with VMS' 255-char limit + on PERL5LIB logical (Dan Sugalski) + Branch: vmsperl + ! lib/Test/Harness.pm +____________________________________________________________________________ +[ 5422] By: bailey on 2000/03/02 03:57:40 + Log: Use temp to construct dirspec in File::Find (Charles Lane) + Branch: vmsperl + ! lib/File/Find.pm +____________________________________________________________________________ +[ 5421] By: bailey on 2000/03/02 03:56:13 + Log: Satisfy various Pod::* needs for Unix syntax (Charles Lane) + (Should move to File::Spec in long term) + Branch: vmsperl + ! lib/Pod/Checker.pm lib/Pod/Parser.pm t/pod/testp2pt.pl +____________________________________________________________________________ +[ 5420] By: bailey on 2000/03/02 03:52:45 + Log: Escape \n in commands written to Descrip.MMS (Charles Lane) + Branch: vmsperl + ! lib/ExtUtils/MM_VMS.pm +____________________________________________________________________________ +[ 5419] By: bailey on 2000/03/02 03:50:53 + Log: Make File::Glob more VMS-friendly (Charles Lane) + Branch: vmsperl + ! ext/File/Glob/Glob.pm ext/File/Glob/bsd_glob.c + ! t/lib/glob-basic.t +____________________________________________________________________________ +[ 5418] By: bailey on 2000/03/02 03:47:21 + Log: Miscellaneous fixes to build procedures (Peter Prymmer) + Branch: vmsperl + ! configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 5417] By: bailey on 2000/03/02 03:42:49 + Log: Temrinate statements in pp_ctl warning test (Charles Lane) + Branch: vmsperl + ! t/pragma/warn/pp_ctl +____________________________________________________________________________ +[ 5416] By: bailey on 2000/03/02 03:39:46 + Log: Warn but continue installing when file missing (Dan Sugalski) + Branch: vmsperl + ! installperl +____________________________________________________________________________ +[ 5415] By: jhi on 2000/03/01 23:31:23 + Log: Make file sparseness detection more portable (Scott Henry) + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t +____________________________________________________________________________ +[ 5414] By: jhi on 2000/03/01 22:53:48 + Log: detypo #5411 continues: Sun grep doesn't have -e. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5413] By: jhi on 2000/03/01 22:49:44 + Log: detypo #5411 + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5412] By: gsar on 2000/03/01 20:04:42 + Log: typo in change#5408 + Branch: perl + ! lib/ExtUtils/MM_Unix.pm +____________________________________________________________________________ +[ 5411] By: jhi on 2000/03/01 18:48:52 + Log: Better detection of the solaris workshop compiler. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5410] By: jhi on 2000/03/01 18:18:04 + Log: From: Robin Barker + To: perl5-porters@perl.org + Subject: solaris 64-bit and gcc + Date: Wed, 1 Mar 2000 17:59:36 GMT + Message-Id: <200003011759.RAA03938@tempest.npl.co.uk> + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5409] By: jhi on 2000/03/01 18:16:43 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/lib/env-array.t + !> MANIFEST README.cygwin ext/DynaLoader/DynaLoader_pm.PL + !> ext/DynaLoader/dlutils.c lib/AutoLoader.pm lib/AutoSplit.pm + !> lib/CGI/Carp.pm lib/CPAN.pm lib/Cwd.pm lib/Env.pm + !> lib/File/Find.pm lib/File/Spec/Mac.pm lib/File/Spec/VMS.pm + !> pod/perldebug.pod pod/perldelta.pod t/lib/env.t + !> t/lib/filefind.t t/lib/glob-basic.t +____________________________________________________________________________ +[ 5408] By: gsar on 2000/03/01 18:15:49 + Log: still more multiline match cleanups (from Greg Bacon) + Branch: perl + ! lib/ExtUtils/Install.pm lib/ExtUtils/Installed.pm + ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm lib/FindBin.pm +____________________________________________________________________________ +[ 5407] By: jhi on 2000/03/01 18:11:09 + Log: A further patch from Spider Boardman for long doubleness. + Branch: cfgperl + ! sv.c +____________________________________________________________________________ +[ 5406] By: gsar on 2000/03/01 17:32:09 + Log: yet more multiline match cleanups (from Greg Bacon) + Branch: perl + ! lib/CPAN.pm lib/Cwd.pm +____________________________________________________________________________ +[ 5405] By: gsar on 2000/03/01 17:24:53 + Log: add support for Env arrays (from Gregor N. Purdy + ) + Branch: perl + + t/lib/env-array.t + ! MANIFEST lib/Env.pm pod/perldelta.pod t/lib/env.t +____________________________________________________________________________ +[ 5404] By: gsar on 2000/03/01 17:00:23 + Log: cygwin update (from Eric Fifer) + Branch: perl + ! README.cygwin t/lib/glob-basic.t +____________________________________________________________________________ +[ 5403] By: gsar on 2000/03/01 16:55:47 + Log: more multiline match cleanups (from Greg Bacon) + Branch: perl + ! lib/AutoLoader.pm lib/AutoSplit.pm lib/CGI/Carp.pm + ! lib/File/Spec/Mac.pm lib/File/Spec/VMS.pm +____________________________________________________________________________ +[ 5402] By: gsar on 2000/03/01 16:38:48 + Log: avoid DProf entering dl_unload_file() (from Alan Burlison) + Branch: perl + ! ext/DynaLoader/DynaLoader_pm.PL ext/DynaLoader/dlutils.c +____________________________________________________________________________ +[ 5401] By: gsar on 2000/03/01 16:35:28 + Log: fix minor compatibility issues with finddepth() (from Helmut Jarausch) + Branch: perl + ! lib/File/Find.pm t/lib/filefind.t +____________________________________________________________________________ +[ 5400] By: gsar on 2000/03/01 16:32:24 + Log: mention "r" debugger command (from Ilya Zakharevich) + Branch: perl + ! pod/perldebug.pod +____________________________________________________________________________ +[ 5399] By: jhi on 2000/03/01 14:58:33 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes configure.com ext/File/Glob/Glob.pm + !> ext/File/Glob/bsd_glob.c installperl lib/ExtUtils/MM_VMS.pm + !> lib/File/Find.pm lib/Pod/Checker.pm lib/Pod/Parser.pm + !> t/io/open.t t/io/openpid.t t/lib/glob-basic.t t/op/goto.t + !> t/op/runlevel.t t/op/split.t t/pod/testp2pt.pl + !> t/pragma/strict.t t/pragma/subs.t t/pragma/warn/8signal + !> t/pragma/warn/pp_sys t/pragma/warnings.t + !> vms/descrip_mms.template vms/subconfigure.com vms/test.com + !> vms/vms.c +____________________________________________________________________________ +[ 5398] By: gsar on 2000/03/01 07:03:13 + Log: fix testsuite issues in change#5397 + Branch: perl + ! Changes t/pragma/warn/8signal t/pragma/warn/pp_sys + +---------------- +Version v5.5.670 +---------------- + +____________________________________________________________________________ +[ 5397] By: gsar on 2000/03/01 06:44:42 + Log: consolidated VMS patches (from Craig A. Berry + ); Glob.pm patch modified to use + $DEFAULT_FLAGS, and iff no flags were supplied + Branch: perl + ! configure.com ext/File/Glob/Glob.pm ext/File/Glob/bsd_glob.c + ! installperl lib/ExtUtils/MM_VMS.pm lib/File/Find.pm + ! lib/Pod/Checker.pm lib/Pod/Parser.pm t/io/open.t + ! t/io/openpid.t t/lib/glob-basic.t t/op/goto.t t/op/runlevel.t + ! t/op/split.t t/pod/testp2pt.pl t/pragma/strict.t + ! t/pragma/subs.t t/pragma/warn/8signal t/pragma/warn/pp_sys + ! t/pragma/warnings.t vms/descrip_mms.template + ! vms/subconfigure.com vms/test.com vms/vms.c +____________________________________________________________________________ +[ 5396] By: gsar on 2000/03/01 06:28:22 + Log: integrate cfgperl changes into mainline + Branch: perl + !> ext/Fcntl/Fcntl.pm hints/solaris_2.sh pp.c sv.c +____________________________________________________________________________ +[ 5395] By: jhi on 2000/03/01 06:12:10 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/open.pm + !> MANIFEST Todo-5.6 mg.c +____________________________________________________________________________ +[ 5394] By: gsar on 2000/03/01 06:07:00 + Log: fix segfault on C + Branch: perl + ! mg.c +____________________________________________________________________________ +[ 5393] By: jhi on 2000/03/01 06:02:12 + Log: Fcntl de-cut-and-pasto. + From: Doug MacEachern + To: perl5-porters@perl.org + Subject: [PATCH v5.5.660] Fcntl.pm + Date: Tue, 29 Feb 2000 21:24:00 -0800 (PST) + Message-ID: + Branch: cfgperl + ! ext/Fcntl/Fcntl.pm +____________________________________________________________________________ +[ 5392] By: gsar on 2000/03/01 05:55:20 + Log: update Todo-5.6, add stub open.pm + Branch: perl + + lib/open.pm + ! MANIFEST Todo-5.6 +____________________________________________________________________________ +[ 5391] By: jhi on 2000/03/01 05:42:25 + Log: The 64-bitallness does require the /usr/lib/sparcv9 in loclibpth. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5390] By: jhi on 2000/03/01 05:35:53 + Log: Couple of math functions need to be Perl_ so that + they are correctly long double, especially the frexp() + in sv_vcatpvfn() (spotted by Spider Boardman). + Branch: cfgperl + ! pp.c sv.c +____________________________________________________________________________ +[ 5389] By: jhi on 2000/03/01 05:33:54 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlnumber.pod + !> Changes MANIFEST README.win32 ext/DynaLoader/DynaLoader_pm.PL + !> ext/DynaLoader/Makefile.PL ext/DynaLoader/dl_dlopen.xs + !> ext/DynaLoader/dlutils.c lib/File/Find.pm lib/Test/Harness.pm + !> pod/Makefile pod/buildtoc pod/perl.pod pod/perldelta.pod + !> pod/perlguts.pod pod/perlhack.pod pod/perlhist.pod + !> pod/perlport.pod pod/perltoc.pod pod/roffitall vms/vms.c + !> win32/perllib.c win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5388] By: gsar on 2000/03/01 03:38:03 + Log: Windows miscellany + Branch: perl + ! pod/perlguts.pod win32/perllib.c win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5387] By: gsar on 2000/03/01 03:13:37 + Log: mention ftp/rsync access to repository in perlhack + Branch: perl + ! Changes pod/perlhack.pod pod/perlhist.pod +____________________________________________________________________________ +[ 5386] By: gsar on 2000/03/01 03:04:54 + Log: support kill(0,$pid) on Windows to test if process exists + Branch: perl + ! README.win32 pod/perldelta.pod pod/perlport.pod win32/win32.c +____________________________________________________________________________ +[ 5385] By: gsar on 2000/03/01 02:10:01 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH epoc/config.sh hints/dec_osf.sh hints/solaris_2.sh + !> perl.h vms/subconfigure.com vos/config.def win32/config.bc + !> win32/config.gc win32/config.vc +____________________________________________________________________________ +[ 5384] By: gsar on 2000/03/01 01:47:55 + Log: oops, change#5382 didn't really fix the typo + Branch: perl + ! ext/DynaLoader/dl_dlopen.xs +____________________________________________________________________________ +[ 5383] By: gsar on 2000/03/01 01:38:25 + Log: avoid warning on type-mismatch + Branch: perl + ! ext/DynaLoader/dlutils.c +____________________________________________________________________________ +[ 5382] By: gsar on 2000/03/01 01:33:42 + Log: fix bug in change#5381 + Branch: perl + ! ext/DynaLoader/dl_dlopen.xs +____________________________________________________________________________ +[ 5381] By: gsar on 2000/03/01 00:46:44 + Log: unload extension shared objects when exiting, implemented + only for dl_dlopen.xs (from Alan Burlison) + Branch: perl + ! ext/DynaLoader/DynaLoader_pm.PL ext/DynaLoader/Makefile.PL + ! ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dlutils.c +____________________________________________________________________________ +[ 5380] By: gsar on 2000/03/01 00:34:10 + Log: add perlnumber.pod (from Ilya Zakharevich); substantially edited + prose + Branch: perl + + pod/perlnumber.pod + ! MANIFEST pod/Makefile pod/buildtoc pod/perl.pod + ! pod/perltoc.pod pod/roffitall +____________________________________________________________________________ +[ 5379] By: jhi on 2000/02/29 23:37:01 + Log: Be understanding. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! use64bits.U uselfs.U +____________________________________________________________________________ +[ 5378] By: gsar on 2000/02/29 23:35:50 + Log: VMS fixups (from Dan Sugalski); cosmetic tweaks + Branch: perl + ! lib/Test/Harness.pm vms/vms.c +____________________________________________________________________________ +[ 5377] By: jhi on 2000/02/29 23:12:29 + Log: Tru64 hints fix from Spider Boardman; Tru64 hint for + d_Gconvert on long doubles to use sprintf %Lg. + Branch: cfgperl + ! hints/dec_osf.sh +____________________________________________________________________________ +[ 5376] By: jhi on 2000/02/29 23:02:45 + Log: Integrate with Sarathy. + Branch: cfgperl + !> gv.c lib/Pod/Html.pm malloc.c pod/perlapi.pod pod/perlcall.pod + !> pod/perldiag.pod pod/perlembed.pod pod/perlfunc.pod + !> pod/perlguts.pod pod/perlop.pod +____________________________________________________________________________ +[ 5375] By: gsar on 2000/02/29 23:02:34 + Log: fix File::Find::finddepth() bugs (from Helmut Jarausch) + Branch: perl + ! lib/File/Find.pm +____________________________________________________________________________ +[ 5374] By: jhi on 2000/02/29 23:01:35 + Log: Add libsunmath (long double math library for Solaris, + SUNWspro cc only) awareness; fix various Solaris nits. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH epoc/config.sh hints/solaris_2.sh perl.h + ! vms/subconfigure.com vos/config.def win32/config.bc + ! win32/config.gc win32/config.vc + Branch: metaconfig + ! U/modified/libs.U + Branch: metaconfig/U/perl + + i_sunmath.U +____________________________________________________________________________ +[ 5373] By: gsar on 2000/02/29 22:56:10 + Log: fix Pod::Html to recognize C<< > >> etc., and convert some pods + to the more readable form (from Robin Barker) + Branch: perl + ! lib/Pod/Html.pm pod/perlfunc.pod pod/perlop.pod +____________________________________________________________________________ +[ 5372] By: gsar on 2000/02/29 22:52:27 + Log: better fix for malloc bug in change#5346 (from Dominic Dunlop) + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5371] By: gsar on 2000/02/29 22:29:36 + Log: fix pods to reflect newer canonical names for call_sv() etc. + Branch: perl + ! gv.c pod/perlapi.pod pod/perlcall.pod pod/perldiag.pod + ! pod/perlembed.pod pod/perlguts.pod +____________________________________________________________________________ +[ 5370] By: jhi on 2000/02/29 22:08:26 + Log: Integrate with Sarathy. + Branch: cfgperl + !> perl.c perl.h win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5369] By: gsar on 2000/02/29 21:37:10 + Log: remove bogus code that caused test failures on HP-UX + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 5368] By: gsar on 2000/02/29 20:45:01 + Log: change#5364 had a few problems + Branch: perl + ! perl.c win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5367] By: gsar on 2000/02/29 18:19:04 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure config_h.SH epoc/config.sh hints/hpux.sh + !> hints/solaris_2.sh regcomp.c vms/subconfigure.com + !> vos/config.def win32/config.bc win32/config.gc win32/config.vc +____________________________________________________________________________ +[ 5366] By: jhi on 2000/02/29 18:15:09 + Log: Some compilers have problems with quad switch() controls. + Branch: cfgperl + ! regcomp.c +____________________________________________________________________________ +[ 5365] By: jhi on 2000/02/29 18:14:30 + Log: Integrate with Sarathy. + Branch: cfgperl + !> perl.c win32/Makefile win32/makefile.mk win32/win32.c + !> win32/win32.h +____________________________________________________________________________ +[ 5364] By: gsar on 2000/02/29 18:11:34 + Log: utf8-ize @ARGV when -C switch is used on Windows + Branch: perl + ! perl.c win32/Makefile win32/makefile.mk win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 5363] By: jhi on 2000/02/29 17:47:48 + Log: HP-UX lddlflags were broken. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! dlsrc.U +____________________________________________________________________________ +[ 5362] By: jhi on 2000/02/29 17:32:27 + Log: Make the failsafe question about socket address structure + sizes hopefully a bit less confusing. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/protos/socksizetype.U +____________________________________________________________________________ +[ 5361] By: jhi on 2000/02/29 17:17:10 + Log: Integrate with Sarathy. + Branch: cfgperl + !> malloc.c +____________________________________________________________________________ +[ 5360] By: gsar on 2000/02/29 17:16:09 + Log: malloc "fix" in change#5346 coredumps on HP-UX, revert + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5359] By: jhi on 2000/02/29 17:06:12 + Log: Make the warning about preferring HP's ar more visible. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5358] By: jhi on 2000/02/29 17:04:36 + Log: The sprintf option was blithely printing long doubles as + doubles (spotted by Spider Boardman); dqgcvt() wasn't ever + being used; made the test more thorough. + Branch: cfgperl + ! Configure config_h.SH epoc/config.sh vms/subconfigure.com + ! vos/config.def win32/config.bc win32/config.gc win32/config.vc + Branch: metaconfig + ! U/compline/d_gconvert.U +____________________________________________________________________________ +[ 5357] By: jhi on 2000/02/29 16:58:08 + Log: Make the warning about abandoning long doubles more visible. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! uselongdbl.U +____________________________________________________________________________ +[ 5356] By: jhi on 2000/02/29 16:51:33 + Log: HP-UX gcc fix; detypo in use64bits. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! dlsrc.U use64bits.U +____________________________________________________________________________ +[ 5355] By: jhi on 2000/02/29 16:31:17 + Log: Solaris 64-bitness hints saga continues. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5354] By: jhi on 2000/02/29 16:04:42 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/Thread/Thread.xs perl.c perl.h +____________________________________________________________________________ +[ 5353] By: jhi on 2000/02/29 15:54:10 + Log: Solaris hints tweak for 64-bitallness. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5352] By: jhi on 2000/02/29 15:35:13 + Log: Too many 64-bitness option combinations. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5351] By: gsar on 2000/02/29 15:31:56 + Log: more adjustments needed for change#5342 under use5005threads + Branch: perl + ! ext/Thread/Thread.xs perl.c perl.h +____________________________________________________________________________ +[ 5350] By: jhi on 2000/02/29 15:24:59 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlboot.pod + !> (integrate 40 files) +____________________________________________________________________________ +[ 5349] By: gsar on 2000/02/29 08:13:56 + Log: more m//s and $ vs \z fixups (from Greg Bacon) + Branch: perl + ! lib/File/CheckTree.pm lib/File/Copy.pm lib/File/DosGlob.pm + ! lib/File/Path.pm lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm + ! lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm + ! lib/File/Spec/Win32.pm +____________________________________________________________________________ +[ 5348] By: gsar on 2000/02/29 08:00:48 + Log: increase sleep to compensate for slow cpu (from Peter Haworth + ) + Branch: perl + ! t/io/pipe.t +____________________________________________________________________________ +[ 5347] By: gsar on 2000/02/29 07:52:35 + Log: add OO tutorial for beginners (from Randal L. Schwartz + ) + Branch: perl + + pod/perlboot.pod + ! MANIFEST pod/Makefile pod/buildtoc pod/perl.pod + ! pod/perldelta.pod pod/perltoc.pod +____________________________________________________________________________ +[ 5346] By: gsar on 2000/02/29 07:24:52 + Log: malloc bug fix and machten hints (from Dominic Dunlop + ) + Branch: perl + ! hints/machten.sh malloc.c +____________________________________________________________________________ +[ 5345] By: gsar on 2000/02/29 06:32:56 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure MANIFEST config_h.SH ext/DynaLoader/dl_aix.xs + !> ext/DynaLoader/hints/aix.pl ext/File/Glob/Makefile.PL + !> hints/aix.sh hints/hpux.sh hints/irix_6.sh hints/solaris_2.sh + !> mg.c perl.h pod/perldelta.pod pod/perlop.pod pp.c sv.c + !> t/lib/ipc_sysv.t t/op/64bit.t t/op/misc.t t/op/numconvert.t + !> win32/config.bc win32/config.gc win32/config.vc +____________________________________________________________________________ +[ 5344] By: gsar on 2000/02/29 06:25:33 + Log: export list tweak + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5343] By: gsar on 2000/02/29 06:01:22 + Log: various shenanigans in change#5342 + Branch: perl + ! makedef.pl thread.h util.c win32/Makefile win32/makefile.mk + ! win32/win32.h win32/win32thread.h +____________________________________________________________________________ +[ 5342] By: gsar on 2000/02/29 04:53:00 + Log: support fetching current interpreter from TLS under useithreads + Branch: perl + ! embed.h embed.pl embedvar.h global.sym intrpvar.h makedef.pl + ! objXSUB.h perl.c perl.h perlapi.h perlvars.h pod/perldelta.pod + ! proto.h sv.c thread.h util.c win32/perlhost.h win32/perllib.c + ! win32/win32.h win32/win32thread.c win32/win32thread.h +____________________________________________________________________________ +[ 5341] By: jhi on 2000/02/29 03:26:11 + Log: Don't know how to do large files using gcc in HP-UX. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5340] By: jhi on 2000/02/29 03:07:16 + Log: Added few more libs to scan. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Myinit.U U/modified/libs.U +____________________________________________________________________________ +[ 5339] By: jhi on 2000/02/29 01:37:43 + Log: Bigger warning on the changed behaviour of the unary ~. + Branch: cfgperl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5338] By: jhi on 2000/02/29 01:17:07 + Log: IRIX 64-bitness fixes. + Branch: cfgperl + ! Configure config_h.SH hints/irix_6.sh + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 5337] By: jhi on 2000/02/29 00:59:08 + Log: Userfriendliness. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5336] By: jhi on 2000/02/29 00:53:51 + Log: Undo the sv_2pv() change of #5329, caused numconvert.t + problems in IRIX 32-n32. + Branch: cfgperl + ! sv.c +____________________________________________________________________________ +[ 5335] By: jhi on 2000/02/29 00:22:37 + Log: Fixes for building on HP-UX using gcc from Daniel S. Lewart. + Branch: cfgperl + ! Configure config_h.SH hints/hpux.sh + Branch: metaconfig/U/perl + ! dlsrc.U +____________________________________________________________________________ +[ 5334] By: jhi on 2000/02/28 23:59:59 + Log: Do not cast pointers into I32s. + Branch: cfgperl + ! mg.c +____________________________________________________________________________ +[ 5333] By: jhi on 2000/02/28 23:39:26 + Log: More AIX fixes from Steven Hirsch. + Branch: cfgperl + ! Configure config_h.SH ext/DynaLoader/dl_aix.xs + ! ext/DynaLoader/hints/aix.pl hints/aix.sh + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5332] By: jhi on 2000/02/28 22:45:59 + Log: Detypo. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5331] By: jhi on 2000/02/28 22:23:36 + Log: Regularize the call-back units (and fix a bug in #5330). + Branch: cfgperl + ! hints/aix.sh hints/hpux.sh hints/irix_6.sh hints/solaris_2.sh +____________________________________________________________________________ +[ 5330] By: jhi on 2000/02/28 21:50:28 + Log: Don't be overeager to turn on 64-bitallness. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5329] By: jhi on 2000/02/28 20:32:53 + Log: Lift the 32-bit straightjacket from bit ops; + prefer IV/UV over NV in sv_2pv(). + Branch: cfgperl + ! pod/perldelta.pod pod/perlop.pod pp.c sv.c t/op/64bit.t + ! t/op/misc.t t/op/numconvert.t +____________________________________________________________________________ +[ 5328] By: jhi on 2000/02/28 20:11:59 + Log: Do not add -Ae for gcc. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5327] By: jhi on 2000/02/28 17:35:39 + Log: Use the vendor file(1). + Branch: cfgperl + ! hints/hpux.sh hints/irix_6.sh hints/solaris_2.sh +____________________________________________________________________________ +[ 5326] By: jhi on 2000/02/28 17:31:19 + Log: Put back madvise lost because of a typo. + Branch: cfgperl + ! Configure config_h.SH perl.h win32/config.bc win32/config.gc + ! win32/config.vc +____________________________________________________________________________ +[ 5325] By: jhi on 2000/02/28 16:44:32 + Log: Tweak HP-UX libraries. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5324] By: jhi on 2000/02/28 16:37:43 + Log: Don't be overeager to turn on largefileness. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5323] By: jhi on 2000/02/28 16:23:15 + Log: AIX 64-bit patches from Steven Hirsch + The patch to File/Glob/Makefile.PL is inconvenient but at the + moment necessary: adding an ext/FIle/Glob/hints/aix.pl to turn + off the optimization ($self->{OPTIMIZE} = '') doesn't work, + the file is processed by MakeMaker but OPTIMIZE ends up as -O + in the resulting Makefile. A MakeMaker bug? + Branch: cfgperl + ! MANIFEST ext/DynaLoader/dl_aix.xs ext/File/Glob/Makefile.PL + ! hints/aix.sh t/lib/ipc_sysv.t +____________________________________________________________________________ +[ 5322] By: jhi on 2000/02/28 16:17:33 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 45 files) +____________________________________________________________________________ +[ 5321] By: gsar on 2000/02/28 10:13:03 + Log: avoid warnings in legacy code (from David Dyck) + Branch: perl + ! lib/pwd.pl +____________________________________________________________________________ +[ 5320] By: gsar on 2000/02/28 10:11:37 + Log: find2perl doc tweak (from David Dyck ) + Branch: perl + ! x2p/find2perl.PL +____________________________________________________________________________ +[ 5319] By: gsar on 2000/02/28 10:07:00 + Log: fix outdated URLs (from Michael G Schwern) + Branch: perl + ! pod/perldelta.pod pod/perlfaq1.pod pod/perlfaq2.pod + ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq8.pod + ! pod/perlfaq9.pod pod/perlmodinstall.pod pod/perlmodlib.pod + ! pod/perlopentut.pod pod/perlport.pod pod/perltoc.pod + ! pod/perlvar.pod pod/perlxs.pod +____________________________________________________________________________ +[ 5318] By: gsar on 2000/02/28 10:04:57 + Log: update Changes, patchlevel etc. + Branch: perl + ! Changes patchlevel.h win32/Makefile win32/config.bc + ! win32/config.gc win32/config.vc win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +____________________________________________________________________________ +[ 5317] By: gsar on 2000/02/28 09:39:47 + Log: make stringwise bitops work properly on utf8 strings + Branch: perl + ! doop.c t/op/bop.t +____________________________________________________________________________ +[ 5316] By: gsar on 2000/02/28 07:04:22 + Log: integrate cfgperl and vmsperl changes into mainline + Branch: perl + ! Porting/makerel + !> Configure Makefile.SH config_h.SH configure.com + !> ext/DynaLoader/DynaLoader_pm.PL ext/DynaLoader/dl_vms.xs + !> hints/hpux.sh lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm + !> lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm + !> lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm t/comp/script.t + !> t/io/openpid.t t/lib/cgi-html.t t/op/goto.t t/op/split.t + !> vms/descrip_mms.template vms/gen_shrfls.pl + !> vms/subconfigure.com vms/vms.c +____________________________________________________________________________ +[ 5315] By: jhi on 2000/02/28 06:31:08 + Log: The search for static _s-suffixex libs was broken; + add -L/lib/pa20_64 only iff there. + Branch: cfgperl + ! Configure config_h.SH hints/hpux.sh + Branch: metaconfig + ! U/modified/libs.U +____________________________________________________________________________ +[ 5314] By: jhi on 2000/02/28 06:08:40 + Log: Even better use64bitall logic. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! use64bits.U uselfs.U +____________________________________________________________________________ +[ 5313] By: jhi on 2000/02/28 05:47:27 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/File/Basename.pm lib/File/Find.pm lib/fields.pm + !> pod/perldelta.pod pod/perlfunc.pod pod/perlref.pod + !> t/lib/fields.t x2p/find2perl.PL +____________________________________________________________________________ +[ 5312] By: jhi on 2000/02/28 05:09:31 + Log: Ask about use64bitall regardless of whether use64bitint is defined. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5311] By: bailey on 2000/02/28 05:05:56 + Log: Integrate mainline + Branch: vmsperl + !> README.dos djgpp/config.over djgpp/configure.bat djgpp/djgpp.c + !> ext/File/Glob/Glob.pm hints/dos_djgpp.sh lib/File/Basename.pm + !> lib/File/Find.pm lib/fields.pm op.c pod/perldelta.pod + !> pod/perlfaq5.pod pod/perlfunc.pod pod/perlop.pod + !> pod/perlref.pod pod/perlsec.pod pod/perltodo.pod pp_sys.c + !> regexec.c sv.c t/lib/fields.t t/pragma/locale.t + !> x2p/find2perl.PL +____________________________________________________________________________ +[ 5310] By: bailey on 2000/02/28 04:36:20 + Log: Revert File::Spec::Unix functions and keep VMS versions VMS-specific + Branch: vmsperl + ! lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm +____________________________________________________________________________ +[ 5309] By: jhi on 2000/02/28 04:17:36 + Log: The #5249 wasn't doing any good. + Branch: cfgperl + ! Makefile.SH lib/ExtUtils/MM_Unix.pm +____________________________________________________________________________ +[ 5308] By: bailey on 2000/02/28 03:56:51 + Log: Repair typo -- conjunction of variable with text + Branch: vmsperl + ! t/lib/cgi-html.t +____________________________________________________________________________ +[ 5307] By: jhi on 2000/02/28 03:46:14 + Log: A less ambitious version of #5292. + Branch: cfgperl + ! Makefile.SH +____________________________________________________________________________ +[ 5306] By: bailey on 2000/02/28 03:42:38 + Log: Defer inclusion of VMS-specific code to runtime + Branch: vmsperl + ! t/io/openpid.t +____________________________________________________________________________ +[ 5305] By: jhi on 2000/02/28 03:41:48 + Log: The #5292 was Not So Good Idea. + Branch: cfgperl + ! Makefile.SH +____________________________________________________________________________ +[ 5304] By: bailey on 2000/02/28 02:57:14 + Log: Minor test updates to accomodate new subprocess invocation + Branch: vmsperl + ! t/comp/script.t t/op/goto.t t/op/split.t +____________________________________________________________________________ +[ 5303] By: bailey on 2000/02/28 02:52:47 + Log: Missed bit of #5302 (case-sensitive symbols) + Branch: vmsperl + ! lib/ExtUtils/Mksymlists.pm +____________________________________________________________________________ +[ 5302] By: bailey on 2000/02/28 02:51:00 + Log: Support case-sensitive symbols usage in linker + Branch: vmsperl + ! ext/DynaLoader/DynaLoader_pm.PL ext/DynaLoader/dl_vms.xs + ! lib/ExtUtils/MM_VMS.pm vms/gen_shrfls.pl +____________________________________________________________________________ +[ 5301] By: bailey on 2000/02/28 02:46:47 + Log: Free $PARSE context after lookups + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5300] By: bailey on 2000/02/28 02:43:56 + Log: Don't wait for subprocess to read final EOF + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5299] By: bailey on 2000/02/28 00:44:45 + Log: Dan Sugalski's config/build changes to .660 + Branch: vmsperl + ! configure.com vms/descrip_mms.template vms/subconfigure.com +____________________________________________________________________________ +[ 5298] By: bailey on 2000/02/28 00:07:13 + Log: When testing CGI.pm, use its notion of CRLF + Branch: vmsperl + ! t/lib/cgi-html.t +____________________________________________________________________________ +[ 5297] By: bailey on 2000/02/28 00:00:08 + Log: Quote command line args which need to be upper case + Tell subprocess we're finished before waiting for it + Branch: vmsperl + ! t/io/openpid.t +____________________________________________________________________________ +[ 5296] By: gsar on 2000/02/28 00:00:05 + Log: m/.*$/ etc should be m/.*\z/s in many file handling modules; fix + these insidious errors in File::Basename, File::Find and find2perl + (from Tom Christiansen) + + TODO: many other modules need to be fixed as well! + Branch: perl + ! lib/File/Basename.pm lib/File/Find.pm x2p/find2perl.PL +____________________________________________________________________________ +[ 5295] By: jhi on 2000/02/27 23:18:40 + Log: Version number update. + Branch: cfgperl + ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 5294] By: gsar on 2000/02/27 22:27:46 + Log: typos in change#5293 + Branch: perl + ! lib/fields.pm +____________________________________________________________________________ +[ 5293] By: gsar on 2000/02/27 21:57:40 + Log: support fields::new() and fields::phash() to create pseudo-hash + objects and plain pseudo-hashes respectively (this avoids users + from having to diddle %FIELDS directly); update documentation to + suit (from original fields::phash() implementation by Peter + Scott ) + Branch: perl + ! lib/fields.pm pod/perldelta.pod pod/perlfunc.pod + ! pod/perlref.pod t/lib/fields.t +____________________________________________________________________________ +[ 5292] By: jhi on 2000/02/27 21:49:25 + Log: proto.h was mssing from the list of generated files; + added rules to generate any single wanted file + (a bunch of other files may also be generated + at the same time, as before) + Branch: cfgperl + ! Makefile.SH +____________________________________________________________________________ +[ 5291] By: jhi on 2000/02/27 18:57:12 + Log: Integrate with Sarathy. + Branch: cfgperl + !> README.dos djgpp/config.over djgpp/configure.bat djgpp/djgpp.c + !> ext/File/Glob/Glob.pm hints/dos_djgpp.sh lib/File/Spec/OS2.pm + !> lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm + !> lib/File/Spec/Win32.pm op.c pod/perldelta.pod pod/perlfaq5.pod + !> pod/perlfunc.pod pod/perlop.pod pod/perlsec.pod + !> pod/perltodo.pod pp_sys.c sv.c vms/perlvms.pod vms/vms.c +____________________________________________________________________________ +[ 5290] By: gsar on 2000/02/27 18:47:00 + Log: integrate cfgperl and vmsperl contents into mainline + Branch: perl + !> lib/File/Spec/OS2.pm lib/File/Spec/Unix.pm + !> lib/File/Spec/VMS.pm lib/File/Spec/Win32.pm regexec.c + !> t/pragma/locale.t vms/perlvms.pod vms/vms.c +____________________________________________________________________________ +[ 5289] By: gsar on 2000/02/27 18:09:04 + Log: tweak change#5286 (we don't ever get to pp_glob() if we're using + the internal glob()) + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 5288] By: gsar on 2000/02/27 17:12:41 + Log: djgpp update (from Laszlo Molnar) + Branch: perl + ! README.dos djgpp/config.over djgpp/configure.bat djgpp/djgpp.c + ! hints/dos_djgpp.sh +____________________________________________________________________________ +[ 5287] By: gsar on 2000/02/27 16:58:53 + Log: tweak comment about core glob() + Branch: perl + ! ext/File/Glob/Glob.pm +____________________________________________________________________________ +[ 5286] By: gsar on 2000/02/27 16:52:54 + Log: remove outdated info about csh and glob(); glob() need not fail + when tainting anymore if using internal globbing + Branch: perl + ! pod/perldelta.pod pod/perlfaq5.pod pod/perlfunc.pod + ! pod/perlop.pod pod/perlsec.pod pod/perltodo.pod pp_sys.c +____________________________________________________________________________ +[ 5285] By: gsar on 2000/02/27 16:20:31 + Log: make readdir() respect IOf_UNTAINT flag (allows untainting of directory + handles with: Cuntaint;> + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 5284] By: gsar on 2000/02/27 14:31:24 + Log: avoid compiler warnings (from Dan Sugalski) + Branch: perl + ! op.c sv.c +____________________________________________________________________________ +[ 5283] By: gsar on 2000/02/27 14:21:16 + Log: propagate utf8ness in sv_setsv() (from Gisle Aas) + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5282] By: bailey on 2000/02/27 05:07:08 + Log: Impose security constraints on lnm lookup only if tainting + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 5281] By: bailey on 2000/02/27 05:05:35 + Log: Add new File::Spec::VMS methods + Don't add implicit device in VMS <-> Unix filespec translation + Make File::Spec::Unix{rel2abs|abs2rel} OS-independent + Branch: vmsperl + ! lib/File/Spec/OS2.pm lib/File/Spec/Unix.pm + ! lib/File/Spec/VMS.pm lib/File/Spec/Win32.pm vms/vms.c +____________________________________________________________________________ +[ 5280] By: bailey on 2000/02/27 04:58:01 + Log: Accept filespecs as command verbs for subprocesses + Branch: vmsperl + ! vms/perlvms.pod vms/vms.c +____________________________________________________________________________ +[ 5279] By: jhi on 2000/02/27 04:01:53 + Log: Integrate with Sarathy. + Branch: cfgperl + !> pp_hot.c +____________________________________________________________________________ +[ 5278] By: bailey on 2000/02/27 02:43:01 + Log: Resync with mainline again + Branch: vmsperl + !> Makefile.SH README.vms configure.com lib/ExtUtils/MM_Unix.pm + !> lib/Pod/Checker.pm lib/Pod/InputObjects.pm + !> lib/Pod/ParseUtils.pm lib/Pod/Parser.pm lib/Pod/Select.pm + !> lib/Pod/Usage.pm pod/perlfunc.pod pp_hot.c t/pod/poderrs.t + !> t/pod/poderrs.xr vms/descrip_mms.template vms/sockadapt.h + !> vms/subconfigure.com +____________________________________________________________________________ +[ 5277] By: jhi on 2000/02/27 02:36:36 + Log: Fix locale case-ignorant matching bug reported in + + From: gomar@md.media-web.de + To: perl5-porters@perl.org + Subject: [ID 20000223.005] + Date: 23 Feb 2000 16:03:08 -0000 + Message-Id: <20000223160308.1830.qmail@md.media-web.de> + Branch: cfgperl + ! regexec.c t/pragma/locale.t +____________________________________________________________________________ +[ 5276] By: gsar on 2000/02/26 18:18:16 + Log: allow $fh->autoflush on globrefs, and thence autovivified filehandles + (from Tom Christiansen) + Branch: perl + ! pp_hot.c +____________________________________________________________________________ +[ 5275] By: jhi on 2000/02/26 16:43:11 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 34 files) +____________________________________________________________________________ +[ 5274] By: gsar on 2000/02/26 15:23:45 + Log: rework binmode() entry in perlfunc (from Martien Verbruggen + ) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5273] By: gsar on 2000/02/26 15:04:54 + Log: PodParser v1.11 update (from Brad Appleton) + Branch: perl + ! lib/Pod/Checker.pm lib/Pod/InputObjects.pm + ! lib/Pod/ParseUtils.pm lib/Pod/Parser.pm lib/Pod/Select.pm + ! lib/Pod/Usage.pm t/pod/poderrs.t t/pod/poderrs.xr +____________________________________________________________________________ +[ 5272] By: gsar on 2000/02/26 14:48:24 + Log: add missing perl headers to perldepend action + Branch: perl + ! lib/ExtUtils/MM_Unix.pm +____________________________________________________________________________ +[ 5271] By: gsar on 2000/02/26 08:03:36 + Log: VMS patch (from Peter Prymmer) + Branch: perl + ! Makefile.SH README.vms configure.com vms/descrip_mms.template + ! vms/sockadapt.h vms/subconfigure.com +____________________________________________________________________________ +[ 5270] By: gsar on 2000/02/26 07:46:35 + Log: integrate vmsperl changes into mainline + Branch: perl + !> av.c configure.com installperl lib/ExtUtils/MM_VMS.pm mg.h + !> pp_sys.c scope.c vms/vms.c vms/vmsish.h +____________________________________________________________________________ +[ 5269] By: bailey on 2000/02/26 07:04:55 + Log: Resync with mainline + Branch: vmsperl + +> cygwin/cygwin.c ext/DynaLoader/dl_dyld.xs + +> ext/Sys/Hostname/Hostname.pm ext/Sys/Hostname/Hostname.xs + +> ext/Sys/Hostname/Makefile.PL hints/darwin.sh lib/bytes.pm + +> lib/bytes_heavy.pl t/pragma/warn/9enabled + - ext/DynaLoader/dl_rhapsody.xs lib/Sys/Hostname.pm lib/byte.pm + - lib/byte_heavy.pl lib/unicode/Eq/Latin1.pl + - lib/unicode/Eq/Unicode.pl + !> (integrate 323 files) +____________________________________________________________________________ +[ 5268] By: gsar on 2000/02/26 06:50:04 + Log: reintroduce useithreads (accidentally deleted in change#5261) + Branch: perl + ! win32/config.vc +____________________________________________________________________________ +[ 5266] By: gsar on 2000/02/26 06:46:06 + Log: integrate cfgperl changes into mainline + Branch: perl + +> cygwin/cygwin.c ext/DynaLoader/dl_dyld.xs hints/darwin.sh + - ext/DynaLoader/dl_rhapsody.xs + !> (integrate 62 files) +____________________________________________________________________________ +[ 5265] By: gsar on 2000/02/26 06:31:10 + Log: support for version vectors in UNIVERSAL::VERSION(), so that + C etc., work; tests for the same + + TODO: XS_VERSION_BOOTCHECK needs to be revisited in light of this + Branch: perl + ! embed.h embed.pl global.sym objXSUB.h perlapi.c proto.h + ! t/comp/use.t toke.c universal.c +____________________________________________________________________________ +[ 5264] By: jhi on 2000/02/26 04:14:15 + Log: Add libscheck for IRIX. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5263] By: jhi on 2000/02/26 03:40:47 + Log: Add libscheck for Solaris. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5262] By: jhi on 2000/02/26 03:10:47 + Log: Rhapsody/Darwin patches from Wilfredo Sanchez. + Branch: cfgperl + + ext/DynaLoader/dl_dyld.xs hints/darwin.sh + - ext/DynaLoader/dl_rhapsody.xs + ! Configure INSTALL MANIFEST Makefile.SH README.threads + ! config_h.SH hints/rhapsody.sh installperl pp_sys.c + Branch: metaconfig + ! U/a_dvisory/multiarch.U +____________________________________________________________________________ +[ 5261] By: jhi on 2000/02/26 02:48:23 + Log: Rename use64bits to use64bitint; + rename usefull64bits to use64bitall. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH configure.com epoc/config.sh hints/aix.sh + ! hints/hpux.sh hints/irix_4.sh hints/irix_5.sh hints/irix_6.sh + ! hints/irix_6_0.sh hints/irix_6_1.sh hints/solaris_2.sh + ! myconfig.SH perl.c perl.h pod/perldelta.pod pod/perlfunc.pod + ! vms/subconfigure.com vos/config.def vos/config.h + ! vos/config_h.SH_orig win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc + Branch: metaconfig + ! U/a_dvisory/quadtype.U U/mksample U/modified/libpth.U + ! U/protos/socksizetype.U U/threads/archname.U + Branch: metaconfig/U/perl + ! Extensions.U dbm64.U perlxv.U stdio64.U use64bits.U uselfs.U + ! usemorebits.U +____________________________________________________________________________ +[ 5260] By: jhi on 2000/02/25 22:57:16 + Log: From: "Fifer, Eric" + To: "'perl5-porters@perl.org'" + Subject: [PATCH 5.5.660] cygwin port + Message-ID: <779F20BCCE5AD31186A50008C75D99791716E2@SILLDN_MAIL1> + Branch: cfgperl + ! README.cygwin cygwin/Makefile.SHs cygwin/cygwin.c +____________________________________________________________________________ +[ 5259] By: jhi on 2000/02/25 22:53:51 + Log: Configure nits; add socksizetype; add getfsstat for completeness; + add lseekproto, usefull64bits, socksizetype getfsstat to non-UNIX + lands; regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doio.c epoc/config.sh perl.c pp_sys.c + ! vms/subconfigure.com vos/config.def win32/config.bc + ! win32/config.gc win32/config.vc win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc + Branch: metaconfig + + U/protos/socksizetype.U + Branch: metaconfig/U/perl + + d_getfsstat.U + ! d_fstatfs.U fpossize.U use64bits.U uselfs.U +____________________________________________________________________________ +[ 5258] By: jhi on 2000/02/25 21:04:17 + Log: Further fixes to malloc.c prototypes from Dominic Dunlop. + Branch: cfgperl + ! malloc.c +____________________________________________________________________________ +[ 5257] By: jhi on 2000/02/25 20:48:13 + Log: Integrate with Sarathy. + Branch: cfgperl + !> embed.h embed.pl objXSUB.h op.c op.h perlapi.c pp_ctl.c + !> proto.h t/cmd/while.t +____________________________________________________________________________ +[ 5256] By: gsar on 2000/02/25 20:04:37 + Log: fix missing perl_alloc() declaration under PERL_IMPLICIT_SYS + Branch: perl + ! embed.h embed.pl objXSUB.h perlapi.c proto.h +____________________________________________________________________________ +[ 5255] By: gsar on 2000/02/25 19:23:58 + Log: change#4849 wasn't restoring savestack correctly; make loops that have + continue blocks recognizable at run time + Branch: perl + ! op.c op.h pp_ctl.c t/cmd/while.t +____________________________________________________________________________ +[ 5254] By: jhi on 2000/02/25 06:00:01 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/B/B.xs ext/B/B/C.pm lib/Pod/InputObjects.pm + !> lib/Pod/Parser.pm lib/Pod/Select.pm lib/Pod/Usage.pm + !> t/lib/filefind.t t/pod/poderrs.xr +____________________________________________________________________________ +[ 5253] By: jhi on 2000/02/25 05:57:59 + Log: Megalopatch for Configure: Andy's new installation schemes; + introduce usefull64bits, beautify and regularize the various + type probes; introduce d_lseekproto. + Branch: cfgperl + ! Configure INSTALL Policy_sh.SH config_h.SH perl.h + ! pod/perldelta.pod + Branch: metaconfig + + U/installdirs/perl5.U U/installdirs/sitehtml1.U + + U/installdirs/sitehtml3.U U/installdirs/siteman1.U + + U/installdirs/siteman3.U U/installdirs/sitescript.U + + U/installdirs/vendorhtml1.U U/installdirs/vendorhtml3.U + + U/installdirs/vendorman1.U U/installdirs/vendorman3.U + + U/installdirs/vendorscript.U U/protos/d_lseekproto.U + - U/installdirs/vendorhtml1dir.U U/installdirs/vendorhtml3dir.U + - U/installdirs/vendorman1dir.U U/installdirs/vendorman3dir.U + - U/installdirs/vendorscriptdir.U + ! U/compline/doublesize.U U/compline/ptrsize.U + ! U/installdirs/archlib.U U/installdirs/bin.U + ! U/installdirs/html1dir.U U/installdirs/html3dir.U + ! U/installdirs/inc_version_list.U U/installdirs/installprefix.U + ! U/installdirs/installstyle.U U/installdirs/instubperl.U + ! U/installdirs/localarch.U U/installdirs/locallib.U + ! U/installdirs/otherlibdirs.U U/installdirs/prefix.U + ! U/installdirs/privlib.U U/installdirs/scriptdir.U + ! U/installdirs/sitearch.U U/installdirs/sitebin.U + ! U/installdirs/sitelib.U U/installdirs/siteprefix.U + ! U/installdirs/vendorarch.U U/installdirs/vendorbin.U + ! U/installdirs/vendorlib.U U/installdirs/vendorprefix.U + ! U/modified/d_longdbl.U U/modified/d_longlong.U + ! U/typedefs/gidsize.U U/typedefs/lseektype.U + ! U/typedefs/uidsize.U + Branch: metaconfig/U/perl + ! d_fpos64_t.U d_int64_t.U d_off64_t.U d_socklen_t.U fpossize.U + ! patchlevel.U use64bits.U uselfs.U usemultiplicity.U +____________________________________________________________________________ +[ 5252] By: gsar on 2000/02/25 03:15:03 + Log: update PodParser to v1.10 (from Brad Appleton) + Branch: perl + ! lib/Pod/InputObjects.pm lib/Pod/Parser.pm lib/Pod/Select.pm + ! lib/Pod/Usage.pm t/pod/poderrs.xr +____________________________________________________________________________ +[ 5251] By: gsar on 2000/02/25 03:10:51 + Log: make File::Find tests tolerate case-insensitive systems (from + Laszlo Molnar) + Branch: perl + ! t/lib/filefind.t +____________________________________________________________________________ +[ 5250] By: gsar on 2000/02/25 01:50:04 + Log: more Compiler tweaks for useithreads + Branch: perl + ! ext/B/B.xs ext/B/B/C.pm +____________________________________________________________________________ +[ 5249] By: jhi on 2000/02/25 00:17:53 + Log: Remove NFS temp files and Configure temp C files. + Branch: cfgperl + ! Makefile.SH lib/ExtUtils/MM_Unix.pm +____________________________________________________________________________ +[ 5248] By: jhi on 2000/02/24 23:57:49 + Log: In FreeBSD disable floating point exception handlers. + As the comment says, this should be done in the hints. + + From: dive + To: "M.J.T. Guy" + cc: perl5-porters@perl.org + Subject: Re: [ID 20000216.004] apparent bug on freebsd systems when calculating large numbers + Date: Thu, 24 Feb 2000 15:54:24 -0800 (PST) + Message-ID: + Branch: cfgperl + ! unixish.h +____________________________________________________________________________ +[ 5247] By: jhi on 2000/02/24 23:46:27 + Log: From: Gisle Aas + To: perl5-porters@perl.org + Subject: [PATCH v5.5.660] More UTF8_MAXLEN fixes + Date: 25 Feb 2000 00:24:53 +0100 + Message-ID: + Branch: cfgperl + ! doop.c op.c perl.c pp.c regcomp.c regexec.c sv.c +____________________________________________________________________________ +[ 5246] By: jhi on 2000/02/24 23:15:56 + Log: The op/stat.t patch in #5341 wasn't robust enough, + it broke subtest 4 almost everywhere else. + Branch: cfgperl + ! t/op/stat.t +____________________________________________________________________________ +[ 5245] By: jhi on 2000/02/24 19:28:53 + Log: More VMS patches from Peter Prymmer. + Branch: cfgperl + ! configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 5244] By: jhi on 2000/02/24 19:26:33 + Log: Largefileness in Solaris doesn't require long longs; + use64bits enhancements; introduce usefull64bits. + Branch: cfgperl + ! Configure config_h.SH hints/aix.sh hints/hpux.sh + ! hints/irix_6.sh hints/solaris_2.sh + Branch: metaconfig + ! U/threads/archname.U + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5243] By: jhi on 2000/02/24 18:40:25 + Log: Tidy up the 64-bit (and socklen_t) type probing. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/d_longdbl.U U/modified/d_longlong.U + Branch: metaconfig/U/perl + + d_fpos64_t.U d_off64_t.U + - io64.U + ! d_int64_t.U d_socklen_t.U +____________________________________________________________________________ +[ 5242] By: jhi on 2000/02/24 18:09:49 + Log: Integrate with Sarathy. + Branch: cfgperl + !> pod/perlop.pod +____________________________________________________________________________ +[ 5241] By: jhi on 2000/02/24 18:00:49 + Log: From: "Fifer, Eric" + To: "'perl5-porters@perl.org'" + Subject: [PATCH 5.5.660] cygwin port + Date: Thu, 24 Feb 2000 17:15:28 -0000 + Message-ID: <779F20BCCE5AD31186A50008C75D99791716E1@SILLDN_MAIL1> + Branch: cfgperl + + cygwin/cygwin.c + ! MANIFEST Makefile.SH README.cygwin cygwin/Makefile.SHs + ! hints/cygwin.sh perl.c t/lib/glob-basic.t t/op/stat.t +____________________________________________________________________________ +[ 5240] By: jhi on 2000/02/24 17:53:12 + Log: VMS patch from Peter Prymmer; use full_ar. + Branch: cfgperl + ! vms/subconfigure.com +____________________________________________________________________________ +[ 5239] By: jhi on 2000/02/24 17:46:45 + Log: MPE/ix patches from Mark Bixby. + Branch: cfgperl + ! pp_sys.c t/io/pipe.t t/lib/glob-basic.t t/lib/io_poll.t + ! t/lib/io_sock.t t/op/die_exit.t t/op/exec.t t/op/fork.t + ! t/op/stat.t +____________________________________________________________________________ +[ 5238] By: jhi on 2000/02/24 17:13:22 + Log: Get -lbind if available. Add pointer to perldelta.pod/64-bit + support to t/op/numconvert.t. + + From: Lupe Christoph + To: perl5-porters@perl.org + Subject: [ID 20000224.003] Not OK: perl v5.5.660 on i86pc-solaris 2.7 + Date: Thu, 24 Feb 2000 11:54:50 +0100 (MET) + Message-Id: <200002241054.LAA06808@lupe-christoph.de> + Branch: cfgperl + ! Configure config_h.SH t/op/numconvert.t + Branch: metaconfig + ! U/modified/libs.U +____________________________________________________________________________ +[ 5237] By: jhi on 2000/02/24 15:47:11 + Log: Remove more cruft from IO. + Branch: cfgperl + ! ext/IO/IO.xs +____________________________________________________________________________ +[ 5236] By: jhi on 2000/02/24 15:14:48 + Log: From: Hugo + To: perl5-porters@perl.org + Subject: [PATCH 5.5.660] double EXPORT_OK in h2xs + Date: Thu, 24 Feb 2000 13:24:10 +0000 + Message-Id: <200002241324.NAA05900@crypt.compulink.co.uk> + Branch: cfgperl + ! utils/h2xs.PL +____________________________________________________________________________ +[ 5235] By: jhi on 2000/02/24 15:12:40 + Log: Some Windows setups do not have S_IRGRP, S_IWGRP, S_IXGRP, + S_IROTH, S_IWOTH, S_IXOTH. + + From: js@ddre.dk + To: perl5-porters@perl.org + Subject: [ID 20000224.004] Not OK: perl v5.5.660 on MSWin32-x86 4.0 + Date: Thu, 24 Feb 2000 15:11:33 +0100 + Message-Id: <2991B60B9F72D011811C0000F821BB4C983B0C@freja.ddre.dk> + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5234] By: gsar on 2000/02/24 03:39:17 + Log: integrate cfgperl changes into mainline + Branch: perl + - lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl + ! pod/perlop.pod + !> Configure MANIFEST Porting/Glossary Porting/config.sh + !> Porting/config_H config_h.SH configpm configure.com doio.c + !> ext/Fcntl/Fcntl.pm ext/IO/IO.xs ext/IO/lib/IO/Socket.pm + !> ext/Sys/Hostname/Hostname.xs hints/dec_osf.sh hints/irix_6.sh + !> lib/unicode/mktables.PL malloc.c myconfig.SH pp_sys.c + !> t/op/64bit.t vms/descrip_mms.template vms/subconfigure.com +____________________________________________________________________________ +[ 5233] By: jhi on 2000/02/24 01:31:38 + Log: VMS patch from Peter Prymmer. + Branch: cfgperl + ! vms/subconfigure.com +____________________________________________________________________________ +[ 5232] By: jhi on 2000/02/24 01:15:03 + Log: Detypo fpos64_t test. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! io64.U +____________________________________________________________________________ +[ 5231] By: jhi on 2000/02/24 01:11:17 + Log: miscut'n'paste in #5230. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! d_int64_t.U +____________________________________________________________________________ +[ 5230] By: jhi on 2000/02/24 01:02:05 + Log: The #5228 wasn't quite right + fix typos. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/d_longdbl.U U/modified/d_longlong.U + Branch: metaconfig/U/perl + ! d_int64_t.U d_socklen_t.U io64.U +____________________________________________________________________________ +[ 5229] By: jhi on 2000/02/24 00:40:01 + Log: Depickify the compiler (about unused and set but not used variables) + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5228] By: jhi on 2000/02/24 00:34:35 + Log: Cosmetics. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/d_longdbl.U U/modified/d_longlong.U + Branch: metaconfig/U/perl + ! d_int64_t.U d_socklen_t.U +____________________________________________________________________________ +[ 5227] By: jhi on 2000/02/24 00:17:34 + Log: In IRIX is something completely different. + + From: jarausch@numa1.igpm.rwth-aachen.de (Helmut Jarausch) + To: perl5-porters@perl.org + Subject: [ID 20000223.003] Not OK: perl v5.5.660 on IP26-irix 6.5 + Date: Wed, 23 Feb 2000 10:55:08 +0100 (CST) + Message-Id: <200002230955.KAA89136@numa1.igpm.rwth-aachen.de> + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 5226] By: jhi on 2000/02/23 20:39:28 + Log: Integrate with Sarathy. + Branch: cfgperl + !> pod/perldelta.pod pod/perlfunc.pod pod/perlop.pod + !> t/comp/require.t t/op/ver.t toke.c +____________________________________________________________________________ +[ 5225] By: jhi on 2000/02/23 20:35:58 + Log: From: Dominic Dunlop + To: perl5-porters@perl.org + Cc: Gurusamy Sarathy + Subject: [ID 20000223.008] [PATCH 5.5.660] squash malloc.c compile warnings + Date: Wed, 23 Feb 2000 21:23:44 +0100 + Message-Id: + Branch: cfgperl + ! malloc.c +____________________________________________________________________________ +[ 5224] By: jhi on 2000/02/23 20:22:43 + Log: From: Dan Sugalski + To: perl5-porters@perl.org, vmsperl@perl.org + Subject: [PATCH 5.5.660]VMS build patches + Date: Wed, 23 Feb 2000 15:14:27 -0500 + Message-Id: <4.3.0.20000223151302.01efa560@24.8.96.48> + + (the patch was mangled, had to be manually applied) + Branch: cfgperl + ! configure.com vms/descrip_mms.template vms/subconfigure.com +____________________________________________________________________________ +[ 5223] By: jhi on 2000/02/23 19:54:04 + Log: From: Dominic Dunlop + To: perl5-porters@perl.org + Cc: Andy Dougherty , + Gurusamy Sarathy + Subject: [ID 20000223.007] [PATCH 5.5.660] $@ unsafe in Configure sed arguments + Date: Wed, 23 Feb 2000 20:41:54 +0100 + Message-Id: + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Oldconfig.U U/modified/libs.U + Branch: metaconfig/U/perl + ! dlsrc.U +____________________________________________________________________________ +[ 5222] By: jhi on 2000/02/23 18:02:39 + Log: Remove &IO::EINPROGRESS now that IO uses Errno anyway + (suggested by Graham Barr). + Branch: cfgperl + ! ext/IO/IO.xs ext/IO/lib/IO/Socket.pm +____________________________________________________________________________ +[ 5221] By: jhi on 2000/02/23 16:00:29 + Log: Streamline #5218 even more. + Branch: cfgperl + ! ext/IO/lib/IO/Socket.pm +____________________________________________________________________________ +[ 5220] By: gsar on 2000/02/23 09:10:43 + Log: per Larry's idea, parse 1.2.3 as v1.2.3; C and + C work as well; underscores are now permitted in v-strings + Branch: perl + ! pod/perldelta.pod pod/perlfunc.pod pod/perlop.pod + ! t/comp/require.t t/op/ver.t toke.c +____________________________________________________________________________ +[ 5219] By: jhi on 2000/02/23 04:24:54 + Log: Streamline #5218. + Branch: cfgperl + ! ext/IO/lib/IO/Socket.pm +____________________________________________________________________________ +[ 5218] By: jhi on 2000/02/23 02:08:19 + Log: Trying to connect to an already open socket may give EISCONN. + Branch: cfgperl + ! ext/IO/lib/IO/Socket.pm +____________________________________________________________________________ +[ 5217] By: jhi on 2000/02/22 23:54:51 + Log: Fix prototype conflicts with POSIX.pm. + Branch: cfgperl + ! ext/Fcntl/Fcntl.pm +____________________________________________________________________________ +[ 5216] By: jhi on 2000/02/22 22:27:19 + Log: See http://www.unicode.org/unicode/reports/tr15/ + for in-depth description of the problem. + Branch: cfgperl + - lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl + ! MANIFEST lib/unicode/mktables.PL +____________________________________________________________________________ +[ 5215] By: jhi on 2000/02/22 22:11:17 + Log: Add uselongdouble, regroup the use* more logically. + Branch: cfgperl + ! myconfig.SH +____________________________________________________________________________ +[ 5214] By: jhi on 2000/02/22 22:04:43 + Log: Integrate with Sarathy. + Branch: cfgperl + !> malloc.c perl.c pod/perldelta.pod pod/perldiag.pod + !> pod/perlpod.pod pod/perlrun.pod toke.c utils/perldoc.PL +____________________________________________________________________________ +[ 5213] By: jhi on 2000/02/22 22:03:26 + Log: Add socklen_t probe; Configure maintenance. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doio.c ext/Sys/Hostname/Hostname.xs pp_sys.c + Branch: metaconfig + ! U/a_dvisory/quadtype.U U/compline/alignbytes.U U/modified/cc.U + ! U/modified/libs.U + Branch: metaconfig/U/perl + + d_int64_t.U d_socklen_t.U + - d_int64t.U + ! i_sysutsname.U +____________________________________________________________________________ +[ 5212] By: gsar on 2000/02/22 21:46:45 + Log: make Perl's malloc work for allocations over 2GB (from Ilya + Zakharevich) + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5211] By: gsar on 2000/02/22 19:51:47 + Log: add -W and -X to -h output; fix other pod omissions + Branch: perl + ! perl.c pod/perlrun.pod +____________________________________________________________________________ +[ 5210] By: gsar on 2000/02/22 19:51:13 + Log: describe C<< ... >> in perlpod.pod (from Brad Appleton) + Branch: perl + ! pod/perlpod.pod +____________________________________________________________________________ +[ 5209] By: jhi on 2000/02/22 19:40:43 + Log: The subtests 28 and 31 were wrong. Tightened also the similar + tests nearby. + Branch: cfgperl + ! t/op/64bit.t +____________________________________________________________________________ +[ 5208] By: gsar on 2000/02/22 19:13:44 + Log: s/Activeware/ActiveState/ + Branch: perl + ! pod/perlrun.pod +____________________________________________________________________________ +[ 5207] By: jhi on 2000/02/22 18:38:29 + Log: Perl version nit spotted by Spider Boardman. + Branch: cfgperl + ! configpm +____________________________________________________________________________ +[ 5206] By: gsar on 2000/02/22 17:50:44 + Log: change#5205 wasn't quite right; SvCUR() should be SvLEN() + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 5205] By: gsar on 2000/02/22 17:36:26 + Log: fix memory overrun due to off-by-one in change#5192 + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 5204] By: gsar on 2000/02/22 17:10:39 + Log: sundry typos and such + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod utils/perldoc.PL +____________________________________________________________________________ +[ 5203] By: jhi on 2000/02/22 17:10:22 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 56 files) +____________________________________________________________________________ +[ 5202] By: gsar on 2000/02/22 16:48:58 + Log: remove vestiges of older attribute syntax + Branch: perl + ! ext/attrs/attrs.pm pod/Win32.pod pod/perldelta.pod + ! pod/perlop.pod pod/perlthrtut.pod pod/perlvar.pod +____________________________________________________________________________ +[ 5201] By: jhi on 2000/02/22 14:39:56 + Log: Configure nits spotted by Spider Boardman. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/libs.U + Branch: metaconfig/U/perl + ! fpossize.U +____________________________________________________________________________ +[ 5200] By: jhi on 2000/02/22 14:31:21 + Log: Tru64 V5.0 patches from Spider Boardman. + Branch: cfgperl + ! hints/dec_osf.sh + +---------------- +Version v5.5.660 +---------------- + +____________________________________________________________________________ +[ 5199] By: gsar on 2000/02/22 11:29:28 + Log: beta2 + Branch: perl + ! Changes +____________________________________________________________________________ +[ 5198] By: gsar on 2000/02/22 10:45:54 + Log: PodParser-1.093 update (from Brad Appleton's site) + Branch: perl + ! lib/Pod/Checker.pm lib/Pod/Find.pm lib/Pod/InputObjects.pm + ! lib/Pod/ParseUtils.pm lib/Pod/Parser.pm lib/Pod/Select.pm + ! lib/Pod/Usage.pm t/pod/poderrs.t t/pod/poderrs.xr + ! t/pod/special_seqs.t t/pod/special_seqs.xr +____________________________________________________________________________ +[ 5197] By: gsar on 2000/02/22 10:24:13 + Log: integrate cfgperl contents into mainline, update Changes + Branch: perl + ! Changes pod/perlhist.pod + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH hints/solaris_2.sh malloc.c perl.h + !> pod/perldelta.pod +____________________________________________________________________________ +[ 5196] By: gsar on 2000/02/22 10:10:36 + Log: dos-djgpp updates (from Laszlo Molnar ) + Branch: perl + ! djgpp/config.over djgpp/configure.bat djgpp/djgppsed.sh + ! t/lib/glob-basic.t t/lib/glob-case.t t/lib/glob-global.t + ! t/lib/glob-taint.t t/lib/io_unix.t +____________________________________________________________________________ +[ 5195] By: gsar on 2000/02/22 10:01:49 + Log: s/undef/NO_INIT/g in change#5183 + Branch: perl + ! lib/ExtUtils/xsubpp pod/perlxs.pod +____________________________________________________________________________ +[ 5194] By: gsar on 2000/02/22 09:44:07 + Log: perlipc bug (spotted by Ben Low) + Branch: perl + ! pod/perlipc.pod +____________________________________________________________________________ +[ 5193] By: gsar on 2000/02/22 09:38:58 + Log: EPOC port update (from Olaf Flebbe ) + Branch: perl + ! README.epoc epoc/config.sh epoc/createpkg.pl perl.c +____________________________________________________________________________ +[ 5192] By: gsar on 2000/02/22 09:26:06 + Log: improvements for high-bit text literals (from Gisle Aas) + Branch: perl + ! t/pragma/warn/doop t/pragma/warn/pp t/pragma/warn/sv + ! t/pragma/warn/toke t/pragma/warn/utf8 toke.c +____________________________________________________________________________ +[ 5191] By: gsar on 2000/02/22 07:35:47 + Log: allow C, $h{v13.10} etc. + Branch: perl + ! t/op/ver.t toke.c +____________________________________________________________________________ +[ 5190] By: gsar on 2000/02/22 05:35:27 + Log: adjust for lost fp precision in require version check + Branch: perl + ! pp_ctl.c t/comp/require.t +____________________________________________________________________________ +[ 5189] By: jhi on 2000/02/22 05:14:35 + Log: Check the alignment of long doubles if they are to be used; + regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig + ! U/compline/alignbytes.U +____________________________________________________________________________ +[ 5188] By: gsar on 2000/02/22 04:45:57 + Log: use same treatment for EINVAL as for ETIMEDOUT + Branch: perl + ! ext/IO/lib/IO/Socket/INET.pm +____________________________________________________________________________ +[ 5187] By: gsar on 2000/02/21 23:15:12 + Log: type mismatch + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5186] By: gsar on 2000/02/21 21:10:26 + Log: remove dual-valueness of v-strings (i.e., they are pure strings + now); avoid the word "tuple" to describe strings represented as + character ordinals; usurp $PERL_VERSION for $^V as suggested by + Larry, deprecate $] ; adjust the documentation and testsuite + accordingly + Branch: perl + ! MANIFEST lib/English.pm op.c pod/perldelta.pod + ! pod/perlfunc.pod pod/perlop.pod pod/perlvar.pod + ! t/comp/require.t t/op/ver.t toke.c +____________________________________________________________________________ +[ 5185] By: jhi on 2000/02/21 20:36:05 + Log: detypo + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5184] By: gsar on 2000/02/21 18:37:38 + Log: clarify "use Module VERSION LIST" (from Robin Barker) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5183] By: gsar on 2000/02/21 18:31:42 + Log: allow optional XSUB parameters without being forced to use a + default (from Hugo van der Sanden) + Branch: perl + ! lib/ExtUtils/xsubpp pod/perlfunc.pod pod/perlxs.pod +____________________________________________________________________________ +[ 5182] By: jhi on 2000/02/21 18:22:47 + Log: Add Solaris LP64 notes. + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 5181] By: gsar on 2000/02/21 16:53:39 + Log: generalize "%v" format into a flag for any integral format type: + "%vd", "%v#o", "%*vX", etc are allowed + Branch: perl + ! perl.c pod/perldelta.pod pod/perlfunc.pod sv.c t/op/ver.t + ! utils/perlbug.PL +____________________________________________________________________________ +[ 5180] By: gsar on 2000/02/21 07:11:00 + Log: detypo + Branch: perl + ! ext/B/B.xs +____________________________________________________________________________ +[ 5179] By: gsar on 2000/02/21 07:08:38 + Log: undo accidental delete + Branch: perl + ! ext/B/B.pm ext/B/B.xs +____________________________________________________________________________ +[ 5178] By: gsar on 2000/02/21 07:02:16 + Log: get Compiler "working" under useithreads + Branch: perl + ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm + ! ext/B/B/Deparse.pm ext/B/B/Xref.pm +____________________________________________________________________________ +[ 5177] By: jhi on 2000/02/21 03:16:24 + Log: Thou shalt not printf longs with %d. + Branch: cfgperl + ! malloc.c +____________________________________________________________________________ +[ 5176] By: jhi on 2000/02/21 01:37:35 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/pragma/warn/9enabled + !> (integrate 63 files) +____________________________________________________________________________ +[ 5175] By: gsar on 2000/02/21 00:25:00 + Log: misplaced braces + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5174] By: gsar on 2000/02/21 00:09:16 + Log: more malloc.c tweaks for change#5070 + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5173] By: gsar on 2000/02/21 00:01:17 + Log: malloc.c fixups in change#5170 need to fetch thx pointer + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5172] By: gsar on 2000/02/20 23:52:39 + Log: missing file in change#5170 + Branch: perl + + t/pragma/warn/9enabled +____________________________________________________________________________ +[ 5171] By: gsar on 2000/02/20 23:49:17 + Log: skip conditionally defined symbols in change#5162 + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5170] By: gsar on 2000/02/20 22:58:09 + Log: lexical warnings update, ability to inspect bitmask in calling + scope, among other things (from Paul Marquess) + Branch: perl + ! MANIFEST lib/warnings.pm malloc.c mg.c op.c pod/perldiag.pod + ! pod/perlfunc.pod pod/perllexwarn.pod pp.c pp_ctl.c pp_hot.c + ! regcomp.c regexec.c sv.c t/op/substr.t t/pragma/warn/op + ! t/pragma/warn/pp t/pragma/warn/pp_ctl t/pragma/warn/pp_hot + ! t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv + ! t/pragma/warn/toke toke.c warnings.h warnings.pl +____________________________________________________________________________ +[ 5169] By: gsar on 2000/02/20 22:22:28 + Log: windows fixes for virtualizing child std{in,out,err} handles, + attempts to lock uninitialized critical section in files that + were never explicitly opened (from Doug Lankshear) + Branch: perl + ! iperlsys.h win32/perlhost.h win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 5168] By: gsar on 2000/02/20 20:19:11 + Log: update Changes, credits + Branch: perl + ! Changes +____________________________________________________________________________ +[ 5167] By: gsar on 2000/02/20 18:54:27 + Log: avoid reading out-of-bounds memory when matching against reference + Branch: perl + ! regexec.c +____________________________________________________________________________ +[ 5166] By: gsar on 2000/02/20 17:59:41 + Log: byte mode chop() should clear UTF8 (from Gisle Aas) + Branch: perl + ! doop.c +____________________________________________________________________________ +[ 5165] By: gsar on 2000/02/20 17:57:08 + Log: test fix needed by change#5164 + Branch: perl + ! t/pragma/warn/toke +____________________________________________________________________________ +[ 5164] By: gsar on 2000/02/20 17:50:38 + Log: default mkdir() mode argument to 0777 + Branch: perl + ! opcode.h opcode.pl pod/perldiag.pod pod/perlfunc.pod pp_sys.c + ! t/op/mkdir.t toke.c +____________________________________________________________________________ +[ 5163] By: gsar on 2000/02/20 16:34:33 + Log: glob() takes one or no user arguments and a non-user-visible second + hidden argument, fix its prototype-checking accordingly + Branch: perl + ! op.c opcode.h opcode.pl +____________________________________________________________________________ +[ 5162] By: gsar on 2000/02/20 16:07:38 + Log: make change#3386 a build-time option (avoids problems due to + perl_run() longjmping out) + Branch: perl + ! Todo-5.6 embed.h embed.pl embedvar.h intrpvar.h objXSUB.h + ! perl.c perl.h perlapi.c perlvars.h pp_ctl.c proto.h scope.c + ! scope.h sv.c thrdvar.h util.c +____________________________________________________________________________ +[ 5161] By: gsar on 2000/02/20 12:13:37 + Log: IO::Socket now sets $!, avoids eval/die (patch from Graham Barr + modified to use Errno more portably) + Branch: perl + ! ext/IO/lib/IO/Socket.pm ext/IO/lib/IO/Socket/INET.pm +____________________________________________________________________________ +[ 5160] By: gsar on 2000/02/20 11:53:28 + Log: mention portability caveat about C + Branch: perl + ! ext/Errno/Errno_pm.PL +____________________________________________________________________________ +[ 5159] By: gsar on 2000/02/20 11:14:36 + Log: revise docs on @+ and @- (from Tom "Camel" Christiansen) + Branch: perl + ! pod/perlvar.pod +____________________________________________________________________________ +[ 5158] By: gsar on 2000/02/20 10:53:49 + Log: README.vms and related updates (from Peter Prymmer ) + Branch: perl + ! MANIFEST Makefile.SH README.vms pod/perl5005delta.pod + ! pod/perldelta.pod pod/perlport.pod pod/podchecker.PL + ! vms/descrip_mms.template +____________________________________________________________________________ +[ 5157] By: jhi on 2000/02/19 20:29:26 + Log: Be explicit about what ops work with bt vectors. + (And implicit about which don't.) + Branch: cfgperl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5156] By: jhi on 2000/02/19 18:38:14 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/bytes.pm lib/bytes_heavy.pl + - lib/byte.pm lib/byte_heavy.pl + !> (integrate 61 files) +____________________________________________________________________________ +[ 5155] By: gsar on 2000/02/19 17:57:39 + Log: char vs U8 warnings + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5154] By: gsar on 2000/02/19 17:44:56 + Log: remove outdated caveat about C (from + Hugo van der Sanden) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5153] By: gsar on 2000/02/19 17:41:41 + Log: tests, doc tweak (from Gisle Aas) + Branch: perl + ! pod/perlfaq9.pod t/op/ord.t +____________________________________________________________________________ +[ 5152] By: gsar on 2000/02/19 17:35:50 + Log: document behavior of splice(@ary) (from Gisle Aas) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5151] By: gsar on 2000/02/19 17:33:59 + Log: fix bug in backtracking optimizer (from Makoto Ishisone + ) + Branch: perl + ! regexec.c t/op/pat.t +____________________________________________________________________________ +[ 5150] By: gsar on 2000/02/19 17:33:05 + Log: more B fixups to cope with empty GVs (these can only happen in pads) + Branch: perl + ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm op.c +____________________________________________________________________________ +[ 5149] By: gsar on 2000/02/19 17:32:03 + Log: avoid compiler warnings + Branch: perl + ! malloc.c perl.h +____________________________________________________________________________ +[ 5148] By: gsar on 2000/02/19 17:18:09 + Log: document 'lvalue' attribute (from Simon Cozens ) + Branch: perl + ! lib/attributes.pm +____________________________________________________________________________ +[ 5147] By: gsar on 2000/02/19 17:15:34 + Log: avoid failing on $!{ENOTHERE} (they can always use C + for that) + Branch: perl + ! ext/Errno/Errno_pm.PL +____________________________________________________________________________ +[ 5146] By: gsar on 2000/02/19 16:18:46 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure config_h.SH ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs + !> ext/SDBM_File/sdbm/sdbm.c ext/Socket/Socket.pm + !> ext/Socket/Socket.xs hints/hpux.sh perl.h pod/perldelta.pod + !> pod/perlfunc.pod pod/perlopentut.pod t/lib/syslfs.t +____________________________________________________________________________ +[ 5145] By: gsar on 2000/02/19 16:10:37 + Log: POSIX::strftime gets the date wrong (from John Tobey + ) + Branch: perl + ! ext/POSIX/POSIX.xs t/lib/posix.t +____________________________________________________________________________ +[ 5144] By: gsar on 2000/02/19 16:02:40 + Log: don't blindly set bool=char on linux (from Andy Dougherty) + Branch: perl + ! handy.h hints/linux.sh x2p/a2p.h +____________________________________________________________________________ +[ 5143] By: gsar on 2000/02/19 15:54:04 + Log: some rearrangement of the includes for easier "microperl" build; + add PERL_MICRO guards supplied by Simon Cozens + Branch: perl + ! doio.c perl.c perl.h pp_hot.c pp_sys.c toke.c util.c +____________________________________________________________________________ +[ 5142] By: gsar on 2000/02/19 15:22:17 + Log: fixes for Pod::Html issues (from Wolfgang Laun + ) + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 5141] By: gsar on 2000/02/19 08:27:29 + Log: grammos (spotted by Tom Christiansen) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5140] By: gsar on 2000/02/19 08:17:04 + Log: various xsubpp enhancements that make it easier to use with + C::Scan (from Ilya Zakharevich) + + TODO: still needs documentation + Branch: perl + ! lib/ExtUtils/xsubpp +____________________________________________________________________________ +[ 5139] By: gsar on 2000/02/19 07:55:18 + Log: s/croak/Perl_croak/ + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5138] By: gsar on 2000/02/19 07:51:39 + Log: make comparisons promote to utf8 as necessary (from Gisle Aas) + Branch: perl + ! Todo-5.6 embed.h embed.pl global.sym objXSUB.h perlapi.c + ! pp_hot.c proto.h sv.c toke.c +____________________________________________________________________________ +[ 5137] By: gsar on 2000/02/19 07:42:12 + Log: set close-on-exec flag on sockets too, like we do for files + and pipes + Branch: perl + ! pod/perldelta.pod pod/perlfunc.pod pod/perlvar.pod pp_sys.c +____________________________________________________________________________ +[ 5136] By: gsar on 2000/02/19 07:23:48 + Log: allocate sufficient buffer sizes for 64-bit wide utf8 characters + permitted by change#5011 (from Gisle Aas) + Branch: perl + ! pp.c utf8.c utf8.h +____________________________________________________________________________ +[ 5135] By: gsar on 2000/02/19 06:53:13 + Log: s/WARN_PRECEDENCE/WARN_BAREWORD/, vide change#5131 + Branch: perl + ! lib/warnings.pm op.c warnings.h warnings.pl +____________________________________________________________________________ +[ 5134] By: gsar on 2000/02/19 06:36:46 + Log: s/byte/bytes/g remnants + Branch: perl + ! lib/bytes.pm lib/bytes_heavy.pl +____________________________________________________________________________ +[ 5133] By: gsar on 2000/02/19 06:33:49 + Log: rename byte:: to bytes:: + Branch: perl + +> lib/bytes.pm lib/bytes_heavy.pl + - lib/byte.pm lib/byte_heavy.pl + ! MANIFEST lib/charnames.pm lib/utf8.pm pod/perldelta.pod + ! pod/perltoc.pod pod/perlunicode.pod pod/perlvar.pod + ! t/lib/charnames.t t/op/ver.t +____________________________________________________________________________ +[ 5132] By: gsar on 2000/02/19 05:58:42 + Log: English names for $^R and $^S + Branch: perl + ! lib/English.pm pod/perlvar.pod +____________________________________________________________________________ +[ 5131] By: gsar on 2000/02/19 05:44:20 + Log: rename "Probable precendence problem" diagnostic to "Bareword found + in conditional" to better reflect the class of error (as suggested + by Larry) + Branch: perl + ! op.c pod/perldelta.pod pod/perldiag.pod t/pragma/warn/op +____________________________________________________________________________ +[ 5130] By: gsar on 2000/02/19 05:43:10 + Log: fix outdated info about PerlClinic and the bug-tracking system + Branch: perl + ! pod/perlfaq2.pod pod/perltodo.pod +____________________________________________________________________________ +[ 5129] By: gsar on 2000/02/19 04:14:19 + Log: some fixes for mingw32/GCC (SETERRNO() still appears to + trash memory) + Branch: perl + ! README.win32 t/lib/safe2.t t/op/mkdir.t win32/makefile.mk + ! win32/win32.h +____________________________________________________________________________ +[ 5128] By: gsar on 2000/02/18 06:55:33 + Log: avoid $@-clearing sideeffect of require in Carp + Branch: perl + ! lib/Carp.pm +____________________________________________________________________________ +[ 5127] By: gsar on 2000/02/18 04:58:26 + Log: stronger testcase for change#5126 + Branch: perl + ! t/op/pat.t +____________________________________________________________________________ +[ 5126] By: gsar on 2000/02/18 04:44:28 + Log: make /\S/ match the same things /[\S]/ matches; likewise for + \D (from Rick Delaney ) + Branch: perl + ! regexec.c t/op/pat.t +____________________________________________________________________________ +[ 5125] By: gsar on 2000/02/18 03:57:43 + Log: Compiler fixups from Jan Dubois + Branch: perl + ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm utils/perlcc.PL +____________________________________________________________________________ +[ 5124] By: jhi on 2000/02/17 22:09:09 + Log: Take out the -Wl,-z as we have survice so far without. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5123] By: jhi on 2000/02/17 18:40:17 + Log: Integrate with Sarathy. + Branch: cfgperl + !> dump.c ext/ODBM_File/ODBM_File.xs t/op/split.t +____________________________________________________________________________ +[ 5122] By: gsar on 2000/02/17 18:01:14 + Log: fix test that depends on op_dump() output + Branch: perl + ! t/op/split.t +____________________________________________________________________________ +[ 5121] By: gsar on 2000/02/17 17:55:18 + Log: op_dump() tweak + Branch: perl + ! dump.c +____________________________________________________________________________ +[ 5120] By: jhi on 2000/02/16 23:11:04 + Log: Regularize the use* questions, and replace + "Configure *must* be run with -Duse..." with. + "can be run". + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/threads/usethreads.U + Branch: metaconfig/U/perl + ! use64bits.U uselfs.U uselongdbl.U uselonglong.U + ! usemultiplicity.U useperlio.U usesocks.U +____________________________________________________________________________ +[ 5119] By: jhi on 2000/02/16 22:29:11 + Log: HP-UX 64-bitness/largefile fixes. + Branch: cfgperl + ! Configure config_h.SH ext/SDBM_File/sdbm/sdbm.c hints/hpux.sh + ! perl.h + Branch: metaconfig + ! U/modified/cc.U U/modified/libpth.U U/modified/libs.U + Branch: metaconfig/U/perl + ! Extensions.U +____________________________________________________________________________ +[ 5118] By: jhi on 2000/02/16 19:47:51 + Log: Fcntl: more O_ constants, move SEEK_ to @EXPORT_OK + (tag :seek), add S_I constants (and functions) (tag :mode); + refer only to the SEEK_ of Fcntl, not the ones from + POSIX or IO::; add SHUT_ to Socket; get trigonometric + functions from Math::Trig instead of POSIX. + Branch: cfgperl + ! ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs ext/Socket/Socket.pm + ! ext/Socket/Socket.xs perl.h pod/perldelta.pod pod/perlfunc.pod + ! pod/perlopentut.pod t/lib/syslfs.t + Branch: metaconfig/U/perl + + i_sysmode.U +____________________________________________________________________________ +[ 5117] By: gsar on 2000/02/16 06:39:06 + Log: avoid warnings due to redefined NULL + Branch: perl + ! ext/ODBM_File/ODBM_File.xs +____________________________________________________________________________ +[ 5116] By: gsar on 2000/02/16 00:10:25 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure Makefile.SH Porting/Glossary Porting/config.sh + !> Porting/config_H config_h.SH ext/Sys/Hostname/Hostname.xs + !> ext/Sys/Syslog/Syslog.xs hints/aix.sh hints/hpux.sh + !> lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm myconfig.SH +____________________________________________________________________________ +[ 5115] By: jhi on 2000/02/15 23:11:55 + Log: Probe for . + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ext/Sys/Hostname/Hostname.xs + Branch: metaconfig/U/perl + + i_sysutsname.U +____________________________________________________________________________ +[ 5114] By: jhi on 2000/02/15 22:59:59 + Log: Integrate with Sarathy. + Branch: cfgperl + +> ext/Sys/Hostname/Hostname.pm ext/Sys/Hostname/Hostname.xs + +> ext/Sys/Hostname/Makefile.PL + - lib/Sys/Hostname.pm + !> (integrate 41 files) +____________________________________________________________________________ +[ 5113] By: gsar on 2000/02/15 21:22:18 + Log: update Changes, patchlevel + Branch: perl + ! Changes patchlevel.h win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +____________________________________________________________________________ +[ 5112] By: gsar on 2000/02/15 20:57:12 + Log: fix change#5104 under useithreads + Branch: perl + ! op.c +____________________________________________________________________________ +[ 5111] By: gsar on 2000/02/15 20:45:10 + Log: export list tweak needed by change#5103 + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5110] By: gsar on 2000/02/15 19:32:56 + Log: add XS version of Sys::Hostname (from Greg Bacon + ) + Branch: perl + + ext/Sys/Hostname/Hostname.pm ext/Sys/Hostname/Hostname.xs + + ext/Sys/Hostname/Makefile.PL + - lib/Sys/Hostname.pm + ! MANIFEST ext/DynaLoader/Makefile.PL ext/Sys/Syslog/Makefile.PL + ! pod/perldelta.pod t/lib/hostname.t win32/Makefile + ! win32/makefile.mk +____________________________________________________________________________ +[ 5109] By: gsar on 2000/02/15 18:35:28 + Log: UNIVERSAL::can and UNIVERSAL::isa should return undef when + given undefined values (from Graham Barr ) + Branch: perl + ! universal.c +____________________________________________________________________________ +[ 5108] By: gsar on 2000/02/15 18:25:05 + Log: avoid accidental #line directives (from Rick Delaney + ) + Branch: perl + ! pod/perlsyn.pod toke.c +____________________________________________________________________________ +[ 5107] By: gsar on 2000/02/15 18:04:31 + Log: locale guards needed (from Simon Cozens ) + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5106] By: gsar on 2000/02/15 18:02:17 + Log: incorrect docs about delete() (spotted by Martyn Pearce + ) + Branch: perl + ! pod/perldelta.pod pod/perlfunc.pod +____________________________________________________________________________ +[ 5105] By: gsar on 2000/02/15 17:43:27 + Log: s/use vars/our/ (from Gisle Aas) + Branch: perl + ! bytecode.pl +____________________________________________________________________________ +[ 5104] By: gsar on 2000/02/15 17:42:06 + Log: optimize pseudohash slice in array slice at compile time (from + John Tobey ) + Branch: perl + ! op.c t/lib/fields.t +____________________________________________________________________________ +[ 5103] By: gsar on 2000/02/15 17:18:12 + Log: provide malloc stats via get_mstats() (from Ilya Zakharevich) + Branch: perl + ! embed.h embed.pl global.sym makedef.pl malloc.c objXSUB.h + ! perl.h perlapi.c proto.h vos/vos_dummies.c +____________________________________________________________________________ +[ 5102] By: gsar on 2000/02/15 17:05:12 + Log: doc patches from Rick Delaney and Chris Nandor; update Todo-5.6 + Branch: perl + ! Todo-5.6 pod/perldata.pod pod/perlport.pod +____________________________________________________________________________ +[ 5101] By: gsar on 2000/02/15 17:02:51 + Log: fix regen_headers target to make all the autogenerated files + writable first + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 5100] By: gsar on 2000/02/15 16:41:53 + Log: fix misoptimization of C (from + Ilya Zakharevich) + Branch: perl + ! op.c t/op/lex_assign.t +____________________________________________________________________________ +[ 5099] By: gsar on 2000/02/15 16:17:36 + Log: more complete File::Spec support for Mac and VMS, tests (from + Barrie Slaymaker ) + Branch: perl + ! lib/File/Spec/Mac.pm lib/File/Spec/Unix.pm + ! lib/File/Spec/VMS.pm lib/File/Spec/Win32.pm t/lib/filespec.t +____________________________________________________________________________ +[ 5098] By: gsar on 2000/02/15 16:10:46 + Log: fix incompatibility with bison generated parser (from + Ignasi Roca ) + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 5097] By: gsar on 2000/02/15 16:07:17 + Log: propagate st_mode bits to group/other for Borland build + (from Vadim Konovalov ) + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 5096] By: jhi on 2000/02/15 14:22:23 + Log: Integrate with Sarathy. + Branch: cfgperl + !> win32/Makefile win32/bin/exetype.pl win32/makefile.mk +____________________________________________________________________________ +[ 5095] By: jhi on 2000/02/15 14:19:22 + Log: cc_r can be in different places (/usr/ibmcxx/bin or /usr/bin), + easier just to drop the paranoid test. + Branch: cfgperl + ! hints/aix.sh +____________________________________________________________________________ +[ 5094] By: gsar on 2000/02/15 05:42:17 + Log: update exetype.pl tool + Branch: perl + ! win32/Makefile win32/bin/exetype.pl win32/makefile.mk +____________________________________________________________________________ +[ 5093] By: jhi on 2000/02/15 05:24:02 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Porting/pumpkin.pod embed.h embed.pl ext/DB_File/DB_File.xs + !> ext/GDBM_File/GDBM_File.xs ext/NDBM_File/NDBM_File.xs + !> ext/ODBM_File/ODBM_File.xs ext/SDBM_File/SDBM_File.xs hv.c + !> perl.c proto.h sv.c t/op/ord.t t/pragma/warnings.t +____________________________________________________________________________ +[ 5092] By: jhi on 2000/02/15 05:22:09 + Log: Unroll the libs scan thanks to HP-UX. + Branch: cfgperl + ! Configure config_h.SH hints/hpux.sh + Branch: metaconfig + ! U/modified/libpth.U U/modified/libs.U + Branch: metaconfig/U/perl + ! Extensions.U dlsrc.U +____________________________________________________________________________ +[ 5091] By: gsar on 2000/02/15 05:17:56 + Log: fix leaks in *DBM_File; safemalloc()ed things need to be freed with + safefree() rather than Safefree() + Branch: perl + ! ext/DB_File/DB_File.xs ext/GDBM_File/GDBM_File.xs + ! ext/NDBM_File/NDBM_File.xs ext/ODBM_File/ODBM_File.xs + ! ext/SDBM_File/SDBM_File.xs +____________________________________________________________________________ +[ 5090] By: gsar on 2000/02/15 04:54:17 + Log: fix memory leak in C<$x = *Y> provoked by change#4198, which + introduced XPVMG storage in arenas + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5089] By: jhi on 2000/02/15 00:41:36 + Log: AIX perl linkage tweakage. + Branch: cfgperl + ! Makefile.SH +____________________________________________________________________________ +[ 5088] By: jhi on 2000/02/15 00:07:06 + Log: abort instead of just promising. + Branch: cfgperl + ! hints/aix.sh +____________________________________________________________________________ +[ 5087] By: jhi on 2000/02/14 23:51:05 + Log: silly compilers don't know that croak() exits + and complain about unitialized RETVALs + Branch: cfgperl + ! ext/Sys/Syslog/Syslog.xs +____________________________________________________________________________ +[ 5086] By: jhi on 2000/02/14 21:13:24 + Log: Add lseektype and lseeksize to myconfig. + Branch: cfgperl + ! myconfig.SH +____________________________________________________________________________ +[ 5085] By: gsar on 2000/02/14 18:51:11 + Log: avoid warnings + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5084] By: gsar on 2000/02/14 18:26:08 + Log: fix small interpreter leaks identified by Purify + Branch: perl + ! Porting/pumpkin.pod embed.h embed.pl hv.c perl.c proto.h sv.c + ! t/op/ord.t t/pragma/warnings.t +____________________________________________________________________________ +[ 5083] By: jhi on 2000/02/14 17:50:52 + Log: Remove tagged core files. + Branch: cfgperl + ! lib/ExtUtils/MM_Unix.pm +____________________________________________________________________________ +[ 5082] By: jhi on 2000/02/14 17:41:07 + Log: Prefer full_ar. + Branch: cfgperl + ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 5081] By: jhi on 2000/02/14 17:20:32 + Log: Add ivtype, ivsize, nvtype, nvsize to myconfig. + Branch: cfgperl + ! myconfig.SH +____________________________________________________________________________ +[ 5080] By: jhi on 2000/02/14 15:33:03 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Porting/pumpkin.pod av.c malloc.c sv.c +____________________________________________________________________________ +[ 5079] By: gsar on 2000/02/14 08:50:06 + Log: notes about running Purify + Branch: perl + ! Porting/pumpkin.pod av.c sv.c +____________________________________________________________________________ +[ 5078] By: gsar on 2000/02/14 07:27:21 + Log: use system malloc() instead of sbrk() in Perl_malloc() under -DPURIFY + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5077] By: gsar on 2000/02/14 07:25:44 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH epoc/config.sh hints/aix.sh hints/hpux.sh + !> hints/irix_6.sh hints/solaris_2.sh perl.h pod/perldelta.pod + !> vms/subconfigure.com vos/config.def vos/config.h + !> vos/config_h.SH_orig win32/config.bc win32/config.gc + !> win32/config.vc win32/config_H.bc win32/config_H.gc + !> win32/config_H.vc +____________________________________________________________________________ +[ 5076] By: jhi on 2000/02/14 05:01:56 + Log: Integrate with Sarathy. + Branch: cfgperl + !> embed.h embed.pl objXSUB.h perl.c perlapi.c proto.h sv.c +____________________________________________________________________________ +[ 5075] By: jhi on 2000/02/14 04:56:52 + Log: Configure -A stopped processing of any further options. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Options.U +____________________________________________________________________________ +[ 5074] By: gsar on 2000/02/14 04:45:01 + Log: remove outdated -DPURIFY code--it reports bogus errors during global + destruction since we actually depend on SVs being in arenas there + Branch: perl + ! embed.h embed.pl objXSUB.h perl.c perlapi.c proto.h sv.c +____________________________________________________________________________ +[ 5073] By: jhi on 2000/02/13 19:28:17 + Log: Integrate with Sarathy. + Branch: cfgperl + - Todo-5.005 + !> cop.h op.c perl.c pp_ctl.c regcomp.c regexec.c scope.c sv.c + !> util.c +____________________________________________________________________________ +[ 5072] By: gsar on 2000/02/13 19:02:07 + Log: more purification (pp_require() could access free memory; vdie() + could think message was random length when passed a null argument; + utilize() didn't set up the hash for the method name leading to + pp_method_named() accessing random state; PL_curpm wasn't zeroed + properly) + Branch: perl + ! cop.h op.c perl.c pp_ctl.c regcomp.c regexec.c scope.c sv.c + ! util.c +____________________________________________________________________________ +[ 5071] By: jhi on 2000/02/12 19:59:35 + Log: uselonglong sits deep. + Branch: cfgperl + ! Configure config_h.SH hints/solaris_2.sh + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5070] By: jhi on 2000/02/12 01:25:41 + Log: megalomaniac 64-bit update: most importantly, + uselonglong is eradicated, only backward + compatibility hooks in use64bits remain. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH epoc/config.sh hints/aix.sh hints/hpux.sh + ! hints/irix_6.sh hints/solaris_2.sh perl.h vms/subconfigure.com + ! vos/config.def vos/config.h vos/config_h.SH_orig + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + Branch: metaconfig + ! U/a_dvisory/quadtype.U U/modified/libpth.U U/modified/libs.U + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 5069] By: jhi on 2000/02/11 21:13:41 + Log: undo #5064 for now; there seems to be no good selection + of flags to add the new option. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5068] By: jhi on 2000/02/11 21:01:21 + Log: Guard against accidental long long use. + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 5067] By: jhi on 2000/02/11 19:50:32 + Log: logic fixes + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! uselonglong.U +____________________________________________________________________________ +[ 5066] By: jhi on 2000/02/11 19:32:30 + Log: Clarify 64-bit issues. + Branch: cfgperl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5065] By: jhi on 2000/02/11 18:13:29 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/Devel/Peek/Peek.xs regcomp.c t/comp/require.t t/comp/use.t + !> toke.c +____________________________________________________________________________ +[ 5064] By: jhi on 2000/02/11 18:11:47 + Log: Silence linker warnings about binary backward incompatibilities. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5063] By: gsar on 2000/02/11 16:36:14 + Log: fix uninitialized memory reads found by purify + Branch: perl + ! ext/Devel/Peek/Peek.xs regcomp.c +____________________________________________________________________________ +[ 5062] By: jhi on 2000/02/11 00:11:39 + Log: de-fancify the largefiles hints + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 5061] By: gsar on 2000/02/10 19:17:09 + Log: longstanding bug in parsing "require VERSION", could reallocate + current line and not know it; exposed by change#5004; manifested + as parse failure of C<{require 5.003}> + Branch: perl + ! t/comp/require.t t/comp/use.t toke.c +____________________________________________________________________________ +[ 5060] By: jhi on 2000/02/10 13:29:25 + Log: Integrate with Sarathy. + Branch: cfgperl + !> makedef.pl pp_ctl.c t/op/write.t win32/vdir.h +____________________________________________________________________________ +[ 5059] By: gsar on 2000/02/10 06:21:21 + Log: make global symbol exports AIX-specific + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 5058] By: gsar on 2000/02/10 06:16:57 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure Makefile.SH Porting/Glossary Porting/config.sh + !> Porting/config_H config_h.SH makedef.pl perl.h + !> vms/subconfigure.com vos/config.def win32/config.bc + !> win32/config.gc win32/config.vc win32/config_H.bc + !> win32/config_H.gc win32/config_H.vc win32/config_h.PL + !> win32/config_sh.PL +____________________________________________________________________________ +[ 5057] By: gsar on 2000/02/10 01:08:01 + Log: windows bugfixes for virtual directories under USE_ITHREADS: + allows path mapping to unknown devices to work properly; + special file names like CONOUT$ can be opened with sysopen() + again + Branch: perl + ! win32/vdir.h +____________________________________________________________________________ +[ 5056] By: gsar on 2000/02/10 00:56:27 + Log: formline() could wipe out readonly-ness, freeing constants + prematurely, or affect cloning of pad constants + Branch: perl + ! pp_ctl.c t/op/write.t +____________________________________________________________________________ +[ 5055] By: jhi on 2000/02/09 19:48:58 + Log: Regenerate Configure for I_SYSLOG. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 5054] By: jhi on 2000/02/09 19:38:04 + Log: fix AIX and multiplicity problems + Branch: cfgperl + ! Makefile.SH makedef.pl +____________________________________________________________________________ +[ 5053] By: bailey on 2000/02/09 10:58:11 + Log: remove redundant archcore directory prefix in installperl + Branch: vmsperl + ! installperl +____________________________________________________________________________ +[ 5052] By: bailey on 2000/02/09 10:44:22 + Log: Work around prefixing bug in older DECC preprocessors + Branch: vmsperl + ! vms/vms.c vms/vmsish.h +____________________________________________________________________________ +[ 5051] By: bailey on 2000/02/09 09:52:06 + Log: Eliminate unnecessary (and sometimes confounding) test for + word boundary + Branch: vmsperl + ! lib/ExtUtils/MM_VMS.pm +____________________________________________________________________________ +[ 5050] By: bailey on 2000/02/09 09:29:06 + Log: Minor fixes to assuage picky compilers (unsigned comparisons and + alias rules lead to compilation warnings) + Branch: vmsperl + ! av.c mg.h pp_sys.c scope.c sv.c vms/vms.c +____________________________________________________________________________ +[ 5049] By: bailey on 2000/02/09 09:09:45 + Log: Resync with mainline + Branch: vmsperl + +> Todo-5.6 ext/Sys/Syslog/Makefile.PL ext/Sys/Syslog/Syslog.pm + +> ext/Sys/Syslog/Syslog.xs lib/Pod/Find.pm lib/Pod/ParseUtils.pm + +> pod/perlapi.pod pod/perlintern.pod pod/perlunicode.pod + +> t/op/exists_sub.t t/op/ver.t t/pragma/diagnostics.t + +> vos/config.def vos/config.pl win32/bin/exetype.pl + - Todo-5.005 lib/Sys/Syslog.pm lib/caller.pm + ! vms/subconfigure.com + !> (integrate 358 files) +____________________________________________________________________________ +[ 5048] By: jhi on 2000/02/09 03:54:05 + Log: OS/2 gcc doesn't like -o foo.exe and -Zexe simultaneously + (reported by Yitzchak Scott-Thoennes in p5p) + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 5047] By: jhi on 2000/02/09 02:56:43 + Log: (fake) use of getcwd. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h +____________________________________________________________________________ +[ 5046] By: jhi on 2000/02/09 02:22:50 + Log: lib scan fix + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/libs.U +____________________________________________________________________________ +[ 5045] By: jhi on 2000/02/09 02:17:34 + Log: Reintroduce #5019 via metaconfig. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/installdirs/inc_version_list.U +____________________________________________________________________________ +[ 5044] By: jhi on 2000/02/09 02:07:08 + Log: Add/restore probes for getcwd/mk*temp*/mmap. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h vms/subconfigure.com vos/config.def + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + ! win32/config_h.PL win32/config_sh.PL + Branch: metaconfig + ! U/modified/d_mkstemp.U U/modified/libs.U + Branch: metaconfig/U/perl + + d_mkdtemp.U d_mkstemps.U +____________________________________________________________________________ +[ 5043] By: jhi on 2000/02/08 20:58:02 + Log: Integrate with Sarathy. + Branch: cfgperl + +> Todo-5.6 t/op/ver.t win32/bin/exetype.pl + !> (integrate 110 files) +____________________________________________________________________________ +[ 5042] By: gsar on 2000/02/08 20:32:12 + Log: avoid exiting just because we didn't scan for libm ('libs' may still + have it, but we avoided scan for things in 'libs') + Branch: perl + ! Configure + +---------------- +Version v5.5.650 +---------------- + +____________________________________________________________________________ +[ 5041] By: gsar on 2000/02/08 07:57:11 + Log: update Changes + Branch: perl + ! Changes +____________________________________________________________________________ +[ 5040] By: gsar on 2000/02/08 07:51:20 + Log: documentation patches (from Michael Schwern and Yitzchak + Scott-Thoennes) + Branch: perl + ! av.c hv.c lib/UNIVERSAL.pm pod/perlapi.pod +____________________________________________________________________________ +[ 5039] By: gsar on 2000/02/08 07:22:46 + Log: alias to $^V to $PERL_VERSION_TUPLE + Branch: perl + ! lib/English.pm pod/perlvar.pod +____________________________________________________________________________ +[ 5038] By: gsar on 2000/02/08 07:03:34 + Log: update Changes + Branch: perl + ! Changes pod/perlhist.pod +____________________________________________________________________________ +[ 5037] By: gsar on 2000/02/08 06:59:55 + Log: Windows has a somewhat different sitelib layout, and needs + $sitelib/archname added as well + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5036] By: gsar on 2000/02/08 06:59:03 + Log: change#4987 appears to have broken libs scan for platforms that + don't set ignore_versioned_solibs (Solaris is one of them); add + derivative fix from the older logic for skipping versioned .so + libs + Branch: perl + ! Configure +____________________________________________________________________________ +[ 5035] By: gsar on 2000/02/07 21:21:44 + Log: sprintf("%v"...) buffer resizing busted + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 5034] By: gsar on 2000/02/07 19:16:21 + Log: update Changes + Branch: perl + ! Changes pod/perlhist.pod +____________________________________________________________________________ +[ 5033] By: gsar on 2000/02/07 19:01:08 + Log: stringify "\x{FFF}" to utf8 correctly; set SvUTF8 on "\x{XX}" + only when XX > 127 + Branch: perl + ! pp_hot.c toke.c +____________________________________________________________________________ +[ 5032] By: gsar on 2000/02/07 18:25:31 + Log: add note about printf("%v",...) + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 5031] By: gsar on 2000/02/07 18:18:43 + Log: update Changes + Branch: perl + ! Changes Todo-5.6 +____________________________________________________________________________ +[ 5030] By: gsar on 2000/02/07 18:17:49 + Log: thinko in change#5029 + Branch: perl + ! gv.c +____________________________________________________________________________ +[ 5029] By: gsar on 2000/02/07 17:49:58 + Log: change $^U to $^WIDE_SYSTEM_CALLS; s/PL_bigchar/PL_widesyscalls/; + introduce -C switch (sets $^WIDE_SYSTEM_CALLS) + Branch: perl + ! embedvar.h gv.c intrpvar.h mg.c perl.c perlapi.h + ! pod/perlrun.pod pod/perlunicode.pod pod/perlvar.pod + ! win32/win32.h +____________________________________________________________________________ +[ 5028] By: gsar on 2000/02/07 17:10:03 + Log: perlport updates (from Peter Prymmer) + Branch: perl + ! pod/perlport.pod +____________________________________________________________________________ +[ 5027] By: gsar on 2000/02/07 16:53:47 + Log: fix up Todo-5.6 + Branch: perl + ! Todo-5.6 +____________________________________________________________________________ +[ 5026] By: gsar on 2000/02/07 16:32:31 + Log: rename Todo-5.005 to Todo-5.6 + Branch: perl + +> Todo-5.6 + - Todo-5.005 + ! MANIFEST +____________________________________________________________________________ +[ 5025] By: gsar on 2000/02/07 16:09:54 + Log: ${^Warnings} renamed to ${^WARNING_BITS} + Branch: perl + ! gv.c lib/warnings.pm mg.c pod/perltoc.pod pod/perlvar.pod + ! toke.c warnings.pl +____________________________________________________________________________ +[ 5024] By: gsar on 2000/02/07 11:47:06 + Log: various Windows tweaks: make $^E a little less buggy by saving + and restoring system error across TLS fetch; avoid needless + copying of buffers + Branch: perl + ! win32/Makefile win32/makefile.mk win32/perllib.c win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 5023] By: gsar on 2000/02/07 11:44:19 + Log: avoid MakeMaker setting $^W=1 + Branch: perl + ! lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 5022] By: gsar on 2000/02/07 10:38:56 + Log: up to v5.5.650 + Branch: perl + ! Changes patchlevel.h win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +____________________________________________________________________________ +[ 5021] By: gsar on 2000/02/07 10:10:31 + Log: mention threads status in pod + Branch: perl + ! ext/Thread/Thread.pm +____________________________________________________________________________ +[ 5020] By: gsar on 2000/02/07 09:57:46 + Log: tolerate NULL SITELIB_EXP + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 5019] By: gsar on 2000/02/07 09:46:11 + Log: NULL-terminate PERL_INC_VERSION_LIST + Branch: perl + ! Configure perl.c win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc +____________________________________________________________________________ +[ 5018] By: gsar on 2000/02/07 09:13:10 + Log: add compatible versions from $Config{inc_ver_list} to search + paths automatically (from Tom Hughes ) + Branch: perl + ! lib/lib.pm perl.c +____________________________________________________________________________ +[ 5017] By: gsar on 2000/02/07 08:58:56 + Log: makefiles now use exetype.pl to make wperl.exe + Branch: perl + ! sv.c win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 5016] By: gsar on 2000/02/07 08:38:25 + Log: add exetype.pl (from Jan Dubois) + Branch: perl + + win32/bin/exetype.pl + ! MANIFEST +____________________________________________________________________________ +[ 5015] By: gsar on 2000/02/07 08:29:28 + Log: pod fixes (from Abigail and M J T Guy) + Branch: perl + ! Changes README.os2 gv.c pod/perlapi.pod pod/perldebug.pod + ! pod/perldelta.pod pod/perldiag.pod pod/perlopentut.pod + ! pod/perlport.pod pod/perlvar.pod +____________________________________________________________________________ +[ 5014] By: gsar on 2000/02/07 07:09:08 + Log: clarify behavior of vec() when arguments are off the end of the + string (from M J T Guy) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 5013] By: gsar on 2000/02/07 07:08:15 + Log: remove $^U dependent behaviors in runtime; chr() and sprintf('%c',...) + now return bytes all the way to 255, they will be transparently + coerced (in future) to UTF-8 when they are used in operations + involving other UTF-8 strings; C doesn't set $^U anymore + Branch: perl + ! lib/byte.pm lib/utf8.pm pod/perlunicode.pod pod/perlvar.pod + ! pp.c sv.c +____________________________________________________________________________ +[ 5012] By: gsar on 2000/02/07 06:36:33 + Log: partly revert change#4851, apparently POSIX::uname() may not be correct + per strict reading of standard (says Tom Christiansen) + Branch: perl + ! lib/Sys/Hostname.pm +____________________________________________________________________________ +[ 5011] By: gsar on 2000/02/07 06:26:30 + Log: allow 64-bit utf8-encoded integers (from Ilya Zakharevich) + Branch: perl + ! utf8.c utf8.h +____________________________________________________________________________ +[ 5010] By: gsar on 2000/02/06 21:27:03 + Log: fix debug code in Perl_malloc() (from Ilya Zakharevich) + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 5009] By: gsar on 2000/02/06 20:45:30 + Log: set SvUTF8 on vectors only if there are chars > 127; update copyright + years (from Gisle Aas) + Branch: perl + ! EXTERN.h INTERN.h README av.c av.h cop.h cv.h deb.c doio.c + ! doop.c dump.c form.h gv.c gv.h handy.h hv.c hv.h mg.c mg.h + ! op.c op.h perl.c perl.h perlio.c perly.y pp.c pp.h pp_ctl.c + ! pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c sv.c sv.h + ! toke.c utf8.c utf8.h util.c util.h +____________________________________________________________________________ +[ 5008] By: gsar on 2000/02/06 19:28:31 + Log: use builtin __CYGWIN__ rather than -DCYGWIN (from Eric Fifer + ) + Branch: perl + ! EXTERN.h XSUB.h doio.c ext/POSIX/POSIX.xs + ! ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/sdbm.c + ! hints/cygwin.sh lib/ExtUtils/MM_Cygwin.pm mg.c perl.h + ! unixish.h util.c +____________________________________________________________________________ +[ 5007] By: gsar on 2000/02/06 17:47:01 + Log: reduce memory consumption of POSIX.pm (from Ilya Zakharevich) + Branch: perl + ! ext/POSIX/POSIX.pm +____________________________________________________________________________ +[ 5006] By: gsar on 2000/02/06 17:28:35 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure config_h.SH ext/Sys/Syslog/Syslog.xs hints/hpux.sh + !> perl.h pp_sys.c +____________________________________________________________________________ +[ 5005] By: gsar on 2000/02/06 17:18:39 + Log: VOS port updates (from Paul Green ) + Branch: perl + ! README.vos pod/perlport.pod vos/Changes vos/build.cm + ! vos/compile_perl.cm vos/config.def vos/config.h vos/config.pl + ! vos/config_h.SH_orig vos/perl.bind vos/test_vos_dummies.c + ! vos/vos_dummies.c vos/vosish.h +____________________________________________________________________________ +[ 5004] By: gsar on 2000/02/06 17:00:49 + Log: fix parse error on C<{ use strict }> and other constructs that + make the parser reenter while LEX_KNOWNEXT is active + Branch: perl + ! t/comp/use.t toke.c +____________________________________________________________________________ +[ 5003] By: gsar on 2000/02/06 14:57:30 + Log: avoid -Bforcearchive on netbsd too + Branch: perl + ! Changes hints/netbsd.sh +____________________________________________________________________________ +[ 5002] By: gsar on 2000/02/06 14:45:17 + Log: revised notes about Pod::Parser & Co. + Branch: perl + ! lib/Pod/Usage.pm pod/perldelta.pod +____________________________________________________________________________ +[ 5001] By: gsar on 2000/02/06 14:02:43 + Log: fix description of obsolete diagnostic + Branch: perl + ! pod/perldiag.pod +____________________________________________________________________________ +[ 5000] By: gsar on 2000/02/06 13:59:58 + Log: allow "\x{12ab}" even without C + Branch: perl + ! t/pragma/warn/toke toke.c +____________________________________________________________________________ +[ 4999] By: gsar on 2000/02/06 13:58:31 + Log: make perlbug use new-style version numbers; improve compatibility + (runs with perl 5.005); fix swapped old vs new version reporting + Branch: perl + ! utils/perlbug.PL +____________________________________________________________________________ +[ 4998] By: gsar on 2000/02/06 13:56:45 + Log: support sprintf("v%v", v1.2.3) (works on any string argument, in + fact); add tests for version tuples + Branch: perl + + t/op/ver.t + ! MANIFEST perl.c pod/perldiag.pod pod/perlfunc.pod + ! pod/perlop.pod sv.c toke.c +____________________________________________________________________________ +[ 4997] By: gsar on 2000/02/04 21:40:08 + Log: change#4970 fallout for useithreads + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 4996] By: jhi on 2000/02/04 20:09:00 + Log: Largefilify offsets of tied handles. + Branch: cfgperl + ! pp_sys.c +____________________________________________________________________________ +[ 4995] By: jhi on 2000/02/04 19:54:25 + Log: Sanity check for libraries scan. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/libs.U +____________________________________________________________________________ +[ 4994] By: jhi on 2000/02/04 19:48:42 + Log: HP-UX largefileness doesn't like lseek being redeclared; + no more USE_LONG_LONG. + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 4993] By: jhi on 2000/02/04 19:18:59 + Log: fix the description as much as possible; the whole + separation into three different symbols lists is + pretty broken now. + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4992] By: jhi on 2000/02/04 19:13:10 + Log: Use , not . + Branch: cfgperl + ! Configure config_h.SH ext/Sys/Syslog/Syslog.xs +____________________________________________________________________________ +[ 4991] By: gsar on 2000/02/04 19:11:07 + Log: dmake is on CPAN now + Branch: perl + ! README.win32 +____________________________________________________________________________ +[ 4990] By: jhi on 2000/02/04 19:04:01 + Log: Re-introduce #4817 and #4964 wiped out by #4987. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/threads/usethreads.U + Branch: metaconfig/U/perl + ! patchlevel.U +____________________________________________________________________________ +[ 4989] By: jhi on 2000/02/04 18:54:00 + Log: typo fix + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/libs.U +____________________________________________________________________________ +[ 4988] By: jhi on 2000/02/04 18:34:06 + Log: Integrate with Sarathy. + Branch: cfgperl + +> ext/Sys/Syslog/Makefile.PL ext/Sys/Syslog/Syslog.pm + +> ext/Sys/Syslog/Syslog.xs + - lib/Sys/Syslog.pm + !> (integrate 37 files) +____________________________________________________________________________ +[ 4987] By: jhi on 2000/02/04 18:31:05 + Log: Configure megamaintenance. Cppsym (hopefully) final spasms; + default is to use long long if available; various nits + here and there; fixed to hpux 64-bitnes and largefileness. + Branch: cfgperl + ! Configure config_h.SH hints/hpux.sh perl.h + Branch: metaconfig + ! U/a_dvisory/quadtype.U U/modified/Cppsym.U + ! U/modified/d_gethname.U U/modified/libpth.U U/modified/libs.U + Branch: metaconfig/U/perl + ! d_fseeko.U d_ftello.U dlsrc.U uselongdbl.U uselonglong.U + ! usemultiplicity.U xs_apiversion.U +____________________________________________________________________________ +[ 4986] By: gsar on 2000/02/04 17:26:37 + Log: avoid bad cast warnings (from Robin Barker ) + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 4985] By: gsar on 2000/02/04 16:43:49 + Log: avoid 'na' (spotted by Yitzchak Scott-Thoennes ) + Branch: perl + ! ext/Devel/DProf/DProf.xs +____________________________________________________________________________ +[ 4984] By: gsar on 2000/02/04 08:20:05 + Log: CPAN.pm updated to v1.52 (from Andreas Koenig) + Branch: perl + ! lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm +____________________________________________________________________________ +[ 4983] By: gsar on 2000/02/04 08:00:38 + Log: updated OpenBSD hints (From Todd C. Miller ) + Branch: perl + ! hints/openbsd.sh +____________________________________________________________________________ +[ 4982] By: gsar on 2000/02/04 07:54:04 + Log: pod typos (from Gregor N. Purdy ) + Branch: perl + ! lib/Pod/Parser.pm +____________________________________________________________________________ +[ 4981] By: gsar on 2000/02/04 07:34:38 + Log: avoid assuming cc accepts -o switch (from Tom Hughes) + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4980] By: gsar on 2000/02/04 07:29:59 + Log: Sys::Syslog goes the XS way (from Tom Hughes ) + Branch: perl + + ext/Sys/Syslog/Makefile.PL ext/Sys/Syslog/Syslog.pm + + ext/Sys/Syslog/Syslog.xs + - lib/Sys/Syslog.pm + ! MANIFEST pod/perldelta.pod +____________________________________________________________________________ +[ 4979] By: gsar on 2000/02/04 07:13:19 + Log: pod updates (from David Adler, M J T Guy) + Branch: perl + ! pod/perlfaq2.pod pod/perlop.pod pod/perlsyn.pod +____________________________________________________________________________ +[ 4978] By: gsar on 2000/02/04 07:08:14 + Log: typos in config_h.SH (from Paul_Green@vos.stratus.com) + Branch: perl + ! config_h.SH +____________________________________________________________________________ +[ 4977] By: gsar on 2000/02/04 07:06:10 + Log: avoid adding null components to LD_LIBRARY_PATH, OpenBSD has trouble + with them (from Todd C. Miller ) + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4976] By: gsar on 2000/02/04 06:33:43 + Log: VMS update (from Dan Sugalski and Peter Prymmer) + Branch: perl + ! configure.com vms/descrip_mms.template vms/subconfigure.com +____________________________________________________________________________ +[ 4975] By: gsar on 2000/02/04 05:51:14 + Log: patch to provide more informative names for evals and anonymous + subroutines (from Ilya Zakharevich) + Branch: perl + ! ext/Devel/Peek/Peek.pm ext/Devel/Peek/Peek.xs lib/Dumpvalue.pm + ! lib/dumpvar.pl lib/perl5db.pl op.c perl.h pod/perldebug.pod + ! pod/perlvar.pod pp_ctl.c +____________________________________________________________________________ +[ 4974] By: gsar on 2000/02/04 05:05:57 + Log: off-by-one in malloc.c (from Ilya Zakharevich) + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 4973] By: gsar on 2000/02/04 05:03:00 + Log: OS/2 build fixups from Ilya Zakharevich + Branch: perl + ! ext/Devel/DProf/DProf.xs os2/Makefile.SHs t/op/fork.t +____________________________________________________________________________ +[ 4972] By: gsar on 2000/02/04 04:58:57 + Log: avoid /* within comment + Branch: perl + ! xsutils.c +____________________________________________________________________________ +[ 4971] By: gsar on 2000/02/04 04:56:09 + Log: another HINT_BYTE victim + Branch: perl + ! lib/charnames.pm +____________________________________________________________________________ +[ 4970] By: gsar on 2000/02/04 04:45:13 + Log: fix pad_alloc panic from C + Branch: perl + ! op.c scope.c scope.h t/op/closure.t toke.c +____________________________________________________________________________ +[ 4969] By: gsar on 2000/02/04 01:09:37 + Log: byte.pm and HINT_BYTE don't match (0x8, not 0x10!) + Branch: perl + ! lib/byte.pm +____________________________________________________________________________ +[ 4968] By: jhi on 2000/02/02 13:17:25 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/Pod/Find.pm lib/Pod/ParseUtils.pm + ! Configure + !> (integrate 29 files) + +---------------- +Version v5.5.640 +---------------- + +____________________________________________________________________________ +[ 4967] By: gsar on 2000/02/02 12:22:29 + Log: update makerel for new version format + Branch: perl + ! Changes Porting/makerel +____________________________________________________________________________ +[ 4966] By: gsar on 2000/02/02 11:42:03 + Log: workaround for undefined symbol + Branch: perl + ! win32/win32.h +____________________________________________________________________________ +[ 4965] By: gsar on 2000/02/02 11:19:19 + Log: on cygwin, h_errno is now "__declspec(dllimport) int h_errno" + (from Eric Fifer ) + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 4964] By: gsar on 2000/02/02 11:11:15 + Log: adjust notes on use5005threads + Branch: perl + ! Configure INSTALL README.threads +____________________________________________________________________________ +[ 4963] By: gsar on 2000/02/02 10:14:30 + Log: fix typo + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4962] By: gsar on 2000/02/02 10:13:10 + Log: integrate selected changes from cfgperl (#4899,4900,4904,4918) + Branch: perl + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH ext/IO/IO.xs lib/Benchmark.pm +____________________________________________________________________________ +[ 4961] By: gsar on 2000/02/02 09:55:45 + Log: PodParser-1.092 update via CPAN (from Brad Appleton) + Branch: perl + + lib/Pod/Find.pm lib/Pod/ParseUtils.pm + ! MANIFEST lib/Pod/Checker.pm t/pod/poderrs.t t/pod/poderrs.xr +____________________________________________________________________________ +[ 4960] By: gsar on 2000/02/02 08:22:31 + Log: replace misleading docs with a BUGS section + Branch: perl + ! lib/English.pm +____________________________________________________________________________ +[ 4959] By: gsar on 2000/02/02 08:16:17 + Log: remove FUD from perlfunc/use (from M J T Guy) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4958] By: gsar on 2000/02/02 08:13:04 + Log: Benchmark displays bogus CPU stats (suggested by Cedric Auzanne + ) + Branch: perl + ! Changes lib/Benchmark.pm +____________________________________________________________________________ +[ 4957] By: gsar on 2000/02/02 08:04:52 + Log: fix coredump on C<"x" =~ /x/; print @-> (from Ilya Zakharevich) + Branch: perl + ! pp_hot.c +____________________________________________________________________________ +[ 4956] By: gsar on 2000/02/02 08:02:57 + Log: flock() pod talks about "adding" in the sense of "or-ing" + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4955] By: gsar on 2000/02/02 07:58:35 + Log: fixes for switching files in the debugger (from Ilya Zakharevich) + Branch: perl + ! lib/perl5db.pl pod/perldebug.pod +____________________________________________________________________________ +[ 4954] By: gsar on 2000/02/02 07:53:51 + Log: use warnings rather than fiddling with $^W (from Paul Marquess) + Branch: perl + ! lib/Cwd.pm lib/English.pm lib/ExtUtils/MM_Unix.pm + ! lib/ExtUtils/MM_Win32.pm lib/ExtUtils/Manifest.pm lib/Fatal.pm + ! lib/File/Spec/Win32.pm lib/Math/BigFloat.pm + ! lib/Text/ParseWords.pm lib/utf8_heavy.pl +____________________________________________________________________________ +[ 4953] By: gsar on 2000/02/02 07:40:33 + Log: dynixptx hints tweak (from Martin J. Bligh ) + Branch: perl + ! hints/dynixptx.sh +____________________________________________________________________________ +[ 4952] By: gsar on 2000/02/02 07:36:39 + Log: deltanotes on weakrefs and Pod::Parser (from Tuomas Lukka and + Brad Appleton) + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 4951] By: gsar on 2000/02/02 06:54:22 + Log: avoid mismatched type warnings + Branch: perl + ! embed.pl perlapi.h +____________________________________________________________________________ +[ 4950] By: jhi on 2000/02/02 06:49:10 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlunicode.pod + !> MANIFEST Makefile.SH lib/File/Spec/Win32.pm lib/Text/Tabs.pm + !> lib/byte.pm lib/byte_heavy.pl lib/utf8.pm lib/warnings.pm + !> makedef.pl op.c perl.h pod/perldelta.pod pp_ctl.c regcomp.c + !> regexec.c t/pragma/warn/2use utf8.h utils/perldoc.PL + !> vms/descrip_mms.template warnings.pl +____________________________________________________________________________ +[ 4949] By: gsar on 2000/02/02 06:41:17 + Log: fix broken abs2rel() (from François Allard ) + Branch: perl + ! lib/File/Spec/Win32.pm +____________________________________________________________________________ +[ 4948] By: gsar on 2000/02/02 06:30:41 + Log: makefile tweak + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4947] By: gsar on 2000/02/02 06:27:43 + Log: future-proof unknown warning categories (from Greg Bacon + ) + Branch: perl + ! lib/warnings.pm t/pragma/warn/2use warnings.pl +____________________________________________________________________________ +[ 4946] By: gsar on 2000/02/02 06:21:34 + Log: doc tweak (from Michael G Schwern ) + Branch: perl + ! lib/Text/Tabs.pm +____________________________________________________________________________ +[ 4945] By: gsar on 2000/02/02 06:03:04 + Log: more meaningful message on invalid pattern argument (from + Kevin Meltzer ) + Branch: perl + ! utils/perldoc.PL +____________________________________________________________________________ +[ 4944] By: gsar on 2000/02/02 05:43:49 + Log: XSLoader build patch for VMS (from Craig A. Berry + ) + Branch: perl + ! vms/descrip_mms.template +____________________________________________________________________________ +[ 4943] By: gsar on 2000/02/02 03:40:49 + Log: reword some sections of perlunicode.pod + Branch: perl + ! pod/perlunicode.pod +____________________________________________________________________________ +[ 4942] By: gsar on 2000/02/01 21:02:01 + Log: AIX warning on undefined symbol + Branch: perl + ! makedef.pl +____________________________________________________________________________ +[ 4941] By: gsar on 2000/02/01 20:29:30 + Log: HINT_UTF8 is not propagated to the op tree anymore; add a + perlunicode.pod that reflects changes to unicode support so far + Branch: perl + + pod/perlunicode.pod + ! MANIFEST lib/byte.pm lib/byte_heavy.pl lib/utf8.pm op.c perl.h + ! pod/perldelta.pod pp_ctl.c regcomp.c regexec.c utf8.h +____________________________________________________________________________ +[ 4940] By: jhi on 2000/02/01 12:22:30 + Log: Integrate with Sarathy. + Branch: cfgperl + !> embed.pl embedvar.h global.sym gv.c intrpvar.h + !> lib/charnames.pm lib/utf8.pm mg.c objXSUB.h op.c op.h + !> perlapi.c perlapi.h pod/perlvar.pod pp.c sv.c sv.h + !> t/lib/charnames.t toke.c win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 4939] By: gsar on 2000/02/01 08:52:16 + Log: export pregexec(), Tk uses it + Branch: perl + ! embed.pl global.sym objXSUB.h perlapi.c +____________________________________________________________________________ +[ 4938] By: gsar on 2000/02/01 04:00:09 + Log: mark literal utf8 in string literals properly + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4937] By: gsar on 2000/01/31 20:19:34 + Log: introduce $^U, a global bit to indicate whether system + calls should using widechar APIs; chr and sprintf "%c" also + follow this flag in the absense of "use byte"; "use utf8" + sets $^U=1 (this appears kludgey) + Branch: perl + ! embedvar.h gv.c intrpvar.h lib/charnames.pm lib/utf8.pm mg.c + ! op.c op.h perlapi.h pod/perlvar.pod pp.c sv.c sv.h + ! t/lib/charnames.t win32/win32.h +____________________________________________________________________________ +[ 4936] By: jhi on 2000/01/31 20:17:44 + Log: HP-UX (induced) fixes. + Branch: cfgperl + ! Configure config_h.SH hints/hpux.sh + Branch: metaconfig + ! U/modified/Oldconfig.U U/modified/libs.U + Branch: metaconfig/U/perl + ! quadfio.U +____________________________________________________________________________ +[ 4935] By: jhi on 2000/01/31 19:15:43 + Log: Cosmetics. + Branch: metaconfig + ! U/compline/d_gconvert.U +____________________________________________________________________________ +[ 4934] By: jhi on 2000/01/31 19:15:22 + Log: Cppsym saga continues. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4933] By: gsar on 2000/01/31 18:45:07 + Log: !USING_WIDE() branch is busted in win32_stat() + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4932] By: jhi on 2000/01/31 06:41:47 + Log: Reveal even more symbols. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4931] By: jhi on 2000/01/31 06:21:41 + Log: Integrate with Sarathy. + Branch: cfgperl + - lib/caller.pm + !> (integrate 29 files) +____________________________________________________________________________ +[ 4930] By: gsar on 2000/01/31 04:57:42 + Log: runtime now looks at the SVf_UTF8 bit on the SV to decide + whether to use widechar semantics; lexer and RE engine continue + to need "use utf8" to enable unicode awareness in literals + and patterns (TODO: this needs to be fixed); $1 et al are marked + SvUTF8 if the pattern was compiled for utf8 (TODO: propagating + it from the data is probably better) + Branch: perl + ! doop.c gv.c mg.c op.c op.h pp.c pp_ctl.c pp_hot.c regcomp.c + ! sv.c t/pragma/warn/doop t/pragma/warn/pp t/pragma/warn/sv + ! t/pragma/warn/toke t/pragma/warn/utf8 toke.c utf8.h +____________________________________________________________________________ +[ 4929] By: gsar on 2000/01/31 04:17:09 + Log: remove caller.pm from change#3534 (flawed idea) + Branch: perl + - lib/caller.pm + ! MANIFEST pod/perldelta.pod pod/perlfunc.pod +____________________________________________________________________________ +[ 4928] By: gsar on 2000/01/31 04:16:01 + Log: fix factual regression (-e doesn't create temporary files anymore) + Branch: perl + ! pod/perlfilter.pod +____________________________________________________________________________ +[ 4927] By: gsar on 2000/01/30 21:27:12 + Log: introduce $^V (eq chr($revision) . chr($version) . chr($subversion)); + document version tuples + Branch: perl + ! gv.c pod/perldelta.pod pod/perlfunc.pod pod/perlop.pod + ! pod/perlvar.pod +____________________________________________________________________________ +[ 4926] By: gsar on 2000/01/28 18:10:12 + Log: implement -follow option in find2perl (from Helmut Jarausch + ) + Branch: perl + ! lib/File/Find.pm x2p/find2perl.PL +____________________________________________________________________________ +[ 4925] By: gsar on 2000/01/28 18:03:28 + Log: document what chdir() without an argument does (from Mark-Jason + Dominus ) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4924] By: gsar on 2000/01/28 17:49:34 + Log: README.cygwin update (from Eric Fifer ) + Branch: perl + ! README.cygwin +____________________________________________________________________________ +[ 4923] By: gsar on 2000/01/28 17:10:08 + Log: avoid leaking lexicals into program being debugged (from Ilya + Zakharevich) + Branch: perl + ! lib/perl5db.pl +____________________________________________________________________________ +[ 4922] By: gsar on 2000/01/28 16:36:13 + Log: perldelta note about export list changes + Branch: perl + ! Changes pod/perldelta.pod +____________________________________________________________________________ +[ 4921] By: gsar on 2000/01/28 15:49:04 + Log: alias realpath() to abs_path() (from Tom Christiansen) + Branch: perl + ! lib/Cwd.pm +____________________________________________________________________________ +[ 4920] By: jhi on 2000/01/28 09:52:47 + Log: Cppsym fixup from Andy. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4919] By: jhi on 2000/01/28 09:52:22 + Log: In HP-UX no largefiles if no 64 bits. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 4918] By: jhi on 2000/01/28 09:03:37 + Log: The #4880 was too eager, the $n test is useful too. + Branch: cfgperl + ! lib/Benchmark.pm +____________________________________________________________________________ +[ 4917] By: jhi on 2000/01/28 06:27:50 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlapi.pod pod/perlintern.pod + !> (integrate 39 files) +____________________________________________________________________________ +[ 4916] By: gsar on 2000/01/28 05:29:37 + Log: more exported symbols needed for build on windows + Branch: perl + ! embed.pl global.sym objXSUB.h perlapi.c pod/perlapi.pod + ! pod/perlintern.pod t/lib/thread.t win32/win32.c +____________________________________________________________________________ +[ 4915] By: gsar on 2000/01/28 03:43:52 + Log: autogenerate API listing from comments in the source (from Benjamin + Stuhl ); fix the markup format to be more + flexible for better readability; add missing docs in sv.c; regenerate + perltoc + Branch: perl + + pod/perlapi.pod pod/perlintern.pod + ! MANIFEST XSUB.h av.c av.h cop.h cv.h embed.pl global.sym gv.c + ! gv.h handy.h hv.c hv.h intrpvar.h makedef.pl mg.c objXSUB.h + ! op.c op.h perl.c perlapi.c pod/Makefile pod/buildtoc + ! pod/perl.pod pod/perldelta.pod pod/perlguts.pod + ! pod/perltoc.pod pod/roffitall pp.h scope.h sv.c sv.h thrdvar.h + ! universal.c util.c +____________________________________________________________________________ +[ 4914] By: gsar on 2000/01/27 19:43:35 + Log: document unimplemented status of forking pipe open() on windows + Branch: perl + ! pod/perlfork.pod t/op/fork.t +____________________________________________________________________________ +[ 4913] By: jhi on 2000/01/27 11:18:51 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 51 files) +____________________________________________________________________________ +[ 4912] By: jhi on 2000/01/27 10:35:48 + Log: Cppsym update continues. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4911] By: gsar on 2000/01/27 08:04:17 + Log: add missing flag in change#4892 + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4910] By: gsar on 2000/01/27 03:56:48 + Log: various pod nits identified by installhtml (all fixed except + unresolved links) + Branch: perl + ! ext/B/B/C.pm ext/Devel/Peek/Peek.pm ext/File/Glob/Glob.pm + ! ext/IO/lib/IO/Socket/INET.pm ext/IPC/SysV/SysV.pm + ! ext/Thread/Thread.pm lib/Class/Struct.pm lib/File/Find.pm + ! lib/File/Spec/VMS.pm lib/Pod/Html.pm lib/UNIVERSAL.pm + ! pod/buildtoc pod/perlcompile.pod pod/perlfork.pod + ! pod/perlre.pod pod/perltoc.pod pod/perltodo.pod +____________________________________________________________________________ +[ 4909] By: gsar on 2000/01/26 22:45:28 + Log: typo + Branch: perl + ! Porting/p4desc +____________________________________________________________________________ +[ 4908] By: gsar on 2000/01/26 22:41:18 + Log: update p4 tool + Branch: perl + ! Porting/p4desc +____________________________________________________________________________ +[ 4907] By: gsar on 2000/01/26 21:45:41 + Log: revised attribute syntax: C, C + and C are all valid (from Spider Boardman) + Branch: perl + ! lib/AutoSplit.pm lib/SelfLoader.pm lib/attributes.pm + ! pod/perldelta.pod pod/perldiag.pod pod/perlsub.pod + ! t/op/attrs.t toke.c +____________________________________________________________________________ +[ 4906] By: gsar on 2000/01/26 20:16:39 + Log: pod typos and warnings (from Abigail ) + Branch: perl + ! README.win32 ext/B/B/Deparse.pm lib/Class/Struct.pm +____________________________________________________________________________ +[ 4905] By: gsar on 2000/01/26 19:10:26 + Log: s/STOP/CHECK/ blocks + Branch: perl + ! embedvar.h ext/B/B/Stash.pm ext/B/NOTES ext/B/O.pm intrpvar.h + ! keywords.h keywords.pl lib/constant.pm op.c perl.c perlapi.h + ! perly.c perly.y pod/perldelta.pod pod/perldiag.pod + ! pod/perlfunc.pod pod/perlmod.pod pod/perlrun.pod + ! pod/perlsub.pod pod/perltodo.pod sv.c t/op/misc.t toke.c + ! vms/perly_c.vms +____________________________________________________________________________ +[ 4904] By: jhi on 2000/01/26 13:58:18 + Log: In UNICOS and UNICOS/mk after a successful fcntl F_SETFL + of O_NONBLOCK a subsequent fcntl F_GETFL will return O_NDELAY. + Branch: cfgperl + ! ext/IO/IO.xs +____________________________________________________________________________ +[ 4903] By: jhi on 2000/01/26 11:16:34 + Log: Continue cpp symbol update. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4902] By: gsar on 2000/01/26 09:28:37 + Log: tweak exports list on Windows + Branch: perl + ! makedef.pl t/op/fork.t win32/win32.h +____________________________________________________________________________ +[ 4901] By: jhi on 2000/01/26 08:05:57 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes README.win32 lib/File/Path.pm lib/Getopt/Std.pm op.c + !> pod/perldelta.pod pod/perldiag.pod t/op/grep.t + !> t/pragma/strict-vars toke.c win32/Makefile win32/makefile.mk + !> win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 4900] By: jhi on 2000/01/26 07:59:05 + Log: s/d_nvpresuv/d_nv_preserves_uv/; + plus cosmetic change for #4899. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U + Branch: metaconfig/U/perl + ! perlxv.U +____________________________________________________________________________ +[ 4899] By: jhi on 2000/01/26 07:46:56 + Log: Update the scan of the cpp symbols. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Cppsym.U +____________________________________________________________________________ +[ 4898] By: gsar on 2000/01/26 04:49:45 + Log: allow '--' to terminate argument processing (suggested by + Marc Espie ) + Branch: perl + ! lib/Getopt/Std.pm +____________________________________________________________________________ +[ 4897] By: gsar on 2000/01/26 02:42:38 + Log: change#3744 should have made grep more like map instead of the + other way around + Branch: perl + ! t/op/grep.t toke.c +____________________________________________________________________________ +[ 4896] By: gsar on 2000/01/26 00:56:14 + Log: integrate cfgperl contents into mainline + Branch: perl + +> vos/config.def vos/config.pl + ! Changes + !> Configure MANIFEST config_h.SH hints/unicosmk.sh + !> lib/Benchmark.pm pod/perldelta.pod pod/perlhist.pod pp.c + !> vos/config.h vos/config_h.SH_orig +____________________________________________________________________________ +[ 4895] By: gsar on 2000/01/26 00:45:45 + Log: fix parse failure of (my $foo : bar) and similar (from Spider + Boardman) + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4894] By: gsar on 2000/01/26 00:33:53 + Log: avoid failure if directories already read by rmtree() are + deleted by another process + Branch: perl + ! lib/File/Path.pm +____________________________________________________________________________ +[ 4893] By: gsar on 2000/01/25 23:19:18 + Log: typo in change#4892 + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4892] By: gsar on 2000/01/25 22:16:19 + Log: eliminate need for perl95.exe on Windows 9x by working around CRT + bug internally (from Benjamin Stuhl ); modified + to call the fixed version of open_osfhandle() only on Windows 9x; + updated the makefiles and README.win32 to suit + Branch: perl + ! README.win32 win32/Makefile win32/makefile.mk win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 4891] By: gsar on 2000/01/25 20:22:01 + Log: produce redeclaration warning on C + Branch: perl + ! op.c pod/perldelta.pod pod/perldiag.pod t/pragma/strict-vars +____________________________________________________________________________ +[ 4890] By: gsar on 2000/01/25 19:21:17 + Log: update Makefile notes on the now deprecated USE_5005THREADS and + USE_OBJECT + Branch: perl + ! win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4889] By: jhi on 2000/01/25 14:44:55 + Log: Misedit in #4888. + Branch: cfgperl + ! pp.c +____________________________________________________________________________ +[ 4888] By: jhi on 2000/01/25 14:38:59 + Log: UNICOS/mk patches. Removing the _CRAYMPP test may be + rash but it's the best move I can think of right now. + UNICOS/mk doesn't anymore (2.0.4.82) define _CRAYMPP, + but I think it did in the past. + Removing the _CRAYMPP test fixes a legion of pack/unpack + failures (hint: SHORTSIZE=4,INTSIZE=8,LONGSIZE=8). + One subtest, t/lib/io_sock.t #14, is still failing. + Branch: cfgperl + ! Configure config_h.SH hints/unicosmk.sh pp.c + Branch: metaconfig + ! U/modified/Oldconfig.U +____________________________________________________________________________ +[ 4887] By: jhi on 2000/01/25 06:13:14 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes Makefile.SH XSUB.h cflags.SH embed.pl globals.c + !> installperl lib/Pod/Html.pm makedef.pl mg.c objXSUB.h perl.h + !> perlapi.c perlapi.h pod/perldelta.pod pod/perldiag.pod + !> t/io/fs.t win32/Makefile win32/makefile.mk win32/perlhost.h + !> win32/perllib.c win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 4886] By: gsar on 2000/01/25 02:54:00 + Log: consistently use MAX_PATH+1 buffer sizes + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4885] By: gsar on 2000/01/25 02:51:35 + Log: workaround for rename('x','X') bug in Windows NT + Branch: perl + ! t/io/fs.t win32/win32.c +____________________________________________________________________________ +[ 4884] By: gsar on 2000/01/25 01:32:57 + Log: windows build fixups from uniform DLL name change to perl56.dll + Branch: perl + ! installperl makedef.pl win32/perllib.c +____________________________________________________________________________ +[ 4883] By: gsar on 2000/01/25 01:31:27 + Log: more fixes for warnings from change#4840 + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 4882] By: gsar on 2000/01/24 15:35:12 + Log: assorted little nits + Branch: perl + ! mg.c win32/Makefile win32/makefile.mk win32/perlhost.h + ! win32/win32.c +____________________________________________________________________________ +[ 4881] By: gsar on 2000/01/24 14:32:31 + Log: add new warnings to perldelta + Branch: perl + ! Changes pod/perldelta.pod pod/perldiag.pod +____________________________________________________________________________ +[ 4880] By: jhi on 2000/01/24 14:14:23 + Log: From: Stephane Payrard + To: Gurusamy Sarathy + Cc: perl5-porters@perl.org + Subject: avoid division by 0 in Benchmark.pm + Date: Mon, 24 Jan 2000 16:15:38 +0100 + Message-ID: <20000124161538.A995@freesurf.fr> + Branch: cfgperl + ! lib/Benchmark.pm +____________________________________________________________________________ +[ 4879] By: gsar on 2000/01/24 14:14:20 + Log: force linkage of the function wrappers for globals in change#4878 + Branch: perl + ! embed.pl globals.c perlapi.h win32/win32.h +____________________________________________________________________________ +[ 4878] By: gsar on 2000/01/24 13:04:45 + Log: enable function wrappers for access to globals under MULTIPLICITY + (provides binary compatibility in the face of changes in interpreter + structure) + Branch: perl + ! Makefile.SH XSUB.h cflags.SH embed.pl makedef.pl objXSUB.h + ! perl.h perlapi.c perlapi.h win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4877] By: jhi on 2000/01/24 11:41:57 + Log: perlhist update. + Branch: cfgperl + ! pod/perlhist.pod +____________________________________________________________________________ +[ 4876] By: jhi on 2000/01/24 11:32:07 + Log: Updates on the large file support status. + Branch: cfgperl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 4875] By: jhi on 2000/01/24 11:23:16 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/DB_File/Makefile.PL ext/NDBM_File/NDBM_File.pm + !> ext/ODBM_File/ODBM_File.pm lib/AutoSplit.pm + !> lib/Math/Complex.pm lib/Math/Trig.pm lib/Shell.pm +____________________________________________________________________________ +[ 4874] By: gsar on 2000/01/24 10:43:03 + Log: fix typos; avoid use constant for lowercase constants (produces + warnings now) + Branch: perl + ! ext/DB_File/Makefile.PL lib/Math/Complex.pm lib/Math/Trig.pm + ! lib/Shell.pm +____________________________________________________________________________ +[ 4873] By: gsar on 2000/01/24 09:40:24 + Log: avoid warnings when there's no subs to autosplit + Branch: perl + ! lib/AutoSplit.pm +____________________________________________________________________________ +[ 4872] By: jhi on 2000/01/24 09:39:01 + Log: Create a tool for converting a config_h.SH into a VOS config.h. + Branch: cfgperl + + vos/config.def vos/config.pl + ! MANIFEST vos/config.h vos/config_h.SH_orig +____________________________________________________________________________ +[ 4871] By: gsar on 2000/01/24 09:15:20 + Log: typos in change#4623 + Branch: perl + ! ext/NDBM_File/NDBM_File.pm ext/ODBM_File/ODBM_File.pm +____________________________________________________________________________ +[ 4870] By: jhi on 2000/01/24 06:43:19 + Log: Sync metaconfig units to comply with the typo fixes of #4869. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + + U/modified/cf_email.U U/modified/so.U + Branch: metaconfig/U/perl + ! dlsrc.U +____________________________________________________________________________ +[ 4869] By: jhi on 2000/01/24 06:04:31 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/pragma/diagnostics.t + !> (integrate 120 files) +____________________________________________________________________________ +[ 4868] By: gsar on 2000/01/23 21:49:28 + Log: on windows, set seek position to end for files opened in append mode + (improves compatibility with Unix, avoids buffering issues) + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4867] By: gsar on 2000/01/23 21:19:31 + Log: change#4866 was flawed; revert and add better fix for warning + Branch: perl + ! op.c op.h +____________________________________________________________________________ +[ 4866] By: gsar on 2000/01/23 20:43:56 + Log: optimize away runtime code for our($foo) (also avoid warnings) + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4865] By: gsar on 2000/01/23 13:17:18 + Log: DB_File 1.72 update from Paul Marquess + Branch: perl + ! ext/DB_File/Changes ext/DB_File/DB_File.pm + ! ext/DB_File/DB_File.xs ext/DB_File/version.c +____________________________________________________________________________ +[ 4864] By: gsar on 2000/01/23 13:12:31 + Log: system('VAR123=foo cmd') wasn't invoking shell (de-locale-ized patch + suggested by Dominic Dunlop ) + Branch: perl + ! doio.c +____________________________________________________________________________ +[ 4863] By: gsar on 2000/01/23 13:01:35 + Log: fix misclassified warnings + Branch: perl + ! pod/perldiag.pod +____________________________________________________________________________ +[ 4862] By: gsar on 2000/01/23 12:52:12 + Log: document bareword prototype incompatibility + Branch: perl + ! pod/perldelta.pod pod/perlsub.pod +____________________________________________________________________________ +[ 4861] By: gsar on 2000/01/23 12:32:25 + Log: faulty edit + Branch: perl + ! lib/File/stat.pm +____________________________________________________________________________ +[ 4860] By: gsar on 2000/01/23 12:23:48 + Log: s/use vars/our/g modules that aren't independently maintained on CPAN + Branch: perl + ! ext/B/B/Asmdata.pm ext/Data/Dumper/Dumper.pm + ! ext/Devel/DProf/DProf.pm ext/Fcntl/Fcntl.pm + ! ext/File/Glob/Glob.pm ext/GDBM_File/GDBM_File.pm + ! ext/IO/lib/IO/Dir.pm ext/IO/lib/IO/File.pm + ! ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Pipe.pm + ! ext/IO/lib/IO/Poll.pm ext/IO/lib/IO/Seekable.pm + ! ext/IO/lib/IO/Socket.pm ext/IO/lib/IO/Socket/INET.pm + ! ext/IO/lib/IO/Socket/UNIX.pm ext/NDBM_File/NDBM_File.pm + ! ext/ODBM_File/ODBM_File.pm ext/Opcode/Opcode.pm + ! ext/Opcode/Safe.pm ext/POSIX/POSIX.pm + ! ext/SDBM_File/SDBM_File.pm ext/Socket/Socket.pm + ! ext/Thread/Thread.pm lib/AnyDBM_File.pm lib/AutoLoader.pm + ! lib/AutoSplit.pm lib/Class/Struct.pm lib/Dumpvalue.pm + ! lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm + ! lib/ExtUtils/Installed.pm lib/ExtUtils/Liblist.pm + ! lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Mksymlists.pm + ! lib/ExtUtils/Packlist.pm lib/Fatal.pm lib/File/Basename.pm + ! lib/File/Compare.pm lib/File/Copy.pm lib/File/Find.pm + ! lib/File/Path.pm lib/File/stat.pm lib/FileHandle.pm + ! lib/Math/Complex.pm lib/Math/Trig.pm lib/Net/Ping.pm + ! lib/Net/hostent.pm lib/Net/netent.pm lib/Net/protoent.pm + ! lib/Net/servent.pm lib/Shell.pm lib/Test.pm + ! lib/Test/Harness.pm lib/Tie/Array.pm lib/Tie/Handle.pm + ! lib/Time/gmtime.pm lib/Time/localtime.pm lib/User/grent.pm + ! lib/User/pwent.pm lib/base.pm lib/caller.pm lib/constant.pm + ! lib/diagnostics.pm lib/fields.pm lib/lib.pm lib/strict.pm +____________________________________________________________________________ +[ 4859] By: gsar on 2000/01/23 11:29:22 + Log: fix diagnostics to report "our" vs "my" correctly + Branch: perl + ! op.c pod/perldiag.pod +____________________________________________________________________________ +[ 4858] By: gsar on 2000/01/23 10:14:46 + Log: set api_version to 5.5.0 (binary compatibility needs to get tested + more widely) + Branch: perl + ! patchlevel.h +____________________________________________________________________________ +[ 4857] By: gsar on 2000/01/23 10:04:03 + Log: disallow our($foo::bar) + Branch: perl + ! pod/perldiag.pod toke.c +____________________________________________________________________________ +[ 4856] By: gsar on 2000/01/23 09:50:54 + Log: dprofpp can't find Devel::DProf::VERSION due to change#4852 + Branch: perl + ! utils/dprofpp.PL +____________________________________________________________________________ +[ 4855] By: gsar on 2000/01/23 09:36:51 + Log: new test (from Michael G Schwern ) + Branch: perl + + t/pragma/diagnostics.t + ! MANIFEST +____________________________________________________________________________ +[ 4854] By: gsar on 2000/01/23 09:24:40 + Log: add PREREQ_PM to default template (suggested by Michael G Schwern + ) + Branch: perl + ! utils/h2xs.PL +____________________________________________________________________________ +[ 4853] By: gsar on 2000/01/23 09:08:30 + Log: cygwin update (from Eric Fifer ) + Branch: perl + ! cygwin/Makefile.SHs hints/cygwin.sh t/io/tell.t +____________________________________________________________________________ +[ 4852] By: gsar on 2000/01/23 08:52:44 + Log: mark some extensions as "special versions" to avoid CPAN indexer + confusion (from Ilya Zakharevich) + Branch: perl + ! ext/Devel/DProf/DProf.pm ext/Devel/Peek/Peek.pm +____________________________________________________________________________ +[ 4851] By: gsar on 2000/01/23 08:48:46 + Log: prefer POSIX::uname() rather than syscalls, which require attempting + to load syscall.ph (from David Huggins-Daines ) + Branch: perl + ! lib/Sys/Hostname.pm +____________________________________________________________________________ +[ 4850] By: gsar on 2000/01/23 08:36:43 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure Policy_sh.SH Porting/Glossary Porting/config.sh + !> Porting/config_H config_h.SH perl.h +____________________________________________________________________________ +[ 4849] By: gsar on 2000/01/23 08:17:30 + Log: fix localization in while BLOCK when there is a continue BLOCK + by introducing an explicit scope (c.f. change#4848) + Branch: perl + ! op.c pp_ctl.c t/cmd/while.t +____________________________________________________________________________ +[ 4848] By: gsar on 2000/01/23 06:43:51 + Log: fix scope cleanup when next jumps to a continue block; this is rather + in the nature of a kludge; it doesn't fix the longstanding bug that + makes C print "7" + instead of "1") + Branch: perl + ! pp_ctl.c t/cmd/while.t +____________________________________________________________________________ +[ 4847] By: gsar on 2000/01/23 04:47:25 + Log: don't warn about masked lexical in C, + C etc. + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4846] By: gsar on 2000/01/23 04:44:17 + Log: avoid warnings in change#4839 + Branch: perl + ! lib/Carp/Heavy.pm +____________________________________________________________________________ +[ 4845] By: gsar on 2000/01/22 13:12:38 + Log: Configure typos (from Ray Phillips ) + Branch: perl + ! Changes Configure +____________________________________________________________________________ +[ 4844] By: gsar on 2000/01/22 12:46:26 + Log: wrong category for exec() warning + Branch: perl + ! op.c pod/perlop.pod +____________________________________________________________________________ +[ 4843] By: gsar on 2000/01/22 12:42:40 + Log: fix line continuations in argument lists (from Helmut Jarausch) + Branch: perl + ! lib/ExtUtils/xsubpp +____________________________________________________________________________ +[ 4842] By: gsar on 2000/01/22 12:34:39 + Log: CGI.pm upgraded to v2.56 from CPAN + Branch: perl + ! eg/cgi/index.html lib/CGI.pm lib/CGI/Apache.pm + ! lib/CGI/Cookie.pm lib/CGI/Pretty.pm lib/CGI/Switch.pm + ! t/lib/cgi-html.t +____________________________________________________________________________ +[ 4841] By: gsar on 2000/01/22 12:07:23 + Log: avoid warnings due to lack of forward declarations + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 4840] By: gsar on 2000/01/22 12:04:30 + Log: heavy cleanup of Pod::Html bug fixes (from Wolfgang Laun + ) + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 4839] By: gsar on 2000/01/22 11:57:24 + Log: better Carp reporting within subclassed modules (from Wolfgang Laun + ) + Branch: perl + ! lib/Carp/Heavy.pm pod/perldelta.pod +____________________________________________________________________________ +[ 4838] By: gsar on 2000/01/22 10:53:06 + Log: truncate(FH) flushes FH before truncating it + Branch: perl + ! pp_sys.c t/io/fs.t +____________________________________________________________________________ +[ 4837] By: gsar on 2000/01/22 10:37:16 + Log: #line directives without a filename leave the file name as it was + instead of setting it to the script name (from Andrew Pimlott + ) + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4836] By: gsar on 2000/01/22 10:06:53 + Log: add patch for printf-style format typechecks (from Robin Barker + ); fixes for problems so identified + Branch: perl + ! XSUB.h doio.c dump.c embed.pl gv.c op.c perl.c perl.h pp_ctl.c + ! pp_hot.c pp_sys.c proto.h regcomp.c sv.c toke.c +____________________________________________________________________________ +[ 4835] By: gsar on 2000/01/22 08:42:52 + Log: From: John Tobey + Date: Thu, 16 Dec 1999 20:20:38 -0500 + Message-Id: + Subject: [ID 19991216.006] [PATCH 5.005_63] Reloading modules that use 'fields' + Branch: perl + ! lib/base.pm lib/fields.pm t/lib/fields.t +____________________________________________________________________________ +[ 4834] By: gsar on 2000/01/22 08:08:08 + Log: fix deeply nested closures that have no references to lexical in + intervening subs + Branch: perl + ! embed.h embed.pl op.c proto.h t/op/closure.t +____________________________________________________________________________ +[ 4833] By: gsar on 2000/01/21 17:04:21 + Log: add $VERSION + Branch: perl + ! lib/Text/Soundex.pm lib/Tie/Handle.pm +____________________________________________________________________________ +[ 4832] By: gsar on 2000/01/21 16:49:09 + Log: fix bug in dumping self-referential scalars + Branch: perl + ! ext/Data/Dumper/Dumper.pm ext/Data/Dumper/Dumper.xs + ! t/lib/dumper.t +____________________________________________________________________________ +[ 4831] By: jhi on 2000/01/21 09:16:07 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/op/exists_sub.t + !> INSTALL MANIFEST embed.h embed.pl global.sym objXSUB.h op.c + !> op.h perlapi.c pod/perldelta.pod pod/perldiag.pod + !> pod/perlfunc.pod pod/perlop.pod pod/perlvar.pod pp.c pp_hot.c + !> pp_sys.c proto.h sv.c sv.h t/pragma/warn/pp_hot + !> t/pragma/warn/pp_sys util.c utils/h2xs.PL +____________________________________________________________________________ +[ 4830] By: gsar on 2000/01/21 04:28:08 + Log: patch to report warnings on bogus filehandles passed to flock(), + more consistent warnings, from Greg Bacon + (slightly modified) + Branch: perl + ! embed.h embed.pl global.sym objXSUB.h perlapi.c + ! pod/perldiag.pod pp_hot.c pp_sys.c proto.h + ! t/pragma/warn/pp_hot t/pragma/warn/pp_sys util.c +____________________________________________________________________________ +[ 4829] By: gsar on 2000/01/21 03:43:46 + Log: typo fix + Branch: perl + ! pod/perlop.pod +____________________________________________________________________________ +[ 4828] By: gsar on 2000/01/21 03:32:31 + Log: notes about $^H and %^H from Ilya Zakharevich; substantial + fixups of faulty facts and prose + Branch: perl + ! pod/perlvar.pod +____________________________________________________________________________ +[ 4827] By: gsar on 2000/01/21 01:45:51 + Log: support for C (from Spider Boardman) + Branch: perl + + t/op/exists_sub.t + ! MANIFEST op.c op.h pod/perldelta.pod pod/perldiag.pod + ! pod/perlfunc.pod pp.c +____________________________________________________________________________ +[ 4826] By: gsar on 2000/01/21 01:35:46 + Log: mention the fact that open(my $foo, ...) covers all handle + constructors + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 4825] By: gsar on 2000/01/21 01:03:34 + Log: From: Ilya Zakharevich + Date: Wed, 19 Jan 2000 15:05:11 -0500 + Message-ID: <20000119150511.A22859@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_63] h2xs goof and a depessimization + Branch: perl + ! utils/h2xs.PL +____________________________________________________________________________ +[ 4824] By: gsar on 2000/01/20 19:14:26 + Log: INSTALL updates from Andy Dougherty + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 4823] By: gsar on 2000/01/20 08:40:13 + Log: sv_true() has a superfluous test + Branch: perl + ! sv.c sv.h +____________________________________________________________________________ +[ 4822] By: bailey on 2000/01/20 02:03:35 + Log: Minor cosmetic updates + Branch: vmsperl + ! configure.com +____________________________________________________________________________ +[ 4821] By: bailey on 2000/01/20 00:25:30 + Log: Quick integration of mainline changes to date + Branch: vmsperl + +> (branch 74 files) + - eg/cgi/dna.small.gif.uu eg/cgi/wilogo.gif.uu epoc/config.h + - epoc/perl.mmp epoc/perl.pkg ext/DynaLoader/dl_cygwin.xs + - lib/Pod/PlainText.pm lib/unicode/Eq/Latin1 + - lib/unicode/Eq/Unicode lib/unicode/Jamo-2.txt + - lib/unicode/Unicode.html lib/unicode/UnicodeData-Latest.txt + - lib/warning.pm os2/POSIX.mkfifo warning.h + !> (integrate 462 files) +____________________________________________________________________________ +[ 4820] By: jhi on 2000/01/19 22:46:42 + Log: More robust inc_version_list from Andy. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig + ! U/installdirs/inc_version_list.U +____________________________________________________________________________ +[ 4819] By: jhi on 2000/01/19 17:36:56 + Log: Add NV_PRESERVES_UV. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h + Branch: metaconfig + ! U/protos/selecttype.U + Branch: metaconfig/U/perl + - nvpresuv.U + ! perlxv.U +____________________________________________________________________________ +[ 4818] By: jhi on 2000/01/19 08:13:05 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes Configure win32/config.bc win32/config.gc + !> win32/config.vc win32/config_H.bc win32/config_H.gc + !> win32/config_H.vc +____________________________________________________________________________ +[ 4817] By: gsar on 2000/01/19 05:25:43 + Log: regen win32/config* + Branch: perl + ! Configure win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 4816] By: jhi on 2000/01/18 21:19:10 + Log: Policy patch from Andy for installation directories, + removing the $apiversion. + Branch: cfgperl + ! Policy_sh.SH +____________________________________________________________________________ +[ 4815] By: jhi on 2000/01/18 21:11:03 + Log: Move _GNU_SOURCE into config_h.SH awaay from Configure + as suggested by Andy. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/compline/d_gnulibc.U U/modified/cc.U +____________________________________________________________________________ +[ 4814] By: gsar on 2000/01/18 20:48:10 + Log: integrate cfgperl changes into mainline + Branch: perl + ! Changes + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> Porting/pumpkin.pod config_h.SH doop.c patchlevel.h perl.c + !> perl.h t/lib/posix.t t/op/pack.t utf8.c +____________________________________________________________________________ +[ 4813] By: jhi on 2000/01/18 19:41:33 + Log: metaconfig todo note from Andy. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/installdirs/inc_version_list.U +____________________________________________________________________________ +[ 4812] By: jhi on 2000/01/18 15:02:55 + Log: More -V. + Branch: cfgperl + ! perl.c +____________________________________________________________________________ +[ 4811] By: jhi on 2000/01/18 10:35:30 + Log: More compile-time options shown with -V. + Branch: cfgperl + ! perl.c +____________________________________________________________________________ +[ 4810] By: jhi on 2000/01/17 08:35:49 + Log: Add -D_GNU_SOURCE into ccflags for gcc (for now to expose + the strtold() and qgcvt() prototypes for long doubles, but + it should be okay in any case); fix bad assumptions in the + test suite about string->float conversions; though the out + parameter of strtold() (and strtoll()) is unused, it is nicer + to have it in correct type. + Branch: cfgperl + ! Configure config_h.SH perl.h t/lib/posix.t t/op/pack.t + Branch: metaconfig + ! U/modified/cc.U +____________________________________________________________________________ +[ 4809] By: jhi on 2000/01/16 19:21:18 + Log: strtoll works better ternary. + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 4808] By: jhi on 2000/01/16 19:12:58 + Log: Know strtoll. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h +____________________________________________________________________________ +[ 4807] By: jhi on 2000/01/16 17:57:03 + Log: Integrate with Sarathy. + Branch: cfgperl + !> dump.c gv.c gv.h lib/vars.pm op.c op.h perl.h pod/perlfunc.pod + !> sv.c sv.h t/pragma/strict-vars toke.c util.c +____________________________________________________________________________ +[ 4806] By: jhi on 2000/01/16 16:37:47 + Log: Continue qgcvt work; closer now but not yet there. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doop.c utf8.c + Branch: metaconfig + ! U/compline/d_gconvert.U + Branch: metaconfig/U/perl + ! d_qgcvt.U +____________________________________________________________________________ +[ 4805] By: jhi on 2000/01/15 22:26:16 + Log: Metaconfig and Porting patches from Andy; start using the new + long long and long double thingies from #4804; regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! Porting/pumpkin.pod config_h.SH patchlevel.h perl.h util.c + Branch: metaconfig + + U/dist_patches/dist-p70a U/dist_patches/dist-p70b + + U/dist_patches/dist-p70c U/installdirs/inc_version_list.U + + U/modified/myhostname.U U/modified/nis.U U/nullified/fpu.U + + U/nullified/lib.U + ! U/README U/compline/d_gconvert.U U/installdirs/sitearch.U + ! U/installdirs/sitelib.U U/installdirs/vendorarch.U + ! U/installdirs/vendorlib.U U/modified/Cppsym.U U/modified/Loc.U + ! U/modified/Oldconfig.U U/modified/Signal.U + ! U/modified/sig_name.U U/threads/usethreads.U + Branch: metaconfig/U/perl + ! d_qgcvt.U d_strtold.U d_strtoll.U d_strtoq.U d_strtoull.U + ! d_strtouq.U dlsrc.U i_db.U libperl.U patchlevel.U + ! usemultiplicity.U + Branch: perl + ! perl.h util.c +____________________________________________________________________________ +[ 4804] By: jhi on 2000/01/14 14:22:24 + Log: Add more quad/long long/long double sciency. + Branch: metaconfig/U/perl + + d_qgcvt.U d_strtold.U d_strtoll.U d_strtoq.U d_strtoull.U + + d_strtouq.U +____________________________________________________________________________ +[ 4803] By: gsar on 2000/01/14 04:40:49 + Log: minor optimization (avoid double sv_upgrade() for "our Foo $bar;") + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4802] By: gsar on 2000/01/14 04:35:55 + Log: add note about "our" + Branch: perl + ! lib/vars.pm +____________________________________________________________________________ +[ 4801] By: gsar on 2000/01/14 04:16:51 + Log: nailed "our" declarations, and better warnings on duplicate + "our" declarations + Branch: perl + ! dump.c gv.c gv.h op.c pod/perlfunc.pod sv.c sv.h + ! t/pragma/strict-vars toke.c +____________________________________________________________________________ +[ 4800] By: gsar on 2000/01/14 01:27:13 + Log: avoid spurious "Useless use of variable" warning on C + Branch: perl + ! dump.c op.c op.h +____________________________________________________________________________ +[ 4799] By: gsar on 2000/01/14 01:17:15 + Log: doc typo + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4798] By: jhi on 2000/01/13 16:31:34 + Log: Integrate with Sarathy. + Branch: cfgperl + +> epoc/config.sh epoc/epocish.c epoc/link.pl + +> ext/DynaLoader/XSLoader_pm.PL ext/DynaLoader/hints/openbsd.pl + +> ext/IPC/SysV/hints/cygwin.pl ext/NDBM_File/hints/cygwin.pl + +> ext/ODBM_File/hints/cygwin.pl lib/byte.pm lib/byte_heavy.pl + +> lib/unicode/Unicode.300 pod/perlfork.pod t/lib/glob-case.t + +> win32/perlhost.h win32/vdir.h win32/vmem.h + - epoc/Config.pm epoc/autosplit.pl epoc/config.h epoc/perl.mmp + - epoc/perl.pkg ext/DynaLoader/dl_cygwin.xs + - lib/unicode/UnicodeData-Latest.txt os2/POSIX.mkfifo + !> (integrate 282 files) +____________________________________________________________________________ +[ 4797] By: gsar on 2000/01/13 08:12:56 + Log: clearer docs for change#4796; faster av_exists() + Branch: perl + ! av.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod +____________________________________________________________________________ +[ 4796] By: gsar on 2000/01/13 06:49:03 + Log: support delete() and exists() on array, tied array, and pseudo-hash + elements or slices + Branch: perl + ! av.c embed.h embed.pl global.sym lib/Tie/Array.pm + ! lib/Tie/Hash.pm objXSUB.h op.c perlapi.c pod/perldelta.pod + ! pod/perlfunc.pod pod/perlref.pod pod/perltie.pod pp.c proto.h + ! t/op/avhv.t t/op/delete.t +____________________________________________________________________________ +[ 4795] By: gsar on 2000/01/11 20:52:30 + Log: extend site_perl changes change#4773 to vendor_perl as well + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4794] By: gsar on 2000/01/11 19:18:50 + Log: rework INSTALL to reflect new logic for versioning sitelibs + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 4793] By: gsar on 2000/01/11 01:44:00 + Log: test for change#4792 + Branch: perl + ! t/op/fork.t +____________________________________________________________________________ +[ 4792] By: gsar on 2000/01/11 01:22:36 + Log: pseudo forked children inherit environment correctly + Branch: perl + ! win32/perlhost.h +____________________________________________________________________________ +[ 4791] By: gsar on 2000/01/10 19:14:03 + Log: test tweak + Branch: perl + ! t/op/fork.t +____________________________________________________________________________ +[ 4790] By: gsar on 2000/01/10 18:56:16 + Log: check for USE_ITHREADS sanity was too restrictive + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 4789] By: gsar on 2000/01/10 18:30:24 + Log: add workaround for textmode read() bug in MSVCRT; make chdir() do + a real SetCurrentDirectory() in toplevel host + Branch: perl + ! README.win32 win32/Makefile win32/makefile.mk win32/perlhost.h + ! win32/vdir.h win32/win32.c +____________________________________________________________________________ +[ 4782] By: gsar on 2000/01/10 05:27:03 + Log: EPOC port update (from Olaf Flebbe ) + Branch: perl + + epoc/config.sh epoc/epocish.c epoc/link.pl + - epoc/Config.pm epoc/autosplit.pl epoc/config.h epoc/perl.mmp + - epoc/perl.pkg + ! MANIFEST README.epoc epoc/createpkg.pl epoc/epoc.c + ! epoc/epoc_stubs.c epoc/epocish.h ext/IO/lib/IO/Socket.pm + ! lib/Sys/Hostname.pm +____________________________________________________________________________ +[ 4781] By: gsar on 2000/01/10 05:11:03 + Log: pod typos (from Abigail ) + Branch: perl + ! pod/perl.pod pod/perllexwarn.pod pod/perlxstut.pod +____________________________________________________________________________ +[ 4780] By: gsar on 2000/01/10 05:07:35 + Log: failing RE test added (from Robert Cunningham ) + Branch: perl + ! t/lib/thread.t +____________________________________________________________________________ +[ 4779] By: gsar on 2000/01/10 05:06:16 + Log: terminate -s switch processing only on C<-->, not on C<--foo> + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 4778] By: gsar on 2000/01/10 04:38:45 + Log: useithreads needs usemultiplicity + Branch: perl + ! Configure perl.h +____________________________________________________________________________ +[ 4777] By: gsar on 2000/01/10 01:18:04 + Log: use $Config{version} rather than $] where appropriate + Branch: perl + ! lib/CPAN.pm lib/ExtUtils/Installed.pm lib/ExtUtils/MM_Unix.pm + ! lib/ExtUtils/Mksymlists.pm lib/Pod/Man.pm lib/diagnostics.pm + ! lib/lib.pm +____________________________________________________________________________ +[ 4776] By: gsar on 2000/01/10 00:11:34 + Log: enable fork.t on windows + Branch: perl + ! t/op/fork.t +____________________________________________________________________________ +[ 4775] By: gsar on 2000/01/10 00:07:29 + Log: broken test for use5005threads + Branch: perl + ! t/lib/safe2.t +____________________________________________________________________________ +[ 4774] By: gsar on 2000/01/09 23:56:37 + Log: more windows build tweaks + Branch: perl + ! installperl makedef.pl win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/config_sh.PL + ! win32/makefile.mk +____________________________________________________________________________ +[ 4773] By: gsar on 2000/01/09 22:27:19 + Log: more changes for new-style version numbers (versions numbers on + the filesystem look like 5.5.640, except on DOS-DJGPP and VMS where + they look like 5_5_640; delete @Config{pm_apiversion,xs_apiversion}; + split $Config{apiversion} into three, @Config{apirevision,apiversion, + apisubversion} for CPP friendliness; $Config{sitelib} now defaults + to .../site_perl/$version, just like $Config{privlib}, making sitelib + completely independent across versions and substantially eliminating + chances of breaking older installations by overwriting newly built + extensions; all this means compatibility inclusions for @INC will need + to take into account older sitelib versions (this still TODO) + + windows, vms, dos tweaks for the above + Branch: perl + ! Changes Configure INSTALL Porting/config.sh Porting/config_H + ! config_h.SH configure.com dosish.h installman installperl + ! patchlevel.h perl.c perl.h vms/vmsish.h win32/Makefile + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + ! win32/config_h.PL win32/config_sh.PL win32/makefile.mk + ! win32/win32.c +____________________________________________________________________________ +[ 4772] By: gsar on 2000/01/09 19:05:33 + Log: s/usethreads/use5005threads/g + Branch: perl + ! myconfig.SH t/lib/english.t t/lib/thread.t t/op/nothread.t +____________________________________________________________________________ +[ 4771] By: gsar on 2000/01/09 18:51:50 + Log: Configure changes for new-style version numbers (from Andy Dougherty, + slightly altered) + Branch: perl + ! Configure INSTALL Porting/Glossary Porting/config.sh + ! Porting/config_H config_h.SH perl.h win32/Makefile + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/makefile.mk +____________________________________________________________________________ +[ 4770] By: gsar on 2000/01/07 22:18:54 + Log: fix for 'make utest' failures (from Ilya Zakharevich) + Branch: perl + ! regexec.c +____________________________________________________________________________ +[ 4769] By: gsar on 2000/01/07 18:23:16 + Log: cygwin update (from Eric Fifer ) + Branch: perl + + ext/IPC/SysV/hints/cygwin.pl ext/NDBM_File/hints/cygwin.pl + + ext/ODBM_File/hints/cygwin.pl + ! Configure INSTALL MANIFEST ext/POSIX/Makefile.PL + ! hints/cygwin.sh installman installperl lib/Cwd.pm + ! lib/ExtUtils/MakeMaker.pm lib/File/Spec/Unix.pm lib/perl5db.pl + ! perlsdio.h t/op/magic.t t/op/stat.t utils/perlcc.PL +____________________________________________________________________________ +[ 4768] By: gsar on 2000/01/07 18:12:15 + Log: typo on h2xs.PL (from Helmut Jarausch) + Branch: perl + ! utils/h2xs.PL +____________________________________________________________________________ +[ 4767] By: gsar on 2000/01/07 17:58:45 + Log: VMS update (from Peter Prymmer ) + Branch: perl + ! README.vms configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 4766] By: gsar on 2000/01/07 17:54:05 + Log: os2/POSIX.mkfifo not needed (from Yitzchak Scott-Thoennes + ) + Branch: perl + - os2/POSIX.mkfifo + ! MANIFEST README.os2 +____________________________________________________________________________ +[ 4765] By: gsar on 2000/01/06 20:11:46 + Log: add workaround for dlopen() bug on OpenBSD (relative paths that + match /^lib/ won't load properly) + Branch: perl + + ext/DynaLoader/hints/openbsd.pl + ! Changes MANIFEST ext/DynaLoader/dl_dlopen.xs +____________________________________________________________________________ +[ 4764] By: gsar on 2000/01/06 19:51:08 + Log: add undocumented globals for compatibility--find.pl, and find2perl + generated code need them (from Helmut Jarausch ) + Branch: perl + ! lib/File/Find.pm +____________________________________________________________________________ +[ 4763] By: gsar on 2000/01/06 10:51:07 + Log: fix various C-backend shenanigans + Branch: perl + ! ext/B/B/C.pm +____________________________________________________________________________ +[ 4762] By: gsar on 2000/01/06 04:09:00 + Log: tweak test in change#4757 for Windows + Branch: perl + ! t/io/open.t +____________________________________________________________________________ +[ 4761] By: gsar on 2000/01/06 02:55:30 + Log: USE_ITHREADS tweak (reused pad values could be SvREADONLY if + they belonged to freed OP_CONSTs) + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4760] By: gsar on 2000/01/06 00:22:40 + Log: constant ranges could escape bareword check in list context + Branch: perl + ! op.c t/pragma/strict-subs +____________________________________________________________________________ +[ 4759] By: gsar on 2000/01/05 20:52:50 + Log: From: Ilya Zakharevich + Date: Wed, 05 Jan 2000 15:23:18 EST + Message-Id: <20000105152318.A7400@monk.mps.ohio-state.edu> + Subject: Re: minimal m//g matches appear busted + Branch: perl + ! regexec.c t/op/pat.t +____________________________________________________________________________ +[ 4758] By: gsar on 2000/01/05 12:49:40 + Log: various nits identified by warnings unmasked by recent changes + Branch: perl + ! ext/B/Makefile.PL lib/ExtUtils/Install.pm pod/perlfunc.pod +____________________________________________________________________________ +[ 4757] By: gsar on 2000/01/05 12:48:10 + Log: severe bugs in change#3786 fixed + Branch: perl + ! doio.c t/io/open.t +____________________________________________________________________________ +[ 4756] By: gsar on 2000/01/05 11:25:10 + Log: tweak change#4745 to make ebcdic output match for chars <= 037 + Branch: perl + ! ext/Data/Dumper/Dumper.pm +____________________________________________________________________________ +[ 4755] By: gsar on 2000/01/05 06:56:05 + Log: cygwin support tweaks (from Eric Fifer ) + Branch: perl + ! Configure util.c utils/perlcc.PL +____________________________________________________________________________ +[ 4754] By: gsar on 2000/01/05 06:52:25 + Log: avoid expensive Version_check (from Andreas Koenig) + Branch: perl + ! Changes lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm + ! lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 4753] By: gsar on 2000/01/05 06:48:22 + Log: From: andreas.koenig@anima.de (Andreas J. Koenig) + Date: 03 Jan 2000 21:56:02 +0100 + Message-ID: + Subject: Reloading File::Copy + Branch: perl + ! Changes lib/File/Copy.pm t/lib/filecopy.t +____________________________________________________________________________ +[ 4752] By: gsar on 2000/01/04 01:19:20 + Log: s/USE_TEXTMODE_SCRIPTS/PERL_TEXTMODE_SCRIPTS/g + Branch: perl + ! win32/Makefile win32/makefile.mk win32/win32.h +____________________________________________________________________________ +[ 4751] By: gsar on 2000/01/03 18:26:08 + Log: avoid using (custom) autoloader in MakeMaker (from Andreas Koenig) + Branch: perl + ! lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 4750] By: gsar on 2000/01/02 21:58:02 + Log: make DProf look at $ENV{PERL_DPROF_OUT_FILE_NAME} to make it possible + to write to a file other than tmon.out (suggested by Haakon Alstadheim + ) + Branch: perl + ! ext/Devel/DProf/DProf.pm ext/Devel/DProf/DProf.xs +____________________________________________________________________________ +[ 4749] By: gsar on 2000/01/02 21:37:29 + Log: disable optimization in change#3612 for join() and quotemeta()--this + removes all the gross hacks for the special cases in that change; fix + pp_concat() for when TARG == arg (modified version of patch suggested + by Ilya Zakharevich) + Branch: perl + ! op.c opcode.h opcode.pl pp_hot.c sv.c t/op/lex_assign.t +____________________________________________________________________________ +[ 4748] By: gsar on 2000/01/02 20:26:06 + Log: MakeMaker should attempt to "require" rather than "use" prerequisites + to avoid imports (from Michael G Schwern ) + Branch: perl + ! lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 4747] By: gsar on 2000/01/02 20:17:36 + Log: fix 4-arg substr() when used as argument to subroutine + Branch: perl + ! pp.c t/op/substr.t +____________________________________________________________________________ +[ 4746] By: gsar on 2000/01/02 18:45:58 + Log: usethreads build fixups for NeXTstep (as suggested by Hans Mulder) + Branch: perl + ! embed.h embed.pl ext/DynaLoader/dl_beos.xs + ! ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_hpux.xs + ! ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_rhapsody.xs + ! perlapi.c proto.h thread.h util.c +____________________________________________________________________________ +[ 4745] By: gsar on 2000/01/02 18:15:44 + Log: ebcdic fix for Data::Dumper from Peter Prymmer + Branch: perl + ! ext/Data/Dumper/Dumper.pm regcomp.c +____________________________________________________________________________ +[ 4744] By: gsar on 1999/12/31 22:42:23 + Log: missing files in previous submit + Branch: perl + ! embed.h embed.pl ext/Devel/DProf/DProf.xs globals.c + ! lib/ExtUtils/MM_Unix.pm objXSUB.h perlapi.c proto.h +____________________________________________________________________________ +[ 4743] By: gsar on 1999/12/31 06:47:18 + Log: various Windows build tweaks + Branch: perl + ! win32/win32.h +____________________________________________________________________________ +[ 4742] By: gsar on 1999/12/30 21:32:36 + Log: change#4705 breaks code that interpolates $], so leave string value + of $] as it was for compatibility (and perhaps introduce $^V or similar + for the utf8 representation, maybe?) + Branch: perl + ! configpm gv.c +____________________________________________________________________________ +[ 4741] By: gsar on 1999/12/30 19:36:21 + Log: avoid CRLF in byteloadable files created by perlcc + Branch: perl + ! utils/perlcc.PL +____________________________________________________________________________ +[ 4740] By: gsar on 1999/12/30 19:35:07 + Log: leave DATA open in binmode if __END__ line doesn't have CRLF + Branch: perl + ! pod/perldelta.pod toke.c +____________________________________________________________________________ +[ 4739] By: gsar on 1999/12/30 05:44:21 + Log: enable the PERL_BINMODE_SCRIPTS behavior by default on Windows + to allow ByteLoader to work; the DATA filehandles continue to + be left open in text mode for compatibility + Branch: perl + ! embed.h embed.pl objXSUB.h pod/perldelta.pod proto.h sv.c + ! toke.c win32/Makefile win32/makefile.mk win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 4738] By: gsar on 1999/12/30 04:36:12 + Log: CR-LF support broken for formats + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4737] By: gsar on 1999/12/29 22:30:52 + Log: make DProf functional under pseudo-fork() + Branch: perl + ! ext/Devel/DProf/DProf.xs +____________________________________________________________________________ +[ 4736] By: gsar on 1999/12/29 21:04:59 + Log: slurp mode fix in change#2910 wasn't quite right (spotted by Hans + Mulder) + Branch: perl + ! doio.c pp_hot.c t/io/argv.t +____________________________________________________________________________ +[ 4735] By: gsar on 1999/12/29 18:12:40 + Log: re.pm is needed earlier, xsubpp now uses it (spotted by Andreas + Koenig) + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4734] By: gsar on 1999/12/28 21:10:37 + Log: Windows build tweaks + Branch: perl + ! INTERN.h sv.c +____________________________________________________________________________ +[ 4733] By: gsar on 1999/12/28 20:45:15 + Log: remove never-taken branch for making getc() operate on ARGV (spotted + by Ralph Corderoy ) + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 4732] By: gsar on 1999/12/28 20:42:13 + Log: tests for change#4642 and pod fixups suggested by Ralph Corderoy + + Branch: perl + ! pod/perldelta.pod pod/perlfunc.pod pod/perlre.pod t/io/argv.t +____________________________________________________________________________ +[ 4731] By: gsar on 1999/12/28 20:23:17 + Log: optimize XSUBs to use targets if the -nooptimize xsubpp option is + not supplied (variant of patch suggested by Ilya Zakharevich) + Branch: perl + ! XSUB.h lib/ExtUtils/xsubpp +____________________________________________________________________________ +[ 4730] By: gsar on 1999/12/28 19:55:56 + Log: range operator does magical string increment iff both operands + are non-numbers, from Tom Phoenix ; fixed + the "foreach (RANGE)" case as well + Branch: perl + ! pp_ctl.c t/op/range.t +____________________________________________________________________________ +[ 4729] By: gsar on 1999/12/28 18:40:19 + Log: Win9x + GCC update from Benjamin Stuhl + Branch: perl + - win32/PerlCRT.def win32/gstartup.c win32/oldnames.def + ! EXTERN.h INTERN.h MANIFEST README.win32 iperlsys.h + ! lib/ExtUtils/MM_Win32.pm makedef.pl win32/Makefile + ! win32/config.gc win32/genmk95.pl win32/makefile.mk + ! win32/perlhost.h win32/perllib.c win32/runperl.c win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 4728] By: gsar on 1999/12/28 07:44:19 + Log: typecasts needed + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4727] By: gsar on 1999/12/28 06:23:08 + Log: change#4721 needed line number adjustments + Branch: perl + ! MANIFEST global.sym proto.h t/pragma/warn/doop + ! t/pragma/warn/pp t/pragma/warn/regcomp t/pragma/warn/sv + ! t/pragma/warn/toke t/pragma/warn/utf8 +____________________________________________________________________________ +[ 4726] By: gsar on 1999/12/28 04:18:15 + Log: integrate utfperl contents into mainline + Branch: perl + +> lib/byte.pm lib/byte_heavy.pl + !> configpm embed.h embed.pl embedvar.h gv.c intrpvar.h objXSUB.h + !> patchlevel.h perl.c perl.h perlapi.c pp_ctl.c pp_hot.c proto.h + !> regnodes.h sv.c sv.h t/comp/require.t toke.c utf8.h +____________________________________________________________________________ +[ 4725] By: gsar on 1999/12/28 04:08:09 + Log: integrate mainline contents + Branch: utfperl + - ext/DynaLoader/dl_cygwin.xs lib/unicode/Eq/Latin1 + - lib/unicode/Eq/Unicode + !> (integrate 60 files) +____________________________________________________________________________ +[ 4724] By: gsar on 1999/12/28 03:44:10 + Log: fix for /(^|a)b/ breakage from Ilya Zakharevich + Branch: perl + ! regcomp.c t/op/re_tests +____________________________________________________________________________ +[ 4723] By: gsar on 1999/12/28 03:28:39 + Log: more ebcdic testsuite fixups (from Peter Prymmer) + Branch: perl + ! Changes lib/bigfloat.pl t/lib/charnames.t t/lib/dumper.t + ! t/pragma/overload.t t/pragma/utf8.t +____________________________________________________________________________ +[ 4722] By: gsar on 1999/12/28 03:14:48 + Log: avoid "used once" warning + Branch: perl + ! lib/diagnostics.pm +____________________________________________________________________________ +[ 4721] By: gsar on 1999/12/28 03:10:32 + Log: ebcdic tweaks for tests from Peter Prymmer + Branch: perl + ! t/pragma/warn/doop t/pragma/warn/pp t/pragma/warn/regcomp + ! t/pragma/warn/sv t/pragma/warn/toke t/pragma/warn/utf8 +____________________________________________________________________________ +[ 4720] By: gsar on 1999/12/28 03:08:39 + Log: pod nits from Simon Cozens and others + Branch: perl + ! README.os2 lib/ExtUtils/Embed.pm lib/ExtUtils/Install.pm + ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MakeMaker.pm + ! lib/ExtUtils/Mkbootstrap.pm pod/perlop.pod +____________________________________________________________________________ +[ 4719] By: gsar on 1999/12/28 03:01:04 + Log: perlport v1.45 from Chris Nandor + Branch: perl + ! pod/perlport.pod +____________________________________________________________________________ +[ 4718] By: gsar on 1999/12/28 02:59:16 + Log: newer version of constant.pm from Tom Phoenix; added Tom's notes to + perldelta; added STOP, DESTROY and AUTOLOAD to specials list + Branch: perl + ! lib/constant.pm pod/perldelta.pod pod/perlvar.pod + ! t/pragma/constant.t +____________________________________________________________________________ +[ 4717] By: gsar on 1999/12/28 02:47:04 + Log: cygwin update from Eric Fifer + Branch: perl + - ext/DynaLoader/dl_cygwin.xs + ! MAINTAIN MANIFEST ext/POSIX/POSIX.xs ext/SDBM_File/sdbm/pair.c + ! hints/cygwin.sh installperl mg.c pod/perlfaq3.pod t/op/stat.t + ! util.c +____________________________________________________________________________ +[ 4716] By: gsar on 1999/12/28 02:40:51 + Log: tweak to show up db-linked-with-libpthread-but-not-perl problem + (from Andy Dougherty) + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4715] By: gsar on 1999/12/28 02:38:44 + Log: better variant of change#4644 (from Andy Dougherty) + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4714] By: gsar on 1999/12/28 02:36:40 + Log: be defensive about setting {host,group,pass}cat (from Andy Dougherty) + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4713] By: gsar on 1999/12/28 02:35:15 + Log: $sitelib should be $prefix/lib/perl5/site_perl, as documented in + INSTALL (from Andy Dougherty) + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4712] By: gsar on 1999/12/28 02:30:55 + Log: avoid creating new files during make install + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4711] By: gsar on 1999/12/28 02:24:44 + Log: pod edits from Paul Marquess and Mark-Jason Dominus + Branch: perl + ! AUTHORS Changes ext/DynaLoader/dl_aix.xs + ! ext/DynaLoader/dl_dlopen.xs lib/Net/Ping.pm pod/perlcall.pod + ! pod/perldelta.pod +____________________________________________________________________________ +[ 4710] By: gsar on 1999/12/28 02:05:23 + Log: miniperl build fixes for os2 (from Yitzchak Scott-Thoennes + ); add explicit target for opmini.o + Branch: perl + ! Makefile.SH cygwin/Makefile.SHs os2/Makefile.SHs +____________________________________________________________________________ +[ 4709] By: gsar on 1999/12/28 01:20:39 + Log: partly fix perldiag regressions identified by Tom Christiansen + Branch: perl + ! doio.c lib/diagnostics.pm pod/perldiag.pod pp_hot.c pp_sys.c + ! t/pragma/warn/4lint t/pragma/warn/doio t/pragma/warn/pp_hot + ! t/pragma/warn/pp_sys +____________________________________________________________________________ +[ 4708] By: gsar on 1999/12/27 23:33:24 + Log: update perldiag for change#4707 + Branch: perl + ! perl.c pod/perldiag.pod +____________________________________________________________________________ +[ 4707] By: gsar on 1999/12/27 23:23:39 + Log: allow spaces in -I switch argument + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 4706] By: gsar on 1999/12/26 23:44:53 + Log: fix typos + Branch: utfperl + ! sv.h toke.c +____________________________________________________________________________ +[ 4705] By: gsar on 1999/12/24 04:02:35 + Log: support for v5.5.640 style version numbers + Branch: utfperl + ! configpm embedvar.h gv.c intrpvar.h objXSUB.h patchlevel.h + ! perl.c perl.h pp_ctl.c sv.c sv.h t/comp/require.t toke.c +____________________________________________________________________________ +[ 4704] By: gsar on 1999/12/23 08:54:27 + Log: bring in basic threads stuff under USE_ITHREADS + Branch: perl + ! makedef.pl op.c perl.c perl.h perlvars.h pp_sys.c thread.h + ! util.c +____________________________________________________________________________ +[ 4703] By: gsar on 1999/12/23 00:10:06 + Log: integrate mainline contents into utfperl + Branch: utfperl + !> (integrate 33 files) +____________________________________________________________________________ +[ 4702] By: gsar on 1999/12/20 17:18:23 + Log: virtual directory handling broken on paths with trailing slash + Branch: perl + ! win32/Makefile win32/makefile.mk win32/vdir.h +____________________________________________________________________________ +[ 4701] By: gsar on 1999/12/20 17:09:55 + Log: revert optimization in change#4700 (it appears OPpRUNTIME flag + isn't set for all m/$foo/o) + Branch: perl + ! pp_ctl.c +____________________________________________________________________________ +[ 4700] By: gsar on 1999/12/20 16:28:51 + Log: avoid pp_regcomp() changing optree at run time under USE_*THREADS (or + we have a race on our hands) + Branch: perl + ! pp_ctl.c +____________________________________________________________________________ +[ 4699] By: gsar on 1999/12/20 16:19:00 + Log: pod tweaks + Branch: perl + ! pod/perldelta.pod pod/perlfilter.pod pod/perlopentut.pod +____________________________________________________________________________ +[ 4698] By: gsar on 1999/12/20 07:55:07 + Log: uv_to_utf8() could lose 37th bit on HAS_QUAD platforms + Branch: perl + ! utf8.c +____________________________________________________________________________ +[ 4697] By: gsar on 1999/12/18 01:35:50 + Log: fix from Larry for parsing C<{ 0x1 => 'foo'}> as an + anon hash rather than a block; test case for the same + Branch: perl + ! t/comp/term.t toke.c +____________________________________________________________________________ +[ 4696] By: gsar on 1999/12/17 19:55:03 + Log: leak in change#4694 spotted by Larry + Branch: perl + ! hv.c +____________________________________________________________________________ +[ 4695] By: gsar on 1999/12/17 18:14:11 + Log: test case for change#4694 + Branch: perl + ! t/op/delete.t +____________________________________________________________________________ +[ 4694] By: gsar on 1999/12/17 18:09:08 + Log: delete() should return the value as is, not a copy thereof + Branch: perl + ! hv.c pod/perldelta.pod +____________________________________________________________________________ +[ 4693] By: gsar on 1999/12/17 17:45:58 + Log: fix for C<"\nx\taa\n" =~ /^\S\s+aa$/m> (from Ilya Zakharevich) + Branch: perl + ! regexec.c t/op/re_tests +____________________________________________________________________________ +[ 4692] By: gsar on 1999/12/17 17:41:10 + Log: credits tweak + Branch: perl + ! lib/File/Spec.pm +____________________________________________________________________________ +[ 4691] By: gsar on 1999/12/17 07:12:53 + Log: DynaLoader doesn't build properly when $(DLSRC) changes + (fix suggested by Hans Mulder) + Branch: perl + ! ext/DynaLoader/Makefile.PL +____________________________________________________________________________ +[ 4690] By: gsar on 1999/12/17 06:26:34 + Log: add missing new ops + Branch: perl + ! ext/B/ramblings/runtime.porting +____________________________________________________________________________ +[ 4689] By: gsar on 1999/12/17 06:16:49 + Log: test harness tweak from Hans Mulder + Branch: perl + ! t/TEST +____________________________________________________________________________ +[ 4688] By: gsar on 1999/12/17 06:14:23 + Log: miniperl build fixes for NeXTstep and cygwin (from Hans Mulder + and Lucian CIONCA ) + Branch: perl + ! Makefile.SH cygwin/Makefile.SHs +____________________________________________________________________________ +[ 4687] By: gsar on 1999/12/17 06:06:46 + Log: applied suggested patch with whitespace adjustments + From: Helmut Jarausch + Date: Thu, 16 Dec 1999 08:57:55 +0100 + Message-id: <38589B82.C4668E10@numa1.igpm.rwth-aachen.de> + Subject: Re: [ID 19991215.001] patch 5.005_63: Find::Fill cannot handle / + Branch: perl + ! lib/File/Find.pm +____________________________________________________________________________ +[ 4686] By: gsar on 1999/12/17 05:48:53 + Log: avoid warnings due to symbols unintroduced by XSLoader (spotted + by Hans Mulder) + Branch: perl + ! ext/DynaLoader/dl_dld.xs ext/DynaLoader/dl_hpux.xs + ! ext/DynaLoader/dl_mpeix.xs ext/DynaLoader/dl_next.xs + ! ext/DynaLoader/dl_rhapsody.xs +____________________________________________________________________________ +[ 4685] By: gsar on 1999/12/17 05:37:51 + Log: fix bug when one of the operands is +0E+0 (from Ronald J Kimball + ) + Branch: perl + ! lib/Math/BigFloat.pm t/lib/bigfltpm.t +____________________________________________________________________________ +[ 4684] By: gsar on 1999/12/16 09:32:48 + Log: spell out how to get 4-digit year (from Micheal G Schwern + ) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4683] By: gsar on 1999/12/16 09:26:53 + Log: type mismatch for %c format argument (spotted by Robin Barker + ) + Branch: perl + ! regcomp.c +____________________________________________________________________________ +[ 4682] By: gsar on 1999/12/16 08:33:28 + Log: mingw32 doesn't have anonymous union (from Benjamin Stuhl + ) + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4681] By: gsar on 1999/12/16 08:31:15 + Log: missing backslash (spotted by Johan Vromans) + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 4680] By: gsar on 1999/12/16 08:26:00 + Log: avoid coredump on diagnostics when STDERR is closed + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 4679] By: gsar on 1999/12/12 18:09:41 + Log: integrate mainline changes + Branch: utfperl + +> (branch 39 files) + - lib/unicode/Jamo-2.txt lib/unicode/Unicode.html + - lib/unicode/UnicodeData-Latest.txt + !> (integrate 447 files) +____________________________________________________________________________ +[ 4678] By: gsar on 1999/12/10 01:39:13 + Log: interpreter structure should be nulled under -DMULTIPLICITY + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 4677] By: gsar on 1999/12/09 11:10:27 + Log: update Changes + Branch: perl + ! Changes + +---------------- +Version 5.005_63 +---------------- + +____________________________________________________________________________ +[ 4676] By: gsar on 1999/12/09 10:51:43 + Log: fix File::Find testsuite bugs in symlink-less places + Branch: perl + ! t/lib/filefind.t +____________________________________________________________________________ +[ 4675] By: gsar on 1999/12/09 10:22:31 + Log: USE_ITHREADS tweaks and notes + Branch: perl + ! op.c pod/perldelta.pod sv.c +____________________________________________________________________________ +[ 4674] By: gsar on 1999/12/09 10:21:53 + Log: allow new style sort subs to work under usethreads + Branch: perl + ! pp_ctl.c +____________________________________________________________________________ +[ 4673] By: gsar on 1999/12/09 04:00:23 + Log: document compatibility issue with literal list slices and NOTOP + (C is now a syntax error) + Branch: perl + ! pod/perldelta.pod +____________________________________________________________________________ +[ 4672] By: gsar on 1999/12/09 01:14:46 + Log: avoid mismatched expectation <-> int types for C++ builds + Branch: perl + ! embed.pl intrpvar.h proto.h toke.c +____________________________________________________________________________ +[ 4671] By: gsar on 1999/12/09 00:36:24 + Log: newer version of File::Find with support for following symlinks and + other features, from Helmut Jarausch + Branch: perl + ! lib/File/Find.pm pod/perldelta.pod t/lib/filefind.t +____________________________________________________________________________ +[ 4670] By: gsar on 1999/12/09 00:13:06 + Log: avoid initializing GvCV slot for autovivified filehandles + Branch: perl + ! pp.c +____________________________________________________________________________ +[ 4669] By: gsar on 1999/12/08 19:09:27 + Log: apply change#4618 again along with Ilya's patch to fix bugs + in it (see change#4622) + Branch: perl + ! embed.h embed.pl perl.h proto.h regcomp.c regcomp.h regexec.c + ! t/op/re_tests t/op/subst.t +____________________________________________________________________________ +[ 4668] By: gsar on 1999/12/08 18:56:53 + Log: patch to fix parser bug in C<${h{${a[0]}}} = 13> + From: Larry Wall + Date: Tue, 7 Dec 1999 12:39:30 -0800 (PST) + Message-Id: <199912072039.MAA13257@kiev.wall.org> + Subject: Re: [ID 19991204.002] Inconsistency of ${hash{key}} + Branch: perl + ! embedvar.h intrpvar.h objXSUB.h sv.c toke.c +____________________________________________________________________________ +[ 4667] By: gsar on 1999/12/08 18:47:37 + Log: patch to fix aix hints from ortmann@vnet.ibm.com + Branch: perl + ! hints/aix.sh +____________________________________________________________________________ +[ 4666] By: gsar on 1999/12/08 18:29:02 + Log: documentation tweaks from M. J. T. Guy, Micheal Schwern, and + Tim Meadowcroft + Branch: perl + ! Changes lib/Benchmark.pm pod/perlipc.pod pod/perlre.pod +____________________________________________________________________________ +[ 4665] By: gsar on 1999/12/08 02:22:31 + Log: introduce save_I8() for saving byte values + Branch: perl + ! embed.h embed.pl global.sym objXSUB.h perlapi.c proto.h + ! regcomp.c regexec.c scope.c scope.h sv.c +____________________________________________________________________________ +[ 4664] By: gsar on 1999/12/08 02:02:33 + Log: use SAVEINT() rather than SAVEDESTRUCTOR() for saving PL_expect etc. + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4663] By: gsar on 1999/12/08 01:11:44 + Log: longstanding typo in lexer: PL_lex_expect was not properly + saved on reentry + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4662] By: gsar on 1999/12/07 23:16:21 + Log: typos in change#4546 + Branch: perl + ! ext/B/B.xs ext/B/B/Bytecode.pm ext/B/B/C.pm sv.c +____________________________________________________________________________ +[ 4661] By: gsar on 1999/12/07 09:33:50 + Log: typos in change#4660 + Branch: perl + ! embed.h embed.pl objXSUB.h perl.h perlapi.c pp_sys.c proto.h +____________________________________________________________________________ +[ 4660] By: gsar on 1999/12/06 23:42:55 + Log: tweaks for building with -DUSE_ITHREADS on !WIN32 platforms; + fix bug where lc($readonly) could result in bogus errors + Branch: perl + ! embed.h embed.pl iperlsys.h makedef.pl objXSUB.h perlapi.c + ! pp.c pp_sys.c proto.h sv.c +____________________________________________________________________________ +[ 4659] By: gsar on 1999/12/06 15:24:31 + Log: allow IRIX 6.5 to build perl (from Helmut Jarausch + ) + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 4658] By: gsar on 1999/12/06 15:18:30 + Log: fix for -Dp via $^D (suggested by Stephane Payrard + ) + Branch: perl + ! mg.c +____________________________________________________________________________ +[ 4657] By: gsar on 1999/12/06 06:50:01 + Log: change#4641 needs perldiag.pod edit + Branch: perl + - lib/unicode/UnicodeData-Latest.txt + ! pod/perldiag.pod +____________________________________________________________________________ +[ 4656] By: gsar on 1999/12/06 01:36:56 + Log: Makefile tweak for change#4649 + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4655] By: gsar on 1999/12/05 17:23:57 + Log: change#4653 was missing a patch reject + Branch: perl + ! win32/makefile.mk +____________________________________________________________________________ +[ 4654] By: gsar on 1999/12/05 11:41:04 + Log: windows build tweaks for Borland compiler + Branch: perl + ! win32/makefile.mk win32/perlhost.h win32/win32.c win32/win32.h +____________________________________________________________________________ +[ 4653] By: gsar on 1999/12/05 11:07:37 + Log: applied somewhat modified version of suggested patch + From: "Benjamin Stuhl" + Date: Thu, 18 Nov 1999 18:45:27 PST + Message-ID: <19991119024527.72749.qmail@hotmail.com> + Subject: [PATCH 5.005_62] Perl on Win95, Mark IIB + Branch: perl + + win32/PerlCRT.def win32/gstartup.c win32/oldnames.def + ! MANIFEST ext/SDBM_File/Makefile.PL lib/ExtUtils/MM_Unix.pm + ! lib/ExtUtils/MM_Win32.pm win32/config_sh.PL win32/genmk95.pl + ! win32/makefile.mk win32/win32.h +____________________________________________________________________________ +[ 4652] By: gsar on 1999/12/05 09:24:45 + Log: From: Mike Hopkirk (hops) + Date: Thu, 4 Nov 1999 16:34:23 -0800 (PST) + Message-Id: <199911050034.QAA06499@scoot.pdev.sco.com> + Subject: [ID 19991104.005] modified hints file for UnixWare7 ( svr5) + Branch: perl + ! Changes hints/svr5.sh +____________________________________________________________________________ +[ 4651] By: gsar on 1999/12/05 09:01:19 + Log: on dosish platforms, avoid infinite recursion in File::Path::mkpath() + when given non-existent drive names + Branch: perl + ! lib/File/Path.pm +____________________________________________________________________________ +[ 4650] By: gsar on 1999/12/05 08:47:11 + Log: windows build tweaks for change#4649 + Branch: perl + ! win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4649] By: gsar on 1999/12/05 07:49:28 + Log: make File::Glob::glob() the default for CORE::glob() + (old csh glob can still be had with -DPERL_EXTERNAL_GLOB) + Branch: perl + ! Makefile.SH op.c pod/perldelta.pod win32/Makefile + ! win32/makefile.mk +____________________________________________________________________________ +[ 4648] By: gsar on 1999/12/05 00:33:34 + Log: fix bug in processing L<> tags (from j.vavruska@post.cz) + Branch: perl + ! lib/Pod/Html.pm +____________________________________________________________________________ +[ 4647] By: gsar on 1999/12/05 00:14:01 + Log: remove outdated entry + Branch: perl + ! pod/perltrap.pod +____________________________________________________________________________ +[ 4646] By: gsar on 1999/12/04 22:48:51 + Log: s/block/loop block/ in diagnostics about next, last, redo + Branch: perl + ! pod/perldiag.pod pp_ctl.c t/op/runlevel.t t/pragma/warn/pp_ctl +____________________________________________________________________________ +[ 4645] By: gsar on 1999/12/04 22:25:32 + Log: readability tweak suggested by GRommel@sears.com + Branch: perl + ! pp.c +____________________________________________________________________________ +[ 4644] By: gsar on 1999/12/04 22:05:00 + Log: Configure tweak from Peter Prymmer + Branch: perl + ! Configure +____________________________________________________________________________ +[ 4643] By: gsar on 1999/12/04 21:55:27 + Log: make weak keyword check look for defined(&lock), not + merely defined(*lock) + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4642] By: gsar on 1999/12/04 21:11:51 + Log: make eof() open ARGV if it isn't open already; also fixes bug + where eof() would operate on any last-read filehandle, not + just ARGV + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 4641] By: gsar on 1999/12/04 04:42:25 + Log: make uninitialized value warnings report opcode + Branch: perl + ! doio.c embed.h embed.pl global.sym objXSUB.h opcode.h + ! opcode.pl perl.h perlapi.c pp.c pp_hot.c proto.h sv.c + ! t/op/misc.t t/pragma/warn/1global t/pragma/warn/2use + ! t/pragma/warn/3both t/pragma/warn/4lint t/pragma/warn/7fatal + ! t/pragma/warn/doio t/pragma/warn/pp t/pragma/warn/pp_hot + ! t/pragma/warn/sv +____________________________________________________________________________ +[ 4640] By: gsar on 1999/12/04 02:40:44 + Log: provide explicit functions timegm_nocheck() and timelocal_nocheck() + that don't do range checking + Branch: perl + ! lib/Time/Local.pm +____________________________________________________________________________ +[ 4639] By: gsar on 1999/12/04 01:00:49 + Log: better implementation of change#3326; open(local $foo,...) now + allowed in addition to any uninitialized variable, for consistency + with how autovivification works elsewhere; add code to use the + variable name as the name of the handle for simple variables, so + that diagnostics report the handle: "... at - line 1, <$foo> line 10." + Branch: perl + ! op.c pod/perldelta.pod pp.c t/io/open.t +____________________________________________________________________________ +[ 4638] By: gsar on 1999/12/03 21:20:00 + Log: pod nits + Branch: perl + ! pod/perlfunc.pod pod/perlrun.pod +____________________________________________________________________________ +[ 4637] By: gsar on 1999/12/03 08:59:04 + Log: change#4431 was flawed + Branch: perl + ! Makefile.SH +____________________________________________________________________________ +[ 4636] By: gsar on 1999/12/03 07:59:52 + Log: pod embellishments from Nathan Torkington + Branch: perl + ! pod/perlfaq2.pod pod/perlhack.pod +____________________________________________________________________________ +[ 4635] By: gsar on 1999/12/03 07:56:04 + Log: perlfaq4 typo (from Jeff Pinyan ) + Branch: perl + ! pod/perlfaq4.pod +____________________________________________________________________________ +[ 4634] By: gsar on 1999/12/03 07:47:47 + Log: test tweak for VMS (from Craig A. Berry) + Branch: perl + ! t/io/nargv.t +____________________________________________________________________________ +[ 4633] By: gsar on 1999/12/03 07:44:52 + Log: patchls tweak from Andreas Koenig + Branch: perl + ! Porting/patchls +____________________________________________________________________________ +[ 4632] By: gsar on 1999/12/03 07:42:23 + Log: don't mess with the umask() + Branch: perl + ! installhtml installman installperl lib/ExtUtils/Install.pm + ! lib/ExtUtils/Manifest.pm +____________________________________________________________________________ +[ 4631] By: gsar on 1999/12/03 06:52:50 + Log: support -a switch to append bytecode to an existing file and make + perlcc use it (from Tom Hughes ) + Branch: perl + ! ext/B/B/Bytecode.pm utils/perlcc.PL +____________________________________________________________________________ +[ 4630] By: gsar on 1999/12/03 06:46:16 + Log: document incompatible perl4 vec() vs bitwise ops interaction trap + (from Tom Phoenix) + Branch: perl + ! pod/perltrap.pod +____________________________________________________________________________ +[ 4629] By: gsar on 1999/12/03 06:40:15 + Log: use PerlIO abstraction rather than straight stdio (from + Chip Salzenberg) + Branch: perl + ! ext/ByteLoader/ByteLoader.xs +____________________________________________________________________________ +[ 4628] By: gsar on 1999/12/03 06:15:54 + Log: avoid warning in IO::Select::exists() if socket doesn't exist + Branch: perl + ! ext/IO/lib/IO/Select.pm +____________________________________________________________________________ +[ 4627] By: gsar on 1999/12/03 06:05:19 + Log: two small patches from Peter Prymmer + Branch: perl + ! makedepend.SH win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4626] By: gsar on 1999/12/03 05:36:38 + Log: From: Peter Prymmer + Date: Thu, 25 Nov 1999 21:06:19 -0800 (PST) + Message-Id: <199911260506.VAA17230@brio.forte.com> + Subject: [PATCH: 5.005_62] implement /[:ascii:]/ on ebcdic machines + Branch: perl + ! regcomp.c +____________________________________________________________________________ +[ 4625] By: gsar on 1999/12/03 05:20:21 + Log: Windows build tweaks due to change#4623 + Branch: perl + ! win32/Makefile win32/makefile.mk win32/perlhost.h +____________________________________________________________________________ +[ 4624] By: gsar on 1999/12/03 04:58:30 + Log: add missing file + Branch: perl + + ext/DynaLoader/XSLoader_pm.PL +____________________________________________________________________________ +[ 4623] By: gsar on 1999/12/03 04:47:03 + Log: applied suggested patch; removed $VERSION = $VERSION hack + (change#4043 fixed the need for that) + From: Ilya Zakharevich + Date: Tue, 16 Nov 1999 01:50:31 EST + Message-Id: <199911160650.BAA18874@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_62] XSLoader.pm + Branch: perl + ! MANIFEST ext/B/B.pm ext/ByteLoader/ByteLoader.pm + ! ext/DB_File/DB_File.pm ext/Data/Dumper/Dumper.pm + ! ext/Devel/DProf/DProf.pm ext/Devel/Peek/Peek.pm + ! ext/DynaLoader/DynaLoader_pm.PL ext/DynaLoader/Makefile.PL + ! ext/DynaLoader/dlutils.c ext/Fcntl/Fcntl.pm + ! ext/File/Glob/Glob.pm ext/GDBM_File/GDBM_File.pm ext/IO/IO.pm + ! ext/NDBM_File/NDBM_File.pm ext/ODBM_File/ODBM_File.pm + ! ext/Opcode/Opcode.pm ext/POSIX/POSIX.pm + ! ext/SDBM_File/SDBM_File.pm ext/Socket/Socket.pm + ! ext/Thread/Thread.pm ext/attrs/attrs.pm ext/re/re.pm + ! lib/AutoLoader.pm lib/FindBin.pm lib/Getopt/Std.pm +____________________________________________________________________________ +[ 4622] By: gsar on 1999/12/03 04:02:39 + Log: revert change#4618 (breaks C<$_ = 'A:B'; s/^[a-z]:/x/>) + Branch: perl + ! Changes embed.h embed.pl perl.h proto.h regcomp.c regcomp.h +____________________________________________________________________________ +[ 4621] By: gsar on 1999/12/02 22:24:53 + Log: caveat about thread-safety of extensions + Branch: perl + ! pod/perlfork.pod +____________________________________________________________________________ +[ 4620] By: gsar on 1999/12/02 20:31:02 + Log: XS documentation patches suggested by Ilya, severally adjusted + Branch: perl + ! pod/perlxs.pod pod/perlxstut.pod +____________________________________________________________________________ +[ 4619] By: gsar on 1999/12/02 17:52:50 + Log: re-add missing Unicode database master + Branch: perl + + lib/unicode/Unicode.300 +____________________________________________________________________________ +[ 4618] By: gsar on 1999/12/02 06:56:18 + Log: applied suggested patch with prototype changes + From: Ilya Zakharevich + Date: Tue, 23 Nov 1999 22:55:55 EST + Message-Id: <199911240355.WAA23033@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_62] First char cognizance + Branch: perl + ! embed.h embed.pl perl.h proto.h regcomp.c regcomp.h +____________________________________________________________________________ +[ 4617] By: gsar on 1999/12/02 06:04:57 + Log: fixes for bugs in change#4586 and OS/2 pod tweak, from Ilya + Branch: perl + ! os2/OS2/REXX/REXX.pm regexec.c t/op/re_tests +____________________________________________________________________________ +[ 4616] By: gsar on 1999/12/02 04:30:22 + Log: various documentation tweaks suggested by M. J. T. Guy + Branch: perl + ! INSTALL lib/strict.pm pod/perlfunc.pod pod/perlsyn.pod +____________________________________________________________________________ +[ 4615] By: gsar on 1999/12/02 04:17:43 + Log: various File::Glob fixes for DOSISH platforms + From: "Moore, Paul" + Date: Tue, 02 Nov 1999 11:11:25 GMT + Message-Id: <714DFA46B9BBD0119CD000805FC1F53BDC38E3@UKRUX002.rundc.uk.origin-it.com> + Subject: File::Glob again. Final patch, honest! + Branch: perl + + t/lib/glob-case.t + ! MANIFEST ext/File/Glob/Changes ext/File/Glob/Glob.pm + ! ext/File/Glob/Glob.xs ext/File/Glob/bsd_glob.c + ! ext/File/Glob/bsd_glob.h op.c t/lib/glob-global.t +____________________________________________________________________________ +[ 4614] By: gsar on 1999/12/02 03:42:55 + Log: allow XSUBs and prototyped subroutines to be used with sort() (tweaked + variant of patch suggested by Peter Haworth ) + Branch: perl + ! pod/perldelta.pod pod/perlfunc.pod pp_ctl.c t/op/sort.t +____________________________________________________________________________ +[ 4613] By: gsar on 1999/12/02 01:59:19 + Log: ignore yet another known scalar leak + Branch: perl + ! t/pragma/warn/regcomp +____________________________________________________________________________ +[ 4612] By: gsar on 1999/12/02 01:15:02 + Log: avoid potential stack extension bug in pp_unpack() (spotted by Ilya) + Branch: perl + ! pp.c +____________________________________________________________________________ +[ 4611] By: gsar on 1999/12/02 00:31:43 + Log: a somewhat tweaked version of suggested patch + From: Ilya Zakharevich + Date: Wed, 27 Oct 1999 18:57:41 -0400 (EDT) + Message-Id: <199910272257.SAA29928@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_62] Another round of pack/vec docs patches + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4610] By: gsar on 1999/12/01 19:09:31 + Log: more accurate require() pseudocode (from James P. Williams + ) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4609] By: gsar on 1999/12/01 18:43:49 + Log: avoid "Callback called exit" error on intentional exit() + Branch: perl + ! embedvar.h intrpvar.h objXSUB.h perl.c perl.h pp_ctl.c +____________________________________________________________________________ +[ 4608] By: gsar on 1999/12/01 18:42:38 + Log: find_byclass() prototype was incoherent + Branch: perl + ! regexec.c +____________________________________________________________________________ +[ 4607] By: gsar on 1999/12/01 05:45:10 + Log: better documentation for goto &NAME (from M. J. T. Guy) + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4606] By: gsar on 1999/12/01 05:33:14 + Log: integrate cfgperl contents into mainline + Branch: perl + +> lib/unicode/Jamo.txt lib/unicode/NamesList.html + +> lib/unicode/UCD300.html lib/unicode/Unicode3.html + - lib/unicode/Jamo-2.txt lib/unicode/Unicode.html + ! Changes + !> (integrate 210 files) +____________________________________________________________________________ +[ 4605] By: gsar on 1999/12/01 05:15:27 + Log: avoid PTR->IV cast warnings + Branch: perl + ! mg.c op.c scope.h +____________________________________________________________________________ +[ 4604] By: gsar on 1999/12/01 03:59:56 + Log: email address changes + Branch: perl + ! AUTHORS Changes Porting/genlog Porting/p4d2p Porting/p4desc + ! README.win32 ext/Data/Dumper/Dumper.pm lib/DB.pm + ! lib/File/DosGlob.pm lib/Math/Complex.pm lib/Math/Trig.pm + ! pod/perl5005delta.pod pod/perlport.pod t/op/runlevel.t + ! utils/perlbug.PL utils/perldoc.PL win32/bin/perlglob.pl +____________________________________________________________________________ +[ 4603] By: gsar on 1999/12/01 03:45:13 + Log: minor USE_ITHREADS tweaks + Branch: perl + ! doio.c op.c op.h pp_hot.c pp_sys.c run.c win32/Makefile + ! win32/perllib.c win32/win32.h +____________________________________________________________________________ +[ 4602] By: gsar on 1999/12/01 01:00:09 + Log: more complete pseudo-fork() support for Windows + Branch: perl + + pod/perlfork.pod win32/perlhost.h win32/vdir.h win32/vmem.h + ! MANIFEST XSUB.h cop.h dump.c embed.h embed.pl embedvar.h + ! ext/B/B/CC.pm ext/Opcode/Opcode.xs global.sym globals.c + ! globvar.sym gv.c hv.c intrpvar.h iperlsys.h makedef.pl mg.c + ! mpeix/mpeixish.h objXSUB.h op.c op.h os2/os2ish.h perl.c + ! perl.h perlapi.c plan9/plan9ish.h pod/Makefile pod/buildtoc + ! pod/perl.pod pod/roffitall pp.c pp_ctl.c pp_hot.c pp_sys.c + ! proto.h regcomp.c run.c scope.c scope.h sv.c t/op/fork.t + ! toke.c unixish.h util.c vos/vosish.h win32/Makefile + ! win32/makefile.mk win32/perllib.c win32/win32.c win32/win32.h + ! win32/win32iop.h win32/win32thread.h +____________________________________________________________________________ +[ 4601] By: gsar on 1999/12/01 00:45:38 + Log: rudimentary support for remote debugging, from aeons ago (somewhat + modified) + From: Graham TerMarsch + Date: Sat, 12 Sep 1998 10:46:55 -0700 + Message-ID: <35FAB38F.EA9AAC50@activestate.com> + Subject: Re: Patches to perl5db.pl to allow for remote debugging + Branch: perl + ! lib/perl5db.pl +____________________________________________________________________________ +[ 4600] By: chip on 1999/11/19 21:16:00 + Log: Document known limitations of fdopen() on some systems, + as they apply to open() and sysopen(). + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4599] By: chip on 1999/11/19 17:20:19 + Log: Undef printf before redirecting it to PerlIO_stdoutf. + (Avoids an irritating warning when compiling with PerlIO.) + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 4598] By: jhi on 1999/11/22 21:30:17 + Log: Small VMS nits from Craig A. Berry, . + Branch: cfgperl + ! README.vms t/io/open.t +____________________________________________________________________________ +[ 4597] By: jhi on 1999/11/21 16:21:21 + Log: Replace #4596 with the change done in 5.005_03. + Branch: cfgperl + ! ext/Errno/Errno_pm.PL +____________________________________________________________________________ +[ 4596] By: jhi on 1999/11/21 16:07:20 + Log: Skip processing a file if the file to be opened is '-' + (can happen in UNICOS) + Branch: cfgperl + ! ext/Errno/Errno_pm.PL +____________________________________________________________________________ +[ 4595] By: jhi on 1999/11/21 14:05:10 + Log: VMS patches from Peter Prymmer. + Branch: cfgperl + ! doio.c mg.c taint.c vms/subconfigure.com vms/vms.c +____________________________________________________________________________ +[ 4594] By: jhi on 1999/11/18 17:07:14 + Log: The find_byclass prototype is already in proto.h. + Branch: cfgperl + ! regexec.c +____________________________________________________________________________ +[ 4593] By: gsar on 1999/11/16 21:25:21 + Log: typo in flag checks + Branch: utfperl + ! sv.h +____________________________________________________________________________ +[ 4592] By: jhi on 1999/11/16 21:17:25 + Log: Regen Configure. + Branch: cfgperl + ! Configure config_h.SH pp.c pp.h vms/subconfigure.com + Branch: metaconfig + ! U/a_dvisory/quadtype.U +____________________________________________________________________________ +[ 4591] By: jhi on 1999/11/16 14:53:19 + Log: Integrate with Sarathy. + Branch: cfgperl + !> cop.h deb.c embed.h embed.pl global.sym lib/Pod/Checker.pm + !> lib/Pod/InputObjects.pm lib/Pod/Parser.pm lib/Pod/Select.pm + !> lib/Pod/Usage.pm makedef.pl objXSUB.h perl.c perlapi.c + !> pod/podchecker.PL pp_sys.c proto.h sv.c t/pod/poderrs.t + !> t/pod/poderrs.xr +____________________________________________________________________________ +[ 4590] By: gsar on 1999/11/16 05:57:56 + Log: Pod::Parser updates (v1.091) from Brad Appleton + Branch: perl + ! lib/Pod/Checker.pm lib/Pod/InputObjects.pm lib/Pod/Parser.pm + ! lib/Pod/Select.pm lib/Pod/Usage.pm pod/podchecker.PL + ! t/pod/poderrs.t t/pod/poderrs.xr +____________________________________________________________________________ +[ 4589] By: gsar on 1999/11/15 18:47:34 + Log: add a synchronous stub fork() for USE_ITHREADS to prove that a simple + C works on + Windows (incidentally running a cloned^2 interpreter :) + Branch: perl + ! embed.h embed.pl global.sym makedef.pl objXSUB.h perlapi.c + ! pp_sys.c proto.h sv.c +____________________________________________________________________________ +[ 4588] By: gsar on 1999/11/15 14:34:36 + Log: cloning the stack (part 1) + Branch: perl + ! cop.h deb.c perl.c sv.c +____________________________________________________________________________ +[ 4587] By: jhi on 1999/11/15 00:22:20 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes embed.h embed.pl embedvar.h global.sym intrpvar.h + !> makedef.pl objXSUB.h op.c perl.h perlapi.c proto.h run.c sv.c + !> win32/perllib.c +____________________________________________________________________________ +[ 4586] By: jhi on 1999/11/14 21:17:26 + Log: Ilya's "hopscotch" patch, reworked by Ilya to fit. + Branch: cfgperl + ! embed.h embed.pl embedvar.h proto.h regexec.c t/op/re_tests +____________________________________________________________________________ +[ 4585] By: gsar on 1999/11/14 20:01:45 + Log: tweak for win32 build + Branch: perl + ! embed.h embed.pl op.c proto.h +____________________________________________________________________________ +[ 4584] By: gsar on 1999/11/14 19:46:25 + Log: cosmetic tweaks + Branch: perl + ! embed.h embed.pl embedvar.h global.sym intrpvar.h makedef.pl + ! objXSUB.h perl.h perlapi.c proto.h sv.c win32/perllib.c +____________________________________________________________________________ +[ 4583] By: gsar on 1999/11/14 17:38:32 + Log: fix problem pointer casts + Branch: perl + ! Changes run.c sv.c +____________________________________________________________________________ +[ 4582] By: jhi on 1999/11/14 17:10:01 + Log: Integrate with Sarathy. + Branch: cfgperl + !> cop.h dump.c ext/Opcode/Opcode.xs gv.c op.c perl.c perly.c + !> perly.y pp_ctl.c pp_sys.c sv.c t/op/misc.t toke.c util.c + !> vms/perly_c.vms win32/perllib.c +____________________________________________________________________________ +[ 4581] By: jhi on 1999/11/14 17:08:23 + Log: The separation of 64-bitness and largefileness continues + (with a setback, see hpux.sh). + Branch: cfgperl + ! Configure MANIFEST config_h.SH hints/aix.sh hints/hpux.sh + ! hints/solaris_2.sh + Branch: metaconfig + ! U/threads/archname.U U/typedefs/lseektype.U + Branch: metaconfig/U/perl + ! fpossize.U use64bits.U uselfs.U +____________________________________________________________________________ +[ 4580] By: jhi on 1999/11/14 13:26:41 + Log: Another Unicode update. + Branch: cfgperl + + lib/unicode/Jamo.txt lib/unicode/NamesList.html + + lib/unicode/UCD300.html lib/unicode/Unicode3.html + - lib/unicode/Jamo-2.txt lib/unicode/Unicode.html + ! (edit 189 files) +____________________________________________________________________________ +[ 4579] By: gsar on 1999/11/14 10:21:49 + Log: sundry cleanups for cloned interpreters (only known failure mode + is due to regexps keeping non-constant data in their compiled + structures) + Branch: perl + ! cop.h dump.c ext/Opcode/Opcode.xs gv.c op.c perl.c pp_ctl.c + ! pp_sys.c sv.c toke.c util.c win32/perllib.c +____________________________________________________________________________ +[ 4578] By: gsar on 1999/11/14 03:37:37 + Log: fix bug in change#4515 (STOP blocks now see @ARGV like the rest) + Branch: perl + ! perly.c perly.y t/op/misc.t vms/perly_c.vms +____________________________________________________________________________ +[ 4577] By: jhi on 1999/11/13 19:50:24 + Log: Change #4576 accidentally leaked also parts of + Ilya's patch that won't apply cleanly anymore. + Branch: cfgperl + ! regexec.c t/op/re_tests +____________________________________________________________________________ +[ 4576] By: jhi on 1999/11/13 19:43:37 + Log: Integrate with Sarathy. + Branch: cfgperl + ! embed.h embed.pl embedvar.h proto.h regexec.c t/op/re_tests + !> ext/Errno/Errno_pm.PL ext/IO/lib/IO/Socket.pm t/lib/dumper.t + !> t/op/regexp.t t/pragma/overload.t +____________________________________________________________________________ +[ 4575] By: gsar on 1999/11/13 19:41:46 + Log: typos in change#4561 and change#4565 + Branch: perl + ! ext/Errno/Errno_pm.PL ext/IO/lib/IO/Socket.pm +____________________________________________________________________________ +[ 4574] By: gsar on 1999/11/13 19:31:19 + Log: revert non-kosher parts of change#4562 (sort order problems + should be ignored (on ebcdic) by fixing dumper.t/T() to sort + result and expected lines; /[:ascii:]/ not working should be + fixed, not ignored in regexp.t; result from sort should be + fixed to be ascii portable on ebcdic, not ebcdic-specific) + Branch: perl + ! t/lib/dumper.t t/op/regexp.t t/pragma/overload.t +____________________________________________________________________________ +[ 4573] By: gsar on 1999/11/13 19:13:04 + Log: integrate cfgperl changes into mainline + Branch: perl + +> lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl + +> lib/unicode/In/BopomofoExtended.pl + +> lib/unicode/In/BraillePatterns.pl + +> lib/unicode/In/CJKRadicalsSupplement.pl + +> lib/unicode/In/CJKUnifiedIdeographsExtensionA.pl + +> lib/unicode/In/Cherokee.pl + +> lib/unicode/In/IdeographicDescriptionCharacters.pl + +> lib/unicode/In/KangxiRadicals.pl lib/unicode/In/Khmer.pl + +> lib/unicode/In/Mongolian.pl lib/unicode/In/Myanmar.pl + +> lib/unicode/In/Ogham.pl lib/unicode/In/Runic.pl + +> lib/unicode/In/Sinhala.pl lib/unicode/In/Syriac.pl + +> lib/unicode/In/Thaana.pl + +> lib/unicode/In/UnifiedCanadianAboriginalSyllabics.pl + +> lib/unicode/In/YiRadicals.pl lib/unicode/In/YiSyllables.pl + - lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + !> (integrate 213 files) +____________________________________________________________________________ +[ 4572] By: jhi on 1999/11/13 18:44:50 + Log: From: "Craig A. Berry" + To: perl5-porters@perl.org, VMSPERL@perl.org + Subject: [PATCH 5.005_03 and 5.005_62] updates to README.vms + Date: Wed, 27 Oct 1999 11:02:54 -0500 + Message-Id: <4.2.0.58.19991027105257.00addc10@mmtnt11.metamor.com> + Branch: cfgperl + ! README.vms +____________________________________________________________________________ +[ 4571] By: jhi on 1999/11/13 18:33:39 + Log: From: jand@activestate.com (Jan Dubois) + To: perl5-porters@perl.org, Perl-Win32-Porters@activestate.com + Cc: Douglas Lankshear , + Gurusamy Sarathy + Subject: [5.005_62 PATCH] support link() on WinNT and NTFS + Date: Tue, 09 Nov 1999 00:38:33 +0100 + Message-ID: <382b5d24.10899522@smtprelay.t-online.de> + Branch: cfgperl + ! XSUB.h iperlsys.h pp_sys.c t/io/fs.t win32/config.bc + ! win32/config.gc win32/config.vc win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/perllib.c + ! win32/win32.c win32/win32iop.h +____________________________________________________________________________ +[ 4570] By: jhi on 1999/11/13 18:30:37 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] makedef.pl goof + Date: Mon, 8 Nov 1999 23:55:21 -0500 (EST) + Message-Id: <199911090455.XAA25627@monk.mps.ohio-state.edu> + Branch: cfgperl + ! makedef.pl +____________________________________________________________________________ +[ 4569] By: jhi on 1999/11/13 18:06:54 + Log: From: Michael G Schwern + To: perl5-porters@perl.org, pod-people@perl.org + Cc: tchrist@mox.perl.com, gnat@frii.com + Subject: [DOCPATCH 5.005_62 perlfaq9.pod] Mention HTML::FormatText + Date: Wed, 10 Nov 1999 17:21:46 -0500 + Message-ID: <19991110172146.A23527@athens.aocn.com> + Branch: cfgperl + ! pod/perlfaq9.pod +____________________________________________________________________________ +[ 4568] By: jhi on 1999/11/13 18:05:33 + Log: From: "Paul Moore" + To: + Subject: DynaLoader_pm.PL patch (backslashes in strings) + Date: Wed, 10 Nov 1999 22:52:02 -0000 + Message-ID: + Branch: cfgperl + ! ext/DynaLoader/DynaLoader_pm.PL +____________________________________________________________________________ +[ 4567] By: jhi on 1999/11/13 18:03:52 + Log: From: JD Laub + To: perl5-porters@perl.org + Subject: [ID 19991112.002] patch: Exporter.pm not reporting path + Date: Fri, 12 Nov 1999 08:58:28 -0700 (MST) + Message-Id: <199911121558.IAA08915@mocha.iasi.com> + Branch: cfgperl + ! lib/Exporter/Heavy.pm +____________________________________________________________________________ +[ 4566] By: jhi on 1999/11/13 18:01:24 + Log: From: Bernard Quatermass + To: perl5-porters@perl.org + Subject: small patch for perldoc + Date: Fri, 12 Nov 1999 23:11:43 GMT + Message-Id: + Branch: cfgperl + ! utils/perldoc.PL +____________________________________________________________________________ +[ 4565] By: jhi on 1999/11/13 17:58:54 + Log: From: Scott Gifford + To: perl5-porters@perl.org + Cc: gbarr@pobox.com + Subject: [ID 19991112.004] Bug in IO::Socket (patch included) + Date: 12 Nov 1999 18:55:30 -0500 + Message-Id: + Branch: cfgperl + ! ext/IO/lib/IO/Socket.pm +____________________________________________________________________________ +[ 4564] By: jhi on 1999/11/13 17:45:39 + Log: Applied manually: + From: "Craig A. Berry" + To: perl5-porters@perl.org, VMSPERL@perl.org + Subject: [PATCH 5.005_62] patches required to build on VMS + Date: Tue, 09 Nov 1999 18:16:14 -0600 + Message-Id: <4.2.2.19991109173839.00d12630@mmtnt11.metamor.com> + Branch: cfgperl + ! configure.com vms/descrip_mms.template vms/subconfigure.com + ! vms/vms.c vms/vmsish.h +____________________________________________________________________________ +[ 4563] By: jhi on 1999/11/13 17:18:41 + Log: Regen Unicode tables to include a warning: + Thou Shalt Not Edit Them By Hand; add missing + (Unicode 2.0 -introduced) tables to MANIFEST; + convert the equivalence tables to be valid Perl code. + Branch: cfgperl + + lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl + + lib/unicode/In/BopomofoExtended.pl + + lib/unicode/In/BraillePatterns.pl + + lib/unicode/In/CJKRadicalsSupplement.pl + + lib/unicode/In/CJKUnifiedIdeographsExtensionA.pl + + lib/unicode/In/Cherokee.pl + + lib/unicode/In/IdeographicDescriptionCharacters.pl + + lib/unicode/In/KangxiRadicals.pl lib/unicode/In/Khmer.pl + + lib/unicode/In/Mongolian.pl lib/unicode/In/Myanmar.pl + + lib/unicode/In/Ogham.pl lib/unicode/In/Runic.pl + + lib/unicode/In/Sinhala.pl lib/unicode/In/Syriac.pl + + lib/unicode/In/Thaana.pl + + lib/unicode/In/UnifiedCanadianAboriginalSyllabics.pl + + lib/unicode/In/YiRadicals.pl lib/unicode/In/YiSyllables.pl + - lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + ! (edit 169 files) +____________________________________________________________________________ +[ 4562] By: jhi on 1999/11/13 16:53:00 + Log: From: Peter Prymmer + To: gsar@activestate.com, perl-mvs@perl.org, perlbug@perl.com + Subject: [PATCH: 5.005_62]was Re: [ID 19991102.003] perl on os390 + Date: Wed, 10 Nov 1999 14:34:36 -0800 (PST) + Message-Id: <199911102234.OAA01018@brio.forte.com> + Branch: cfgperl + ! t/lib/dumper.t t/op/pack.t t/op/regexp.t t/pragma/locale.t + ! t/pragma/overload.t +____________________________________________________________________________ +[ 4561] By: jhi on 1999/11/13 16:29:37 + Log: $Config{myarchname} is not a good architecture identifier + because it may contain host/node identification like + CPU serial numbers. + Branch: cfgperl + ! ext/Errno/Errno_pm.PL +____________________________________________________________________________ +[ 4560] By: jhi on 1999/11/13 16:26:13 + Log: Continue largefileness separation from quadness; + move nv-preserving test out of perl.h into Configure; + use HAS_SETVBUF in IO. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ext/IO/IO.xs hints/solaris_2.sh perl.h pp_sys.c + Branch: metaconfig + ! U/a_dvisory/quadtype.U + Branch: metaconfig/U/perl + + nvpresuv.U + ! d_fseeko.U d_ftello.U io64.U perlxv.U +____________________________________________________________________________ +[ 4559] By: jhi on 1999/11/13 13:46:38 + Log: Try to fix largefileness so that it "works" without a quad IV. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h pp_sys.c t/lib/syslfs.t t/op/lfs.t + Branch: metaconfig + ! U/a_dvisory/quadtype.U U/typedefs/lseektype.U + Branch: metaconfig/U/perl + ! io64.U +____________________________________________________________________________ +[ 4558] By: jhi on 1999/11/13 11:36:19 + Log: Undo drift from mainline. + Branch: cfgperl + ! regcomp.c util.c utils/h2xs.PL +____________________________________________________________________________ +[ 4557] By: gsar on 1999/11/13 10:54:46 + Log: typo + Branch: perl + ! util.c +____________________________________________________________________________ +[ 4556] By: gsar on 1999/11/13 10:53:41 + Log: integrate cfgperl contents (op.[ch] needed manual resolve) + Branch: perl + +> epoc/Config.pm epoc/autosplit.pl epoc/createpkg.pl + +> epoc/epoc_stubs.c + !> (integrate 48 files) +____________________________________________________________________________ +[ 4555] By: jhi on 1999/11/13 10:05:54 + Log: Integrate with Sarathy. + Branch: cfgperl + !> dump.c ext/Devel/DProf/DProf.xs gv.c mg.c op.c perl.c pp.c + !> sv.c warnings.h warnings.pl win32/Makefile win32/perllib.c +____________________________________________________________________________ +[ 4554] By: jhi on 1999/11/13 10:03:07 + Log: s/_SIGN$/_sign/g; + Branch: metaconfig + ! U/typedefs/gidsign.U U/typedefs/pidsign.U U/typedefs/uidsign.U +____________________________________________________________________________ +[ 4553] By: gsar on 1999/11/13 02:17:53 + Log: cloned interpreters now actually run and pass all but 55/10386 + subtests; various subtle bugs, new and old, observed when running + cloned interpreters have been fixed + + still to do: + | * dup psig_ptr table + | * merge PADOP GVs support with "our" SVs (existing PADOPs are too + | simple-minded and grab one pad entry each, heavily bloating + | the pad by not avoiding dups) + | * overloaded constants are not really immutable--they need to + | be PADOPs + | * allocator for constants and OPs need to be spelled differently + | (shared vs interpreter-local allocations) + | * optree refcounting is still missing locking (macros are in place) + | * curstackinfo, {mark,scope,save,ret}stack need to be cloned so + | perl_clone() can be called from within runops*() + Branch: perl + ! dump.c ext/Devel/DProf/DProf.xs gv.c mg.c op.c perl.c pp.c + ! sv.c warnings.h warnings.pl win32/Makefile win32/perllib.c +____________________________________________________________________________ +[ 4552] By: jhi on 1999/11/11 23:17:43 + Log: Turn on largefileness always if available and + continue 64-bit fixes. + Branch: cfgperl + ! Configure config_h.SH handy.h hints/aix.sh hints/dec_osf.sh + ! hints/hpux.sh hints/irix_6.sh hints/solaris_2.sh perl.h pp.c + ! sv.c t/lib/syslfs.t t/op/lfs.t utf8.c +____________________________________________________________________________ +[ 4551] By: jhi on 1999/11/11 23:16:15 + Log: Split int64type from i_inttypes, rename quadcase into quadkind. + Branch: metaconfig + ! U/a_dvisory/quadtype.U + Branch: metaconfig/U/perl + + d_int64t.U + ! i_inttypes.U io64.U +____________________________________________________________________________ +[ 4550] By: jhi on 1999/11/11 20:24:55 + Log: Fix a thinko in 4548. + Branch: cfgperl + ! pp_sys.c +____________________________________________________________________________ +[ 4549] By: jhi on 1999/11/11 19:48:21 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 56 files) +____________________________________________________________________________ +[ 4548] By: jhi on 1999/11/11 19:41:56 + Log: Try to do something if st_size, st_uid, st_gid are too big for an IV; + regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH pp_sys.c +____________________________________________________________________________ +[ 4547] By: jhi on 1999/11/11 19:40:38 + Log: s/_SIZE$/_size/g; add sizesize and ssizesize. + Branch: metaconfig + + U/typedefs/sizesize.U U/typedefs/ssizesize.U + ! U/typedefs/gidsize.U U/typedefs/pidsize.U U/typedefs/uidsize.U +____________________________________________________________________________ +[ 4546] By: gsar on 1999/11/11 10:32:54 + Log: avoid stash pointers in optree under USE_ITHREADS + Branch: perl + ! bytecode.pl cop.h ext/B/B.xs ext/B/B/Asmdata.pm + ! ext/B/B/Bytecode.pm ext/B/B/C.pm ext/B/B/Debug.pm + ! ext/B/B/Deparse.pm ext/ByteLoader/bytecode.h + ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h + ! ext/Opcode/Opcode.xs gv.c op.c perl.c pp.c pp_ctl.c pp_hot.c + ! scope.h sv.c +____________________________________________________________________________ +[ 4545] By: gsar on 1999/11/11 06:04:20 + Log: another change towards a shareable optree: avoid pointer to filegv + in COP; revert parts of change#4485 and s/xcv_filegv/xcv_file/ + (CvFILE() may yet come in handy somewhere); adjust compiler doodads + to suit + Branch: perl + ! bytecode.pl cop.h cv.h dump.c ext/B/B.pm ext/B/B.xs + ! ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm ext/B/B/C.pm + ! ext/B/B/CC.pm ext/B/B/Debug.pm ext/B/B/Deparse.pm + ! ext/B/B/Lint.pm ext/B/B/Xref.pm ext/ByteLoader/bytecode.h + ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h + ! ext/Devel/Peek/Peek.pm gv.c gv.h op.c perl.c pp.c pp_ctl.c + ! pp_sys.c scope.c scope.h sv.c sv.h toke.c util.c util.h + ! win32/perllib.c +____________________________________________________________________________ +[ 4544] By: gsar on 1999/11/10 18:19:12 + Log: more cleanups for change#4539 + Branch: perl + ! gv.h op.c op.h pp_ctl.c pp_hot.c +____________________________________________________________________________ +[ 4543] By: gsar on 1999/11/10 01:52:22 + Log: remove dead branch/infinite looper in change#3612 + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4542] By: gsar on 1999/11/09 20:05:47 + Log: IoDIRP may be fake when used in source filters, mark as such + Branch: perl + ! sv.c sv.h toke.c +____________________________________________________________________________ +[ 4541] By: gsar on 1999/11/09 05:47:53 + Log: small nits in changes#4538,4539 + Branch: perl + ! op.c sv.c +____________________________________________________________________________ +[ 4540] By: gsar on 1999/11/08 20:30:58 + Log: win32 symbol export tweak + Branch: perl + ! makedef.pl win32/win32.c win32/win32iop.h +____________________________________________________________________________ +[ 4539] By: gsar on 1999/11/08 18:50:40 + Log: preliminary support for GVOP indirection via pad + Branch: perl + ! doio.c dump.c embed.h embed.pl global.sym objXSUB.h op.c op.h + ! opcode.pl perlapi.c pp_hot.c pp_sys.c proto.h run.c +____________________________________________________________________________ +[ 4538] By: gsar on 1999/11/08 11:25:49 + Log: preliminary support for perl_clone() (still needs work in + the following areas: SVOPs must indirect via pad; context + stack, scope stack, and runlevels must be cloned; must + hook up the virtualized pseudo-process support provided by + "host"; ...) + Branch: perl + ! av.h embed.h embed.pl embedvar.h global.sym hv.c hv.h + ! intrpvar.h makedef.pl objXSUB.h perl.h perlapi.c proto.h sv.c + ! win32/perllib.c win32/win32.c +____________________________________________________________________________ +[ 4537] By: gsar on 1999/11/08 11:19:18 + Log: more thorough cleanup in perl_destroy() + Branch: perl + ! perl.c util.c +____________________________________________________________________________ +[ 4536] By: gsar on 1999/11/08 07:16:10 + Log: win32 internal data must be interpreter-local + Branch: perl + ! win32/win32.c win32/win32.h win32/win32sck.c +____________________________________________________________________________ +[ 4535] By: gsar on 1999/11/08 04:17:28 + Log: tweak change#4502 + Branch: perl + ! doio.c perl.c +____________________________________________________________________________ +[ 4534] By: jhi on 1999/11/07 13:17:03 + Log: Four special class subs, not three. + Branch: cfgperl + ! pod/perlmod.pod +____________________________________________________________________________ +[ 4533] By: jhi on 1999/11/07 13:13:15 + Log: Integrate with Sarathy. + Branch: cfgperl + !> mg.c t/io/print.t +____________________________________________________________________________ +[ 4532] By: jhi on 1999/11/07 12:36:10 + Log: More test program maintenance. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/a_dvisory/intsize.U U/compline/alignbytes.U + ! U/compline/charsize.U U/compline/d_sigaction.U + ! U/compline/doublesize.U U/compline/floatsize.U + ! U/compline/nblock_io.U U/compline/ptrsize.U + ! U/modified/Signal.U U/typedefs/gidsize.U U/typedefs/pidsize.U + ! U/typedefs/uidsize.U + Branch: metaconfig/U/perl + ! fpossize.U +____________________________________________________________________________ +[ 4531] By: jhi on 1999/11/07 00:34:09 + Log: Tidy up the metaconfig test programs. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/a_dvisory/intsize.U U/compline/alignbytes.U + ! U/compline/charsize.U U/compline/doublesize.U + ! U/compline/nblock_io.U U/compline/ptrsize.U + ! U/modified/d_longlong.U U/typedefs/gidsize.U + ! U/typedefs/lseektype.U U/typedefs/pidsize.U + ! U/typedefs/uidsize.U + Branch: metaconfig/U/perl + ! fpossize.U +____________________________________________________________________________ +[ 4530] By: jhi on 1999/11/06 23:51:34 + Log: So many printfs, so little time. + Branch: cfgperl + ! op.c perl.c regcomp.c scope.c util.c +____________________________________________________________________________ +[ 4529] By: jhi on 1999/11/06 23:27:35 + Log: Replace the explicit zeros with NOOPs. + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 4528] By: jhi on 1999/11/06 23:10:54 + Log: From: jand@activestate.com (Jan Dubois) + To: perl5-porters@perl.org + Cc: Mike Blazer , + Mark Borgerding + Subject: [5.005_62 PATCH] binmode and locale support for -T and -B filetest operators + Date: Sat, 06 Nov 1999 22:16:43 +0100 + Message-ID: <38279207.46448719@smtprelay.t-online.de> + Branch: cfgperl + ! op.c op.h +____________________________________________________________________________ +[ 4527] By: jhi on 1999/11/06 20:22:14 + Log: ...and fewer. + Branch: cfgperl + ! dump.c +____________________________________________________________________________ +[ 4526] By: jhi on 1999/11/06 20:19:04 + Log: ...and they are getting fewer. + Branch: cfgperl + ! dump.c op.c util.c +____________________________________________________________________________ +[ 4525] By: jhi on 1999/11/06 19:59:59 + Log: More printf miscasts flushed out. + Branch: cfgperl + ! dump.c ext/B/B.xs ext/Data/Dumper/Dumper.xs regcomp.c + ! regexec.c +____________________________________________________________________________ +[ 4524] By: jhi on 1999/11/06 15:39:05 + Log: Crushing the remaining %ld guerillas. + Branch: cfgperl + ! ext/Devel/DProf/DProf.xs +____________________________________________________________________________ +[ 4523] By: jhi on 1999/11/06 15:11:38 + Log: Update CPAN sites list. + Branch: cfgperl + ! pod/perlmodlib.pod +____________________________________________________________________________ +[ 4522] By: jhi on 1999/11/05 19:50:46 + Log: The -n32 is normally part of $cc, not $ccflags. + Branch: cfgperl + ! hints/irix_6.sh +____________________________________________________________________________ +[ 4521] By: gsar on 1999/11/05 04:35:30 + Log: allow $\ to work right when set to a string with embedded nulls + Branch: perl + ! mg.c t/io/print.t +____________________________________________________________________________ +[ 4520] By: jhi on 1999/11/04 23:30:09 + Log: Integrate with Sarathy. + Branch: cfgperl + !> embedvar.h ext/B/B/Bytecode.pm ext/B/B/Lint.pm + !> ext/B/B/Stash.pm ext/B/NOTES ext/B/O.pm ext/File/Glob/Glob.pm + !> ext/File/Glob/bsd_glob.c ext/File/Glob/bsd_glob.h intrpvar.h + !> keywords.h keywords.pl objXSUB.h op.c perl.c pod/perldelta.pod + !> pod/perldiag.pod pod/perlfunc.pod pod/perlmod.pod + !> pod/perlrun.pod pod/perlsub.pod pod/perltodo.pod toke.c +____________________________________________________________________________ +[ 4519] By: jhi on 1999/11/04 23:09:25 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] ref to non-lvalue method + Date: Wed, 3 Nov 1999 03:52:48 -0500 (EST) + Message-Id: <199911030852.DAA06563@monk.mps.ohio-state.edu> + Branch: cfgperl + ! op.c +____________________________________________________________________________ +[ 4518] By: jhi on 1999/11/04 23:07:27 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] xsubpp dependency + Date: Wed, 3 Nov 1999 02:57:23 -0500 (EST) + Message-Id: <199911030757.CAA06325@monk.mps.ohio-state.edu> + Branch: cfgperl + ! lib/ExtUtils/MM_Unix.pm +____________________________________________________________________________ +[ 4517] By: jhi on 1999/11/04 23:05:59 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] regexp.h + Date: Wed, 3 Nov 1999 02:55:21 -0500 (EST) + Message-Id: <199911030755.CAA06311@monk.mps.ohio-state.edu> + Branch: cfgperl + ! regexp.h +____________________________________________________________________________ +[ 4516] By: gsar on 1999/11/04 18:25:45 + Log: change#4485 didn't do the right thing for B::Bytecode + Branch: perl + ! ext/B/B/Bytecode.pm +____________________________________________________________________________ +[ 4515] By: gsar on 1999/11/04 17:28:29 + Log: implement STOP blocks and fix compiler to use them (minimally + tested) + Branch: perl + ! embedvar.h ext/B/B/Lint.pm ext/B/B/Stash.pm ext/B/NOTES + ! ext/B/O.pm intrpvar.h keywords.h keywords.pl objXSUB.h op.c + ! perl.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod + ! pod/perlmod.pod pod/perlrun.pod pod/perlsub.pod + ! pod/perltodo.pod toke.c +____________________________________________________________________________ +[ 4514] By: gsar on 1999/11/04 15:59:46 + Log: display BSD license in Glob.pm (for clause #2 conformity) + Branch: perl + ! ext/File/Glob/Glob.pm ext/File/Glob/bsd_glob.c + ! ext/File/Glob/bsd_glob.h +____________________________________________________________________________ +[ 4513] By: jhi on 1999/11/04 08:26:19 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/io/nargv.t + !> (integrate 34 files) +____________________________________________________________________________ +[ 4512] By: jhi on 1999/11/04 08:01:25 + Log: Incremental Mac integration from Matthias. + Branch: cfgperl + ! perl.c perl.h pp_ctl.c pp_hot.c run.c sv.c t/pod/testpchk.pl + ! toke.c util.c +____________________________________________________________________________ +[ 4511] By: gsar on 1999/11/04 02:53:37 + Log: remove VIRTUAL tag, PERL_OBJECT doesn't need it anymore + Branch: perl + ! dosish.h embed.pl mg.c os2/os2ish.h perl.c perl.h perly.c + ! perly_c.diff pp_ctl.c proto.h regcomp.c regexec.c sv.c toke.c + ! universal.c vms/perly_c.vms vms/vmsish.h win32/win32.h + ! xsutils.c +____________________________________________________________________________ +[ 4510] By: jhi on 1999/11/02 22:12:29 + Log: S_init_interp is a better place to diddle with PL_opargs + than perl_construct. + Branch: cfgperl + ! perl.c +____________________________________________________________________________ +[ 4509] By: jhi on 1999/11/02 21:30:02 + Log: From: "M.J.T. Guy" + To: ben@mucus.advanced.org, perl5-porters@perl.org + Subject: Re: [ID 19991102.002] unpack('N', pack('N', -1)) not idempotent + Date: Tue, 02 Nov 1999 21:36:00 +0000 + Message-Id: + Branch: cfgperl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4508] By: jhi on 1999/11/02 20:46:27 + Log: Initial integration of the MacPerl changes form Matthias. + Branch: cfgperl + ! doio.c ext/DynaLoader/DynaLoader_pm.PL ext/Fcntl/Fcntl.pm + ! ext/Fcntl/Fcntl.xs gv.c mg.c opcode.pl perl.c perl.h pp_ctl.c + ! pp_hot.c pp_sys.c run.c sv.c toke.c util.c +____________________________________________________________________________ +[ 4507] By: jhi on 1999/11/01 23:05:07 + Log: From: Ilya Zakharevich + To: lvirden@cas.org (Larry W. Virden) + Cc: perl5-porters@perl.org, lvirden@cas.org + Subject: Re: [ID 19991026.001] perl segmentation fault report + Date: Mon, 1 Nov 1999 18:14:16 -0500 (EST) + Message-Id: <199911012314.SAA22664@monk.mps.ohio-state.edu> + Branch: cfgperl + ! regexec.c t/op/pat.t +____________________________________________________________________________ +[ 4506] By: jhi on 1999/11/01 19:56:28 + Log: From: Olaf Flebbe + To: perl5-porters@perl.org + Subject: [PATCH: 5.005_62] Patch for EPOC Support + Date: Mon, 1 Nov 1999 20:46:54 +0100 (MET) + Message-ID: + Branch: cfgperl + + epoc/Config.pm epoc/autosplit.pl epoc/createpkg.pl + + epoc/epoc_stubs.c + ! MANIFEST README.epoc epoc/epocish.h epoc/perl.mmp + ! epoc/perl.pkg +____________________________________________________________________________ +[ 4505] By: gsar on 1999/11/01 17:09:44 + Log: macros for COP.cop_filegv access + Branch: perl + ! cop.h deb.c gv.c op.c perl.c pp_ctl.c pp_sys.c scope.c toke.c + ! util.c +____________________________________________________________________________ +[ 4504] By: gsar on 1999/11/01 17:08:28 + Log: enable better Win32::DomainName() by demand loading netapi32.dll + (from Jan Dubois) + Branch: perl + ! pod/Win32.pod win32/win32.c +____________________________________________________________________________ +[ 4503] By: gsar on 1999/10/31 20:56:06 + Log: change#4502 was missing a file + Branch: perl + + t/io/nargv.t +____________________________________________________________________________ +[ 4502] By: gsar on 1999/10/31 20:46:02 + Log: make nested ARGV/$^I loops work correctly; fixes several bugs + in the way ARGV state was handled in readline(); writing a + subroutine to do inplace edits is now possible, provided *ARGV, + *ARGVOUT, $^I and $_ are localized where needed + Branch: perl + ! MANIFEST doio.c embedvar.h intrpvar.h objXSUB.h perl.c + ! pp_hot.c scope.c +____________________________________________________________________________ +[ 4501] By: jhi on 1999/10/31 12:43:54 + Log: Integrate with Sarathy. + Branch: cfgperl + !> perl.h win32/config.bc win32/config.gc win32/config.vc + !> win32/config_H.bc win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 4500] By: gsar on 1999/10/31 10:01:17 + Log: updated windows config* files + Branch: perl + ! win32/config.bc win32/config.gc win32/config.vc + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 4499] By: gsar on 1999/10/31 09:15:17 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH perl.h +____________________________________________________________________________ +[ 4498] By: gsar on 1999/10/31 09:13:41 + Log: remove unused struct Outrec + Branch: perl + ! perl.h +____________________________________________________________________________ +[ 4497] By: jhi on 1999/10/30 12:41:50 + Log: Add HAS_QUAD ($Config{d_quad}); use it. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h + Branch: metaconfig + ! U/a_dvisory/quadtype.U U/compline/charsize.U U/typedefs/gidf.U + ! U/typedefs/uidf.U + Branch: metaconfig/U/perl + ! perlxv.U +____________________________________________________________________________ +[ 4496] By: gsar on 1999/10/30 00:28:32 + Log: integrate cfgperl contents into mainline + Branch: perl + !> Configure Policy_sh.SH Porting/Glossary Porting/config.sh + !> Porting/config_H README.hurd config_h.SH doop.c handy.h + !> hints/aix.sh hints/irix_6.sh hints/solaris_2.sh mg.c perl.c + !> perl.h pp.c pp.h regexec.c sv.c taint.c +____________________________________________________________________________ +[ 4495] By: jhi on 1999/10/29 23:36:19 + Log: Continue what #4494 started; introduce uid and gid formats. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH handy.h perl.h + Branch: metaconfig + + U/a_dvisory/quadtype.U U/typedefs/gidf.U U/typedefs/uidf.U + - U/typedefs/quadtype.U + Branch: metaconfig/U/perl + ! perlxv.U +____________________________________________________________________________ +[ 4494] By: jhi on 1999/10/29 22:09:01 + Log: Move the IV, UV, I8, U8, ..., and NV to metaconfig + from perl.h and handy.h. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH handy.h perl.h + Branch: metaconfig/U/perl + + perlxv.U perlxvf.U +____________________________________________________________________________ +[ 4493] By: jhi on 1999/10/29 22:08:06 + Log: Finetuning the output continues along the lines of #4490 and #4491. + Branch: metaconfig + ! U/modified/i_sysuio.U U/threads/d_pthreadj.U + ! U/typedefs/fpostype.U + Branch: metaconfig/U/perl + + fpossize.U + ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U + ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U io64.U +____________________________________________________________________________ +[ 4492] By: jhi on 1999/10/29 21:14:53 + Log: Hurd update from Mark Kettenis. + Branch: cfgperl + ! README.hurd +____________________________________________________________________________ +[ 4491] By: jhi on 1999/10/29 20:37:02 + Log: A new try at what #4490 tried to accomplish. + Branch: metaconfig + ! U/modified/i_sysuio.U U/threads/d_pthreadj.U + Branch: metaconfig/U/perl + ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U + ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U io64.U +____________________________________________________________________________ +[ 4490] By: jhi on 1999/10/29 20:19:41 + Log: metaconfig nits. + Branch: metaconfig + ! U/modified/i_sysuio.U U/threads/d_pthreadj.U + Branch: metaconfig/U/perl + + d_iovec_s.U + ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U + ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U io64.U +____________________________________________________________________________ +[ 4489] By: jhi on 1999/10/29 16:08:43 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 31 files) +____________________________________________________________________________ +[ 4488] By: jhi on 1999/10/29 15:30:30 + Log: Regen Configure and Glossary. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 4487] By: jhi on 1999/10/29 15:24:13 + Log: Remove quad logic from perl.h; regen Configure; + add -DUSE_LONG_LONG to ccflags if not already there. + Branch: cfgperl + ! Configure config_h.SH doop.c hints/aix.sh hints/irix_6.sh + ! hints/solaris_2.sh perl.h pp.c pp.h regexec.c sv.c +____________________________________________________________________________ +[ 4486] By: jhi on 1999/10/29 15:22:38 + Log: metaconfig: moved quad logic from perl.h to Configure (quadtype.U); + fixed the use*.U to define their stuff only iff not already defined + (so that ccflags can have any -DUSE_* it wants); + uselonglong.U added; various small nits fixed. + Branch: metaconfig + + U/typedefs/quadtype.U + ! U/modified/d_longdbl.U U/modified/d_longlong.U + ! U/modified/d_statblks.U U/modified/usenm.U + ! U/threads/usethreads.U + Branch: metaconfig/U/perl + + uselonglong.U + ! d_cmsghdr_s.U d_fs_data_s.U d_msghdr_s.U d_statfs3.U + ! d_statfs4.U d_statfs_f_flags.U d_statfs_s.U i_inttypes.U + ! quadfio.U use64bits.U uselfs.U uselongdbl.U usemorebits.U + ! usemultiplicity.U useperlio.U usesocks.U +____________________________________________________________________________ +[ 4485] By: gsar on 1999/10/29 06:08:50 + Log: more cleanup: avoid unused knowledge of "file GV" notion in CV and GV + Branch: perl + ! bytecode.pl cv.h dump.c ext/B/B.pm ext/B/B.xs + ! ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm ext/B/B/C.pm + ! ext/B/B/Debug.pm ext/B/B/Xref.pm ext/ByteLoader/byterun.c + ! ext/ByteLoader/byterun.h ext/Devel/Peek/Peek.pm gv.c gv.h op.c + ! sv.h +____________________________________________________________________________ +[ 4484] By: gsar on 1999/10/29 03:00:21 + Log: usurp GVOP slot for new PADOP (one small step to making optree + shareable across interpreters) + Branch: perl + ! bytecode.pl doio.c dump.c ext/B/B.pm ext/B/B.xs + ! ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm ext/B/B/C.pm + ! ext/B/B/Debug.pm ext/B/B/Deparse.pm ext/B/B/Lint.pm + ! ext/B/B/Terse.pm ext/B/typemap ext/ByteLoader/byterun.c + ! ext/ByteLoader/byterun.h op.c op.h opcode.h opcode.pl perl.h + ! pp_hot.c pp_sys.c regexec.c run.c +____________________________________________________________________________ +[ 4483] By: jhi on 1999/10/28 22:01:12 + Log: Regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 4482] By: jhi on 1999/10/28 21:45:26 + Log: Installdirs patches from Andy. + Branch: metaconfig + ! U/installdirs/sitearch.U U/installdirs/sitebin.U + ! U/installdirs/sitehtml1dir.U U/installdirs/sitehtml3dir.U + ! U/installdirs/sitelib.U U/installdirs/siteman1dir.U + ! U/installdirs/siteman3dir.U U/installdirs/siteprefix.U + ! U/installdirs/sitescriptdir.U U/installdirs/vendorarch.U + ! U/installdirs/vendorbin.U U/installdirs/vendorhtml1dir.U + ! U/installdirs/vendorhtml3dir.U U/installdirs/vendorlib.U + ! U/installdirs/vendorman1dir.U U/installdirs/vendorman3dir.U + ! U/installdirs/vendorprefix.U U/installdirs/vendorscriptdir.U +____________________________________________________________________________ +[ 4481] By: gsar on 1999/10/28 17:33:49 + Log: remove C misfeature (global + can still be directly set) + Branch: perl + ! lib/Time/Local.pm +____________________________________________________________________________ +[ 4480] By: jhi on 1999/10/28 13:49:26 + Log: Fix printing of uids and gids; regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH mg.c perl.c perl.h taint.c +____________________________________________________________________________ +[ 4479] By: jhi on 1999/10/28 11:53:57 + Log: Fix typo. + Branch: metaconfig + ! U/typedefs/gidsize.U +____________________________________________________________________________ +[ 4478] By: jhi on 1999/10/28 06:50:02 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes iperlsys.h makedef.pl patchlevel.h perl.h + !> win32/Makefile win32/config.bc win32/config.gc win32/config.vc + !> win32/config_H.bc win32/config_H.gc win32/config_H.vc + !> win32/config_sh.PL win32/makefile.mk win32/win32.h +____________________________________________________________________________ +[ 4477] By: jhi on 1999/10/28 06:40:54 + Log: (Slightly) better comments for Policy_sh.SH from Andy. + Branch: cfgperl + ! Policy_sh.SH +____________________________________________________________________________ +[ 4476] By: gsar on 1999/10/27 23:54:36 + Log: regen config* stuff for windows + Branch: perl + ! Changes patchlevel.h win32/Makefile win32/config.bc + ! win32/config.gc win32/config.vc win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/config_sh.PL + ! win32/makefile.mk +____________________________________________________________________________ +[ 4475] By: gsar on 1999/10/27 21:32:30 + Log: integrate cfgperl contents into mainline; merge conflicts + Branch: perl + !> (integrate 46 files) +____________________________________________________________________________ +[ 4474] By: gsar on 1999/10/27 21:15:07 + Log: patch up egcs-1.1.2-mingw32 build (builds a working miniperl, but not + perl; stdout/stderr redirects seem broken as well) + Branch: perl + ! iperlsys.h makedef.pl perl.h win32/makefile.mk win32/win32.h +____________________________________________________________________________ +[ 4473] By: jhi on 1999/10/27 21:11:11 + Log: Do not block if no message queues available. + Branch: cfgperl + ! t/lib/ipc_sysv.t +____________________________________________________________________________ +[ 4472] By: jhi on 1999/10/27 18:27:40 + Log: Remove unused "squatter" symbols; regen Configure. + Branch: cfgperl + ! Configure Makefile.SH Porting/Glossary Porting/config.sh + ! Porting/config_H config_h.SH epoc/config.h iperlsys.h perl.h + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc +____________________________________________________________________________ +[ 4471] By: jhi on 1999/10/27 18:26:55 + Log: metaconfig; split socket; fix output. + Branch: metaconfig + ! U/modified/d_socket.U U/modified/d_statblks.U + Branch: metaconfig/U/perl + + d_cmsghdr_s.U d_msghdr_s.U d_recvmsg.U d_sendmsg.U + ! i_sysstatfs.U i_sysvfs.U +____________________________________________________________________________ +[ 4470] By: jhi on 1999/10/27 17:19:06 + Log: Regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.c perl.h +____________________________________________________________________________ +[ 4469] By: jhi on 1999/10/27 17:18:41 + Log: metaconfig; split statfs. + Branch: metaconfig/U/perl + + d_fs_data_s.U d_statfs_f_flags.U d_statfs_s.U + ! d_statfs.U +____________________________________________________________________________ +[ 4468] By: jhi on 1999/10/27 14:06:44 + Log: Integrate with Sarathy; manual resolve on regcomp.c conflicts + (Ilya's changes won). + Branch: cfgperl + +> os2/OS2/REXX/DLL/Changes os2/OS2/REXX/DLL/DLL.pm + +> os2/OS2/REXX/DLL/DLL.xs os2/OS2/REXX/DLL/MANIFEST + +> os2/OS2/REXX/DLL/Makefile.PL os2/OS2/REXX/t/rx_emxrv.t + !> (integrate 65 files) +____________________________________________________________________________ +[ 4467] By: jhi on 1999/10/27 13:38:41 + Log: Regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 4466] By: jhi on 1999/10/27 13:18:06 + Log: metaconfig fixes from Andy. + Branch: metaconfig + + U/modified/libnlist.U U/modified/usrinc.U + ! U/Glossary.patch U/mkglossary U/modified/libpth.U +____________________________________________________________________________ +[ 4465] By: jhi on 1999/10/27 13:06:27 + Log: Nosuid checking for statfs() people. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.c perl.h pod/perldiag.pod +____________________________________________________________________________ +[ 4464] By: jhi on 1999/10/27 13:04:20 + Log: metaconfig maintenance; fix Hasfield, statfs; + add Hasstruct, statfs3, statfs4, ustat, sysvfs; + split fstatfs away from statfs. + Branch: metaconfig + + U/protos/Hasstruct.U + ! U/protos/Hasfield.U + Branch: metaconfig/U/perl + + d_fstatfs.U d_statfs3.U d_statfs4.U d_ustat.U i_sysvfs.U + + i_ustat.U + ! d_statfs.U +____________________________________________________________________________ +[ 4463] By: jhi on 1999/10/27 07:55:53 + Log: We need cc to be able to test for cc -v. + Branch: cfgperl + ! hints/dec_osf.sh +____________________________________________________________________________ +[ 4462] By: gsar on 1999/10/27 01:31:41 + Log: more GCC v2.95 induced adjustments + Branch: perl + ! globals.c mg.c opcode.h opcode.pl perl.h sv.c + ! win32/makefile.mk win32/win32.c x2p/walk.c +____________________________________________________________________________ +[ 4461] By: gsar on 1999/10/26 21:42:59 + Log: warnings and const violations identified by compiling in C++ mode + with GCC v2.95 + Branch: perl + ! doio.c embed.pl mg.c op.c perl.c perlapi.c proto.h regcomp.c + ! sv.c taint.c toke.c win32/win32.c +____________________________________________________________________________ +[ 4459] By: jhi on 1999/10/26 10:15:58 + Log: Regen Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 4458] By: jhi on 1999/10/26 09:48:37 + Log: Minor rewordings. + Branch: metaconfig/U/perl + ! d_getmnt.U d_getmntent.U d_statfs.U d_statvfs.U +____________________________________________________________________________ +[ 4456] By: jhi on 1999/10/26 09:11:49 + Log: Fix d_statfsflags; add d_getmnt. + Branch: metaconfig/U/perl + + d_getmnt.U + ! d_statfs.U +____________________________________________________________________________ +[ 4455] By: jhi on 1999/10/26 08:12:27 + Log: Massive multitypo in #4446. + Branch: cfgperl + ! hints/dec_osf.sh +____________________________________________________________________________ +[ 4454] By: jhi on 1999/10/25 08:28:45 + Log: From: Laszlo Molnar + To: Perl 5 Porters + Subject: [PATCH 5.005_62] dos-djgpp update + Date: Mon, 25 Oct 1999 10:11:30 +0200 + Message-ID: <19991025101130.K459@crater.eth.ericsson.se> + Branch: cfgperl + ! djgpp/config.over djgpp/configure.bat djgpp/djgppsed.sh + ! pod/perldelta.pod t/lib/io_unix.t +____________________________________________________________________________ +[ 4453] By: jhi on 1999/10/25 08:25:50 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] Remove the last regnode<==>char* + Date: Mon, 25 Oct 1999 03:06:21 -0400 (EDT) + Message-Id: <199910250706.DAA16825@monk.mps.ohio-state.edu> + Branch: cfgperl + ! embed.h embed.pl proto.h regcomp.c regcomp.h regexec.c +____________________________________________________________________________ +[ 4452] By: jhi on 1999/10/25 08:16:55 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] Missing REx engine patch + Date: Sun, 24 Oct 1999 23:47:45 -0400 (EDT) + Message-Id: <199910250347.XAA16094@monk.mps.ohio-state.edu> + Branch: cfgperl + ! pod/perldiag.pod regcomp.c regexec.c +____________________________________________________________________________ +[ 4451] By: jhi on 1999/10/25 08:13:06 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_62] charnames and UTEST + Date: Sun, 24 Oct 1999 23:39:49 -0400 (EDT) + Message-Id: <199910250339.XAA16058@monk.mps.ohio-state.edu> + Branch: cfgperl + ! t/lib/charnames.t +____________________________________________________________________________ +[ 4450] By: gsar on 1999/10/25 07:38:15 + Log: win32 tweak + Branch: perl + ! win32/perllib.c +____________________________________________________________________________ +[ 4449] By: gsar on 1999/10/24 23:20:10 + Log: remove inconsistent tainting behavior of sprintf("%e",...) + (all bets are off is "C" locale is compromised) + Branch: perl + ! pod/perlfunc.pod pod/perllocale.pod sv.c +____________________________________________________________________________ +[ 4448] By: gsar on 1999/10/24 22:20:42 + Log: remove unused interpreter globals + Branch: perl + ! deb.c dump.c embed.h embed.pl embedvar.h ext/POSIX/POSIX.xs + ! global.sym gv.c gv.h intrpvar.h objXSUB.h perl.c perlapi.c + ! proto.h toke.c +____________________________________________________________________________ +[ 4447] By: jhi on 1999/10/24 21:49:52 + Log: Another hints tweak. + Branch: cfgperl + ! hints/aix.sh ____________________________________________________________________________ -[ 2568] By: gbarr on 1999/01/06 03:13:15 - Log: From: jan.dubois@ibm.net (Jan Dubois) - Date: Wed, 06 Jan 1999 01:24:09 +0100 - Message-ID: <3696aa85.18259325@smtp1.ibm.net> - Subject: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds - Branch: maint-5.005/perl - ! embed.h global.sym objXSUB.h objpp.h perl.c proto.h - ! win32/GenCAPI.pl win32/makedef.pl +[ 4446] By: jhi on 1999/10/24 21:48:02 + Log: Hints tweak. + Branch: cfgperl + ! hints/dec_osf.sh ____________________________________________________________________________ -[ 2567] By: gbarr on 1999/01/06 02:31:28 - Log: From: Dan Sugalski - Date: Tue, 05 Jan 1999 16:47:31 -0800 - Message-Id: <3.0.6.32.19990105164731.00b5b2d0@ous.edu> - Subject: [PATCH 5.005_03-MAINT_TRIAL_2]taint.c fix for VMS - Branch: maint-5.005/perl - ! taint.c +[ 4445] By: nick on 1999/10/24 21:03:28 + Log: Integrate own changes to mainline. + Branch: utfperl + !> installperl pp.c ____________________________________________________________________________ -[ 2566] By: gbarr on 1999/01/06 02:29:05 - Log: From: "W. Phillip Moore" - Date: Tue, 5 Jan 1999 12:40:27 -0500 (EST) - Message-ID: <13970.20107.190314.549471@zappa> - Subject: [PATCH] POSIX getpgrp is not -w clean - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.pm +[ 4444] By: nick on 1999/10/24 20:54:06 + Log: Avoid creating GV with NULL name when vivifying nameless scalars. + (Fix/workround for [ID19991024.001]) + Branch: perl + ! pp.c ____________________________________________________________________________ -[ 2565] By: gbarr on 1999/01/06 02:19:00 - Log: From: Slaven Rezic - Date: Mon, 4 Jan 1999 23:01:46 +0100 (CET) - Message-Id: <199901042201.XAA01875@cabulja.herceg.de> - Subject: FindBin.pm on Win32 systems - Branch: maint-5.005/perl - ! lib/FindBin.pm +[ 4443] By: nick on 1999/10/24 15:09:51 + Log: Follow that camel ... another sync. + Branch: utfperl + +> os2/OS2/REXX/DLL/Changes os2/OS2/REXX/DLL/DLL.pm + +> os2/OS2/REXX/DLL/DLL.xs os2/OS2/REXX/DLL/MANIFEST + +> os2/OS2/REXX/DLL/Makefile.PL os2/OS2/REXX/t/rx_emxrv.t + !> (integrate 36 files) ____________________________________________________________________________ -[ 2564] By: gbarr on 1999/01/06 02:13:23 - Log: From: Mark Bixby - Date: Mon, 4 Jan 1999 13:34:58 -0800 (PST) - Message-Id: <199901042134.NAA18852@spock.dis.cccd.edu> - Subject: [PATCH 5.005_03-MAINT_TRIAL_2] t/op/sysio.t for MPE/iX - Branch: maint-5.005/perl - ! t/op/sysio.t +[ 4442] By: gsar on 1999/10/24 14:40:01 + Log: typo in installperl (from Paul Moore ) + Branch: perl + ! installperl ____________________________________________________________________________ -[ 2563] By: gbarr on 1999/01/06 02:03:44 - Log: From: Jarkko Hietaniemi - Date: Mon, 4 Jan 1999 19:25:03 +0200 (EET) - Message-Id: <199901041725.TAA30462@alpha.hut.fi> - Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: undo untrue HP-UX 64-bitness (mostly harmless but misleading) - Branch: maint-5.005/perl - ! hints/hpux.sh +[ 4441] By: gsar on 1999/10/24 14:33:11 + Log: test in change#4428 needs strict interpretation of C modulus + Branch: perl + ! t/op/int.t ____________________________________________________________________________ -[ 2562] By: gbarr on 1999/01/06 02:02:18 - Log: Jumbo doc patch from Abigail - - From: abigail@fnx.com - Message-ID: <19990105170142.4889.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03-TRIAL2 lib/ExtUtils/Liblist.pm] pod fixes - Date: Tue, 5 Jan 1999 12:01:42 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105172855.5115.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 MAINT2 lib/ExtUtils/Commands.pm] Typo fix. - Date: Tue, 5 Jan 1999 12:28:55 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105173808.5260.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH perl5.005_03 MAINT3 lib/ExtUtils/Embed.pm] Typo fix - Date: Tue, 5 Jan 1999 12:38:08 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105174859.5533.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 MAINT2 lib/ExtUtils/Install.pm] Typo fix - Date: Tue, 5 Jan 1999 12:48:59 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105174947.5547.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 lib/ExtUtils/MM_Unix.pm] Typo fixes - Date: Tue, 5 Jan 1999 12:49:46 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105182301.5966.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 lib/ExtUtils/MakeMaker.pm] Typos fixes. - Date: Tue, 5 Jan 1999 13:23:00 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105183344.6065.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/ExtUtils/Manifest.pm] Typo fixes - Date: Tue, 5 Jan 1999 13:33:44 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990105184028.6220.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/ExtUtils/Mksymlists.pm] Typo fix - Date: Tue, 5 Jan 1999 13:40:28 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990106012015.9451.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/IO/Pipe.pm] Typo fixes. - Date: Tue, 5 Jan 1999 20:20:15 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990106012047.9459.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRAIL2 lib/IO/Seekable.pm] Typo fixes - Date: Tue, 5 Jan 1999 20:20:47 -0500 (EST) - - From: abigail@fnx.com - Message-ID: <19990106012338.9536.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_03 TRIAL2 lib/IO/Socket.pm] Typo fix - Date: Tue, 5 Jan 1999 20:23:38 -0500 (EST) - Branch: maint-5.005/perl - ! ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Seekable.pm - ! ext/IO/lib/IO/Socket.pm lib/ExtUtils/Command.pm - ! lib/ExtUtils/Embed.pm lib/ExtUtils/Install.pm - ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm - ! lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Manifest.pm - ! lib/ExtUtils/Mksymlists.pm -____________________________________________________________________________ -[ 2560] By: gbarr on 1999/01/03 16:59:01 - Log: Trial release 2 - Branch: maint-5.005/perl - ! Changes patchlevel.h +[ 4440] By: gsar on 1999/10/24 13:47:17 + Log: don't allow SIGCHLD to be ignored at startup, or wait*() and + $? break + Branch: perl + ! perl.c pod/perldelta.pod pod/perldiag.pod +____________________________________________________________________________ +[ 4439] By: jhi on 1999/10/24 13:19:17 + Log: test for #2835 (yeah, better later than never) + Branch: cfgperl + ! t/op/array.t +____________________________________________________________________________ +[ 4438] By: gsar on 1999/10/24 12:59:12 + Log: typo, doc tweak + Branch: perl + ! lib/attributes.pm pod/perlop.pod +____________________________________________________________________________ +[ 4437] By: gsar on 1999/10/24 11:59:55 + Log: allow get() and reftype() functions to be imported (from + Spider Boardman) + Branch: perl + ! lib/attributes.pm +____________________________________________________________________________ +[ 4436] By: gsar on 1999/10/24 11:52:53 + Log: suppress scalar leak messages for known leaks (from + Robin Barker ) + Branch: perl + ! Changes t/op/lex_assign.t t/pragma/warn/op +____________________________________________________________________________ +[ 4435] By: gsar on 1999/10/24 11:39:42 + Log: VMS tweak (suggested by Craig A. Berry ) + Branch: perl + ! ext/B/defsubs_h.PL +____________________________________________________________________________ +[ 4434] By: gsar on 1999/10/24 11:36:08 + Log: relax range checking if they ask for it (from John L. Allen + ) + Branch: perl + ! lib/Time/Local.pm +____________________________________________________________________________ +[ 4433] By: gsar on 1999/10/24 11:25:51 + Log: README nits pointed out by Chris Nandor + Branch: perl + ! README lib/File/Path.pm +____________________________________________________________________________ +[ 4432] By: gsar on 1999/10/24 11:11:02 + Log: From: Ilya Zakharevich + Date: Sun, 24 Oct 1999 03:24:28 -0400 (EDT) + Message-Id: <199910240724.DAA12230@monk.mps.ohio-state.edu> + Subject: Re: [PATCH 5.005_62] OS/2 improvements + Branch: perl + + os2/OS2/REXX/DLL/Changes os2/OS2/REXX/DLL/DLL.pm + + os2/OS2/REXX/DLL/DLL.xs os2/OS2/REXX/DLL/MANIFEST + + os2/OS2/REXX/DLL/Makefile.PL os2/OS2/REXX/t/rx_emxrv.t + ! MANIFEST hints/os2.sh mg.c miniperlmain.c os2/Changes + ! os2/OS2/REXX/Changes os2/OS2/REXX/Makefile.PL + ! os2/OS2/REXX/REXX.pm os2/OS2/REXX/REXX.xs + ! os2/OS2/REXX/t/rx_dllld.t os2/OS2/REXX/t/rx_objcall.t + ! os2/OS2/REXX/t/rx_tievar.t os2/OS2/REXX/t/rx_tieydb.t + ! os2/OS2/REXX/t/rx_vrexx.t os2/dl_os2.c os2/os2.c os2/os2ish.h + ! perl.c perl.h t/io/fs.t t/op/magic.t +____________________________________________________________________________ +[ 4431] By: gsar on 1999/10/24 10:50:14 + Log: install all README.foo with pod content as podfoo.pod + Branch: perl + ! Makefile.SH installman +____________________________________________________________________________ +[ 4430] By: gsar on 1999/10/24 09:28:24 + Log: @INC needs ../lib + Branch: perl + ! t/op/int.t +____________________________________________________________________________ +[ 4429] By: jhi on 1999/10/23 21:47:49 + Log: More printf-fixes (see also #4426). + Branch: cfgperl + ! deb.c dump.c ext/Data/Dumper/Dumper.xs + ! ext/Devel/DProf/DProf.xs malloc.c mg.c op.c perl.c pp.c + ! pp_ctl.c regcomp.c regexec.c run.c scope.c sv.c util.c +____________________________________________________________________________ +[ 4428] By: gsar on 1999/10/23 20:28:56 + Log: fix accidental C modulo semantics on integer-valued operations + (e.g. caused C to return 3 rather than -7) + Branch: perl + ! op.c t/op/int.t +____________________________________________________________________________ +[ 4427] By: jhi on 1999/10/23 16:10:10 + Log: Integrate with Sarathy. + Branch: cfgperl + !> sv.c win32/win32.c +____________________________________________________________________________ +[ 4426] By: jhi on 1999/10/23 16:04:02 + Log: Fix the printfing nits pointed out by using gcc -Wall and + Configure -Duse64bits -Dccflags=-DDEBUGGING in Solaris, + plus few other warnings in Dumper.xs. + Branch: cfgperl + ! ext/Data/Dumper/Dumper.xs ext/Devel/DProf/DProf.xs + ! ext/Devel/Peek/Peek.xs regcomp.c regexec.c sv.c util.c +____________________________________________________________________________ +[ 4425] By: jhi on 1999/10/23 15:16:41 + Log: Configure regen to pick up the new installation directories + from Policy_sh.SH. The explanations of "public add-ons" and + "vendor-supplied" could do with more work. + Branch: cfgperl + ! Configure config_h.SH +____________________________________________________________________________ +[ 4424] By: nick on 1999/10/23 00:46:22 + Log: Resolve mainline before possible hacking operertunity this weekend + Branch: utfperl + +> pod/perlfilter.pod + !> (integrate 32 files) +____________________________________________________________________________ +[ 4423] By: jhi on 1999/10/22 22:53:17 + Log: Update Policy_sh.SH to handle the newer installation directives. + From: Andy Dougherty + To: Perl Porters + Subject: [PATCH 5.005_62] Policy_sh.SH update + Date: Fri, 22 Oct 1999 16:47:34 -0400 (EDT) + Message-ID: + Branch: cfgperl + ! Policy_sh.SH +____________________________________________________________________________ +[ 4422] By: jhi on 1999/10/22 22:44:44 + Log: so back to 'so', from Stephanie Beals + Branch: cfgperl + ! hints/aix.sh +____________________________________________________________________________ +[ 4421] By: gsar on 1999/10/22 21:16:44 + Log: sv_vcatpvfn() bug: fell through to assuming intsize of 'q' for + C<"%ld", long_val> + Branch: perl + ! sv.c +____________________________________________________________________________ +[ 4420] By: gsar on 1999/10/22 16:36:46 + Log: win32_utime() on directories should use localtime() rather + than gmtime() (from Jan Dubois) + Branch: perl + ! win32/win32.c +____________________________________________________________________________ +[ 4419] By: jhi on 1999/10/21 10:31:41 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Makefile.SH lib/CPAN/FirstTime.pm op.c opcode.h opcode.pl + !> t/lib/glob-basic.t t/op/sort.t +____________________________________________________________________________ +[ 4418] By: gsar on 1999/10/20 23:49:47 + Log: add test for change#4417 + Branch: perl + ! t/op/sort.t +____________________________________________________________________________ +[ 4417] By: gsar on 1999/10/20 23:45:03 + Log: avoid coredump on C + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4416] By: gsar on 1999/10/20 01:00:50 + Log: fix prototype mismatch (from Hans Mulder ) + Branch: perl + ! lib/CPAN/FirstTime.pm +____________________________________________________________________________ +[ 4415] By: gsar on 1999/10/20 00:52:34 + Log: disable optimizing troublesome ops in change#3612 + (from Ilya Zakharevich) + Branch: perl + ! Makefile.SH opcode.h opcode.pl +____________________________________________________________________________ +[ 4414] By: gsar on 1999/10/20 00:37:46 + Log: skip unreadable directory test when running as root + Branch: perl + ! t/lib/glob-basic.t +____________________________________________________________________________ +[ 4413] By: jhi on 1999/10/19 09:26:52 + Log: Avoid GNU ar if HP cc is being used. + Branch: cfgperl + ! hints/hpux.sh +____________________________________________________________________________ +[ 4412] By: jhi on 1999/10/19 07:24:29 + Log: Integrate with Sarathy. + Branch: cfgperl + !> perlvars.h +____________________________________________________________________________ +[ 4411] By: jhi on 1999/10/19 07:22:34 + Log: Long double support: sqrtl et al are not available everywhere, + e.g. not in Solaris, even when long doubles are. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.h +____________________________________________________________________________ +[ 4410] By: jhi on 1999/10/19 07:21:42 + Log: Add sqrtl probe, add echo dependencies. + Branch: metaconfig + ! U/threads/d_pthreadj.U + Branch: metaconfig/U/perl + + d_sqrtl.U + ! i_inttypes.U io64.U +____________________________________________________________________________ +[ 4409] By: gsar on 1999/10/19 02:18:54 + Log: perl_mutex n/a if !USE_THREADS + Branch: perl + ! perlvars.h +____________________________________________________________________________ +[ 4408] By: jhi on 1999/10/18 20:13:02 + Log: Forgotten s/warning/warnings/. + Branch: cfgperl + ! Makefile.SH +____________________________________________________________________________ +[ 4407] By: jhi on 1999/10/18 20:02:12 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlfilter.pod + !> (integrate 30 files) +____________________________________________________________________________ +[ 4406] By: gsar on 1999/10/18 16:32:10 + Log: added intro to source filters from Paul Marquess + Branch: perl + + pod/perlfilter.pod + ! MANIFEST pod/perldelta.pod +____________________________________________________________________________ +[ 4405] By: gsar on 1999/10/18 05:53:06 + Log: missing manpages + Branch: perl + ! installman +____________________________________________________________________________ +[ 4404] By: gsar on 1999/10/18 05:09:22 + Log: pod updates from Tom Christiansen + Branch: perl + ! lib/Pod/Man.pm pod/perldelta.pod pod/perlmodlib.pod +____________________________________________________________________________ +[ 4403] By: gsar on 1999/10/17 23:43:59 + Log: PL_malloc_mutex needs to be global, not per-interpreter + (malloc.c has static data) + Branch: perl + ! embedvar.h intrpvar.h objXSUB.h perl.c perlvars.h +____________________________________________________________________________ +[ 4402] By: gsar on 1999/10/17 22:30:30 + Log: support PERL_IMPLICIT_SYS with MULTIPLICITY/USE_THREADS on + windows + Branch: perl + ! XSUB.h ext/POSIX/POSIX.xs intrpvar.h makedef.pl malloc.c + ! perl.c perl.h perlio.c win32/perllib.c win32/win32.c + ! win32/win32.h +____________________________________________________________________________ +[ 4401] By: gsar on 1999/10/17 20:33:42 + Log: serious bug introduced by G_VOID changes in 5.003_96: scalar + eval"" did not pop stack correctly; C<$a = eval "(1,2)x1"> + is one symptom of the problem + Branch: perl + ! pp_ctl.c t/op/eval.t +____________________________________________________________________________ +[ 4400] By: gsar on 1999/10/17 18:36:46 + Log: remove FileHandle from list of PodParser dependencies (the + difference is 20 files vs 6 files loaded!) + Branch: perl + ! lib/Pod/Parser.pm lib/Pod/Select.pm pod/perldelta.pod + ! t/pod/testcmp.pl +____________________________________________________________________________ +[ 4399] By: nick on 1999/10/17 14:51:35 + Log: Pre-trip resolve + Branch: utfperl + !> installperl lib/Text/Tabs.pm perl.c pp_hot.c +____________________________________________________________________________ +[ 4398] By: gsar on 1999/10/17 09:19:24 + Log: make installperl ignore RCS files (from Michael G Schwern + ) + Branch: perl + ! installperl lib/Text/Tabs.pm +____________________________________________________________________________ +[ 4397] By: gsar on 1999/10/16 18:30:14 + Log: another bug in change#3386 (CATCH_SET wasn't reverted correctly) + Branch: perl + ! perl.c +____________________________________________________________________________ +[ 4396] By: jhi on 1999/10/16 17:44:39 + Log: Missing comma. + Branch: cfgperl + ! lib/diagnostics.pm +____________________________________________________________________________ +[ 4395] By: gsar on 1999/10/16 17:18:36 + Log: assumption about @_ always being non-REAL doesn't hold when + debugger is running; DB::sub() can call arbitrary stuff + that modifies @_ at will + Branch: perl + ! pp_hot.c +____________________________________________________________________________ +[ 4394] By: nick on 1999/10/16 09:35:20 + Log: Resolve utfperl branch against mainline as of _62 + Branch: utfperl + +> eg/cgi/dna_small_gif.uu eg/cgi/wilogo_gif.uu + +> ext/DB_File/hints/sco.pl ext/DynaLoader/hints/aix.pl + +> ext/File/Glob/Changes ext/File/Glob/Glob.pm + +> ext/File/Glob/Glob.xs ext/File/Glob/Makefile.PL + +> ext/File/Glob/TODO ext/File/Glob/bsd_glob.c + +> ext/File/Glob/bsd_glob.h ext/NDBM_File/hints/sco.pl + +> pod/perlhack.pod t/lib/glob-basic.t t/lib/glob-global.t + +> t/lib/glob-taint.t win32/genmk95.pl + - eg/cgi/dna.small.gif.uu eg/cgi/wilogo.gif.uu + !> (integrate 144 files) +____________________________________________________________________________ +[ 4393] By: gsar on 1999/10/16 04:07:02 + Log: OS/2 support bits (from Ilya Zakharevich) + Branch: perl + ! hints/os2.sh makedef.pl os2/Makefile.SHs t/lib/glob-basic.t +____________________________________________________________________________ +[ 4392] By: jhi on 1999/10/15 10:28:09 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes MANIFEST Makefile.SH Porting/makerel lib/Pod/Man.pm + !> lib/Pod/Parser.pm op.c pod/perldelta.pod pod/perlopentut.pod + !> win32/Makefile win32/makefile.mk + +---------------- +Version 5.005_62 +---------------- + +____________________________________________________________________________ +[ 4391] By: gsar on 1999/10/15 10:12:42 + Log: here be 5.005_62 + Branch: perl + ! Changes MANIFEST Porting/makerel +____________________________________________________________________________ +[ 4390] By: gsar on 1999/10/15 09:45:51 + Log: lvalue subs patch (change#4081) breaks C<\(Foo->Bar())>; + avoid tickling it in Pod::Man for now; other nits in + Pod::* + Branch: perl + ! lib/Pod/Man.pm lib/Pod/Parser.pm pod/perldelta.pod + ! pod/perlopentut.pod +____________________________________________________________________________ +[ 4389] By: gsar on 1999/10/15 08:55:01 + Log: disable internal globbing for miniperl (or build breaks out + in a rash of failed dependencies) + Branch: perl + ! Makefile.SH op.c win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4388] By: jhi on 1999/10/15 08:07:49 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes ext/POSIX/POSIX.xs lib/Benchmark.pm pod/perldelta.pod + !> pod/perlfaq2.pod win32/include/dirent.h win32/win32.c +____________________________________________________________________________ +[ 4387] By: gsar on 1999/10/15 07:46:24 + Log: integrate cfgperl contents into mainline + Branch: perl + ! Changes + !> pod/perldelta.pod pod/perldiag.pod regcomp.c + !> t/pragma/warn/regcomp +____________________________________________________________________________ +[ 4386] By: gsar on 1999/10/15 05:45:36 + Log: various little goofs in change#4385 + Branch: perl + ! win32/include/dirent.h win32/win32.c +____________________________________________________________________________ +[ 4385] By: gsar on 1999/10/15 04:49:09 + Log: win32_*dir() cleanup; win32_readdir() iterates as necessary + rather than win32_opendir() reading all files up front (untested) + Branch: perl + ! win32/include/dirent.h win32/win32.c +____________________________________________________________________________ +[ 4384] By: gsar on 1999/10/15 01:34:09 + Log: Benchmark notes (from Barrie Slaymaker ) + Branch: perl + ! lib/Benchmark.pm pod/perldelta.pod +____________________________________________________________________________ +[ 4383] By: gsar on 1999/10/15 01:22:32 + Log: include info about Perl Mongers in perlfaq2 (from David H. Adler + ) + Branch: perl + ! pod/perlfaq2.pod +____________________________________________________________________________ +[ 4382] By: gsar on 1999/10/15 01:14:22 + Log: From: jand@ActiveState.com (Jan Dubois) + Date: Fri, 15 Oct 1999 01:14:23 +0200 + Message-ID: <380f61ae.18202914@smtprelay.t-online.de> + Subject: [PATCH 5.005_61] Prevent "Out of memory" error in POSIX's strftime() + Branch: perl + ! ext/POSIX/POSIX.xs +____________________________________________________________________________ +[ 4381] By: jhi on 1999/10/14 22:11:36 + Log: Integrate with Sarathy. + Branch: cfgperl + !> XSUB.h cop.h embed.h embed.pl ext/File/Glob/bsd_glob.c + !> lib/Time/Local.pm perl.c perlapi.c pod/perlop.pod pp_ctl.c + !> proto.h scope.c scope.h t/op/runlevel.t util.c win32/Makefile + !> win32/makefile.mk +____________________________________________________________________________ +[ 4380] By: jhi on 1999/10/14 22:08:22 + Log: Warn inside character classes about unknown backslash escapes + (that are not caught earlier because of being completely unknown, + such as \m), such as \z (because they make do sense inside regexen, + but not inside character classes). + Branch: cfgperl + ! pod/perldelta.pod pod/perldiag.pod regcomp.c + ! t/pragma/warn/regcomp +____________________________________________________________________________ +[ 4379] By: gsar on 1999/10/14 18:26:56 + Log: clarify significance of parens for "x" (from M.J.T. Guy + ) + Branch: perl + ! pod/perlop.pod +____________________________________________________________________________ +[ 4378] By: gsar on 1999/10/14 18:25:20 + Log: make timelocal work better when time is close to the epoch + east of GMT (from Keiki SATOH ) + Branch: perl + ! lib/Time/Local.pm +____________________________________________________________________________ +[ 4377] By: gsar on 1999/10/14 18:15:11 + Log: integrate cfgperl contents into mainline + Branch: perl + +> ext/DB_File/hints/sco.pl + !> MANIFEST hints/aix.sh hints/linux.sh hints/svr5.sh + !> pod/perldelta.pod pod/perldiag.pod pod/perlop.pod + !> pod/perlre.pod regcomp.c t/op/re_tests t/pragma/warn/regcomp +____________________________________________________________________________ +[ 4376] By: gsar on 1999/10/14 17:47:35 + Log: fix POPSTACK panics that ensued from bad interaction between + runlevels and stack of stacks (change#3988 done right); + basically, we pop the runlevel if the stacklevel is not the + same one we started the runlevel with + Branch: perl + ! cop.h perl.c pp_ctl.c t/op/runlevel.t util.c +____________________________________________________________________________ +[ 4375] By: gsar on 1999/10/14 15:54:48 + Log: avoid warnings + Branch: perl + ! ext/File/Glob/bsd_glob.c +____________________________________________________________________________ +[ 4374] By: jhi on 1999/10/14 10:08:44 + Log: Warn about false ranges like \d-\w (see the change #4355). + The invalid ranges (b-a) warning message also enhanced. + Branch: cfgperl + ! pod/perldelta.pod pod/perldiag.pod regcomp.c t/op/re_tests + ! t/pragma/warn/regcomp +____________________________________________________________________________ +[ 4373] By: gsar on 1999/10/14 03:49:54 + Log: File::Glob fixes for Windows + Branch: perl + ! XSUB.h ext/File/Glob/bsd_glob.c win32/Makefile + ! win32/makefile.mk +____________________________________________________________________________ +[ 4372] By: gsar on 1999/10/14 02:21:31 + Log: avoid inefficiency in change#3386 (every longjmp() was followed + by an avoidable call to setjmp()) + Branch: perl + ! embed.h embed.pl perl.c perlapi.c pod/perldelta.pod pp_ctl.c + ! proto.h scope.c scope.h +____________________________________________________________________________ +[ 4371] By: jhi on 1999/10/13 21:17:17 + Log: Integrate with Sarathy. + Branch: cfgperl + !> op.c pod/perldelta.pod +____________________________________________________________________________ +[ 4370] By: gsar on 1999/10/13 18:08:45 + Log: misc tweaks + Branch: perl + ! op.c pod/perldelta.pod +____________________________________________________________________________ +[ 4369] By: jhi on 1999/10/13 16:18:58 + Log: Integrate with Sarathy. + Branch: cfgperl + !> pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod +____________________________________________________________________________ +[ 4368] By: gsar on 1999/10/13 16:14:16 + Log: pod nits from various perl porters + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod +____________________________________________________________________________ +[ 4367] By: jhi on 1999/10/13 12:10:30 + Log: From: Vlad Harchev + To: perl5-porters@perl.org + Subject: [ID 19991013.002] fix for 'perlop.pod' shipped with perl5.00503 + Date: Wed, 13 Oct 1999 15:48:59 +0500 (SAMST) + Message-Id: + Branch: cfgperl + ! pod/perlop.pod +____________________________________________________________________________ +[ 4366] By: gsar on 1999/10/13 08:11:11 + Log: typos and language goofs pointed out by Hugo van der Sanden + + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod +____________________________________________________________________________ +[ 4365] By: jhi on 1999/10/13 07:27:44 + Log: Integrate with Sarathy. + Branch: cfgperl + +> ext/File/Glob/Changes ext/File/Glob/Glob.pm + +> ext/File/Glob/Glob.xs ext/File/Glob/Makefile.PL + +> ext/File/Glob/TODO ext/File/Glob/bsd_glob.c + +> ext/File/Glob/bsd_glob.h ext/NDBM_File/hints/sco.pl + +> t/lib/glob-basic.t t/lib/glob-global.t t/lib/glob-taint.t + !> Changes MANIFEST README.win32 ext/ODBM_File/hints/sco.pl + !> lib/perl5db.pl op.c pod/perldelta.pod pod/perlfaq8.pod + !> pod/perlfunc.pod pod/perlop.pod pod/perlport.pod t/op/glob.t + !> t/op/readdir.t t/op/taint.t t/pragma/overload.t util.c +____________________________________________________________________________ +[ 4364] By: gsar on 1999/10/13 07:06:04 + Log: debugger tweak (from M.J.T. Guy ) + Branch: perl + ! lib/perl5db.pl +____________________________________________________________________________ +[ 4363] By: jhi on 1999/10/13 07:03:43 + Log: From: Mike Hopkirk (hops) + To: perl5-porters@perl.org + Subject: [ID 19991012.002] Latest UnixWare7 (svr5.sh) hints file + Date: Tue, 12 Oct 1999 19:48:11 -0700 (PDT) + Message-Id: <199910130248.TAA14636@scoot.pdev.sco.com> + Branch: cfgperl + ! hints/svr5.sh +____________________________________________________________________________ +[ 4362] By: jhi on 1999/10/13 06:57:16 + Log: Add DB_File hint for SCO ODT. + From: hops@sco.com + To: perl5-porters@perl.org + Subject: [ID 19991012.004] Build patch for perl5.005_03 on ODT3 ( 3.2v4.2) + Date: Tue, 12 Oct 1999 20:16:04 PDT + Message-Id: <199910122016.aa18415@charmstr.pdev.sco.com> + Branch: cfgperl + + ext/DB_File/hints/sco.pl + ! MANIFEST +____________________________________________________________________________ +[ 4361] By: gsar on 1999/10/13 06:56:08 + Log: PL_numeric_radix used without being defined (from Ilya + Zakharevich) + Branch: perl + ! util.c +____________________________________________________________________________ +[ 4360] By: gsar on 1999/10/13 06:43:03 + Log: use libdbm.nfs.a if available (libdbm.a is missing dbmclose()) + From: hops@sco.com + Date: Tue, 12 Oct 1999 20:16:04 PDT + Message-Id: <199910122016.aa18415@charmstr.pdev.sco.com> + Subject: [ID 19991012.004] Build patch for perl5.005_03 on ODT3 ( 3.2v4.2) + Branch: perl + + ext/NDBM_File/hints/sco.pl + ! MANIFEST ext/ODBM_File/hints/sco.pl +____________________________________________________________________________ +[ 4359] By: gsar on 1999/10/13 06:34:53 + Log: various pod tweaks (from M.J.T. Guy ) + Branch: perl + ! README.win32 pod/perlfaq8.pod pod/perlfunc.pod pod/perlop.pod + ! pod/perlport.pod +____________________________________________________________________________ +[ 4358] By: gsar on 1999/10/12 19:10:27 + Log: perldelta updates + Branch: perl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2559] By: gbarr on 1999/01/02 15:37:35 - Log: From: Blair Zajac - Date: Wed, 23 Dec 1998 17:13:32 -0800 - Message-ID: <3681953C.8B6A90AA@geostaff.com> - Subject: Tie::SubstrHash patch - Branch: maint-5.005/perl - ! lib/Tie/SubstrHash.pm +[ 4357] By: gsar on 1999/10/12 17:11:18 + Log: update perldelta for change#4356 + Branch: perl + ! Changes pod/perldelta.pod ____________________________________________________________________________ -[ 2558] By: gbarr on 1999/01/02 15:30:01 - Log: integrate change #2544 +[ 4356] By: gsar on 1999/10/12 16:53:31 + Log: add File::BSDGlob as File::Glob and load it at compile-time + if perl was built with -DPERL_INTERNAL_GLOB - From: Tim Bunce - Subject: bug in pod2man search for perl binary [5.005_5x] - Date: Sat, 12 Dec 1998 23:08:51 +0000 - Message-ID: <19981212230851.A20578@ig.co.uk> - Branch: maint-5.005/perl - !> pod/pod2man.PL + TODO: we currently get a compile-time failure if File/Glob.pm + can't be found; such failure needs to be made to emit a warning + and use the csh implementation instead + Branch: perl + + ext/File/Glob/Changes ext/File/Glob/Glob.pm + + ext/File/Glob/Glob.xs ext/File/Glob/Makefile.PL + + ext/File/Glob/TODO ext/File/Glob/bsd_glob.c + + ext/File/Glob/bsd_glob.h t/lib/glob-basic.t + + t/lib/glob-global.t t/lib/glob-taint.t + ! MANIFEST op.c t/op/glob.t t/op/readdir.t t/op/taint.t + ! t/pragma/overload.t ____________________________________________________________________________ -[ 2557] By: gbarr on 1999/01/02 15:20:42 - Log: integrate change #2548 - - From: Hugo van der Sanden - To: perl5-porters@perl.org - cc: hv@crypt0.demon.co.uk - Subject: [bug 5.004_54] duplicate error message - Date: Thu, 31 Dec 1998 04:05:25 +0000 - Message-Id: <199812310405.EAA00386@crypt.compulink.co.uk> - - Message-ID: <13963.60672.134591.383377@alias-2.pr.mcs.net> - From: Stephen McCamant - To: hv@crypt0.demon.co.uk - Cc: perl5-porters@perl.org - Subject: [PATCH _54] Re: duplicate error message - Date: Thu, 31 Dec 1998 16:10:13 -0600 (CST) - - Message-Id: <199901010732.HAA02926@crypt.compulink.co.uk> - From: Hugo van der Sanden - To: Stephen McCamant - cc: hv@crypt0.demon.co.uk, perl5-porters@perl.org - Subject: [TEST PATCH _54] Re: duplicate error message - Date: Fri, 01 Jan 1999 07:32:14 +0000 - Branch: maint-5.005/perl - ! op.c t/pragma/warn-1global taint.c +[ 4355] By: jhi on 1999/10/12 15:30:05 + Log: Revert the parts of #3926 that outlawed character ranges + that have character classes such as \w as either endpoint. + This change re-establishes the old behavior which meant that + such ranges weren't really ranges, the "-" was literal. + Moreover, this change also fixes the old behavior to be + more consistent: [\w-.] and [\s-\w] worked, but [.-\w] didn't. + Now they all do work as described above. The #3926 outlawed + all of those. + Branch: cfgperl + ! pod/perldiag.pod pod/perlre.pod regcomp.c t/op/re_tests ____________________________________________________________________________ -[ 2556] By: gbarr on 1999/01/02 15:18:58 - Log: From: abigail@fnx.com - Date: Mon, 28 Dec 1998 14:16:12 -0500 (EST) - Message-ID: <19981228191612.8380.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_02; lib/fields.pm] Typos in pod. - Branch: maint-5.005/perl - ! lib/fields.pm +[ 4354] By: jhi on 1999/10/12 09:58:59 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 33 files) ____________________________________________________________________________ -[ 2555] By: gbarr on 1999/01/02 15:11:45 - Log: intregrate change #2547 - - From: Chris Nandor - Subject: Re: [PATCH] perlport.pod 1.38 - Date: Thu, 31 Dec 1998 09:06:48 -0500 - Message-Id: - Branch: maint-5.005/perl - !> pod/perlport.pod +[ 4353] By: gsar on 1999/10/12 05:53:40 + Log: apply parts of LynxOS patches from Alan Johnson + + Branch: perl + ! Changes hints/lynxos.sh pod/perldelta.pod t/lib/safe2.t + ! t/op/groups.t ____________________________________________________________________________ -[ 2543] By: gbarr on 1998/12/31 06:17:13 - Log: integrated relevant parts og changes #2385 & #2387 from mainline - - various fixes for race conditions under threads: mutex locks based - on PL_threadnum were seriously flawed, since it means more than one - thread could enter the critical region; PL_na was global instead of - thread-local; child thread could finish and free thr structures - before Thread->new() got around to creating the Thread object; - cv_clone() needed locking, as it mucks with PL_comppad and other - global data; new_struct_thread() needed to lock template-thread's - mutex while copying its data - - another threads reliability fix: serialize writes to thr->threadsv - avoid most uses of PL_na (which is much more inefficient than a - simple local); update docs to suit; PL_na now being thr->Tna may - be a minor compatibility issue for extensions--will require dTHR - outside of XSUBs (those get automatic dTHR) - Branch: maint-5.005/perl - ! XSUB.h djgpp/djgpp.c doio.c doop.c dump.c embedvar.h - ! ext/DynaLoader/dl_next.xs ext/IO/IO.xs ext/Opcode/Opcode.xs - ! ext/POSIX/POSIX.xs ext/Thread/Thread.xs ext/attrs/attrs.xs - ! gv.c malloc.c mg.c objXSUB.h op.c os2/OS2/REXX/REXX.xs - ! os2/os2.c perl.c perlvars.h perly.c perly.y pod/perlcall.pod - ! pod/perlembed.pod pod/perlguts.pod pod/perlxs.pod pp.c pp.h - ! pp_ctl.c pp_hot.c pp_sys.c run.c sv.c taint.c thread.h toke.c - ! universal.c util.c vms/ext/Stdio/Stdio.xs vms/perly_c.vms - ! vms/vms.c win32/win32.c win32/win32thread.c -____________________________________________________________________________ -[ 2542] By: gbarr on 1998/12/30 14:46:40 - Log: doc updates - - From: abigail@fnx.com - Date: Wed, 23 Dec 1998 22:32:07 -0500 (EST) - Message-ID: <19981224033207.16751.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_02] Typo in documentation of pod2html. - - From: abigail@fnx.com - Date: Wed, 23 Dec 1998 22:59:59 -0500 (EST) - Message-ID: <19981224035959.16994.qmail@alexandra.wayne.fnx.com> - Subject: [PATCH 5.005_02] Re: m// doc is buggy (was Re: m'$foo' is undocumented) +[ 4352] By: gsar on 1999/10/12 05:24:39 + Log: allow any unpack specifier to take a count via '/' + (from Ilya Zakharevich) + Branch: perl + ! pp.c t/op/pack.t +____________________________________________________________________________ +[ 4351] By: gsar on 1999/10/12 05:02:35 + Log: avoid warnings + Branch: perl + ! malloc.c +____________________________________________________________________________ +[ 4350] By: gsar on 1999/10/12 04:50:52 + Log: various cleanups + Branch: perl + ! ext/Devel/DProf/DProf.xs op.c perl.c perly.c perly.y + ! perly_c.diff pp_hot.c toke.c vms/perly_c.vms win32/config.bc + ! win32/config.gc win32/config.vc win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/config_sh.PL +____________________________________________________________________________ +[ 4349] By: gsar on 1999/10/12 00:23:11 + Log: update Changes, patchlevel etc. + Branch: perl + ! Changes Porting/findvars patchlevel.h win32/Makefile + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + ! win32/makefile.mk +____________________________________________________________________________ +[ 4348] By: gsar on 1999/10/11 23:11:57 + Log: add vec() example from Chaim Frenkel + Branch: perl + ! pod/perlfunc.pod +____________________________________________________________________________ +[ 4347] By: jhi on 1999/10/11 21:25:03 + Log: Sparc Linux -Duseshrplib fix. - pod/perldelta.pod from: - From: Jarkko Hietaniemi - Date: Thu, 17 Dec 1998 16:13:34 +0200 (EET) - Message-ID: <13945.4494.140163.973953@alpha.hut.fi> - Subject: Re: important UNDOC issues for 5.005_54 - Branch: maint-5.005/perl - ! pod/perldelta.pod pod/perlop.pod pod/pod2html.PL + From: Brian Jepson + To: Nick Ing-Simmons + cc: perl5-porters@perl.org + Subject: Re: [ID 19990813.002] Can't build Perl 5.005_60 on SPARC/Linux with -Duseshrplib + Date: Fri, 20 Aug 1999 11:25:17 -0500 (EST) + Message-ID: + Branch: cfgperl + ! hints/linux.sh ____________________________________________________________________________ -[ 2541] By: gbarr on 1998/12/30 14:37:14 - Log: From: jan.dubois@ibm.net (Jan Dubois) - Date: Wed, 23 Dec 1998 21:26:38 +0100 - Message-ID: <36895086.8849224@smtp1.ibm.net> - Subject: [PATCH 5.005_03m1] subdirectory Makefiles should inherit CAPI setting from command line - Branch: maint-5.005/perl - ! lib/ExtUtils/MakeMaker.pm +[ 4346] By: gsar on 1999/10/11 20:28:32 + Log: more pack/unpack documentation (from Ilya Zakharevich); changed + the behavior of 'Z*' and 'Z3' to always pack a trailing + null byte; changed documentation to suit; added test + Branch: perl + ! pod/perlfunc.pod pp.c t/op/pack.t ____________________________________________________________________________ -[ 2538] By: gbarr on 1998/12/29 14:41:29 - Log: From: Jarkko Hietaniemi - Date: Tue, 22 Dec 1998 10:57:48 +0200 (EET) - Message-ID: <13951.24332.932827.831376@alpha.hut.fi> - Subject: Re: x operator broken in DEC Alpha for 8-bit characters (Re: Digest-MD5-2.00 test fails on DEC Alpha - a patch) - Branch: maint-5.005/perl - ! t/op/repeat.t util.c +[ 4345] By: gsar on 1999/10/11 19:15:46 + Log: writing to perllocal.pod fails if it was never created; + tweak pseudo-hash example (both suggested by Michael G Schwern + ) + Branch: perl + ! lib/ExtUtils/MM_Unix.pm pod/perlref.pod ____________________________________________________________________________ -[ 2535] By: gbarr on 1998/12/29 14:27:56 - Log: From: Jarkko Hietaniemi - Date: Fri, 18 Dec 1998 16:39:27 +0200 (EET) - Message-ID: <13946.26911.140905.387070@alpha.hut.fi> - Subject: Math::Trig, Math::Complex, Fcntl, addressed (Re: Undocumentation Issues for 5.005) - Branch: maint-5.005/perl - ! pod/perldelta.pod +[ 4344] By: gsar on 1999/10/11 17:57:31 + Log: slightly edited variant of suggested patch + From: Ilya Zakharevich + Date: Thu, 9 Sep 1999 18:35:37 -0400 + Message-ID: <19990909183537.A28682@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_58] How RExen match? + Branch: perl + ! pod/perlre.pod ____________________________________________________________________________ -[ 2534] By: gbarr on 1998/12/29 14:23:02 - Log: From: Jarkko Hietaniemi - Date: Tue, 15 Dec 1998 17:52:32 +0200 (EET) - Message-ID: <13942.34240.66558.169330@alpha.hut.fi> - Subject: some doc link fixes - Branch: maint-5.005/perl - ! pod/perlcall.pod pod/perldata.pod pod/perldiag.pod - ! pod/perlfaq5.pod pod/perlfaq7.pod pod/perlfunc.pod - ! pod/perlguts.pod pod/perllocale.pod pod/perlobj.pod - ! pod/perlsub.pod pod/perlvar.pod +[ 4343] By: gsar on 1999/10/11 16:55:48 + Log: change#4327 was inefficient + Branch: perl + ! lib/lib.pm ____________________________________________________________________________ -[ 2533] By: gbarr on 1998/12/29 14:23:00 - Log: From: Chris Nandor - Date: Sat, 19 Dec 1998 12:54:34 -0500 - Message-Id: - Subject: [PATCH] perlport.pod v1.37 - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 4342] By: jhi on 1999/10/11 07:01:46 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlhack.pod + !> (integrate 28 files) ____________________________________________________________________________ -[ 2531] By: gbarr on 1998/12/29 14:12:25 - Log: change in_pod pattern to /^=\w/ from /^=/ - From: Frank Ridderbusch - Date: Tue, 15 Dec 1998 16:23:12 +0100 (MET) - Message-ID: <13942.32480.700000.640927@utensil> - Subject: Minor Bug in AutoSplit.qm in 5.005 and 5.004 - Branch: maint-5.005/perl - ! lib/AutoSplit.pm +[ 4341] By: jhi on 1999/10/11 06:37:47 + Log: The 2.5th cut at the AIX C++ extension problems. + Branch: cfgperl + ! hints/aix.sh ____________________________________________________________________________ -[ 2530] By: gbarr on 1998/12/29 14:09:51 - Log: undo the "perlsyn intrusion" into perlfunc - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4340] By: gsar on 1999/10/10 23:48:07 + Log: add perlhack.pod from Nathan Torkington + Branch: perl + + pod/perlhack.pod + ! MANIFEST pod/Makefile pod/perl.pod pod/roffitall ____________________________________________________________________________ -[ 2529] By: gbarr on 1998/12/29 14:04:35 - Log: From: Jarkko Hietaniemi - Date: Sun, 13 Dec 1998 14:54:56 +0200 (EET) - Message-Id: <199812131254.OAA24494@koah.research.nokia.com> - Subject: ignore_versioned_libs isn't used anywhere (it became ignore_versioned_solibs) - Branch: maint-5.005/perl - ! hints/linux.sh +[ 4339] By: gsar on 1999/10/10 20:42:40 + Log: revert SAVEDESTRUCTOR() to accepting void(*)(void*) for source + compatibility; introduce SAVEDESTRUCTOR_X() that accepts + void(*)(pTHX_ void*) + Branch: perl + ! embed.h embed.pl ext/Devel/DProf/DProf.xs global.sym mg.c + ! objXSUB.h perl.h perlapi.c perly.c perly.y perly_c.diff + ! pod/perlguts.pod pod/perltoc.pod pp.c pp_hot.c proto.h + ! regcomp.h regexec.c scope.c scope.h toke.c vms/perly_c.vms ____________________________________________________________________________ -[ 2528] By: gbarr on 1998/12/29 13:59:49 - Log: From: Ilya Zakharevich - Date: Wed, 28 Oct 1998 01:20:33 -0500 (EST) - Message-Id: <199810280620.BAA06893@monk.mps.ohio-state.edu> - Subject: [PATCH 5.00552] Make sort respect overloading - Branch: maint-5.005/perl - ! pp_ctl.c t/pragma/overload.t +[ 4338] By: gsar on 1999/10/10 20:38:59 + Log: add missing new diagnostics to perldelta + Branch: perl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2527] By: gbarr on 1998/12/29 13:58:56 - Log: doc update, quads only work on 64-but platforms - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4337] By: gsar on 1999/10/10 17:40:13 + Log: update perldelta for change#3406 + Branch: perl + ! embed.pl pod/perldata.pod pod/perldelta.pod ____________________________________________________________________________ -[ 2526] By: gbarr on 1998/12/29 13:49:55 - Log: From: Andy Dougherty - Date: Tue, 1 Dec 1998 12:50:27 -0500 (EST) - Message-Id: - Subject: [PATCH 5.005_xx] erroneous 'none' in lddlflags - Branch: maint-5.005/perl - ! Configure +[ 4336] By: gsar on 1999/10/10 16:33:14 + Log: integrate cfgperl contents into mainline + Branch: perl + +> ext/DynaLoader/hints/aix.pl + !> MANIFEST ext/DynaLoader/dl_aix.xs hints/aix.sh hints/irix_6.sh + !> makedef.pl perl.h pod/perldelta.pod ____________________________________________________________________________ -[ 2512] By: gbarr on 1998/12/28 14:56:36 - Log: change t/op/pwent.t to ignore NIS includes - From: achampio@lehman.com (Alan Champion) - Date: Tue, 1 Dec 1998 15:18:03 GMT - Message-Id: <9812011518.AA00005@lonhpov1.lehman.com> - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_1 on sun4-solaris 2.3 (UNINSTALLED) - - From: pvhp@forte.com (Peter Prymmer) - Date: Fri, 4 Dec 98 17:11:41 PST - Message-Id: <9812050111.AA16778@forte.com> - Subject: [PATCH 5.005_03-MAINT_TRIAL_1 && 5.005_54]dumper and searchdict ebcdic style - Branch: maint-5.005/perl - ! t/lib/dumper.t t/lib/searchdict.t t/op/pwent.t +[ 4335] By: jhi on 1999/10/10 11:09:48 + Log: Update perldelta. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2511] By: gbarr on 1998/12/28 14:55:28 - Log: From: jan.dubois@ibm.net (Jan Dubois) - Date: Tue, 01 Dec 1998 00:07:33 +0100 - Message-ID: <366921b5.14512598@smtp1.ibm.net> - Subject: Re: 5.005_03-MAINT-TRIAL1, [PATCH] to compile on Win32 - - From: jan.dubois@ibm.net (Jan Dubois) - Date: Wed, 02 Dec 1998 00:24:54 +0100 - Message-ID: <366a77bb.19498126@smtp1.ibm.net> - Subject: Re: 5.005_03-MAINT-TRIAL1, [PATCH] spaces in filenames support - Branch: maint-5.005/perl - ! perl.h proto.h taint.c win32/GenCAPI.pl win32/Makefile - ! win32/config.bc win32/config.gc win32/config.vc - ! win32/config_sh.PL win32/makedef.pl +[ 4334] By: jhi on 1999/10/10 10:31:46 + Log: Integrate with Sarathy. + Branch: cfgperl + +> win32/genmk95.pl + !> Changes MANIFEST README.win32 cop.h ext/Thread/Thread.pm + !> ext/Thread/Thread.xs ext/Thread/Thread/Queue.pm + !> ext/Thread/Thread/Semaphore.pm ext/Thread/Thread/Specific.pm + !> ext/Thread/sync.t ext/Thread/sync2.t installperl + !> lib/Exporter.pm lib/ExtUtils/MM_Unix.pm + !> lib/ExtUtils/MM_Win32.pm lib/diagnostics.pm lib/lib.pm perl.c + !> pod/perldelta.pod pod/perlfunc.pod pp_ctl.c pp_hot.c pp_sys.c + !> utils/perldoc.PL win32/makefile.mk ____________________________________________________________________________ -[ 2510] By: gbarr on 1998/12/28 14:37:35 - Log: From: Ilya Zakharevich - Date: Tue, 1 Dec 1998 00:34:08 -0500 (EST) - Message-Id: <199812010534.AAA21371@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Debugger 'v' command - Branch: maint-5.005/perl - ! lib/perl5db.pl +[ 4333] By: gsar on 1999/10/10 06:33:15 + Log: install pods to 'pods' rather than 'pod' on cygwin (modified + a patch suggested by cwilson@cc865179-c.chmbl1.ga.home.com) + Branch: perl + ! installperl lib/diagnostics.pm utils/perldoc.PL ____________________________________________________________________________ -[ 2478] By: gbarr on 1998/12/13 16:02:24 - Log: From: pvhp@forte.com (Peter Prymmer) - Date: Mon, 30 Nov 98 21:08:36 PST - Message-Id: <9812010508.AA07791@forte.com> - Subject: [PATCH 5.005_03t1 && 5.005_54]dll linkage side decks for OS/390 - Branch: maint-5.005/perl - ! hints/os390.sh +[ 4332] By: gsar on 1999/10/10 05:15:26 + Log: add $VERSION + Branch: perl + ! lib/Exporter.pm ____________________________________________________________________________ -[ 2477] By: gbarr on 1998/12/13 16:00:23 - Log: From: Dan Sugalski - Date: Mon, 30 Nov 1998 17:08:12 -0800 - Message-Id: <3.0.6.32.19981130170812.00b12b70@ous.edu> - Subject: [PATCH 5.005_03]Minor VMS patches needed to build - Branch: maint-5.005/perl - ! lib/ExtUtils/MM_VMS.pm vms/subconfigure.com +[ 4331] By: gsar on 1999/10/10 05:10:22 + Log: describe what can go in an export list (from Anno Siegel + ) + Branch: perl + ! lib/Exporter.pm ____________________________________________________________________________ -[ 2476] By: gbarr on 1998/12/13 15:30:58 - Log: From: pvhp@forte.com (Peter Prymmer) - Date: Fri, 4 Dec 98 00:37:32 PST - Message-Id: <9812040837.AA10908@forte.com> - Subject: Re: [PATCH 5.005_03-MAINT-TRIAL1] some tweaks to the build process for OS/390 - Branch: maint-5.005/perl - ! Makefile.SH regcomp.c +[ 4330] By: gsar on 1999/10/10 04:50:43 + Log: more basic support for building modules under Windows 95/98 + (applied relevant parts from a patch suggested by + Jochen Wiedmann ) + Branch: perl + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 2472] By: gbarr on 1998/12/12 17:12:28 - Log: undo changes to Exporter.pm from #2312 - Branch: maint-5.005/perl - ! lib/Exporter.pm +[ 4329] By: gsar on 1999/10/10 04:28:38 + Log: rudimentary support for building under Windows 95/98 (from + Benjamin Stuhl ) + Branch: perl + + win32/genmk95.pl + ! MANIFEST README.win32 lib/ExtUtils/MM_Win32.pm + ! win32/makefile.mk ____________________________________________________________________________ -[ 2471] By: gbarr on 1998/12/12 17:09:39 - Log: integrate change#2459 from cfgperl - - enclose case want_vtbl_collxfrm with #ifdef USE_LOCALE_COLLATE - - From: hansm@icgroup.nl - Subject: Not OK: perl 5.00503 +MAINT_TRIAL_1 on OPENSTEP-Mach 4_1 (UNINSTALLED) - Date: Sun, 6 Dec 98 22:19:54 +0100 - Message-Id: <9812062116.AA26445@icgned.icgroup.nl> - Branch: maint-5.005/perl - ! util.c +[ 4328] By: gsar on 1999/10/10 03:37:21 + Log: fix two leaks in Thread.xs (from Eugene Alterman + ); convert places with + 'use attrs' to new attributes syntax + Branch: perl + ! ext/Thread/Thread.pm ext/Thread/Thread.xs + ! ext/Thread/Thread/Queue.pm ext/Thread/Thread/Semaphore.pm + ! ext/Thread/Thread/Specific.pm ext/Thread/sync.t + ! ext/Thread/sync2.t ____________________________________________________________________________ -[ 2470] By: gbarr on 1998/12/12 16:46:03 - Log: re-sync'd Text::Wrap with new version from CPAN - Branch: maint-5.005/perl - +> t/lib/textfill.t - ! MANIFEST - !> lib/Text/Wrap.pm t/lib/textwrap.t +[ 4327] By: gsar on 1999/10/10 02:23:52 + Log: avoid duplicates in @INC, they cause leaks in mod_perl etc + (suggested by Tod Irwin ) + Branch: perl + ! lib/lib.pm ____________________________________________________________________________ -[ 2469] By: gbarr on 1998/12/12 15:58:43 - Log: integrate changes#2435,2436 from cfgperl - - Pod::Html and Pod::Text were not locale-savvy: - for example in =head1 all non-ASCII-\w-runs were - turned into underscores in NAME tags. This could - result in several NAME tags becoming identical. - Reported by: - - From: Fyodor Krasnov - Subject: pod2html vs Russian Characters - To: Tom.Christiansen@snn.aha.ru, tchrist@perl.com - Date: Tue, 24 Nov 1998 19:00:36 +0300 (MSK) - Message-Id: <199811241600.TAA05149@stat.aha.ru> - - One paste too many in #2435. - Branch: maint-5.005/perl - !> lib/Pod/Html.pm lib/Pod/Text.pm +[ 4326] By: gsar on 1999/10/10 00:51:48 + Log: better documentation for recv() (from Anton Berezin + ) + Branch: perl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 2468] By: gbarr on 1998/12/12 15:01:58 - Log: redirect trail program to error msg file in Configure - - From: Andy Dougherty - Date: Tue, 1 Dec 1998 13:40:12 -0500 (EST) - Message-Id: - Subject: [PATCH 5.005_xx] Missing redirection of simple test program - Branch: maint-5.005/perl - ! Configure +[ 4325] By: gsar on 1999/10/09 22:46:23 + Log: perldelta updates (see TODO markers) + Branch: perl + ! Changes pod/perldelta.pod pp_sys.c ____________________________________________________________________________ -[ 2467] By: gbarr on 1998/12/12 14:52:24 - Log: Change reall_srchlen back to an int from a #define - - From: Graham Barr - Date: Mon, 30 Nov 1998 14:29:14 -0600 - Message-ID: <19981130142914.X1504@asic.sc.ti.com> - Subject: [PATCH 5.005_03-MT!] Re: one compilation warning from 5_03-MT1 - Branch: maint-5.005/perl - ! malloc.c +[ 4324] By: gsar on 1999/10/09 19:43:10 + Log: fix Exporter::export_to_level() documentation + Branch: perl + ! lib/Exporter.pm ____________________________________________________________________________ -[ 2466] By: gbarr on 1998/12/12 14:40:56 - Log: s/SCM_CREDENTIALSS/SCM_CREDENTIALs/ in Socket.xs - - From: Andy Dougherty - Date: Thu, 3 Dec 1998 11:26:25 -0500 (EST) - Message-Id: - Subject: [PATCH 5.005_03-MAINT_TRIAL_1] Trivial grammar patch - Branch: maint-5.005/perl - ! Porting/Glossary - !> ext/Socket/Socket.xs +[ 4323] By: gsar on 1999/10/09 18:48:31 + Log: don't run END blocks when running under -c switch (older, + rarely useful behavior may still be obtained by putting + BEGIN { $^C = 0; exit; } at the end of the script) + Branch: perl + ! perl.c ____________________________________________________________________________ -[ 2456] By: gsar on 1998/12/06 13:49:02 - Log: branch perldelta.pod - Branch: maint-5.005/perl - +> pod/perldelta.pod +[ 4322] By: jhi on 1999/10/09 05:31:26 + Log: While awaiting a good test program to detect the broken gcc. + From: Thomas Conté + To: + Cc: + Subject: Re: [ID 19990825.007] test t/lib/ipc_sysv.t failing under irix 6.4 + Date: Wed, 6 Oct 1999 19:56:29 +0200 + Message-ID: <000a01bf1024$1d938f20$252ad0d4@eng.iway.fr> + Branch: cfgperl + ! hints/irix_6.sh perl.h ____________________________________________________________________________ -[ 2455] By: gsar on 1998/12/06 13:47:21 - Log: clobber perldelta.pod to reestablish branch from perl5005delta.pod - Branch: maint-5.005/perl - - pod/perldelta.pod +[ 4321] By: gsar on 1999/10/09 00:41:02 + Log: POPSUB() gave up the refcount to the CV before LEAVE had a chance to + clear entries in the CV's pad, leading to coredumps when CV had no + other references to it; this is a slightly edited version of the + patch suggested by Russel O'Connor + Branch: perl + ! cop.h pp_ctl.c pp_hot.c ____________________________________________________________________________ -[ 2415] By: gbarr on 1998/11/30 02:31:15 - Log: Chnages,patchlevel.h etc... - Branch: maint-5.005/perl - ! Changes MANIFEST patchlevel.h t/op/tr.t win32/Makefile - ! win32/config_H.bc win32/config_H.gc win32/config_H.vc - ! win32/makefile.mk +[ 4320] By: gsar on 1999/10/08 22:50:51 + Log: revert POP{SUB,LOOP}{1,2} logic to the simpler pre-5.003_24 + situation (assumptions about cx invalidation are not valid + anymore) + Branch: perl + ! cop.h pp_ctl.c pp_hot.c ____________________________________________________________________________ -[ 2411] By: gbarr on 1998/11/30 01:31:22 - Log: integrated changes#2323,2353,2369 - - From: maeda@src.ricoh.co.jp - Date: Tue, 24 Nov 1998 10:37:45 +0900 - Message-Id: <199811240137.KAA05867@luna.src.ricoh.co.jp> - Subject: format "..." bug - - Locale collation, ctype, and numeric, were initialized wrong - (if LC_ALL or LANG were unset, so were the collation/ctype/numeric), - as reported by - - From: Ilya.Sandler@etak.com (Ilya Sandler) - Subject: a bug in locale handling: LC_COLLATE ignored sometimes - Date: 25 Nov 1998 04:53:52 +0200 - Message-ID: +[ 4319] By: jhi on 1999/10/08 14:33:31 + Log: Integrate with Sarathy. + Branch: cfgperl + !> cop.h ext/Thread/Thread.xs op.c opcode.h perl.c perl.h perly.c + !> perly.y pod/perldiag.pod pod/perlfunc.pod pp_ctl.c pp_sys.c + !> t/comp/bproto.t thrdvar.h toke.c util.c +____________________________________________________________________________ +[ 4318] By: jhi on 1999/10/08 13:51:34 + Log: The second cut at AIX C++ extension troubles. + Branch: cfgperl + ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/hints/aix.pl + ! hints/aix.sh +____________________________________________________________________________ +[ 4317] By: jhi on 1999/10/08 10:44:13 + Log: The first cut at fixing Perl extensions written in C++ in AIX, + statics don't get initialized right. This patch at least + doesn't seem to break the build in my AIX, but unfortunately + I don't have the IBM C++ to do further testing. - allow final period in a file (not followed by a newline) to - terminate format spec - Branch: maint-5.005/perl - ! pp_ctl.c toke.c util.c - !> t/op/write.t + Problem reported by Stephanie Beals in + From: bealzy@us.ibm.com + To: perl5-porters@perl.org + Subject: [ID 19991007.005] DynaLoader/dl_aix.xs problem using load and unload on AIX + Date: Thu, 7 Oct 1999 15:05:54 -0400 + Message-Id: <85256803.0068E70D.00@D51MTA03.pok.ibm.com> + Branch: cfgperl + + ext/DynaLoader/hints/aix.pl + ! MANIFEST ext/DynaLoader/dl_aix.xs hints/aix.sh ____________________________________________________________________________ -[ 2408] By: gbarr on 1998/11/30 01:29:19 - Log: integrated ext/B/... changes from mainline - Branch: maint-5.005/perl - !> ext/B/B.pm ext/B/B.xs ext/B/B/Assembler.pm ext/B/B/C.pm - !> ext/B/B/Disassembler.pm +[ 4316] By: gsar on 1999/10/08 10:26:15 + Log: remove kludgey duplicate background error avoidance (caused + "leaks"; %@ wasn't even user-visible under -Dusethreads); + only repeats of most recent error are now avoided + Branch: perl + ! ext/Thread/Thread.xs perl.c perl.h pp_ctl.c thrdvar.h util.c ____________________________________________________________________________ -[ 2404] By: gbarr on 1998/11/30 00:26:36 - Log: integrate some of change#2318 from mainline - Branch: maint-5.005/perl - +> t/op/grent.t t/op/pwent.t - !> ext/DB_File/Changes ext/DB_File/DB_File.pm - !> ext/DB_File/DB_File.xs ext/POSIX/hints/dynixptx.pl - !> ext/Socket/Socket.pm ext/Socket/Socket.xs lib/Benchmark.pm - !> pod/perldata.pod t/op/sort.t +[ 4315] By: jhi on 1999/10/08 09:48:59 + Log: Fix omission. + Branch: cfgperl + ! makedef.pl ____________________________________________________________________________ -[ 2398] By: gbarr on 1998/11/29 22:11:16 - Log: integrate changes#2254,2259,2335,2345,2348,2361,2368,2380 from mainline - - win32_recvfrom() compatibility fix - - From: "Kurt D. Starsinic" - Subject: Re: [PATCH] Re: pod2man bug in date generated line - To: Albert Dvornik , "Larry W. Virden" - Cc: perlbug@perl.com - Date: 20 Nov 1998 21:30:17 +0200 - Message-ID: - - make $1 et al readonly under threads; make C fail like - C<$1 = undef> does - - fix typo in pp_defined() causing C to fail - - more conservative version of changes#2345,2346,2347; those break - C which seems to be extensively used in - the libs :-( - - fix uninitialized warnings - From: Brian Callaghan - Date: Thu, 19 Nov 1998 17:49:10 -0800 - Message-Id: <3654CA96.B64FCAEB@itginc.com> - Subject: Complete.pm patch (version 1.1) - - Liblist tweak suggested by Swen Thuemmler ; - add C<$Config{installarchlib}/CORE> to the default locations searched - on win32 - - prefer IO::Handle for IO if FileHandle:: is empty (as suggested by - Tim Bunce) - Branch: maint-5.005/perl - ! gv.c op.c pp.c - !> lib/ExtUtils/Liblist.pm lib/Term/Complete.pm pod/perlfaq4.pod - !> pod/pod2man.PL t/op/undef.t win32/win32sck.c +[ 4314] By: gsar on 1999/10/08 07:17:01 + Log: extend change#2299 to C (fixes scoping problems in + C) + Branch: perl + ! op.c ____________________________________________________________________________ -[ 2315] By: gbarr on 1998/11/27 05:16:50 - Log: integrate change#2246 from mainline, while still allowing - C - - allow C - Branch: maint-5.005/perl - ! op.c sv.c - !> t/op/sort.t +[ 4313] By: gsar on 1999/10/08 04:52:19 + Log: small tweak for change#4309 + Branch: perl + ! op.c +____________________________________________________________________________ +[ 4312] By: gsar on 1999/10/08 02:31:13 + Log: add suggested patch =~ s/NOTOP/OP_NOT/ with tests + From: Larry Wall + Date: Wed, 6 Oct 1999 09:55:57 -0700 (PDT) + Message-Id: <199910061655.JAA11333@kiev.wall.org> + Subject: Re: [ID 19991001.004] apparent parsing error with not(arg) + Branch: perl + ! opcode.h t/comp/bproto.t toke.c +____________________________________________________________________________ +[ 4311] By: gsar on 1999/10/08 00:58:19 + Log: typo + Branch: perl + ! pp_sys.c +____________________________________________________________________________ +[ 4310] By: gsar on 1999/10/07 23:51:38 + Log: fix setpgrp vs getpgrp and POSIX vs BSD confusion (spotted by + Brian Mitchell ) + Branch: perl + ! pod/perldiag.pod pod/perlfunc.pod pp_sys.c ____________________________________________________________________________ -[ 2314] By: gbarr on 1998/11/27 04:03:58 - Log: integrate change#2159 from mainline +[ 4309] By: gsar on 1999/10/07 22:57:52 + Log: change#3728 was flawed (loop contexts saw the wrong statement + info, causing loop control constructs to not find the label); + disable OP_SETSTATE entirely and add a fix that is specifically + targetted at disabling the OP_LINESEQ optimization in else BLOCK, + which was what the original patch was supposed to fix - Data::Dumper update - Branch: maint-5.005/perl - !> ext/Data/Dumper/Changes ext/Data/Dumper/Dumper.pm - !> ext/Data/Dumper/Dumper.xs ext/Data/Dumper/Todo t/lib/dumper.t + TODO: remove the remainder of the setstate logic if it can't + be used anywhere else (it isn't used anywhere now) + Branch: perl + ! cop.h op.c perly.c perly.y ____________________________________________________________________________ -[ 2313] By: gbarr on 1998/11/27 03:04:21 - Log: Fix typo in change#2312 - Branch: maint-5.005/perl - ! ext/Thread/Thread.xs +[ 4308] By: jhi on 1999/10/07 19:21:27 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/Pod/Man.pm lib/Pod/Text.pm pod/pod2man.PL +____________________________________________________________________________ +[ 4307] By: gsar on 1999/10/07 15:12:24 + Log: update to podlators-0.08 from Russ Allbery + Branch: perl + ! lib/Pod/Man.pm lib/Pod/Text.pm pod/pod2man.PL +____________________________________________________________________________ +[ 4306] By: jhi on 1999/10/06 17:20:34 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 45 files) +____________________________________________________________________________ +[ 4305] By: gsar on 1999/10/06 16:55:45 + Log: some versions of mingw32 have __int64, define iff it isn't + Branch: perl + ! win32/win32.h +____________________________________________________________________________ +[ 4304] By: gsar on 1999/10/06 03:45:44 + Log: fix typos in change#4288 + Branch: perl + ! Changes dump.c sv.c +____________________________________________________________________________ +[ 4303] By: gsar on 1999/10/06 03:22:46 + Log: integrate cfgperl contents into mainline + Branch: perl + +> eg/cgi/dna_small_gif.uu eg/cgi/wilogo_gif.uu + - eg/cgi/dna.small.gif.uu eg/cgi/wilogo.gif.uu + !> (integrate 31 files) +____________________________________________________________________________ +[ 4302] By: gsar on 1999/10/06 02:36:53 + Log: make die/warn and other diagnostics go to wherever STDERR happens + to point at; change places that meant Perl_debug_log rather than + PerlIO_stderr() + Branch: perl + ! cop.h doio.c embedvar.h ext/Devel/Peek/Peek.xs + ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_beos.xs + ! ext/DynaLoader/dl_cygwin.xs ext/DynaLoader/dl_dld.xs + ! ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_hpux.xs + ! ext/DynaLoader/dl_mpeix.xs ext/DynaLoader/dl_next.xs + ! ext/DynaLoader/dl_rhapsody.xs ext/DynaLoader/dl_vmesa.xs + ! ext/DynaLoader/dl_vms.xs ext/DynaLoader/dlutils.c + ! ext/Thread/Thread.xs ext/Thread/typemap intrpvar.h malloc.c + ! mg.c objXSUB.h op.c perl.c perl.h perlio.c pp.c pp_ctl.c + ! pp_hot.c regexec.c scope.c scope.h sv.c thread.h toke.c util.c + ! win32/dl_win32.xs win32/win32.c win32/win32thread.c +____________________________________________________________________________ +[ 4301] By: jhi on 1999/10/05 23:03:46 + Log: From: Ilya Zakharevich + To: François Désarménien + Cc: "perl5-porters@perl.org" + Subject: Re: Strange RE engine breakage in 5_61 + Date: Mon, 4 Oct 1999 19:58:03 -0400 + Message-ID: <19991004195803.A21760@monk.mps.ohio-state.edu> + + (had to apply pat.t part manually because there + already were more tests than there was in _61) + Branch: cfgperl + ! regcomp.c regexec.c t/op/pat.t t/op/re_tests +____________________________________________________________________________ +[ 4300] By: jhi on 1999/10/04 17:03:18 + Log: From: Andy Dougherty + To: Jarkko Hietaniemi + cc: Perl Porters , jhi@cc.hut.fi + Subject: Re: [ID 19991001.005] [_61] [PATCH] tarball fine on win32, zip isn't + Date: Mon, 4 Oct 1999 13:05:08 -0400 (EDT) + Message-ID: + Branch: cfgperl + + eg/cgi/dna_small_gif.uu eg/cgi/wilogo_gif.uu + - eg/cgi/dna.small.gif.uu eg/cgi/wilogo.gif.uu + ! MANIFEST ext/B/defsubs_h.PL +____________________________________________________________________________ +[ 4299] By: jhi on 1999/10/04 07:15:16 + Log: From: Michael G Schwern + To: perl5-porters@perl.org + Subject: Re: [PATCH av.c, op.c, perldiag.pod] "array field" -> "pseudo-hash field" + Date: Sun, 3 Oct 1999 17:34:17 -0400 + Message-ID: <19991003173417.A4351@blackrider> + Branch: cfgperl + ! t/lib/fields.t t/pragma/constant.t ____________________________________________________________________________ -[ 2312] By: gbarr on 1998/11/27 03:03:03 - Log: integrate change#1837,1967,1986,2060,2068,2146,2214,2224,2300,2301 from mainline - - (via private mail) - From: Charles Bailey - Date: Sat, 05 Sep 1998 01:23:58 -0400 (EDT) - Message-id: <01J1FH7R43NS002F14@cor.newman.upenn.edu> - Subject: [Patch 5.005_02] Miscellaneous VMS cleanup - - correct bugs exposed in MM_Unix.pm by commenting out Selfloader - (MAN3PODS cannot be set to ' '; stray stricture violation) - - qualify names of builtins - - handle '::' in section names properly - From: Graham Barr - Date: Sat, 17 Oct 1998 12:57:54 -0500 - Message-ID: <19981017125754.C510@pobox.com> - Subject: Re: pod2html - - From: Zachary Miller - Date: Tue, 20 Oct 1998 20:52:20 -0500 - Message-Id: <199810210152.UAA07792@simon.er.usgs.gov> - Subject: Exporter.pm's export_to_level() argument handling buggy - - hand-apply whitespace-mutiliated patch - From: "vishal bhatia" - Date: Wed, 28 Oct 1998 23:45:32 PST - Message-ID: <19981029074534.2334.qmail@hotmail.com> - Subject: [PATCH 5.005_52]Compiling modules,more bugfixes for B - - typo in newHVhv() - - avoid endless loops in Text::Wrap (from a suggestion by Lupe - Christoph ) - - properly free temporaries created by threads - - fix PL_defoutgv leak under threads - Branch: maint-5.005/perl - !> (integrate 31 files) +[ 4298] By: gsar on 1999/10/04 04:57:53 + Log: some compatibility macros were busted + Branch: perl + ! embed.h embed.pl toke.c ____________________________________________________________________________ -[ 2311] By: gbarr on 1998/11/27 01:31:36 - Log: integrate change#2210 from mainline +[ 4297] By: jhi on 1999/10/03 17:50:59 + Log: A better version of #4296. - fix AvREALISH bogusness - Branch: maint-5.005/perl - ! av.c - !> t/op/array.t + From: Michael G Schwern + To: perl5-porters@perl.org + Subject: [PATCH av.c, op.c, perldiag.pod] "array field" -> "pseudo-hash field" + Date: Sun, 3 Oct 1999 13:54:23 -0400 + Message-ID: <19991003135423.A3050@blackrider> + Branch: cfgperl + ! av.c op.c pod/perldiag.pod ____________________________________________________________________________ -[ 2310] By: gbarr on 1998/11/27 00:20:21 - Log: integrate changes#2235,2299,2300 from mainline +[ 4296] By: jhi on 1999/10/03 17:21:01 + Log: (Replaced by #4297.) - catch a neophyte trap: open(), close() etc. - - fix C misoptimization that fails - to set the package for the block properly + From: Michael G Schwern + To: perl5-porters@perl.org + Subject: [PATCH av.c, perldiag.pod] Added field name to "No such array field" + Date: Sun, 3 Oct 1999 13:16:47 -0400 + Message-ID: <19991003131647.A2816@blackrider> - properly free temporaries created by threads - Branch: maint-5.005/perl - ! ext/Thread/Thread.xs op.c perl.h util.c - !> t/comp/package.t + plus changed the error message to say "No such pseudo-hash field" + as discussed in the above mail message. + Branch: cfgperl + ! av.c pod/perldiag.pod ____________________________________________________________________________ -[ 2309] By: gbarr on 1998/11/27 00:16:36 - Log: integrate change#2298 from mainline - Branch: maint-5.005/perl - !> universal.c +[ 4295] By: gsar on 1999/10/03 16:09:36 + Log: avoid doing irrelevant things on 'make perl' + Branch: perl + ! Makefile.SH ____________________________________________________________________________ -[ 2308] By: gbarr on 1998/11/27 00:11:44 - Log: Updates for MPE/iX DynaLoader and installperl, via private mail - forwarded by Jarkko Hietaniemi from Mark Bixby - Branch: maint-5.005/perl - ! ext/DynaLoader/dl_mpeix.xs installperl +[ 4294] By: jhi on 1999/10/03 14:16:24 + Log: Fix a typo in #4293 spotted by Graham Barr. + Branch: cfgperl + ! pod/perlref.pod ____________________________________________________________________________ -[ 2307] By: gbarr on 1998/11/27 00:07:27 - Log: Remove docs for feature not in _0* - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4293] By: jhi on 1999/10/03 11:31:22 + Log: From: Michael G Schwern + To: perl5-porters@perl.org + Subject: Re: Should keys in pseudo-hashes -always- exist? [DOC PATCH] + Date: Sun, 3 Oct 1999 02:34:01 -0400 + Message-ID: <19991003023401.A1520@blackrider> + Branch: cfgperl + ! pod/perlfunc.pod pod/perlref.pod ____________________________________________________________________________ -[ 2306] By: gbarr on 1998/11/26 23:44:47 - Log: Allow PL_FILES to have multiple targets from one source by allowing - an array ref as the value in the hash - Branch: maint-5.005/perl - ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm - ! lib/ExtUtils/MakeMaker.pm +[ 4292] By: jhi on 1999/10/03 09:23:16 + Log: From: Barrie Slaymaker + To: perl5-porters@perl.org + Subject: [PATCH 5.005_61] Benchmark.pm bugfix, tweaks + Date: Sun, 3 Oct 1999 00:09:51 -0400 + Message-Id: <199910030409.AAA18228@jester.slaysys.com> + Branch: cfgperl + ! lib/Benchmark.pm ____________________________________________________________________________ -[ 2305] By: gbarr on 1998/11/26 23:38:06 - Log: fix unsigned variables to use SvUV and sv_setuv - Branch: maint-5.005/perl - ! lib/ExtUtils/typemap +[ 4291] By: jhi on 1999/10/02 23:43:53 + Log: Be understanding about large file systems. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 2304] By: gbarr on 1998/11/26 23:36:17 - Log: Fix embeded \n in ABSTRACT and <> in AUTHOR - Branch: maint-5.005/perl - ! lib/ExtUtils/MM_Unix.pm +[ 4290] By: jhi on 1999/10/02 23:39:16 + Log: Configure fixfest continues. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/d_longdbl.U U/modified/d_longlong.U + ! U/threads/d_pthreadj.U U/typedefs/gidsign.U + ! U/typedefs/gidsize.U U/typedefs/pidsign.U U/typedefs/pidsize.U + ! U/typedefs/uidsign.U U/typedefs/uidsize.U + Branch: metaconfig/U/perl + ! i_inttypes.U io64.U +____________________________________________________________________________ +[ 4289] By: jhi on 1999/10/02 23:12:54 + Log: Regen Porting stuff. + Branch: cfgperl + ! Porting/Glossary Porting/config.sh Porting/config_H ____________________________________________________________________________ -[ 2302] By: gbarr on 1998/11/26 15:27:03 - Log: integrate changes#2177,2189,2228,2229 from cfgperl - - 0**0 = 1, from - - From: d-lewart@uiuc.edu (Daniel S. Lewart) - Subject: Math::Complex 0**0 patches - Date: Sun, 1 Nov 1998 19:21:48 -0600 (CST) - Message-Id: <199811020121.TAA28310@staff2.cso.uiuc.edu> - - sysio.t failure: fix undefined order of evaluation, from - - From: Spider Boardman - Subject: Not OK: perl 5.00553 on alpha-thread 5.0 [PATCH] - Date: 4 Nov 1998 01:22:30 +0200 - Message-ID: - - From: "Martin J. Bligh" - Message-ID: <187803647.910720870@w-186d219.rhe.sequent.com> - Subject: Re: Making Perl work on DYNIX/ptx - Date: Tue, 10 Nov 1998 18:01:10 -0800 - - From: "Martin J. Bligh" - Subject: Re: Making Perl work on DYNIX/ptx - Date: Tue, 10 Nov 1998 16:24:26 -0800 - Message-ID: <181999655.910715066@w-186d219.rhe.sequent.com> - Branch: maint-5.005/perl - +> ext/DB_File/hints/dynixptx.pl ext/POSIX/hints/dynixptx.pl - ! pp_sys.c - !> hints/dynixptx.sh lib/Math/Complex.pm t/lib/complex.t +[ 4288] By: jhi on 1999/10/02 23:05:50 + Log: Untangle the IV_IS_QUAD jungle by introduding + macros to be used when doing formatted printing: + IVdf, UVuf, UVxf, UVof. Also introduce Uid_t_SIGN. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doio.c dump.c op.c perl.h pp_hot.c pp_sys.c + ! regcomp.c sv.c taint.c toke.c util.c +____________________________________________________________________________ +[ 4287] By: jhi on 1999/10/02 22:54:18 + Log: metaconfig maintenance. + Branch: metaconfig + ! U/ebcdic/ebcdic.U U/typedefs/gidsign.U U/typedefs/gidsize.U + ! U/typedefs/pidsign.U U/typedefs/pidsize.U U/typedefs/uidsign.U + ! U/typedefs/uidsize.U +____________________________________________________________________________ +[ 4286] By: nick on 1999/10/02 11:11:44 + Log: Incremental merge of mainline + Branch: utfperl + +> README.Y2K hints/svr5.sh lib/Pod/Man.pm + +> lib/unicode/Unicode.html t/op/args.t t/pod/multiline_items.t + +> t/pod/multiline_items.xr t/pod/pod2usage.t t/pod/pod2usage.xr + +> t/pod/podselect.t t/pod/podselect.xr + - lib/Pod/PlainText.pm + !> (integrate 148 files) +____________________________________________________________________________ +[ 4285] By: jhi on 1999/10/02 10:16:15 + Log: Battle namespace pollution. + Branch: cfgperl + ! lib/Benchmark.pm ____________________________________________________________________________ -[ 2297] By: gbarr on 1998/11/24 02:32:38 - Log: integrate change#2266 from cfgperl - From: John Tobey - Subject: [PATCH] perlfaq typos - To: perl5-porters@perl.com - Date: 22 Nov 1998 04:25:15 +0200 - Message-ID: - Branch: maint-5.005/perl - !> pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod - !> pod/perlfaq7.pod pod/perlfaq8.pod +[ 4284] By: jhi on 1999/10/02 10:11:20 + Log: Regen Configure, all of xs_apiversion didn't take. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH patchlevel.h ____________________________________________________________________________ -[ 2296] By: gbarr on 1998/11/24 01:39:18 - Log: integrated changes#2011,2092,2106,2108,2143 from cfgperl - - More robust yacc/bison failure output handling. - - More robustness. - - Bison says 'parse error', not 'parser error'. - - The "parse error" must be converted to "syntax error", - just matching it aint' enough. - - There can be multiple yacc/bison errors. - Branch: maint-5.005/perl - !> t/comp/require.t t/op/misc.t t/pragma/subs.t - !> t/pragma/warning.t +[ 4283] By: jhi on 1999/10/02 09:48:17 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/Pod/Man.pm t/pod/multiline_items.t + +> t/pod/multiline_items.xr t/pod/pod2usage.t t/pod/pod2usage.xr + +> t/pod/podselect.t t/pod/podselect.xr + - lib/Pod/PlainText.pm + !> (integrate 50 files) ____________________________________________________________________________ -[ 2295] By: gbarr on 1998/11/24 00:49:28 - Log: integrate change#1823 from mainline - From: Joe Buehler - Date: 29 Aug 1998 17:13:28 -0400 - Message-ID: - Subject: patches for perl 5.005_51 under U/WIN - Branch: maint-5.005/perl - +> hints/uwin.sh - ! Configure - !> installman makedepend.SH t/lib/posix.t +[ 4282] By: gsar on 1999/10/02 06:39:14 + Log: update pod2man, pod2text and related Pod:: modules with the + ones in podlators-0.07 from Russ Allbery + Branch: perl + + lib/Pod/Man.pm + ! lib/Pod/Text.pm lib/Pod/Text/Color.pm lib/Pod/Text/Termcap.pm + ! pod/pod2man.PL pod/pod2text.PL ____________________________________________________________________________ -[ 2258] By: gbarr on 1998/11/21 20:48:02 - Log: Another Configure patch from Jarkko - Branch: maint-5.005/perl - ! Configure +[ 4281] By: gsar on 1999/10/02 06:14:44 + Log: fix PodParser testsuite; Pod::Text subsumes Pod::PlainText + Branch: perl + - lib/Pod/PlainText.pm + ! MANIFEST lib/Pod/Text.pm lib/Pod/Usage.pm pod/pod2usage.PL + ! pod/podchecker.PL pod/podselect.PL t/pod/emptycmd.t + ! t/pod/for.t t/pod/headings.t t/pod/include.t t/pod/included.t + ! t/pod/lref.t t/pod/multiline_items.t t/pod/nested_items.t + ! t/pod/nested_seqs.t t/pod/oneline_cmds.t t/pod/pod2usage.t + ! t/pod/poderrs.t t/pod/poderrs.xr t/pod/podselect.t + ! t/pod/special_seqs.t t/pod/testp2pt.pl t/pod/testpchk.pl ____________________________________________________________________________ -[ 2257] By: gbarr on 1998/11/21 17:23:13 - Log: Big Configure patch from Jarkko Hietaniemi via - private mail - Branch: maint-5.005/perl - ! Configure Makefile.SH config_h.SH hints/dec_osf.sh - ! hints/freebsd.sh hints/irix_6.sh hints/linux.sh - ! hints/next_3.sh hints/os390.sh pp_sys.c +[ 4280] By: gsar on 1999/10/02 04:39:38 + Log: upgrade to PodParser-1.085 from Brad Appleton + Branch: perl + + t/pod/multiline_items.t t/pod/multiline_items.xr + + t/pod/pod2usage.t t/pod/pod2usage.xr t/pod/podselect.t + + t/pod/podselect.xr + ! MANIFEST lib/Pod/Checker.pm lib/Pod/InputObjects.pm + ! lib/Pod/Parser.pm lib/Pod/PlainText.pm lib/Pod/Select.pm + ! lib/Pod/Usage.pm t/pod/for.xr t/pod/headings.xr + ! t/pod/include.xr t/pod/included.xr t/pod/lref.xr + ! t/pod/nested_items.xr t/pod/nested_seqs.xr + ! t/pod/oneline_cmds.xr t/pod/poderrs.xr t/pod/special_seqs.xr + ! t/pod/testp2pt.pl ____________________________________________________________________________ -[ 2239] By: gbarr on 1998/11/14 03:59:58 - Log: more doc changes from mainline - Branch: maint-5.005/perl - ! pod/perldiag.pod pod/perlfunc.pod pod/perlre.pod - !> INSTALL README.vms vms/ext/Stdio/Stdio.pm +[ 4279] By: gsar on 1999/10/02 03:36:41 + Log: make exists() work better on pseudo-hashes (reworked a patch suggested + by Michael G Schwern ) + Branch: perl + ! av.c t/op/avhv.t ____________________________________________________________________________ -[ 2238] By: gbarr on 1998/11/14 02:51:51 - Log: integrate doc changes from mainline, including - changes#1796,1811,1830,1831,1844,1846,1876,1905,2149,2152 - Branch: maint-5.005/perl - !> README.os390 pod/perl.pod pod/perldelta.pod pod/perlfaq1.pod - !> pod/perlform.pod pod/perlfunc.pod pod/perlguts.pod - !> pod/perlipc.pod pod/perllocale.pod pod/perlport.pod - !> pod/perlref.pod pod/perlrun.pod pod/perlvar.pod pod/perlxs.pod - !> pod/pod2man.PL -____________________________________________________________________________ -[ 2237] By: gbarr on 1998/11/14 02:51:49 - Log: integrate change#1847 from mainline - From: Roderick Schertler - Date: Wed, 09 Sep 1998 23:52:48 -0400 - Message-ID: <20567.905399568@eeyore.ibcinc.com> - Subject: seed srand from /dev/urandom when possible - Branch: maint-5.005/perl - ! pp.c +[ 4278] By: gsar on 1999/10/02 02:36:55 + Log: deprecate C + Branch: perl + ! ext/attrs/attrs.pm ext/attrs/attrs.xs t/lib/attrs.t + ! t/lib/thread.t t/pragma/sub_lval.t ____________________________________________________________________________ -[ 2232] By: gbarr on 1998/11/13 03:12:37 - Log: integrate change#2215 from mainline - set close-on-exec bit on pipe() FDs - Branch: maint-5.005/perl - ! pod/perlfunc.pod pod/perlvar.pod pp_sys.c +[ 4277] By: gsar on 1999/10/02 01:43:25 + Log: add notes about effect of loop control statements inside + LABEL BLOCK continue BLOCK + Branch: perl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 2231] By: gbarr on 1998/11/13 02:16:03 - Log: integrate change#2188 from mainline - fix return value of win32_pclose() - Branch: maint-5.005/perl - !> win32/win32.c +[ 4276] By: gsar on 1999/10/02 01:23:02 + Log: indent nested =items properly (suggested by Bill Fenner + ) + Branch: perl + ! pod/pod2man.PL ____________________________________________________________________________ -[ 2218] By: gbarr on 1998/11/08 16:48:44 - Log: From: Graham Barr - Date: Mon, 2 Nov 1998 07:38:52 -0600 - Message-ID: <19981102073852.A12751@asic.sc.ti.com> - Subject: [PATCH 5.005_*] Re: IPC::Msg 1.03 - Branch: maint-5.005/perl - ! ext/IPC/SysV/Msg.pm +[ 4275] By: gsar on 1999/10/02 01:09:16 + Log: updated ptags generator from Ilya Zakharevich + Branch: perl + ! emacs/ptags ____________________________________________________________________________ -[ 2217] By: gbarr on 1998/11/08 05:22:39 - Log: fix changes in 2213 not to break binary compat - Branch: maint-5.005/perl - ! pp_ctl.c proto.h +[ 4274] By: gsar on 1999/10/01 23:08:52 + Log: update Changes + Branch: perl + ! Changes ____________________________________________________________________________ -[ 2216] By: gbarr on 1998/11/08 04:21:01 - Log: integrate change#2192 from mainline - indeterminate order-of-evaluation fixes - Branch: maint-5.005/perl - ! mg.c +[ 4273] By: gsar on 1999/10/01 22:58:55 + Log: typo, whitespace adjustments + Branch: perl + ! utils/h2xs.PL ____________________________________________________________________________ -[ 2213] By: gbarr on 1998/11/08 00:39:44 - Log: integrate change#2051 from mainline - properly restore PL_rsfp_filters after require - Branch: maint-5.005/perl - ! embed.h global.sym objXSUB.h objpp.h pp_ctl.c proto.h scope.c - ! scope.h +[ 4272] By: gsar on 1999/10/01 22:46:06 + Log: remove dup hunks + Branch: perl + ! configure.com vms/vms.c ____________________________________________________________________________ -[ 2212] By: gbarr on 1998/11/07 23:13:29 - Log: integrate changes#1914,1925,1926,1945,1956,1987 from mainline - - normalize tm struct passed to strftime() with mktime() - From: Spider Boardman - Date: Wed, 30 Sep 1998 15:12:09 -0400 - Message-Id: <199809301912.PAA26119@Orb.Nashua.NH.US> - Subject: [PATCH 5.005_52] Re: POSIX::strftime returns incorrect date - - disable USE_THREADS when PERL_OBJECT is enabled - - From: Mark-Jason Dominus - Date: Sun, 04 Oct 1998 14:48:11 -0400 - Message-ID: <19981004184811.16048.qmail@plover.com> - Subject: PATCH: perldoc -f does not locate -e, -r, -x, etc. - - defer "deep recursion" warnings until CXt_SUB context is properly - set up - - Mutexen should be initialized only once. - - perldoc pod update - From: Daniel Grisinger - Date: 06 Oct 1998 23:56:51 -0600 - Message-ID: - Subject: [PATCH _02 and _52] perldoc - Branch: maint-5.005/perl - ! gv.c op.c pp_hot.c - !> ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs utils/perldoc.PL - !> win32/Makefile win32/makefile.mk +[ 4271] By: gsar on 1999/10/01 22:33:02 + Log: integrate cfgperl contents into mainline; resolve h2xs.PL conflict + by declaring new globals "our" (XXX this means h2xs generated code + won't run on earlier versions; a switch to generate compatible + source is needed) + Branch: perl + !> (integrate 35 files) ____________________________________________________________________________ -[ 2207] By: gbarr on 1998/11/06 01:36:17 - Log: integrate changes#1912,1948 from mainline - change warning about glob process failure - Branch: maint-5.005/perl - ! pod/perldiag.pod pp_hot.c +[ 4270] By: jhi on 1999/10/01 12:05:56 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/B/B/C.pm lib/ExtUtils/typemap lib/ExtUtils/xsubpp + !> pod/perldiag.pod util.c ____________________________________________________________________________ -[ 2200] By: gbarr on 1998/11/05 04:26:26 - Log: integrate changes#1840,1855,1860,1882,1884,1891,1900,1907 from mainline - pl2bat tweak from Tye McQueen - - reset errno after C search (as suggested by Larry) - - upgrade to CPAN-1.40 - - missing file in last submit (1881) - - temporarily disable perl malloc for a2p until we clean up - conflicting malloc() declarations everywhere - - Fixed apostrophe problem from Mark Knutsen. - - use SETERRNO() to reset errno (suggested by Charles Bailey) - - applied patches, but retained old behavior for win32 (where compilers - can't read from stdin at all) - From: Graham Barr - Date: Mon, 28 Sep 1998 09:41:49 -0500 - Message-ID: <19980928094149.B26576@asic.sc.ti.com> - Subject: Re: 5.005_51 Errno invokes cpprun incorrectly - -- - Date: Tue, 29 Sep 1998 12:35:43 -0500 - Message-ID: <19980929123543.Z26576@asic.sc.ti.com> - Subject: Re: 5.005_51 Errno invokes cpprun incorrectly - - and ext/Errno/Errno_pm.PL from change#2050 - Branch: maint-5.005/perl - ! perl.h pp_ctl.c proto.h sv.h - !> ext/Errno/Errno_pm.PL lib/CPAN.pm lib/CPAN/FirstTime.pm - !> win32/bin/pl2bat.pl x2p/Makefile.SH +[ 4269] By: jhi on 1999/10/01 10:26:19 + Log: From: Piotr Klaban + To: perl5-porters@perl.org + Subject: [ID 19991001.001] perlguts man page error + Date: Fri, 1 Oct 1999 10:23:49 +0200 (MET DST) + Message-Id: <199910010823.KAA05796@oryl.man.torun.pl> + Branch: cfgperl + ! pod/perlguts.pod ____________________________________________________________________________ -[ 2199] By: gbarr on 1998/11/05 03:35:00 - Log: integrate changes#1817,1856,1869,1909 from mainline - updated usethreads hints for hpux 10.X - From: Matthew T Harden - Date: Fri, 28 Aug 1998 14:10:42 GMT - Message-Id: <199808281410.AA11058@mthard1.monsanto.com> - Subject: Re: OK: perl 5.00502 on PA-RISC1.1-thread 10.20 (UNINSTALLED) - - update hints for OPENSTEP 4.2 on i386 - From: Gerben Wierda - Date: Sun, 20 Sep 1998 01:03:18 +0200 - Message-Id: <9809192303.AA29190@Spike> - Subject: Perl 5.005_02 compilation problems - - use STRICT_ALIGNMENT on IRIX to allow usemymalloc=y again - From: Scott Henry - Date: 13 Aug 1998 09:52:15 PDT - Message-Id: - Subject: [PATCH] Irix USE_LONG_LONG/malloc.c incompatibility (was...) - - update SCO hints for dynamic loading - From: Andy Dougherty - Date: Mon, 28 Sep 1998 16:50:38 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.004_04-MAINT_TRIAL_5 and 5.005_xx] Re: Perl on SCO_SV - -- - Date: Tue, 29 Sep 1998 16:48:55 -0400 (EDT) - Message-Id: - Subject: Re: [PATCH 5.004_04-MAINT_TRIAL_5 and 5.005_xx] Re: Perl on SCO_SV - Branch: maint-5.005/perl - !> hints/hpux.sh hints/irix_6.sh hints/next_4.sh hints/sco.sh +[ 4268] By: jhi on 1999/10/01 07:32:33 + Log: There *is* a month called October. + Branch: cfgperl + ! t/op/time.t ____________________________________________________________________________ -[ 2198] By: gbarr on 1998/11/05 03:00:51 - Log: integrate OS2 changes from mainline, change#1836,1930,1996,2063 - and os2/os2,c from #2145 - - From: Ilya Zakharevich - Date: Sat, 5 Sep 1998 00:14:51 -0400 (EDT) - Message-Id: <199809050414.AAA19801@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] OS/2 spawning typos - - From: Ilya Zakharevich - Message-Id: <199810050637.CAA07781@monk.mps.ohio-state.edu> - Date: Mon, 5 Oct 1998 02:37:43 -0400 (EDT) - Subject: [PATCH 5.005_52] Cumulative OS/2-related patch - - From: Ilya Zakharevich - Date: Tue, 13 Oct 1998 04:46:00 -0400 (EDT) - Message-Id: <199810130846.EAA00769@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_52] Memory overrun in os2.c - - From: Ilya Zakharevich - Date: Sun, 18 Oct 1998 23:20:57 -0400 (EDT) - Message-Id: <199810190320.XAA28249@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Improve sbrk() on OS/2 - - remaining PL_foo stragglers - Branch: maint-5.005/perl - ! mg.c perl_exp.SH util.c - !> hints/os2.sh os2/Changes os2/Makefile.SHs os2/os2.c +[ 4267] By: jhi on 1999/10/01 06:58:10 + Log: Temp file cleanliness. + Branch: cfgperl + ! t/lib/filecopy.t ____________________________________________________________________________ -[ 2197] By: gbarr on 1998/11/05 02:15:53 - Log: integrate changes#1826,1862 from mainline - - From: Jarkko Hietaniemi - Date: Wed, 12 Aug 1998 22:41:37 +0300 (EET DST) - Message-Id: <199808121941.WAA06263@alpha.hut.fi> - Subject: [PATCH] 5.004_50 or 5.005_02: get rid of interp.sym because not even AIX needs it - - remove bogus warn() - Branch: maint-5.005/perl - - interp.sym - ! MANIFEST Makefile.SH embed.pl perl_exp.SH +[ 4266] By: jhi on 1999/10/01 06:46:56 + Log: From: Barrie Slaymaker + To: perl5-porters@perl.org + Subject: [PATCH 5.005_61] Benchmark.pm: Export countit(), cmpthese() by default + Date: Thu, 30 Sep 1999 22:16:26 -0400 + Message-Id: <199910010216.WAA08309@jester.slaysys.com> + Branch: cfgperl + ! lib/Benchmark.pm ____________________________________________________________________________ -[ 2194] By: gbarr on 1998/11/05 01:26:46 - Log: integarte malloc.c changes from mainline change#1807,2112,2133 - Branch: maint-5.005/perl - !> malloc.c +[ 4265] By: jhi on 1999/09/30 20:25:35 + Log: From: Barrie Slaymaker + To: perl5-porters@perl.org + Subject: [PATCH 5.005_61] Benchmark tweaks, fixes, cmpthese() + Date: Thu, 30 Sep 1999 15:44:00 -0400 + Message-Id: <199909301944.PAA07166@jester.slaysys.com> + (Replaces #4175.) + Branch: cfgperl + ! lib/Benchmark.pm ____________________________________________________________________________ -[ 2193] By: gbarr on 1998/11/05 01:25:31 - Log: integrate changes#1763,1778,1801,1804 from mainline - - From: Stephen McCamant - Date: Sun, 2 Aug 1998 16:33:18 -0500 (CDT) - Message-ID: <13764.55116.921952.837027@alias-2.pr.mcs.net> - Subject: [PATCH] Eliminate superfluous RV2p[AH]Vs in oops[AH]V() - - Implicit require during compile reset line numbering - - silence redefined warning for XS(INIT) {} - - From: Laszlo Molnar - Date: Sun, 9 Aug 1998 22:38:23 +0200 - Message-ID: <19980809223823.A215@cdata.tvnet.hu> - Subject: [PATCH 5.5002] dos-djgpp update - Branch: maint-5.005/perl - ! op.c pp_ctl.c - !> t/io/fs.t +[ 4264] By: gsar on 1999/09/30 17:59:26 + Log: re-add missing "Out of memory!" entry + Branch: perl + ! pod/perldiag.pod ____________________________________________________________________________ -[ 2176] By: gbarr on 1998/11/02 04:51:48 - Log: integrate change#2030 from mainline - - fix handling of mayhaps-extended @_ in goto &sub - Branch: maint-5.005/perl - ! av.c pp_ctl.c - !> t/op/goto.t +[ 4263] By: jhi on 1999/09/30 17:05:43 + Log: Regenerate Configure. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ____________________________________________________________________________ -[ 2175] By: gbarr on 1998/11/02 04:32:02 - Log: integrate chnage#1934,1935 from mainline - fix USE_THREADS coredump due to uninitialized PL_hv_fetch_ent_mh - add test for previous fix - Branch: maint-5.005/perl - ! util.c - !> ext/Thread/create.t +[ 4261] By: jhi on 1999/09/30 16:15:05 + Log: From: Andy Dougherty + To: Perl Porters + Subject: [PATCH 5.005_61] rand() advisory for perldelta.pod + Date: Thu, 30 Sep 1999 12:24:00 -0400 (EDT) + Message-ID: + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2174] By: gbarr on 1998/11/02 04:22:20 - Log: integrate change#1863,1881 from mainline - - provide locked access to string table for USE_THREADS - - serial access to PL_x[inpr]v_root for USE_THREADS - Branch: maint-5.005/perl - ! embedvar.h objXSUB.h perl.c proto.h sv.c - !> hv.c intrpvar.h thread.h +[ 4260] By: jhi on 1999/09/30 15:48:56 + Log: From: Andy Dougherty + To: Jarkko Hietaniemi , Gurusamy Sarathy + Subject: Re: Possible skeletal structure for searching multiple versions + Date: Thu, 30 Sep 1999 11:52:00 -0400 (EDT) + Message-ID: + Branch: metaconfig + ! U/mkglossary + Branch: metaconfig/U/perl + + xs_apiversion.U + ! patchlevel.U +____________________________________________________________________________ +[ 4259] By: jhi on 1999/09/30 15:07:16 + Log: Further ?idsize.U fixing. + Branch: metaconfig + ! U/typedefs/gidsize.U U/typedefs/pidsize.U U/typedefs/uidsize.U +____________________________________________________________________________ +[ 4258] By: jhi on 1999/09/30 15:00:14 + Log: Fix the ?idsi{gn,ze} units, from Andy Dougherty. + Branch: metaconfig + ! U/typedefs/gidsign.U U/typedefs/gidsize.U U/typedefs/pidsign.U + ! U/typedefs/pidsize.U U/typedefs/uidsign.U U/typedefs/uidsize.U +____________________________________________________________________________ +[ 4257] By: jhi on 1999/09/30 09:48:33 + Log: From: "Kurt D. Starsinic" + To: Gurusamy Sarathy + Cc: tchrist@perl.com, Larry Wall , + The Perl Porters Mailing List + Subject: [PATCH] (Was: deprecating SIGDIE) + Date: Wed, 29 Sep 1999 15:16:50 -0400 + Message-ID: <19990929151650.E26675@O2.chapin.edu> + Branch: cfgperl + ! Porting/findvars embedvar.h intrpvar.h mg.c objXSUB.h perl.c ____________________________________________________________________________ -[ 2173] By: gbarr on 1998/11/02 04:10:46 - Log: integrate change#1990 from mainline - - provide option to enable optimization with VC (suggested by Jan - Dubois) - Branch: maint-5.005/perl - !> win32/Makefile win32/makefile.mk +[ 4256] By: jhi on 1999/09/30 09:45:22 + Log: From: Ilya Zakharevich + To: Gurusamy Sarathy + Cc: Barrie Slaymaker , perl5-porters@perl.org + Subject: Re: _58, _61 Argument "" is not numeric in sprintf + Date: Wed, 29 Sep 1999 18:58:23 -0400 + Message-ID: <19990929185823.A22099@monk.mps.ohio-state.edu> + Branch: cfgperl + ! Makefile.SH opcode.pl ____________________________________________________________________________ -[ 2172] By: gbarr on 1998/11/02 02:52:29 - Log: integrate changes#1944,1948,1966 from mainline - - change#1614 merely disabled earlier fix (doh!); undo it and properly - fixup the cop_seq value that must be seen by lexical lookups that - emanate within eval'' - - tweak to make fix in change#1944 behave correctly for closures - created within eval'' - Branch: maint-5.005/perl - ! op.c pp_ctl.c pp_hot.c scope.c - !> cop.h t/op/eval.t +[ 4255] By: gsar on 1999/09/30 09:03:48 + Log: remove prehistoric XFree() gunk + Branch: perl + ! lib/ExtUtils/typemap lib/ExtUtils/xsubpp ____________________________________________________________________________ -[ 2171] By: gbarr on 1998/11/01 03:59:39 - Log: integrate changes 1835,2003,2067 and File::Find change in 1938 - warn on C - - silence -w noises (suggested by Greg Bacon) Term::Complete - - From: jan.dubois@ibm.net (Jan Dubois) - Date: Wed, 21 Oct 1998 00:55:51 +0200 - Message-ID: <36380269.55370608@smtp1.ibm.net> - Subject: Make _really_ sure Dynaloader.xs code is initialized only once - Branch: maint-5.005/perl - ! op.c pod/perldiag.pod - !> ext/DynaLoader/DynaLoader_pm.PL lib/File/Find.pm - !> lib/Term/Complete.pm +[ 4254] By: gsar on 1999/09/30 08:40:14 + Log: From: Vishal Bhatia + Date: Wed, 29 Sep 1999 23:27:28 +0900 (JST) + Message-ID: + Subject: [patch _61] Minor corrections in C.pm + Branch: perl + ! ext/B/B/C.pm +____________________________________________________________________________ +[ 4253] By: gsar on 1999/09/30 08:36:27 + Log: off-by-one in fbm_compile() (spotted by John Bley + ); whitespace adjustments + Branch: perl + ! util.c +____________________________________________________________________________ +[ 4251] By: jhi on 1999/09/30 08:09:13 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.00561+] Followup h2xs patch + Date: Thu, 30 Sep 1999 04:15:52 -0400 (EDT) + Message-Id: <199909300815.EAA25425@monk.mps.ohio-state.edu> + Branch: cfgperl + ! utils/h2xs.PL ____________________________________________________________________________ -[ 2170] By: gbarr on 1998/11/01 03:48:38 - Log: integrate change 1992 from mainline +[ 4250] By: jhi on 1999/09/29 19:11:32 + Log: Integrate with Sarathy. + Branch: cfgperl + !> djgpp/configure.bat embed.h embed.pl lib/Exporter/Heavy.pm + !> lib/ExtUtils/MM_Unix.pm lib/Time/Local.pm proto.h + !> t/pragma/locale/latin1 win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4249] By: bailey on 1999/09/29 02:21:31 + Log: resync with mainline + Branch: vmsperl + +> (branch 32 files) + - ext/B/defsubs.h.PL lib/unicode/arabshp.txt + - lib/unicode/blocks.txt lib/unicode/index2.txt + - lib/unicode/jamo2.txt lib/unicode/names2.txt + - lib/unicode/props2.txt lib/unicode/readme.txt + - t/lib/bigfloatpm.t + !> (integrate 240 files) +____________________________________________________________________________ +[ 4248] By: jhi on 1999/09/28 18:14:39 + Log: From: Andy Dougherty + To: Perl Porters + Subject: [PATCH 5.005_xx] Re: [Config 5.005_03] -DDEBUGGING + Date: Tue, 28 Sep 1999 12:20:50 -0400 (EDT) + Message-ID: - applied suggested patch with small doc tweak - From: Gisle Aas - Date: 11 Oct 1998 12:53:13 +0200 - Message-ID: - Subject: Re: [PATCH 5.005_52] Optional syswrite LENGTH argument - Branch: maint-5.005/perl - ! pod/perlfunc.pod pp_sys.c - !> opcode.h opcode.pl t/op/sysio.t t/op/tiehandle.t + From: Andy Dougherty + To: Perl Porters + Subject: [ANOTHER PATCH 5.005_61] Re: [Config 5.005_03] -DDEBUGGING + Date: Tue, 28 Sep 1999 13:39:49 -0400 (EDT) + Message-ID: + Branch: cfgperl + ! hints/README.hints hints/amigaos.sh hints/cygwin.sh + ! hints/dynixptx.sh hints/epix.sh hints/esix4.sh hints/mint.sh + ! hints/mpeix.sh hints/next_3.sh hints/next_3_0.sh + ! hints/next_4.sh ____________________________________________________________________________ -[ 2168] By: gbarr on 1998/11/01 01:58:58 - Log: From: jan.dubois@ibm.net (Jan Dubois) - Date: Fri, 09 Oct 1998 23:28:31 +0200 - Message-ID: <36217b7f.3193091@smtp1.ibm.net> - Subject: [PATCH 5.005_02] Allow XS access to vtbl_*s when compiled with PERL_OBJECT - Branch: maint-5.005/perl - ! XSUB.h +[ 4247] By: gsar on 1999/09/28 17:36:59 + Log: revert change#4115 (breaks libwww's base/date.t); could be + reworked to enable it conditional on $Time::Local::nocroak + or some such + Branch: perl + ! lib/Time/Local.pm ____________________________________________________________________________ -[ 2167] By: gbarr on 1998/11/01 01:22:41 - Log: integrate change#2029 from mainline - restore sanity to "constant" references - Branch: maint-5.005/perl - ! op.c pod/perldiag.pod - !> lib/constant.pm t/pragma/constant.t +[ 4246] By: gsar on 1999/09/28 17:33:14 + Log: tweak for win32 build + Branch: perl + ! win32/Makefile win32/makefile.mk ____________________________________________________________________________ -[ 2166] By: gbarr on 1998/11/01 01:04:24 - Log: integrate changes#1895,1896,2066,2147,2148 from mainline - fix win32_stat() to do the right thing for share names - - small tweak on last change - - recognize '%' as a shell metachar for win32 - From: jan.dubois@ibm.net (Jan Dubois) - Date: Tue, 20 Oct 1998 21:57:35 +0200 - Message-ID: <3636ea31.49170453@smtp1.ibm.net> - Subject: [PATCH 5.005_02, Win32] Re: %ENV% not expanded in backquotes? - - tweaked version of suggested patch - From: Anton Berezin - Date: 29 Oct 1998 14:48:54 +0100 - Message-ID: <86yapzv5q1.fsf@lion.plab.ku.dk> - Subject: [PATCH 5.005_52] One more problem with win32_stat and MSVC - - From: Anton Berezin - Date: 29 Oct 1998 17:06:25 +0100 - Message-ID: <86pvbbuzcu.fsf@lion.plab.ku.dk> - Subject: [PATCH 5.005_52] win32_opendir() fails on empty drives - Branch: maint-5.005/perl - !> win32/win32.c +[ 4245] By: gsar on 1999/09/28 17:31:34 + Log: change#4236 fallout + Branch: perl + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 2165] By: gbarr on 1998/11/01 00:10:15 - Log: integrated changes#1941,1942,1943,1975,2061,2111,2151 from mainline - - don't longjmp() in pp_goto() (regressive bug from old single-stack - implementation) - - force copy of substrings when matching against temporaries - - ensure recursive attempts to findlex()icals know enough about where - the last eval'' context was encountered - - propagate typeness of lexicals while cloning them - - From: Graham Barr - Date: Sat, 17 Oct 1998 22:22:02 -0500 - Message-ID: <19981017222202.J510@pobox.com> - Subject: Re: '*' prototype does not allow bareword with strict - - smarter C<$SIG{FOO} = BAREWORD;> warning - - From: Mark-Jason Dominus - Date: Fri, 30 Oct 1998 14:24:23 EST - Message-Id: <19981030192423.27276.qmail@plover.com> - Subject: PATCH: (5.005_02) a2p should use `chomp' instead of `chop' - Branch: maint-5.005/perl - ! op.c pp_ctl.c pp_hot.c t/op/pat.t toke.c - !> t/op/eval.t t/op/runlevel.t x2p/walk.c +[ 4244] By: gsar on 1999/09/28 17:29:31 + Log: remove doubled new_xpv + Branch: perl + ! embed.h embed.pl proto.h ____________________________________________________________________________ -[ 2158] By: gbarr on 1998/10/31 05:03:02 - Log: integrate changes#1821 & 1857 from mainline - - s/runops/CALLRUNOPS/ - +[ 4243] By: jhi on 1999/09/27 19:13:20 + Log: Artistic fine-tuning. + Branch: cfgperl + ! ext/B/defsubs_h.PL +____________________________________________________________________________ +[ 4242] By: gsar on 1999/09/27 17:05:22 + Log: avoid implicit split to @_ in change#4181; binary -> text file + types in p4 + Branch: perl + ! djgpp/configure.bat lib/Exporter/Heavy.pm + ! t/pragma/locale/latin1 +____________________________________________________________________________ +[ 4241] By: jhi on 1999/09/27 07:48:19 + Log: Integrate with Sarathy. + Branch: cfgperl + !> INSTALL embed.h embed.pl malloc.c pod/perldiag.pod pp.c + !> pp_ctl.c pp_hot.c pp_sys.c win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4240] By: jhi on 1999/09/27 07:47:11 + Log: Finalize change #4232. From: Ilya Zakharevich - Date: Tue, 22 Sep 1998 17:30:16 -0400 (EDT) - Message-Id: <199809222130.RAA17034@monk.mps.ohio-state.edu> - Subject: More verbose Test::Harness [PATCH] - Branch: maint-5.005/perl - !> cc_runtime.h lib/Test/Harness.pm -____________________________________________________________________________ -[ 2157] By: gbarr on 1998/10/31 02:35:07 - Log: integrate change#1839 from mainline - From: Drago Goricanec - Date: Mon, 7 Sep 1998 17:36:09 +0900 - Message-Id: <199809070836.RAA14631@raptor.otsd.ts.fujitsu.co.jp> - Subject: Thread::cond_wait bug in 5.005.51 causes deadlock - Branch: maint-5.005/perl - ! ext/Thread/Thread.xs + To: Jarkko Hietaniemi + Cc: gsar@activestate.com, Mailing list Perl5 + Subject: Re: xsubpp change breaks B, DB_File, POSIX builds + Date: Sun, 26 Sep 1999 16:52:31 -0400 + Message-ID: <19990926165230.A26933@monk.mps.ohio-state.edu> + Branch: cfgperl + ! lib/ExtUtils/xsubpp ____________________________________________________________________________ -[ 2156] By: gbarr on 1998/10/31 02:22:11 - Log: integrate change#1829 from mainline - fix problematic typecast in filter_del() - From: Mark P Lutz - Date: Mon, 31 Aug 1998 21:13:11 GMT - Message-Id: <199808312113.VAA53356@triton.ca.boeing.com> - Subject: perl5.005_02 does not build on Cray T90 - Branch: maint-5.005/perl - ! toke.c +[ 4239] By: gsar on 1999/09/27 02:48:42 + Log: add notes in INSTALL about Configure -Accflags=-DFOO + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 4238] By: gsar on 1999/09/27 02:03:48 + Log: PERL_POLLUTE isn't required for bincompat, so don't enable + it automatically + Branch: perl + ! embed.h embed.pl +____________________________________________________________________________ +[ 4237] By: gsar on 1999/09/27 01:52:47 + Log: From: Ilya Zakharevich + Date: Fri, 24 Sep 1999 23:25:36 -0400 + Message-ID: <19990924232536.A16257@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_61] Malloc fixes and docs + Branch: perl + ! malloc.c pod/perldiag.pod +____________________________________________________________________________ +[ 4236] By: gsar on 1999/09/27 01:31:32 + Log: avoid .exe in $Config{cc} (spotted by Vadim Konovalov + ) + Branch: perl + ! win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4235] By: gsar on 1999/09/26 17:02:03 + Log: fix buggy popping of subroutine contexts in the lvalue + subroutines implementation (change#4081); correct the + plethora of cases where DIE() was more appropriate than + croak() + Branch: perl + ! pp.c pp_ctl.c pp_hot.c pp_sys.c +____________________________________________________________________________ +[ 4234] By: jhi on 1999/09/26 12:06:28 + Log: Fix #endif. + Branch: cfgperl + ! XSUB.h ____________________________________________________________________________ -[ 2155] By: gbarr on 1998/10/31 01:59:08 - Log: integrate chnages#1824,2118 from mainline - From: Ilya Zakharevich - Date: Sat, 29 Aug 1998 17:38:30 -0400 (EDT) - Message-Id: <199808292138.RAA18359@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Protect debugger from nonlocal exits +[ 4233] By: jhi on 1999/09/26 11:59:18 + Log: Integrate with Sarathy. h2xs.PL had to be manually resolved, + I kept my (Ilya's) version. + Branch: cfgperl + !> gv.c gv.h intrpvar.h keywords.h keywords.pl lib/Shell.pm op.c + !> pod/perldiag.pod pod/perlembed.pod pod/perlfaq3.pod + !> pod/perlfaq7.pod pod/perlfunc.pod pod/perlmod.pod + !> pod/perlmodlib.pod pod/perlsub.pod pod/perltoot.pod + !> pod/perlxstut.pod sv.h t/pragma/strict-vars toke.c + !> utils/h2xs.PL win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 4232] By: jhi on 1999/09/26 09:53:43 + Log: From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: [PATCH 5.005_61] teach xsubpp function pointers + Date: Sun, 26 Sep 1999 01:36:09 -0400 + Message-ID: <19990926013609.A21148@monk.mps.ohio-state.edu> From: Ilya Zakharevich - Date: Wed, 28 Oct 1998 01:23:27 -0500 (EST) - Message-Id: <199810280623.BAA06968@monk.mps.ohio-state.edu> - Subject: [PATCH 5.00552] Minor debugger tweaks - Branch: maint-5.005/perl - !> lib/perl5db.pl + To: Mailing list Perl5 + Subject: [PATCH 5.005_61] Make h2xs -x almost bullet-proof + Date: Sun, 26 Sep 1999 03:00:50 -0400 + Message-ID: <19990926030050.A21498@monk.mps.ohio-state.edu> + Branch: cfgperl + ! lib/ExtUtils/xsubpp utils/h2xs.PL ____________________________________________________________________________ -[ 2154] By: gbarr on 1998/10/31 01:06:35 - Log: integrate all lib/ExtUtils/... changes from mainline - Branch: maint-5.005/perl - !> lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm - !> lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MM_Win32.pm - !> lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mkbootstrap.pm - !> lib/ExtUtils/Mksymlists.pm lib/ExtUtils/xsubpp -____________________________________________________________________________ -[ 2139] By: gbarr on 1998/10/30 04:17:53 - Log: apply chnage#2071 from mainline - From: Graham Barr - Date: Sat, 17 Oct 1998 20:42:41 -0500 - Message-ID: <19981017204241.G510@pobox.com> - Subject: Re: taint checking for: use lib "$ENV{'EVIL'}" - Branch: maint-5.005/perl - ! pp_ctl.c +[ 4231] By: jhi on 1999/09/26 09:48:49 + Log: From: "Konovalov, Vadim" + To: perl5-porters@perl.org + Subject: misprint in perlguts + Date: Sun, 26 Sep 1999 12:48:36 +0400 + Message-ID: <402099F49BEED211999700805FC7359F20D7A5@ru0028exch01.spb.lucent.com> + Branch: cfgperl + ! pod/perlguts.pod ____________________________________________________________________________ -[ 2138] By: gbarr on 1998/10/30 04:14:35 - Log: apply change#2077 from mainline - From: Graham Barr - Date: Sat, 24 Oct 1998 21:45:50 -0500 - Message-ID: <19981024214550.C508@pobox.com> - Subject: Re: die with a reference should use overload "" operator - Branch: maint-5.005/perl - ! pp_ctl.c +[ 4230] By: gsar on 1999/09/26 00:50:08 + Log: add $installarchlib/CORE to default linker search path on windows + Branch: perl + ! win32/Makefile win32/makefile.mk ____________________________________________________________________________ -[ 2137] By: gbarr on 1998/10/30 04:01:06 - Log: integrate change#1937 from mainline - fix $/ init for USE_THREADS - Branch: maint-5.005/perl - ! perl.c +[ 4229] By: gsar on 1999/09/25 20:05:03 + Log: support C on Windows (reworked a patch suggested + by Jenda Krynicky ) + Branch: perl + ! lib/Shell.pm ____________________________________________________________________________ -[ 2136] By: gbarr on 1998/10/30 03:40:55 - Log: apply change#2076 from mainline - From: Graham Barr - Date: Sat, 24 Oct 1998 12:45:21 -0500 - Message-ID: <19981024124521.C512@pobox.com> - Subject: [PATCH 5.005_02] Re: Auto-incrementing tied scalar causes SEGV - Branch: maint-5.005/perl - ! sv.c +[ 4228] By: gsar on 1999/09/25 07:03:34 + Log: integrate cfgperl contents into mainline + Branch: perl + +> hints/svr5.sh + !> Configure MANIFEST Makefile.SH config_h.SH hints/sco.sh + !> lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + !> lib/unicode/mktables.PL pod/perldelta.pod pod/perlfaq9.pod + !> regcomp.c regexec.c t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 2135] By: gbarr on 1998/10/30 03:28:29 - Log: integrate change#1873 from mainline - From: Ilya Zakharevich - Date: Tue, 25 Aug 1998 04:29:49 -0400 (EDT) - Message-Id: <199808250829.EAA02470@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Extraneous warning for (?()A|B) - Branch: maint-5.005/perl - ! regcomp.c +[ 4227] By: gsar on 1999/09/25 06:44:47 + Log: From: Larry Wall + Date: Fri, 24 Sep 1999 21:59:37 PDT + Message-Id: <199909250459.VAA27506@kiev.wall.org> + Subject: Re: [PATCH 5.005_61] "our" declarations + Branch: perl + ! gv.c gv.h intrpvar.h keywords.h keywords.pl op.c + ! pod/perldiag.pod pod/perlembed.pod pod/perlfaq3.pod + ! pod/perlfaq7.pod pod/perlfunc.pod pod/perlmod.pod + ! pod/perlmodlib.pod pod/perlsub.pod pod/perltoot.pod + ! pod/perlxstut.pod sv.h t/pragma/strict-vars toke.c + ! utils/h2xs.PL ____________________________________________________________________________ -[ 2134] By: gbarr on 1998/10/30 03:15:12 - Log: integrate change#1816 from mainline - don't create empty directories in installperl - From: Robin Barker - Date: Fri, 21 Aug 1998 11:29:24 +0100 (BST) - Message-Id: <199808211029.LAA00551@cyclone.cise.npl.co.uk> - Subject: [PATCH 5.005_02] install: empty dirs - Branch: maint-5.005/perl - !> installperl +[ 4226] By: jhi on 1999/09/24 23:10:52 + Log: Integrate with Sarathy. + Branch: cfgperl + !> XSUB.h ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs + !> ext/POSIX/hints/linux.pl pod/perldiag.pod pod/perlfunc.pod + !> pp.c t/lib/posix.t t/op/pack.t toke.c utils/perlcc.PL ____________________________________________________________________________ -[ 2132] By: gbarr on 1998/10/30 01:39:00 - Log: integrate changes#1815 & 1828 from mainline - make behavior of /(a{3})+/ like /(aaa)+/ w.r.t where it matches - From: Ilya Zakharevich - Date: Fri, 21 Aug 1998 05:41:02 -0400 (EDT) - Message-Id: <199808210941.FAA16467@monk.mps.ohio-state.edu> - Subject: Re: your mail - +[ 4225] By: gsar on 1999/09/24 18:19:54 + Log: avoid infinite recursive exec()s of perl.exe when shebang + contains "Perl" rather than "perl" on DOSISH platforms + Branch: perl + ! toke.c +____________________________________________________________________________ +[ 4224] By: gsar on 1999/09/24 16:09:23 + Log: support cygwin and other platforms that link to import libraries + rather than directly with shared libraries (from a suggestion + by Lucian Cionca ) + Branch: perl + ! utils/perlcc.PL +____________________________________________________________________________ +[ 4223] By: gsar on 1999/09/24 05:05:06 + Log: normalize time for strftime() (without the isdst effects of + mktime()) using a custom mini_mktime() + From: spider-perl@Orb.Nashua.NH.US + Date: Thu, 23 Sep 1999 17:54:53 -0400 + Message-Id: <199909232154.RAA25151@leggy.zk3.dec.com> + Subject: Re: [ID 19990913.003] Possible bug using POSIX::strftime Digital UNIX Perl 5.005_03 + Branch: perl + ! ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs + ! ext/POSIX/hints/linux.pl t/lib/posix.t +____________________________________________________________________________ +[ 4222] By: gsar on 1999/09/23 06:44:42 + Log: change "#" to a comment starter in pack templates; "/" now + used for specifying counted types From: Ilya Zakharevich - Date: Mon, 31 Aug 1998 14:52:10 -0400 (EDT) - Message-Id: <199808311852.OAA24676@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_5*] (?>) broken in RE - Branch: maint-5.005/perl - ! regexec.c - !> t/op/re_tests + Date: Wed, 22 Sep 1999 19:41:30 -0400 + Message-ID: <19990922194130.A864@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_61] Enable comments in pack()/unpack() templates + Branch: perl + ! pod/perldiag.pod pod/perlfunc.pod pp.c t/op/pack.t ____________________________________________________________________________ -[ 2131] By: gbarr on 1998/10/30 01:09:19 - Log: integrate change#1947 from mainline - let docatch() pass the buck when restartop turns out to be null, - making exceptions in BEGIN{} propagate as expected - Branch: maint-5.005/perl - ! pp_ctl.c - !> t/op/misc.t +[ 4221] By: gsar on 1999/09/23 06:26:54 + Log: From: Vishal Bhatia + Date: Thu, 23 Sep 1999 12:45:19 +0900 (JST) + Message-ID: + Subject: [patch _61] perlcc changes + Branch: perl + ! utils/perlcc.PL ____________________________________________________________________________ -[ 2129] By: gbarr on 1998/10/29 14:53:11 - Log: integrate change#1810 from mainline - fix bogus integerization of pop()'s return value - From: Gurusamy Sarathy - Date: Sat, 15 Aug 1998 23:27:54 -0400 - Message-Id: <199808160327.XAA05186@aatma.engin.umich.edu> - Subject: Re: Complex expression does integer arithmetic - Branch: maint-5.005/perl - !> opcode.h opcode.pl -____________________________________________________________________________ -[ 2128] By: gbarr on 1998/10/29 14:28:13 - Log: integrate change#1870 from mainline - From: Dan Sugalski - Date: Fri, 14 Aug 1998 09:20:16 PDT - Message-Id: <3.0.5.32.19980814092016.00b37dc0@ous.edu> - Subject: [PATCH 5.005_02] (and _5x I expect) VMS config procedure patch - Branch: maint-5.005/perl - !> configure.com +[ 4220] By: gsar on 1999/09/23 01:12:24 + Log: add include guard + Branch: perl + ! XSUB.h ____________________________________________________________________________ -[ 2127] By: gbarr on 1998/10/29 13:36:29 - Log: Integrate change#1789 from mainline - delay freeing itervar so C works - Branch: maint-5.005/perl - !> cop.h t/cmd/for.t +[ 4219] By: jhi on 1999/09/22 20:38:15 + Log: Cleanup cleanup. + Branch: cfgperl + ! Makefile.SH t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 2123] By: gbarr on 1998/10/29 02:43:01 - Log: Apply change#2075 from mainline - fix C etc. - Branch: maint-5.005/perl - ! toke.c +[ 4218] By: jhi on 1999/09/22 19:26:58 + Log: Tweak the equivalence tables once again. + Branch: cfgperl + ! lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + ! lib/unicode/mktables.PL ____________________________________________________________________________ -[ 2122] By: gbarr on 1998/10/29 02:40:31 - Log: Apply change#2070 from mainline - avoid bogus line number in XSUB redefined warnings - Branch: maint-5.005/perl - ! op.c +[ 4215] By: jhi on 1999/09/22 06:47:03 + Log: From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: [PATCH 5.005_61] regfree could segfault with -Mre=debug + Date: Tue, 21 Sep 1999 19:50:00 -0400 + Message-ID: <19990921195000.A23938@monk.mps.ohio-state.edu> + + From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: [PATCH 5.005_61] More verbose -Mre=debug + Date: Tue, 21 Sep 1999 22:29:55 -0400 + Message-ID: <19990921222955.A25094@monk.mps.ohio-state.edu> + Branch: cfgperl + ! regcomp.c regexec.c ____________________________________________________________________________ -[ 2121] By: gbarr on 1998/10/29 02:38:59 - Log: Apply change#2052 from mainline - avoid the circular refcnt logic in magic_mutexfree() - Branch: maint-5.005/perl - ! mg.c pp.c pp_hot.c -____________________________________________________________________________ -[ 2120] By: gbarr on 1998/10/29 02:36:23 - Log: Remove "5.005" hard-coded and expose vtbl_* from the perl DLL - From: "Douglas Lankshear" - Date: Mon, 28 Sep 1998 08:49:13 -0700 - Message-ID: <000001bdeaf7$8a189350$a32fa8c0@tau.Active> - Subject: PATCH [5.005_02] update - Branch: maint-5.005/perl - ! embed.h global.sym objXSUB.h objpp.h perl.h proto.h util.c - ! win32/win32.c +[ 4214] By: jhi on 1999/09/21 21:08:43 + Log: From: 0000-Admin (0000) + Reply-To: gerberb@zenez.com + To: perl5-porters@perl.org + Subject: [ID 19990921.004] Changes for SCO OpenServer and UnixWare 7 + Date: Tue, 21 Sep 1999 11:07:46 -0600 (MDT) + Message-Id: <199909211707.LAA23611@devsys0.zenez.com> + + (Snipped away the last lines of svr5.sh a la change #3725) + Branch: cfgperl + + hints/svr5.sh + ! Configure MANIFEST config_h.SH hints/sco.sh + Branch: metaconfig + ! U/modified/Cppsym.U U/modified/Oldconfig.U ____________________________________________________________________________ -[ 2084] By: gbarr on 1998/10/25 19:09:11 - Log: Integrate change#2069 from mainline - From: Martijn Koster - Date: Wed, 21 Oct 1998 13:12:03 +0100 - Message-ID: <19981021131203.A15661@excitecorp.com> - Subject: File::Path::mkpath reports the wrong error - Branch: maint-5.005/perl - !> lib/File/Path.pm +[ 4213] By: jhi on 1999/09/21 20:48:01 + Log: From: Kragen Sitaker + To: perl5-porters@perl.org + Subject: [ID 19990921.013] accidental list context in perlfaq9 + Date: Tue, 21 Sep 1999 16:27:53 -0400 (EDT) + Reply-To: kragen@pobox.com + Message-Id: <199909212027.QAA03450@kirk.dnaco.net> + Branch: cfgperl + ! pod/perlfaq9.pod ____________________________________________________________________________ -[ 2083] By: gbarr on 1998/10/25 18:48:39 - Log: Integrate change#1965 from mainline - use better numbers for exitstatus test - Branch: maint-5.005/perl - !> t/op/die_exit.t -____________________________________________________________________________ -[ 2082] By: gbarr on 1998/10/25 18:22:54 - Log: Apply change 2054 from mainline - disallow 'x' in hex numbers (except leading '0x') - From: Gisle Aas - Date: 16 Oct 1998 16:33:12 +0200 - Message-ID: - Subject: Re: [PATCH 5.005_52] 'x' is not a legal hex digit - Branch: maint-5.005/perl - ! perlvars.h util.c - !> t/op/oct.t +[ 4212] By: jhi on 1999/09/20 19:55:42 + Log: Integrate with Sarathy. + Branch: cfgperl + +> README.Y2K + !> Changes MANIFEST ____________________________________________________________________________ -[ 2081] By: gbarr on 1998/10/25 17:58:04 - Log: Apply change #1998 from mainline - skip readonly vars and unref references when doing a reset() - Branch: maint-5.005/perl - ! sv.c +[ 4211] By: jhi on 1999/09/20 19:44:44 + Log: Rename -Duselfs to -Duselargefiles. We don't need no stnkngbbrvtns. + Branch: cfgperl + ! Configure config_h.SH pod/perldelta.pod + Branch: metaconfig/U/perl + ! use64bits.U uselfs.U uselongdbl.U ____________________________________________________________________________ -[ 2080] By: gbarr on 1998/10/25 16:06:35 - Log: Integrate changes #2072 & #1993 from mainline - fix bug in B::CC::pp_sassign() - From: "vishal bhatia" - Date: Sun, 11 Oct 1998 18:41:38 PDT - Message-ID: <19981012014139.19614.qmail@hotmail.com> - Subject: B::CC problems with pp_sassign routine - implement C and other fixes (via private mail) - From: "vishal bhatia" - Date: Wed, 21 Oct 1998 22:59:03 PDT - Message-Id: <19981022055904.20083.qmail@hotmail.com> - Subject: [PATCH 5.005_52] More fixes for B - Branch: maint-5.005/perl - !> ext/B/B.pm ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm +[ 4210] By: jhi on 1999/09/20 19:38:26 + Log: Configure -A change: -Afoo=bar is equal to -Aappend:foo=" bar". + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Options.U ____________________________________________________________________________ -[ 2079] By: gbarr on 1998/10/25 14:08:00 - Log: integrate from mainline more FSF address changes - Branch: maint-5.005/perl - !> Copying ext/B/README lib/Getopt/Long.pm +[ 4209] By: gsar on 1999/09/20 19:35:39 + Log: integrate cfgperl changes into mainline + Branch: perl + +> lib/unicode/Unicode.html + ! Changes + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH doio.c perl.h pod/perldelta.pod pod/perlfunc.pod ____________________________________________________________________________ -[ 2053] By: gbarr on 1998/10/25 04:56:47 - Log: From: Graham Barr - Date: Sat, 17 Oct 1998 23:05:18 -0500 - Message-ID: <19981017230518.K510@pobox.com> - Subject: Re: redo LOOP not restoring $` $' $& - Branch: maint-5.005/perl - ! cop.h t/cmd/while.t +[ 4208] By: gsar on 1999/09/20 18:28:44 + Log: add README.Y2K (from Dominic Dunlop ) + Branch: perl + + README.Y2K + ! MANIFEST ____________________________________________________________________________ -[ 2048] By: gbarr on 1998/10/24 04:20:10 - Log: Change Free Software Foundation address in README - Branch: maint-5.005/perl - !> README +[ 4207] By: jhi on 1999/09/20 11:06:13 + Log: Document -Duselfs, -Duselongdouble, and -Dusemorebits. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 2047] By: gbarr on 1998/10/24 04:02:20 - Log: Remove #ifdef DEBUGGING around SvTEMP_off - From: Gurusamy Sarathy - Date: Mon, 28 Sep 1998 15:23:39 -0400 - Message-Id: <199809281923.PAA10303@aatma.engin.umich.edu> - Subject: Re: [PATCH] Re: 5.005_52: the miniperl coredump: touch magic and you're toast - Branch: maint-5.005/perl - ! scope.c +[ 4206] By: jhi on 1999/09/20 09:53:15 + Log: Do not test for gccish things in non-gccish platforms. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/compline/ccflags.U ____________________________________________________________________________ -[ 2046] By: gbarr on 1998/10/24 04:00:54 - Log: use cpp symbols instead of hardwired constants - From: Hugo van der Sanden - Date: Mon, 05 Oct 1998 09:23:33 +0100 - Message-Id: <199810050823.JAA00891@crypt.compulink.co.uk> - Subject: [PATCH 5.005_52] By the numbers (resend) - Branch: maint-5.005/perl - ! op.c +[ 4205] By: jhi on 1999/09/20 09:41:22 + Log: Prompt for uselfs. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig + ! U/mksample + Branch: metaconfig/U/perl + ! use64bits.U uselfs.U +____________________________________________________________________________ +[ 4204] By: jhi on 1999/09/20 09:09:29 + Log: Add usemorebits and uselfs. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doio.c perl.h + Branch: metaconfig/U/perl + + uselfs.U usemorebits.U + ! use64bits.U uselongdbl.U ____________________________________________________________________________ -[ 2045] By: gbarr on 1998/10/24 03:50:25 - Log: squelch undef warnings - From: Hugo van der Sanden - Date: Fri, 02 Oct 1998 11:01:14 +0100 - Message-Id: <199810021001.LAA19214@crypt.compulink.co.uk> - Subject: [PATCH] Re: Apparent bug in Math::BigInt - Branch: maint-5.005/perl - !> lib/Math/BigInt.pm +[ 4203] By: jhi on 1999/09/20 07:48:48 + Log: Dethinko. + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 2044] By: gbarr on 1998/10/24 03:47:24 - Log: Add note to INSTALL about ANSI C - Branch: maint-5.005/perl - ! INSTALL +[ 4202] By: jhi on 1999/09/20 07:33:32 + Log: Fix a bug in the description of endianness. Reported in + From: "Konovalov, Vadim" + To: perl5-porters@perl.org + Subject: BUG: perldoc -f pack + Date: Mon, 20 Sep 1999 09:43:49 +0400 + Message-ID: <402099F49BEED211999700805FC7359F20D3F5@ru0028exch01.spb.lucent.com> + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 2043] By: gbarr on 1998/10/24 02:38:12 - Log: make C AUTOLOAD-aware (autouse now works for modules - that are autoloaded) - From: Gurusamy Sarathy - Date: Thu, 24 Sep 1998 03:01:01 -0400 - Message-Id: <199809240701.DAA16223@aatma.engin.umich.edu> - Subject: Re: autouse and Getopt::Long don't work together anymore - Branch: maint-5.005/perl - ! pp_ctl.c t/op/goto.t +[ 4201] By: jhi on 1999/09/20 07:01:26 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/op/args.t + !> (integrate 31 files) +____________________________________________________________________________ +[ 4200] By: gsar on 1999/09/20 03:45:06 + Log: From: Russ Allbery + Date: 19 Aug 1999 04:35:44 -0700 + Message-Id: + Subject: [ID 19990819.002] File::Find error when pruning top-level directories + Branch: perl + ! lib/File/Find.pm +____________________________________________________________________________ +[ 4199] By: gsar on 1999/09/20 03:27:49 + Log: suppress warning (from John Tobey ) + Branch: perl + ! ext/B/B/Terse.pm +____________________________________________________________________________ +[ 4198] By: gsar on 1999/09/20 03:25:25 + Log: add arenas for managing allocations of remaining xpv*v structures + From: Vishal Bhatia + Date: Wed, 25 Aug 1999 00:31:33 +0900 (JST) + Message-ID: + Subject: [PATCH 5.005_60] removing extra ref count (compiler) + Branch: perl + ! embed.h embed.pl embedvar.h ext/B/B/C.pm intrpvar.h objXSUB.h + ! proto.h sv.c +____________________________________________________________________________ +[ 4197] By: gsar on 1999/09/20 03:06:10 + Log: queue errors due to strictures rather than printing them as + warnings; symbols that violate strictures do *not* end up in + the symbol table anyway, making multiple evals of the same piece + of code produce the same errors; errors indicate all locations + of a global symbol rather than just the first one; these + changes make compile-time failures within evals reliably + visible via the return value or contents of $@, and trappable + using __DIE__ hooks + Branch: perl + ! embed.h embed.pl embedvar.h ext/DynaLoader/dlutils.c + ! ext/Thread/Thread.xs global.sym gv.c objXSUB.h op.c perl.c + ! perlapi.c pp_ctl.c proto.h regcomp.c t/pragma/strict-refs + ! t/pragma/strict-vars thrdvar.h toke.c util.c +____________________________________________________________________________ +[ 4196] By: gsar on 1999/09/19 22:14:29 + Log: control change#1914 via hints (causes problems on some platforms) + Branch: perl + ! ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs + ! ext/POSIX/hints/linux.pl ____________________________________________________________________________ -[ 2042] By: gbarr on 1998/10/24 02:16:26 - Log: From: jarkko.hietaniemi@research.nokia.com (Jarkko Hietaniemi) - Date: Wed, 12 Aug 1998 15:42:35 +0300 - Message-Id: <199808121242.PAA29761@comanche.spices> - Subject: [PATCH] 5.004_02 or 5.005_51: fix regexp and tr character ranges in non-ASCII lands - Branch: maint-5.005/perl - + t/op/tr.t - ! MANIFEST perl.h pod/perllocale.pod pod/perlop.pod - ! pod/perlre.pod regcomp.c t/pragma/locale.t toke.c +[ 4195] By: gsar on 1999/09/19 21:30:18 + Log: avoid clearing @_ at all for faster subroutine calls; fix bugs + in passing around references to @_, eg C; add + tests for the same + Branch: perl + + t/op/args.t + ! MANIFEST cop.h pp.c pp_ctl.c pp_hot.c ____________________________________________________________________________ -[ 2021] By: gbarr on 1998/10/20 01:25:23 - Log: From: Chip Salzenberg - Date: Tue, 6 Oct 1998 13:33:05 -0400 - Message-ID: <19981006133305.A2348@perlsupport.com> - Subject: [PATCH] 5.005_02: Eliminate leak on self-ties - Branch: maint-5.005/perl - ! av.c doop.c hv.c mg.c mg.h pp.c pp_hot.c pp_sys.c scope.c - ! t/op/tie.t +[ 4194] By: jhi on 1999/09/18 18:57:45 + Log: Integrate with Sarathy. + Branch: cfgperl + !> opcode.h opcode.pl +____________________________________________________________________________ +[ 4193] By: nick on 1999/09/18 15:24:56 + Log: Re-integrate mainline + Basic SvUTF8 stuff in headers, no functional changes yet. + Branch: utfperl + + lib/byte.pm lib/byte_heavy.pl + +> ext/B/defsubs_h.PL ext/DB_File/version.c jpl/JNI/Closer.java + +> jpl/JNI/JNIConfig jpl/JNI/JNIConfig.Win32 + +> jpl/JNI/JNIConfig.kaffe jpl/JNI/JNIConfig.noembed + +> jpl/JNI/JNIConfig.standard jpl/JNI/typemap.gcc + +> jpl/JNI/typemap.win32 jpl/SETVARS.PL lib/unicode/ArabShap.txt + +> lib/unicode/Blocks.txt lib/unicode/CompExcl.txt + +> lib/unicode/EAWidth.txt lib/unicode/Index.txt + +> lib/unicode/Jamo-2.txt lib/unicode/LineBrk.txt + +> lib/unicode/Names.txt lib/unicode/Props.txt + +> lib/unicode/ReadMe.txt lib/unicode/SpecCase.txt + +> t/lib/bigfltpm.t + - ext/B/defsubs.h.PL lib/unicode/arabshp.txt + - lib/unicode/blocks.txt lib/unicode/index2.txt + - lib/unicode/jamo2.txt lib/unicode/names2.txt + - lib/unicode/props2.txt lib/unicode/readme.txt + - t/lib/bigfloatpm.t + ! doop.c embed.h embed.pl gv.c mg.c objXSUB.h op.c op.h perl.h + ! perlapi.c pp.c pp_ctl.c pp_hot.c proto.h regcomp.c regcomp.h + ! regexec.c regexp.h regnodes.h sv.c sv.h toke.c utf8.c utf8.h + ! warnings.h + !> (integrate 142 files) +____________________________________________________________________________ +[ 4192] By: gsar on 1999/09/18 15:11:47 + Log: more op description tweaks + Branch: perl + ! opcode.h opcode.pl +____________________________________________________________________________ +[ 4191] By: jhi on 1999/09/18 07:47:16 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes opcode.h opcode.pl t/io/open.t t/op/misc.t + !> t/pragma/warn/op ____________________________________________________________________________ -[ 2015] By: gbarr on 1998/10/17 21:49:56 - Log: make h2xs generate ANSI prototypes - Branch: maint-5.005/perl - !> utils/h2xs.PL +[ 4190] By: jhi on 1999/09/18 07:35:45 + Log: Add description of the Unicode database files. + Branch: cfgperl + + lib/unicode/Unicode.html ____________________________________________________________________________ -[ 2014] By: gbarr on 1998/10/17 20:31:42 - Log: Fix POSIX::sigprocmask not to check type of $old parameter - as it is output only - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.xs +[ 4189] By: gsar on 1999/09/18 03:14:58 + Log: tweak some op names in change#4177 (will any of this break code that + gropes $@ ?) + Branch: perl + ! Changes opcode.h opcode.pl t/io/open.t t/op/misc.t + ! t/pragma/warn/op ____________________________________________________________________________ -[ 2013] By: gbarr on 1998/10/17 17:51:16 - Log: From: "Kurt D. Starsinic" - Date: Thu, 20 Aug 1998 20:59:03 -0400 - Message-ID: <19980820205903.A12908@O2.chapin.edu> - Subject: [PATCH] h2ph misquotes #error directives - - fix h2ph handling of C<#error "foo"> - From: SAKAI Kiyotaka - Date: Thu, 10 Sep 1998 09:59:33 +0900 - Message-Id: <19980910095933N.ksakai@netwk.ntt-at.co.jp> - Subject: [5.005_02] h2ph problem - Branch: maint-5.005/perl - !> t/lib/h2ph.pht utils/h2ph.PL +[ 4188] By: jhi on 1999/09/17 21:30:08 + Log: Pick up the typo fix. + Branch: cfgperl + !> t/io/open.t ____________________________________________________________________________ -[ 1985] By: gbarr on 1998/10/17 00:41:40 - Log: s/last/first/ typo in append_list() - Branch: maint-5.005/perl - ! op.c +[ 4187] By: gsar on 1999/09/17 21:13:55 + Log: fix typo + Branch: perl + ! t/io/open.t ____________________________________________________________________________ -[ 1984] By: gbarr on 1998/10/17 00:36:51 - Log: From: "Green, Paul" - Date: Thu, 10 Sep 1998 00:02:07 -0400 - Message-ID: <646CD0392810D211B04A00A024BF26FB1022EB@terminator.sw.stratus.com> - Subject: RE: [PATCH] 5.005_02 and 5.005_51: Stratus VOS port - Branch: maint-5.005/perl - + README.vos vos/Changes vos/build.cm vos/compile_perl.cm - + vos/config.h vos/config_h.SH_orig vos/perl.bind - + vos/test_vos_dummies.c vos/vos_dummies.c vos/vosish.h - ! MANIFEST perl.c perl.h pod/perlport.pod +[ 4186] By: gsar on 1999/09/17 20:57:29 + Log: integrate cfgperl change + Branch: perl + !> vms/subconfigure.com ____________________________________________________________________________ -[ 1983] By: gbarr on 1998/10/17 00:23:31 - Log: define PUT_svindex(), PUT_opindex() - Branch: maint-5.005/perl - !> ext/B/B/Assembler.pm +[ 4185] By: jhi on 1999/09/17 20:46:41 + Log: Re-apply applicable parts of #3993, #3994, and #3995. + Branch: cfgperl + ! vms/subconfigure.com +____________________________________________________________________________ +[ 4184] By: gsar on 1999/09/17 20:26:02 + Log: integrate cfgperl contents into mainline + Branch: perl + +> lib/unicode/ArabShap.txt lib/unicode/Blocks.txt + +> lib/unicode/CompExcl.txt lib/unicode/EAWidth.txt + +> lib/unicode/Index.txt lib/unicode/Jamo-2.txt + +> lib/unicode/LineBrk.txt lib/unicode/Names.txt + +> lib/unicode/Props.txt lib/unicode/ReadMe.txt + +> lib/unicode/SpecCase.txt + - lib/unicode/arabshp.txt lib/unicode/blocks.txt + - lib/unicode/index2.txt lib/unicode/jamo2.txt + - lib/unicode/names2.txt lib/unicode/props2.txt + - lib/unicode/readme.txt + !> (integrate 73 files) +____________________________________________________________________________ +[ 4183] By: jhi on 1999/09/17 20:25:51 + Log: Integrate with Sarathy. + Branch: cfgperl + !> configure.com ext/ByteLoader/byterun.h + !> ext/DynaLoader/DynaLoader_pm.PL lib/ExtUtils/MM_VMS.pm + !> lib/File/Spec/VMS.pm pod/perlhist.pod t/io/open.t + !> vms/descrip_mms.template vms/gen_shrfls.pl vms/perly_c.vms + !> vms/perly_h.vms vms/subconfigure.com vms/vms.c vms/vmsish.h +____________________________________________________________________________ +[ 4182] By: gsar on 1999/09/17 20:16:28 + Log: integrate vmsperl contents into mainline (where VMS files conflicted, + vmsperl contents have prevailed) + Branch: perl + !> configure.com ext/ByteLoader/byterun.h + !> ext/DynaLoader/DynaLoader_pm.PL lib/ExtUtils/MM_VMS.pm + !> lib/File/Spec/VMS.pm t/io/open.t vms/descrip_mms.template + !> vms/gen_shrfls.pl vms/perly_c.vms vms/perly_h.vms + !> vms/subconfigure.com vms/vms.c vms/vmsish.h +____________________________________________________________________________ +[ 4181] By: jhi on 1999/09/17 20:12:37 + Log: From: Michael G Schwern + To: perl5-porters@perl.org + Subject: [PATCH 5.005_60 lib/Exporter/Heavy.pm] export_to_level() + Date: Thu, 19 Aug 1999 21:30:01 -0400 + Message-ID: <19990819213001.A22512@athens.aocn.com> + Branch: cfgperl + ! lib/Exporter/Heavy.pm ____________________________________________________________________________ -[ 1982] By: gbarr on 1998/10/17 00:20:57 - Log: From: Jochen Wiedmann - Date: Thu, 17 Sep 1998 17:16:06 +0200 - Message-ID: <360127B6.E44564A@ispsoft.de> - Subject: [PATCH] ExtUtils::MakeMaker::prompt cannot return 0 - Branch: maint-5.005/perl - ! lib/ExtUtils/MakeMaker.pm +[ 4180] By: gsar on 1999/09/17 20:11:00 + Log: perlhist additions + Branch: perl + ! pod/perlhist.pod ____________________________________________________________________________ -[ 1981] By: gbarr on 1998/10/16 02:58:10 - Log: better CR-handling on shebang line and in formats (fixed variant of - patch suggested by Igor Sysoev ) - Branch: maint-5.005/perl - ! perl.c toke.c +[ 4179] By: jhi on 1999/09/17 20:08:00 + Log: The change #4176 should've undone only the test, not the code patch. + Branch: cfgperl + ! doio.c +____________________________________________________________________________ +[ 4178] By: jhi on 1999/09/17 20:06:08 + Log: From: Ian Phillipps + To: Hans GINZEL , perl5-porters@perl.org + Subject: [PATCH 5.005_59] Re: [ID 19990820.007] Small typo in perlsyn.pod + Date: Sat, 21 Aug 1999 12:36:12 +0100 + Message-ID: <19990821123612.A9955@homer.diplex.co.uk> + Branch: cfgperl + ! pod/perlsyn.pod ____________________________________________________________________________ -[ 1980] By: gbarr on 1998/10/16 02:21:57 - Log: From: Roderick Schertler - Date: 11 Sep 1998 16:19:21 -0400 - Message-ID: - Subject: Re: Open2 and memory leaks - Branch: maint-5.005/perl - !> lib/IPC/Open3.pm +[ 4177] By: jhi on 1999/09/17 20:00:19 + Log: More descriptive names for operators. + + From: Michael G Schwern + To: Ilya Zakharevich + Cc: perl5-porters@perl.org + Subject: Re: [ID 19990817.009] [BUG 5.005_60 & 5.005_03] == reported as eq in + Date: Tue, 17 Aug 1999 18:35:45 -0400 + Message-ID: <19990817183545.A23073@toldyouso.com> + + From: Michael G Schwern + To: perl5-porters@perl.org + Subject: [PATCH 5.005_60 opcode.pl and friends] Improved opcode descriptions + Date: Wed, 18 Aug 1999 03:53:38 -0400 + Message-ID: <19990818035337.A31505@athens.aocn.com> + Branch: cfgperl + ! opcode.h opcode.pl pp.sym pp_proto.h sv.c t/op/misc.t + ! t/pragma/warn/op t/pragma/warn/sv ____________________________________________________________________________ -[ 1979] By: gbarr on 1998/10/16 02:15:54 - Log: integrate change #1908 from mainline - Branch: maint-5.005/perl - !> lib/File/Find.pm +[ 4176] By: jhi on 1999/09/17 18:19:18 + Log: Take away the infamous io/dup.t #7. + It seems there simply is no way to portably + "flush" an input file handle. + Branch: cfgperl + ! doio.c t/io/dup.t ____________________________________________________________________________ -[ 1977] By: gbarr on 1998/10/16 01:52:46 - Log: tests missing from change #1794 - Branch: maint-5.005/perl - ! t/op/re_tests +[ 4175] By: jhi on 1999/09/17 14:45:08 + Log: From: Barrie Slaymaker + To: perl5-porters@perl.org + Subject: [PATCH 5.005_61] Benchmark: screwed patch format, try this instead + Date: Fri, 17 Sep 1999 11:16:48 -0400 + Message-Id: <199909171516.LAA30887@jester.slaysys.com> + Branch: cfgperl + ! lib/Benchmark.pm ____________________________________________________________________________ -[ 1794] By: gbarr on 1998/09/20 15:59:20 - Log: From: Ilya Zakharevich - Date: Tue, 11 Aug 1998 18:43:29 -0400 (EDT) - Message-Id: <199808112243.SAA14243@monk.mps.ohio-state.edu> - Subject: Re: Segmentation fault for /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/ - Branch: maint-5.005/perl - ! regcomp.c t/op/re_tests +[ 4174] By: jhi on 1999/09/17 14:07:16 + Log: UNICOS does support large files but doesn't support sparse files + so we cannot easily test for large file support. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1793] By: gbarr on 1998/09/20 15:39:41 - Log: From: Peter Prymmer - Date: Mon, 10 Aug 98 16:58:22 PDT - Message-Id: <9808102358.AA10616@forte.com> - Subject: fix for unpack('u') failures on OS/390 - Branch: maint-5.005/perl - ! pp.c +[ 4173] By: jhi on 1999/09/17 14:03:44 + Log: UNICOS has sloppy division/modulo for floating point numbers. + Branch: cfgperl + ! t/op/arith.t ____________________________________________________________________________ -[ 1792] By: gbarr on 1998/09/20 15:11:33 - Log: From: "M.J.T. Guy" - Date: Sun, 9 Aug 1998 15:51:48 +0100 - Message-Id: - Subject: Fix typo, change "an array" to "a hash" - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4172] By: jhi on 1999/09/17 13:47:49 + Log: Portable blocksize (replaces #4171). + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1791] By: gbarr on 1998/09/20 14:49:26 - Log: From: Gurusamy Sarathy - Date: Wed, 16 Sep 1998 22:13:17 -0400 - Message-Id: <199809170213.WAA10546@aatma.engin.umich.edu> - Subject: fill gaps in sig_* entries in win32/config.?c - and resync win32/config.?c with Porting/config.sh to pick up apiversion - Branch: maint-5.005/perl - ! win32/config.bc win32/config.gc win32/config.vc +[ 4171] By: jhi on 1999/09/17 13:08:54 + Log: (replaced by #4172) + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1790] By: gbarr on 1998/09/20 14:40:56 - Log: From: Gurusamy Sarathy - Date: Sun, 06 Sep 1998 15:35:11 -0400 - Message-Id: <199809061935.PAA21531@aatma.engin.umich.edu> - Subject: suppress bogus warning on C - Branch: maint-5.005/perl - ! toke.c +[ 4170] By: jhi on 1999/09/17 12:59:11 + Log: Detypo #4169. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1784] By: nick on 1998/09/12 09:53:36 - Log: Two tweaks to allow quiet compile qith egcs-1.1 - Branch: maint-5.005/perl - ! win32/win32.h +[ 4169] By: jhi on 1999/09/17 12:16:34 + Log: Diagnose possible quota limits. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1783] By: gbarr on 1998/09/07 20:33:11 - Log: Subject: index() applied BM optimization to wrong argument - From: larry@wall.org (Larry Wall) - Date: Thu, 3 Sep 1998 12:49:13 -0700 - Message-Id: <199809031949.MAA29566@wall.org>, <199809060004.RAA23792@wall.org> - Branch: maint-5.005/perl - ! op.c util.c +[ 4168] By: jhi on 1999/09/17 12:10:43 + Log: UNICOS doesn't have getpgid(). Or, at least 9.0.1ai + doesn't have one that wouldn't cause SIGSYS. UNICOS + does have getpgrp(void) so Perl getpgrp() is happy. + Branch: cfgperl + ! hints/unicos.sh ____________________________________________________________________________ -[ 1782] By: gbarr on 1998/09/07 18:54:49 - Log: From: Gurusamy Sarathy - Date: Fri, 28 Aug 1998 00:33:15 -0400 - Mssage-Id: <199808280433.AAA06767@aatma.engin.umich.edu> - Subject: socket problems on NT - Branch: maint-5.005/perl - ! objXSUB.h +[ 4167] By: jhi on 1999/09/17 11:49:30 + Log: Filesystem quotas may stop you from using large files. + Branch: cfgperl + ! pod/perldelta.pod t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1759] By: gsar on 1998/08/08 20:57:47 - Log: pending submit of 5.005_02 - Branch: maint-5.005/perl - ! Changes - ----------------- -Version 5.005_02 Second maintenance release of 5.005 ----------------- - +[ 4166] By: jhi on 1999/09/17 11:36:01 + Log: Too strict pattern for parsing group lists. + Branch: cfgperl + ! t/op/groups.t ____________________________________________________________________________ -[ 1758] By: gsar on 1998/08/08 03:45:04 - Log: set patchlevel.h, other minor tweaks - Branch: maint-5.005/perl - ! Changes patchlevel.h pod/perlhist.pod pod/perlport.pod +[ 4165] By: jhi on 1999/09/17 09:06:18 + Log: Configure maintenance. It's sigaction.sa_flags + and the Glossary regen'ed. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig + ! U/compline/d_sigaction.U ____________________________________________________________________________ -[ 1757] By: gsar on 1998/08/08 03:33:33 - Log: prevent lexical leaks from Benchmark into target code (inspired by - an attempt by John Allen) - Branch: maint-5.005/perl - ! lib/Benchmark.pm +[ 4164] By: jhi on 1999/09/15 06:57:51 + Log: Integrate with Sarathy. + Branch: cfgperl + +> jpl/JNI/Closer.java jpl/JNI/JNIConfig jpl/JNI/JNIConfig.Win32 + +> jpl/JNI/JNIConfig.kaffe jpl/JNI/JNIConfig.noembed + +> jpl/JNI/JNIConfig.standard jpl/JNI/typemap.gcc + +> jpl/JNI/typemap.win32 jpl/SETVARS.PL + !> Changes MANIFEST embed.h embed.pl jpl/JNI/JNI.pm + !> jpl/JNI/JNI.xs jpl/JNI/Makefile.PL jpl/JNI/test.pl + !> jpl/JNI/typemap jpl/JPL/Makefile.PL + !> jpl/PerlInterpreter/Makefile.PL + !> jpl/PerlInterpreter/PerlInterpreter.c + !> jpl/PerlInterpreter/PerlInterpreter.h jpl/README + !> jpl/Sample/Makefile.PL jpl/install-jpl + !> lib/File/Spec/Functions.pm pod/perlhist.pod regexec.c + !> t/op/pat.t +____________________________________________________________________________ +[ 4163] By: gsar on 1999/09/15 05:17:27 + Log: add :ALL export tag (from Chris Nandor ) + Branch: perl + ! lib/File/Spec/Functions.pm +____________________________________________________________________________ +[ 4162] By: gsar on 1999/09/15 05:09:14 + Log: addendum to change#4136 (from Robin Barker ) + Branch: perl + ! Changes embed.h embed.pl +____________________________________________________________________________ +[ 4161] By: gsar on 1999/09/15 04:08:25 + Log: missing perlhist dates from Jeff Okamoto + Branch: perl + ! pod/perlhist.pod +____________________________________________________________________________ +[ 4160] By: gsar on 1999/09/15 03:13:08 + Log: jpl tweak + Branch: perl + ! MANIFEST jpl/JNI/Makefile.PL +____________________________________________________________________________ +[ 4159] By: gsar on 1999/09/15 02:57:08 + Log: update to JPL snapshot v09141999, with minor tweaks (from Brian + Jepson ) + Branch: perl + + jpl/JNI/Closer.java jpl/JNI/JNIConfig jpl/JNI/JNIConfig.Win32 + + jpl/JNI/JNIConfig.kaffe jpl/JNI/JNIConfig.noembed + + jpl/JNI/JNIConfig.standard jpl/JNI/typemap.gcc + + jpl/JNI/typemap.win32 jpl/SETVARS.PL + ! jpl/JNI/JNI.pm jpl/JNI/JNI.xs jpl/JNI/Makefile.PL + ! jpl/JNI/test.pl jpl/JNI/typemap jpl/JPL/Makefile.PL + ! jpl/PerlInterpreter/Makefile.PL + ! jpl/PerlInterpreter/PerlInterpreter.c + ! jpl/PerlInterpreter/PerlInterpreter.h jpl/README + ! jpl/Sample/Makefile.PL jpl/install-jpl +____________________________________________________________________________ +[ 4158] By: gsar on 1999/09/15 01:27:14 + Log: From: Ilya Zakharevich + Date: Tue, 14 Sep 1999 21:26:15 EDT + Message-Id: <199909150126.VAA24720@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_58+] Re: [ID 19990914.001] Perl_re_intuit_start() hangs in a loop + Branch: perl + ! regexec.c t/op/pat.t ____________________________________________________________________________ -[ 1755] By: gsar on 1998/08/07 23:58:33 - Log: temporary opcode.pl workaround for ebcdic (suggested by - David J. Fiander and M.J.T. Guy) - Branch: maint-5.005/perl - ! opcode.pl +[ 4157] By: jhi on 1999/09/14 21:18:09 + Log: config.h will define USE_64_BITS if need be. + Branch: cfgperl + ! hints/irix_6.sh ____________________________________________________________________________ -[ 1754] By: gsar on 1998/08/07 22:21:10 - Log: From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Date: Fri, 7 Aug 1998 09:56:01 +0100 (BST) - Message-Id: <9808070856.AA28065@claudius.bfsec.bt.co.uk> - Subject: [PATCH 5.005_50 & 5.005_02] Fix for command line use of source filters - Branch: maint-5.005/perl - ! perl.c +[ 4156] By: jhi on 1999/09/14 20:30:00 + Log: Change #4149 necessitates also a small code change. + Branch: cfgperl + ! ext/B/defsubs_h.PL ____________________________________________________________________________ -[ 1753] By: gsar on 1998/08/07 22:19:42 - Log: perlport.pod notes from Jarkko Hietaniemi; utime() note for Win32 - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 4155] By: jhi on 1999/09/14 20:15:53 + Log: Update EPOC libdir names. + Branch: cfgperl + ! epoc/config.h ____________________________________________________________________________ -[ 1752] By: gsar on 1998/08/07 22:08:29 - Log: perlport.pod v1.33 from Chris Nandor - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 4154] By: jhi on 1999/09/14 20:13:41 + Log: Obsolete epoc/config.h caused #4153 to re-introduce already + deceased HAS.*DBM.*64 mumblings. + Branch: cfgperl + ! Configure config_h.SH epoc/config.h ____________________________________________________________________________ -[ 1751] By: gsar on 1998/08/07 22:01:04 - Log: From: Ilya Zakharevich - Date: Thu, 6 Aug 1998 19:44:16 -0400 (EDT) - Message-Id: <199808062344.TAA09505@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Minor cleanup of RE tests and docs - Branch: maint-5.005/perl - ! pod/perlre.pod t/op/regexp.t +[ 4153] By: jhi on 1999/09/14 20:04:53 + Log: Configure nits. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/compline/d_sigaction.U U/threads/i_pthread.U ____________________________________________________________________________ -[ 1750] By: gsar on 1998/08/07 21:51:52 - Log: allow more compatible interpretation of spaces File::DosGlob::glob() - patterns - Branch: maint-5.005/perl - ! lib/File/DosGlob.pm +[ 4152] By: jhi on 1999/09/14 19:30:22 + Log: Integrate with Sarathy. + Branch: cfgperl + +> ext/B/defsubs_h.PL t/lib/bigfltpm.t + - ext/B/defsubs.h.PL t/lib/bigfloatpm.t + !> INSTALL MANIFEST ext/B/Makefile.PL pod/perldiag.pod + !> win32/config_sh.PL +____________________________________________________________________________ +[ 4151] By: jhi on 1999/09/14 10:25:01 + Log: Update Unicode database and recompute the tables. + Rename the .txt files to be more Unicode 3.0-like. + Unihan-3.0.txt not included because it is 16 MB. + syllables.txt is manually maintained. + See ReadMe.txt for description of the .txt files. + (not all of them are used yet) + Branch: cfgperl + + lib/unicode/ArabShap.txt lib/unicode/Blocks.txt + + lib/unicode/CompExcl.txt lib/unicode/EAWidth.txt + + lib/unicode/Index.txt lib/unicode/Jamo-2.txt + + lib/unicode/LineBrk.txt lib/unicode/Names.txt + + lib/unicode/Props.txt lib/unicode/ReadMe.txt + + lib/unicode/SpecCase.txt + - lib/unicode/arabshp.txt lib/unicode/blocks.txt + - lib/unicode/index2.txt lib/unicode/jamo2.txt + - lib/unicode/names2.txt lib/unicode/props2.txt + - lib/unicode/readme.txt + ! MANIFEST lib/unicode/ArabLink.pl lib/unicode/ArabLnkGrp.pl + ! lib/unicode/Bidirectional.pl lib/unicode/Block.pl + ! lib/unicode/Category.pl lib/unicode/CombiningClass.pl + ! lib/unicode/Decomposition.pl + ! lib/unicode/In/ArabicPresentationForms-B.pl + ! lib/unicode/In/Specials.pl lib/unicode/In/Tibetan.pl + ! lib/unicode/Is/Alnum.pl lib/unicode/Is/Alpha.pl + ! lib/unicode/Is/BidiCS.pl lib/unicode/Is/BidiL.pl + ! lib/unicode/Is/BidiON.pl lib/unicode/Is/BidiWS.pl + ! lib/unicode/Is/DCcompat.pl lib/unicode/Is/DecoCanon.pl + ! lib/unicode/Is/DecoCompat.pl lib/unicode/Is/L.pl + ! lib/unicode/Is/Ll.pl lib/unicode/Is/Lo.pl + ! lib/unicode/Is/Lower.pl lib/unicode/Is/Lu.pl + ! lib/unicode/Is/Pd.pl lib/unicode/Is/Po.pl lib/unicode/Is/S.pl + ! lib/unicode/Is/Sm.pl lib/unicode/Is/So.pl + ! lib/unicode/Is/Upper.pl lib/unicode/Is/Word.pl + ! lib/unicode/JamoShort.pl lib/unicode/UnicodeData-Latest.txt + ! lib/unicode/mktables.PL +____________________________________________________________________________ +[ 4150] By: gsar on 1999/09/14 09:31:57 + Log: INSTALL tweak + Branch: perl + ! INSTALL +____________________________________________________________________________ +[ 4149] By: gsar on 1999/09/14 09:00:45 + Log: change some filenames to be 8.3-friendly + Branch: perl + +> ext/B/defsubs_h.PL t/lib/bigfltpm.t + - ext/B/defsubs.h.PL t/lib/bigfloatpm.t + ! MANIFEST ext/B/Makefile.PL pod/perldiag.pod +____________________________________________________________________________ +[ 4148] By: gsar on 1999/09/14 08:35:00 + Log: win32 config tweak (suggested by Greg Chapman ) + Branch: perl + ! win32/config_sh.PL +____________________________________________________________________________ +[ 4147] By: jhi on 1999/09/14 08:07:49 + Log: Not that UVSIZE normally differs that much from IVSIZE... + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1749] By: gsar on 1998/08/07 21:36:04 - Log: don't use © in Test.pm (suggested by M.J.T. Guy) - Branch: maint-5.005/perl - ! lib/Test.pm +[ 4146] By: jhi on 1999/09/14 08:04:40 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes ext/DB_File/DB_File.xs ____________________________________________________________________________ -[ 1748] By: gsar on 1998/08/07 21:31:46 - Log: From: Dominic Dunlop - Date: Thu, 6 Aug 1998 12:38:07 +0000 - Message-Id: - Subject: [Patch perl5.005_02-TRIAL2] Update hints, Configure for MachTen 4.1.1 - Branch: maint-5.005/perl - ! Configure hints/machten.sh +[ 4145] By: jhi on 1999/09/14 07:10:02 + Log: I_PTHREAD was PTHREADEAD. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/threads/i_pthread.U ____________________________________________________________________________ -[ 1746] By: gsar on 1998/08/05 22:55:59 - Log: MM_Win32.pm and Liblist.pm tweaks - Branch: maint-5.005/perl - ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Win32.pm +[ 4144] By: gsar on 1999/09/14 06:46:47 + Log: change#4113 was missing DB_File.xs changes + Branch: perl + ! ext/DB_File/DB_File.xs ____________________________________________________________________________ -[ 1745] By: gsar on 1998/08/05 21:57:00 - Log: pod/perlfaq* update from Tom Christiansen - Branch: maint-5.005/perl - ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod - ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq8.pod +[ 4143] By: jhi on 1999/09/13 20:16:20 + Log: Small doc and whitespace edits. + Branch: cfgperl + ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_beos.xs + ! ext/DynaLoader/dl_cygwin.xs ext/DynaLoader/dl_dld.xs + ! ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_mpeix.xs + ! ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_rhapsody.xs + ! ext/DynaLoader/dl_vmesa.xs ext/DynaLoader/dl_vms.xs + ! pod/perldelta.pod +____________________________________________________________________________ +[ 4142] By: gsar on 1999/09/13 19:32:31 + Log: integrate cfgperl contents into mainline, update Changes + Branch: perl + +> ext/DB_File/version.c + ! Changes + !> (integrate 44 files) +____________________________________________________________________________ +[ 4141] By: jhi on 1999/09/13 16:16:56 + Log: Scan for always. + Branch: cfgperl + ! Configure config_h.SH perl.h + Branch: metaconfig + ! U/threads/i_pthread.U +____________________________________________________________________________ +[ 4140] By: jhi on 1999/09/13 16:00:08 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 27 files) +____________________________________________________________________________ +[ 4139] By: jhi on 1999/09/13 15:35:18 + Log: Add -A option to Configure to diddle with variables + after the hints file has been applied. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/Oldconfig.U U/modified/Options.U +____________________________________________________________________________ +[ 4138] By: jhi on 1999/09/13 13:42:56 + Log: Change #4136 edited DynaLoader.xs which is kind of fruitless. + Branch: cfgperl + ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_beos.xs + ! ext/DynaLoader/dl_cygwin.xs ext/DynaLoader/dl_dld.xs + ! ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_mpeix.xs + ! ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_rhapsody.xs + ! ext/DynaLoader/dl_vmesa.xs ext/DynaLoader/dl_vms.xs +____________________________________________________________________________ +[ 4137] By: jhi on 1999/09/13 13:25:31 + Log: Applying change #4136 manually introduced patch residue. + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1744] By: gsar on 1998/08/05 21:53:30 - Log: From: Chris Nandor - Date: Wed, 5 Aug 1998 15:38:48 -0400 - Message-Id: - Subject: [PATCH] perlport 1.32 - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 4136] By: jhi on 1999/09/13 13:23:04 + Log: Replace change #4100 with + From: Robin Barker + To: gsar@activestate.com + Cc: perl5-porters@perl.org + Subject: Re: [ID 19990907.004] [PATCH perl5.005_61] compiler warnings with -Duse64bits + Date: Mon, 13 Sep 1999 14:15:11 +0100 (BST) + Message-Id: <199909131315.OAA24012@tempest.npl.co.uk> + Branch: cfgperl + ! doio.c dump.c ext/B/B.xs ext/B/typemap + ! ext/ByteLoader/bytecode.h ext/Devel/DProf/DProf.xs + ! ext/DynaLoader/dl_dlopen.xs ext/ODBM_File/ODBM_File.xs + ! ext/POSIX/POSIX.xs lib/ExtUtils/typemap malloc.c perl.h pp.c + ! pp_ctl.c pp_hot.c pp_sys.c sv.c ____________________________________________________________________________ -[ 1743] By: gsar on 1998/08/05 21:52:05 - Log: README.os2 update - From: Ilya Zakharevich - Date: Wed, 5 Aug 1998 05:44:46 -0400 (EDT) - Message-Id: <199808050944.FAA09053@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Additional OS/2 tweaks: docs, tests - Branch: maint-5.005/perl - ! README.os2 t/lib/posix.t t/op/exec.t +[ 4135] By: jhi on 1999/09/13 10:22:31 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_61] MakeMaker supports uninstalled Perls + Date: Sat, 11 Sep 1999 05:31:03 -0400 (EDT) + Message-Id: <199909110931.FAA11036@monk.mps.ohio-state.edu> + + From: andreas.koenig@anima.de (Andreas J. Koenig) + To: Ilya Zakharevich + Cc: perl5-porters@perl.org (Mailing list Perl5) + Subject: Re: [PATCH 5.005_61] MakeMaker supports uninstalled Perls + Date: 11 Sep 1999 15:36:26 +0200 + Message-ID: + Branch: cfgperl + ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm ____________________________________________________________________________ -[ 1742] By: gsar on 1998/08/05 21:50:07 - Log: additional INSTALL notes from Jarkko Hietaniemi - on semget failure in t/lib/ipc_sysv.t - Branch: maint-5.005/perl - ! INSTALL +[ 4134] By: jhi on 1999/09/13 10:20:14 + Log: From: Tom Phoenix + To: Perl Porters Mailing List + Subject: [DOCPATCH] Server errors and perldiag + Date: Fri, 10 Sep 1999 16:45:02 -0700 (PDT) + Message-ID: + Branch: cfgperl + ! pod/perldiag.pod ____________________________________________________________________________ -[ 1741] By: gsar on 1998/08/05 21:46:13 - Log: correct URL for perlcrt.dll - Branch: maint-5.005/perl - ! Changes win32/Makefile win32/makefile.mk +[ 4133] By: gsar on 1999/09/13 03:25:43 + Log: avoid assertion failure on C<@a'> + Branch: perl + ! toke.c ____________________________________________________________________________ -[ 1740] By: gsar on 1998/08/05 10:05:46 - Log: update Changes, patchlevel, tweak Liblist.pm - Branch: maint-5.005/perl - ! Changes lib/ExtUtils/Liblist.pm patchlevel.h +[ 4132] By: gsar on 1999/09/13 03:03:57 + Log: add -DPERL_Y2KWARN build option that will generate additional + warnings on "19$yy" etc (reworked a patch suggested by + Ulrich Pfeifer ) + Branch: perl + ! pod/perldelta.pod pod/perldiag.pod pod/perllexwarn.pod + ! pp_hot.c sv.c t/pragma/warn/pp_hot t/pragma/warn/sv ____________________________________________________________________________ -[ 1739] By: gsar on 1998/08/05 09:10:45 - Log: newer cperl-mode.el - From: Ilya Zakharevich - Date: Wed, 5 Aug 1998 03:50:16 -0400 (EDT) - Message-Id: <199808050750.DAA07240@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] CPerl update - Branch: maint-5.005/perl - ! emacs/cperl-mode.el +[ 4131] By: gsar on 1999/09/12 22:06:25 + Log: fix DATA leaks; reword documentation about the DATA filehandle + Branch: perl + ! ext/Opcode/Safe.pm lib/Pod/Functions.pm pod/perldata.pod ____________________________________________________________________________ -[ 1738] By: gsar on 1998/08/05 09:08:33 - Log: support :nosearch in ExtUtils::Liblist for win32, and make -lfoo - processing (somewhat) compiler-specific - Branch: maint-5.005/perl - ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Win32.pm +[ 4130] By: gsar on 1999/09/12 20:08:56 + Log: make sprintf("%g",...) threadsafe; only taint its result iff the + formatted result looks nonstandard + Branch: perl + ! embed.pl embedvar.h intrpvar.h objXSUB.h perl.c perlapi.c + ! pod/perlfunc.pod pod/perlguts.pod proto.h sv.c + ! t/pragma/locale.t thrdvar.h ____________________________________________________________________________ -[ 1737] By: gsar on 1998/08/05 03:20:03 - Log: add index entries for -X - From: Ilya Zakharevich - Date: Sun, 02 Aug 1998 16:33:18 EDT - Message-Id: <199808022033.QAA18778@monk.mps.ohio-state.edu> - Subject: [PATCH] A missing docu patch - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4129] By: gsar on 1999/09/12 17:04:11 + Log: From: Doug MacEachern + Date: Sun, 25 Jul 1999 15:49:00 -0700 (PDT) + Message-ID: + Subject: [PATCH 5.005_57] B::clearsym + Branch: perl + ! ext/B/B.pm ext/B/B/Bblock.pm ext/B/B/Debug.pm ext/B/B/Terse.pm +____________________________________________________________________________ +[ 4128] By: gsar on 1999/09/12 16:59:12 + Log: better debugger help output (from Ilya Zakharevich) + Branch: perl + ! lib/perl5db.pl ____________________________________________________________________________ -[ 1736] By: gsar on 1998/08/05 03:09:58 - Log: make Test::Harness optionally check for stray files when running tests +[ 4127] By: jhi on 1999/09/11 20:50:37 + Log: Integrate with Sarathy. + Branch: cfgperl + +> pod/perlcompile.pod t/lib/gol-basic.t t/lib/gol-compat.t + +> t/lib/gol-linkage.t + !> (integrate 43 files) +____________________________________________________________________________ +[ 4126] By: nick on 1999/09/10 20:44:22 + Log: Get resolve -at mainline + Branch: utfperl + +> (branch 297 files) + - README.cygwin32 XSlock.h bytecode.h byterun.c byterun.h + - cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc + - cygwin32/perlld ext/B/byteperl.c ext/DynaLoader/dl_cygwin32.xs + - hints/cygwin32.sh interp.sym myconfig objpp.h perl_exp.SH + - t/pragma/warn-1global t/pragma/warning.t thread.sym + - win32/GenCAPI.pl win32/TEST win32/autosplit.pl + - win32/bin/network.pl win32/bin/webget.pl win32/bin/www.pl + - win32/genxsdef.pl win32/makedef.pl win32/makemain.pl + - win32/makeperldef.pl win32/perlhost.h + !> (integrate 847 files) +____________________________________________________________________________ +[ 4125] By: gsar on 1999/09/10 19:22:14 + Log: s/dXS_TARGET/dXSTARG/ in change#4044 (to match dARGS vs dXSARGS + etc.) + Branch: perl + ! XSUB.h pp.h +____________________________________________________________________________ +[ 4124] By: gsar on 1999/09/10 19:14:35 + Log: rewrote substantive parts of patch From: Ilya Zakharevich - Date: Sun, 2 Aug 1998 18:12:48 -0400 (EDT) - Message-Id: <199808022212.SAA20126@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] File leaked from test suite - Branch: maint-5.005/perl - ! lib/Test/Harness.pm + Date: Fri, 27 Aug 1999 19:02:18 -0400 + Message-ID: <19990827190218.A19561@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_58] REx documentation + Branch: perl + ! pod/perlre.pod ____________________________________________________________________________ -[ 1735] By: gsar on 1998/08/05 02:29:46 - Log: back out change#1703 that break bincompat with PERL_OBJECT and - MULTIPLICITY - Branch: maint-5.005/perl - ! ext/re/re.pm regcomp.c regexec.c thrdvar.h -____________________________________________________________________________ -[ 1734] By: gsar on 1998/08/05 02:23:47 - Log: fixes to enable ISC to build IPC/SysV - From: Jarkko Hietaniemi - Date: 05 Aug 1998 00:59:13 +0300 - Message-ID: - Subject: [PATCH] 5.005_02-TRIAL1: (Re: Bug in pp_rename and ISC hint) - Branch: maint-5.005/perl - ! ext/IPC/SysV/SysV.xs hints/isc.sh hints/isc_2.sh +[ 4123] By: gsar on 1999/09/10 18:21:53 + Log: note about AVf_* + Branch: perl + ! av.h ____________________________________________________________________________ -[ 1733] By: gsar on 1998/08/05 01:20:29 - Log: let some 'tr' be '$tr' for occult reasons - From: Jeff Okamoto - Date: Mon, 3 Aug 1998 11:04:30 -0700 (PDT) - Message-Id: <199808031804.LAA25595@xfiles.intercon.hp.com> - Subject: PATCH: Configure uses tr, not $tr - Branch: maint-5.005/perl - ! Configure +[ 4122] By: gsar on 1999/09/10 17:55:42 + Log: allow 'text' in L (from Martin Lichtin + ) + Branch: perl + ! lib/Pod/Html.pm ____________________________________________________________________________ -[ 1732] By: gsar on 1998/08/05 01:16:40 - Log: perlre.pod tweak suggested by Mike Wescott - Branch: maint-5.005/perl - ! pod/perlre.pod +[ 4121] By: gsar on 1999/09/10 17:49:35 + Log: dos-djgpp update (from Laszlo Molnar ) + Branch: perl + ! AUTHORS Changes README.dos djgpp/config.over + ! djgpp/configure.bat djgpp/djgpp.c djgpp/djgppsed.sh dosish.h + ! lib/ExtUtils/MM_Unix.pm pod/pod2usage.PL pod/podchecker.PL + ! pod/podselect.PL sv.h t/io/openpid.t util.c ____________________________________________________________________________ -[ 1731] By: gsar on 1998/08/05 01:10:41 - Log: explain caveat about use of numeric constants in podoc for sysopen() - From: "David J. Fiander" - Date: Tue, 4 Aug 1998 13:09:58 -0400 - Message-Id: <199808041709.NAA01750@mks.com> - Subject: Re: [PATCH] 5.005_01: OE MVS - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4120] By: gsar on 1999/09/10 12:25:01 + Log: add perlcompile.pod (edited content from Nathan Torkington + and others) + Branch: perl + + pod/perlcompile.pod + ! MANIFEST pod/Makefile pod/buildtoc pod/perl.pod pod/roffitall ____________________________________________________________________________ -[ 1730] By: gsar on 1998/08/05 00:46:53 - Log: end pod processing when source file is closed (prevents it carrying - over into require()d files) - Branch: maint-5.005/perl - ! t/comp/require.t toke.c +[ 4119] By: gsar on 1999/09/10 11:05:13 + Log: avoid leaking static local_patches unless patchlevel.h is + explicitly included + Branch: perl + ! patchlevel.h perl.c ____________________________________________________________________________ -[ 1729] By: gsar on 1998/08/04 23:03:23 - Log: correct prototype for des_fcrypt(), explain how to add it in more - detail, and supply a patch for libdes-3.06 - Branch: maint-5.005/perl - + win32/des_fcrypt.patch - ! MANIFEST README.win32 win32/Makefile win32/makefile.mk - ! win32/win32.c +[ 4118] By: gsar on 1999/09/10 10:44:54 + Log: upgrade to Getopt::Long v2.20 (from Johan Vromans + ) + Branch: perl + + t/lib/gol-basic.t t/lib/gol-compat.t t/lib/gol-linkage.t + ! Changes MANIFEST lib/Getopt/Long.pm ____________________________________________________________________________ -[ 1728] By: gsar on 1998/08/04 21:50:40 - Log: tweak to avoid ambiguity warnings - Branch: maint-5.005/perl - ! pp.c +[ 4116] By: jhi on 1999/09/09 15:56:52 + Log: perldeltify change #4115. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 1727] By: gsar on 1998/08/04 20:31:04 - Log: remove useless 'rcsid' (extension of a suggestion by - Stephen McCamant) - Branch: maint-5.005/perl - ! embed.h ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/sdbm.c - ! global.sym gv.c perl.c vms/gen_shrfls.pl +[ 4115] By: jhi on 1999/09/09 15:48:56 + Log: From: "John L. Allen" + To: perl5-porters@perl.org + Subject: [ID 19990901.003] Time::Local should not croak on "out-of-range" days + Date: Wed, 1 Sep 1999 13:33:39 -0400 (EDT) + Message-Id: <199909011733.NAA17356@gateway.grumman.com> + Branch: cfgperl + ! lib/Time/Local.pm ____________________________________________________________________________ -[ 1726] By: gsar on 1998/08/04 19:52:43 - Log: correct Pod::Html's notion of email addresses - From: abigail@fnx.com - Date: Mon, 3 Aug 1998 20:22:49 -0400 (EDT) - Message-ID: <19980804002249.2011.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.005_01] lib/Pod/Html.pm - Branch: maint-5.005/perl - ! lib/Pod/Html.pm +[ 4114] By: jhi on 1999/09/09 15:42:30 + Log: From: "Daniel S. Lewart" + To: perl5-porters@perl.org + Subject: [ID 19990909.003] MAXINT redefined warning on HP-UX 10.20 + Date: Thu, 9 Sep 1999 10:33:37 -0500 (CDT) + Message-Id: <199909091533.KAA01242@www.cvm.uiuc.edu> + Branch: cfgperl + ! pp_sys.c ____________________________________________________________________________ -[ 1725] By: gsar on 1998/08/04 19:50:06 - Log: perlport.pod additions from Peter Prymmer - Date: Mon, 3 Aug 98 15:31:35 PDT - Message-Id: <9808032231.AA22324@forte.com> - -- - Date: Tue, 4 Aug 98 12:44:20 PDT - Message-Id: <9808041944.AA04815@forte.com> - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 4113] By: jhi on 1999/09/09 10:17:45 + Log: From: paul.marquess@bt.com + To: gsar@ActiveState.com + Cc: perl5-porters@perl.org + Subject: [PATCH 5.005_61] DB_File 1.71 + Date: Thu, 9 Sep 1999 11:20:13 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB202D49BBE@mbtlipnt02.btlabs.bt.co.uk> + Branch: cfgperl + + ext/DB_File/version.c + ! MANIFEST ext/DB_File/Changes ext/DB_File/DB_File.pm + ! ext/DB_File/Makefile.PL ext/DB_File/dbinfo ext/DB_File/typemap + ! t/lib/db-btree.t ____________________________________________________________________________ -[ 1724] By: gsar on 1998/08/04 18:08:07 - Log: From: Chris Nandor - Date: Mon, 3 Aug 1998 13:35:25 -0400 - Message-Id: - Subject: [PATCH] perlport 1.30 - Branch: maint-5.005/perl - ! pod/perlport.pod +[ 4112] By: jhi on 1999/09/09 09:05:32 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_58] Fix interaction of (?p{}) and (?>) + Date: Thu, 9 Sep 1999 04:40:11 -0400 (EDT) + Message-Id: <199909090840.EAA26471@monk.mps.ohio-state.edu> + Branch: cfgperl + ! regexec.c t/op/pat.t ____________________________________________________________________________ -[ 1723] By: gsar on 1998/08/04 18:06:13 - Log: update postscript generator - From: Tom Christiansen - Date: Mon, 3 Aug 1998 05:29:25 -0600 - Message-Id: <199808031129.FAA24985@chthon.perl.com> - Subject: PATCH: pod/roffitall (5.005_02) - Branch: maint-5.005/perl - ! pod/roffitall +[ 4110] By: jhi on 1999/09/09 07:29:17 + Log: Tidy up 64-bit situation in perldelta. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 1722] By: gsar on 1998/08/03 17:01:12 - Log: applied suggested patch, slightly tweaked - From: Jarkko Hietaniemi - Date: Mon, 3 Aug 1998 11:52:30 +0300 (EET DST) - Message-Id: <199808030852.LAA14153@alpha.hut.fi> - Subject: [PATCH] perl5.005_02-TRIAL1: pod/perlhist.pod - Branch: maint-5.005/perl - ! pod/perlhist.pod +[ 4109] By: jhi on 1999/09/09 07:26:53 + Log: Clear up PL_regcc issues. + + From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_60] Another regexec.c unobfuscation + Date: Thu, 9 Sep 1999 02:49:49 -0400 (EDT) + Message-Id: <199909090649.CAA26119@monk.mps.ohio-state.edu> + Branch: cfgperl + ! regexec.c ____________________________________________________________________________ -[ 1721] By: gsar on 1998/08/03 16:30:20 - Log: fix segfault when threadsv is used as foreach itervar - From: Stephen McCamant - Date: Sun, 02 Aug 1998 21:44:34 CDT - Message-Id: <13765.8641.997452.14516@alias-2.pr.mcs.net> - Subject: [PATCH] threadsv index in enteriter targ in op_free() - Branch: maint-5.005/perl - ! op.c +[ 4108] By: gsar on 1999/09/08 20:52:51 + Log: avoid ass_u_ming uppercase types are not user objects (spotted + by Kurt Starsinic) + Branch: perl + ! ext/Data/Dumper/Dumper.pm ____________________________________________________________________________ -[ 1720] By: gsar on 1998/08/02 23:33:42 - Log: close() open files before unlink() - From: Ilya Zakharevich - Date: Sun, 2 Aug 1998 18:14:22 -0400 (EDT) - Message-Id: <199808022214.SAA20135@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] File leaked from test suite - tests - Branch: maint-5.005/perl - ! t/base/rs.t t/op/defins.t +[ 4107] By: gsar on 1999/09/08 20:35:18 + Log: From: akim@epita.fr (DEMAILLE Akim) + Date: Wed, 8 Sep 1999 18:18:44 +0200 (CEST) + Message-Id: + Subject: [ID 19990908.014] s2p does not quote @ + Branch: perl + ! x2p/s2p.PL ____________________________________________________________________________ -[ 1719] By: gsar on 1998/08/02 23:31:51 - Log: more pack() tests - From: Jarkko Hietaniemi - Date: Mon, 3 Aug 1998 00:59:41 +0300 (EET DST) - Message-Id: <199808022159.AAA17160@alpha.hut.fi> - Subject: Re: uudecode 'u' problem - Branch: maint-5.005/perl - ! t/op/pack.t +[ 4106] By: gsar on 1999/09/08 20:25:12 + Log: integrate cfgperl contents into mainline + Branch: perl + !> (integrate 30 files) ____________________________________________________________________________ -[ 1718] By: gsar on 1998/08/02 23:26:51 - Log: t/TEST aesthetic tweak suggested by Jarkko - Branch: maint-5.005/perl - ! t/TEST +[ 4105] By: jhi on 1999/09/08 09:02:37 + Log: Minor touches at the [:class:] description. + Branch: cfgperl + ! pod/perlre.pod ____________________________________________________________________________ -[ 1717] By: gsar on 1998/08/02 23:23:43 - Log: add Digital Unix 3.x notes to README.threads (as suggested by - Phoenix ) - Branch: maint-5.005/perl - ! README.threads -____________________________________________________________________________ -[ 1716] By: gsar on 1998/08/02 23:15:00 - Log: allow *FOO{BAR}[0] etc. (without intervening arrow) - From: Stephen McCamant - Date: Sun, 2 Aug 1998 16:16:50 -0500 (CDT) - Message-ID: <13764.54929.60137.104838@alias-2.pr.mcs.net> - Subject: [PATCH] Re: Minor nit in glob notation - Branch: maint-5.005/perl - ! Changes op.c +[ 4104] By: jhi on 1999/09/08 08:57:58 + Log: From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: [PATCH 5.005_58] Fix debugging output for REx + Date: Wed, 8 Sep 1999 05:02:02 -0400 + Message-ID: <19990908050201.A17682@monk.mps.ohio-state.edu> + Branch: cfgperl + ! regcomp.c ____________________________________________________________________________ -[ 1715] By: gsar on 1998/08/02 22:49:53 - Log: fix unpack('u',...) problem with spaces in input - Branch: maint-5.005/perl - ! pp.c t/op/pack.t +[ 4103] By: gsar on 1999/09/08 00:53:50 + Log: fix memory leak in C + Branch: perl + ! pp.c ____________________________________________________________________________ -[ 1714] By: gsar on 1998/08/02 21:27:19 - Log: update location of perlcrt.dll for win32 builds - Branch: maint-5.005/perl - ! win32/Makefile win32/makefile.mk +[ 4102] By: gsar on 1999/09/08 00:52:50 + Log: fix memory leak in C + Branch: perl + ! cop.h pp_hot.c ____________________________________________________________________________ -[ 1713] By: gsar on 1998/08/02 09:28:32 - Log: From: Ilya Zakharevich - Date: Sun, 2 Aug 1998 04:35:11 -0400 (EDT) - Message-Id: <199808020835.EAA09367@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Better debugging output from malloc.c - Branch: maint-5.005/perl - ! malloc.c +[ 4101] By: gsar on 1999/09/07 17:25:07 + Log: various fixups for windows + Branch: perl + ! embed.h embed.pl objXSUB.h op.c perlapi.c proto.h + ! win32/Makefile win32/makefile.mk xsutils.c ____________________________________________________________________________ -[ 1712] By: gsar on 1998/08/02 09:16:55 - Log: fix longstanding bug in pack('u',...) (reads garbage beyond the end - of the input string) - Branch: maint-5.005/perl - ! pp.c +[ 4100] By: jhi on 1999/09/07 12:49:15 + Log: Fix pointer casts. + + From: Robin Barker + To: perl5-porters@perl.org + Subject: [ID 19990907.004] [PATCH perl5.005_61] compiler warnings with + -Duse64bits + Date: Tue, 7 Sep 1999 12:30:18 +0100 (BST) + Message-Id: <199909071130.MAA11435@tempest.npl.co.uk> + Branch: cfgperl + ! doio.c dump.c ext/B/B.xs ext/B/typemap + ! ext/ByteLoader/bytecode.h ext/Devel/DProf/DProf.xs + ! ext/DynaLoader/dl_dlopen.xs ext/ODBM_File/ODBM_File.xs + ! ext/POSIX/POSIX.xs lib/ExtUtils/typemap malloc.c perl.h pp.c + ! pp_ctl.c pp_hot.c pp_sys.c sv.c +____________________________________________________________________________ +[ 4099] By: jhi on 1999/09/07 10:29:04 + Log: Add sig/pid/uid size and sign probes. + Branch: metaconfig + + U/typedefs/gidsign.U U/typedefs/gidsize.U U/typedefs/pidsign.U + + U/typedefs/pidsize.U U/typedefs/uidsign.U U/typedefs/uidsize.U +____________________________________________________________________________ +[ 4098] By: jhi on 1999/09/07 10:27:06 + Log: Band-aid until we've got %{Uid_t} or something similar + for sv_catpvfn(). + Branch: cfgperl + ! taint.c ____________________________________________________________________________ -[ 1711] By: gsar on 1998/08/02 08:14:25 - Log: update Changes, tweak Porting/makerel - Branch: maint-5.005/perl - ! Changes Porting/makerel +[ 4097] By: jhi on 1999/09/07 09:41:23 + Log: Fix a printf thinko: now quads must have the ll L q prefix. + (in other words, a bare %d is an int/unsigned) + Branch: cfgperl + ! pp_sys.c sv.c t/op/64bit.t ____________________________________________________________________________ -[ 1710] By: gsar on 1998/08/02 07:31:37 - Log: remove CRs from djgpp/configure.bat (Porting/makerel adds them) - Branch: maint-5.005/perl - ! djgpp/configure.bat +[ 4096] By: jhi on 1999/09/07 07:36:17 + Log: HP-UX 10.20 and gcc 2.8.1 break UINT32_MAX. + + From: "Daniel S. Lewart" + To: perl5-porters@perl.org + Subject: [ID 19990906.007] Not OK: perl 5.00561 on PA-RISC1.1 10.20 + Date: Mon, 6 Sep 1999 21:18:12 -0500 (CDT) + Message-Id: <199909070218.VAA29232@www.cvm.uiuc.edu> + Branch: cfgperl + ! hints/hpux.sh perl.h ____________________________________________________________________________ -[ 1709] By: gsar on 1998/08/02 07:27:34 - Log: Porting/makerel tweaks - Branch: maint-5.005/perl - ! Porting/makerel +[ 4095] By: gsar on 1999/09/06 20:47:02 + Log: applied suggested patch with suitable test to detect MSVC + From: "Vishal Bhatia" + Date: Wed, 11 Aug 1999 01:43:28 -0700 + Message-ID: + Subject: compiler on win32 + Branch: perl + ! ext/B/B/C.pm ____________________________________________________________________________ -[ 1708] By: gsar on 1998/08/02 07:09:35 - Log: fixes for pod noises - Branch: maint-5.005/perl - ! ext/B/B/Bytecode.pm ext/Thread/Thread/Specific.pm - ! pod/perlembed.pod pod/perlfaq.pod +[ 4094] By: jhi on 1999/09/06 20:34:44 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/B/B/Bytecode.pm lib/Test/Harness.pm t/TEST t/UTEST + !> t/harness t/pragma/sub_lval.t utils/Makefile utils/perlcc.PL ____________________________________________________________________________ -[ 1707] By: gsar on 1998/08/02 06:59:47 - Log: malloc.c tweaks - From: Ilya Zakharevich - Date: Sat, 01 Aug 1998 18:46:32 EDT - Message-Id: <199808012246.SAA00699@monk.mps.ohio-state.edu> - Subject: [PATCH 5.005_*] Better malloc.c - Branch: maint-5.005/perl - ! malloc.c +[ 4093] By: jhi on 1999/09/06 20:33:43 + Log: Fix UV_SIZEOF to UVSIZE; change the overflow tests + so that they overflow also on 64-bit platforms. + Branch: cfgperl + ! t/pragma/warn/toke t/pragma/warn/util toke.c util.c ____________________________________________________________________________ -[ 1706] By: gsar on 1998/08/02 06:56:37 - Log: fix quoting of keys with embedded nulls - From: Slaven Rezic - Date: Sat, 01 Aug 1998 13:38:03 +0200 - Message-Id: <199808011138.NAA05189@mail.cs.tu-berlin.de> - Subject: Data::Dumper 2.09, patch - Branch: maint-5.005/perl - ! ext/Data/Dumper/Dumper.xs +[ 4092] By: gsar on 1999/09/06 20:16:58 + Log: support bytecode and C backends in perlcc (patch suggested + by Tom Hughes ); s/-opt/-noopt/ and make the + C backend the default; describe new switches in pod; introduce + PERLCC_OPTS and s/COMPILE_TIMEOUT/PERLCC_TIMEOUT/; + s/COMPILE_TEST/HARNESS_COMPILE_TEST/; document these %ENV + entries + Branch: perl + ! ext/B/B/Bytecode.pm lib/Test/Harness.pm t/TEST t/UTEST + ! t/harness utils/Makefile utils/perlcc.PL ____________________________________________________________________________ -[ 1705] By: gsar on 1998/08/02 06:50:07 - Log: From: pvhp@forte.com (Peter Prymmer) - Date: Fri, 31 Jul 1998 14:50:41 PDT - Message-Id: <9807312150.AA08867@forte.com> - Subject: Re: \Q doesn't work in interpolated regular expressions - Branch: maint-5.005/perl - ! pod/perlre.pod +[ 4091] By: jhi on 1999/09/06 19:10:41 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/pragma/sub_lval.t + !> (integrate 52 files) ____________________________________________________________________________ -[ 1704] By: gsar on 1998/08/02 06:37:06 - Log: add test for magic autovivification - From: "M.J.T. Guy" - Date: Thu, 30 Jul 1998 12:18:15 +0100 - Message-Id: - Subject: Re: Perl5.005_01 failing to autovivify subroutine args - Branch: maint-5.005/perl - ! pod/perldiag.pod t/cmd/subval.t +[ 4090] By: gsar on 1999/09/06 19:09:06 + Log: propagate changed error text + Branch: perl + ! t/pragma/sub_lval.t ____________________________________________________________________________ -[ 1703] By: gsar on 1998/08/02 06:26:57 - Log: From: Ilya Zakharevich - Date: Tue, 21 Jul 1998 23:58:53 -0400 (EDT) - Message-Id: <199807220358.XAA19811@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_76] better RE colors - Branch: maint-5.005/perl - ! ext/re/re.pm regcomp.c regexec.c thrdvar.h +[ 4089] By: gsar on 1999/09/06 18:54:43 + Log: sprintf doc tweak (from Ian Phillipps ) + Branch: perl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1702] By: gsar on 1998/08/02 06:22:15 - Log: mark link type of exported functions for OS/2 - From: Ilya Zakharevich - Date: Sun, 26 Jul 1998 21:03:03 -0400 (EDT) - Message-Id: <199807270103.VAA04977@monk.mps.ohio-state.edu> - Subject: Re: Compiler linkage's types [PATCH 5.005] - Branch: maint-5.005/perl - ! os2/os2ish.h proto.h +[ 4088] By: gsar on 1999/09/06 18:52:10 + Log: From: paul.marquess@bt.com + Date: Sun, 5 Sep 1999 15:11:08 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB202D49BAB@mbtlipnt02.btlabs.bt.co.uk> + Subject: [PATCH 5.005_61] Another patch for Lexical Warnings + Branch: perl + ! pp_sys.c t/pragma/warn/doio t/pragma/warn/op + ! t/pragma/warn/pp_hot t/pragma/warn/pp_sys + ! t/pragma/warn/regcomp t/pragma/warn/sv t/pragma/warn/toke + ! t/pragma/warn/universal t/pragma/warn/utf8 t/pragma/warn/util + ! toke.c ____________________________________________________________________________ -[ 1701] By: gsar on 1998/08/02 06:16:03 - Log: tweaked version of suggested patch +[ 4087] By: gsar on 1999/09/06 18:06:06 + Log: change#3612 is buggy when quotemeta argument matches target + (hope this is the last of the optimized-OP_SASSIGN bugs) From: Ilya Zakharevich - Date: Mon, 20 Jul 1998 21:40:00 -0400 (EDT) - Message-Id: <199807210140.VAA17186@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_75] Enable -DS - Branch: maint-5.005/perl - ! README.threads ext/Thread/Thread.xs ext/Thread/typemap mg.c - ! op.c perl.c perl.h pod/perlrun.pod pp.c pp_hot.c scope.c - ! thread.h util.c win32/win32thread.c + Date: Sun, 5 Sep 1999 06:07:42 -0400 (EDT) + Message-Id: <199909051007.GAA06423@monk.mps.ohio-state.edu> + Subject: Re: [BUG: quotemeta] + Branch: perl + ! Changes op.c t/op/lex_assign.t +____________________________________________________________________________ +[ 4086] By: gsar on 1999/09/06 17:57:52 + Log: misc tweaks + Branch: perl + ! bytecode.pl ext/ByteLoader/byterun.h pod/perlsyn.pod toke.c +____________________________________________________________________________ +[ 4085] By: gsar on 1999/09/06 03:54:23 + Log: applied patch suggested by Hans Mulder to fix problems on + OPENSTEP-Mach; be more careful about PERL_POLLUTE_MALLOC + when they ask for bincompat (platforms that used to default + to EMBEDMYMALLOC continue to do so); disable warnings.t#192 + (appears unsalvageable on some platforms) + Branch: perl + ! embed.h embed.pl handy.h perl.h pp_sys.c t/pragma/warn/pp_hot +____________________________________________________________________________ +[ 4084] By: bailey on 1999/09/06 02:39:11 + Log: Integrate mainline 5.05_61 + Branch: vmsperl + +> (branch 32 files) + - lib/unicode/EthiopicSyllables.txt + - lib/unicode/MakeEthiopicSyllables.PL t/pragma/warning.t + - warning.pl + ! vms/descrip_mms.template vms/gen_shrfls.pl vms/perly_c.vms + ! vms/perly_h.vms vms/vms.c + !> (integrate 346 files) +____________________________________________________________________________ +[ 4083] By: gsar on 1999/09/06 00:10:40 + Log: optional warning on join(/foo/...) (reworked suggested patch + by Mark-Jason Dominus ) + Branch: perl + ! embed.h objXSUB.h op.c opcode.h opcode.pl perlapi.c + ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp.sym + ! pp_proto.h t/pragma/warn/op +____________________________________________________________________________ +[ 4082] By: gsar on 1999/09/05 22:28:57 + Log: fix data loss when more than one block is read from SDBM + *.dir file (suggested by Uwe Ohse ) + Branch: perl + ! ext/SDBM_File/sdbm/sdbm.c +____________________________________________________________________________ +[ 4081] By: gsar on 1999/09/05 22:07:18 + Log: initial implementation of lvalue subroutines (slightly fixed + version of patch suggested by Ilya Zakharevich, which in turn + is based on the one suggested by Tuomas J. Lukka ) + Branch: perl + + t/pragma/sub_lval.t + ! MANIFEST cop.h cv.h dump.c embed.h ext/Opcode/Opcode.pm + ! ext/attrs/attrs.pm ext/attrs/attrs.xs global.sym objXSUB.h + ! op.c op.h opcode.h opcode.pl opnames.h perlapi.c + ! pod/perldiag.pod pod/perlsub.pod pp.c pp.sym pp_hot.c + ! pp_proto.h proto.h t/pragma/warn/pp_ctl +____________________________________________________________________________ +[ 4080] By: jhi on 1999/09/05 22:02:18 + Log: Undo #4055 (related to #4079). + Branch: cfgperl + ! pod/perlop.pod ____________________________________________________________________________ -[ 1700] By: gsar on 1998/08/02 05:54:00 - Log: up patchlevel to 5.005_02 - Branch: maint-5.005/perl - ! Changes patchlevel.h win32/Makefile win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +[ 4079] By: jhi on 1999/09/05 21:30:54 + Log: Time is not yet ripe. + Branch: cfgperl + ! pod/perldelta.pod pod/perlop.pod pp.c t/op/64bit.t t/op/misc.t +____________________________________________________________________________ +[ 4078] By: gsar on 1999/09/05 18:17:32 + Log: modified suggested patch to handle cross-refs and qr// objects + correctly; unfollowed refs are represented as simple string + value, not just the bare type; $VERSION stays the same until + it is ready for prime time (avoids CPAN confustication) + From: John Nolan + Date: Wed, 04 Aug 1999 20:21:10 EDT + Message-Id: <199908050021.UAA09693@monet.op.net> + Subject: [ID 19990804.006] [PATCH]5.005_60 (Data::Dumper) - implements Maxdepth setting + Branch: perl + ! Changes ext/Data/Dumper/Changes ext/Data/Dumper/Dumper.pm + ! ext/Data/Dumper/Dumper.xs ext/Data/Dumper/Todo t/lib/dumper.t +____________________________________________________________________________ +[ 4077] By: jhi on 1999/09/04 21:54:42 + Log: timesum() wasn't @EXPORTed as promised by the documentation. + Bug reported by Alex Efros . + Branch: cfgperl + ! lib/Benchmark.pm ____________________________________________________________________________ -[ 1699] By: gsar on 1998/08/02 05:50:01 - Log: From: Ilya Zakharevich - Message-Id: <199807180809.EAA09379@monk.mps.ohio-state.edu> - Date: Sat, 18 Jul 1998 04:09:26 -0400 (EDT) - Subject: [PATCH 5.004_72] Make tests succeed on OS/2 - Branch: maint-5.005/perl - ! t/io/fs.t t/lib/io_pipe.t t/lib/io_sock.t t/op/stat.t +[ 4076] By: gsar on 1999/09/04 20:21:59 + Log: integrate cfgperl contents into mainline + Branch: perl + +> lib/attributes.pm lib/warnings.pm t/lib/attrs.t t/op/attrs.t + +> t/pragma/warn/7fatal t/pragma/warn/8signal t/pragma/warnings.t + +> warnings.h warnings.pl xsutils.c + - lib/warning.pm t/pragma/warning.t warning.h warning.pl + !> (integrate 109 files) ____________________________________________________________________________ -[ 1698] By: gsar on 1998/08/02 05:41:41 - Log: use I32_MAX as the limit when U16_MAX > I32_MAX (for CRAY) - Branch: maint-5.005/perl - ! regcomp.c +[ 4075] By: jhi on 1999/09/04 18:04:47 + Log: use integer on the problematic subtest. + Branch: cfgperl + ! t/op/misc.t ____________________________________________________________________________ -[ 1697] By: gsar on 1998/08/02 05:20:12 - Log: support OE/MVS - From: Jarkko Hietaniemi - Message-Id: <199808010903.MAA09371@alpha.hut.fi> - Date: Sat, 1 Aug 1998 12:03:02 +0300 (EET DST) - Subject: [PATCH] 5.005_01: OE MVS - Branch: maint-5.005/perl - + README.os390 ebcdic.c - ! Configure MANIFEST doio.c ext/Errno/Errno_pm.PL gv.c handy.h - ! hints/os390.sh lib/bigint.pl mg.c patchlevel.h perl.c perl.h - ! perly.c perly.h perly.y perly_c.diff pod/perldelta.pod - ! pod/perlport.pod pp.c pp_ctl.c pp_hot.c pp_sys.c sv.c - ! t/base/term.t t/comp/package.t t/comp/require.t - ! t/lib/bigintpm.t t/lib/cgi-html.t t/lib/filehand.t t/lib/ph.t - ! t/op/auto.t t/op/bop.t t/op/each.t t/op/magic.t t/op/misc.t - ! t/op/ord.t t/op/pack.t t/op/quotemeta.t t/op/re_tests - ! t/op/regexp.t t/op/sort.t t/op/sprintf.t t/op/subst.t - ! t/op/taint.t t/op/universal.t t/pragma/constant.t - ! t/pragma/overload.t t/pragma/subs.t toke.c x2p/a2p.h - ! x2p/a2py.c -____________________________________________________________________________ -[ 1696] By: gsar on 1998/08/02 05:03:09 - Log: VMS patches - From: pvhp@forte.com (Peter Prymmer) - Message-Id: <9807290017.AA01833@forte.com> - Date: Tue, 28 Jul 98 17:17:33 PDT - Subject: Re: Not OK: perl 5.00501 on VMS_AXP-thread I7.2 - -- - From: Dan Sugalski - Message-Id: <3.0.5.32.19980729125623.00b562b0@ous.edu> - Date: Wed, 29 Jul 1998 12:56:23 -0700 - Subject: [PATCH 5.005_01]Typo in CONFIGURE.COM (vms) - -- - From: Dan Sugalski - Date: Thu, 30 Jul 1998 09:02:24 -0700 - Message-Id: <3.0.5.32.19980730090224.00b70eb0@ous.edu> - Subject: [PATCH 5.005_01]VMS config SOCKETSHR typo patch and fcntl check - Branch: maint-5.005/perl - ! configure.com vms/subconfigure.com +[ 4074] By: jhi on 1999/09/04 17:57:40 + Log: Warn about numconvert.t in case somebody + wants to make sv_2pv more 64-bit aware. + Branch: cfgperl + ! sv.c ____________________________________________________________________________ -[ 1695] By: gsar on 1998/08/02 04:49:32 - Log: rename duplicate warning in regexec.c - Branch: maint-5.005/perl - ! regexec.c +[ 4073] By: jhi on 1999/09/04 17:54:51 + Log: Comment upgrading: the quad situation isn't quite as + bad as it used to be. + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1694] By: gsar on 1998/08/02 04:44:20 - Log: beware egcs' ld on Solaris - From: Tom Spindler - Message-ID: <19980801212158.A2934@home.merit.edu> - Date: Sat, 1 Aug 1998 21:21:58 -0400 - Subject: Re: [PATCH perl5.005_01] hints/solaris_2.sh, egcs, and ld - Branch: maint-5.005/perl - ! hints/solaris_2.sh +[ 4072] By: jhi on 1999/09/04 15:35:37 + Log: Integrate with Sarathy. + Branch: cfgperl + !> win32/win32.c ____________________________________________________________________________ -[ 1693] By: gsar on 1998/08/02 04:41:43 - Log: de-utf-ized variation of Ilya's patch - From: Jan-Pieter Cornet - Date: 31 Jul 1998 12:44:57 +0200 - Message-ID: <6ps779$hmj$1@xs1.xs4all.nl> - Subject: Re: s/\s*$//g in majordomo causes segfault under 5.005_01 - Branch: maint-5.005/perl - ! regexec.c +[ 4071] By: jhi on 1999/09/04 15:28:11 + Log: Fix LFS with -Duseperlio in Solaris. Reported in + + From: Robin Barker + To: perl5-porters@perl.org + Subject: [ID 19990823.009] [PATCH perl5.005_61] typo in perl.h + Date: Mon, 23 Aug 1999 16:41:11 +0100 (BST) + Message-Id: <199908231541.QAA10043@tempest.npl.co.uk> + + and later (in private email) found to be dependent + on useperlio. + + Mental note: the cpp magic done in perlsdio.h (and assumedly + also in perlsfio.h) may cause trouble later with lfs because + both the perlio scheme by Perl and the lfs support by vendors + like to play cpp games to map the stdio namespace back and forth. + The problem fixed here (fseek vs fseeko, ftell vs ftello) may be + just the beginning. + Branch: cfgperl + ! perlio.c ____________________________________________________________________________ -[ 1692] By: gsar on 1998/08/02 04:39:14 - Log: better validation of SysV IPC availability - From: Jarkko Hietaniemi - Date: Fri, 31 Jul 1998 13:13:57 +0300 (EEST) - Message-Id: <199807311013.NAA28887@koah.research.nokia.com> - Subject: Re: lib/ipc_sysv.t fails under FreeBSD 2.2.1 - Branch: maint-5.005/perl - ! Configure INSTALL ext/IPC/SysV/SysV.xs pod/perldiag.pod - ! t/lib/ipc_sysv.t +[ 4070] By: jhi on 1999/09/04 13:12:14 + Log: Enable 64-bit clean bit ops. + (Disables the t/op/misc.t substest 3 in 64-bit platforms.) + Branch: cfgperl + ! pod/perldelta.pod pod/perlop.pod pp.c pp_hot.c t/op/64bit.t + ! t/op/misc.t ____________________________________________________________________________ -[ 1691] By: gsar on 1998/08/02 04:32:30 - Log: fix bug in display of watched expressions - From: Ilya Zakharevich - Date: Thu, 30 Jul 1998 20:02:04 -0400 (EDT) - Message-Id: <199807310002.UAA21681@monk.mps.ohio-state.edu> - Subject: Re: Bug? in perl5db.pl [PATCH] - Branch: maint-5.005/perl - ! lib/perl5db.pl +[ 4069] By: jhi on 1999/09/03 21:17:30 + Log: Turn on USE_64_BIT_OFFSETS implicitly. + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1690] By: gsar on 1998/08/02 04:29:08 - Log: applied all but one hunk - From: Horst von Brand - Date: Thu, 30 Jul 1998 17:19:42 -0400 - Message-Id: <199807302119.RAA06852@sleipnir.valparaiso.cl> - Subject: Some typos in perldelta.pod - Branch: maint-5.005/perl - ! pod/perldelta.pod +[ 4068] By: jhi on 1999/09/03 08:19:59 + Log: Fix from Spider for the sub attributes (there was an undocumented + dependency between force_word() and skipspace()). + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 4067] By: jhi on 1999/09/01 23:17:06 + Log: From: John Tobey + To: ilya@math.ohio-state.edu + CC: perl5-porters@perl.org + Subject: Re: [PATCH 5.005_60] distclean forgot two + Date: Mon, 23 Aug 1999 02:10:11 -0400 (EDT) + Message-Id: + Branch: cfgperl + ! t/lib/dprof.t ____________________________________________________________________________ -[ 1689] By: gsar on 1998/08/02 04:27:02 - Log: From: Andy Dougherty - Date: Thu, 30 Jul 1998 10:22:36 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.005_05] Remove redundant dTHR - Branch: maint-5.005/perl - ! mg.c sv.c +[ 4066] By: jhi on 1999/09/01 23:14:50 + Log: From: "Fifer, Eric" + To: perl5-porters@perl.org + Subject: [ID 19990821.001] [PATCH] perl5.005_60 cygwin port + Date: Fri, 20 Aug 1999 15:37:27 +0100 + Message-Id: <8A160D637356D311BC4300600849EC8122E217@POST> + Branch: cfgperl + ! cygwin/Makefile.SHs ext/ByteLoader/byterun.h + ! ext/SDBM_File/sdbm/sdbm.c hints/cygwin.sh perl.h pp_sys.c + ! t/io/fs.t t/io/tell.t t/lib/anydbm.t t/op/stat.t ____________________________________________________________________________ -[ 1688] By: gsar on 1998/08/02 04:25:49 - Log: From: Tom Hughes - Date: 30 Jul 1998 09:47:31 +0100 - Message-ID: - Subject: Class::Struct has an incomplete tied array package - Branch: maint-5.005/perl - ! lib/Class/Struct.pm +[ 4065] By: jhi on 1999/09/01 22:06:43 + Log: From: Dominic Dunlop + To: perl5-porters@perl.org + Subject: [ID 19990819.001] Not OK: perl 5.00560 on powerpc-machten 4.1.1 + (UNINSTALLED) [PATCH] + Date: Thu, 19 Aug 1999 09:48:03 +0200 + Message-Id: + + The PERL_POLLUTE_MALLOC part had to be manually applied. + Branch: cfgperl + ! hints/machten.sh perl.h ____________________________________________________________________________ -[ 1687] By: gsar on 1998/08/02 04:21:48 - Log: ensure implicit close on local(*FH) doesn't affect $! and thence $? - Branch: maint-5.005/perl - ! sv.c t/op/die_exit.t +[ 4064] By: jhi on 1999/09/01 13:56:14 + Log: From: Martin Lichtin + To: jhi@iki.fi + CC: perl5-porters@perl.org + Subject: Re: [ID 19990829.001] ExtUtils::Install.pm, minor umask problem + Date: Wed, 01 Sep 1999 15:50:04 +0200 + Message-ID: <37CD2F0C.944BFACE@bivio.com> + Branch: cfgperl + ! lib/ExtUtils/Install.pm ____________________________________________________________________________ -[ 1686] By: gsar on 1998/08/02 03:57:28 - Log: From: Jarkko Hietaniemi - Date: Thu, 30 Jul 1998 00:39:30 +0300 (EET DST) - Message-Id: <199807292139.AAA01795@alpha.hut.fi> - Subject: Re: [PATCH] 5.004_05-MAINT_TRIAL_5: three locale fixes - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.xs pod/perllocale.pod +[ 4063] By: jhi on 1999/09/01 13:16:11 + Log: Enhance lfs tests: check every seek and sysseek + and test also that -e and -f detect largefiles. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t +____________________________________________________________________________ +[ 4062] By: jhi on 1999/09/01 12:08:04 + Log: From: Colin Kuskie + To: Ronald J Kimball + cc: "M.J.T. Guy" , + The Perl Porters Mailing List + Subject: [REPATCH 5.005_61] Re: perldiag.pod omissions + Date: Tue, 31 Aug 1999 11:24:31 -0700 (PDT) + Message-ID: + Branch: cfgperl + ! pod/perldiag.pod ____________________________________________________________________________ -[ 1685] By: gsar on 1998/08/02 03:54:15 - Log: PERL_OBJECT bincompat fixes from Douglas Lankshear - Date: Wed, 29 Jul 1998 10:45:31 -0700 - Message-ID: <000101bdbb18$ae767550$a32fa8c0@tau.Active> - Subject: [PATCH 5.005_01] Fixes binary compatibility for PERL_OBJECT - -- - Date: Sat, 1 Aug 1998 09:33:19 -0700 - Message-ID: <000701bdbd6a$17ada180$a32fa8c0@tau.Active> - Subject: [PATCH 5.005_01] - Branch: maint-5.005/perl - ! perl.h proto.h -____________________________________________________________________________ -[ 1684] By: gsar on 1998/08/02 03:49:33 - Log: hand-apply whitespace-mutiliated patch - From: Nicholas Clark - Date: Tue, 28 Jul 1998 16:40:42 +0100 (BST) - Message-Id: <199807281540.QAA04640@flirble.org> - Subject: [PATCH] POSIX::ELOOP - Branch: maint-5.005/perl - ! ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs +[ 4061] By: jhi on 1999/09/01 12:03:03 + Log: From: Ilya Zakharevich + To: ilya@math.ohio-state.edu (Ilya Zakharevich) + Cc: perl5-porters@perl.org, cloos@adamsmith.ai + Subject: Re: [ID 19990830.005] Assigning value of an op on an SV to said SV + Date: Wed, 1 Sep 1999 02:56:06 -0400 (EDT) + Message-Id: <199909010656.CAA04478@monk.mps.ohio-state.edu> + Branch: cfgperl + ! op.c t/op/join.t ____________________________________________________________________________ -[ 1683] By: gsar on 1998/08/02 03:45:26 - Log: document return values of do() better - From: "M.J.T. Guy" - Date: Tue, 28 Jul 1998 12:44:36 +0100 - Message-Id: - Subject: [PATCH] Re: Obscurity of lexicals with do "" - Branch: maint-5.005/perl - ! pod/perlfunc.pod +[ 4060] By: jhi on 1999/09/01 07:59:42 + Log: IV_DIG and NV_DIG fixes. + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1682] By: gsar on 1998/08/02 03:42:26 - Log: avoid reusing foreach itervar if magic got tacked onto it - From: Stephen McCamant - Date: Tue, 28 Jul 1998 22:18:25 -0500 (CDT) - Message-ID: <13758.36756.215424.719750@alias-2.pr.mcs.net> - Subject: [PATCH] Re: pos() resetting changed with 5.005? - Branch: maint-5.005/perl - ! pp_hot.c +[ 4059] By: jhi on 1999/08/31 14:47:18 + Log: \C{} -> \N{} residue. + Branch: cfgperl + ! toke.c ____________________________________________________________________________ -[ 1681] By: gsar on 1998/08/02 03:39:27 - Log: From: Nick Ing-Simmons - Date: Wed, 29 Jul 1998 13:28:14 +0100 - Message-Id: <199807291228.NAA20055@tiuk.ti.com> - Subject: [Patch] Math::Complex - Ambiguous call resolved as CORE::foo() - Branch: maint-5.005/perl - + Porting/fixCORE - ! MANIFEST lib/Math/Complex.pm -____________________________________________________________________________ -[ 1680] By: gsar on 1998/08/02 03:33:07 - Log: From: h.sanden@elsevier.nl (Hugo van der Sanden) - Date: Mon, 27 Jul 1998 13:34:45 +0200 - Message-Id: <199807271134.NAA24475@dorlas.elsevier.nl> - Subject: perlcall.pod - Branch: maint-5.005/perl - ! pod/perlcall.pod +[ 4057] By: gsar on 1999/08/30 22:08:19 + Log: avoid hiding child process window + Branch: perl + ! win32/win32.c ____________________________________________________________________________ -[ 1679] By: gsar on 1998/08/02 03:29:41 - Log: MM_Win32::maybe_command() case-insesitivity tweak - Branch: maint-5.005/perl - ! lib/ExtUtils/MM_Win32.pm +[ 4055] By: jhi on 1999/08/30 21:20:50 + Log: Document the undefinedness of overshifting. + Branch: cfgperl + ! pod/perlop.pod ____________________________________________________________________________ -[ 1678] By: gsar on 1998/08/02 03:24:29 - Log: fix MM_Win32::maybe_command() - Branch: maint-5.005/perl - ! lib/ExtUtils/MM_Win32.pm +[ 4054] By: jhi on 1999/08/30 20:18:18 + Log: History fixes and updates. + Branch: cfgperl + ! pod/perlhist.pod ____________________________________________________________________________ -[ 1677] By: gsar on 1998/08/01 19:52:19 - Log: fixes for overloading bugs and docs, tweaked some +[ 4053] By: jhi on 1999/08/30 19:34:02 + Log: Shell quoting thinko broke installdirs. + From: JVromans@Squirrel.nl (Johan Vromans) + To: perl5-porters@perl.org + Subject: [ID 19990830.001] 5.005_61 Configure does not substitute + installprefix + Date: Mon, 30 Aug 1999 16:10:10 +0200 (MEST) + Message-Id: <14282.37058.934928.805633@plume.nl.compuware.com> + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/installdirs/archlib.U U/installdirs/bin.U + ! U/installdirs/html1dir.U U/installdirs/html3dir.U + ! U/installdirs/installprefix.U U/installdirs/man1dir.U + ! U/installdirs/man3dir.U U/installdirs/privlib.U + ! U/installdirs/scriptdir.U U/installdirs/sitearch.U + ! U/installdirs/sitebin.U U/installdirs/sitehtml1dir.U + ! U/installdirs/sitehtml3dir.U U/installdirs/sitelib.U + ! U/installdirs/siteman1dir.U U/installdirs/siteman3dir.U + ! U/installdirs/sitescriptdir.U U/installdirs/vendorarch.U + ! U/installdirs/vendorbin.U U/installdirs/vendorhtml1dir.U + ! U/installdirs/vendorhtml3dir.U U/installdirs/vendorlib.U + ! U/installdirs/vendorman1dir.U U/installdirs/vendorman3dir.U + ! U/installdirs/vendorscriptdir.U +____________________________________________________________________________ +[ 4052] By: jhi on 1999/08/30 02:57:05 + Log: Use \N{named characters} instead of \C. From: Ilya Zakharevich - Date: Sat, 25 Jul 1998 21:28:16 -0400 (EDT) - Message-Id: <199807260128.VAA10543@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_76] better overloading - Branch: maint-5.005/perl - ! Changes gv.c lib/dumpvar.pl lib/overload.pm lib/perl5db.pl - ! t/pragma/overload.t -____________________________________________________________________________ -[ 1676] By: gsar on 1998/08/01 19:37:13 - Log: stray s/foo/PL_foo/ - From: win@in.rhein-main.de (Winfried Koenig) - Date: Mon, 27 Jul 98 21:13 MET - Message-Id: - Subject: Bug in pp_rename and ISC hint - Branch: maint-5.005/perl - ! pp_sys.c + To: jhi@iki.fi + Cc: larry@wall.org (Larry Wall), Tim.Bunce@ig.co.uk (Tim Bunce), + perl5-porters@perl.org (Mailing list Perl5) + Subject: Re: [PATCH 5.005_58] Named characters in Perl + Date: Sun, 29 Aug 1999 16:46:53 -0400 (EDT) + Message-Id: <199908292046.QAA05510@monk.mps.ohio-state.edu> + Branch: cfgperl + ! lib/charnames.pm lib/utf8.pm pod/perldiag.pod pod/perlop.pod + ! pod/perlre.pod regcomp.c t/lib/charnames.t toke.c ____________________________________________________________________________ -[ 1675] By: gsar on 1998/08/01 19:22:13 - Log: newer Porting/patchls from maint-5.004 - Branch: maint-5.005/perl - ! Porting/patchls +[ 4051] By: jhi on 1999/08/30 02:54:20 + Log: From: Spider Boardman + To: perl5-porters@perl.org + Subject: [ID 19990829.004] Autoloaded &VERSION and UNIVERSAL::VERSION + don't mix + Date: Sun, 29 Aug 1999 19:04:53 -0400 + Message-Id: <199908292304.TAA13738@Orb.Nashua.NH.US> + Branch: cfgperl + ! universal.c ____________________________________________________________________________ -[ 1674] By: gsar on 1998/08/01 17:50:44 - Log: fix buggy detection of failed glob() - Branch: maint-5.005/perl - ! pp_hot.c +[ 4050] By: jhi on 1999/08/29 16:38:58 + Log: Conditionally socksify the LIBS of Socket. + Branch: cfgperl + ! ext/Socket/Makefile.PL ____________________________________________________________________________ -[ 1673] By: gsar on 1998/07/29 18:14:32 - Log: fix typo in change#1489 that prevented magic-autovivification - Branch: maint-5.005/perl - ! mg.c - ----------------- -Version 5.005_01 First maintenance release of 5.005 ----------------- - +[ 4049] By: jhi on 1999/08/29 15:33:30 + Log: From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: Re: [PATCH 5.005_60] fix @DB::typeahead + Date: Wed, 25 Aug 1999 16:19:58 -0400 + Message-ID: <19990825161958.A4658@monk.mps.ohio-state.edu> + Branch: cfgperl + ! lib/perl5db.pl ____________________________________________________________________________ -[ 1669] By: gsar on 1998/07/26 23:19:02 - Log: update Changes; add sv_*_mg() entries in win32/GenCAPI.pl - Branch: maint-5.005/perl - ! Changes proto.h win32/GenCAPI.pl +[ 4048] By: jhi on 1999/08/29 15:31:36 + Log: From: Stephen McCamant + To: perl5-porters@perl.org + Subject: [PATCH _61] Lost arguments to simplified sort + Date: Wed, 25 Aug 1999 23:22:32 -0700 (PDT) + Message-ID: <14276.56616.879390.562685@metonymy.hip.berkeley.edu> + Branch: cfgperl + ! op.c t/op/sort.t +____________________________________________________________________________ +[ 4047] By: jhi on 1999/08/29 15:29:29 + Log: From: Olaf Flebbe + Sender: owner-perl5-porters@perl.org + To: perl5-porters@perl.org + Subject: [ID 19990827.003] [PATCH]5.005_60 Patch for EPOC Support + Date: Fri, 27 Aug 1999 21:50:41 +0200 (MEST) + Branch: cfgperl + ! README.epoc epoc/config.h epoc/epoc.c epoc/epocish.h + ! epoc/perl.mmp epoc/perl.pkg ____________________________________________________________________________ -[ 1668] By: gsar on 1998/07/26 21:12:11 - Log: s/TMP_CRLF_PATCH/PERL_STRICT_CR/ with sense reversed, so they - can disable it from config.sh if they want; up patchlevel to 5_01; - little tweaks to pods - Branch: maint-5.005/perl - ! README.win32 patchlevel.h pod/perldelta.pod toke.c - ! win32/Makefile win32/config_H.bc win32/config_H.gc - ! win32/config_H.vc win32/makefile.mk win32/win32.c +[ 4046] By: jhi on 1999/08/29 15:21:18 + Log: From: pvhp@forte.com (Peter Prymmer) + To: perl5-porters@perl.org + Subject: [PATCH: 5.005_61] an EBCDIC friendly cgi-html.t test + Date: Fri, 27 Aug 99 18:51:04 PDT + Message-Id: <9908280151.AA05010@forte.com> + Branch: cfgperl + ! t/lib/cgi-html.t ____________________________________________________________________________ -[ 1662] By: gsar on 1998/07/26 05:01:52 - Log: add missing sv_*_mg() prototypes in proto.h, update perlhist.pod - Branch: maint-5.005/perl - ! pod/perlhist.pod proto.h +[ 4045] By: jhi on 1999/08/29 15:18:38 + Log: Fix scalar gmtime (and localtime) in quad environments, + bug reported by Robin Parker. + + From: Robin Barker + To: jhi@iki.fi + Cc: perl5-porters@perl.org + Subject: Re: [ID 19990823.009] [PATCH perl5.005_61] typo in perl.h + Date: Tue, 24 Aug 1999 11:09:24 +0100 (BST) + Message-Id: <199908241009.LAA24394@tempest.npl.co.uk> + Branch: cfgperl + ! pp_sys.c t/op/time.t ____________________________________________________________________________ -[ 1658] By: gsar on 1998/07/26 02:23:46 - Log: VMS patches from Dan Sugalski - Date: Fri, 24 Jul 1998 11:38:25 -0700 - Message-Id: <3.0.5.32.19980724113825.00a067b0@ous.edu> - Subject: [PATCH 5.005] version number problem with VMS (Corrected) - -- - Date: Fri, 24 Jul 1998 12:30:36 -0700 - Message-Id: <3.0.5.32.19980724123036.009f0390@ous.edu> - Subject: [PATCH 5.005]Tweaks to README.vms - -- - Date: Sat, 25 Jul 1998 17:56:55 -0700 (PDT) - Message-ID: - Subject: [PATCH 5.005] Final build cleanup patch - Branch: maint-5.005/perl - ! README.vms vms/descrip_mms.template vms/subconfigure.com +[ 4044] By: jhi on 1999/08/29 11:24:03 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_60] Speeding up XSUB calls up to 66% + Date: Fri, 27 Aug 1999 03:33:01 -0400 (EDT) + Message-Id: <199908270733.DAA16927@monk.mps.ohio-state.edu> + + Addendum: it's "only" 33% speedup. + Branch: cfgperl + ! dump.c op.c op.h pp.h ____________________________________________________________________________ -[ 1657] By: gsar on 1998/07/26 02:19:50 - Log: another platform where pp_sselect() needs a whole fd_set buffer - From: Lupe Christoph - Date: Sat, 25 Jul 1998 19:49:33 +0200 (MET DST) - Message-Id: <199807251749.TAA22347@alanya.m.isar.de> - Subject: Patch for Not OK: perl 5.005 on i86pc-solaris-thread 2.6 - Branch: maint-5.005/perl - ! pp_sys.c +[ 4043] By: jhi on 1999/08/29 11:10:33 + Log: From: spider-perl@Orb.Nashua.NH.US + To: Mailing list Perl5 + Subject: [PATCH 5.005_61 CORE] sub : attrlist + Date: Sun, 29 Aug 1999 03:02:11 -0400 + Message-Id: <199908290702.DAA32191@Orb.Nashua.NH.US> + Branch: cfgperl + + lib/attributes.pm t/lib/attrs.t t/op/attrs.t xsutils.c + ! MANIFEST Makefile.SH embed.h embed.pl embedvar.h global.sym + ! gv.c lib/AutoSplit.pm lib/SelfLoader.pm objXSUB.h op.c perl.c + ! perl.h perlapi.c perlapi.h perly.c perly.fixer perly.h perly.y + ! perly_c.diff pod/perldelta.pod pod/perldiag.pod + ! pod/perlfunc.pod pod/perlmodlib.pod pod/perlsub.pod proto.h + ! toke.c vms/perly_c.vms vms/perly_h.vms warnings.h +____________________________________________________________________________ +[ 4042] By: jhi on 1999/08/29 11:08:50 + Log: Turn off gcc-2.95's strict-alias optimization. + This, of course, should be only temporary. + From Andy Dougherty. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/compline/ccflags.U U/modified/cc.U ____________________________________________________________________________ -[ 1656] By: gsar on 1998/07/26 02:12:46 - Log: fix problem building modules on dos-djgpp - From: Laszlo Molnar - Date: Sat, 25 Jul 1998 00:53:39 +0200 - Message-ID: <19980725005339.C222@cdata.tvnet.hu> - Subject: [PATCH 5.005] dos-djgpp and modules problem - Branch: maint-5.005/perl - ! djgpp/fixpmain +[ 4041] By: jhi on 1999/08/29 10:47:30 + Log: Fix a typo in #4036. + Branch: cfgperl + ! mg.c ____________________________________________________________________________ -[ 1655] By: gsar on 1998/07/26 02:11:09 - Log: From: Tom Spindler - Date: Wed, 22 Jul 1998 16:11:07 -0400 - Message-ID: <19980722161107.A16813@home.merit.edu> - Subject: [PATCH 5.005] BeOS tweak - Branch: maint-5.005/perl - ! hints/beos.sh +[ 4040] By: jhi on 1999/08/29 10:34:58 + Log: Add a missing #endif forgotten by #4035. + Branch: cfgperl + ! doop.c ____________________________________________________________________________ -[ 1654] By: gsar on 1998/07/26 02:09:29 - Log: various pod tweaks - Branch: maint-5.005/perl - ! Changes pod/perldelta.pod pod/perlmodinstall.pod - ! pod/perltoc.pod +[ 4039] By: jhi on 1999/08/29 10:31:19 + Log: Remove an extra #endif introduced by #4036. + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1653] By: gsar on 1998/07/26 02:05:46 - Log: fix emacs/ptags for PL_* changes - From: Ilya Zakharevich - Date: Fri, 24 Jul 1998 03:12:35 -0400 (EDT) - Message-Id: <199807240712.DAA04204@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_76] Yet better ptags - Branch: maint-5.005/perl - ! emacs/ptags +[ 4038] By: jhi on 1999/08/29 10:18:59 + Log: Rename warning to warnings, from Paul Marquess. + Branch: cfgperl + + lib/warnings.pm t/pragma/warn/7fatal t/pragma/warn/8signal + + t/pragma/warnings.t warnings.h warnings.pl + - lib/warning.pm t/pragma/warning.t warning.h warning.pl + ! MANIFEST Makefile.SH gv.c mg.c perl.h pod/perldelta.pod + ! pod/perldiag.pod pod/perlfunc.pod pod/perllexwarn.pod + ! pod/perlmodlib.pod pod/perlrun.pod pod/perltoc.pod + ! pod/perlvar.pod t/op/64bit.t t/op/tie.t t/pragma/warn/2use + ! t/pragma/warn/3both t/pragma/warn/4lint t/pragma/warn/5nolint + ! t/pragma/warn/6default t/pragma/warn/doio t/pragma/warn/doop + ! t/pragma/warn/gv t/pragma/warn/mg t/pragma/warn/op + ! t/pragma/warn/perl t/pragma/warn/perly t/pragma/warn/pp + ! t/pragma/warn/pp_ctl t/pragma/warn/pp_hot t/pragma/warn/pp_sys + ! t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv + ! t/pragma/warn/taint t/pragma/warn/toke t/pragma/warn/universal + ! t/pragma/warn/utf8 t/pragma/warn/util toke.c +____________________________________________________________________________ +[ 4037] By: jhi on 1999/08/29 10:08:47 + Log: Create the equivalence tables based on + the real Unicode decomposition, not on + the character name. + Branch: cfgperl + ! lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + ! lib/unicode/mktables.PL ____________________________________________________________________________ -[ 1652] By: gsar on 1998/07/26 02:03:01 - Log: fix behavior of <=> on bigints - From: "M.J.T. Guy" - Message-Id: - Date: Fri, 24 Jul 1998 18:29:53 +0100 - Subject: [PATCH] Re: Math::BigInt <=> op is not correct. - Branch: maint-5.005/perl - ! lib/Math/BigInt.pm t/lib/bigintpm.t +[ 4036] By: jhi on 1999/08/29 09:29:08 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/unicode/Is/SylA.pl lib/unicode/Is/SylC.pl + +> lib/unicode/Is/SylE.pl lib/unicode/Is/SylI.pl + +> lib/unicode/Is/SylO.pl lib/unicode/Is/SylU.pl + +> lib/unicode/Is/SylV.pl lib/unicode/Is/SylWA.pl + +> lib/unicode/Is/SylWC.pl lib/unicode/Is/SylWE.pl + +> lib/unicode/Is/SylWI.pl lib/unicode/Is/SylWV.pl + !> (integrate 190 files) +____________________________________________________________________________ +[ 4035] By: jhi on 1999/08/29 08:56:15 + Log: Implement 64-bit vec(). + Branch: cfgperl + ! doop.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod + ! pp.h t/op/64bit.t ____________________________________________________________________________ -[ 1649] By: gsar on 1998/07/24 03:56:56 - Log: create maint-5.005 branch - Branch: maint-5.005/perl - +> (branch 1079 files) +[ 4034] By: gsar on 1999/08/29 03:35:18 + Log: deadcode removal + Branch: perl + ! XSUB.h embed.h embed.pl global.sym mg.c op.c perl.h perlapi.h + ! pp_ctl.c proto.h run.c sv.c ____________________________________________________________________________ -[ 1648] By: gsar on 1998/07/24 03:36:35 - Log: un-checked-in 5.005 Changes (this is 5.005 *exactly*) +[ 4033] By: jhi on 1999/08/28 17:31:07 + Log: From: Robin Barker + To: perl5-porters@perl.org + Subject: [ID 19990823.009] [PATCH perl5.005_61] typo in perl.h + Date: Mon, 23 Aug 1999 16:41:11 +0100 (BST) + Message-Id: <199908231541.QAA10043@tempest.npl.co.uk> + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 4032] By: gsar on 1999/08/26 23:53:33 + Log: new thread should set current interp in TLS + Branch: perl + ! ext/Thread/Thread.xs +____________________________________________________________________________ +[ 4031] By: bailey on 1999/08/23 03:40:07 + Log: When extension doesn't have a "main" object file to anchor linker search, pull in all objct files + Branch: vmsperl + ! lib/ExtUtils/MM_VMS.pm +____________________________________________________________________________ +[ 4030] By: bailey on 1999/08/23 03:37:43 + Log: Patch up holes in realclean target + Branch: vmsperl + ! vms/descrip_mms.template +____________________________________________________________________________ +[ 4029] By: bailey on 1999/08/23 03:36:24 + Log: Fix handling of PERL_POLLUTE + Branch: vmsperl + ! lib/ExtUtils/MM_VMS.pm +____________________________________________________________________________ +[ 4028] By: bailey on 1999/08/23 03:34:08 + Log: Update VMS version of perly.h + Branch: vmsperl + ! vms/perly_h.vms +____________________________________________________________________________ +[ 4027] By: bailey on 1999/08/23 03:32:45 + Log: Update dependencies in Descrip.MMS + Branch: vmsperl + ! vms/descrip_mms.template +____________________________________________________________________________ +[ 4026] By: bailey on 1999/08/23 03:30:01 + Log: Fix prototypes in perlapi.c (64-bit?) + Clear prior definition of getenv_len before defining VMS-specific macro + Branch: vmsperl + ! perlapi.c vms/vmsish.h +____________________________________________________________________________ +[ 4025] By: bailey on 1999/08/23 03:25:51 + Log: Add '-m' option to Configure.com which skips the MANIFEST check + Branch: vmsperl + ! configure.com +____________________________________________________________________________ +[ 4024] By: bailey on 1999/08/23 03:23:34 + Log: Skip open() tests that rely on Unix fork semantics + Branch: vmsperl + ! t/io/open.t +____________________________________________________________________________ +[ 4023] By: bailey on 1999/08/23 03:21:46 + Log: Loosen conditons for recognizing a function name in perl.h to accomodate revisions + Branch: vmsperl + ! vms/gen_shrfls.pl +____________________________________________________________________________ +[ 4022] By: bailey on 1999/08/23 03:17:33 + Log: update MM_VMS to use new File::Spec routines + Branch: vmsperl + ! lib/ExtUtils/MM_VMS.pm lib/File/Spec/VMS.pm +____________________________________________________________________________ +[ 4021] By: bailey on 1999/08/23 03:13:40 + Log: byteperl is now part of the ByteLoader ext + Branch: vmsperl + ! ext/ByteLoader/byterun.h vms/descrip_mms.template +____________________________________________________________________________ +[ 4020] By: bailey on 1999/08/23 03:10:41 + Log: Allow option to treat barewords at start of Unix paths as simple words rather than logicals + Branch: vmsperl + ! vms/vms.c +____________________________________________________________________________ +[ 4019] By: bailey on 1999/08/23 03:07:28 + Log: Update calls for new thread context handling + Branch: vmsperl + ! ext/Devel/DProf/DProf.xs ext/DynaLoader/dl_vms.xs + ! ext/POSIX/POSIX.xs vms/vms.c vms/vmsish.h vms/writemain.pl +____________________________________________________________________________ +[ 4018] By: bailey on 1999/08/23 03:01:31 + Log: Allow for file versions in library when looking for .bs files + Branch: vmsperl + ! ext/DynaLoader/DynaLoader_pm.PL +____________________________________________________________________________ +[ 4017] By: bailey on 1999/08/23 02:58:55 + Log: Update VMS configuration procedures for 5.005_60 + Branch: vmsperl + ! configure.com vms/subconfigure.com +____________________________________________________________________________ +[ 4016] By: gsar on 1999/08/20 22:19:56 + Log: update Changes Branch: perl - ! Changes + ! Changes -------------- -Version 5.005 Production release -------------- +---------------- +Version 5.005_61 +---------------- ____________________________________________________________________________ -[ 1647] By: gsar on 1998/07/22 21:11:29 - Log: sneak in hints/irix_6.sh update +[ 4015] By: gsar on 1999/08/20 22:17:41 + Log: perl_free() should use PerlMem_free() Branch: perl - ! Changes hints/irix_6.sh + ! perl.c ____________________________________________________________________________ -[ 1646] By: gsar on 1998/07/22 21:00:44 - Log: Update perldelta and Changes; refresh perltoc; newer perlembed.pod - from Jon Orwant ; update guts documentation - to reflect PL_* changes; is this *it* for 5.005? +[ 4014] By: gsar on 1999/08/20 22:10:46 + Log: win32 tweaks Branch: perl - ! Changes README.win32 patchlevel.h pod/perlcall.pod - ! pod/perldelta.pod pod/perlembed.pod pod/perlguts.pod - ! pod/perltoc.pod pod/perlxs.pod + ! XSUB.h mg.c perl.c win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc ____________________________________________________________________________ -[ 1645] By: gsar on 1998/07/22 19:37:41 - Log: don't use qualify() in class methods - From: Albert Dvornik - Date: 22 Jul 1998 15:14:46 EDT - Message-Id: - Subject: [PATCH 5.005-MAYBE] Bug in IO::Handle->input_record_separator +[ 4013] By: gsar on 1999/08/20 22:09:56 + Log: DEBUG_m() adjusted to internalize dTHX Branch: perl - ! ext/IO/lib/IO/Handle.pm + ! malloc.c perl.h util.c ____________________________________________________________________________ -[ 1644] By: gsar on 1998/07/22 18:13:31 - Log: newer perlembed.pod +[ 4012] By: gsar on 1999/08/20 17:51:06 + Log: make autogenerated files writable Branch: perl - ! pod/perlembed.pod + ! (edit 171 files) ____________________________________________________________________________ -[ 1643] By: gsar on 1998/07/22 18:03:42 - Log: From: Andy Dougherty - Date: Wed, 22 Jul 1998 13:42:20 EDT - Message-Id: - Subject: Re: 5.005 - a sneak preview +[ 4011] By: gsar on 1999/08/20 17:43:47 + Log: update Changes Branch: perl - ! Porting/pumpkin.pod + ! Changes perl.h pod/perldelta.pod pod/perlguts.pod ____________________________________________________________________________ -[ 1642] By: gsar on 1998/07/22 17:58:42 - Log: add perlmodinstall, regen perltoc +[ 4010] By: gsar on 1999/08/20 17:21:53 + Log: up patchlevel &c Branch: perl - + pod/perlmodinstall.pod - ! MANIFEST pod/Makefile pod/buildtoc pod/perl.pod - ! pod/perltoc.pod win32/pod.mak + ! Changes patchlevel.h win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +____________________________________________________________________________ +[ 4009] By: gsar on 1999/08/20 16:46:26 + Log: add missing Is/Syl*.pl files + Branch: perl + + lib/unicode/Is/SylA.pl lib/unicode/Is/SylC.pl + + lib/unicode/Is/SylE.pl lib/unicode/Is/SylI.pl + + lib/unicode/Is/SylO.pl lib/unicode/Is/SylU.pl + + lib/unicode/Is/SylV.pl lib/unicode/Is/SylWA.pl + + lib/unicode/Is/SylWC.pl lib/unicode/Is/SylWE.pl + + lib/unicode/Is/SylWI.pl lib/unicode/Is/SylWV.pl +____________________________________________________________________________ +[ 4008] By: gsar on 1999/08/20 16:31:02 + Log: integrate cfgperl contents into mainline + Branch: perl + +> ext/ByteLoader/hints/sunos.pl lib/charnames.pm + +> lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + +> lib/unicode/syllables.txt t/lib/charnames.t t/lib/syslfs.t + +> t/op/lfs.t + - lib/unicode/EthiopicSyllables.txt + - lib/unicode/MakeEthiopicSyllables.PL + !> (integrate 261 files) +____________________________________________________________________________ +[ 4007] By: gsar on 1999/08/20 15:24:08 + Log: support USE_THREADS+MULTIPLICITY; source compat tweaks for + USE_THREADS and MULTIPLICITY; minor pod adjustments + Branch: perl + ! Porting/patching.pod Todo Todo-5.005 XSUB.h embed.pl + ! embedvar.h perl.c perl.h pod/perlguts.pod util.c +____________________________________________________________________________ +[ 4006] By: jhi on 1999/08/19 19:01:41 + Log: Tighten the vec() code so that naughty BITS cause an error. + Branch: cfgperl + ! doop.c ____________________________________________________________________________ -[ 1641] By: gsar on 1998/07/22 17:11:55 - Log: support optional crypt() with PERL_OBJECT - From: "Douglas Lankshear" - Date: Wed, 22 Jul 1998 08:21:10 PDT - Message-Id: <000701bdb584$5b57c070$a32fa8c0@tau.Active> - Subject: [PATCH 5.005 maybe] for crypt with PERL_OBJECT - Branch: perl - ! iperlsys.h pp.c win32/Makefile win32/makefile.mk - ! win32/perlhost.h win32/win32.c win32/win32iop.h +[ 4005] By: jhi on 1999/08/19 15:55:09 + Log: Don't document ill-defined vec() bits cases + (for which the code doesn't work right in any case) + Branch: cfgperl + ! pod/perldiag.pod pod/perlfunc.pod ____________________________________________________________________________ -[ 1640] By: gsar on 1998/07/22 17:09:11 - Log: win32 tweaks - Date: Wed, 22 Jul 1998 07:09:09 PDT - Message-Id: <000001bdb57a$4bc9dd00$a32fa8c0@tau.Active> - From: "Douglas Lankshear" - Branch: perl - ! win32/Makefile win32/makefile.mk win32/win32.h +[ 4004] By: jhi on 1999/08/19 12:49:41 + Log: Removed duplicated code (in pp.c and mg.c) by introducing + do_vecget(). NOTE: the calling convention of do_vecset() + changes, too: the `offset' that is assigned to LvTARGOFF(TARG) + in pp_vec() is no more multiplied by `size' in pp_vec(), + the multiplication is now done in do_vecset(). + + Also fix a cpp thinko in change #4002. + Branch: cfgperl + ! doop.c embed.h embed.pl embedvar.h global.sym mg.c objXSUB.h + ! perl.h perlapi.c pod/perldiag.pod pod/perlfunc.pod pp.c + ! proto.h ____________________________________________________________________________ -[ 1639] By: gsar on 1998/07/22 17:00:30 - Log: From: d-lewart@uiuc.edu (Daniel S. Lewart) - Date: Wed, 22 Jul 1998 06:20:08 CDT - Message-Id: <199807221120.GAA07962@staff2.cso.uiuc.edu> - Subject: [PATCH] lib/Sys/Syslog.pm doc - Branch: perl - ! Changes lib/Sys/Syslog.pm +[ 4003] By: jhi on 1999/08/18 08:27:22 + Log: Warn about small spherical distances. + Branch: cfgperl + ! lib/Math/Trig.pm ____________________________________________________________________________ -[ 1638] By: gsar on 1998/07/22 09:12:26 - Log: up patchlevel etc (only doc patching from now on, testing in progress) - Branch: perl - ! Changes patchlevel.h win32/Makefile win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +[ 4002] By: jhi on 1999/08/17 09:11:51 + Log: Enhance IV_FITS_IN_IV (though it's still unused). + Branch: cfgperl + ! perl.h +____________________________________________________________________________ +[ 4001] By: jhi on 1999/08/17 08:13:34 + Log: From: andreas.koenig@anima.de (Andreas J. Koenig) + Message-ID: + To: The Perl5 Porters Mailing List + Subject: [PATCH] overload.pm str/num confu + Date: 17 Aug 1999 08:21:12 +0200 + Branch: cfgperl + ! lib/overload.pm ____________________________________________________________________________ -[ 1637] By: gsar on 1998/07/22 08:27:09 - Log: VMS patches from Dan Sugalski - Date: Tue, 21 Jul 1998 16:04:40 PDT - Message-Id: <3.0.5.32.19980721160440.00a916f0@ous.edu> - Subject: [PATCH 5.004_76]Document Vax C's death for VMS - -- - Date: Tue, 21 Jul 1998 16:08:57 PDT - Message-Id: <3.0.5.32.19980721160857.00a6d250@ous.edu> - Subject: [PATCH 5.004_76]fix clean/realclean targets of VMS' makefile - -- - Date: Tue, 21 Jul 1998 16:05:56 PDT - Message-Id: <3.0.5.32.19980721160556.00a1a100@ous.edu> - Subject: [PATCH 5.004_76]Note the record-read capabilities of $/ in perldelta.pod - Branch: perl - ! README.vms pod/perldelta.pod vms/descrip_mms.template +[ 4000] By: jhi on 1999/08/17 07:20:23 + Log: From: merlyn@stonehenge.com (Randal L. Schwartz) + To: perl5-porters@perl.org + Subject: [ID 19990816.006] small patch to perlobj.pod from 5.005_03 + Date: 16 Aug 1999 14:24:28 -0700 + Message-Id: + Branch: cfgperl + ! pod/perlobj.pod ____________________________________________________________________________ -[ 1636] By: gsar on 1998/07/22 08:04:37 - Log: fix quoting in t/io/inplace.t - Branch: perl - ! t/io/inplace.t +[ 3999] By: jhi on 1999/08/16 19:49:09 + Log: Integrate with Nick. + Branch: cfgperl + !> cop.h op.c perl.c t/op/eval.t t/pragma/warn/op util.c ____________________________________________________________________________ -[ 1635] By: gsar on 1998/07/22 07:59:30 - Log: From: Dan Sugalski - Date: Tue, 21 Jul 1998 13:06:44 PDT - Message-Id: <3.0.5.32.19980721130644.00ac5100@ous.edu> - Subject: [PATCH 5.004_76]t/io/inplace.t enabled for VMS - Branch: perl - ! t/io/inplace.t vms/test.com +[ 3998] By: jhi on 1999/08/16 19:44:29 + Log: Fix most of the pod2man moanings reported in + + From: "Larry W. Virden" + To: perl5-porters@perl.org + Subject: [ID 19990803.011] Not OK: perl 5.00560 on sun4-solaris 2.6 + (UNINSTALLED) + Date: Tue, 3 Aug 1999 15:35:06 -0400 (EDT) + Message-Id: <199908031935.PAA27692@cas.org> + + Configure regen'ed. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ext/B/B/Stash.pm lib/Carp/Heavy.pm + ! lib/Dumpvalue.pm lib/Exporter/Heavy.pm lib/filetest.pm + ! lib/utf8.pm pod/perllexwarn.pod pod/perlxstut.pod + ! utils/h2xs.PL utils/perlcc.PL ____________________________________________________________________________ -[ 1634] By: gsar on 1998/07/22 07:55:35 - Log: From: Dan Sugalski - Date: Tue, 21 Jul 1998 12:42:20 PDT - Message-Id: <3.0.5.32.19980721124220.00a82a20@ous.edu> - Subject: [PATCH 5.004_76]Fix inplace editing for VMS - Branch: perl - ! doio.c +[ 3997] By: jhi on 1999/08/16 19:20:37 + Log: A fix of sorts for the flush-before-dup scenario. + Branch: cfgperl + ! doio.c ____________________________________________________________________________ -[ 1633] By: gsar on 1998/07/22 07:53:53 - Log: fix AIX hints for PL_* changes - From: Jarkko Hietaniemi - Date: Tue, 21 Jul 1998 22:53:54 +0300 - Message-Id: <199807211953.WAA55724@vipunen.hut.fi> - Subject: Re: _76 fails to link B extension on AIX 414 - Branch: perl - ! perl_exp.SH +[ 3996] By: jhi on 1999/08/16 19:14:37 + Log: More paranoia. + Branch: cfgperl + ! sv.c +____________________________________________________________________________ +[ 3995] By: jhi on 1999/08/16 18:55:35 + Log: Batch of small 64-bit/long double/large file support tweaks: + - scan for LDBL_DIG + - from DBL_DIG and LDBL_DIG select NV_DIG + - introduce IVSIZE, UVSIZE, NVSIZE + - introduce IV_DIG + - remove stdio64 + - AIX uses `oslevel` when others use `uname -r` + - already AIX 4.2 goes 64-bit + - in HP-UX require the 64-bit libc, just the directory isn't enough + - group ids are not NVs + - #undef USE_LONG_DOUBLE if long double is no better than double + - introduce NV_WITHIN_*() and IV_FITS_IN_IV + - mention large file support in perldelta + - introduce quad TOPpin' and POPpin' + - the svcat... buffer was tiny for printing quads in %b + - fix the multiplication test in 64bit.t + - try to make VMS to comply with all this removal and "introducal" + of symbols + Branch: cfgperl + ! Configure config_h.SH dump.c hints/aix.sh hints/hpux.sh mg.c + ! perl.h perlio.c pod/perldelta.pod pp.h sv.c t/lib/syslfs.t + ! t/op/64bit.t t/op/lfs.t utf8.c vms/subconfigure.com + Branch: metaconfig + ! U/modified/d_longdbl.U + Branch: metaconfig/U/perl + + d_ldbl_dig.U +____________________________________________________________________________ +[ 3994] By: jhi on 1999/08/16 07:53:44 + Log: More Configure/subconfigure.com syncing. + Branch: cfgperl + ! vms/subconfigure.com ____________________________________________________________________________ -[ 1632] By: gsar on 1998/07/22 07:51:56 - Log: From: Anton Berezin - Date: Tue, 21 Jul 1998 21:46:45 +0200 - Message-Id: <199807211946.VAA01301@lion.plab.ku.dk> - Subject: [PATCH _76] t/op/eval.t test for eval & scoping of lexicals - Branch: perl - ! t/op/eval.t +[ 3993] By: jhi on 1999/08/14 22:09:26 + Log: Remove from VMS what the change #3982 took away from Configure lands. + Branch: cfgperl + ! vms/subconfigure.com ____________________________________________________________________________ -[ 1631] By: gsar on 1998/07/22 07:48:20 - Log: applied patch, with tweak suggested by Michael Parker - From: Andy Dougherty - Date: Tue, 21 Jul 1998 14:30:05 EDT - Message-Id: - Subject: Re: Not OK: _76 on IP22-irix6.2 fails tests - Branch: perl - ! hints/irix_6.sh +[ 3992] By: jhi on 1999/08/14 13:29:13 + Log: Small test tweaks. + Branch: cfgperl + ! t/io/dup.t t/lib/dprof.t t/lib/odbm.t ____________________________________________________________________________ -[ 1630] By: gsar on 1998/07/22 07:40:25 - Log: better diagnostic on errno.t failure - From: Graham Barr - Date: Tue, 21 Jul 1998 13:07:29 CDT - Message-Id: <19980721130729.K4337@asic.sc.ti.com> - Branch: perl - ! t/lib/errno.t +[ 3991] By: jhi on 1999/08/14 13:08:41 + Log: Augment filesize limit note. + Branch: cfgperl + ! doio.c ____________________________________________________________________________ -[ 1629] By: gsar on 1998/07/22 07:36:38 - Log: win32 tweaks: disable XSLOCKS in perl.c, correct typo, search - the registry for anything that begins with "PERL", not "PERL5" - From: "Douglas Lankshear" - Date: Tue, 21 Jul 1998 11:08:00 PDT - Message-Id: <000601bdb4d2$7ee74720$a32fa8c0@tau.Active> - Branch: perl - ! perl.c win32/perlhost.h win32/win32.c +[ 3990] By: jhi on 1999/08/14 13:06:12 + Log: Note about filesize limits. + Branch: cfgperl + ! doio.c pp_sys.c ____________________________________________________________________________ -[ 1628] By: gsar on 1998/07/22 07:28:35 - Log: suppress redefined warnings on C - Branch: perl - ! op.c +[ 3989] By: jhi on 1999/08/14 11:31:58 + Log: Catch the case of filesize limits. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t +____________________________________________________________________________ +[ 3988] By: nick on 1999/08/14 09:20:58 + Log: New lightweight Carp has a require. If Carp is used in a __DIE__ handler + this causes a POPSTACK panic. The problem seems to be that although + die_where() has unwound the tail of perl_vdie() top_env setjmp has been + set to resume execution there. Avoiding setting CATCH_SET(TRUE) in + call_sv() avoids this. So invent a new G_NOCATCH flag to disable + messing with CATCH_SET() in call_sv, use it in perl_vdie(). + Add test to op/eval.t which will fail (panic) if bug comes back. + >>> I AM NOT CONVINCED THIS IS CORRECT LONG TERM FIX <<< + Branch: perl + ! cop.h perl.c t/op/eval.t util.c +____________________________________________________________________________ +[ 3987] By: jhi on 1999/08/13 23:57:52 + Log: From: "Craig A. Berry" + To: perl5-porters@perl.org, vmsperl@perl.org, sarathy@activestate.com + Subject: [PATCH 5.005_60] fix MM_VMS.pm for space-delimited lists + Date: Fri, 13 Aug 1999 17:42:47 -0500 + Message-Id: + Branch: cfgperl + ! lib/ExtUtils/MM_VMS.pm ____________________________________________________________________________ -[ 1627] By: gsar on 1998/07/22 07:15:19 - Log: remove spurious $VERSION line that confuses CPAN - From: Johan Vromans - Date: Tue, 21 Jul 1998 20:01:36 +0200 - Message-Id: <13748.55168.397720.564438@phoenix.squirrel.nl> - Subject: Re: 5.004_76 missing version numbers - Branch: perl - ! lib/Getopt/Long.pm +[ 3986] By: jhi on 1999/08/13 23:56:44 + Log: Don't quit before printing out the message. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1626] By: gsar on 1998/07/22 06:57:56 - Log: From: Andy Dougherty - Date: Tue, 21 Jul 1998 10:20:13 EDT - Message-Id: - Subject: [PATCH] Porting/config* updates for 5.005 - Branch: perl - ! Changes Porting/config.sh Porting/config_H +[ 3985] By: jhi on 1999/08/13 23:35:49 + Log: Remove more t/ trash on target "clean". + Branch: cfgperl + ! Makefile.SH ____________________________________________________________________________ -[ 1625] By: gsar on 1998/07/22 06:46:38 - Log: add a few more globals with old names #defined - Branch: perl - ! embed.pl embedvar.h +[ 3984] By: jhi on 1999/08/13 23:02:53 + Log: Avoid double long double. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! uselongdbl.U ____________________________________________________________________________ -[ 1624] By: gsar on 1998/07/22 06:39:22 - Log: allow extensions to be specified as paths - From: Paul Johnson - Date: Tue, 21 Jul 1998 12:04:27 BST - Message-Id: <19980721120427.F903@west-tip.transeda.com> - Subject: [PATCH] 5.004_75 Embed and static extensions - Branch: perl - ! lib/ExtUtils/Embed.pm +[ 3983] By: jhi on 1999/08/13 22:59:56 + Log: BYTEORDER fix. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/compline/byteorder.U +____________________________________________________________________________ +[ 3982] By: jhi on 1999/08/13 22:48:40 + Log: Jumbo Configure and large file support update. + Remove a lot of unneeded 64-bitness cruft; + re-introduce BYTEORDER; update 64-bitness hints; + lfs should now work in Solaris; long doubles in AIX. + Branch: cfgperl + ! Configure config_h.SH doio.c hints/aix.sh hints/hpux.sh + ! hints/irix_6.sh hints/solaris_2.sh iperlsys.h perl.h perlio.c + ! perlsdio.h pp.h pp_sys.c + Branch: metaconfig + ! U/compline/byteorder.U U/compline/ccflags.U + Branch: metaconfig/U/perl + ! d_dlsymun.U io64.U uselongdbl.U +____________________________________________________________________________ +[ 3980] By: jhi on 1999/08/13 15:09:11 + Log: Introduce HAS_LLSEEK. + Branch: cfgperl + ! Configure config_h.SH perl.h +____________________________________________________________________________ +[ 3979] By: jhi on 1999/08/13 14:29:47 + Log: From: + To: perl5-porters@perl.org, vmsperl@perl.org, bailey@newman.upenn.edu, + sarathy@activestate.com + Subject: [PATCH 5.005_60]fix up VMS->unix filename translation a bit + Date: Fri, 13 Aug 1999 09:00:42 -0700 (PDT) + Message-ID: + Branch: cfgperl + ! vms/vms.c ____________________________________________________________________________ -[ 1623] By: gsar on 1998/07/22 06:12:50 - Log: make $ prototype to accept THREADSVs - Branch: perl - ! op.c +[ 3978] By: jhi on 1999/08/13 09:56:46 + Log: Make the 64-bit tests more paranoid. + Branch: cfgperl + ! t/op/64bit.t ____________________________________________________________________________ -[ 1622] By: gsar on 1998/07/22 06:04:25 - Log: fix Liblist.pm to find entries that are plain pathnames on win32 - Branch: perl - ! lib/ExtUtils/Liblist.pm +[ 3976] By: jhi on 1999/08/12 21:49:16 + Log: IRIX64 needs more -mabi=64 with gcc. + Branch: cfgperl + ! hints/irix_6.sh ____________________________________________________________________________ -[ 1621] By: gsar on 1998/07/22 05:10:53 - Log: perlfaq update from From Tom Christiansen and Nathan Torkington - (removes all mention of training courses from perlfaq*.pod) - Branch: perl - ! pod/perlfaq.pod pod/perlfaq2.pod pod/perlfaq3.pod - ! pod/perlfaq4.pod pod/perlfaq6.pod pod/perlfaq7.pod - ! pod/perlfaq8.pod pod/perlfaq9.pod +[ 3975] By: jhi on 1999/08/12 21:02:03 + Log: Reincarnate change #3967, now in more modest form. + Branch: cfgperl + ! hints/irix_6.sh ____________________________________________________________________________ -[ 1620] By: gsar on 1998/07/22 02:51:13 - Log: applied patch, modulo parts already added to perldelta - From: Stephen McCamant - Date: Tue, 21 Jul 1998 17:06:23 CDT - Message-Id: <13749.3106.995764.413053@alias-2.pr.mcs.net> - Subject: [PATCH] Re: Beta2 is available - Branch: perl - ! pod/perldelta.pod +[ 3974] By: jhi on 1999/08/12 20:49:36 + Log: Remove rt from libswanted (I added it many moons ago + when I thought it would be useful in Digital UNIX, + I was wrong); undo the recent IRIX hints changes, + getting rid of one warning brought new ones. + Branch: cfgperl + ! Configure config_h.SH hints/irix_6.sh + Branch: metaconfig + ! U/modified/Myinit.U ____________________________________________________________________________ -[ 1619] By: gsar on 1998/07/22 02:45:55 - Log: applied patch, add new message to perldeta - From: Stephen McCamant - Date: Tue, 21 Jul 1998 16:12:25 CDT - Message-Id: <13749.910.83378.949909@alias-2.pr.mcs.net> - Subject: [PATCH] Band-aid patch for local($avhv->{a}) - Branch: perl - ! pod/perldelta.pod pod/perldiag.pod pp.c pp_hot.c +[ 3973] By: jhi on 1999/08/12 19:42:53 + Log: st_blocks is in 512 byte blocks. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1618] By: gsar on 1998/07/22 02:08:00 - Log: fix up B modules for PL_* changes - Branch: perl - ! ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm +[ 3972] By: jhi on 1999/08/12 19:27:31 + Log: Don't claim defeat too early. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! longdblfio.U ____________________________________________________________________________ -[ 1617] By: gsar on 1998/07/22 01:42:14 - Log: From: Malcolm Beattie - Date: Tue, 21 Jul 1998 18:13:16 BST - Message-Id: <199807211713.SAA20735@sable.ox.ac.uk> - Subject: Compiler docs for 5.005 - Branch: perl - ! ext/B/B.pm ext/B/B/Bytecode.pm ext/B/B/C.pm ext/B/B/CC.pm - ! ext/B/O.pm +[ 3971] By: jhi on 1999/08/12 19:24:14 + Log: IRIX 64-bit hint tweak. + Branch: cfgperl + ! hints/irix_6.sh ____________________________________________________________________________ -[ 1616] By: gsar on 1998/07/22 01:29:09 - Log: s/PL_sv/PL_bytecode_sv/ etc., so we have unique, case-insensitive - names +[ 3970] By: nick on 1999/08/12 19:17:20 + Log: Turn of deprecated warnings for defined(@Sompack::ISA) type + tests i.e. RV2AV and RV2HV Branch: perl - ! bytecode.h bytecode.pl byterun.c embedvar.h interp.sym - ! intrpvar.h + ! op.c t/pragma/warn/op ____________________________________________________________________________ -[ 1615] By: nick on 1998/07/21 22:26:34 - Log: Mingw32 PERL_OBJECT tweaks - Branch: perl - ! ext/Fcntl/Fcntl.xs ext/IO/IO.xs ext/POSIX/POSIX.xs +[ 3969] By: jhi on 1999/08/12 19:06:17 + Log: Add Configure -Duselongdouble and add a missing semicolon. + Branch: cfgperl + ! Configure config_h.SH sv.c + Branch: metaconfig/U/perl + + uselongdbl.U ____________________________________________________________________________ -[ 1614] By: gsar on 1998/07/21 19:43:32 - Log: fix off-by-one in change#623 that broke lexical lookups in eval'' - Branch: perl - ! pp_ctl.c - ----------------- -Version 5.004_76 5.005 Public Beta, Issue 2 ----------------- - +[ 3968] By: jhi on 1999/08/12 18:46:00 + Log: Simply exit() early if lfs support seems unlikely. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1613] By: gsar on 1998/07/21 10:26:01 - Log: final tweaks before beta2 - Branch: perl - + Porting/findvars - +> Porting/fixvars - - fixvars - ! Changes MANIFEST intrpvar.h iperlsys.h - ! lib/ExtUtils/MM_Win32.pm win32/perlhost.h +[ 3967] By: jhi on 1999/08/12 18:44:05 + Log: Suffer silently for unused libraries. + Branch: cfgperl + ! hints/irix_6.sh ____________________________________________________________________________ -[ 1612] By: gsar on 1998/07/21 07:15:54 - Log: fixes to enable PERL_OBJECT build with mingw32/egcs-1.0.2 - Branch: perl - ! ext/Opcode/Opcode.xs proto.h win32/makedef.pl - ! win32/makefile.mk win32/perlhost.h win32/win32.c win32/win32.h - ! win32/win32sck.c +[ 3966] By: jhi on 1999/08/12 13:18:44 + Log: Update MANIFEST to follow change #3965. + Branch: cfgperl + ! MANIFEST ____________________________________________________________________________ -[ 1611] By: gsar on 1998/07/21 07:12:00 - Log: fix bytecode.pl with moved var names - Branch: perl - ! bytecode.pl byterun.c byterun.h ext/B/B/Asmdata.pm +[ 3965] By: jhi on 1999/08/12 13:15:38 + Log: Regenerate Unicode tables based on new syllable lists + from Daniel Yacob. + Branch: cfgperl + ! (edit 159 files) ____________________________________________________________________________ -[ 1610] By: gsar on 1998/07/21 05:51:10 - Log: tweak toke.c - Branch: perl - ! toke.c +[ 3964] By: jhi on 1999/08/12 10:06:24 + Log: Remove more spurious casting. + Branch: cfgperl + ! pp_sys.c ____________________________________________________________________________ -[ 1609] By: gsar on 1998/07/21 05:46:59 - Log: change case of PERL_OBJECT filenames, consistent with the rest - Branch: perl - + XSlock.h objXSUB.h - - ObjXSub.h XSLock.h - ! MANIFEST XSUB.h lib/ExtUtils/MM_Win32.pm perl.h - ! win32/GenCAPI.pl win32/Makefile win32/makefile.mk +[ 3963] By: jhi on 1999/08/12 08:18:53 + Log: Minor niggles on the lfs tests. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1608] By: gsar on 1998/07/21 05:31:13 - Log: part 2 of PERL_OBJECT fixes (globals in bytecode.h moved to intrpvar.h) - Branch: perl - ! bytecode.h byterun.c embedvar.h interp.sym intrpvar.h +[ 3962] By: jhi on 1999/08/11 22:48:25 + Log: Don't bother with lfs testing if off_t is too small. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1607] By: gsar on 1998/07/21 05:29:10 - Log: part 1 of PERL_OBJECT fixes for new var names - Branch: perl - ! ObjXSub.h bytecode.h globals.c iperlsys.h perl.h pp_ctl.c - ! run.c win32/GenCAPI.pl +[ 3961] By: jhi on 1999/08/11 22:22:54 + Log: Long double patches from Dan Sugalski. + Branch: cfgperl + ! sv.c ____________________________________________________________________________ -[ 1606] By: gsar on 1998/07/21 05:17:26 - Log: From: Stephen McCamant - Date: Mon, 20 Jul 1998 23:53:32 CDT - Message-Id: <13748.6947.311341.657005@alias-2.pr.mcs.net> - Subject: [PATCH] redundant RV2GVs in ck_fun() - Branch: perl - ! op.c +[ 3960] By: jhi on 1999/08/11 22:17:55 + Log: Flush buffer before duplicating file descriptor. + + From: Mark-Jason Dominus + To: Graham Barr + cc: Vicki Brown , perl5-porters@perl.org, mjd@plover.com + Subject: Re: [ID 19990811.002] can't dup DATA? (PATCH (5.005_57)) + Date: Wed, 11 Aug 1999 15:56:09 -0400 + Message-ID: <19990811195610.5933.qmail@plover.com> + + From: Mark-Jason Dominus + To: perl5-porters@perl.org + Subject: Re: [ID 19990811.002] can't dup DATA? (PATCH (5.005_57)) + Date: Wed, 11 Aug 1999 16:05:46 -0400 + Message-ID: <19990811200546.6165.qmail@plover.com> + Branch: cfgperl + ! doio.c pod/perldelta.pod +____________________________________________________________________________ +[ 3959] By: jhi on 1999/08/11 22:11:35 + Log: Bypass fsync(NULL) (crashes miniperl compiled with DEC C 5.2) + + From: "Craig A. Berry" + Sender: owner-perl5-porters@perl.org + To: vmsperl@perl.org, perl5-porters@perl.org, sarathy@activestate.com, + bailey@newman.upenn.edu + Subject: [PATCH 5.005_60] vms.c my_flush patch to circumvent fileno + problem + Date: Wed, 11 Aug 1999 14:31:11 -0500 + Message-Id: <4.2.0.58.19990811141007.00b8f8a0@mmtnt11.metamor.com> + Branch: cfgperl + ! vms/vms.c ____________________________________________________________________________ -[ 1605] By: gsar on 1998/07/21 05:13:28 - Log: From: Stephen McCamant - Date: Mon, 20 Jul 1998 23:32:42 CDT - Message-Id: <13748.6392.921893.643238@alias-2.pr.mcs.net> - Subject: B::Deparse 0.56 (first testsuite fixes; big) - Branch: perl - ! ext/B/B/Deparse.pm +[ 3958] By: jhi on 1999/08/11 15:35:45 + Log: Add a hopefully comforting message if there seems to be no LFS. + This seems to be the case with e.g. ext2fs, a somewhat popular fs. + The tests will fail on lfs tests only if quad is available, + if ENOQUAD, the lfs tests will be skipped. + Branch: cfgperl + ! t/lib/syslfs.t t/op/lfs.t ____________________________________________________________________________ -[ 1604] By: gsar on 1998/07/21 05:07:29 - Log: applied a slightly tweaked version of suggested patch - From: Colin Kuskie - Date: Mon, 20 Jul 1998 15:58:31 -0700 (PDT) - Message-ID: - Subject: [PATCH _75] More documentation for -i prefix - Branch: perl - ! pod/perlrun.pod +[ 3957] By: jhi on 1999/08/11 12:25:59 + Log: Unapply an experimental patch that accidentally escaped + from the lab by piggybacking with the change #3955. + Branch: cfgperl + ! pp.c pp.h pp_hot.c ____________________________________________________________________________ -[ 1603] By: gsar on 1998/07/21 04:59:19 - Log: disable malloced_size() feedback with -DLEAKTEST - From: Ilya Zakharevich - Date: Mon, 20 Jul 1998 21:20:21 -0400 (EDT) - Message-Id: <199807210120.VAA15031@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_75] -DLEAKTEST broken - Branch: perl - ! av.c sv.c +[ 3956] By: jhi on 1999/08/11 08:19:23 + Log: Add sysio large file support testing. + Branch: cfgperl + + t/lib/syslfs.t + ! MANIFEST pod/perlfunc.pod t/op/64bit.t t/op/lfs.t +____________________________________________________________________________ +[ 3955] By: jhi on 1999/08/10 22:39:11 + Log: From: + To: vmsperl@perl.org, perl5-porters@perl.org, + sarathy@activestate.com, bailey@newman.upenn.edu + Subject: [PATCH 5.005_60]Patches needed to get _60 building with + threads on VMS + Date: Tue, 10 Aug 1999 16:34:56 -0700 (PDT) + Message-ID: + Branch: cfgperl + ! ext/Devel/DProf/DProf.xs ext/DynaLoader/dl_vms.xs + ! ext/POSIX/POSIX.xs pp.c pp.h pp_hot.c vms/vms.c vms/vmsish.h + ! vms/writemain.pl ____________________________________________________________________________ -[ 1602] By: gsar on 1998/07/21 04:57:43 - Log: fix hints/hpux.sh for cpp recognition - From: Andy Dougherty - Date: Mon, 20 Jul 1998 12:46:33 -0400 (EDT) - Message-Id: - Subject: RE: Configure misses preprocessor on HP-UX - Branch: perl - ! hints/hpux.sh +[ 3954] By: jhi on 1999/08/10 20:37:55 + Log: LFS testing robustness. + Branch: cfgperl + ! t/op/lfs.t +____________________________________________________________________________ +[ 3953] By: jhi on 1999/08/10 19:54:50 + Log: From: + To: vmsperl@perl.org, perp5-porters@perl.org, bailey@newman.upenn.edu, + sarathy@activestate.com + Subject: [PATCH 5.005_60]Pathces to get _60 building on VMS + Date: Tue, 10 Aug 1999 13:28:18 -0700 (PDT) + Message-ID: + Branch: cfgperl + ! configure.com vms/descrip_mms.template vms/gen_shrfls.pl + ! vms/subconfigure.com vms/vmsish.h ____________________________________________________________________________ -[ 1601] By: gsar on 1998/07/21 04:55:51 - Log: From: Ilya Zakharevich - Date: Sun, 19 Jul 1998 18:16:38 -0400 (EDT) - Message-Id: <199807192216.SAA10482@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Compile (?{}) into a correct package - Branch: perl - ! pp_ctl.c t/op/pat.t +[ 3952] By: jhi on 1999/08/10 17:18:57 + Log: AIX is different, again. Now in cc -E output. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig + ! U/modified/cppstdin.U +____________________________________________________________________________ +[ 3951] By: jhi on 1999/08/10 14:37:08 + Log: Use Pid_t on pgrp matters. + Branch: cfgperl + ! pp_sys.c +____________________________________________________________________________ +[ 3950] By: jhi on 1999/08/10 14:35:30 + Log: Use Pid_t. + Branch: cfgperl + ! doio.c embed.h embed.pl embedvar.h global.sym perlapi.c + ! pp_sys.c proto.h util.c +____________________________________________________________________________ +[ 3949] By: jhi on 1999/08/10 14:11:15 + Log: Use Mode_t. + Branch: cfgperl + ! doio.c embed.h embed.pl embedvar.h global.sym perlapi.c + ! perlapi.h pp_sys.c proto.h +____________________________________________________________________________ +[ 3948] By: jhi on 1999/08/10 13:53:19 + Log: Small perlbug doc tweaks from Jon Orwant. + Branch: cfgperl + ! utils/perlbug.PL +____________________________________________________________________________ +[ 3947] By: jhi on 1999/08/10 09:55:11 + Log: Large file support testing. + Branch: cfgperl + + t/op/lfs.t + ! MANIFEST t/op/64bit.t +____________________________________________________________________________ +[ 3946] By: jhi on 1999/08/10 09:13:54 + Log: Remove I32 casting from time-related functions. + Branch: cfgperl + ! pp_sys.c +____________________________________________________________________________ +[ 3945] By: jhi on 1999/08/10 09:06:42 + Log: Gratuitous uid and gid casts to I32s and ints removed. + There are still problem spots in printfing such ids: + width (%d vs %ld) and signedness %d vs %u. + Branch: cfgperl + ! doio.c embed.h embed.pl embedvar.h global.sym intrpvar.h mg.c + ! perl.c perlapi.c pp_hot.c proto.h +____________________________________________________________________________ +[ 3944] By: jhi on 1999/08/10 07:43:03 + Log: Remove I32 casts from pp_stat, these make stat() + very broken e.g. on files larger than 2 gigabytes. + Reported by + From: Phil Lobbes + To: perl5-porters@perl.org + Subject: [ID 19990810.001] Possible bug using stat w/large files Digital + UNIX Perl 5.005_03 + Date: Mon, 09 Aug 1999 21:38:54 -0700 + Message-Id: <199908100438.VAA08292@ultra.finchcomputer.com> + + There are more of these I32 casts all over pp_sys.c, + all of them should be checked. + Branch: cfgperl + ! pp_sys.c +____________________________________________________________________________ +[ 3943] By: jhi on 1999/08/10 07:38:30 + Log: Remove blathering. + Branch: cfgperl + ! lib/unicode/mktables.PL +____________________________________________________________________________ +[ 3942] By: jhi on 1999/08/09 20:35:13 + Log: lexwarn maintenance: new warning class unsafe + subclasses 'overflow' and 'portable' created, + used by the recent integer overflow warnings. + Class syntax subclass 'octal' renamed to 'digit', + binary and hexadecimal parsing errors also 'digit' warnings. + Branch: cfgperl + ! lib/warning.pm pod/perllexwarn.pod t/pragma/warn/util toke.c + ! util.c warning.h warning.pl ____________________________________________________________________________ -[ 1600] By: gsar on 1998/07/21 04:48:32 - Log: allocate a whole fd_set for pp_sselect() on more platforms - From: Jarkko Hietaniemi - Date: 20 Jul 1998 00:14:18 +0300 - Message-ID: - Subject: Re: Not OK: perl 5.00475 +DEVEL_BETA_ISSUE_1 on OPENSTEP-Mach 4_1 (UNINSTALLED) - Branch: perl - ! pp_sys.c +[ 3941] By: jhi on 1999/08/09 10:40:47 + Log: Integrate with Nick. + Branch: cfgperl + +> opnames.h + !> Changes MANIFEST embed.h embed.pl ext/B/B/C.pm ext/B/B/CC.pm + !> global.sym opcode.h opcode.pl perl.h perlapi.c pp.c ____________________________________________________________________________ -[ 1599] By: gsar on 1998/07/21 04:44:04 - Log: add tests to check if context propagation works - From: Francois Desarmenien - Date: Sun, 19 Jul 1998 12:28:33 +0200 - Message-ID: <35B1CA51.A606AD27@club-internet.fr> - Subject: Re: m//g strange behaviour in 5.004 - Branch: perl - + t/op/context.t - ! MANIFEST +[ 3940] By: jhi on 1999/08/09 10:32:43 + Log: Regenerate the Unicode tables after having updated the Unicode + database (change #3939). + Branch: cfgperl + ! (edit 157 files) ____________________________________________________________________________ -[ 1598] By: gsar on 1998/07/21 04:37:49 - Log: applied RE doc patches, with tweaks to the prose - From: Ilya Zakharevich - Date: Sat, 18 Jul 1998 23:11:13 -0400 (EDT) - Message-Id: <199807190311.XAA25080@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Document irregular zero-length matches - -- - Date: Sun, 19 Jul 1998 00:38:44 -0400 (EDT) - Message-Id: <199807190438.AAA26226@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Another irregularity of expressions documented - Branch: perl - ! pod/perlre.pod +[ 3939] By: jhi on 1999/08/09 10:27:22 + Log: Unicode data updated to be the latest beta of the Unicode 3.0. + Branch: cfgperl + ! lib/unicode/UnicodeData-Latest.txt ____________________________________________________________________________ -[ 1597] By: gsar on 1998/07/21 04:16:51 - Log: pod tweak suggested by Ilya - Branch: perl - ! pod/perlfunc.pod +[ 3938] By: jhi on 1999/08/09 10:25:54 + Log: Ethiopic changes via private email from Daniel Yacob, + . Ethiopic and Cherokee done, + Canadian Syllabics and Yi under construction. + Branch: cfgperl + + lib/unicode/syllables.txt + - lib/unicode/EthiopicSyllables.txt + - lib/unicode/MakeEthiopicSyllables.PL + ! MANIFEST lib/unicode/UnicodeData-Latest.txt + ! lib/unicode/mktables.PL +____________________________________________________________________________ +[ 3937] By: jhi on 1999/08/09 10:21:51 + Log: Move the equivalence class creation last. + Branch: cfgperl + ! lib/unicode/mktables.PL ____________________________________________________________________________ -[ 1596] By: gsar on 1998/07/21 04:12:39 - Log: enable color output with -Mre=debugcolor with -DDEBUGGING - From: Ilya Zakharevich - Date: Sat, 18 Jul 1998 17:34:00 -0400 (EDT) - Message-Id: <199807182134.RAA20644@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Better -Mre=colordb - Branch: perl - ! ext/re/re.xs +[ 3936] By: jhi on 1999/08/09 10:20:40 + Log: Compute equivalence classes (diacritics stripping) only + for letters, not for ligatures. + Branch: cfgperl + ! lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + ! lib/unicode/mktables.PL ____________________________________________________________________________ -[ 1595] By: gsar on 1998/07/21 04:07:44 - Log: From: "John L. Allen" - Date: Thu, 16 Jul 1998 11:43:54 -0400 (EDT) - Message-ID: - Subject: [PATCH _75 & _05] perlbug does not report usage on invalid flags +[ 3935] By: nick on 1999/08/08 13:53:57 + Log: Will now correctly re-call + bootstrap "Foo"; + if requested. This should allow build on Win32 and other + platforms where you cannot link to loadables directly. Branch: perl - ! utils/perlbug.PL + ! ext/B/B/C.pm ____________________________________________________________________________ -[ 1594] By: gsar on 1998/07/21 04:06:06 - Log: don't use SelectSaver on IO::Handle->input_*() methods - From: Robin Barker - Date: Thu, 16 Jul 1998 15:00:39 +0100 (BST) - Message-Id: <199807161400.PAA25532@tempest.cise.npl.co.uk> - Subject: Re: Bug in IO::Handle->input_record_separator +[ 3934] By: nick on 1999/08/07 12:23:55 + Log: Vishal Bhatia + Subject: [PATCH 5.005_60] fix for some obscure bugs (compiler) + Message-ID: Branch: perl - ! ext/IO/lib/IO/Handle.pm + ! ext/B/B/CC.pm ____________________________________________________________________________ -[ 1593] By: gsar on 1998/07/21 04:03:46 - Log: applied a tweaked version of suggested patch - From: Ilya Zakharevich - Date: Wed, 15 Jul 1998 17:02:48 -0400 (EDT) - Message-Id: <199807152102.RAA19952@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Enable/document colors in re.pm +[ 3933] By: nick on 1999/08/07 12:19:46 + Log: B::C changes to get simple Tk app. compiling again Branch: perl - ! ext/re/re.pm + ! ext/B/B/C.pm ____________________________________________________________________________ -[ 1592] By: gsar on 1998/07/21 03:49:55 - Log: remove compat3.sym and rename perld4.pod - Branch: perl - +> pod/perl5004delta.pod - - compat3.sym pod/perld4.pod - ! MANIFEST +[ 3932] By: jhi on 1999/08/06 21:17:16 + Log: Regen Configure to include change #3915. + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1591] By: gsar on 1998/07/21 03:38:16 - Log: update patchlevel, Changes - Branch: perl - ! Changes patchlevel.h win32/Makefile win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/makefile.mk +[ 3931] By: jhi on 1999/08/06 18:52:57 + Log: Todo update. + Branch: cfgperl + ! Todo Todo-5.005 lib/unicode/mktables.PL ____________________________________________________________________________ -[ 1590] By: gsar on 1998/07/21 03:06:04 - Log: documentation tweaks from Abigail - Date: Fri, 17 Jul 1998 20:52:36 -0400 (EDT) - Message-ID: <19980718005236.5154.qmail@betelgeuse.wayne.fnx.com> - Subject: Re: [PATCH 5.00475] pod/perlsyn.pod - -- - Date: Thu, 16 Jul 1998 17:00:49 -0400 (EDT) - Message-ID: <19980716210049.16156.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.00475] pod/perlguts.pod - -- - Date: Thu, 16 Jul 1998 16:52:05 -0400 (EDT) - Message-ID: <19980716205205.15949.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.00475] Tweaking pod/perlfunc.pod - -- - Date: Fri, 17 Jul 1998 22:58:05 -0400 (EDT) - Message-ID: <19980718025805.7135.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH, 5.00475], pod/perlsub.pod - -- - Date: Sat, 18 Jul 1998 04:02:00 -0400 (EDT) - Message-ID: <19980718080200.9927.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.00475] pod/perlfunc.pod - Branch: perl - ! pod/perlfunc.pod pod/perlguts.pod pod/perlsub.pod - ! pod/perlsyn.pod +[ 3930] By: jhi on 1999/08/06 13:13:05 + Log: Character class equivalence tables. + Branch: cfgperl + + lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode + ! MANIFEST lib/unicode/mktables.PL +____________________________________________________________________________ +[ 3929] By: jhi on 1999/08/06 11:59:11 + Log: More Fcntl constants. (This process really needs + to be automated, at least partly, see the Errno extension.) + Now also the SEEK_ constants are available via the Fcntl. + Yes, this is redundant (IO::Seekable and POSIX supply them already), + but now Fcntl is a one-stop shopping mall for all your + file-related constants. + Branch: cfgperl + ! ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs pod/perlfunc.pod ____________________________________________________________________________ -[ 1589] By: gsar on 1998/07/21 02:44:25 - Log: VMS patches from Dan Sugalski - Date: Wed, 15 Jul 1998 09:38:12 -0700 - Message-Id: <3.0.5.32.19980715093812.00a42a50@ous.edu> - Subject: [PATCH 5.005-beta1]Quick VMS config update - -- - Date: Wed, 15 Jul 1998 12:53:52 -0700 - Message-Id: <3.0.5.32.19980715125352.00a25cb0@ous.edu> - Subject: Re: $ebcdic has broken VMS in _75 (Now with doc patch!) - -- - Date: Thu, 16 Jul 1998 11:15:44 -0700 - Message-Id: <3.0.5.32.19980716111544.00b78770@ous.edu> - Subject: [PATCH 5.004_75]Another VMS tweak for the Vax C compiler - -- - Date: Thu, 16 Jul 1998 11:21:55 -0700 - Message-Id: <3.0.5.32.19980716112155.00a66c50@ous.edu> - Subject: [PATCH 5.004_75]Get archname correct for thread build on VMS - -- - Date: Thu, 16 Jul 1998 11:25:04 -0700 - Message-Id: <3.0.5.32.19980716112504.00ae0d50@ous.edu> - Subject: [PATCH 5.004_75]Thread build tweaks for VMS 6.2 and older - -- - Date: Fri, 17 Jul 1998 15:29:13 -0700 - Message-Id: <3.0.5.32.19980717152913.00a469b0@ous.edu> - Subject: [PATCH 5.004_75]Missed a header file in VMS build procedure - -- - Date: Mon, 20 Jul 1998 10:20:49 -0700 - Message-Id: <3.0.5.32.19980720102049.00a05100@ous.edu> - Subject: [PATCH 5.004_75]Tweaks to Thread.XS for OLD_PTHREADS_API build - -- - Date: Mon, 20 Jul 1998 10:13:03 -0700 - Message-Id: <3.0.5.32.19980720101303.00a17100@ous.edu> - Subject: [PATCH 5.004_75]Explicitly specify extensions during VMS config process - -- - From: Brad Hughes - Date: Mon, 20 Jul 1998 15:51:22 -0700 - Message-Id: <3.0.5.32.19980720155122.00a41950@ous.edu> - Subject: patch for readme.vms - Branch: perl - ! README.vms ext/Thread/Thread.xs vms/descrip_mms.template - ! vms/gen_shrfls.pl vms/subconfigure.com +[ 3928] By: jhi on 1999/08/06 08:08:03 + Log: Protect against pack/unpack repeat count overflows, + based on: + + From: Nathan Torkington + To: Brian Keefer + Cc: perl5-porters@perl.org + Subject: Re: [ID 19990806.001] Core dump with obfuscated code + Date: Thu, 5 Aug 1999 23:01:51 -0600 (MDT) + Message-ID: <14250.27711.769942.100675@localhost.frii.com> + Branch: cfgperl + ! pod/perldiag.pod pp.c ____________________________________________________________________________ -[ 1588] By: gsar on 1998/07/21 01:26:20 - Log: change#1481 didn't go through at all, redo it - Branch: perl - ! t/base/rs.t +[ 3927] By: jhi on 1999/08/06 07:32:20 + Log: Fix for Nathan's fix (#3920) from Guy Decoux. + + From: Nathan Torkington + To: perl5-porters@perl.org + Subject: Bugfix for my bugfix + Date: Thu, 5 Aug 1999 21:25:47 -0600 (MDT) + Message-ID: <14250.21947.765134.940583@localhost.frii.com> + Branch: cfgperl + ! ext/B/B/Assembler.pm ____________________________________________________________________________ -[ 1587] By: gsar on 1998/07/21 01:21:41 - Log: workaround C<"foo" "bar"> catenation-intolerant compilers - Branch: perl - ! regexec.c toke.c +[ 3926] By: jhi on 1999/08/05 17:25:19 + Log: Fix regex charclass parsing so that bogus ranges + like [0-\d] and [[:word:]-z] are no more allowed. + The anomaly was noticed by Guy Decoux. + Branch: cfgperl + ! pod/perldiag.pod pod/perlre.pod regcomp.c t/op/re_tests ____________________________________________________________________________ -[ 1586] By: gsar on 1998/07/21 01:05:49 - Log: do not override PERL_DESTRUCT_LEVEL if use has it set - Branch: perl - ! t/TEST +[ 3925] By: jhi on 1999/08/05 10:31:47 + Log: split /^/ deprecation warning should not be on by default. + Branch: cfgperl + ! pp.c +____________________________________________________________________________ +[ 3923] By: jhi on 1999/08/05 09:16:57 + Log: From: paul.marquess@bt.com + To: jhi@iki.fi, paul.marquess@bt.com + Cc: gsar@ActiveState.com, perl5-porters@perl.org + Subject: RE: [PATCH 5.005_60] anydbm.t + DB_File + Berkeley DB >= 2.4.10 + Date: Thu, 5 Aug 1999 09:33:14 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB202D49B26@mbtlipnt02.btlabs.bt.co.uk> + Branch: cfgperl + ! t/lib/anydbm.t ____________________________________________________________________________ -[ 1585] By: gsar on 1998/07/21 00:39:17 - Log: fix small memory leak when mess_sv happens to be touched by magic - Branch: perl - ! perl.c t/lib/thread.t t/op/local.t t/op/pat.t t/op/regexp.t +[ 3921] By: jhi on 1999/08/05 08:05:13 + Log: From: paul.marquess@bt.com + To: perl5-porters@perl.org + Cc: gsar@activestate.com, nik@tiuk.ti.com, jhi@iki.fi, + randy@theoryx5.uwinnipeg.ca + Subject: [PATCH 5.005_60] DB_File 1.70 + Date: Wed, 4 Aug 1999 23:22:22 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB202D49B21@mbtlipnt02.btlabs.bt.co.uk> + + (Replaces change #3917) + Branch: cfgperl + ! ext/DB_File/Changes ext/DB_File/DB_File.pm + ! ext/DB_File/DB_File.xs t/lib/db-btree.t t/lib/db-hash.t ____________________________________________________________________________ -[ 1584] By: gsar on 1998/07/21 00:37:32 - Log: fix memory leak in C - Branch: perl - ! scope.c +[ 3920] By: jhi on 1999/08/04 19:02:58 + Log: From: Nathan Torkington + To: perl5-porters@perl.org + Subject: [5.005_60 PATCH] Make B::Bytecode work + Date: Wed, 4 Aug 1999 11:24:56 -0600 (MDT) + Message-ID: <14248.30568.769427.216092@localhost.frii.com> + Branch: cfgperl + ! ext/B/B/Assembler.pm ____________________________________________________________________________ -[ 1583] By: TimBunce on 1998/07/20 22:14:11 - Log: Update Changes and patchlevel.h for release. At last. - Branch: maint-5.004/perl - ! Changes patchlevel.h +[ 3919] By: jhi on 1999/08/04 10:56:26 + Log: Update history records. + Branch: cfgperl + ! pod/perlhist.pod ____________________________________________________________________________ -[ 1582] By: gsar on 1998/07/20 21:28:43 - Log: add rsfp_filters and perldb to pollutants list - Branch: perl - ! embed.pl +[ 3918] By: jhi on 1999/08/04 09:36:13 + Log: Minor fixes to linux -Dusethreads -Duseperlio. + Branch: cfgperl + ! perlio.c ____________________________________________________________________________ -[ 1581] By: nick on 1998/07/20 19:22:37 - Log: Integrate mainline pre-beta2 - just in case - Branch: ansiperl - !> (integrate 66 files) +[ 3917] By: jhi on 1999/08/04 08:13:20 + Log: (Replaced by change #3921) + From: paul.marquess@bt.com + To: gsar@activestate.com + Cc: perl5-porters@perl.org + Subject: [PATCH 5.005_60] DB_File 1.69 + Date: Tue, 3 Aug 1999 22:55:00 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB29C6D04@mbtlipnt02.btlabs.bt.co.uk> + Branch: cfgperl + ! ext/DB_File/Changes ext/DB_File/DB_File.pm + ! ext/DB_File/DB_File.xs t/lib/db-btree.t t/lib/db-hash.t ____________________________________________________________________________ -[ 1580] By: TimBunce on 1998/07/20 17:16:38 - Log: Assorted patches: +[ 3916] By: jhi on 1999/08/04 07:59:05 + Log: Introduce the charnames pragma. - Title: "Clean up hash array allocation" - From: Gurusamy Sarathy - Msg-ID: <199807201052.GAA13336@aatma.engin.umich.edu> - Files: hv.c + Subject: [PATCH 5.005_58] Free \C (for named chars), move to \O + From: Ilya Zakharevich <[9]ilya@math.ohio-state.edu> + To: Chip Salzenberg <[11]chip@perlsupport.com> + Cc: Mailing list Perl5 <[12]perl5-porters@perl.org> + Date: Sat, 31 Jul 1999 05:44:05 -0400 + Message-Id: <[13]199907311407.IAA25042@localhost.frii.com> - Title: "Further fixes for cppstdin on HP-UX 11" - From: Andy Dougherty - Msg-ID: - Files: hints/hpux.sh - Branch: maint-5.004/perl - ! hints/hpux.sh hv.c + From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: [PATCH 5.005_58] Named characters in Perl + Date: Mon, 2 Aug 1999 19:25:40 -0400 + Message-ID: <19990802192540.B24407@monk.mps.ohio-state.edu> + Branch: cfgperl + + lib/charnames.pm t/lib/charnames.t + ! MAINTAIN MANIFEST lib/utf8.pm pod/perldiag.pod pod/perlop.pod + ! pod/perlre.pod regcomp.c toke.c +____________________________________________________________________________ +[ 3915] By: jhi on 1999/08/03 21:18:49 + Log: Support Configure -Dmake=pmake. + Via private email from Andy. + NOTE: assumes "basename" command. + Branch: metaconfig + ! U/modified/Config_sh.U ____________________________________________________________________________ -[ 1579] By: TimBunce on 1998/07/20 09:46:14 - Log: Assorted patches: +[ 3914] By: jhi on 1999/08/03 21:11:11 + Log: The op/filetest.t failed subtest 7 if testing as root. - Title: "Fix C<$1 .. $2> coredump under debugger" - From: Gurusamy Sarathy - Msg-ID: <199807200042.UAA23288@aatma.engin.umich.edu> - Files: pp_ctl.c + From: =?iso-8859-1?Q?Fran=E7ois=20D=E9sarm=E9nien?= + To: perl5-porters@perl.org + Subject: [ID 19990727.039] Not OK: perl 5.00558 on i386-sco 3.2v5.0.4 + Date: Tue, 27 Jul 1999 22:54:05 +0200 + Message-Id: <379E1C6D.626DC765@club-internet.fr> + Branch: cfgperl + ! t/op/filetest.t +____________________________________________________________________________ +[ 3911] By: jhi on 1999/08/03 19:52:38 + Log: The "-Dusethreads -Duseperlio" combination failed. - Title: "Fix lvalue leaks stemming from failure to free LvTARG(sv)" - From: Gurusamy Sarathy - Msg-ID: <199807191829.OAA12433@aatma.engin.umich.edu> - Files: embed.h perl.h proto.h global.sym mg.c sv.c t/op/substr.t t/op/vec.t + From: Spider Boardman + To: perl5-porters@perl.org + Subject: [ID 19990803.007] Not OK: perl 5.00560 on alpha-dec_osf-thread + 4.0 (UNINSTALLED) + Date: Tue, 3 Aug 1999 14:25:00 -0400 + Message-Id: <199908031825.OAA29254@leggy.zk3.dec.com> - Title: "fix major bug (from 5.003_96); void contexts were using the context - of the enclosing sub!" - From: Francois Desarmenien , Gurusamy Sarathy - - Msg-ID: <199807180927.FAA08032@aatma.engin.umich.edu>, - <35B1CA51.A606AD27@club-internet.fr> - Files: op.h + See also change #3912. + Branch: cfgperl + ! perlio.c +____________________________________________________________________________ +[ 3910] By: jhi on 1999/08/03 10:44:24 + Log: From: Chris Nandor + To: perl5-porters@perl.org + Subject: [PATCH 5.005_58] perlbug.PL 1.27 + Date: Wed, 28 Jul 1999 23:42:49 -0400 + Message-Id: + Branch: cfgperl + ! utils/perlbug.PL +____________________________________________________________________________ +[ 3909] By: jhi on 1999/08/03 10:41:04 + Log: Hints for building ByteLoader in SunoS. Based on + From: Andy Dougherty + To: Gurusamy Sarathy + Cc: Perl Porters + Subject: Re: 5.005_58 Not OK SunOS 4.1.3 + Date: Mon, 2 Aug 1999 14:01:58 -0400 (EDT) + Message-Id: + Branch: cfgperl + + ext/ByteLoader/hints/sunos.pl + ! MANIFEST ext/ByteLoader/ByteLoader.xs +____________________________________________________________________________ +[ 3908] By: jhi on 1999/08/03 09:29:22 + Log: Clarify RE engine code; inline a static function to a macro; + make exact string nodes smaller. - Title: "Update lib/Getopt/Long.pm (from perl5.005 beta 1)" - From: Johan Vromans - Msg-ID: <13745.47704.943964.34613@phoenix.squirrel.nl> - Files: lib/Getopt/Long.pm + From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_60] Cosmetic change to REx engine + Date: Mon, 2 Aug 1999 21:53:36 -0400 (EDT) + Message-Id: <199908030153.VAA10542@monk.mps.ohio-state.edu> + Branch: cfgperl + ! Makefile.SH embed.pl global.sym keywords.h lib/warning.pm + ! opcode.h pp.sym pp_proto.h regcomp.c regcomp.h regexec.c + ! regnodes.h warning.h +____________________________________________________________________________ +[ 3907] By: jhi on 1999/08/03 08:11:49 + Log: 5_59 configured with -Dd_bincompat5005 can't be made + binary compatible with a 5_03 which was built with -DEMBEDMYMALLOC. - Title: "Add Porting/p4d2p utility for converting perforce diffs" - From: Gurusamy Sarathy - Msg-ID: <199807200002.UAA21398@aatma.engin.umich.edu> - Files: MANIFEST Porting/p4d2p - Branch: maint-5.004/perl - + Porting/p4d2p - ! MANIFEST embed.h global.sym lib/Getopt/Long.pm mg.c op.h - ! perl.h pp_ctl.c proto.h sv.c t/op/substr.t t/op/vec.t -____________________________________________________________________________ -[ 1578] By: gsar on 1998/07/20 09:38:39 - Log: complete s/foo/PL_foo/ changes (all escaped cases identified with - brute force search script). Result builds and passes all tests on - Solaris. win32 and PERL_OBJECT are still untested. - Branch: perl - ! XSLock.h XSUB.h bytecode.h bytecode.pl byterun.c cc_runtime.h - ! djgpp/djgpp.c embed.pl ext/B/B.xs ext/B/B/Asmdata.pm - ! ext/B/byteperl.c ext/DB_File/DB_File.xs ext/DB_File/typemap - ! ext/DynaLoader/dl_dld.xs ext/DynaLoader/dl_next.xs - ! ext/DynaLoader/dl_vms.xs ext/GDBM_File/typemap ext/IO/IO.xs - ! ext/IPC/SysV/SysV.xs ext/NDBM_File/typemap - ! ext/ODBM_File/ODBM_File.xs ext/ODBM_File/typemap - ! ext/Opcode/Opcode.xs ext/POSIX/POSIX.xs ext/SDBM_File/typemap - ! ext/Thread/Thread.xs ext/attrs/attrs.xs fakethr.h gv.c hv.c - ! lib/ExtUtils/typemap malloc.c mg.c op.c os2/OS2/PrfDB/PrfDB.xs - ! os2/OS2/PrfDB/typemap os2/OS2/REXX/REXX.xs os2/os2.c - ! os2/os2ish.h perl.c perl.h pp.c pp_ctl.c pp_hot.c pp_sys.c - ! regcomp.c regcomp.h regexec.c scope.c scope.h sv.h taint.c - ! toke.c util.c vms/ext/DCLsym/DCLsym.xs vms/ext/Stdio/Stdio.xs - ! vms/vms.c vms/vmsish.h win32/win32.c win32/win32thread.c -____________________________________________________________________________ -[ 1577] By: TimBunce on 1998/07/20 08:28:17 - Log: Title: "Make failed matches return empty list in list context" - From: "Paul E. Maisano" , Gurusamy Sarathy - , Paul Maisano - Msg-ID: <199807200002.UAA21398@aatma.engin.umich.edu>, - <199807200027.KAA27815@ironbark-ridge.aaii.oz.au>, - <35B156FB.504E66E@aaii.oz.au> - Files: pod/perlop.pod pp_hot.c t/op/pat.t - Branch: maint-5.004/perl - ! pod/perlop.pod pp_hot.c t/op/pat.t -____________________________________________________________________________ -[ 1576] By: TimBunce on 1998/07/20 08:11:37 - Log: Title: "win32 update from 5.005 beta 2 for 5.004_05" - From: Gurusamy Sarathy - Msg-ID: <199807192332.TAA20905@aatma.engin.umich.edu> - Files: win32/include/dirent.h win32/include/sys/socket.h proto.h - lib/ExtUtils/Liblist.pm lib/ExtUtils/Mksymlists.pm - win32/win32.h win32/win32iop.h README.win32 installperl - pp_ctl.c win32/Makefile win32/config.bc win32/config.vc - win32/config_H.bc win32/config_H.vc win32/config_h.PL - win32/config_sh.PL win32/dl_win32.xs win32/makedef.pl - win32/makefile.mk win32/pod.mak win32/win32.c - win32/win32sck.c win32/bin/pl2bat.pl - Branch: maint-5.004/perl - ! README.win32 installperl lib/ExtUtils/Liblist.pm - ! lib/ExtUtils/Mksymlists.pm pp_ctl.c proto.h win32/Makefile - ! win32/bin/pl2bat.pl win32/config.bc win32/config.vc - ! win32/config_H.bc win32/config_H.vc win32/config_h.PL - ! win32/config_sh.PL win32/dl_win32.xs win32/include/dirent.h - ! win32/include/sys/socket.h win32/makedef.pl win32/makefile.mk - ! win32/pod.mak win32/win32.c win32/win32.h win32/win32iop.h - ! win32/win32sck.c + From: Spider Boardman + To: perl5-porters@perl.org + Subject: [ID 19990802.016] Not OK: perl 5.00559 + Date: Mon, 2 Aug 1999 16:11:13 -0400 + Message-Id: <199908022011.QAA30224@leggy.zk3.dec.com> + Branch: cfgperl + ! embed.pl +____________________________________________________________________________ +[ 3906] By: jhi on 1999/08/03 07:48:59 + Log: Change #3790 redemption: with a little additional + patch from Ilya it works okay. + Branch: cfgperl + ! ext/SDBM_File/Makefile.PL lib/ExtUtils/MM_Unix.pm + ! lib/ExtUtils/MakeMaker.pm os2/OS2/REXX/Makefile.PL perl.h ____________________________________________________________________________ -[ 1575] By: gsar on 1998/07/20 01:27:14 - Log: integrate ansi branch to get s/foo/PL_foo/ changes +[ 3905] By: gsar on 1999/08/02 21:03:23 + Log: this will be 5.005_60 Branch: perl - +> fixvars - !> (integrate 537 files) + ! Changes + +---------------- +Version 5.005_60 +---------------- + ____________________________________________________________________________ -[ 1574] By: gsar on 1998/07/20 00:33:43 - Log: fix C<$1 .. $2> coredump under debugger +[ 3904] By: gsar on 1999/08/02 20:30:23 + Log: don't enable PERL_POLLUTE_MALLOC when EMBEDMYMALLOC is + in effect (from Spider Boardman ); + regen headers Branch: perl - ! pp_ctl.c + ! embed.h embed.pl global.sym opcode.h perlapi.c ____________________________________________________________________________ -[ 1573] By: gsar on 1998/07/20 00:28:27 - Log: misc win32 config tweaks +[ 3903] By: gsar on 1999/08/02 20:26:07 + Log: native int pack/unpack fixes (from Spider Boardman + ) Branch: perl - ! win32/Makefile win32/config.bc win32/config.gc win32/config.vc - ! win32/config_h.PL win32/makefile.mk + ! pp.c ____________________________________________________________________________ -[ 1572] By: nick on 1998/07/19 19:04:58 - Log: Missed file that had changed - Branch: ansiperl - ! embedvar.h +[ 3902] By: gsar on 1999/08/02 20:24:41 + Log: fix broken -DDEBUGGING_OPS (from Spider Boardman + ) + Branch: perl + + opnames.h + ! Changes MANIFEST opcode.pl perl.h ____________________________________________________________________________ -[ 1571] By: nick on 1998/07/19 18:57:35 - Log: Another threaded, perl malloc issue, x2p's Makefile.SH has a - pattern match... - Branch: ansiperl - ! x2p/Makefile.SH +[ 3901] By: gsar on 1999/08/02 18:51:18 + Log: integrate cfgperl contents + Branch: perl + !> INSTALL README pod/perldelta.pod ____________________________________________________________________________ -[ 1570] By: nick on 1998/07/19 18:16:20 - Log: Drat! - threaded perl-malloc has mutex that needs PL_ - Branch: ansiperl - ! malloc.c perl.h +[ 3900] By: jhi on 1999/08/02 18:46:21 + Log: Update README and INSTALL; partly based on the message + + From: "John L. Allen" + To: Jarkko Hietaniemi + cc: perl5-porters@perl.org + Subject: Re: Perl Installation Problem + Date: Thu, 29 Jul 1999 14:55:05 -0400 (EDT) + Message-ID: + + and private email from Andy Dougherty. + Branch: cfgperl + ! INSTALL README ____________________________________________________________________________ -[ 1569] By: nick on 1998/07/19 17:55:22 - Log: PL_ for perl's malloc - Branch: ansiperl - ! hv.c malloc.c +[ 3899] By: jhi on 1999/08/02 18:36:35 + Log: Integrate with Sarathy. + Branch: cfgperl + !> op.c ____________________________________________________________________________ -[ 1568] By: nick on 1998/07/19 16:23:30 - Log: PL_ minir tidy up - Branch: ansiperl - ! embed.pl ext/Thread/Thread.xs util.c +[ 3898] By: jhi on 1999/08/02 18:34:49 + Log: Update PERL_BINCOMPAT_5005; update 64-bitness. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 1567] By: nick on 1998/07/19 13:21:07 - Log: Add PL_ to merged file - Branch: ansiperl - ! pp_hot.c +[ 3897] By: gsar on 1999/08/02 18:18:37 + Log: optimizations could sometimes bypass bareword check + Branch: perl + ! op.c ____________________________________________________________________________ -[ 1566] By: nick on 1998/07/19 12:38:30 - Log: Merge Mainline - Branch: ansiperl - + fixvars - !> (integrate 29 files) +[ 3896] By: jhi on 1999/08/02 18:18:34 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes makedef.pl patchlevel.h win32/Makefile + !> win32/config_H.bc win32/config_H.gc win32/config_H.vc + !> win32/makefile.mk ____________________________________________________________________________ -[ 1565] By: gsar on 1998/07/19 07:06:54 - Log: tweak pod in MakeMaker.pm - From: Paul Johnson - Date: Sat, 18 Jul 1998 15:58:48 +0100 - Message-ID: <19980718155847.D903@west-tip.transeda.com> - Subject: [PATCH]5.004_75 (DOC) MakeMaker.pm +[ 3895] By: gsar on 1999/08/02 17:22:40 + Log: up patchlevel etc. Branch: perl - ! lib/ExtUtils/MakeMaker.pm + ! Changes patchlevel.h win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makefile.mk ____________________________________________________________________________ -[ 1564] By: gsar on 1998/07/19 07:04:45 - Log: From: Gisle Aas - Date: 17 Jul 1998 22:49:32 +0200 - Message-ID: - Subject: [PATCH _75] sv_gets() did not NUL-terminate SV when reading records +[ 3894] By: gsar on 1999/08/02 17:12:31 + Log: integrate change#3893, make it conditional on bincompat5005 Branch: perl - ! sv.c + ! makedef.pl ____________________________________________________________________________ -[ 1563] By: gsar on 1998/07/19 07:03:32 - Log: update freebsd hints - From: Mik Firestone - Date: Fri, 17 Jul 1998 15:24:26 -0400 (EDT) - Message-Id: <199807171924.AA05297@interlock2.lexmark.com> - Subject: [PATCH 5.005b1] hints/freebsd.sh - Branch: perl - ! hints/freebsd.sh +[ 3893] By: jhi on 1999/08/02 16:49:08 + Log: PERL_BINCOMPAT_5005 symbol translation. + (AIX wouldn't link neither perl nor extensions.) + Branch: cfgperl + ! makedef.pl ____________________________________________________________________________ -[ 1562] By: gsar on 1998/07/19 07:01:33 - Log: From: Mark Bixby - Date: Fri, 17 Jul 1998 10:37:49 -0700 (PDT) - Message-Id: <199807171737.KAA06967@spock.dis.cccd.edu> - Subject: [PATCH 5.005b1] MPE/iX hints and readme tweaks +[ 3892] By: gsar on 1999/08/02 16:09:13 + Log: integrate cfgperl contents into mainline Branch: perl - ! README.mpeix hints/mpeix.sh + +> t/op/64bit.t + ! Changes + !> Configure MANIFEST config_h.SH doio.c dump.c hints/aix.sh op.c + !> pod/perlfunc.pod pp_hot.c pp_sys.c regcomp.c sv.c t/io/open.t + !> t/pragma/utf8.t t/pragma/warn/pp_hot toke.c util.c ____________________________________________________________________________ -[ 1561] By: gsar on 1998/07/19 07:00:19 - Log: From: Norton Allen - Date: Fri, 17 Jul 1998 12:37:27 -0400 (edt) - Message-Id: <199807171637.MAA24830@bottesini.harvard.edu> - Subject: [PATCH: 75] make install fails - Branch: perl - ! Makefile.SH +[ 3891] By: jhi on 1999/08/02 14:52:40 + Log: AIX long long probing requires LL suffix for + the ll constant. The suffix doesn't seem + to bother other ll platforms. + Branch: cfgperl + ! Configure config_h.SH hints/aix.sh + Branch: metaconfig/U/perl + ! quadfio.U ____________________________________________________________________________ -[ 1560] By: gsar on 1998/07/19 06:58:55 - Log: fix flawed substitution-loop detection on zero-length matches - From: Ilya Zakharevich - Date: Fri, 17 Jul 1998 13:55:38 -0400 (EDT) - Message-Id: <199807171755.NAA27720@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Substitution loop in devel branch - Branch: perl - ! pp_hot.c t/op/subst.t +[ 3890] By: jhi on 1999/08/02 14:21:55 + Log: Exact path to perl for open -|. + Branch: cfgperl + ! t/io/open.t ____________________________________________________________________________ -[ 1559] By: gsar on 1998/07/19 06:56:19 - Log: add perltrap entry about "${#a}", as suggested by - andy barfoot - Branch: perl - ! pod/perltrap.pod +[ 3889] By: jhi on 1999/08/02 14:18:03 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes patchlevel.h pod/perlhist.pod pp_ctl.c util.c + !> win32/Makefile win32/config_H.bc win32/config_H.gc + !> win32/config_H.vc win32/makefile.mk win32/win32.c ____________________________________________________________________________ -[ 1558] By: gsar on 1998/07/19 06:43:53 - Log: From: Anton Berezin - Date: Fri, 17 Jul 1998 11:49:30 +0200 (CEST) - Message-Id: <199807170949.LAA18099@lion.plab.ku.dk> - Subject: [PATCH 5.005b1] perlcall.pod SAVETMPS/FREETMPS bracket - Branch: perl - ! pod/perlcall.pod +[ 3888] By: jhi on 1999/08/02 14:14:29 + Log: AIX -Duse64bits: old AIXen do not have the getconf variables. + Branch: cfgperl + ! hints/aix.sh ____________________________________________________________________________ -[ 1557] By: gsar on 1998/07/19 06:40:33 - Log: From: "Art Green" - Date: Thu, 16 Jul 1998 21:37:05 -0500 - Message-ID: <86256644.000E61D4.00@FDLTest1.mercmarine.com> - Subject: [PATCH]:_75 - Update hints/aix.sh for c_r library - Branch: perl - ! hints/aix.sh +[ 3887] By: jhi on 1999/08/02 12:53:10 + Log: Fix some of the {IV_IS_QUAD,UV_IS_QUAD} cases so that + emacs code indentation doesn't get wrong ideas-- + in other words, introduce a couple of "redundant" if:s. + Branch: cfgperl + ! doio.c dump.c op.c pp_hot.c pp_sys.c regcomp.c sv.c toke.c + ! util.c ____________________________________________________________________________ -[ 1556] By: gsar on 1998/07/19 06:38:17 - Log: update README.threads - From: Andy Dougherty - Date: Thu, 16 Jul 1998 11:10:33 -0400 (EDT) - Message-Id: - Subject: Re: Sort of OK: 5.005-beta1 and threads on ppc-powerux-threads - Branch: perl - ! README.threads +[ 3886] By: jhi on 1999/08/02 12:43:16 + Log: Mention that also *BSD systems with glibc are known to stumble. + Branch: cfgperl + ! t/pragma/warn/pp_hot ____________________________________________________________________________ -[ 1555] By: gsar on 1998/07/19 06:36:32 - Log: From: Scott Henry - Date: 15 Jul 1998 20:23:02 -0700 - Message-ID: - Subject: [PATCH 5.005-beta1] update hints/irix_6.sh - Branch: perl - ! hints/irix_6.sh +[ 3885] By: jhi on 1999/08/02 12:34:15 + Log: Allow also non-long long but still quad platforms print quads. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! longdblfio.U quadfio.U ____________________________________________________________________________ -[ 1554] By: gsar on 1998/07/19 06:35:10 - Log: From: Spider Boardman - Date: Wed, 15 Jul 1998 16:56:48 -0400 - Message-Id: <199807152056.QAA369057@web.zk3.dec.com> - Subject: [PATCH _75] dec_osf hints still wrong - Branch: perl - ! hints/dec_osf.sh +[ 3884] By: jhi on 1999/08/02 11:56:14 + Log: Fix regclass utf8 hex ranges for quads. + Branch: cfgperl + ! regcomp.c ____________________________________________________________________________ -[ 1553] By: gsar on 1998/07/19 06:33:29 - Log: tweak hpux hints in vain attempt to get cppstdin set properly - From: Andy Dougherty - Date: Wed, 15 Jul 1998 16:11:43 -0400 (EDT) - Subject: Re: HP-UX 11, perl 5.004_04, Oracle 7.3.3.4, DBI 0.93 - Message-Id: - -- - From: Andy Dougherty - Date: Thu, 16 Jul 1998 11:37:58 -0400 (EDT) - Subject: Re: Configure misses preprocessor on HP-UX - Message-Id: - Branch: perl - ! hints/hpux.sh +[ 3883] By: jhi on 1999/08/02 11:42:14 + Log: Enhance the description of how to detect quad support. + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1552] By: gsar on 1998/07/19 06:26:24 - Log: From: Tye McQueen - Date: Wed, 15 Jul 1998 13:46:44 -0500 (CDT) - Message-Id: <199807151846.AA12653@metronet.com> - Subject: Minor debugger fix - Branch: perl - ! lib/perl5db.pl +[ 3882] By: jhi on 1999/08/02 11:22:19 + Log: Fix printf %D %U %O for quads. + Branch: cfgperl + ! sv.c t/op/64bit.t ____________________________________________________________________________ -[ 1551] By: gsar on 1998/07/19 06:25:05 - Log: From: Andy Dougherty - Date: Wed, 15 Jul 1998 14:23:39 -0400 (EDT) - Message-Id: - Subject: Re: Configure s?rand support [PATCH 5.004_75] -- better patch - Branch: perl - ! INSTALL pp.c +[ 3881] By: jhi on 1999/08/02 11:16:12 + Log: Document quad printing. + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1550] By: gsar on 1998/07/19 06:23:10 - Log: minor re.pm cleanup - From: "M.J.T. Guy" - Date: Wed, 15 Jul 1998 12:41:14 +0100 - Message-Id: - Subject: Re: [PATCH 5.004_74]Don't use tainted REs in Basename.pm when building perl - Branch: perl - ! ext/re/re.pm pod/perldiag.pod +[ 3880] By: jhi on 1999/08/02 10:32:01 + Log: More 64-bit fixing. One known bug of that kind + remains, 32-bit platforms using long long in + the test t/pragma/utf8 subtests 1-3 fail. + (Update: change #3884 fixed that one.) + Branch: cfgperl + + t/op/64bit.t + ! Configure MANIFEST config_h.SH regcomp.c sv.c t/pragma/utf8.t + +---------------- +Version 5.005_59 +---------------- + ____________________________________________________________________________ -[ 1549] By: gsar on 1998/07/19 06:20:49 - Log: export additional symbols on OS/2 - From: Ilya Zakharevich - Date: Wed, 15 Jul 1998 06:13:07 -0400 (EDT) - Message-Id: <199807151013.GAA11279@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Export more symbols from Perl DLL +[ 3879] By: gsar on 1999/08/02 08:18:58 + Log: integrate cfgperl changes into mainline Branch: perl - ! os2/os2.sym + !> Configure config_h.SH sv.c ____________________________________________________________________________ -[ 1548] By: gsar on 1998/07/19 06:18:58 - Log: From: Ilya Zakharevich - Date: Wed, 15 Jul 1998 06:10:36 -0400 (EDT) - Message-Id: <199807151010.GAA11270@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Minor improvements to perlcc +[ 3878] By: gsar on 1999/08/02 08:13:16 + Log: change#3692 had an unintentional patch leak through! + (this would explain the mysterious C failures + people have seen) Branch: perl - ! utils/perlcc.PL + ! pp_ctl.c ____________________________________________________________________________ -[ 1547] By: gsar on 1998/07/19 06:17:22 - Log: applied slightly tweaked version of patch - From: Ilya Zakharevich - Date: Thu, 16 Jul 1998 15:49:15 -0400 (EDT) - Message-Id: <199807161949.PAA08214@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Updated patch to Test::Harness +[ 3877] By: gsar on 1999/08/02 08:00:29 + Log: up patchlevel to 59 Branch: perl - ! lib/Test/Harness.pm + ! Changes patchlevel.h pod/perlhist.pod win32/Makefile + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + ! win32/makefile.mk ____________________________________________________________________________ -[ 1546] By: gsar on 1998/07/19 06:11:03 - Log: improve 'frame' handling in debugger - From: Ilya Zakharevich - Date: Wed, 15 Jul 1998 00:52:10 -0400 (EDT) - Message-Id: <199807150452.AAA06685@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Better debugger trace +[ 3876] By: gsar on 1999/08/02 07:51:18 + Log: fix coredump under usethreads+debug Branch: perl - ! lib/perl5db.pl + ! util.c ____________________________________________________________________________ -[ 1545] By: gsar on 1998/07/19 06:07:51 - Log: fix and test handling of literal newlines in heredocs - From: Gisle Aas - Date: 17 Jul 1998 14:58:25 +0200 - Message-ID: - Subject: Re: [PATCH _71] CRs et al - -- - From: larry@wall.org (Larry Wall) - Date: Fri, 17 Jul 1998 09:32:35 -0700 - Message-Id: <199807171632.JAA12959@wall.org> - Subject: Re: [PATCH _71] CRs et al - Branch: perl - ! t/comp/multiline.t toke.c +[ 3875] By: jhi on 1999/08/02 07:50:51 + Log: d_bincompat5005 could be left empty. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! bincompat5005.U ____________________________________________________________________________ -[ 1544] By: gsar on 1998/07/19 06:00:12 - Log: remove possibly unwritable lib/re.pm before overwrite - From: larry@wall.org (Larry Wall) - Date: Wed, 15 Jul 1998 14:26:03 -0700 - Message-Id: <199807152126.OAA04623@wall.org> - Subject: Re: bug encountered building perl5.005beta1 +[ 3874] By: jhi on 1999/08/02 07:42:45 + Log: Fix printf %d when IV is quad. + Branch: cfgperl + ! sv.c +____________________________________________________________________________ +[ 3873] By: gsar on 1999/08/02 07:41:03 + Log: fix d_bincompat5005='' junking config.h Branch: perl - ! Makefile.SH + ! Configure ____________________________________________________________________________ -[ 1543] By: gsar on 1998/07/19 05:56:18 - Log: unsubmitted Changes tweak +[ 3872] By: gsar on 1999/08/02 07:38:48 + Log: C needs parameter list, not merely type Branch: perl - ! Changes cygwin32/ld2 + ! win32/win32.c +____________________________________________________________________________ +[ 3871] By: jhi on 1999/08/02 07:20:51 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes ext/B/B/C.pm ext/B/B/CC.pm regexec.c ____________________________________________________________________________ -[ 1542] By: gsar on 1998/07/19 01:21:22 - Log: make failed matches return empty list in list context +[ 3870] By: gsar on 1999/08/02 07:12:18 + Log: integrate cfgperl changes into mainline Branch: perl - ! pod/perlop.pod pp_hot.c t/op/pat.t + ! Changes + !> Configure Makefile.SH Porting/Glossary Porting/config.sh + !> Porting/config_H config_h.SH doio.c dump.c mg.c op.c perl.h + !> pp_ctl.c pp_hot.c pp_sys.c scope.c sv.c t/pragma/warn/sv + !> toke.c util.c ____________________________________________________________________________ -[ 1541] By: gsar on 1998/07/18 22:27:59 - Log: remove obsolete perltrap about m//g's pos() reset behavior +[ 3869] By: gsar on 1999/08/02 06:59:09 + Log: From: "Vishal Bhatia" + Date: Sat, 31 Jul 1999 19:08:33 -0700 + Message-ID: + Subject: [PATCH 5.005_58] "use constant" in the compiler Branch: perl - ! pod/perltrap.pod + ! ext/B/B/C.pm ext/B/B/CC.pm ____________________________________________________________________________ -[ 1540] By: nick on 1998/07/18 22:16:26 - Log: PL_ stuff passes non-threaded on Mingw32 - (Why did it compile without this fix?) - Branch: ansiperl - ! pp_sys.c +[ 3868] By: gsar on 1999/08/02 06:55:51 + Log: debug build tweak + Branch: perl + ! regexec.c ____________________________________________________________________________ -[ 1539] By: TimBunce on 1998/07/18 22:04:58 - Log: Assorted patches: - - Title: "Minor fixes to MakeMaker docs re ExtUtils::Embed" - From: Paul Johnson - Msg-ID: <19980718155847.D903@west-tip.transeda.com> - Files: lib/ExtUtils/MakeMaker.pm - - Title: "Update t/op/array.t (from 5.005 beta 1)" - Files: t/op/array.t - Branch: maint-5.004/perl - ! lib/ExtUtils/MakeMaker.pm t/op/array.t -____________________________________________________________________________ -[ 1538] By: TimBunce on 1998/07/18 21:57:50 - Log: Title: "Remove flawed '// with parens or $&' performance patch (Change 662)" - From: "M.J.T. Guy" , Tim Bunce , - larry@wall.org (Larry Wall) - Msg-ID: <19980717015308.E6244@ig.co.uk>, <199807171819.LAA13771@wall.org>, - - Files: cop.h embed.h perl.h proto.h regexp.h gv.c interp.sym perl.c pp.c - pp_ctl.c pp_hot.c regexec.c scope.c - Branch: maint-5.004/perl - ! cop.h embed.h gv.c interp.sym perl.c perl.h pp.c pp_ctl.c - ! pp_hot.c proto.h regexec.c regexp.h scope.c +[ 3867] By: gsar on 1999/08/02 06:35:18 + Log: create vmsperl branch (to be owned and operated by: cbailey) + Branch: vmsperl + +> (branch 1476 files) ____________________________________________________________________________ -[ 1537] By: nick on 1998/07/18 20:56:58 - Log: PL_ scheme Builds under Minw32 - some SEGFAULT snags - Branch: ansiperl - ! doio.c mg.c perl.c pp_hot.c pp_sys.c util.c win32/perllib.c - ! win32/win32.c win32/win32.h +[ 3866] By: jhi on 1999/08/01 23:34:40 + Log: so_locations once is enough. + Branch: cfgperl + ! Makefile.SH ____________________________________________________________________________ -[ 1536] By: nick on 1998/07/18 20:50:26 - Log: Merge latest mainline - Branch: ansiperl - ! patchlevel.h - !> ext/Thread/Thread.xs op.h util.c +[ 3865] By: jhi on 1999/08/01 23:13:05 + Log: Simplicate duplicated code. + Branch: cfgperl + ! util.c ____________________________________________________________________________ -[ 1535] By: nick on 1998/07/18 16:45:29 - Log: Edited "behind my back" ... - Branch: ansiperl - ! vms/perly_c.vms +[ 3864] By: jhi on 1999/08/01 22:41:41 + Log: Integrate with Sarathy. perl.h and util.c required manual resolving. + Branch: cfgperl + +> README.cygwin cygwin/Makefile.SHs cygwin/ld2.in + +> cygwin/perlld.in ext/DynaLoader/dl_cygwin.xs hints/cygwin.sh + - README.cygwin32 cygwin32/Makefile.SHs + - cygwin32/build-instructions.READFIRST + - cygwin32/build-instructions.charles-wilson + - cygwin32/build-instructions.sebastien-barre + - cygwin32/build-instructions.steven-morlock + - cygwin32/build-instructions.steven-morlock2 cygwin32/ld2.in + - cygwin32/perlld.in ext/DynaLoader/dl_cygwin32.xs + - hints/cygwin32.sh + !> (integrate 61 files) +____________________________________________________________________________ +[ 3863] By: jhi on 1999/08/01 22:36:02 + Log: Regen Configure and Glossary once again. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ____________________________________________________________________________ -[ 1534] By: nick on 1998/07/18 16:38:27 - Log: PL_ stuff for threads - Branch: ansiperl - ! byterun.c cop.h deb.c doio.c doop.c embed.pl embedvar.h - ! ext/B/B.xs ext/Thread/Thread.xs gv.c intrpvar.h mg.c - ! miniperlmain.c op.c op.h perl.c perl.h perly.y pp.c pp.h - ! pp_ctl.c pp_hot.c pp_sys.c regexec.c run.c scope.c sv.c sv.h - ! thread.h toke.c util.c win32/perllib.c -____________________________________________________________________________ -[ 1533] By: nick on 1998/07/18 14:30:54 - Log: Builds and passes tests with -DMULTIPLICITY and -DCRIPPLED_CC - (still with PERL_GLOBAL_STRUCT) - to cover more #if branches - Branch: ansiperl - ! embed.pl intrpvar.h perl.c toke.c +[ 3862] By: jhi on 1999/08/01 22:26:09 + Log: Glossary update for #3861. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 3861] By: jhi on 1999/08/01 22:22:51 + Log: 64-bit work. Now 32-bit platforms get a 100% make test + with -Duse64bits (using long long). + Tested in Solaris 2.6 sparc RH Linux 6.0 x86 + (and Digital IX 4.0D, to get a true 64-bit opinion). Now e.g. + 'print unpack "q", pack "q", 12345678901' + should work on such 32-bit platforms. + Still a lot of printf()s behind -D which wrongly assume + that %ld/%lx and (long) are a good combination. + Introducing a slew of new macros intended to be used in printf() + format strings: e. g. PERL_PRId64 is the string to be used + when printing an IV, printf("%" PERL_PRId64 "\n", iv). + The PRI... naming follows the C9X naming of macros. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doio.c dump.c mg.c op.c perl.h pp_ctl.c pp_hot.c + ! pp_sys.c scope.c sv.c t/pragma/warn/sv toke.c util.c + Branch: metaconfig/U/perl + + atolf.U atoll.U longdblfio.U quadfio.U strtoull.U ____________________________________________________________________________ -[ 1532] By: nick on 1998/07/18 13:53:03 - Log: PL_ prefix to all perlvars, part1 - Builds and passes all tests at one limit i.e. -DPERL_GLOBAL_STRUCT - Branch: ansiperl - ! XSUB.h av.c bytecode.h byterun.c byterun.h cop.h deb.c doio.c - ! doop.c dump.c embed.h embed.pl embedvar.h ext/B/B.xs - ! ext/Data/Dumper/Dumper.xs ext/DynaLoader/dl_next.xs - ! ext/ODBM_File/ODBM_File.xs ext/Opcode/Opcode.xs - ! ext/POSIX/POSIX.xs ext/Socket/Socket.xs ext/attrs/attrs.xs - ! ext/re/re.xs gv.c hv.c hv.h lib/ExtUtils/typemap - ! lib/ExtUtils/xsubpp mg.c miniperlmain.c op.c perl.c perl.h - ! perly.c perly.y pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c regcomp.c - ! regcomp.h regexec.c run.c scope.c scope.h sv.c sv.h taint.c - ! thrdvar.h toke.c universal.c util.c -____________________________________________________________________________ -[ 1531] By: gsar on 1998/07/18 08:48:13 - Log: fix yet another USE_THREADS leak due to failure to free stacks - Branch: perl - ! ext/Thread/Thread.xs util.c -____________________________________________________________________________ -[ 1530] By: gsar on 1998/07/18 08:46:58 - Log: fix major bug in GIMME (introduced in 5.003_96); void contexts were - using the context of the enclosing sub! +[ 3860] By: gsar on 1999/08/01 21:23:18 + Log: integrate cfgperl contents into mainline Branch: perl - ! op.h + ! toke.c + !> (integrate 29 files) ____________________________________________________________________________ -[ 1529] By: nick on 1998/07/18 08:18:03 - Log: Integrate post-beta tweaks to ansiperl - Branch: ansiperl - !> ObjXSub.h embed.h ext/Thread/Thread.xs global.sym gv.c mg.c - !> objpp.h op.c perl.c perl.h pp_sys.c proto.h sv.c t/op/substr.t - !> t/op/vec.t toke.c util.c -____________________________________________________________________________ -[ 1528] By: gsar on 1998/07/18 04:23:12 - Log: fix lvalue leaks stemming from failure to free LvTARG(sv) +[ 3859] By: gsar on 1999/08/01 21:13:09 + Log: From: Nathan Torkington + Date: Sun, 1 Aug 1999 11:23:35 -0600 (MDT) + Message-ID: <14244.33431.739419.806927@localhost.frii.com> + Subject: [PATCH 5.005_58] ext/B/B/Disassembler.pm patch Branch: perl - ! ObjXSub.h embed.h global.sym mg.c objpp.h perl.h proto.h sv.c - ! t/op/substr.t t/op/vec.t + ! ext/B/B/Disassembler.pm ____________________________________________________________________________ -[ 1527] By: gsar on 1998/07/18 02:16:40 - Log: check ferror() only if read() returned 0 +[ 3858] By: gsar on 1999/08/01 21:09:15 + Log: DB_File 1.68 update from Paul Marquess Branch: perl - ! pp_sys.c + ! ext/DB_File/Changes ext/DB_File/DB_File.pm + ! ext/DB_File/DB_File.xs t/lib/db-btree.t t/lib/db-hash.t + ! t/lib/db-recno.t ____________________________________________________________________________ -[ 1526] By: gsar on 1998/07/18 02:08:01 - Log: fix another CvMUTEXP() leak +[ 3857] By: gsar on 1999/08/01 21:05:54 + Log: From: Ilya Zakharevich + Date: Sat, 31 Jul 1999 05:13:38 -0400 + Message-Id: <199907311407.IAA25038@localhost.frii.com> + Subject: [PATCH 5.005_58] More optimizations to REx engine Branch: perl - ! gv.c + ! embed.pl embedvar.h ext/Thread/Thread.xs objXSUB.h perl.c + ! perl.h proto.h regcomp.c regexec.c t/op/re_tests thrdvar.h ____________________________________________________________________________ -[ 1525] By: TimBunce on 1998/07/18 01:51:52 - Log: Assorted patches: - - Title: "Fix @a=@a=qw(...) properly" - From: Stephen McCamant - Msg-ID: <13742.49404.367751.437966@alias-2.pr.mcs.net> - Files: opcode.h - - Title: "Larry's patch to support CR LF in scripts (updated)" - From: Gisle Aas , larry@wall.org (Larry Wall) - Msg-ID: <199807120054.RAA19550@wall.org>, - Files: t/comp/multiline.t toke.c - - Title: "Change getc() docs to match behaviour. Make read() return undef on - error." - From: Gurusamy Sarathy - Msg-ID: <199807052257.SAA10004@aatma.engin.umich.edu> - Files: pod/perlfunc.pod pp_sys.c - - Title: "Update patchls utility" - Files: Porting/patchls - Branch: maint-5.004/perl - ! Porting/patchls opcode.h pod/perlfunc.pod pp_sys.c - ! t/comp/multiline.t toke.c +[ 3856] By: gsar on 1999/08/01 20:59:59 + Log: slightly modified version of suggested patch + From: Ilya Zakharevich + Date: Sat, 31 Jul 1999 04:45:12 -0400 + Message-Id: <199907311406.IAA25034@localhost.frii.com> + Subject: [PATCH 5.005_58] Fix OS/2 build + Branch: perl + ! Makefile.SH lib/ExtUtils/MM_OS2.pm lib/ExtUtils/Mksymlists.pm + ! makedef.pl os2/Makefile.SHs os2/diff.configure perl.h sv.h +____________________________________________________________________________ +[ 3855] By: gsar on 1999/08/01 20:49:06 + Log: cygwin update + From: "Fifer, Eric" + Date: Fri, 30 Jul 1999 18:31:48 +0100 + Message-Id: <71E287AB0D94D111BBD600600849EC8185EE06@POST> + Subject: [ID 19990730.003] PATCH] perl5.005_58 cygwin port + Branch: perl + ! doio.c dosish.h lib/File/Spec/Unix.pm mg.c perl.h perlsdio.h + ! pp_sys.c unixish.h util.c +____________________________________________________________________________ +[ 3854] By: gsar on 1999/08/01 20:41:53 + Log: fixes from Stephen McCamant that address bugs in change#3612 + (the optimization shouldn't be enabled in expressions where + the variable is introduced), and fix Deparse to grok the + optimization + Date: Thu, 29 Jul 1999 21:21:49 -0500 (CDT) + Message-ID: <14241.3133.979257.953396@alias-2.pr.mcs.net> + Subject: [PATCH _58] Set OPpTARGET_MY more consistently + -- + Date: Thu, 29 Jul 1999 22:31:16 -0500 (CDT) + Message-ID: <14241.7300.181386.763503@alias-2.pr.mcs.net> + Subject: [PATCH _58] Disable TARGET_MY-ization on variable introduction + -- + Date: Fri, 30 Jul 1999 22:25:27 -0500 (CDT) + Message-Id: <199907310326.VAA24376@localhost.frii.com> + Subject: [PATCH _58, long] B::Deparse (was Re: New warning 'Useless use of...') + Branch: perl + ! ext/B/B/Deparse.pm op.c +____________________________________________________________________________ +[ 3853] By: gsar on 1999/08/01 20:31:32 + Log: From: Stephen McCamant + Date: Thu, 29 Jul 1999 14:08:50 -0500 (CDT) + Message-ID: <14240.42690.292893.605292@alias-2.pr.mcs.net> + Subject: [PATCH _58] Two one-liner LOGOP tweaks + Branch: perl + ! op.c opcode.h opcode.pl +____________________________________________________________________________ +[ 3852] By: gsar on 1999/08/01 20:29:17 + Log: rename cygwin32 to cygwin (from Eric Fifer ) + Branch: perl + ! AUTHORS EXTERN.h INSTALL MAINTAIN Makefile.SH Porting/patchls + ! README.cygwin README.win32 XSUB.h cygwin/Makefile.SHs + ! ext/DynaLoader/dl_cygwin.xs ext/POSIX/POSIX.xs + ! ext/SDBM_File/sdbm/pair.c hints/cygwin.sh + ! lib/ExtUtils/MM_Cygwin.pm makedepend.SH perl.h pod/perl.pod + ! pod/perlport.pod pp_sys.c util.c +____________________________________________________________________________ +[ 3851] By: gsar on 1999/08/01 20:20:05 + Log: move files around for s/cygwin32/cygwin/ renaming + Branch: perl + +> README.cygwin cygwin/Makefile.SHs cygwin/ld2.in + +> cygwin/perlld.in ext/DynaLoader/dl_cygwin.xs hints/cygwin.sh + - README.cygwin32 cygwin32/Makefile.SHs + - cygwin32/build-instructions.READFIRST + - cygwin32/build-instructions.charles-wilson + - cygwin32/build-instructions.sebastien-barre + - cygwin32/build-instructions.steven-morlock + - cygwin32/build-instructions.steven-morlock2 cygwin32/ld2.in + - cygwin32/perlld.in ext/DynaLoader/dl_cygwin32.xs + - hints/cygwin32.sh + ! MANIFEST +____________________________________________________________________________ +[ 3850] By: gsar on 1999/08/01 20:05:14 + Log: posix-bc hints tweak (via private mail from Thomas Dorner + ) + Branch: perl + ! Changes hints/posix-bc.sh +____________________________________________________________________________ +[ 3849] By: gsar on 1999/08/01 19:50:20 + Log: notes on PERL_IMPLICIT_CONTEXT (from a version by Nathan Torkington + ) + Branch: perl + ! perl.h pod/perldelta.pod pod/perlguts.pod +____________________________________________________________________________ +[ 3848] By: gsar on 1999/08/01 18:34:41 + Log: fix defined(@foo) encarpments + Branch: perl + ! ext/B/B/C.pm lib/CGI.pm lib/Dumpvalue.pm lib/dumpvar.pl + ! pod/perltrap.pod +____________________________________________________________________________ +[ 3847] By: jhi on 1999/08/01 17:17:07 + Log: Undo #3790 and the patches that attempted to fix it + (#3837, #3838, #3845). The #3790 caused linkage failures + and/or core dumps in Solaris 2.6, Digital UNIX 4.0D, and + IRIX 6.5. + Branch: cfgperl + - ext/SDBM_File/hints/dec_osf.pl ext/SDBM_File/hints/solaris.pl + ! MANIFEST ext/SDBM_File/Makefile.PL lib/ExtUtils/MM_Unix.pm + ! lib/ExtUtils/MakeMaker.pm os2/OS2/REXX/Makefile.PL perl.h ____________________________________________________________________________ -[ 1524] By: gsar on 1998/07/18 01:22:35 - Log: fix CvMUTEXP() leaks with -Dusethreads - Branch: perl - ! op.c toke.c +[ 3846] By: jhi on 1999/08/01 11:41:52 + Log: Reading 64-bit decimal numbers was broken because + the NV was cast to an I32, not an IV. + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 3845] By: jhi on 1999/08/01 11:00:24 + Log: Solaris doesn't like PERL_MALLOC_OK in SDBM_File. + Branch: cfgperl + + ext/SDBM_File/hints/solaris.pl +____________________________________________________________________________ +[ 3844] By: jhi on 1999/08/01 10:55:44 + Log: Enable Solaris largefiles support only if -Duse64bits is used. + (Effectively removes #3311). + Branch: cfgperl + ! hints/solaris_2.sh +____________________________________________________________________________ +[ 3843] By: jhi on 1999/07/31 22:44:56 + Log: Integer overflow iteration. + Branch: cfgperl + ! t/op/oct.t toke.c util.c +____________________________________________________________________________ +[ 3842] By: jhi on 1999/07/31 22:11:03 + Log: Remove a lot of unused regnode codes. + Noticed by Ilya. + Branch: cfgperl + ! regcomp.c regcomp.sym regexec.c regnodes.h +____________________________________________________________________________ +[ 3841] By: jhi on 1999/07/31 21:53:54 + Log: Make the use64bits and usethreads friendlier/braver; + they no more wimp out if the platform is unknown. + On use64bits if gcc used -DUSE_LONG_LONG is added + to the ccflags (this dependency on gcc caused a slightly weird + reordering of Configure, but things still seem to work.) + Branch: cfgperl + ! Configure README.threads config_h.SH + Branch: metaconfig + ! U/threads/usethreads.U + Branch: metaconfig/U/perl + ! use64bits.U +____________________________________________________________________________ +[ 3840] By: jhi on 1999/07/31 20:26:22 + Log: Hack the "integer overflow" code some more. + Branch: cfgperl + ! perl.h toke.c util.c +____________________________________________________________________________ +[ 3839] By: jhi on 1999/07/31 20:22:00 + Log: Test oct() at the 2^32-1 limit. + Branch: cfgperl + ! t/op/oct.t +____________________________________________________________________________ +[ 3838] By: jhi on 1999/07/31 20:08:43 + Log: Update MANIFEST for #3837. + Branch: cfgperl + ! MANIFEST ____________________________________________________________________________ -[ 1523] By: gsar on 1998/07/18 01:17:28 - Log: fix $/ init for multiple interpreters/threads - Branch: perl - ! ext/Thread/Thread.xs perl.c util.c +[ 3837] By: jhi on 1999/07/31 20:02:40 + Log: Digital UNIX 4.0D doesn't like perl malloc on sdbm + (a core dump with a corrput stack ensues). + Branch: cfgperl + + ext/SDBM_File/hints/dec_osf.pl ____________________________________________________________________________ -[ 1522] By: gsar on 1998/07/18 01:11:07 - Log: fix missing init that caused RE alternations to fail under - -Dusethreads - Branch: perl - ! util.c +[ 3836] By: jhi on 1999/07/29 21:09:01 + Log: Allow for Configure -Ubincompat5005 override. + Branch: cfgperl + ! Configure config_h.SH + Branch: metaconfig/U/perl + ! bincompat5005.U ____________________________________________________________________________ -[ 1521] By: TimBunce on 1998/07/16 22:23:25 - Log: Assorted patches: - - Title: "Allow $SIG{CHLD}='IGNORE' to work (reap zombies) on Solaris" - From: Albert Dvornik , Chip Salzenberg - Msg-ID: <19980708181055.A8005@perlsupport.com>, - - Files: util.c - - Title: "Document perltrap on precedence of keys/values/each" - From: Gurusamy Sarathy - Msg-ID: <199807151857.OAA04704@aatma.engin.umich.edu> - Files: pod/perltrap.pod - - Title: "perlbook.pod patch" - From: Tom Christiansen - Msg-ID: <199807140037.SAA04556@chthon.perl.com> - Files: pod/perlbook.pod - - Title: "perlmod.pod patch" - From: Tom Christiansen - Msg-ID: <199807140109.TAA04678@chthon.perl.com> - Files: pod/perlmod.pod - - Title: "Fix bug in IO::Handle->input_record_separator" - From: Robin Barker , Swen Thuemmler - - Msg-ID: <199807161400.PAA25532@tempest.cise.npl.co.uk>, - - Files: ext/IO/lib/IO/Handle.pm - - Title: "update h2ph, Math::Complex and Math::Trig (from 5.005 beta 1)" - Files: lib/Math/Complex.pm lib/Math/Trig.pm t/lib/complex.t t/lib/h2ph.t - t/lib/trig.t utils/h2ph.PL - - Title: "Update hints/irix_6.sh" - From: Scott Henry - Msg-ID: - Files: hints/irix_6.sh - - Title: "Configure misses preprocessor on HP-UX (further fix)" - From: Andy Dougherty - Msg-ID: - Files: hints/hpux.sh - - Title: "update perlbug to v1.26 (from 5.005 beta 1)" - Files: utils/perlbug.PL - Branch: maint-5.004/perl - ! ext/IO/lib/IO/Handle.pm hints/hpux.sh hints/irix_6.sh - ! lib/Math/Complex.pm lib/Math/Trig.pm pod/perlbook.pod - ! pod/perlmod.pod pod/perltrap.pod t/lib/complex.t t/lib/h2ph.t - ! t/lib/trig.t util.c utils/h2ph.PL utils/perlbug.PL +[ 3835] By: jhi on 1999/07/29 21:04:02 + Log: Make Configure support PERL_BINCOMPAT_5005. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH + Branch: metaconfig/U/perl + + bincompat5005.U ____________________________________________________________________________ -[ 1520] By: TimBunce on 1998/07/15 21:24:12 - Log: Assorted patches: - - Title: "Add stub attrs.pm" - From: Graham Barr , Gurusamy Sarathy - Msg-ID: <19980713163312.A18222@asic.sc.ti.com>, - <199807132140.RAA09583@aatma.engin.umich.edu> - Files: MANIFEST lib/attrs.pm - - Title: "Fix @a=@a=qw(...)" - From: Gurusamy Sarathy , Stephen McCamant - - Msg-ID: <13737.12300.950886.821143@alias-2.pr.mcs.net>, - <199807122351.TAA05649@aatma.engin.umich.edu> - Files: op.c opcode.pl t/op/array.t - - Title: "Fix 'PERL_DESTRUCT_LEVEL=2 ./perl -DD -e 1' loop" - From: Gisle Aas , Stephen McCamant - Msg-ID: <13739.55551.205810.338648@alias-2.pr.mcs.net>, - - Files: sv.c - - Title: "Make Power MachTen use vfork() and system malloc()" - From: Dominic Dunlop , Jarkko Hietaniemi - Msg-ID: - Files: hints/machten.sh malloc.c - - Title: "Use REG_INFTY in place of hardwired constant" - From: Dominic Dunlop - Msg-ID: - Files: regcomp.h regcomp.c regexec.c - - Title: "Minor debugger fix (history adds an extra newline)" - From: Tye McQueen - Msg-ID: <199807151846.AA12653@metronet.com> - Files: lib/perl5db.pl - - Title: "Protect Term::ReadLine against non-default $/ value" - From: Ilya Zakharevich , - kstar@chapin.edu@ig.co.uk () - Msg-ID: <19980713151749.G8596@O2.chapin.edu>, - <199807132139.RAA11270@monk.mps.ohio-state.edu> - Files: lib/Term/ReadLine.pm - - Title: "Fix HP-UX 11 build (cppstdin)" - From: Andy Dougherty - Msg-ID: - Files: Configure hints/hpux.sh - - Title: "VMS filetest operator fixup (SS$_ACCONFLICT)" - From: Dan Sugalski - Msg-ID: <3.0.5.32.19980702135255.00a6ad90@ous.edu> - Files: vms/vms.c - Branch: maint-5.004/perl - + lib/attrs.pm - ! Configure MANIFEST hints/hpux.sh hints/machten.sh - ! lib/Term/ReadLine.pm lib/perl5db.pl malloc.c op.c opcode.pl - ! regcomp.c regcomp.h regexec.c sv.c t/op/array.t vms/vms.c +[ 3834] By: jhi on 1999/07/29 19:25:35 + Log: AIX tweak, need reported by David R. Fravor + Branch: cfgperl + ! Makefile.SH ____________________________________________________________________________ -[ 1519] By: nick on 1998/07/15 18:56:17 - Log: Integrate mainline at beta1 - Branch: ansiperl - +> Porting/p4d2p README.mpeix Todo-5.005 - +> ext/DynaLoader/dl_mpeix.xs ext/re/hints/mpeix.pl - +> mpeix/mpeixish.h mpeix/nm mpeix/relink perly_c.diff - +> pod/perld4.pod pod/perlport.pod t/lib/ipc_sysv.t - - Todo.5.005 lib/Bundle/CPAN.pm perly.c.diff pod/perldelta4.pod - - t/op/ipcmsg.t t/op/ipcsem.t - !> (integrate 167 files) - ----------------- -Version 5.004_75 5.005 Public Beta, Issue 1 ----------------- - +[ 3833] By: jhi on 1999/07/29 14:07:09 + Log: Integrate with Sarathy. I overruled on perldelta + and perldiag. + Branch: cfgperl + !> README.win32 emacs/cperl-mode.el globals.c installperl + !> iperlsys.h makedef.pl perl.h pod/perldelta.pod + !> pod/perldiag.pod pod/perllexwarn.pod toke.c utils/perldoc.PL + !> win32/Makefile win32/bin/pl2bat.pl win32/makefile.mk + !> win32/perllib.c win32/win32.c +____________________________________________________________________________ +[ 3832] By: jhi on 1999/07/29 14:02:50 + Log: Repent and make overly large integerish + constants non-fatal. They are now promoted + to NVs, accompanied by an overflow warning that + is by default on. + Branch: cfgperl + ! embed.pl global.sym pod/perldelta.pod pod/perldiag.pod pp.c + ! proto.h t/op/oct.t t/pragma/warn/6default t/pragma/warn/util + ! toke.c util.c +____________________________________________________________________________ +[ 3831] By: jhi on 1999/07/29 11:40:04 + Log: AIX exhibits different error on failed system(). + Slightly modified patch via private email from + David R. Favor + Branch: cfgperl + ! t/op/exec.t ____________________________________________________________________________ -[ 1518] By: gsar on 1998/07/15 10:01:41 - Log: add stub docs for ext/B, other minor tweaks +[ 3830] By: gsar on 1999/07/29 07:46:11 + Log: cperl-mode.el v4.19 Branch: perl - ! Changes Porting/config_H config_h.SH ext/B/B.pm - ! ext/B/B/Asmdata.pm ext/B/B/Assembler.pm ext/B/B/Bblock.pm - ! ext/B/B/Bytecode.pm ext/B/B/C.pm ext/B/B/CC.pm - ! ext/B/B/Debug.pm ext/B/B/Disassembler.pm ext/B/B/Showlex.pm - ! ext/B/B/Stackobj.pm ext/B/B/Terse.pm ext/B/O.pm sv.c + ! emacs/cperl-mode.el ____________________________________________________________________________ -[ 1517] By: gsar on 1998/07/15 08:27:15 - Log: up patchlevel to 75 (Beta, Issue 1), add podpatch - From: abigail@fnx.com - Date: Wed, 15 Jul 1998 04:03:44 -0400 (EDT) - Message-ID: <19980715080344.21975.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.004_74] pod/perlop.pod +[ 3829] By: gsar on 1999/07/29 07:30:35 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Wed, 28 Jul 1999 22:01:42 +0200 + Message-ID: <37aa5f9b.12941448@smtp1.ibm.net> + Subject: [PATCH 5.005_58] win32/bin/pl2bat.pl doesn't work correctly Branch: perl - ! Changes patchlevel.h pod/perlop.pod win32/Makefile - ! win32/config_H.bc win32/config_H.gc win32/config_H.vc - ! win32/makefile.mk + ! win32/bin/pl2bat.pl ____________________________________________________________________________ -[ 1516] By: gsar on 1998/07/15 08:04:24 - Log: From: abigail@fnx.com - Date: Wed, 15 Jul 1998 03:47:56 EDT - Message-Id: <19980715074756.21868.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.004_74] pod/pod2man.PL Fix use of < inside C<> +[ 3828] By: gsar on 1999/07/29 07:19:27 + Log: tweak previous change for multiple hits Branch: perl - ! pod/pod2man.PL + ! utils/perldoc.PL ____________________________________________________________________________ -[ 1515] By: gsar on 1998/07/15 08:02:14 - Log: From: Ilya Zakharevich - Date: Wed, 15 Jul 1998 03:49:24 EDT - Message-Id: <199807150749.DAA09177@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] Additional targets for OS/2 build +[ 3827] By: gsar on 1999/07/29 07:10:00 + Log: band-aid for perldoc -t broken-ness (the new Pod::Text + really needs a pod2text() compatibility function) Branch: perl - ! os2/Makefile.SHs + ! utils/perldoc.PL ____________________________________________________________________________ -[ 1514] By: gsar on 1998/07/15 07:58:29 - Log: rename some long file names to be 8.3 truncation-safe +[ 3826] By: gsar on 1999/07/29 01:33:46 + Log: minor tweaks to pods and toke.c comments Branch: perl - +> Todo-5.005 perly_c.diff pod/perld4.pod - - Todo.5.005 perly.c.diff pod/perldelta4.pod - ! MANIFEST Porting/pumpkin.pod perly.fixer + ! pod/perldelta.pod pod/perldiag.pod pod/perllexwarn.pod toke.c ____________________________________________________________________________ -[ 1513] By: gsar on 1998/07/15 07:35:29 - Log: minor tweaks to docs on qr// +[ 3825] By: gsar on 1999/07/29 00:12:52 + Log: integrate cfgperl changes into mainline Branch: perl - ! ext/re/re.pm pod/perldelta.pod pod/perlop.pod pod/perlre.pod + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> README.threads config_h.SH ext/IO/lib/IO/Handle.pm + !> ext/IO/lib/IO/Socket.pm ext/IO/lib/IO/Socket/INET.pm + !> ext/POSIX/POSIX.xs lib/ExtUtils/Install.pm perl.h + !> pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod + !> pod/perllexwarn.pod pod/perlre.pod pp.c pp_sys.c + !> t/lib/io_unix.t t/op/oct.t t/pragma/warn/6default + !> t/pragma/warn/util toke.c util.c ____________________________________________________________________________ -[ 1512] By: gsar on 1998/07/15 07:06:02 - Log: applied patch, with tab tweak suggest by Peter Prymmer - From: Dan Sugalski - Date: Tue, 14 Jul 1998 16:41:14 -0700 - Message-Id: <3.0.5.32.19980714164114.00a3e2a0@ous.edu> - Subject: [PATCH 5.004_74]VMS build cleanups - Branch: perl - ! vms/descrip_mms.template +[ 3824] By: jhi on 1999/07/28 21:15:04 + Log: Tiny patch to go over #3820 (via private mail from Lincoln). + Branch: cfgperl + ! ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Socket.pm + ! ext/IO/lib/IO/Socket/INET.pm ____________________________________________________________________________ -[ 1511] By: gsar on 1998/07/15 07:03:33 - Log: allow perlbug -ok when STDIN it not a tty - From: Hugo van der Sanden - Date: Wed, 15 Jul 1998 03:24:56 +0200 - Message-Id: - Subject: Re: [NOT OK] 5.004_74: "make ok" not ok in IRIX 6.2 - Branch: perl - ! utils/perlbug.PL +[ 3823] By: jhi on 1999/07/28 20:29:17 + Log: Continue pack() doc honing. + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1510] By: gsar on 1998/07/15 06:59:43 - Log: From: "Art Green" - Date: Tue, 14 Jul 1998 20:53:48 -0500 - Message-ID: <86256642.0004D7AB.00@FDLTest1.mercmarine.com> - Subject: [PATCH]:_74 - Allow Configure to recognize _AIX41 & _POWER compiler defines - Branch: perl - ! Configure +[ 3822] By: jhi on 1999/07/28 20:17:37 + Log: Enhance pack() doc. + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1509] By: gsar on 1998/07/15 06:57:50 - Log: typecast long vs. IV compares in pp_flip/pp_flop - Branch: perl - ! pp_ctl.c +[ 3821] By: jhi on 1999/07/28 18:34:50 + Log: UNIX Domain Sockets are not implemented under QNX. + + From: Norton Allen + To: perl5-porters@perl.org + Subject: [ID 19990728.010] Patch:t/lib/io_unix.t _58 QNX + Date: Wed, 28 Jul 1999 14:07:16 -0400 (edt) + Message-Id: <199907281807.OAA13167@bottesini.harvard.edu> + Branch: cfgperl + ! t/lib/io_unix.t +____________________________________________________________________________ +[ 3820] By: jhi on 1999/07/28 18:13:37 + Log: IO::* enhancements. + + 1) write() and syswrite() will now accept a single-argument + form of the call, for consistency with Perl's syswrite(). + 2) You can create a TCP-based IO::Socket::INET without forcing + a connect attempt. This allows you to configure its options + (like making it non-blocking) and then call connect() manually. + 3) Fixed a bug that prevented the IO::Socket::protocol() accessor + from ever returning the correct value. + + From: Lincoln Stein + To: Graham Barr + Cc: Lincoln Stein , perl5-porters@perl.org + Subject: Re: patch for IO::* + Date: Wed, 28 Jul 1999 13:55:05 -0400 (EDT) + Message-ID: <14239.17401.330408.145295@formaggio.cshl.org> + Branch: cfgperl + ! ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Socket.pm + ! ext/IO/lib/IO/Socket/INET.pm ____________________________________________________________________________ -[ 1508] By: gsar on 1998/07/15 06:50:49 - Log: don't copy foreach itervar when no external refs exist - From: Gisle Aas - Date: 15 Jul 1998 03:35:25 +0200 - Message-ID: - Subject: Re: Testcase for 1..n closure change +[ 3819] By: gsar on 1999/07/28 18:08:06 + Log: misc PERL_OBJECT tweaks; perlcore.dll is now perl56.dll Branch: perl - ! pp_hot.c + ! README.win32 globals.c installperl iperlsys.h makedef.pl + ! perl.h win32/Makefile win32/makefile.mk win32/perllib.c + ! win32/win32.c ____________________________________________________________________________ -[ 1507] By: gsar on 1998/07/15 06:46:41 - Log: applied patch, regen headers - From: Stephen McCamant - Date: Tue, 14 Jul 1998 19:56:47 -0500 (CDT) - Message-ID: <13739.64763.792570.626015@alias-2.pr.mcs.net> - Subject: B::Deparse update for qr// and regcreset - Branch: perl - ! ext/B/B/Deparse.pm opcode.h opcode.pl +[ 3818] By: jhi on 1999/07/28 17:48:16 + Log: Need to add QNX to the list for DONT_DECLARE_STD. + (The elimination of use of the _() macro apparently triggered + an incompatability with a #define of atof) + + From: Norton Allen + To: perl5-porters@perl.org + Subject: [ID 19990728.008] Patch:perl.h _58 QNX + Date: Wed, 28 Jul 1999 13:06:23 -0400 (edt) + Message-Id: <199907281706.NAA07617@bottesini.harvard.edu> + Branch: cfgperl + ! perl.h ____________________________________________________________________________ -[ 1506] By: gsar on 1998/07/15 06:43:04 - Log: make pregcomp et al VIRTUAL again for PERL_OBJECT - From: "Douglas Lankshear" - Date: Tue, 14 Jul 1998 16:40:30 -0700 - Message-ID: <000301bdaf80$c93d14a0$a32fa8c0@tau.Active> - Subject: [PATCH 5.004_74] - Branch: perl - ! proto.h +[ 3817] By: jhi on 1999/07/28 17:46:30 + Log: Need to add some more conditions to deal with the case + defined(HAS_GETSPNAM) && ! defined(HAS_GETSPENT) + which is true for QNX4. + From: Norton Allen + To: perl5-porters@perl.org + Subject: [ID 19990728.009] Patch:pp_sys.c _58 QNX + Date: Wed, 28 Jul 1999 13:08:42 -0400 (edt) + Message-Id: <199907281708.NAA07947@bottesini.harvard.edu> + Branch: cfgperl + ! pp_sys.c ____________________________________________________________________________ -[ 1505] By: gsar on 1998/07/15 06:41:43 - Log: dont use sv_dump() in -DD diagnostic - From: Gisle Aas - Date: 14 Jul 1998 23:55:36 +0200 - Message-ID: - Subject: [PATCH] Fix 'PERL_DESTRUCT_LEVEL=2 ./perl -DD -e 1' loop - Branch: perl - ! sv.c +[ 3816] By: jhi on 1999/07/28 17:43:40 + Log: The QNX shell needs a couple more semicolons. + + From: Norton Allen + To: perl5-porters@perl.org + Subject: [ID 19990728.007] Patch:Configure _58 QNX + Date: Wed, 28 Jul 1999 13:03:00 -0400 (edt) + Message-Id: <199907281703.NAA07363@bottesini.harvard.edu> + + plus silence metalint moanings on vendorprefix. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ____________________________________________________________________________ -[ 1504] By: gsar on 1998/07/15 06:39:37 - Log: add a few more thread.t tests - Branch: perl - ! t/lib/thread.t +[ 3815] By: jhi on 1999/07/28 17:31:11 + Log: Silence metalint on vendorprefix.U. + Branch: metaconfig + ! U/installdirs/vendorprefix.U ____________________________________________________________________________ -[ 1503] By: gsar on 1998/07/15 06:31:33 - Log: fix thread.t ('join $t' ne '$t->join' !) - Branch: perl - ! t/lib/thread.t +[ 3814] By: jhi on 1999/07/28 17:13:29 + Log: QNX shell needs more semicolons. + Branch: metaconfig/U/perl + ! Extensions.U ____________________________________________________________________________ -[ 1502] By: gsar on 1998/07/15 06:26:00 - Log: From: Jarkko Hietaniemi - Date: Wed, 15 Jul 1998 01:45:57 +0300 (EET DST) - Message-Id: <199807142245.BAA09651@alpha.hut.fi> - Subject: [PATCH] 5.004_74: MPE/iX final touches - Branch: perl - ! installperl lib/File/Copy.pm +[ 3813] By: jhi on 1999/07/28 17:05:08 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1501] By: gsar on 1998/07/15 05:59:49 - Log: apply (reversed) patch - From: Peter Wolfe - Date: Tue, 14 Jul 1998 13:01:58 -0700 (PDT) - Message-Id: <199807142001.NAA26550@titan.teloseng.com> - Subject: NOT_OK: perl 5.00474 on SCO 3.2v5.0.4 - Branch: perl - ! ext/IPC/SysV/SysV.xs +[ 3812] By: jhi on 1999/07/28 16:20:17 + Log: Fix a typo, un-shout, and reformat the installation output. + Branch: cfgperl + ! lib/ExtUtils/Install.pm ____________________________________________________________________________ -[ 1500] By: gsar on 1998/07/15 05:57:39 - Log: From: Andy Dougherty - Date: Tue, 14 Jul 1998 14:14:59 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.004_74] Config_74-01 +[ 3811] By: gsar on 1999/07/28 15:41:11 + Log: fix typo that caused INSTALLPRIVLIB to have doubled 'perl5' Branch: perl - ! Configure MANIFEST Porting/Glossary Porting/config.sh - ! Porting/config_H Porting/pumpkin.pod config_h.SH - ! vms/subconfigure.com win32/config.bc win32/config.gc - ! win32/config.vc + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1499] By: gsar on 1998/07/15 05:48:38 - Log: From: Jarkko Hietaniemi - Date: Tue, 14 Jul 1998 21:35:02 +0300 (EET DST) - Message-Id: <199807141835.VAA09030@alpha.hut.fi> - Subject: [PATCH] 5.004_74: trig.t: math inaccuracy fudge for unicos - Branch: perl - ! t/lib/trig.t +[ 3810] By: jhi on 1999/07/28 13:55:57 + Log: Talk more about subsecond things in perlfunc. + (Yes, redundant with perlfaq8.) + Branch: cfgperl + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1498] By: gsar on 1998/07/15 05:47:33 - Log: -w, strict clean perldoc (via PM) - From: Robin Barker - Date: Tue, 14 Jul 98 17:22:01 BST - Message-Id: <18695.9807141622@tempest.cise.npl.co.uk> - Subject: [PATCH 5.004_74] perldoc.PL - Branch: perl - ! utils/perldoc.PL +[ 3809] By: jhi on 1999/07/28 07:23:48 + Log: Integrate with Sarathy. + Branch: cfgperl + !> configpm hints/freebsd.sh lib/Pod/Html.pm perl.h t/op/grent.t + !> t/op/pwent.t +____________________________________________________________________________ +[ 3808] By: jhi on 1999/07/28 07:23:03 + Log: Document toke.c. + From: Nathan Torkington + To: perl5-porters@perl.org + Subject: Re: toke.c patch, work in progress + Date: Tue, 27 Jul 1999 23:02:09 -0600 (MDT) + Message-ID: <14238.36561.979473.667842@localhost.frii.com> + Branch: cfgperl + ! toke.c +____________________________________________________________________________ +[ 3807] By: jhi on 1999/07/28 07:10:56 + Log: perlre clarification. + + From: Ian Phillipps + To: Perl 5 Porters + Subject: [PATCH 5.00557] Add definite article to perlre.pod + Date: Tue, 27 Jul 1999 10:46:29 +0100 + Message-ID: <19990727104629.A10074@homer.diplex.co.uk> + Branch: cfgperl + ! pod/perlre.pod ____________________________________________________________________________ -[ 1497] By: gsar on 1998/07/15 05:35:54 - Log: add comment about cpprun etc., to hints/hpux.sh +[ 3806] By: gsar on 1999/07/28 07:07:46 + Log: fix the perl -V breakage + + From: Ilya Zakharevich + To: Jarkko Hietaniemi + Cc: "John L. Allen" , perl5-porters@perl.org, + gsar@activestate.com + Subject: Re: Follow up to: _58 on AIX 431 + Date: Tue, 27 Jul 1999 17:42:00 -0400 + Message-ID: <19990727174200.A12775@monk.mps.ohio-state.edu> Branch: perl - ! hints/hpux.sh + ! configpm ____________________________________________________________________________ -[ 1496] By: gsar on 1998/07/15 05:15:16 - Log: fix warning from CGI::Carp +[ 3805] By: gsar on 1999/07/28 07:03:34 + Log: avoid warning (from Doug MacEachern) Branch: perl - ! lib/CGI/Carp.pm + ! perl.h ____________________________________________________________________________ -[ 1495] By: gsar on 1998/07/14 23:47:18 - Log: fix off-by-one in win32 registry handling - From: "Douglas Lankshear" - Date: Tue, 14 Jul 1998 07:39:06 -0700 - Message-ID: <000401bdaf35$27489e80$a32fa8c0@tau.Active> - Subject: [PATCH 5.004_73] +[ 3804] By: gsar on 1999/07/28 06:59:30 + Log: Pod::Html tweak + + From: jan.dubois@ibm.net (Jan Dubois) + To: perl5-porters@perl.org + Subject: [PATCH 5.005_58] pod2html: Missing chunk for VMS filenames + Date: Tue, 27 Jul 1999 22:14:12 +0200 + Message-ID: <37a50af0.46171380@smtp1.ibm.net> Branch: perl - ! win32/win32.c + ! lib/Pod/Html.pm ____________________________________________________________________________ -[ 1494] By: gsar on 1998/07/14 23:45:58 - Log: doc patches from Gisle Aas - Date: 14 Jul 1998 16:18:31 +0200 - Message-ID: - Subject: [PATCH] substr/splice changes for perldelta.pod - -- - Date: 14 Jul 1998 20:31:27 +0200 - Message-ID: - Subject: [PATCH] Duplicate description of use integer % +[ 3803] By: gsar on 1999/07/28 06:56:38 + Log: freebsd hints update + + From: Anton Berezin + To: perl5-porters@perl.org + Subject: [ID 19990727.034] Not OK: perl 5.00558 on i386-freebsd-thread4.0-current (UNINSTALLED) + Date: Tue, 27 Jul 1999 20:29:39 +0200 (CEST) + Message-Id: <199907271829.UAA62861@lion.plab.ku.dk> Branch: perl - ! pod/perldelta.pod pod/perlop.pod + ! hints/freebsd.sh ____________________________________________________________________________ -[ 1493] By: gsar on 1998/07/14 23:39:31 - Log: File/Spec.pm needs trailing newline +[ 3802] By: gsar on 1999/07/28 06:51:32 + Log: cosmetic testsuite patch + + From: Graham Barr + To: Perl5 Porters + Subject: 5.005_58 build + Date: Tue, 27 Jul 1999 08:09:25 -0500 + Message-ID: <19990727080925.F4683@dal.asp.ti.com> Branch: perl - ! lib/File/Spec.pm + ! t/op/grent.t t/op/pwent.t +____________________________________________________________________________ +[ 3801] By: jhi on 1999/07/27 13:49:39 + Log: Minuscule cleanup of the integer overflow patch. + Branch: cfgperl + ! util.c +____________________________________________________________________________ +[ 3800] By: jhi on 1999/07/27 13:37:23 + Log: Test hex('x...'). + Branch: cfgperl + ! t/op/oct.t +____________________________________________________________________________ +[ 3799] By: jhi on 1999/07/27 12:45:45 + Log: Integrate with Sarathy (5.005_58). + Branch: cfgperl + - ext/B/byteperl.c + !> Changes MANIFEST Porting/makerel configpm embed.h embed.pl + !> ext/Devel/DProf/DProf.xs ext/POSIX/POSIX.pm + !> ext/SDBM_File/Makefile.PL lib/AutoLoader.pm + !> lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + !> lib/Pod/Parser.pm lib/SelfLoader.pm os2/OS2/REXX/Makefile.PL + !> perl.h pod/perldelta.pod pod/perlfaq9.pod pod/perlhist.pod + !> win32/bin/pl2bat.pl win32/config_H.bc win32/config_H.gc + !> win32/config_H.vc +____________________________________________________________________________ +[ 3798] By: jhi on 1999/07/27 12:42:43 + Log: Integer constants (0x, 0[0-7], 0b) now overflow fatally, + they used to be just optional lexical warnings. + Also, with warnings turned on, constants > 2**32-1 + trigger a non-portability warning. + Branch: cfgperl + ! pod/perldelta.pod pod/perldiag.pod pod/perllexwarn.pod pp.c + ! t/op/oct.t t/pragma/warn/6default t/pragma/warn/util toke.c + ! util.c ____________________________________________________________________________ -[ 1492] By: gsar on 1998/07/14 21:43:03 - Log: unsubmitted _74 tweaks +[ 3797] By: gsar on 1999/07/27 10:48:27 + Log: here lies 5.005_58 Branch: perl - ! Changes mpeix/nm mpeix/relink pod/perldelta.pod - ! pod/perldiag.pod + - ext/B/byteperl.c + ! Changes MANIFEST Porting/makerel pod/perldelta.pod + ! pod/perlfaq9.pod pod/perlhist.pod ---------------- -Version 5.004_74 +Version 5.005_58 ---------------- ____________________________________________________________________________ -[ 1491] By: gsar on 1998/07/14 08:48:28 - Log: up patchlevel to 74; introduce distinct archname for PERL_OBJECT +[ 3796] By: gsar on 1999/07/27 09:23:42 + Log: regenerate win32/config_H.?c Branch: perl - ! Changes patchlevel.h pod/perlhist.pod win32/Makefile ! win32/config_H.bc win32/config_H.gc win32/config_H.vc - ! win32/makefile.mk ____________________________________________________________________________ -[ 1490] By: gsar on 1998/07/14 08:31:13 - Log: From: Gisle Aas - Date: 14 Jul 1998 10:20:34 +0200 - Message-Id: - Subject: [PATCH] Make -DP work (and readable) +[ 3795] By: gsar on 1999/07/27 09:02:31 + Log: From: Tye McQueen + Date: Mon, 26 Jul 1999 19:19:22 -0500 (CDT) + Message-Id: <199907270019.AA08223@metronet.com> + Subject: Patch pl2bat.pl so batch file can fail Branch: perl - ! run.c + ! win32/bin/pl2bat.pl ____________________________________________________________________________ -[ 1489] By: gsar on 1998/07/14 08:23:46 - Log: fix function parameter autovivification for pseudohashes +[ 3794] By: gsar on 1999/07/27 08:59:58 + Log: From: Ilya Zakharevich + Date: Mon, 26 Jul 1999 01:09:00 -0400 (EDT) + Message-Id: <199907260509.BAA26303@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] decrease memory footprint of standard modules Branch: perl - ! mg.c t/op/avhv.t + ! configpm ext/POSIX/POSIX.pm lib/AutoLoader.pm + ! lib/SelfLoader.pm ____________________________________________________________________________ -[ 1488] By: gsar on 1998/07/14 07:34:45 - Log: merge changes#1423,1465 from maintbranch; checkin two missed files - from earlier changes#1461,1478 +[ 3793] By: gsar on 1999/07/27 08:19:16 + Log: support -DPERL_BINCOMPAT_5005, still needs a Configure test + (from Andy Dougherty) Branch: perl - ! pod/perldiag.pod pod/perlfunc.pod pod/perlop.pod pp_sys.c - ! t/TEST t/lib/thread.t t/op/local.t t/op/pat.t t/op/regexp.t - ! t/op/substr.t t/op/vec.t + ! embed.h embed.pl ____________________________________________________________________________ -[ 1487] By: gsar on 1998/07/14 07:04:54 - Log: tweak t/lib/thread.t +[ 3792] By: gsar on 1999/07/27 08:04:19 + Log: recognize more constructs such as C<$-> in pod (from Russ Allbery + and Brad Appleton) Branch: perl - ! t/lib/thread.t + ! lib/Pod/Parser.pm ____________________________________________________________________________ -[ 1486] By: gsar on 1998/07/14 06:38:15 - Log: applied patch, slightly tweaked - From: Dan Sugalski - Date: Mon, 13 Jul 1998 11:52:27 -0700 - Message-Id: <3.0.5.32.19980713115227.00a73970@ous.edu> - Subject: [PATCH 5.004_73]Get re module working on VMS +[ 3791] By: gsar on 1999/07/27 07:50:54 + Log: cover case where CLK_TCK is a float, not integer (from + alexander smishlajev ) Branch: perl - ! ext/re/Makefile.PL perl.h proto.h + ! ext/Devel/DProf/DProf.xs ____________________________________________________________________________ -[ 1485] By: gsar on 1998/07/14 06:32:58 - Log: add Porting/p4d2p +[ 3790] By: gsar on 1999/07/27 07:45:08 + Log: provide MakeMaker attribute PERL_MALLOC_OK that allows extensions + to call Perl_malloc() as malloc() (from Ilya Zakharevich) Branch: perl - + Porting/p4d2p - ! MANIFEST + ! ext/SDBM_File/Makefile.PL lib/ExtUtils/MM_Unix.pm + ! lib/ExtUtils/MakeMaker.pm os2/OS2/REXX/Makefile.PL perl.h ____________________________________________________________________________ -[ 1484] By: gsar on 1998/07/14 06:08:20 - Log: doc patches from Tom Christiansen (via PM) - Date: Mon, 13 Jul 1998 19:09:09 -0600 - Message-Id: <199807140109.TAA04678@chthon.perl.com> - Subject: perlmod.pod patch - -- - Date: Mon, 13 Jul 1998 18:37:07 -0600 - Message-Id: <199807140037.SAA04556@chthon.perl.com> - Subject: perlbook.pod patch +[ 3789] By: jhi on 1999/07/27 07:44:55 + Log: Integrate with Sarathy. + Branch: cfgperl + +> lib/Pod/Text/Color.pm lib/Pod/Text/Termcap.pm + !> MANIFEST doio.c embed.h embed.pl ext/B/B/CC.pm + !> ext/SDBM_File/sdbm/sdbm.h global.sym lib/Pod/Html.pm + !> lib/Pod/Text.pm objXSUB.h opcode.h opcode.pl perlapi.c + !> pod/perldiag.pod pod/perlfunc.pod pod/pod2text.PL pp_sys.c + !> proto.h t/comp/proto.t t/io/open.t +____________________________________________________________________________ +[ 3788] By: gsar on 1999/07/27 07:29:59 + Log: replace Pod::Text with Pod::SimpleText v0.01 (thanks + to Russ Allbery ); s/Simple// and + s/pod2txt/pod2text/ etc. + Branch: perl + + lib/Pod/Text/Color.pm lib/Pod/Text/Termcap.pm + ! MANIFEST lib/Pod/Text.pm pod/pod2text.PL +____________________________________________________________________________ +[ 3787] By: gsar on 1999/07/27 06:48:40 + Log: From: Andy Dougherty + Date: Wed, 16 Jun 1999 14:40:09 -0400 (EDT) + Message-Id: + Subject: Re: [ID 19990608.003] my_bcopy problem; Unixware 2.0.3 Branch: perl - ! pod/perlbook.pod pod/perlmod.pod + ! ext/SDBM_File/sdbm/sdbm.h ____________________________________________________________________________ -[ 1483] By: gsar on 1998/07/14 06:04:25 - Log: OS/2 update +[ 3786] By: gsar on 1999/07/27 06:30:09 + Log: applied suggested patch; added missing prototype changes to + opcode.pl along with documentation typos (feature still needs + to be described in perlopentut.pod and summarized in + perldelta.pod) From: Ilya Zakharevich - Message-Id: <199807132336.TAA12967@monk.mps.ohio-state.edu> - Date: Mon, 13 Jul 1998 19:36:05 -0400 (EDT) - Subject: [PATCH 5.004_72] OS/2 system() and friends additions + Date: Thu, 17 Jun 1999 00:39:34 -0400 (EDT) + Message-Id: <199906170439.AAA18154@monk.mps.ohio-state.edu> + Subject: [PATCH 5.00557] 3-arg open Branch: perl - ! README.os2 hints/os2.sh os2/Changes os2/os2.c t/op/magic.t + ! doio.c embed.h embed.pl global.sym objXSUB.h opcode.h + ! opcode.pl perlapi.c pod/perldiag.pod pod/perlfunc.pod pp_sys.c + ! proto.h t/comp/proto.t t/io/open.t ____________________________________________________________________________ -[ 1482] By: gsar on 1998/07/14 06:01:12 - Log: more VMS patches from Dan Sugalski - Date: Mon, 13 Jul 1998 16:37:49 -0700 - Message-Id: <3.0.5.32.19980713163749.00af1c40@ous.edu> - Subject: [PATCH 5.004_73]t/io/iprefix.t patch for VMS - -- - Date: Mon, 13 Jul 1998 15:51:09 -0700 - Message-Id: <3.0.5.32.19980713155109.00a52c30@ous.edu> - Subject: [PATCH5.004_73]Tweak t/lib/cgi-html.t to work on VMS +[ 3785] By: gsar on 1999/07/27 04:36:39 + Log: don't quit if =head* wasn't found (suggested by Roland Bauer + ) Branch: perl - ! t/io/iprefix.t t/lib/cgi-html.t + ! lib/Pod/Html.pm ____________________________________________________________________________ -[ 1481] By: gsar on 1998/07/14 05:57:36 - Log: From: Dan Sugalski - Date: Mon, 13 Jul 1998 15:41:53 -0700 - Message-Id: <3.0.5.32.19980713154153.00a87be0@ous.edu> - Subject: [PATCH 5.004_73]Fix t/base/rs.t test failures on VMS +[ 3784] By: gsar on 1999/07/27 03:56:17 + Log: change#3762 wasn't needed Branch: perl - ! t/base/rs.t + ! ext/B/B/CC.pm ____________________________________________________________________________ -[ 1480] By: gsar on 1998/07/14 05:56:14 - Log: From: Dan Sugalski - Message-Id: <3.0.5.32.19980713150427.00b2a540@ous.edu> - Date: Mon, 13 Jul 1998 15:04:27 -0700 - Subject: [PATCH 5.004_73]Thread tweak for VMS.C - Branch: perl - ! vms/vms.c +[ 3783] By: jhi on 1999/07/26 19:08:21 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes makedef.pl patchlevel.h pod/perlfunc.pod pp_ctl.c + !> toke.c utils/dprofpp.PL win32/Makefile win32/config_H.bc + !> win32/config_H.gc win32/config_H.vc win32/makefile.mk ____________________________________________________________________________ -[ 1479] By: gsar on 1998/07/14 05:55:13 - Log: From: Laszlo Molnar - Date: Mon, 13 Jul 1998 23:13:43 +0200 - Message-ID: <19980713231343.A178@cdata.tvnet.hu> - Subject: [PATCH _72] Configure problem on dos-djgpp +[ 3782] By: gsar on 1999/07/26 18:16:50 + Log: update Changes, patchlevel &c. Branch: perl - ! Configure + ! Changes patchlevel.h win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makefile.mk ____________________________________________________________________________ -[ 1478] By: gsar on 1998/07/14 05:53:08 - Log: add files and tweaks needed for MPE/iX port (via PM) - From: Jarkko Hietaniemi - Date: Tue, 14 Jul 1998 00:07:30 +0300 (EET DST) - Message-Id: <199807132107.AAA20603@alpha.hut.fi> - Subject: MPE/iX patches for _73 - Branch: perl - + README.mpeix ext/DynaLoader/dl_mpeix.xs ext/re/hints/mpeix.pl - + mpeix/mpeixish.h mpeix/nm mpeix/relink - ! MANIFEST ext/Socket/Socket.xs hints/mpeix.sh installperl - ! lib/File/Copy.pm perl.c perl.h pod/perldelta.pod -____________________________________________________________________________ -[ 1477] By: gsar on 1998/07/14 04:23:28 - Log: added suggested patch (via PM), tweaked to implicitly specify -DDEBUGGING - From: Andy Dougherty - Date: Mon, 13 Jul 1998 16:50:55 -0400 (EDT) - Message-Id: - Subject: Re: _70 and Devel::RE - Branch: perl - ! ext/re/Makefile.PL ext/re/re.xs regcomp.c regexec.c -____________________________________________________________________________ -[ 1476] By: gsar on 1998/07/14 04:06:25 - Log: minor Configure nits - From: Jarkko Hietaniemi - Date: Mon, 13 Jul 1998 23:25:27 +0300 (EET DST) - Message-Id: <199807132025.XAA10771@alpha.hut.fi> - Subject: Configure patches for MVS (and one x2p/Makefile.SH) +[ 3781] By: gsar on 1999/07/26 17:54:47 + Log: a more correct fix for change#2744 + From: Stephen McCamant + Date: Sun, 25 Jul 1999 14:02:25 -0500 (CDT) + Message-ID: <14235.24385.671437.246345@alias-2.pr.mcs.net> + Subject: [PATCH _57] Re: toke.c questions Branch: perl - ! Configure x2p/Makefile.SH + ! toke.c ____________________________________________________________________________ -[ 1475] By: gsar on 1998/07/14 03:59:56 - Log: From: Dan Sugalski - Date: Mon, 13 Jul 1998 12:54:19 -0700 - Message-Id: <3.0.5.32.19980713125419.009e0100@ous.edu> - Subject: [PATCH 5.004_73] Fixes to the VMS configuration system +[ 3780] By: gsar on 1999/07/26 17:37:04 + Log: utime() doc typo from Greg Bacon Branch: perl - ! vms/munchconfig.c vms/subconfigure.com + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1474] By: gsar on 1998/07/14 03:58:13 - Log: make Term::Readline::get_line() independent of caller's $/ - From: kstar@chapin.edu - Date: Mon, 13 Jul 1998 15:17:49 -0400 - Message-ID: <19980713151749.G8596@O2.chapin.edu> - Subject: [PATCH] Was: CPAN.pm still fails - Branch: perl - ! lib/Term/ReadLine.pm +[ 3779] By: jhi on 1999/07/26 16:37:23 + Log: Dusting off. + Branch: cfgperl + ! README.threads ____________________________________________________________________________ -[ 1473] By: gsar on 1998/07/14 03:55:29 - Log: fix $trnl interpolation in here-docs (via PM) - From: Andy Dougherty - Date: Mon, 13 Jul 1998 15:49:00 -0400 (EDT) - Message-Id: - Subject: Re: [PATCH] 5.004_73: Re: Configure/trnl craziness +[ 3778] By: gsar on 1999/07/26 13:28:46 + Log: avoid DIVZERO Branch: perl - ! Configure + ! utils/dprofpp.PL ____________________________________________________________________________ -[ 1472] By: gsar on 1998/07/14 03:50:18 - Log: From: Dominic Dunlop - Date: Mon, 13 Jul 1998 15:55:09 +0100 (WET DST) - Message-Id: <199807131455.PAA23621@ppp52.vo.lu> - Subject: Not OK: perl 5.00473 on powerpc-machten 4.1 [PATCH 5.004_73] +[ 3777] By: gsar on 1999/07/26 13:18:53 + Log: warnings identified by Borland compiler Branch: perl - ! hints/machten.sh + ! makedef.pl pp_ctl.c ____________________________________________________________________________ -[ 1471] By: gsar on 1998/07/14 03:49:07 - Log: From: Dan Sugalski - Message-Id: <3.0.5.32.19980713123005.00b6be50@ous.edu> - Date: Mon, 13 Jul 1998 12:30:05 -0700 - Subject: [PATCH 5.004_73] Add Data::Dumper and re modules to VMS config stuff - Branch: perl - ! configure.com vms/descrip_mms.template +[ 3776] By: jhi on 1999/07/26 13:07:36 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/Carp/Heavy.pm pp_ctl.c pp_hot.c ____________________________________________________________________________ -[ 1470] By: gsar on 1998/07/14 03:40:14 - Log: consistently refer to functions as C - From: abigail@fnx.com - Date: Mon, 13 Jul 1998 03:04:24 -0400 (EDT) - Message-ID: <19980713070424.19841.qmail@betelgeuse.wayne.fnx.com> - Subject: Re: [PATCH 5.004_71] pod/perlfunc.pod +[ 3775] By: gsar on 1999/07/26 12:55:43 + Log: avoid infinite recursion when Thread.pm croaks during + bootstrap Branch: perl - ! pod/perlfunc.pod + ! lib/Carp/Heavy.pm ____________________________________________________________________________ -[ 1469] By: gsar on 1998/07/14 03:35:06 - Log: From: Tom Hughes - Date: 13 Jul 1998 09:34:16 +0100 - Message-ID: - Subject: [PATCH 5.004_72] Fix d_Gconvert definition in hints/svr4.sh +[ 3774] By: gsar on 1999/07/26 12:43:02 + Log: integrate cfgperl contents into mainline Branch: perl - ! hints/svr4.sh + +> lib/Carp/Heavy.pm + !> MANIFEST Makefile.SH cflags.SH configpm ext/util/make_ext + !> lib/AutoSplit.pm lib/Carp.pm makedepend.SH pod/pod2html.PL + !> pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL + !> pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL + !> writemain.SH x2p/Makefile.SH x2p/cflags.SH +____________________________________________________________________________ +[ 3773] By: jhi on 1999/07/26 12:40:29 + Log: Use long doubles only if they are useful. + Branch: cfgperl + ! ext/POSIX/POSIX.xs ____________________________________________________________________________ -[ 1468] By: gsar on 1998/07/14 03:34:03 - Log: From: andreas.koenig@kulturbox.de (Andreas J. Koenig) - Date: 13 Jul 1998 11:16:27 +0200 - Message-ID: - Subject: Parallel Makefiles +[ 3772] By: gsar on 1999/07/26 12:33:11 + Log: typo in change#3768 Branch: perl - ! lib/ExtUtils/MM_Unix.pm + ! pp_hot.c ____________________________________________________________________________ -[ 1467] By: gsar on 1998/07/14 03:31:39 - Log: From: Ilya Zakharevich - Date: Mon, 13 Jul 1998 00:12:19 -0400 (EDT) - Message-Id: <199807130412.AAA27128@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_72] t/io/pipe.t - completely broken? +[ 3771] By: gsar on 1999/07/26 12:08:27 + Log: alpha-stage support for user-hooks in @INC + From: Ken Fox + Date: Mon, 19 Jul 1999 22:12:29 -0400 (EDT) + Message-Id: <199907200213.WAA02816@mailfw2.ford.com> + Subject: Re: loading remote modules Branch: perl - ! t/io/pipe.t + ! pp_ctl.c ____________________________________________________________________________ -[ 1466] By: gsar on 1998/07/14 03:29:25 - Log: minor tweaks to perldelta and README.win32 +[ 3770] By: jhi on 1999/07/26 11:38:36 + Log: Back out #3735. Needs more work. + Branch: cfgperl + ! Makefile.SH cflags.SH configpm ext/util/make_ext + ! lib/AutoSplit.pm makedepend.SH pod/pod2html.PL + ! pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL + ! pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL + ! writemain.SH x2p/Makefile.SH x2p/cflags.SH +____________________________________________________________________________ +[ 3769] By: jhi on 1999/07/26 11:24:45 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 35 files) +____________________________________________________________________________ +[ 3768] By: gsar on 1999/07/26 11:03:07 + Log: optimize method name lookup + From: Chip Salzenberg + Date: Thu, 22 Jul 1999 13:43:36 -0400 + Message-ID: <19990722134336.Q391@perlsupport.com> + Subject: [PATCH] OP_METHOD_NAMED + Branch: perl + ! dump.c embed.h embed.pl ext/Opcode/Opcode.pm objXSUB.h op.c + ! opcode.h opcode.pl perlapi.c pp.sym pp_hot.c pp_proto.h + ! proto.h +____________________________________________________________________________ +[ 3767] By: gsar on 1999/07/26 10:44:11 + Log: allow arrow omission in $foo[10]->('foo') etc. (but not in + foo()->()); rework grammar to remove conflicts + From: Stephen McCamant + Date: Fri, 23 Jul 1999 15:55:22 -0500 (CDT) + Message-ID: <14232.54970.771570.548676@alias-2.pr.mcs.net> + Subject: [PATCH _57, long] Re: optional arrow asymmetry Branch: perl - ! Changes README.win32 pod/perldelta.pod + ! Makefile.SH embed.h embed.pl global.sym objXSUB.h op.c + ! perlapi.c perly.c perly.h perly.y perly_c.diff proto.h + ! vms/perly_c.vms vms/perly_h.vms ____________________________________________________________________________ -[ 1465] By: TimBunce on 1998/07/13 21:33:45 - Log: Assorted patches: - - Title: "Fix string substitution returncode problem" - From: Dominic Dunlop , Gurusamy Sarathy - Msg-ID: <199805271236.IAA28213@aatma.engin.umich.edu>, - - Files: pp_hot.c - - Title: "umask EXPR is fatal only if (EXPR & 0700) > 0" - From: Gurusamy Sarathy - Msg-ID: <199807111656.MAA03310@aatma.engin.umich.edu> - Files: pod/perldiag.pod pp_sys.c - - Title: "Remove reference to qsort from perlfunc.pod" - From: Gurusamy Sarathy - Msg-ID: <199807111923.PAA05124@aatma.engin.umich.edu> - Files: pod/perlfunc.pod - - Title: "Deprecate AvFILL in favor of av_len()" - From: Gurusamy Sarathy - Msg-ID: <199807111945.PAA05489@aatma.engin.umich.edu> - Files: pod/perlguts.pod - - Title: "Further clarify effects of using quotes with m operator" - From: Gurusamy Sarathy - Msg-ID: <199806201921.PAA03829@aatma.engin.umich.edu> - Files: pod/perlop.pod - - Title: "Add PERL_DESTRUCT_LEVEL=2 to test suite" - From: Tim Bunce - Files: t/TEST t/op/local.t t/op/pat.t t/op/regexp.t t/op/substr.t t/op/vec.t - Branch: maint-5.004/perl - ! pod/perldiag.pod pod/perlfunc.pod pod/perlguts.pod - ! pod/perlop.pod pp_hot.c pp_sys.c t/TEST t/op/local.t - ! t/op/pat.t t/op/regexp.t t/op/substr.t t/op/vec.t toke.c - ----------------- -Version 5.004_73 ----------------- - +[ 3766] By: jhi on 1999/07/26 10:18:56 + Log: Use $< instead of $*.c in *perlmain.o rules. + Branch: cfgperl + ! Makefile.SH ____________________________________________________________________________ -[ 1464] By: gsar on 1998/07/13 04:41:07 - Log: up patchlevel to 73, update Changes &c. +[ 3765] By: gsar on 1999/07/26 09:28:48 + Log: From: Ian Phillipps + Date: Fri, 23 Jul 1999 23:35:56 +0100 + Message-ID: <19990723233556.B2435@homer.diplex.co.uk> + Subject: (Version 2) Extending unpack to deal with counted strings Branch: perl - ! Changes patchlevel.h pod/perlhist.pod t/op/array.t - ! win32/Makefile win32/config_H.bc win32/config_H.gc - ! win32/config_H.vc win32/makefile.mk + ! pod/perldiag.pod pod/perlfunc.pod pp.c t/op/pack.t ____________________________________________________________________________ -[ 1463] By: gsar on 1998/07/13 02:58:51 - Log: avoid empty rm -f in MM_Unix.pm - Branch: perl - ! lib/ExtUtils/MM_Unix.pm +[ 3764] By: jhi on 1999/07/26 09:17:26 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_57] Lean Carp.pm with Carp/Heavy.pm + Date: Mon, 26 Jul 1999 04:05:27 -0400 (EDT) + Message-Id: <199907260805.EAA26888@monk.mps.ohio-state.edu> + + The patch was based on 5_57 so had to re-apply lib/Carp.pm + parts of changes #3498, #3696, and #3702 for the new + lib/Carp/Heavy.pm. + Branch: cfgperl + + lib/Carp/Heavy.pm + ! MANIFEST lib/Carp.pm ____________________________________________________________________________ -[ 1462] By: gsar on 1998/07/13 02:54:52 - Log: update perldelta +[ 3763] By: gsar on 1999/07/26 09:03:17 + Log: ~ isn't valid in VMS filenames Branch: perl - ! pod/perldelta.pod + ! lib/Pod/Html.pm ____________________________________________________________________________ -[ 1461] By: gsar on 1998/07/13 02:44:30 - Log: added patch, tweaked PERL_OBJECT things - From: Graham Barr - Date: Sun, 12 Jul 1998 19:57:47 CDT - Message-Id: <19980712195747.C493@pobox.com> - Subject: [ PATCH perl5.004_72] patch to add qr// +[ 3762] By: gsar on 1999/07/26 08:59:47 + Log: setstate stop-gap from Vishal Bhatia Branch: perl - ! dump.c embed.h ext/Opcode/Opcode.pm global.sym globals.c - ! keywords.h keywords.pl op.c op.h opcode.h opcode.pl - ! pod/perlfunc.pod pp.c pp_hot.c pp_proto.h proto.h regcomp.c - ! regexp.h sv.c t/op/pat.t toke.c + ! ext/B/B/CC.pm ____________________________________________________________________________ -[ 1460] By: gsar on 1998/07/13 01:25:07 - Log: add a few more PURIFY guards +[ 3761] By: gsar on 1999/07/26 08:06:39 + Log: patch for pp_foo -> Perl_pp_foo changes from Vishal Bhatia; + add B::OP::name() method that returns just the op_name; + convert Deparse et all to use that instead of B::OP::ppaddr(); + add support for OP_SETSTATE in Deparse Branch: perl - ! av.c sv.c + ! ext/B/B.pm ext/B/B.xs ext/B/B/Bblock.pm ext/B/B/Bytecode.pm + ! ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Deparse.pm ext/B/B/Lint.pm + ! ext/B/B/Xref.pm opcode.h opcode.pl ____________________________________________________________________________ -[ 1459] By: gsar on 1998/07/12 23:38:31 - Log: add tests for change#1458 and then some - Branch: perl - ! t/op/array.t +[ 3760] By: jhi on 1999/07/26 07:14:43 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 43 files) ____________________________________________________________________________ -[ 1458] By: gsar on 1998/07/12 22:42:47 - Log: apply patch for smarter AASSIGN_COMMON detection; regen headers - From: Stephen McCamant - Date: Sun, 12 Jul 1998 17:17:00 CDT - Message-Id: <13737.12300.950886.821143@alias-2.pr.mcs.net> - Subject: [PATCH] @a=@a=qw(1) not working, both 5.004_04 and 5.004_71 +[ 3759] By: gsar on 1999/07/26 05:12:24 + Log: add disclaimer about perl 4 libraries (modified version of + patch suggested by Clinton Pierce ) Branch: perl - ! op.c opcode.h opcode.pl + ! lib/abbrev.pl lib/bigfloat.pl lib/bigint.pl lib/bigrat.pl + ! lib/cacheout.pl lib/chat2.pl lib/complete.pl lib/ctime.pl + ! lib/dotsh.pl lib/exceptions.pl lib/fastcwd.pl lib/flush.pl + ! lib/ftp.pl lib/getcwd.pl lib/getopt.pl lib/getopts.pl + ! lib/hostname.pl lib/look.pl lib/pwd.pl lib/termcap.pl ____________________________________________________________________________ -[ 1457] By: gsar on 1998/07/12 22:06:05 - Log: small tweaks from Jarkko Hietaniemi +[ 3758] By: gsar on 1999/07/26 04:48:35 + Log: make reset() behave with high-bit characters + From: Ian Phillipps + Date: Thu, 22 Jul 1999 22:48:59 +0100 + Message-ID: <19990722224859.A27987@homer.diplex.co.uk> + Subject: [PATCH 5.005_57] sv_reset can cause stack corruption Branch: perl - ! Configure Makefile.SH ext/Socket/Socket.xs perl.c + ! sv.c ____________________________________________________________________________ -[ 1456] By: gsar on 1998/07/12 21:56:39 - Log: From: Doug MacEachern - Date: Sun, 12 Jul 1998 14:29:29 -0400 - Message-Id: <199807121829.OAA00525@postman.opengroup.org> - Subject: [PATCH 5.004_72] Embed.pm support for PERL_OBJECT +[ 3757] By: gsar on 1999/07/26 04:40:32 + Log: update to perlport-1.44 from Chris Nandor Branch: perl - ! lib/ExtUtils/Embed.pm + ! pod/perlport.pod ____________________________________________________________________________ -[ 1455] By: gsar on 1998/07/12 21:54:02 - Log: applied installperl patch, corrected other little nits - From: andreas.koenig@kulturbox.de (Andreas J. Koenig) - Date: 12 Jul 1998 16:27:21 +0200 - Message-ID: - Subject: [5.004_72] installperl tweak +[ 3756] By: gsar on 1999/07/26 04:20:37 + Log: dprofpp pod additions from Nathan Torkington Branch: perl - ! Changes Configure README.win32 installperl win32/makefile.mk + ! utils/dprofpp.PL ____________________________________________________________________________ -[ 1454] By: gsar on 1998/07/12 10:14:24 - Log: update MANIFEST, Changes +[ 3755] By: gsar on 1999/07/26 04:18:00 + Log: disable VPATH for now (breaks x2p build) Branch: perl - - lib/Bundle/CPAN.pm - ! Changes MANIFEST - ----------------- -Version 5.004_72 ----------------- - + ! x2p/Makefile.SH ____________________________________________________________________________ -[ 1453] By: gsar on 1998/07/12 10:04:33 - Log: merge changes 1424, 1428 from maintbranch +[ 3754] By: gsar on 1999/07/26 03:15:33 + Log: INSTALL =~ s/5.006/5.6/; delay loading Errno until needed + (%! has the necessary magic); misc typos Branch: perl - ! Porting/makerel ext/re/re.pm lib/Sys/Syslog.pm + ! INSTALL ext/DB_File/DB_File.pm ext/Fcntl/Fcntl.pm + ! ext/GDBM_File/GDBM_File.pm gv.c jpl/JNI/JNI.pm + ! lib/AutoLoader.pm lib/CPAN.pm perl.c pod/perllocale.pod + ! utils/h2xs.PL ____________________________________________________________________________ -[ 1452] By: gsar on 1998/07/12 09:46:40 - Log: patchlevel up to 72, update Changes, minor tweaks to win32/config* - and README.win32 +[ 3753] By: gsar on 1999/07/26 02:38:28 + Log: integrate cfgperl contents into mainline Branch: perl - ! Changes README.win32 patchlevel.h win32/Makefile - ! win32/config_H.bc win32/config_H.gc win32/config_H.vc - ! win32/makefile.mk + +> t/pragma/locale/latin1 t/pragma/locale/utf8 + !> (integrate 53 files) ____________________________________________________________________________ -[ 1451] By: gsar on 1998/07/12 07:01:26 - Log: generic Configure mods and HAS_GROUP additions to help MiNT/MPEix/MVS - From: Jarkko Hietaniemi - Date: Sat, 11 Jul 1998 17:51:07 +0300 (EET DST) - Message-Id: <199807111451.RAA27010@alpha.hut.fi> - Subject: M3 "generic" parts +[ 3752] By: gsar on 1999/07/26 02:11:31 + Log: ensure implicitly closed handles don't set $? or $! Branch: perl - ! Configure Makefile.SH config_h.SH ext/POSIX/POSIX.xs - ! ext/SDBM_File/sdbm/sdbm.h lib/ExtUtils/MM_Unix.pm - ! makedepend.SH mv-if-diff perl.h plan9/plan9ish.h pp_sys.c - ! unixish.h vms/subconfigure.com vms/vmsish.h win32/config_H.bc - ! win32/config_H.gc x2p/Makefile.SH + ! doio.c embed.h embed.pl perlapi.c proto.h sv.c t/io/pipe.t ____________________________________________________________________________ -[ 1450] By: gsar on 1998/07/12 06:38:27 - Log: various tweaks for PERL_OBJECT build & test +[ 3751] By: gsar on 1999/07/26 01:28:34 + Log: change#3534 didn't preserve undef return values from caller() Branch: perl - ! globals.c iperlsys.h win32/GenCAPI.pl win32/Makefile - ! win32/makefile.mk win32/win32.c win32/win32iop.h + ! Changes pp_ctl.c ____________________________________________________________________________ -[ 1449] By: gsar on 1998/07/12 06:29:23 - Log: From: andreas.koenig@kulturbox.de (Andreas J. Koenig) - Date: 12 Jul 1998 08:22:16 +0200 - Message-Id: - Subject: [5.004_71] Patch: let CPAN.pm work with threaded perl - Branch: perl - ! lib/CPAN.pm lib/SelfLoader.pm +[ 3750] By: jhi on 1999/07/25 20:59:29 + Log: Back up a tiny bit from #3735. + This may break builds outside the source directory + but then again, they do not work that ell yet anyway. + Branch: cfgperl + ! Makefile.SH ____________________________________________________________________________ -[ 1448] By: gsar on 1998/07/12 05:10:50 - Log: make RE engine threadsafe; -Dusethreads builds, tests on Solaris, - and runs regexes in 1000s of threads without crashing; also fixed - statcache not being thread-local - Branch: perl - ! embed.h embedvar.h ext/Thread/Thread.xs ext/re/re.xs - ! intrpvar.h op.c perl.c pp_ctl.c regcomp.c regexec.c sv.c - ! t/lib/thread.t thrdvar.h util.c +[ 3750] By: jhi on 1999/07/25 20:59:29 + Log: Back up a tiny bit from #3735. + This may break builds outside the source directory + but then again, they do not work that ell yet anyway. + Branch: cfgperl + ! Makefile.SH ____________________________________________________________________________ -[ 1447] By: gsar on 1998/07/12 02:40:45 - Log: From: Hugo van der Sanden - Date: Sun, 12 Jul 1998 03:23:04 +0200 - Message-Id: - Subject: Re: perlbug doesn't check that save succeeded - Branch: perl - ! utils/perlbug.PL +[ 3749] By: jhi on 1999/07/25 19:15:55 + Log: Integrate with Sarathy. + Branch: cfgperl + !> lib/ExtUtils/MM_Unix.pm toke.c utils/h2xs.PL ____________________________________________________________________________ -[ 1446] By: gsar on 1998/07/12 02:39:24 - Log: be generous about CRs - From: larry@wall.org (Larry Wall) - Date: Sat, 11 Jul 1998 17:54:21 PDT - Message-Id: <199807120054.RAA19550@wall.org> - Subject: [PATCH _71] CRs et al - Branch: perl - ! toke.c +[ 3748] By: jhi on 1999/07/25 19:06:59 + Log: Recode locale.t so that the change in #3730 + is not needed and locale.t works both without + and with the utf8 pragma. + Branch: cfgperl + + t/pragma/locale/latin1 t/pragma/locale/utf8 + ! MANIFEST t/pragma/locale.t ____________________________________________________________________________ -[ 1445] By: gsar on 1998/07/12 02:11:16 - Log: fix pp_caller() to fully traverse stacklevels - Branch: perl - ! objpp.h pp_ctl.c proto.h t/op/runlevel.t +[ 3747] By: jhi on 1999/07/25 19:01:46 + Log: Like #3743. + Branch: cfgperl + ! utils/perlbug.PL ____________________________________________________________________________ -[ 1444] By: gsar on 1998/07/11 23:43:37 - Log: add patch, along with all the missing bits, and doc tweaks - From: Ilya Zakharevich - Date: Thu, 9 Jul 1998 18:47:25 -0400 (EDT) - Message-Id: <199807092247.SAA06314@monk.mps.ohio-state.edu> - Subject: Re: [PATCH 5.004_71] Secure RE update - Branch: perl - ! ObjXSub.h embed.h embedvar.h ext/Opcode/Opcode.pm ext/re/re.pm - ! global.sym globals.c interp.sym intrpvar.h op.c opcode.h - ! opcode.pl pp_ctl.c pp_proto.h regcomp.c sv.c t/op/misc.t - ! t/op/pat.t t/op/subst.t -____________________________________________________________________________ -[ 1443] By: gsar on 1998/07/11 23:08:14 - Log: tweak to get BSDI to build IPC/SysV - From: Jarkko Hietaniemi - Date: 11 Jul 1998 16:26:44 +0300 - Message-ID: - Subject: Re: NOT OK: perl5.004_71 on BSDI 3.1 +[ 3746] By: gsar on 1999/07/25 18:08:58 + Log: add option to omit Changes file, from Abigail ; + append a HISTORY section to POD if option is used Branch: perl - ! ext/IPC/SysV/SysV.xs + ! utils/h2xs.PL ____________________________________________________________________________ -[ 1442] By: gsar on 1998/07/11 23:03:39 - Log: fix closures in optimized C (only the tests are in this - change, the pp_hot.c fix accidentally went in change#1441) +[ 3745] By: gsar on 1999/07/25 17:40:03 + Log: warn rather than die when parse_version() can't cut it (from + Michael G Schwern ) Branch: perl - ! t/op/closure.t + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1441] By: gsar on 1998/07/11 22:35:40 - Log: From: Ilya Zakharevich - Date: Sat, 11 Jul 1998 18:21:21 -0400 (EDT) - Message-Id: <199807112221.SAA03221@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_71] Update os2's OS2::Process +[ 3744] By: gsar on 1999/07/25 16:32:48 + Log: make map behave like grep wrt indirect object slot when + there are parentheses; revert an experimental mod by Larry + in change#2038 that failed to parse %{{qw(a b c)}} properly + (this means C still needs a proper + fix) Branch: perl - ! os2/OS2/Process/Makefile.PL os2/OS2/Process/Process.pm - ! os2/OS2/Process/Process.xs pp_hot.c + ! toke.c ____________________________________________________________________________ -[ 1440] By: gsar on 1998/07/11 19:41:59 - Log: From: andreas.koenig@kulturbox.de (Andreas J. Koenig) - Date: 11 Jul 1998 17:00:21 +0200 - Message-ID: - Subject: [perl5.004_71] Patch: change MakeMaker default compress --> gzip - Branch: perl - ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm +[ 3743] By: jhi on 1999/07/25 16:24:55 + Log: Fix a typo in #3725. + Branch: cfgperl + ! utils/perlbug.PL ____________________________________________________________________________ -[ 1439] By: gsar on 1998/07/11 19:36:58 - Log: export newRV_noinc on win32, deprecate AvFILL in favor of av_len() - Branch: perl - ! pod/perlguts.pod win32/makedef.pl +[ 3742] By: jhi on 1999/07/25 16:14:39 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 26 files) ____________________________________________________________________________ -[ 1438] By: gsar on 1998/07/11 19:14:21 - Log: applied patch for perlfunc tweaks, removed reference to system qsort() - From: abigail@fnx.com - Date: Sat, 11 Jul 1998 04:20:54 -0400 (EDT) - Message-ID: <19980711082054.2184.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.004_71] pod/perlfunc.pod - Branch: perl - ! pod/perlfunc.pod +[ 3741] By: jhi on 1999/07/25 16:02:28 + Log: Cut-and-pasto in #3737. + Branch: cfgperl + ! perl.c ____________________________________________________________________________ -[ 1437] By: gsar on 1998/07/11 19:05:00 - Log: From: abigail@fnx.com - Date: Sat, 11 Jul 1998 04:09:57 -0400 (EDT) - Message-ID: <19980711080957.2106.qmail@betelgeuse.wayne.fnx.com> - Subject: [PATCH 5.004_71] pod/pod2man.PL +[ 3740] By: gsar on 1999/07/25 15:59:34 + Log: add note about glibc bug Branch: perl - ! pod/pod2man.PL + ! t/pragma/warn/pp_hot ____________________________________________________________________________ -[ 1436] By: gsar on 1998/07/11 18:58:03 - Log: more complete version of change#1421 - From: Stephen McCamant - Date: Fri, 10 Jul 1998 23:46:46 -0500 (CDT) - Message-ID: <13734.58994.735473.859218@alias-2.pr.mcs.net> - Subject: [PATCH] Re: B::Deparse for(1..100000) +[ 3739] By: gsar on 1999/07/25 15:48:40 + Log: fix bug in change#3728 that might free COPs prematurely; + null(op) now does more thorough scrubbing of the op, which + fixes a few compile-time memory "leaks" Branch: perl - ! ext/B/B/Deparse.pm + ! dump.c embed.h embed.pl op.c proto.h ____________________________________________________________________________ -[ 1435] By: gsar on 1998/07/11 18:54:42 - Log: win32 fixes for VC 6.0 nits - Branch: perl - ! ext/Data/Dumper/Dumper.xs win32/Makefile win32/makefile.mk - ! win32/win32.h +[ 3738] By: jhi on 1999/07/25 14:15:26 + Log: In accordance with #3737. + Branch: metaconfig + ! U/installdirs/sitelib.U U/installdirs/vendorprefix.U + ! U/modified/Oldconfig.U + Branch: metaconfig/U/perl + ! Extensions.U ____________________________________________________________________________ -[ 1434] By: gsar on 1998/07/11 18:45:32 - Log: s/AVHV/pseudo-hash/ (via PM) - From: Gisle Aas - Date: 11 Jul 1998 00:16:53 +0200 - Message-ID: - Subject: [PATCH] trivial fields.pm doc patch - Branch: perl - ! lib/fields.pm +[ 3737] By: jhi on 1999/07/25 14:12:34 + Log: Use vendorprefixlib. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH perl.c +____________________________________________________________________________ +[ 3736] By: jhi on 1999/07/25 13:10:03 + Log: Populate metaconfig branch. + Branch: metaconfig + + (add 1468 files) + Branch: metaconfig/U/perl + + (add 101 files) +____________________________________________________________________________ +[ 3735] By: jhi on 1999/07/25 12:27:20 + Log: First steps of making builds outside the source + directory possible. These should get us as far + as miniperl, then building DynaLoader falls into + tiny twinkling pieces as MakeMaker knows nothing + of VPATH mindset. + Branch: cfgperl + ! Configure Makefile.SH cflags.SH config_h.SH configpm + ! ext/util/make_ext lib/AutoSplit.pm makedepend.SH + ! pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL + ! pod/pod2text.PL pod/pod2usage.PL pod/podchecker.PL + ! pod/podselect.PL writemain.SH x2p/Makefile.SH x2p/cflags.SH +____________________________________________________________________________ +[ 3734] By: jhi on 1999/07/25 11:19:28 + Log: Poor Glossary--are we fixed yet? + Branch: cfgperl + ! Porting/Glossary ____________________________________________________________________________ -[ 1433] By: gsar on 1998/07/11 18:43:11 - Log: From: Laszlo Molnar - Date: Fri, 10 Jul 1998 23:12:11 +0200 - Message-ID: <19980710231211.A161@cdata.tvnet.hu> - Subject: [PATCH _71] dos-djgpp update +[ 3733] By: jhi on 1999/07/25 11:15:06 + Log: Change #3732 mistakenly clobbered Glossary. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 3732] By: jhi on 1999/07/25 10:46:39 + Log: Andy's new installation scheme (note: a lot of this + leaked in already with change #3731). The vendor* + stuff is not used anywhere (in *.SH, say), so it + isn't in Configure, either. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH +____________________________________________________________________________ +[ 3731] By: jhi on 1999/07/25 10:12:07 + Log: Circumcode a strange shell(?) bug in AIX found + while trying to do -Duse64bits (which I couldn't do + in the end because the CPU isn't 64-bit in that box, + but at least now the probing doesn't crash.) + Branch: cfgperl + ! Configure config_h.SH hints/aix.sh +____________________________________________________________________________ +[ 3730] By: gsar on 1999/07/25 04:56:56 + Log: fix little utf8 nits in testsuite; add patch from Ilya that cures + a utf8 bug in one of the new RE optimizations Branch: perl - ! Configure djgpp/config.over djgpp/djgppsed.sh djgpp/fixpmain + ! regcomp.c regexec.c t/harness t/lib/io_udp.t t/op/re_tests + ! t/pragma/locale.t +____________________________________________________________________________ +[ 3729] By: jhi on 1999/07/23 19:56:27 + Log: From: Andy Dougherty + To: Perl Porters + Subject: [PATCH 5.005_57] INSTALL-1.58 + Date: Fri, 23 Jul 1999 10:50:13 -0400 (EDT) + Message-Id: + + plus + + From: "Kurt D. Starsinic" + To: Andy Dougherty + Cc: Perl Porters + Subject: Re: [PATCH 5.005_57] INSTALL-1.58 + Date: Fri, 23 Jul 1999 13:38:25 -0400 + Message-ID: <19990723133825.A12033@O2.chapin.edu> + Branch: cfgperl + ! INSTALL ____________________________________________________________________________ -[ 1432] By: gsar on 1998/07/11 18:41:00 - Log: applied patch, reformatted long lines in places - From: Dominic Dunlop - Date: Fri, 10 Jul 1998 23:11:30 +0000 - Message-Id: - Subject: [PATCH 5.004_71] Re: Document "count exceeded" regular expression - warning +[ 3728] By: gsar on 1999/07/23 17:24:42 + Log: applied suggested patch for tracking line numbers correctly in + optimized blocks with a single statement; changed setcop to + setstate and added code for -Dx dumps + From: Hugo van der Sanden + Date: Wed, 23 Jun 1999 17:27:42 +0100 + Message-Id: <199906231627.RAA24033@crypt.compulink.co.uk> + Subject: [PATCH 5.005_57] Line number error in optimised else() Branch: perl - ! pod/perldiag.pod regexec.c + ! dump.c embed.h ext/Devel/DProf/DProf.xs ext/Opcode/Opcode.pm + ! objXSUB.h op.c opcode.h opcode.pl perlapi.c pp.sym pp_hot.c + ! pp_proto.h t/op/misc.t ____________________________________________________________________________ -[ 1431] By: gsar on 1998/07/11 18:29:18 - Log: From: "John L. Allen" - Date: Fri, 10 Jul 1998 13:57:01 -0400 (EDT) - Message-ID: - Subject: [PATCH]: _71 & _04 - Make AIX hints preserve ccflags as per docs +[ 3727] By: gsar on 1999/07/23 15:56:04 + Log: avoid useless use of target for pp_each(); also fixes bugs due to + refcount held by the target Branch: perl - ! hints/aix.sh + ! opcode.h opcode.pl pp.c t/op/each.t ____________________________________________________________________________ -[ 1430] By: TimBunce on 1998/07/11 18:15:09 - Log: Title: "Fix string substitution returncode problem" - From: Dominic Dunlop , Gurusamy Sarathy - Msg-ID: <199805271236.IAA28213@aatma.engin.umich.edu>, - - Files: pp_hot.c - Branch: maint-5.004/perl - ! pp_hot.c +[ 3726] By: jhi on 1999/07/23 12:08:30 + Log: Change #3725 aftershock. + Branch: cfgperl + ! INSTALL jpl/JNI/JNI.pm +____________________________________________________________________________ +[ 3725] By: jhi on 1999/07/23 11:58:49 + Log: Introduce $Config{ldlibpthname} which contains + the name of the environment variable holding the + dynamic library search path, often LD_LIBRARY_PATH. + Use this new feature all over. + Also removed remnants of admonition "add LD_LIBRARY_PATH + before running make" because Makefile.SH does this for you. + Branch: cfgperl + ! Configure Makefile.SH config_h.SH + ! ext/DynaLoader/DynaLoader_pm.PL hints/README.hints + ! hints/aix.sh hints/beos.sh hints/cygwin32.sh hints/dgux.sh + ! hints/epix.sh hints/esix4.sh hints/hpux.sh hints/next_4.sh + ! hints/os2.sh hints/rhapsody.sh hints/svr4.sh jpl/JNI/JNI.pm + ! jpl/install-jpl utils/perlbug.PL +____________________________________________________________________________ +[ 3724] By: jhi on 1999/07/23 08:03:36 + Log: From: Spider Boardman + To: perl5-porters@perl.org + Subject: [PATCH] Re: [ID 19990715.003] [BUG] all perl5 versions: segfault on $# + Date: Thu, 22 Jul 1999 19:58:34 -0400 + Message-Id: <199907222358.TAA27354@Orb.Nashua.NH.US> + Branch: cfgperl + ! av.c ____________________________________________________________________________ -[ 1429] By: gsar on 1998/07/11 18:07:52 - Log: applied patch, tweaked doc and code that does labels/indentation - From: Ilya Zakharevich - Date: Thu, 9 Jul 1998 21:39:40 -0400 (EDT) - Message-Id: <199807100139.VAA08617@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_71] perldebug.pod and RE +[ 3723] By: gsar on 1999/07/23 00:01:29 + Log: emit warning about function calls that were encountered too early + to enforce their prototype Branch: perl - ! pod/perldebug.pod regcomp.c regexec.c + ! op.c op.h pod/perldiag.pod ____________________________________________________________________________ -[ 1428] By: TimBunce on 1998/07/11 17:45:56 - Log: Assorted patches: - - Title: "makerel now reads local patch list from patchlevel.h" - Files: patchlevel.h Porting/makerel - - Title: "pod/pod2man.PL" - From: abigail@fnx.com - Msg-ID: <19980711080957.2106.qmail@betelgeuse.wayne.fnx.com> - Files: pod/pod2man.PL - - Title: "Clarify taint example in re.pm" - From: Tom Phoenix - Msg-ID: - Files: lib/re.pm - - Title: "Anohter ptags improvement" - From: Ilya Zakharevich - Msg-ID: <199807070059.UAA28815@monk.mps.ohio-state.edu> - Files: emacs/ptags +[ 3722] By: jhi on 1999/07/22 21:19:59 + Log: From: "Kurt D. Starsinic" + To: perl5-porters@perl.org + Cc: Chip Salzenberg , Gurusamy Sarathy + Subject: [PATCH] MakeMaker documentation + Date: Wed, 21 Jul 1999 14:15:42 -0400 + Message-ID: <19990721141542.A1800@O2.chapin.edu> + Branch: cfgperl + ! lib/ExtUtils/MakeMaker.pm +____________________________________________________________________________ +[ 3721] By: jhi on 1999/07/22 21:05:19 + Log: From: pvhp@forte.com (Peter Prymmer) + To: chip@perlsupport.com, gsar@activestate.com, perl-mvs@perl.org, perl5-porters@perl.org + Subject: [PATCH: 5.005_03 && 5.005_57]os390 hints file appendix stops bad builds + Date: Wed, 21 Jul 99 17:15:39 PDT + Message-Id: <9907220015.AA11931@forte.com> + Branch: cfgperl + ! hints/os390.sh +____________________________________________________________________________ +[ 3720] By: jhi on 1999/07/22 20:51:17 + Log: AIX magic: ccdlflags needs to be different for + Perl itself and for extra-core extensions + (as used by ExtUtilss::embed::ldopts). + Based on the problems described in - Title: "_71 & _04 - Make AIX hints preserve ccflags as per docs" - From: "John L. Allen" - Msg-ID: - Files: hints/aix.sh - Branch: maint-5.004/perl - ! Porting/makerel emacs/ptags hints/aix.sh lib/re.pm - ! patchlevel.h pod/pod2man.PL + From: Mike W Ellwood + To: perl5-porters@perl.org + Subject: [ID 19990722.002] Perl 5.00503 and AIX 4.1.5; perl.exp; build errors. Also Imagemagick... + Date: Thu, 22 Jul 1999 14:28:19 +0100 (BST) + Reply-To: m.w.ellwood@rl.ac.uk + Message-Id: + Branch: cfgperl + ! Configure Makefile.SH config_h.SH hints/aix.sh ____________________________________________________________________________ -[ 1427] By: gsar on 1998/07/11 17:04:47 - Log: make Liblist return consistently backslashed paths - Branch: perl - ! lib/ExtUtils/Liblist.pm +[ 3719] By: jhi on 1999/07/22 08:23:53 + Log: Update history records. + Branch: cfgperl + ! pod/perlhist.pod ____________________________________________________________________________ -[ 1426] By: gsar on 1998/07/11 16:53:56 - Log: don't 'touch a2p.c', it might readonly (via PM) - From: Robin Barker - Date: Fri, 10 Jul 98 17:19:54 BST - Message-Id: <20430.9807101619@tempest.cise.npl.co.uk> - Branch: perl - ! x2p/Makefile.SH +[ 3718] By: jhi on 1999/07/21 13:54:42 + Log: Todododobedobedo. + Branch: cfgperl + ! Todo ____________________________________________________________________________ -[ 1425] By: TimBunce on 1998/07/11 16:42:26 - Log: Title: "Add newCONSTSUB (from 5.005_70)" - Files: embed.h proto.h global.sym op.c - Branch: maint-5.004/perl - ! embed.h global.sym op.c proto.h -____________________________________________________________________________ -[ 1424] By: TimBunce on 1998/07/11 16:20:21 - Log: Title: "Assorted fixes for Sys::Syslog.pm" - From: "M.J.T. Guy" , Sean Robinson - , Tim.Bunce@ig.co.uk - Msg-ID: <01IXGLISWJ7Q0001B6@sc.maricopa.edu>, - <199805270939.KAA08453@toad.ig.co.uk>, - - Files: lib/Sys/Syslog.pm - Branch: maint-5.004/perl - ! lib/Sys/Syslog.pm +[ 3717] By: jhi on 1999/07/21 12:10:48 + Log: Even more Todo. + Branch: cfgperl + ! Todo ____________________________________________________________________________ -[ 1423] By: TimBunce on 1998/07/11 15:53:37 - Log: Assorted patches: +[ 3716] By: jhi on 1999/07/21 11:40:39 + Log: Use Errno more extensively so that error + messages are more portable (another way + would be to muck around with LC_MESSAGES). + Problem reported in - Title: "umask: die if EXPR & 0700 else return undef" - From: Chip Salzenberg , Jarkko Hietaniemi , - Jarkko Hietaniemi , Malcolm Beattie - , Tim.Bunce@ig.co.uk (Tim Bunce), - kstar@chapin.ed, kstar@chapin.edu@ig.co.uk () - Msg-ID: <199805291520.QAA01615@sable.ox.ac.uk>, - <199805291549.SAA01439@alpha.hut.fi>, - <199805291608.RAA29283@toad.ig.co.uk>, - <19980530105129.A24006@O2.chapin.edu>, - <19980608133037.A8793@perlsupport.com> - Files: pod/perldiag.pod pod/perlfunc.pod pp_sys.c - - Title: "File name DynaLoader.pm.PL is 8.3 unfriendly" - From: Laszlo Molnar - Msg-ID: <19980610005417.G162@cdata.tvnet.hu> - Files: MANIFEST ext/DynaLoader/Makefile.PL - Branch: maint-5.004/perl - +> ext/DynaLoader/DynaLoader_pm.PL - - ext/DynaLoader/DynaLoader.pm.PL - ! MANIFEST ext/DynaLoader/Makefile.PL pod/perldiag.pod - ! pod/perlfunc.pod pp_sys.c + From: oracle@pcr8.pcr.com + To: perl5-porters@perl.org + Subject: [ID 19990719.003] LC_MESSAGES breaks h2xs autoloaded constants on AIX 4.1.4 + Date: Mon, 19 Jul 1999 18:39:13 -0400 + Message-Id: <9907192239.AA44990@pcr8.pcr.com> + Branch: cfgperl + ! ext/DB_File/DB_File.pm ext/Fcntl/Fcntl.pm + ! ext/GDBM_File/GDBM_File.pm jpl/JNI/JNI.pm lib/AutoLoader.pm + ! lib/CPAN.pm pod/perllocale.pod utils/h2xs.PL ____________________________________________________________________________ -[ 1421] By: gsar on 1998/07/11 02:54:02 - Log: From: Gisle Aas - Subject: [PATCH] B::Deparse for(1..100000) - Date: 10 Jul 1998 14:04:44 +0200 - Message-ID: - Branch: perl - ! ext/B/B/Deparse.pm +[ 3715] By: jhi on 1999/07/21 11:05:36 + Log: Slightly modified patch. + From: Sean Sheedy + To: perl5-porters@perl.org + Subject: [ID 19990720.003] Perl 5.005_3 patch: Non-standard object extensions + Date: Tue, 20 Jul 1999 09:52:06 -0700 + Message-Id: <3794A935.1C150E54@ncube.com> + Branch: cfgperl + ! cflags.SH x2p/cflags.SH ____________________________________________________________________________ -[ 1420] By: gsar on 1998/07/11 02:28:18 - Log: add 'clean' target for ext/re - Branch: perl - ! ext/re/Makefile.PL +[ 3714] By: jhi on 1999/07/20 21:26:19 + Log: More Todo. + Branch: cfgperl + ! Todo ____________________________________________________________________________ -[ 1419] By: gsar on 1998/07/11 02:20:32 - Log: From: Tom Hughes - Date: 10 Jul 1998 10:25:18 +0100 - Message-ID: - Subject: [5.004_71] Patch: svr4 hints updates for Unixware - Branch: perl - ! hints/svr4.sh +[ 3713] By: jhi on 1999/07/20 18:02:45 + Log: Integrate with Sarathy. + Branch: cfgperl + +> ext/Devel/DProf/Changes ext/Devel/DProf/DProf.pm + +> ext/Devel/DProf/DProf.xs ext/Devel/DProf/Makefile.PL + +> ext/Devel/DProf/Todo t/lib/dprof.t t/lib/dprof/V.pm + +> t/lib/dprof/test1_t t/lib/dprof/test1_v t/lib/dprof/test2_t + +> t/lib/dprof/test2_v t/lib/dprof/test3_t t/lib/dprof/test3_v + +> t/lib/dprof/test4_t t/lib/dprof/test4_v t/lib/dprof/test5_t + +> t/lib/dprof/test5_v t/lib/dprof/test6_t t/lib/dprof/test6_v + +> utils/dprofpp.PL + !> INSTALL MAINTAIN MANIFEST configure.com + !> ext/Devel/Peek/Makefile.PL installman installperl + !> pod/roffitall utils/Makefile vms/descrip_mms.template + !> win32/Makefile win32/makefile.mk win32/win32.h +____________________________________________________________________________ +[ 3712] By: gsar on 1999/07/20 15:29:01 + Log: DProf tweak + Branch: perl + ! ext/Devel/DProf/DProf.xs +____________________________________________________________________________ +[ 3711] By: gsar on 1999/07/20 07:56:19 + Log: another DProf build tweak + Branch: perl + ! utils/dprofpp.PL +____________________________________________________________________________ +[ 3710] By: gsar on 1999/07/20 07:36:36 + Log: move DProf things around to where they are supposed to be + Branch: perl + + t/lib/dprof.t t/lib/dprof/V.pm t/lib/dprof/test1_t + + t/lib/dprof/test1_v t/lib/dprof/test2_t t/lib/dprof/test2_v + + t/lib/dprof/test3_t t/lib/dprof/test3_v t/lib/dprof/test4_t + + t/lib/dprof/test4_v t/lib/dprof/test5_t t/lib/dprof/test5_v + + t/lib/dprof/test6_t t/lib/dprof/test6_v + +> utils/dprofpp.PL + - ext/Devel/DProf/dprofpp.PL ext/Devel/DProf/t/V.pm + - ext/Devel/DProf/t/test1.pl ext/Devel/DProf/t/test1.t + - ext/Devel/DProf/t/test1.v ext/Devel/DProf/t/test2.t + - ext/Devel/DProf/t/test2.v ext/Devel/DProf/t/test3.t + - ext/Devel/DProf/t/test3.v ext/Devel/DProf/t/test4.t + - ext/Devel/DProf/t/test4.v ext/Devel/DProf/t/test5.t + - ext/Devel/DProf/t/test5.v ext/Devel/DProf/t/test6.t + - ext/Devel/DProf/t/test6.v ext/Devel/DProf/test.pl + ! INSTALL MANIFEST ext/Devel/DProf/Makefile.PL installman + ! installperl pod/roffitall utils/Makefile + ! vms/descrip_mms.template win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 3709] By: gsar on 1999/07/20 06:13:16 + Log: DProf fixups for PERL_IMPLICIT_CONTEXT + Branch: perl + ! ext/Devel/DProf/DProf.xs ext/Devel/DProf/Makefile.PL + ! ext/Devel/Peek/Makefile.PL +____________________________________________________________________________ +[ 3708] By: gsar on 1999/07/20 06:01:22 + Log: move DProf to Devel/DProf + Branch: perl + +> ext/Devel/DProf/Changes ext/Devel/DProf/DProf.pm + +> ext/Devel/DProf/DProf.xs ext/Devel/DProf/Makefile.PL + +> ext/Devel/DProf/Todo ext/Devel/DProf/dprofpp.PL + +> ext/Devel/DProf/t/V.pm ext/Devel/DProf/t/test1.pl + +> ext/Devel/DProf/t/test1.t ext/Devel/DProf/t/test1.v + +> ext/Devel/DProf/t/test2.t ext/Devel/DProf/t/test2.v + +> ext/Devel/DProf/t/test3.t ext/Devel/DProf/t/test3.v + +> ext/Devel/DProf/t/test4.t ext/Devel/DProf/t/test4.v + +> ext/Devel/DProf/t/test5.t ext/Devel/DProf/t/test5.v + +> ext/Devel/DProf/t/test6.t ext/Devel/DProf/t/test6.v + +> ext/Devel/DProf/test.pl + - ext/DProf/Changes ext/DProf/DProf.pm ext/DProf/DProf.xs + - ext/DProf/Makefile.PL ext/DProf/Todo ext/DProf/dprofpp.PL + - ext/DProf/t/V.pm ext/DProf/t/test1.pl ext/DProf/t/test1.t + - ext/DProf/t/test1.v ext/DProf/t/test2.t ext/DProf/t/test2.v + - ext/DProf/t/test3.t ext/DProf/t/test3.v ext/DProf/t/test4.t + - ext/DProf/t/test4.v ext/DProf/t/test5.t ext/DProf/t/test5.v + - ext/DProf/t/test6.t ext/DProf/t/test6.v ext/DProf/test.pl + ! MAINTAIN MANIFEST configure.com win32/Makefile + ! win32/makefile.mk +____________________________________________________________________________ +[ 3707] By: gsar on 1999/07/20 05:39:11 + Log: add Devel::DProf v19990108 from CPAN, as it was + Branch: perl + + ext/DProf/Changes ext/DProf/DProf.pm ext/DProf/DProf.xs + + ext/DProf/Makefile.PL ext/DProf/Todo ext/DProf/dprofpp.PL + + ext/DProf/t/V.pm ext/DProf/t/test1.pl ext/DProf/t/test1.t + + ext/DProf/t/test1.v ext/DProf/t/test2.t ext/DProf/t/test2.v + + ext/DProf/t/test3.t ext/DProf/t/test3.v ext/DProf/t/test4.t + + ext/DProf/t/test4.v ext/DProf/t/test5.t ext/DProf/t/test5.v + + ext/DProf/t/test6.t ext/DProf/t/test6.v ext/DProf/test.pl + ! MANIFEST +____________________________________________________________________________ +[ 3706] By: gsar on 1999/07/20 04:52:25 + Log: C needs no PERL_OBJECT-treatment + Branch: perl + ! win32/win32.h +____________________________________________________________________________ +[ 3705] By: gsar on 1999/07/20 04:11:54 + Log: fix problem in default build + Branch: perl + ! win32/Makefile win32/makefile.mk +____________________________________________________________________________ +[ 3704] By: jhi on 1999/07/19 07:06:36 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Changes lib/Carp.pm makedef.pl pod/perldiag.pod sv.h util.c + !> win32/win32.c ____________________________________________________________________________ -[ 1418] By: gsar on 1998/07/11 02:19:12 - Log: move op/ipc{msg,sem}.t into lib/ipc_sysv.t - From: Jarkko Hietaniemi - Date: Fri, 10 Jul 1998 13:08:08 +0300 (EET DST) - Message-Id: <199807101008.NAA10817@alpha.hut.fi> - Subject: Re: make minitest does not work out of the box - test subset - needs pruning +[ 3703] By: gsar on 1999/07/19 05:55:57 + Log: win32 nits Branch: perl - + t/lib/ipc_sysv.t - - t/op/ipcmsg.t t/op/ipcsem.t - ! MANIFEST + ! makedef.pl sv.h ____________________________________________________________________________ -[ 1417] By: gsar on 1998/07/11 02:14:16 - Log: disable CR croaking (via #define, default off) in lieu of more - complete fix +[ 3702] By: gsar on 1999/07/19 04:29:34 + Log: don't display tid from main thread (or testsuite breaks) Branch: perl - ! toke.c + ! lib/Carp.pm util.c ____________________________________________________________________________ -[ 1416] By: gsar on 1998/07/11 02:06:11 - Log: added patch, made linking with setargv a build option - From: "Douglas Lankshear" - Date: Thu, 9 Jul 1998 09:51:42 -0700 - Message-ID: <000101bdab59$d9602dc0$a32fa8c0@tau.Active> - Subject: [PATCH 5.004_71] +[ 3701] By: gsar on 1999/07/19 00:47:52 + Log: remove several doubled (and tripled!) entries Branch: perl - ! perl.c pp_sys.c win32/Makefile win32/makefile.mk + ! pod/perldiag.pod ____________________________________________________________________________ -[ 1415] By: gsar on 1998/07/11 01:47:19 - Log: From: Tom Hughes - Date: 10 Jul 1998 09:01:12 +0100 - Message-ID: - Subject: [5.004_71] Patch: Fix perl_exp.SH for Unixware +[ 3700] By: gsar on 1999/07/19 00:42:34 + Log: integrate cfgperl contents into mainline Branch: perl - ! perl_exp.SH + +> makedef.pl + - perl_exp.SH win32/makedef.pl + !> MANIFEST Makefile.SH ext/DynaLoader/DynaLoader_pm.PL + !> ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_vms.xs hints/aix.sh + !> pod/perldiag.pod pp.c regexec.c t/pragma/warn/util toke.c + !> utf8.c util.c win32/Makefile win32/makefile.mk ____________________________________________________________________________ -[ 1414] By: gsar on 1998/07/11 01:45:45 - Log: make lib/re.pm a prereq for minitest +[ 3699] By: gsar on 1999/07/19 00:33:59 + Log: avoid bug in win32_str_os_error() (from Jan Dubois) Branch: perl - ! Makefile.SH + ! Changes win32/win32.c ____________________________________________________________________________ -[ 1413] By: gsar on 1998/07/11 01:40:56 - Log: add patch (via PM) - From: Stephen McCamant - Date: Fri, 10 Jul 1998 01:14:11 -0500 (CDT) - Message-ID: <13733.45251.47363.431138@alias-2.pr.mcs.net> - Subject: Big B::Deparse update - Branch: perl - ! ext/B/B/Deparse.pm +[ 3698] By: jhi on 1999/07/18 21:33:57 + Log: Integrate with Sarathy. + Branch: cfgperl + +> t/op/chars.t + !> (integrate 57 files) ____________________________________________________________________________ -[ 1412] By: gsar on 1998/07/11 00:25:17 - Log: add perlport.pod v1.23 from Chris Nandor +[ 3697] By: gsar on 1999/07/18 05:22:36 + Log: From: pvhp@forte.com (Peter Prymmer) + Date: Thu, 1 Jul 99 19:31:24 PDT + Message-Id: <9907020231.AA16942@forte.com> + Subject: [ID 19990701.031] 4 ctl chars on EBCDIC not asciiish enough Branch: perl - + pod/perlport.pod - ! pod/perl.pod + + t/op/chars.t + ! MANIFEST ebcdic.c t/op/ord.t ____________________________________________________________________________ -[ 1411] By: gsar on 1998/07/10 21:53:06 - Log: make binmode(STDIN) not whine - From: Dan Sugalski - Date: Thu, 09 Jul 1998 16:51:27 -0700 - Message-Id: <3.0.5.32.19980709165127.00a692e0@ous.edu> - Subject: [PATCH 5.004_70] Fix up binmode() for VMS +[ 3696] By: gsar on 1999/07/18 05:11:02 + Log: display thread id in diagnostics (suggested by Dan Sugalski) Branch: perl - ! vms/vms.c + ! lib/Carp.pm util.c ____________________________________________________________________________ -[ 1410] By: gsar on 1998/07/10 21:50:57 - Log: CPAN-1.39 update - From: koenig@kulturbox.de (Andreas J. Koenig) - Date: 10 Jul 1998 00:45:36 +0200 - Message-ID: - Subject: Re: perl5.004_71 hit the stands this morn +[ 3695] By: gsar on 1999/07/18 04:57:47 + Log: missing perldiag entry (from Dan Sugalski ) Branch: perl - ! MANIFEST lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm + ! pod/perldiag.pod ____________________________________________________________________________ -[ 1409] By: gsar on 1998/07/10 21:45:10 - Log: manually apply patch with conflicts - From: Dan Sugalski - Date: Thu, 09 Jul 1998 12:08:33 -0700 - Message-Id: <3.0.5.32.19980709120833.009eb100@ous.edu> - Subject: [PATCH 5.004_70] Updated duble-quotes in config.h/config.pm patch +[ 3694] By: gsar on 1999/07/18 04:56:28 + Log: cache [NIUP]V conversions of defined READONLY values + From: Ilya Zakharevich + Date: Sun, 11 Jul 1999 04:39:44 -0400 + Message-ID: <19990711043944.A25944@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] Allow caching of numeric/string conversion Branch: perl - ! configpm + ! sv.c ____________________________________________________________________________ -[ 1408] By: gsar on 1998/07/10 21:36:54 - Log: From: Andy Dougherty - Date: Thu, 9 Jul 1998 11:58:30 -0400 (EDT) - Message-Id: - Subject: Re: perldelta.pod [PATCH] +[ 3693] By: gsar on 1999/07/18 03:53:38 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Sat, 17 Jul 1999 10:58:29 +0200 + Message-ID: <379144ad.13616689@smtp1.ibm.net> + Subject: [PATCH 5.005] Some lib/ExtUtils/Manifest.pm POD fixes Branch: perl - ! pod/perldelta.pod + ! lib/ExtUtils/Manifest.pm ____________________________________________________________________________ -[ 1407] By: gsar on 1998/07/10 21:35:13 - Log: From: Andy Dougherty - Date: Thu, 9 Jul 1998 11:26:03 -0400 (EDT) - Subject: [PATCH 5.004_71] Allow static build of IPC::SysV - Message-Id: +[ 3692] By: gsar on 1999/07/18 03:51:03 + Log: remove spurious newSTATEOP() that causes goto to enter one too many + contexts when jumping between if and elsif blocks Branch: perl - ! ext/IPC/SysV/Makefile.PL + ! perly.c perly.y pp_ctl.c t/op/goto.t ____________________________________________________________________________ -[ 1406] By: gsar on 1998/07/10 21:33:30 - Log: manually apply patch with conflicts - From: kstar@chapin.edu - Message-ID: <19980709093621.B7857@O2.chapin.edu> - Date: Thu, 9 Jul 1998 09:36:21 -0400 - Subject: Re: [PATCH] 5.004_70 installperl and docs +[ 3691] By: gsar on 1999/07/18 01:49:59 + Log: detypo, update Changes Branch: perl - ! installperl + ! Changes doio.c ____________________________________________________________________________ -[ 1405] By: gsar on 1998/07/10 21:28:29 - Log: misc tweaks to docs and qsortsv() warning +[ 3690] By: gsar on 1999/07/18 01:16:59 + Log: mention the -Minteger effect on modulus (from Nathan Torkington) Branch: perl - ! Changes pod/perldelta.pod pod/perlsub.pod pp_ctl.c + ! lib/integer.pm ____________________________________________________________________________ -[ 1404] By: gsar on 1998/07/10 21:23:53 - Log: add more correct version of change#1350 (as yet untested) - From: joshua.pritikin@db.com - Date: Thu, 9 Jul 1998 09:22:46 -0400 - Message-Id: - Subject: Re: [PATCH _70] cache missing methods +[ 3689] By: gsar on 1999/07/18 00:47:17 + Log: ensure __END__ appears on a line by itself in wrapped + scripts (thanks to Steve Tolkin ); + mention caveat about successfull kill() Branch: perl - ! embedvar.h gv.c interp.sym intrpvar.h perlvars.h + ! pod/perlfunc.pod win32/bin/pl2bat.pl ____________________________________________________________________________ -[ 1403] By: gsar on 1998/07/10 20:46:12 - Log: add win32_rename() that does what docs say +[ 3688] By: gsar on 1999/07/17 20:47:44 + Log: noecho noops (from Nicholas Clark ) Branch: perl - ! win32/GenCAPI.pl win32/makedef.pl win32/perlhost.h - ! win32/win32.c win32/win32iop.h + ! ext/SDBM_File/sdbm/Makefile.PL ____________________________________________________________________________ -[ 1402] By: gsar on 1998/07/10 20:19:18 - Log: inet_aton() should do DNS lookup only if arg isn't a dotted-quad - (suggested by Philippe.Simonet@swisscom.com) +[ 3687] By: gsar on 1999/07/17 20:43:27 + Log: make CC.pm use a distinct CCPP() macro rather than PP() + (suggested by Vishal Bhatia ) Branch: perl - ! ext/Socket/Socket.xs + ! cc_runtime.h ext/B/B/CC.pm ____________________________________________________________________________ -[ 1401] By: gsar on 1998/07/10 03:24:45 - Log: undo change#1379 (order of tests *is* significant) +[ 3686] By: gsar on 1999/07/17 20:39:08 + Log: tiny bug in vars.pm (from John Dlugosz) Branch: perl - ! t/lib/posix.t -____________________________________________________________________________ -[ 1400] By: nick on 1998/07/09 17:43:14 - Log: Integrate mainline (_071-ish) - Branch: ansiperl - +> ext/Data/Dumper/Changes ext/Data/Dumper/Dumper.pm - +> ext/Data/Dumper/Dumper.xs ext/Data/Dumper/Makefile.PL - +> ext/Data/Dumper/Todo ext/IPC/SysV/ChangeLog - +> ext/IPC/SysV/MANIFEST ext/IPC/SysV/Makefile.PL - +> ext/IPC/SysV/Msg.pm ext/IPC/SysV/README - +> ext/IPC/SysV/Semaphore.pm ext/IPC/SysV/SysV.pm - +> ext/IPC/SysV/SysV.xs ext/IPC/SysV/t/msg.t ext/IPC/SysV/t/sem.t - +> ext/re/Makefile.PL ext/re/re.pm ext/re/re.xs pp_proto.h - +> t/io/iprefix.t t/lib/dumper-ovl.t t/lib/dumper.t - !> (integrate 145 files) - ----------------- -Version 5.004_71 ----------------- - + ! lib/vars.pm ____________________________________________________________________________ -[ 1399] By: gsar on 1998/07/09 12:15:12 - Log: update Changes, perlhist.pod, beginnings of perldelta.pod +[ 3685] By: gsar on 1999/07/17 20:37:27 + Log: applied suggested patch, along with later tweak + From: jan.dubois@ibm.net (Jan Dubois) + Date: Wed, 14 Jul 1999 23:53:43 +0200 + Message-ID: <37a902e7.15977234@smtp1.ibm.net> + Subject: Merge ActivePerl Stylesheet support etc into Pod::Html.pm Branch: perl - ! Changes pod/perldelta.pod pod/perlhist.pod + ! lib/Pod/Html.pm ____________________________________________________________________________ -[ 1397] By: gsar on 1998/07/09 08:35:39 - Log: merge changes from maintbranch (1354, and relevant part of 1356); all - maintenance changes upto 1356 merged +[ 3684] By: gsar on 1999/07/17 20:24:32 + Log: avoid #ifdef DEBUGGING in thrdvar.h (from Dominic Dunlop ) Branch: perl - ! pod/perldiag.pod pp_hot.c t/op/misc.t + ! thrdvar.h ____________________________________________________________________________ -[ 1396] By: gsar on 1998/07/09 08:02:52 - Log: add Data-Dumper, up patchlevel to 71, various misc tweaks to - make all configs build on Solaris and win32 +[ 3683] By: gsar on 1999/07/17 20:21:01 + Log: From: Ilya Zakharevich + Date: Tue, 13 Jul 1999 05:44:28 -0400 (EDT) + Message-Id: <199907130944.FAA04473@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] Segfaults if $^P Branch: perl - + ext/Data/Dumper/Changes ext/Data/Dumper/Dumper.pm - + ext/Data/Dumper/Dumper.xs ext/Data/Dumper/Makefile.PL - + ext/Data/Dumper/Todo t/lib/dumper-ovl.t t/lib/dumper.t - ! MANIFEST Todo patchlevel.h win32/Makefile win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/makefile.mk + ! embed.h embed.pl global.sym mg.c objXSUB.h perl.c perlapi.c + ! proto.h ____________________________________________________________________________ -[ 1395] By: gsar on 1998/07/09 05:39:48 - Log: From: Stephen McCamant - Date: Wed, 08 Jul 1998 23:16:49 CDT - Message-Id: <13732.16626.904108.608743@alias-2.pr.mcs.net> - Subject: [PATCH] UNOP opclass test in B.xs +[ 3682] By: gsar on 1999/07/17 20:04:17 + Log: use a better prefixify() heuristic than m/perl/ (prefix/lib/perl5 + and prefix/lib/perl5/man are ass_u_med only if those directories + actually exist; else prefix/{lib,man} are used) Branch: perl - ! ext/B/B.xs + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1394] By: gsar on 1998/07/09 05:37:48 - Log: get it building again on win32 +[ 3681] By: gsar on 1999/07/17 19:12:33 + Log: allow $foo{$x} and $bar[$i] for (\$) prototype Branch: perl - ! bytecode.h embed.h ext/re/Makefile.PL global.sym intrpvar.h - ! op.c opcode.pl perl.h pp.c pp_ctl.c pp_hot.c pp_proto.h - ! pp_sys.c proto.h win32/Makefile win32/makedef.pl - ! win32/makefile.mk + ! op.c t/comp/proto.t ____________________________________________________________________________ -[ 1393] By: gsar on 1998/07/09 05:20:31 - Log: applied patch from Ilya, tweaked some to get clean static build of - the ext/re stuff (untested on win32) +[ 3680] By: gsar on 1999/07/17 18:23:55 + Log: fix vec() on magic values + From: Ian Phillipps + Date: Mon, 12 Jul 1999 12:30:05 +0100 + Message-ID: <19990712123005.A11355@homer.diplex.co.uk> + Subject: [PATCH 5.005_57] Re: do_vecset is broken. Re: [ID 19990703.003]. Branch: perl - ! regcomp.c regexec.c + ! doop.c t/op/tie.t ____________________________________________________________________________ -[ 1392] By: gsar on 1998/07/09 03:56:45 - Log: fix installperl typo - From: kstar@chapin.edu - Date: Wed, 08 Jul 1998 23:51:57 EDT - Message-Id: <19980708235157.D1380@O2.chapin.edu> - Subject: Re: [PATCH] 5.004_70 installperl and docs +[ 3679] By: gsar on 1999/07/17 18:10:44 + Log: make system() return -1 and set $! if exec of child failed + From: Ilya Zakharevich + Date: Fri, 9 Jul 1999 05:21:13 -0400 + Message-ID: <19990709052113.A6201@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] system()==-1 and $! from failing fork/exec Branch: perl - ! installperl + ! doio.c embed.h embed.pl global.sym objXSUB.h perlapi.c + ! pod/perlfunc.pod pp_sys.c proto.h t/op/exec.t ____________________________________________________________________________ -[ 1391] By: gsar on 1998/07/09 01:48:16 - Log: From: Chip Salzenberg - Date: Wed, 8 Jul 1998 18:10:55 -0400 - Message-ID: <19980708181055.A8005@perlsupport.com> - Subject: [PATCH _70] Allow $SIG{CHLD}='IGNORE' to work on Solaris +[ 3678] By: gsar on 1999/07/17 17:54:01 + Log: From: Ilya Zakharevich + Date: Fri, 9 Jul 1999 04:27:51 -0400 (EDT) + Message-Id: <199907090827.EAA03321@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] File descriptor leak in do_exec3 Branch: perl ! util.c ____________________________________________________________________________ -[ 1390] By: gsar on 1998/07/09 01:45:16 - Log: added patch, tweaked per Ilya's suggestion - From: "M.J.T. Guy" - Date: Wed, 8 Jul 1998 13:34:42 +0100 - Message-Id: - Subject: [PATCH] perl5db.pl complains about non-integer condition - Branch: perl - ! lib/perl5db.pl -____________________________________________________________________________ -[ 1389] By: gsar on 1998/07/09 01:42:13 - Log: reenable misaligned memory checks, cast to UV & check alignment - From: Dominic Dunlop - Date: Wed, 8 Jul 1998 11:21:48 +0000 - Message-Id: - Subject: Re: [PATCH 5.00469] corrupt malloc ptr on NeXT - Branch: perl - ! malloc.c -____________________________________________________________________________ -[ 1388] By: gsar on 1998/07/09 01:36:22 - Log: From: Andy Dougherty - Date: Wed, 8 Jul 1998 13:32:07 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.004_70] more on finding metaconfig units. +[ 3677] By: gsar on 1999/07/17 17:34:38 + Log: a modernized version of find2perl from Ken Pizzini ; + converted Ken's documentation outline into pod Branch: perl - ! Porting/pumpkin.pod + ! x2p/find2perl.PL ____________________________________________________________________________ -[ 1387] By: gsar on 1998/07/09 01:35:23 - Log: From: Andy Dougherty - Date: Wed, 8 Jul 1998 13:29:34 -0400 (EDT) - Message-Id: - Subject: Configure indentation patch +[ 3676] By: gsar on 1999/07/17 16:34:09 + Log: pod fixes (with minor edits) from Abigail, Ronald Kimball, Jon + Waddington, Tuomas Lukka, Steven Tolkin, Ian Phillipps, and + Steve Lidie Branch: perl - ! Configure + ! pod/Win32.pod pod/perldelta.pod pod/perlfaq.pod + ! pod/perlfaq1.pod pod/perlfaq2.pod pod/perlfaq3.pod + ! pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfunc.pod + ! pod/perlguts.pod pod/perlhist.pod pod/perlop.pod + ! pod/perlport.pod pod/perltoc.pod pod/perltodo.pod + ! pod/perltoot.pod pod/perltootc.pod pod/perlvar.pod ____________________________________________________________________________ -[ 1386] By: gsar on 1998/07/09 01:33:31 - Log: don't try to hardlink perldiag.pod; that is no longer not needed - From: Andy Dougherty - Date: Wed, 8 Jul 1998 12:18:32 -0400 (EDT) - Message-Id: - Subject: Re: pelr installation attempts hard links between file systems +[ 3675] By: gsar on 1999/07/17 00:16:53 + Log: backout redundant change#3628 Branch: perl - ! installperl + ! Changes hints/bsdos.sh ____________________________________________________________________________ -[ 1385] By: gsar on 1998/07/09 01:28:05 - Log: win32/makefile.mk =~ s|gcc -pipe|gcc| - Branch: perl +[ 3674] By: jhi on 1999/07/15 14:26:03 + Log: Fix the bin/oct/hex constant overflow tests for + long long platforms. + Branch: cfgperl + ! t/pragma/warn/util +____________________________________________________________________________ +[ 3673] By: jhi on 1999/07/14 21:59:11 + Log: Fixed AIX dynamic loading and AIX shared Perl library. + Tested in: AIX 4.1.5 cc+useshrplib+usethreads, 4.1.5 cc, + 4.1.5 gcc+useshrplib+usethreads, 4.3.1 cc+useshrplib. + Hijacked win32/makedef.pl for more general purpose export + list building, now it is used (as toplevel makedef.pl) + for win32 and AIX (perl_exp.SH made unnecessary). + Because the export lists are now correct in AIX, no more linker + warnings about "Exported symbol not defined" should appear. + Branch: cfgperl + + makedef.pl + - perl_exp.SH win32/makedef.pl + ! MANIFEST Makefile.SH ext/DynaLoader/DynaLoader_pm.PL + ! ext/DynaLoader/dl_aix.xs hints/aix.sh win32/Makefile ! win32/makefile.mk ____________________________________________________________________________ -[ 1384] By: gsar on 1998/07/09 01:26:19 - Log: make t/TEST run 'perl $switches ./foo/test.t' everywhere +[ 3672] By: gsar on 1999/07/14 17:12:13 + Log: minor efficiency tweak Branch: perl - ! t/TEST + ! pp_ctl.c ____________________________________________________________________________ -[ 1383] By: gsar on 1998/07/09 01:06:47 - Log: manually apply patch with a dependency on unapplied patch - From: Ilya Zakharevich - Date: Wed, 8 Jul 1998 07:03:51 -0400 (EDT) - Message-Id: <199807081103.HAA25145@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_70] make quoted RE embeddable - Branch: perl - ! sv.c t/op/pat.t +[ 3671] By: jhi on 1999/07/14 16:22:39 + Log: The regexec.c change of #3606 caused a core dump in fbm_instr() + if its caller re_intuit_start() was entered with strend == strpos + because end_shift ended up as -1. The patch ain't necessarily + correct but least the core dump is avoided. + Branch: cfgperl + ! regexec.c ____________________________________________________________________________ -[ 1382] By: gsar on 1998/07/09 01:02:23 - Log: change order of libs for extensions - From: Laszlo Molnar - Date: Tue, 7 Jul 1998 23:48:05 +0200 - Message-ID: <19980707234805.C180@cdata.tvnet.hu> - Subject: [PATCH _70] linking problem with modules - Branch: perl - ! lib/ExtUtils/MM_Unix.pm +[ 3670] By: jhi on 1999/07/13 07:59:09 + Log: Integrate with Sarathy. + Branch: cfgperl + - XSlock.h win32/GenCAPI.pl win32/TEST win32/autosplit.pl + - win32/genxsdef.pl win32/makemain.pl win32/makeperldef.pl + !> (integrate 67 files) ____________________________________________________________________________ -[ 1381] By: gsar on 1998/07/09 00:56:12 - Log: patch for more flexible initialization of xsub parameters - From: Tye McQueen - Date: Mon, 6 Jul 1998 19:04:27 -0500 (CDT) - Message-Id: <199807070004.AA16454@metronet.com> - Subject: Enhanced arg inits for xsubpp +[ 3669] By: gsar on 1999/07/12 06:14:54 + Log: fixups for sundry warnings about function pointers Branch: perl - ! lib/ExtUtils/xsubpp pod/perlxs.pod + ! ext/re/re.xs intrpvar.h op.c perl.c perl.h pp_ctl.c scope.h + ! sv.c thrdvar.h util.c win32/Makefile win32/makefile.mk + ! win32/win32.c win32/win32.h ____________________________________________________________________________ -[ 1380] By: gsar on 1998/07/09 00:44:01 - Log: From: Tye McQueen - Date: Mon, 6 Jul 1998 17:34:54 -0500 (CDT) - Message-Id: <16619-17073@lyris.activestate.com> - Subject: New pl2bat.pl +[ 3668] By: gsar on 1999/07/12 04:11:58 + Log: tweaks for win32/borland Branch: perl - ! win32/bin/pl2bat.pl + ! t/pragma/locale.t win32/makedef.pl win32/makefile.mk ____________________________________________________________________________ -[ 1379] By: gsar on 1998/07/09 00:30:58 - Log: remove ordering dependency in posix.t +[ 3667] By: gsar on 1999/07/12 01:55:15 + Log: yet more cleanups of the PERL_OBJECT, MULTIPLICITY and USE_THREADS + builds; passing the implicit context is unified among the three + flavors; PERL_IMPLICIT_CONTEXT is auto-enabled under all three + flavors (see the top of perl.h) for testing; all varargs functions + foo() have a va_list-taking variant vfoo() for generating the + context-free versions; the PERL_OBJECT build should now be + hyper-compatible with CPAN extensions (C++ is totally out of + the picture) + + result has only been tested on Windows + + TODO: write docs on the THX rationale and idiomatic usage of + the Perl API Branch: perl - ! t/lib/posix.t + - XSlock.h win32/GenCAPI.pl win32/TEST win32/autosplit.pl + - win32/genxsdef.pl win32/makemain.pl win32/makeperldef.pl + ! MANIFEST XSUB.h bytecode.pl deb.c dump.c embed.h embed.pl + ! embedvar.h ext/B/B.xs ext/ByteLoader/ByteLoader.xs + ! ext/ByteLoader/byterun.c ext/Data/Dumper/Dumper.xs + ! ext/Devel/Peek/Peek.xs ext/Fcntl/Fcntl.xs ext/IO/IO.xs + ! ext/Opcode/Opcode.xs ext/POSIX/POSIX.xs + ! ext/SDBM_File/SDBM_File.xs ext/Socket/Socket.xs + ! ext/Thread/Thread.xs ext/attrs/attrs.xs ext/re/re.xs + ! global.sym globals.c intrpvar.h iperlsys.h + ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm + ! lib/ExtUtils/MakeMaker.pm lib/ExtUtils/xsubpp lib/base.pm + ! lib/warning.pm malloc.c objXSUB.h perl.c perl.h perlapi.c + ! perlapi.h perlio.c pp_sys.c proto.h regcomp.c regexec.c + ! scope.c sv.c thrdvar.h util.c win32/Makefile win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/config_h.PL + ! win32/dl_win32.xs win32/include/dirent.h + ! win32/include/sys/socket.h win32/makedef.pl win32/makefile.mk + ! win32/perllib.c win32/runperl.c win32/win32.c win32/win32.h + ! win32/win32iop.h win32/win32sck.c ____________________________________________________________________________ -[ 1378] By: gsar on 1998/07/08 20:17:43 - Log: make -i'*suffix' work too - Branch: perl - ! doio.c +[ 3666] By: jhi on 1999/07/11 22:00:13 + Log: Integrate with Sarathy. + Branch: cfgperl + !> op.c t/op/lex_assign.t ____________________________________________________________________________ -[ 1377] By: gsar on 1998/07/08 08:56:28 - Log: regen headers; result builds & tests on Solaris again (threaded) - Branch: perl - ! embedvar.h +[ 3665] By: jhi on 1999/07/11 21:59:01 + Log: More manual sync. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 1376] By: gsar on 1998/07/08 08:55:03 - Log: change#1350 breaks things, back it out +[ 3664] By: gsar on 1999/07/11 19:11:07 + Log: change#3612 was buggy and failed to build Tk; applied Ilya's + remedy and related tests via private mail Branch: perl - ! embedvar.h gv.c interp.sym intrpvar.h perlvars.h + ! op.c t/op/lex_assign.t ____________________________________________________________________________ -[ 1375] By: gsar on 1998/07/08 07:47:00 - Log: From: Ilya Zakharevich - Date: Wed, 8 Jul 1998 01:30:15 -0400 (EDT) - Message-Id: <199807080530.BAA14072@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_70] Switch modifiers in RE off - Branch: perl - ! pod/perlre.pod regcomp.c t/op/re_tests +[ 3663] By: jhi on 1999/07/11 15:04:37 + Log: Manual synchronization with Sarathy (some files + had drifted apart for no apparent reason), plus + I had a typo in dl_vms.xs Sarathy had fixed. + Branch: cfgperl + ! ext/DynaLoader/dl_vms.xs pod/perldelta.pod pp.c pp_sys.c ____________________________________________________________________________ -[ 1374] By: gsar on 1998/07/08 07:41:06 - Log: From: Gisle Aas - Date: 07 Jul 1998 23:08:59 +0200 - Message-ID: - Subject: [PATCH] Faster copying from SvIV/SvNVs in sv_setsv() - Branch: perl - ! sv.c +[ 3662] By: jhi on 1999/07/10 12:23:21 + Log: Change t/pragma/warn oct()/hex() overflow tests to use %Config + to adapt to the underlying platform (the binary, 0b1..., test + was broken in 64-bit platforms). Also change "hex" in the + warning messages to "hexadecimal" to match "binary" and "octal". + Branch: cfgperl + ! pod/perldiag.pod t/pragma/warn/util util.c ____________________________________________________________________________ -[ 1373] By: gsar on 1998/07/08 07:36:01 - Log: From: Laszlo Molnar - Date: Tue, 7 Jul 1998 23:47:50 +0200 - Message-ID: <19980707234750.A180@cdata.tvnet.hu> - Subject: [PATCH _70] dos-djgpp update - Branch: perl - ! djgpp/config.over djgpp/djgppsed.sh +[ 3661] By: jhi on 1999/07/08 21:54:55 + Log: Integrate with Sarathy. + Branch: cfgperl + +> perlapi.c perlapi.h + !> (integrate 43 files) ____________________________________________________________________________ -[ 1372] By: gsar on 1998/07/08 07:12:47 - Log: add extension to support SysV IPC - From: Jarkko Hietaniemi - Date: Tue, 7 Jul 1998 02:32:53 +0300 (EET DST) - Message-Id: <199807062332.CAA25792@alpha.hut.fi> - Subject: [PATCH] 5.004_70: IPC::SysV - Branch: perl - + ext/IPC/SysV/ChangeLog ext/IPC/SysV/MANIFEST - + ext/IPC/SysV/Makefile.PL ext/IPC/SysV/Msg.pm - + ext/IPC/SysV/README ext/IPC/SysV/Semaphore.pm - + ext/IPC/SysV/SysV.pm ext/IPC/SysV/SysV.xs ext/IPC/SysV/t/msg.t - + ext/IPC/SysV/t/sem.t - ! Configure MANIFEST pod/perlfunc.pod pod/perlipc.pod - ! t/op/ipcmsg.t t/op/ipcsem.t -____________________________________________________________________________ -[ 1371] By: gsar on 1998/07/08 05:12:07 - Log: add patch for C - From: Ilya Zakharevich - Date: Mon, 6 Jul 1998 22:24:33 -0400 (EDT) - Message-Id: <199807070224.WAA10318@monk.mps.ohio-state.edu> - Subject: Re: _70 and Devel::RE +[ 3660] By: gsar on 1999/07/08 18:47:35 + Log: more PERL_OBJECT cleanups (changes still untested on Unix!) Branch: perl - + ext/re/Makefile.PL ext/re/re.pm ext/re/re.xs - - lib/re.pm - ! MANIFEST Makefile.SH global.sym interp.sym intrpvar.h op.c - ! perl.h pp.c pp_ctl.c pp_hot.c regcomp.c regexec.c + + perlapi.c perlapi.h + ! MANIFEST XSUB.h emacs/ptags embed.h embed.pl embedvar.h + ! ext/Opcode/Opcode.xs global.sym globals.c intrpvar.h + ! iperlsys.h mg.c miniperlmain.c objXSUB.h perl.c perl.h perly.c + ! pp.c pp_ctl.c pp_hot.c proto.h regcomp.c regcomp.h regexec.c + ! scope.c scope.h sv.c thrdvar.h toke.c util.c win32/GenCAPI.pl + ! win32/Makefile win32/makedef.pl win32/perllib.c win32/win32.c + ! win32/win32.h ____________________________________________________________________________ -[ 1370] By: gsar on 1998/07/08 04:27:27 - Log: added patch to generate PPDEF(pp_foo) - From: Ilya Zakharevich - Date: Mon, 6 Jul 1998 20:43:54 -0400 (EDT) - Message-Id: <199807070043.UAA28572@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_70] Autogenerate declarations for opcodes +[ 3659] By: gsar on 1999/07/08 18:41:45 + Log: sundry cleanups for clean build on windows Branch: perl - + pp_proto.h - ! MANIFEST Makefile.SH opcode.pl proto.h + ! doio.c regcomp.c regcomp.h t/io/openpid.t utf8.c ____________________________________________________________________________ -[ 1369] By: gsar on 1998/07/08 04:19:49 - Log: suggest 'make test' after make +[ 3658] By: gsar on 1999/07/08 01:24:25 + Log: fixes for logical bugs in the lexwarn patch; other tweaks to avoid + type mismatch problems Branch: perl - ! Makefile.SH + ! doio.c gv.c op.c pp.c regcomp.c regexec.c run.c sv.c + ! t/pragma/warn/op toke.c utf8.c util.c ____________________________________________________________________________ -[ 1368] By: gsar on 1998/07/08 03:58:19 - Log: added patch for -i'foo*bar', made code somewhat simpler, tweaked doc - From: Colin Kuskie - Date: Tue, 7 Jul 1998 09:44:33 -0700 (PDT) - Message-ID: - Subject: Corrected -i prefix patch - Branch: perl - + t/io/iprefix.t - ! MANIFEST doio.c pod/perlrun.pod +[ 3657] By: jhi on 1999/07/07 23:01:16 + Log: Integrate with Sarathy. perldiag.pod required manual editing. + Branch: cfgperl + ! pod/perldiag.pod + !> Changes configure.com ext/B/B/Deparse.pm + !> ext/ByteLoader/Makefile.PL ext/Fcntl/Fcntl.xs + !> ext/IO/lib/IO/File.pm gv.c iperlsys.h lib/ExtUtils/MM_VMS.pm + !> lib/File/Basename.pm lib/File/Spec/VMS.pm perlsfio.h + !> t/base/rs.t t/lib/io_multihomed.t t/lib/textfill.t + !> t/lib/textwrap.t t/op/filetest.t t/op/mkdir.t + !> t/pragma/overload.t thread.h vms/vms.c +____________________________________________________________________________ +[ 3656] By: gsar on 1999/07/07 21:04:38 + Log: integrate cfgperl contents + Branch: perl + +> lib/unicode/Is/ASCII.pl lib/unicode/Is/Cntrl.pl + +> lib/unicode/Is/Graph.pl lib/unicode/Is/Punct.pl + +> lib/unicode/Is/Word.pl lib/unicode/Is/XDigit.pl + ! Changes + !> (integrate 45 files) ____________________________________________________________________________ -[ 1366] By: gsar on 1998/07/08 02:28:30 - Log: From: Gisle Aas - Date: 07 Jul 1998 17:48:36 +0200 - Message-ID: - Subject: [PATCH] Remove some rendundant SvOOK_on tests +[ 3655] By: gsar on 1999/07/07 18:55:45 + Log: filetest.t and ByteLoader build tweaks from Peter Prymmer + Branch: perl - ! sv.c sv.h + ! ext/ByteLoader/Makefile.PL t/op/filetest.t ____________________________________________________________________________ -[ 1365] By: gsar on 1998/07/08 02:25:17 - Log: applied patch to clarify m//g - From: "M.J.T. Guy" - Date: Tue, 7 Jul 1998 15:59:03 +0100 - Message-Id: - Subject: [PATCH] Re: m//g in perlop.pod +[ 3654] By: gsar on 1999/07/07 18:47:03 + Log: change#1889 mistakenly removed F_SETLK Branch: perl - ! pod/perlop.pod + ! ext/Fcntl/Fcntl.xs ____________________________________________________________________________ -[ 1364] By: gsar on 1998/07/08 02:13:07 - Log: From: "M.J.T. Guy" - Subject: [PATCH] 5.004_70 bug in perlfaq.pod - Message-Id: - Date: Tue, 7 Jul 1998 11:59:41 +0100 +[ 3653] By: gsar on 1999/07/07 18:42:42 + Log: B::Deparse update + From: Stephen McCamant + Date: Mon, 5 Jul 1999 17:57:03 -0500 (CDT) + Message-ID: <14209.13729.738691.610723@alias-2.pr.mcs.net> + Subject: [PATCH _57, long] B::Deparse 0.58 Branch: perl - ! pod/perlfaq.pod + ! ext/B/B/Deparse.pm ____________________________________________________________________________ -[ 1363] By: gsar on 1998/07/08 02:11:11 - Log: applied tweak (via private mail) - From: Jarkko Hietaniemi - Date: Tue, 7 Jul 1998 13:27:47 +0300 (EET DST) - Message-Id: <199807071027.NAA20829@alpha.hut.fi> - Subject: tiny perllocale.pod patch for 5.004_70 +[ 3652] By: gsar on 1999/07/07 18:41:07 + Log: From: Ilya Zakharevich + Date: Mon, 5 Jul 1999 18:24:19 -0400 (EDT) + Message-Id: <199907052224.SAA10454@monk.mps.ohio-state.edu> + Subject: Re: [ID 19990705.001] Overloading boolean conversion Branch: perl - ! pod/perllocale.pod + ! gv.c t/pragma/overload.t ____________________________________________________________________________ -[ 1362] By: gsar on 1998/07/08 02:07:48 - Log: applied patch, various tweaks to pander to pod2man tantrums - From: Ilya Zakharevich - Date: Mon, 6 Jul 1998 22:47:30 -0400 (EDT) - Message-Id: <199807070247.WAA10677@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_70] CONFIGPM +[ 3651] By: gsar on 1999/07/07 17:47:30 + Log: missing PerlIO_reopen() (suggested by sam@daemoninc.com) Branch: perl - ! Porting/Glossary configpm + ! perlsfio.h ____________________________________________________________________________ -[ 1361] By: gsar on 1998/07/07 22:13:11 - Log: From: Stephen McCamant - Date: Mon, 6 Jul 1998 21:22:17 -0500 (CDT) - Message-ID: <13729.33816.311236.995647@alias-2.pr.mcs.net> - Subject: Re: Inconsistent arithmetics on refs - Branch: perl - ! sv.c +[ 3650] By: gsar on 1999/07/07 17:45:52 + Log: applied new parts of suggested patch + From: Charles Bailey + Date: Fri, 02 Jul 1999 19:18:41 -0400 (EDT) + Message-id: <01JD3M8W1VXS000S5G@mail.newman.upenn.edu> + Subject: [PATCH 5.005_57] Consolidated VMS patch + Branch: perl + ! configure.com ext/IO/lib/IO/File.pm iperlsys.h + ! lib/ExtUtils/MM_VMS.pm lib/File/Basename.pm + ! lib/File/Spec/VMS.pm pod/perldiag.pod t/base/rs.t + ! t/lib/io_multihomed.t t/lib/textfill.t t/lib/textwrap.t + ! t/op/filetest.t t/op/mkdir.t thread.h vms/vms.c +____________________________________________________________________________ +[ 3649] By: jhi on 1999/07/07 13:38:02 + Log: Sync regcomp warn with reality. + Branch: cfgperl + ! t/pragma/warn/regcomp ____________________________________________________________________________ -[ 1360] By: gsar on 1998/07/07 22:11:11 - Log: From: Ilya Zakharevich - Date: Mon, 6 Jul 1998 20:59:10 -0400 (EDT) - Message-Id: <199807070059.UAA28815@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_70] Anohter ptags improvement - Branch: perl - ! emacs/ptags +[ 3648] By: jhi on 1999/07/07 13:04:55 + Log: Integrate with Sarathy; one conflict in t/pragma/warn/recgomp + resolved manually. + Branch: cfgperl + +> pod/perllexwarn.pod t/pragma/warn/6default t/pragma/warn/av + +> t/pragma/warn/doop t/pragma/warn/hv t/pragma/warn/malloc + +> t/pragma/warn/perlio t/pragma/warn/run t/pragma/warn/utf8 + - README.lexwarn + !> (integrate 79 files) ____________________________________________________________________________ -[ 1359] By: gsar on 1998/07/07 22:08:48 - Log: fix accidental RE-de-optimization - From: larry@wall.org (Larry Wall) - Date: Mon, 6 Jul 1998 17:49:31 -0700 - Message-Id: <199807070049.RAA23475@wall.org> - Subject: Re: before you deluge us with patches - -- - From: Ilya Zakharevich - Date: Tue, 7 Jul 1998 03:10:56 -0400 (EDT) - Message-Id: <199807070710.DAA25399@monk.mps.ohio-state.edu> - Subject: Re: before you deluge us with patches +[ 3647] By: gsar on 1999/07/07 10:32:03 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Thu, 01 Jul 1999 11:17:53 +0200 + Message-ID: <377b2ca4.14467042@smtp1.ibm.net> + Subject: [PATCH 5.005_57] MakeMaker support for pod2html Branch: perl - ! pp_hot.c regexec.c + ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm + ! lib/ExtUtils/MakeMaker.pm ____________________________________________________________________________ -[ 1358] By: gsar on 1998/07/07 21:36:29 - Log: From: Gisle Aas - Subject: [PATCH] Evaluation of AVHVs in scalar context - Date: 06 Jul 1998 21:41:14 +0200 - Message-ID: +[ 3646] By: gsar on 1999/07/07 10:27:55 + Log: fix undocumented IO::Handle functions as suggested + by cj10@cam.ac.uk Branch: perl - ! pp_hot.c t/op/avhv.t + ! ext/IO/lib/IO/Handle.pm ____________________________________________________________________________ -[ 1357] By: gsar on 1998/07/07 21:29:46 - Log: doc tweaks suggested by Abigail, M.J.T. Guy, and Larry Wall +[ 3645] By: gsar on 1999/07/07 10:18:55 + Log: prohibit thread join()ing itself (from Dan Sugalski) Branch: perl - ! lib/Math/Trig.pm lib/fields.pm thread.sym -____________________________________________________________________________ -[ 1356] By: TimBunce on 1998/07/07 17:19:42 - Log: Assorted patches: - - ------ BUILD PROCESS ------ - - Title: "Add Test.pm (from perl 5.004_70)" - Files: MANIFEST lib/Test.pm - - ------ EXTENSIONS ------ - - Title: "Add CR LF CRLF to Socket.pm" - From: Chris Nandor - Msg-ID: - Files: ext/Socket/Socket.pm - - ------ LIBRARY ------ - - Title: "AutoSplit upgrade (AutoSplit 1.0302 from 5.004_70)" - Files: lib/AutoSplit.pm - - Title: "Upgrade base.pm (from perl 5.004_70)" - Files: lib/base.pm - - Title: "Add File::Spec modules (from 5.004_70)" - Files: lib/File/Spec.pm lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm - lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm - lib/File/Spec/Win32.pm - - ------ TESTS ------ - - Title: "fixup test for method call on undefined value" - Files: t/op/misc.t - - ------ UTILITIES ------ - - Title: "perlbug upgrade (from 5.004_70)" - Files: utils/perlbug.PL - - Title: "Upgrade perldoc (from 5.004_70)" - Files: utils/perldoc.PL - Branch: maint-5.004/perl - + lib/File/Spec.pm lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm - + lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm - + lib/File/Spec/Win32.pm lib/Test.pm - ! MANIFEST ext/Socket/Socket.pm lib/AutoSplit.pm lib/base.pm - ! t/op/misc.t utils/perlbug.PL utils/perldoc.PL -____________________________________________________________________________ -[ 1355] By: TimBunce on 1998/07/07 14:39:51 - Log: Title: "Fix memory leak in Safe module" - From: Gurusamy Sarathy - Msg-ID: <199806290544.BAA18463@aatma.engin.umich.edu> - Files: ext/Opcode/Opcode.xs ext/Opcode/Safe.pm - Branch: maint-5.004/perl - ! ext/Opcode/Opcode.xs ext/Opcode/Safe.pm -____________________________________________________________________________ -[ 1354] By: TimBunce on 1998/07/07 14:35:25 - Log: Title: "Better error message for $undef->method call" - From: Tim Bunce , Graham Barr , - joshua.pritikin@db.com - Msg-ID: <19980615171027.U4120@asic.sc.ti.com>, - Files: pod/perldiag.pod pp_hot.c - Branch: maint-5.004/perl - ! pod/perldiag.pod pp_hot.c + ! ext/Thread/Thread.xs ____________________________________________________________________________ -[ 1353] By: gsar on 1998/07/06 23:33:38 - Log: From: Andy Dougherty - Date: Mon, 6 Jul 1998 16:59:06 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.004_70] Update metaconfig info +[ 3644] By: gsar on 1999/07/07 10:14:26 + Log: From: "Vishal Bhatia" + Date: Wed, 30 Jun 1999 14:02:42 -0700 + Message-ID: + Subject: [PATCH 5.005_57] Compiler and XSUBS Branch: perl - ! Porting/pumpkin.pod + ! ext/B/B/C.pm ____________________________________________________________________________ -[ 1352] By: gsar on 1998/07/06 23:30:54 - Log: From: Andy Dougherty - Date: Mon, 6 Jul 1998 13:14:37 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.004_70] Config_70-01: Remove default "/share" +[ 3643] By: gsar on 1999/07/07 10:08:38 + Log: mention C syntax + (from François Désarménien ) Branch: perl - ! Configure INSTALL Policy_sh.SH Porting/Glossary - ! Porting/config.sh Porting/config_H + ! pod/perlsyn.pod ____________________________________________________________________________ -[ 1351] By: gsar on 1998/07/06 23:24:47 - Log: try harder to run non-executable tests +[ 3642] By: gsar on 1999/07/07 10:03:24 + Log: From: Doug MacEachern + Date: Sun, 27 Jun 1999 22:43:25 -0700 (PDT) + Message-ID: + Subject: [PATCH 5.005_57] add B::PV::{LEN,CUR} Branch: perl - ! t/TEST + ! ext/B/B.xs ____________________________________________________________________________ -[ 1350] By: gsar on 1998/07/06 23:12:17 - Log: add patch to improve method caching, regen headers - From: joshua.pritikin@db.com - Date: Mon, 6 Jul 1998 09:19:29 -0400 - Message-Id: - Subject: [PATCH _70] cache missing methods +[ 3641] By: gsar on 1999/07/07 10:00:57 + Log: slightly modified version of suggested patch + From: Steven N. Hirsch + Date: Mon, 28 Jun 1999 14:23:59 -0400 + Message-Id: <199906281823.OAA24912@stargate.btv.ibm.com> + Subject: [ID 19990628.007] POSIX::tmpnam() broken for threaded 5.00503 Branch: perl - ! embedvar.h gv.c interp.sym intrpvar.h perlvars.h + ! ext/POSIX/POSIX.xs ____________________________________________________________________________ -[ 1349] By: TimBunce on 1998/07/06 23:03:16 - Log: Assorted patches: - - ------ BUILD PROCESS ------ - - Title: "Configure: Workaround bash CDPATH oddity" - From: Andy Dougherty - Msg-ID: - Files: Configure - - Title: "Don't suppress display of Makefile recipes that invoke perl" - From: Gurusamy Sarathy - Msg-ID: <199806252213.SAA08545@aatma.engin.umich.edu> - Files: Makefile.SH - - ------ CORE LANGUAGE ------ - - Title: "one more^Wless quad unpack bug" - From: Jarkko Hietaniemi - Msg-ID: <199806301132.OAA27353@alpha.hut.fi> - Files: pp.c - - Title: "minor fixups to bring maint closer to devel for patching" - From: Gurusamy Sarathy - Msg-ID: <199805200046.UAA19284@aatma.engin.umich.edu> - Files: pod/perldiag.pod deb.c dump.c t/op/ref.t t/op/split.t taint.c util.c - - Title: "-Pw switches used together report bogus error" - From: Gurusamy Sarathy - Msg-ID: <199806252331.TAA10160@aatma.engin.umich.edu> - Files: perl.c - - Title: "Add doc and perl home page info to -v output" - From: Tom Christiansen - Msg-ID: <199802172229.PAA29309@jhereg.perl.com> - Files: perl.c - - Title: "Fix C<@a = (%a = 1)> bizarreness" - From: Gurusamy Sarathy , Tom Christiansen - - Msg-ID: <199807012026.OAA31507@jhereg.perl.com>, - <199807012339.TAA26024@aatma.engin.umich.edu> - Files: pp_hot.c - - Title: "make find_script() return saved string, reenable missing - diagnostics" - From: Gurusamy Sarathy - Msg-ID: <199806262224.SAA00422@aatma.engin.umich.edu> - Files: perl.c util.c - - Title: "minor e_script optimization" - From: Gurusamy Sarathy - Msg-ID: <199807060704.DAA25988@aatma.engin.umich.edu> - Files: perl.c - - ------ DOCUMENTATION ------ - - Title: "Insecure $ENV{} message out of step with perldiag" - From: "M.J.T. Guy" - Msg-ID: - Files: pod/perldiag.pod pod/perlsec.pod - - Title: "documenting close without arguments" - From: Tom Phoenix - Msg-ID: - Files: pod/perlfunc.pod - - Title: "pod for scalar .. op" - From: "M.J.T. Guy" - Msg-ID: - Files: pod/perlop.pod - - ------ EXTENSIONS ------ - - Title: "Fcntl: add few constants, enhance maintainability" - From: Jarkko Hietaniemi - Msg-ID: <199806221558.SAA18626@alpha.hut.fi> - Files: ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs - - ------ LIBRARY ------ - - Title: "Fix undef warnings in Text::Parsewords" - From: Jarkko Hietaniemi - Msg-ID: <199806300842.LAA26409@alpha.hut.fi> - Files: lib/Text/ParseWords.pm - - Title: "Add Symbol::delete_package()" - From: Gurusamy Sarathy - Msg-ID: <199807060702.DAA25976@aatma.engin.umich.edu> - Files: pod/perlembed.pod lib/Symbol.pm - Branch: maint-5.004/perl - ! Configure Makefile.SH deb.c dump.c ext/Fcntl/Fcntl.pm - ! ext/Fcntl/Fcntl.xs lib/Symbol.pm lib/Text/ParseWords.pm perl.c - ! pod/perldiag.pod pod/perlembed.pod pod/perlfunc.pod - ! pod/perlop.pod pod/perlsec.pod pp.c pp_hot.c t/op/ref.t - ! t/op/split.t taint.c util.c +[ 3640] By: gsar on 1999/07/07 09:45:43 + Log: lexical warnings update (warning.t fails one test + due to leaked scalar, investigation pending) + From: paul.marquess@bt.com + Date: Sat, 26 Jun 1999 23:19:52 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB29C6C8E@mbtlipnt02.btlabs.bt.co.uk> + Subject: [PATCH 5.005_57] Lexical Warnings - mandatory warning are now default warnings + Branch: perl + + pod/perllexwarn.pod t/pragma/warn/6default t/pragma/warn/av + + t/pragma/warn/doop t/pragma/warn/hv t/pragma/warn/malloc + + t/pragma/warn/perlio t/pragma/warn/run t/pragma/warn/utf8 + - README.lexwarn + ! Changes MANIFEST av.c djgpp/djgpp.c doio.c doop.c + ! ext/B/B/Asmdata.pm ext/ByteLoader/byterun.c + ! ext/ByteLoader/byterun.h gv.c hv.c jpl/JNI/JNI.xs + ! lib/warning.pm mg.c op.c os2/os2.c perl.c perlio.c + ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod + ! pod/perlmodlib.pod pod/perlrun.pod pod/perlvar.pod pp.c + ! pp_ctl.c run.c sv.c t/pragma/warn/3both t/pragma/warn/doio + ! t/pragma/warn/gv t/pragma/warn/mg t/pragma/warn/op + ! t/pragma/warn/perl t/pragma/warn/perly t/pragma/warn/pp + ! t/pragma/warn/pp_ctl t/pragma/warn/pp_hot t/pragma/warn/pp_sys + ! t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv + ! t/pragma/warn/taint t/pragma/warn/toke t/pragma/warn/universal + ! t/pragma/warn/util t/pragma/warning.t toke.c utf8.c util.c + ! warning.h warning.pl win32/win32.c +____________________________________________________________________________ +[ 3639] By: gsar on 1999/07/07 08:09:30 + Log: From: Brian Jepson + Date: Sat, 26 Jun 1999 10:47:45 -0500 (EST) + Message-ID: + Subject: Patch to JPL example program + Branch: perl + ! jpl/JPL_Rolo/JPL_Rolo.jpl +____________________________________________________________________________ +[ 3638] By: jhi on 1999/07/07 08:07:58 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 34 files) ____________________________________________________________________________ -[ 1348] By: gsar on 1998/07/06 22:55:56 - Log: remove #! line from Errno_pm.PL +[ 3637] By: gsar on 1999/07/07 08:07:49 + Log: From: Stephen McCamant + Date: Fri, 25 Jun 1999 13:38:44 -0500 (CDT) + Message-ID: <14193.25034.113373.245377@alias-2.pr.mcs.net> + Subject: [PATCH _57, long] Eliminate CONDOPs Branch: perl - ! ext/Errno/Errno_pm.PL + ! bytecode.pl dump.c ext/B/B.pm ext/B/B.xs ext/B/B/Bblock.pm + ! ext/B/B/Bytecode.pm ext/B/B/C.pm ext/B/B/CC.pm + ! ext/B/B/Debug.pm ext/B/B/Xref.pm ext/B/ramblings/flip-flop + ! ext/B/typemap op.c op.h opcode.h opcode.pl perl.h + ! pod/perltoc.pod pp_ctl.c pp_hot.c ____________________________________________________________________________ -[ 1347] By: gsar on 1998/07/06 22:51:34 - Log: added patch to fix Cwd.pm warnings, fixed a couple more places - From: Gisle Aas - Date: 06 Jul 1998 13:08:53 +0200 - Message-ID: - Subject: [PATCH] 5.004_70 Cwd.pm now give warnings +[ 3636] By: gsar on 1999/07/07 07:50:51 + Log: adapted suggested patch for IO-1.20x + From: ian@dial.pipex.com + Date: Fri, 25 Jun 1999 10:39:42 +0100 + Message-Id: <199906250939.KAA02152@homer.diplex.co.uk> + Subject: [ID 19990625.001] Minor fixes for IO::Socket.pm Branch: perl - ! lib/Cwd.pm + ! ext/IO/lib/IO/Socket.pm ____________________________________________________________________________ -[ 1346] By: gsar on 1998/07/06 22:20:29 - Log: much simpler fix to typecheck read/sysread/recv, as suggested by - Stephen McCamant +[ 3635] By: gsar on 1999/07/07 07:26:05 + Log: PowerMAX hints update from Tom Horsley Branch: perl - ! op.c + ! hints/powerux.sh ____________________________________________________________________________ -[ 1345] By: gsar on 1998/07/06 21:58:52 - Log: undo ck_sysread() changes#1319,1337 in preparation for a much - simpler fix +[ 3634] By: gsar on 1999/07/07 07:20:02 + Log: From: Hugo van der Sanden + Date: Wed, 23 Jun 1999 16:16:05 +0100 + Message-Id: <199906231516.QAA23851@crypt.compulink.co.uk> + Subject: [PATCH 5.005_57] memleak in optimizer Branch: perl - ! ObjXSub.h embed.h global.sym globals.c objpp.h op.c opcode.h - ! opcode.pl proto.h + ! embed.h embed.pl objXSUB.h op.c proto.h ____________________________________________________________________________ -[ 1344] By: TimBunce on 1998/07/06 21:51:05 - Log: Title: "Fix for broken goto &xsub" - From: Albert Dvornik , - Msg-ID: - Files: MANIFEST pp_ctl.c t/op/goto_xs.t - Branch: maint-5.004/perl - + t/op/goto_xs.t - ! MANIFEST pp_ctl.c -____________________________________________________________________________ -[ 1343] By: TimBunce on 1998/07/06 21:40:14 - Log: Title: "Undo sub stub optimization and add comments on GV_FOO constants" - From: Gurusamy Sarathy - Msg-ID: <199807050841.EAA25114@aatma.engin.umich.edu> - Files: gv.h gv.c op.c toke.c - Branch: maint-5.004/perl - ! gv.c gv.h op.c toke.c +[ 3633] By: gsar on 1999/07/07 07:10:52 + Log: add do-not-edit caveats for files generated by opcode.pl + (suggested by Hugo van der Sanden) + Branch: perl + ! opcode.h opcode.pl pp.sym pp_proto.h ____________________________________________________________________________ -[ 1342] By: gsar on 1998/07/06 20:57:06 - Log: From: Gisle Aas - Message-Id: - Date: 06 Jul 1998 21:52:12 +0200 - Subject: Keepers of the Patch Pumpkin +[ 3632] By: gsar on 1999/07/07 06:41:13 + Log: better diagnostics on read operations from write-only + filehandles Branch: perl - ! Changes + ! doio.c perl.c pod/perldelta.pod pod/perldiag.pod pp_hot.c + ! pp_sys.c t/pragma/warn/pp_hot t/pragma/warn/pp_sys ____________________________________________________________________________ -[ 1341] By: gsar on 1998/07/06 20:43:35 - Log: remove dup entry in perldiag +[ 3631] By: gsar on 1999/07/07 02:03:34 + Log: make Sys::Hostname safe against C<$SIG{CHLD}='IGNORE'> (suggested + by David Muir Sharnoff ) Branch: perl - ! pod/perldiag.pod + ! lib/Sys/Hostname.pm ____________________________________________________________________________ -[ 1340] By: gsar on 1998/07/06 20:31:44 - Log: more reasonable diagnostic on keyword vs. sub ambiguity +[ 3630] By: gsar on 1999/07/07 01:57:16 + Log: From: "Vishal Bhatia" + Date: Sun, 20 Jun 1999 17:17:17 -0700 + Message-ID: + Subject: [PATCH 5.005_57] Minor bug fix in pp_require Branch: perl - ! pod/perldiag.pod toke.c + ! ext/B/B/CC.pm ____________________________________________________________________________ -[ 1339] By: gsar on 1998/07/06 19:23:06 - Log: rename s/\bSI_/PERLSI_/ to avoid collisions with sysinfo headers +[ 3629] By: gsar on 1999/07/07 01:46:03 + Log: installperl should write normal messages to STDOUT, not STDERR Branch: perl - ! av.c cop.h gv.c mg.c op.c perl.c pp_ctl.c pp_sys.c scope.c - ! sv.c toke.c util.c + ! installperl ____________________________________________________________________________ -[ 1338] By: gsar on 1998/07/06 18:45:35 - Log: per Larry suggestion, toss change#1327 and fix the documentation - to match behavior instead +[ 3628] By: gsar on 1999/07/07 01:41:25 + Log: BSD/OS needs -DSTRUCT_TM_HASZONE as of 4.0.1 (from mab@alink.net) Branch: perl - ! pod/perlfunc.pod pp_sys.c + ! hints/bsdos.sh ____________________________________________________________________________ -[ 1337] By: gsar on 1998/07/06 17:15:26 - Log: allow read(FH,threadsv,...) +[ 3627] By: gsar on 1999/07/07 00:27:10 + Log: make diagnostic on C etc., more readable Branch: perl ! op.c - ----------------- -Version 5.004_70 ----------------- - ____________________________________________________________________________ -[ 1336] By: gsar on 1998/07/06 09:06:33 - Log: 5.004_70 tweaks +[ 3626] By: gsar on 1999/07/06 23:47:27 + Log: From: Andy Dougherty + Date: Thu, 17 Jun 1999 12:07:11 -0400 (EDT) + Message-Id: + Subject: [ID 19990617.004 [PATCH 5.005_57] make distclean fixes] Branch: perl - ! Changes win32/Makefile win32/makefile.mk + ! Makefile.SH utils/Makefile ____________________________________________________________________________ -[ 1335] By: gsar on 1998/07/06 07:05:37 - Log: update Changes - Branch: perl - ! Changes pod/perldiag.pod +[ 3625] By: jhi on 1999/07/06 21:50:46 + Log: Some new files of #3624 missing from MANIFEST. + Branch: cfgperl + ! MANIFEST ____________________________________________________________________________ -[ 1334] By: gsar on 1998/07/06 06:41:17 - Log: allow eval-groups in patterns only if they C +[ 3624] By: jhi on 1999/07/06 21:47:04 + Log: POSIX [[:character class:]] support for standard, locale, + and utf8. If both utf8 and locale are on, utf8 wins. + I don't fully understand why so many tables changed in + lib/unicode because of "make" -- maybe it was just overdue. + Branch: cfgperl + + lib/unicode/Is/ASCII.pl lib/unicode/Is/Cntrl.pl + + lib/unicode/Is/Graph.pl lib/unicode/Is/Punct.pl + + lib/unicode/Is/Word.pl lib/unicode/Is/XDigit.pl + ! MANIFEST Todo-5.005 embed.h embed.pl embedvar.h global.sym + ! handy.h intrpvar.h lib/unicode/Bidirectional.pl + ! lib/unicode/Block.pl lib/unicode/Category.pl + ! lib/unicode/Is/Alnum.pl lib/unicode/Is/Alpha.pl + ! lib/unicode/Is/BidiL.pl lib/unicode/Is/Digit.pl + ! lib/unicode/Is/L.pl lib/unicode/Is/Lo.pl + ! lib/unicode/Is/Lower.pl lib/unicode/Is/Print.pl + ! lib/unicode/Is/Space.pl lib/unicode/Is/Upper.pl + ! lib/unicode/Is/Z.pl lib/unicode/Is/Zs.pl lib/unicode/Name.pl + ! lib/unicode/To/Digit.pl lib/unicode/mktables.PL objXSUB.h + ! pod/perldelta.pod pod/perldiag.pod pod/perlre.pod proto.h + ! regcomp.c regcomp.h regcomp.sym regexec.c regnodes.h + ! t/op/pat.t t/op/re_tests t/op/regexp.t t/pragma/utf8.t + ! t/pragma/warn/regcomp utf8.c +____________________________________________________________________________ +[ 3623] By: gsar on 1999/07/06 20:52:48 + Log: From: Ilya Zakharevich + Date: Wed, 16 Jun 1999 14:57:22 -0400 + Message-ID: <19990616145722.B16258@monk.mps.ohio-state.edu> + Subject: [PATCH 5.00557] Devel::Peek Branch: perl - ! lib/re.pm perl.h pod/perldiag.pod pod/perlre.pod regcomp.c - ! t/op/misc.t t/op/pat.t t/op/regexp.t t/op/subst.t + ! ext/Devel/Peek/Peek.pm ext/Devel/Peek/Peek.xs ____________________________________________________________________________ -[ 1333] By: gsar on 1998/07/06 03:22:52 - Log: From: Hans Mulder - Date: Mon, 6 Jul 98 02:11:32 +0200 - Message-Id: <9807060021.AA29027@icgned.icgroup.nl> - Subject: [PATCH 5.00469] corrupt malloc ptr on NeXT +[ 3622] By: gsar on 1999/07/06 20:22:59 + Log: applied patch after demunging headers with appropriate paths + From: "Vishal Bhatia" + Date: Sat, 12 Jun 1999 08:23:59 -0700 + Message-ID: + Subject: [Patch 5.005_57] unsigned arithmetic (Compiler) Branch: perl - ! malloc.c + ! cc_runtime.h ext/B/B.xs ext/B/B/CC.pm ext/B/B/Stackobj.pm + ! ext/B/defsubs.h.PL lib/ExtUtils/typemap t/harness ____________________________________________________________________________ -[ 1332] By: gsar on 1998/07/06 03:18:34 - Log: added Errno-1.09 from CPAN +[ 3621] By: gsar on 1999/07/06 20:10:50 + Log: From: Ilya Zakharevich + Date: Thu, 10 Jun 1999 04:05:22 -0400 (EDT) + Message-Id: <199906100805.EAA18216@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] Optimize 2>&1 in commands Branch: perl - ! ext/Errno/ChangeLog ext/Errno/Errno_pm.PL + ! doio.c ____________________________________________________________________________ -[ 1331] By: gsar on 1998/07/06 02:59:09 - Log: fix small memleak on -e, don't try to find_script() when e_script - Branch: perl - ! perl.c +[ 3620] By: jhi on 1999/07/06 19:16:47 + Log: Mention EPOC and SOCKS. + Branch: cfgperl + ! pod/perldelta.pod ____________________________________________________________________________ -[ 1330] By: gsar on 1998/07/06 00:40:24 - Log: add Symbol::delete_package() +[ 3619] By: gsar on 1999/07/06 16:52:37 + Log: fix int vs STRLEN issue Branch: perl - ! lib/Symbol.pm pod/perlembed.pod + ! pp.c ____________________________________________________________________________ -[ 1329] By: gsar on 1998/07/05 23:05:40 - Log: patch to remove assumptions about offset of IV being == sizeof(XPV) - From: Stephen McCamant - Date: Sun, 5 Jul 1998 17:36:14 -0500 (CDT) - Message-ID: <13727.63831.95324.696098@alias-2.pr.mcs.net> - Subject: [PATCH] alignment in X[IN]V allocation - Branch: perl - ! sv.c +[ 3618] By: jhi on 1999/07/06 16:52:20 + Log: There ain't Perl_atonv(). + Branch: cfgperl + ! ext/ByteLoader/bytecode.h ____________________________________________________________________________ -[ 1328] By: gsar on 1998/07/05 22:47:57 - Log: make read() return undef on errors as documented, and clarify docs - Branch: perl - ! pod/perlfunc.pod pp_sys.c +[ 3617] By: jhi on 1999/07/06 15:55:22 + Log: Integrate with Sarathy. + Branch: cfgperl + !> Makefile.SH ____________________________________________________________________________ -[ 1327] By: gsar on 1998/07/05 22:11:21 - Log: fix getc() to return empty string instead of undef on eof, as it was - documented to behave; still returns undef on error - Branch: perl - ! pp_sys.c +[ 3616] By: jhi on 1999/07/06 15:54:09 + Log: Tweak for #3613. + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1326] By: gsar on 1998/07/05 21:53:30 - Log: patch whitespace-mutiliated; applied manually - From: Hans Mulder - Date: Sun, 5 Jul 98 23:23:20 +0200 - Message-Id: <9807052133.AA28626@icgned.icgroup.nl> - Subject: [PATCH 5.004_69] building Errno.pm still fails on NeXT +[ 3615] By: gsar on 1999/07/06 11:00:21 + Log: From: "Todd C. Miller" + Date: Sun, 13 Jun 1999 17:46:13 -0600 (MDT) + Message-Id: <199906132346.RAA26632@xerxes.courtesan.com> + Subject: [ID 19990613.003 linklibperl set incorrectly in Makefile.SH for OpenBSD] Branch: perl - ! ext/Errno/Errno_pm.PL + ! Makefile.SH ____________________________________________________________________________ -[ 1325] By: gsar on 1998/07/05 21:38:39 - Log: applied patch (via private mail), modulo retrohunks in pod/perlfaq2.pod - From: Tom Christiansen - Date: Sun, 05 Jul 1998 09:15:22 -0500 - Subject: Re: docpatch - Message-Id: <199807051515.JAA03644@jhereg.perl.com> - Branch: perl - ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod - ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod - ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod - ! pod/perlfaq9.pod pod/perlfunc.pod pod/perlipc.pod - ! pod/perlrun.pod +[ 3614] By: jhi on 1999/07/06 10:44:48 + Log: Integrate with Sarathy. + Branch: cfgperl + !> ext/IO/lib/IO/File.pm op.c op.h opcode.h opcode.pl perl.h pp.h + !> pp.sym pp_proto.h t/base/rs.t t/pragma/warn/op +____________________________________________________________________________ +[ 3613] By: jhi on 1999/07/06 10:43:20 + Log: From: Nathan Kurz + Subject: [ID 19990612.001 compiling three deep modules within ext/] + ply-To: nate@valleytel.net + erl5-porters@perl.org + Date: Sat, 12 Jun 1999 01:26:04 -0500 + Message-Id: <199906120626.BAA04996@trinkpad.valleytel.net> + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1324] By: gsar on 1998/07/05 21:06:56 - Log: applied patch, and undid change#1302 which it made unnecessary - From: Billy - Date: Sun, 5 Jul 1998 23:05:52 +0930 (CST) - Subject: [PATCH] utils/h2ph.PL and t/lib/h2ph.t - Message-ID: +[ 3612] By: gsar on 1999/07/06 10:17:52 + Log: From: Ilya Zakharevich + Date: Sat, 12 Jun 1999 04:49:09 -0400 (EDT) + Message-Id: <199906120849.EAA26986@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] Optimize away OP_SASSIGN Branch: perl - ! t/lib/h2ph.t utils/h2ph.PL + ! op.c op.h opcode.h opcode.pl pp.h pp.sym pp_proto.h ____________________________________________________________________________ -[ 1323] By: gsar on 1998/07/05 20:56:39 - Log: fix t/lib/fields.t's @INC so make test runs +[ 3611] By: gsar on 1999/07/06 09:51:20 + Log: From: pvhp@forte.com (Peter Prymmer) + Date: Fri, 11 Jun 99 17:07:19 PDT + Message-Id: <9906120007.AA13802@forte.com> + Subject: [PATCH _03 && _57]portability fix for IO::File and FileHandle Branch: perl - ! t/lib/fields.t + ! ext/IO/lib/IO/File.pm ____________________________________________________________________________ -[ 1322] By: gsar on 1998/07/05 20:26:43 - Log: add comments on GV_FOO constants, s/8/GV_ADDINEVAL/ +[ 3610] By: gsar on 1999/07/06 09:37:37 + Log: fix for C<$/ = 42> setting paragraph mode (applied with small + tweak) + From: "M.J.T. Guy" + Date: Wed, 09 Jun 1999 18:27:51 +0100 + Message-Id: + Subject: Re: [ID 19990608.002] Possible bug with binmode and on Perl 5.005_03 Win32 Branch: perl - ! gv.c gv.h toke.c + ! perl.h t/base/rs.t +____________________________________________________________________________ +[ 3609] By: jhi on 1999/07/06 09:28:48 + Log: Integrate with Sarathy. + Branch: cfgperl + !> (integrate 49 files) ____________________________________________________________________________ -[ 1321] By: gsar on 1998/07/05 07:41:50 - Log: sundry win32 config tweaks +[ 3608] By: gsar on 1999/07/06 09:28:21 + Log: test tweak Branch: perl - ! Todo.5.005 t/op/stat.t win32/Makefile win32/config.bc - ! win32/config.gc win32/config.vc win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/config_h.PL - ! win32/config_sh.PL win32/makefile.mk + ! t/pragma/warn/op ____________________________________________________________________________ -[ 1320] By: gsar on 1998/07/05 06:30:35 - Log: update Changes +[ 3607] By: jhi on 1999/07/06 09:22:48 + Log: Put back the cygwin32 Configure fix of 3582 undone by 3597. + Branch: cfgperl + ! Configure config_h.SH +____________________________________________________________________________ +[ 3606] By: gsar on 1999/07/06 09:05:02 + Log: applied slightly tweaked version of suggested patch for + improved RE API + From: Ilya Zakharevich + Date: Wed, 9 Jun 1999 18:14:27 -0400 (EDT) + Message-Id: <199906092214.SAA14126@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_57] REx engine rehash Branch: perl - ! Changes + ! Changes dump.c embed.h embed.pl embedvar.h ext/re/Makefile.PL + ! ext/re/re.xs global.sym objXSUB.h perl.c perl.h pp.c pp_hot.c + ! proto.h regcomp.c regcomp.h regexec.c regexp.h thrdvar.h + ! util.c ____________________________________________________________________________ -[ 1319] By: gsar on 1998/07/05 06:27:37 - Log: add ck_sysread() for better sysread/read/recv sanity +[ 3605] By: gsar on 1999/07/06 08:54:03 + Log: bug in change#3602 (cpp conditionals not allowed inside macro args) Branch: perl - ! ObjXSub.h embed.h global.sym globals.c objpp.h op.c opcode.h - ! opcode.pl proto.h + ! sv.c ____________________________________________________________________________ -[ 1318] By: gsar on 1998/07/05 04:34:05 - Log: From: Stephen McCamant - Date: Sat, 4 Jul 1998 23:24:47 -0500 (CDT) - Subject: [PATCH] Document B::Deparse, add pp_threadsv - Message-ID: <13726.65230.19324.216849@alias-2.pr.mcs.net> +[ 3604] By: gsar on 1999/07/06 07:08:30 + Log: From: paul.marquess@bt.com + Date: Tue, 8 Jun 1999 22:37:58 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB29C6C3C@mbtlipnt02.btlabs.bt.co.uk> + Subject: [PATCH 5.005_57] DB_File 1.67 Branch: perl - ! ext/B/B/Deparse.pm + ! ext/DB_File/Changes ext/DB_File/DB_File.pm + ! ext/DB_File/DB_File.xs ext/DB_File/typemap ____________________________________________________________________________ -[ 1317] By: gsar on 1998/07/05 04:15:25 - Log: added patch with tweak to doc - From: Chip Salzenberg - Message-ID: <19980704205136.A16319@perlsupport.com> - Date: Sat, 4 Jul 1998 20:51:36 -0400 - Subject: [PATCH _69] Take 2: Warn on C +[ 3603] By: gsar on 1999/07/06 07:04:50 + Log: From: paul.marquess@bt.com + Date: Tue, 8 Jun 1999 22:34:01 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB29C6C3B@mbtlipnt02.btlabs.bt.co.uk> + Subject: [PATCH 5.005_57] DBM Filters Branch: perl - ! ext/IO/lib/IO/Handle.pm pod/perldiag.pod toke.c + ! ext/GDBM_File/GDBM_File.pm ext/GDBM_File/GDBM_File.xs + ! ext/NDBM_File/NDBM_File.pm ext/NDBM_File/NDBM_File.xs + ! ext/ODBM_File/ODBM_File.pm ext/ODBM_File/ODBM_File.xs + ! ext/SDBM_File/SDBM_File.pm ext/SDBM_File/SDBM_File.xs ____________________________________________________________________________ -[ 1316] By: gsar on 1998/07/05 03:56:22 - Log: Porting/Glossary goes podly into Config.pm +[ 3602] By: gsar on 1999/07/06 07:00:01 + Log: slightly tweaked version of suggested patch + From: Dan Sugalski + Date: Tue, 08 Jun 1999 14:09:38 -0700 + Message-Id: <3.0.6.32.19990608140938.030f12e0@ous.edu> + Subject: [PATCH 5.005_57]Use NV instead of double in the core Branch: perl - ! Porting/Glossary configpm + ! av.h bytecode.pl cv.h doio.c dump.c embed.pl + ! ext/ByteLoader/bytecode.h ext/ByteLoader/byterun.c hv.h + ! intrpvar.h mg.c op.c perl.h pp.c pp.h pp_ctl.c pp_sys.c + ! proto.h sv.c sv.h toke.c universal.c util.c ____________________________________________________________________________ -[ 1315] By: gsar on 1998/07/05 02:50:18 - Log: add suggested tool as an example in ExtUtils::Packlist - From: Alan Burlison - Message-Id: <199807031028.LAA10456@sale-wts> - Date: Fri, 3 Jul 1998 11:28:03 +0100 (BST) - Subject: Re: [make install] another horror story +[ 3601] By: gsar on 1999/07/06 06:52:57 + Log: integrate cfgperl contents into mainline Branch: perl - ! lib/ExtUtils/Installed.pm lib/ExtUtils/Packlist.pm + +> README.epoc epoc/config.h epoc/epoc.c epoc/epocish.h + +> epoc/perl.mmp epoc/perl.pkg + !> (integrate 30 files) +____________________________________________________________________________ +[ 3598] By: jhi on 1999/07/05 20:02:55 + Log: Integrate with mainperl. + Branch: cfgperl + +> lib/CGI/Pretty.pm + !> Changes ext/B/B/Bblock.pm ext/B/B/C.pm ext/B/B/CC.pm + !> ext/B/B/Stackobj.pm ext/GDBM_File/GDBM_File.xs mg.c op.c + !> opcode.h opcode.pl pp_sys.c t/lib/io_udp.t thread.h toke.c + !> vms/descrip_mms.template vms/subconfigure.com vms/vms.c + !> vms/vmsish.h +____________________________________________________________________________ +[ 3597] By: jhi on 1999/07/05 19:59:48 + Log: Hack SOCKS support some more plus a patch from Andy Dougherty + that addresses the notorious "Additional libraries" question. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH doio.c ext/Socket/Socket.xs hints/aix.sh perl.c + ! pp_sys.c ____________________________________________________________________________ -[ 1314] By: gsar on 1998/07/05 02:28:04 - Log: avoid race condition (storing ptr to SV before incrementing its - REFCNT) and warning in newRV() +[ 3596] By: gsar on 1999/07/05 18:30:51 + Log: From: Ilya Zakharevich + Date: Tue, 8 Jun 1999 04:47:58 -0400 (EDT) + Message-Id: <199906080847.EAA03810@monk.mps.ohio-state.edu> + Subject: [PATCH 5.00557] Long-standing UDP sockets bug on OS/2 Branch: perl - ! sv.c + ! pp_sys.c t/lib/io_udp.t ____________________________________________________________________________ -[ 1313] By: gsar on 1998/07/05 02:06:40 - Log: applied suggested fix for xhv_array sizing, with portability tweaks - From: Gisle Aas - Subject: Re: [PATCH] Re: perl5.004_69 core dump - Date: 04 Jul 1998 10:20:35 +0200 - Message-ID: +[ 3595] By: gsar on 1999/07/05 18:29:08 + Log: From: Ilya Zakharevich + Date: Tue, 8 Jun 1999 04:44:58 -0400 (EDT) + Message-Id: <199906080844.EAA03784@monk.mps.ohio-state.edu> + Subject: [PATCH 5.00557] Setting $^E wipes out $! Branch: perl - ! hv.c + ! mg.c ____________________________________________________________________________ -[ 1312] By: gsar on 1998/07/05 01:36:45 - Log: From: Gisle Aas - Subject: [PATCH] hv_max may be a few too many - Date: 04 Jul 1998 09:28:46 +0200 - Message-ID: +[ 3594] By: gsar on 1999/07/05 18:24:53 + Log: hand-apply whitespace mutiliated patch + From: Dan Sugalski + Date: Mon, 07 Jun 1999 14:46:42 -0700 + Message-Id: <3.0.6.32.19990607144642.03079100@ous.edu> + Subject: [PATCH 5.005_57]Updated VMS patch Branch: perl - ! doop.c + ! thread.h vms/descrip_mms.template vms/subconfigure.com + ! vms/vms.c vms/vmsish.h ____________________________________________________________________________ -[ 1311] By: gsar on 1998/07/05 00:35:27 - Log: patchlevel up to 5.004_70, various tweaks - * fix taint problems due to maintbranch regression - * PERL_OBJECT now builds again - * deal with C++ strong-typing problems in hv.c - * fix mismatch in "reserved word" diagnostic +[ 3593] By: gsar on 1999/07/05 17:53:04 + Log: applied parts not duplicated by previous patches + From: "Vishal Bhatia" + Date: Sat, 05 Jun 1999 08:42:17 -0700 + Message-ID: + Subject: Fwd: [PATCH 5.005_57] consolidated compiler changes Branch: perl - ! av.c hv.c objpp.h patchlevel.h pp_ctl.c pp_hot.c proto.h - ! regexec.c regexp.h toke.c win32/perlhost.h win32/win32.c + ! Changes ext/B/B/Bblock.pm ext/B/B/C.pm ext/B/B/CC.pm + ! ext/B/B/Stackobj.pm ____________________________________________________________________________ -[ 1310] By: TimBunce on 1998/07/04 11:35:25 - Log: Remove old RE //t flag from scan_subst(). - Branch: maint-5.004/perl - ! toke.c +[ 3592] By: jhi on 1999/07/05 17:17:22 + Log: AIX threaded build, plus few more on the side. + Branch: cfgperl + ! embed.h embed.pl ext/DynaLoader/dl_aix.xs + ! ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_rhapsody.xs + ! ext/DynaLoader/dl_vms.xs hints/aix.sh objXSUB.h perl.h + ! perl_exp.SH pp_ctl.c proto.h toke.c util.c ____________________________________________________________________________ -[ 1309] By: gsar on 1998/07/04 08:32:53 - Log: various small tweaks (still fails a few taint tests in {taint,locale}.t) +[ 3591] By: gsar on 1999/07/05 16:52:34 + Log: "\e" and "\a" didn't produce right escape under EBCDIC + From: pvhp@forte.com (Peter Prymmer) + Date: Fri, 4 Jun 99 12:00:27 PDT + Message-Id: <9906041900.AA28387@forte.com> + Subject: [PATCH 5.005_57]lingering ASCIIism in tokener Branch: perl - ! Todo.5.005 lib/re.pm sv.c t/lib/fields.t + ! toke.c ____________________________________________________________________________ -[ 1307] By: gsar on 1998/07/04 07:00:14 - Log: fix C, add tests +[ 3590] By: gsar on 1999/07/05 16:40:01 + Log: s/scalar ref constructor/single ref constructor/ (suggested + by Stephen McCamant) Branch: perl - ! pp_hot.c t/op/local.t + ! opcode.h opcode.pl ____________________________________________________________________________ -[ 1306] By: gsar on 1998/07/04 05:52:34 - Log: fixes for mortalization bug in xsubpp, other efficiency tweaks - From: joshua.pritikin@db.com - Date: Wed, 1 Jul 1998 10:09:43 -0400 - Message-Id: - Subject: [PATCH _69] sv_2mortal fix +[ 3589] By: gsar on 1999/07/05 16:34:06 + Log: no such thing as gdbm_clearerr() (from Andy Dougherty) Branch: perl - ! lib/ExtUtils/xsubpp perl.c pp.c pp_hot.c proto.h sv.c sv.h + ! ext/GDBM_File/GDBM_File.xs ____________________________________________________________________________ -[ 1305] By: gsar on 1998/07/04 05:46:42 - Log: add patch preextend global string table, tweak for 512 entries - From: Gisle Aas - Date: 04 Jul 1998 01:04:08 +0200 - Subject: Re: [PATCH] Re: perl5.004_69 core dump - Message-ID: +[ 3588] By: gsar on 1999/07/05 16:29:39 + Log: allow C<-foo> under C (behavior of C<-$string> + is unchanged still) Branch: perl - ! perl.c + ! op.c ____________________________________________________________________________ -[ 1304] By: gsar on 1998/07/04 05:40:35 - Log: simplify xhv_array sizing - From: Gisle Aas - Date: 04 Jul 1998 00:49:42 +0200 - Subject: Re: [PATCH] Re: perl5.004_69 core dump - Message-ID: - Branch: perl - ! hv.c +[ 3587] By: jhi on 1999/07/05 10:31:43 + Log: Make perl_exp.SH smarter about what to include and what to exclude. + Branch: cfgperl + ! perl_exp.SH ____________________________________________________________________________ -[ 1303] By: gsar on 1998/07/04 05:37:29 - Log: make 4-arg win32_select() sleep more reasonably on false values - From: Blair Zajac - Message-Id: <199807020225.TAA18740@gobi.gps.caltech.edu> - Date: Wed, 1 Jul 1998 19:25:56 -0700 (PDT) - Subject: [PATCH 5.004_69] select dumps core on MSWin32-x86 - -- - Message-Id: <199807030107.SAA08595@gobi.gps.caltech.edu> - Date: Thu, 2 Jul 1998 18:07:19 -0700 (PDT) - Subject: [PATCH 5.004_69] select dumps core on MSWin32-x86 - Branch: perl - ! win32/win32sck.c +[ 3586] By: jhi on 1999/07/05 09:29:31 + Log: Remove unnecessary and extraneous my $i = 0. + Branch: cfgperl + ! bytecode.pl ____________________________________________________________________________ -[ 1302] By: gsar on 1998/07/04 05:32:50 - Log: adjust h2ph.t for dos-specific problem - From: Laszlo Molnar - Message-ID: <19980703234525.C208@cdata.tvnet.hu> - Date: Fri, 3 Jul 1998 23:45:25 +0200 - Subject: Re: [PATCH _68] t/lib/h2ph.t problem - Branch: perl - ! t/lib/h2ph.t +[ 3585] By: jhi on 1999/07/05 07:28:59 + Log: Integrate with mainperl. + Branch: cfgperl + !> (integrate 30 files) ____________________________________________________________________________ -[ 1301] By: gsar on 1998/07/04 05:31:04 - Log: fix CPAN.pm problem, OS2 tweaks - From: Ilya Zakharevich - Message-Id: <199807030459.AAA00097@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_68] PAtch to CPAN first-time - Date: Fri, 3 Jul 1998 00:59:35 -0400 (EDT) +[ 3584] By: gsar on 1999/07/05 05:36:28 + Log: From: Vishal Bhatia + Date: Thu, 03 Jun 1999 00:57:48 PDT + Message-ID: <19990603075749.86665.qmail@hotmail.com> + Subject: Re: [PATCH 5.005_57] pp_sort sorted out Branch: perl - ! lib/CPAN/FirstTime.pm lib/ExtUtils/MM_OS2.pm - ! lib/ExtUtils/MakeMaker.pm + ! ext/B/B/Bblock.pm ext/B/B/C.pm ext/B/B/CC.pm ____________________________________________________________________________ -[ 1300] By: gsar on 1998/07/04 05:27:20 - Log: From: Ilya Zakharevich - Message-Id: <199807030102.VAA26813@monk.mps.ohio-state.edu> - Date: Thu, 2 Jul 1998 21:02:59 -0400 (EDT) - Subject: [PATCH 5.004_68] Add elc target to to makefile +[ 3583] By: gsar on 1999/07/05 05:31:19 + Log: suppress fancy display when in verbose mode (suggested by + Paul Johnson ) Branch: perl - ! Makefile.SH + ! lib/Test/Harness.pm ____________________________________________________________________________ -[ 1299] By: gsar on 1998/07/04 05:25:56 - Log: newer emacs/cperl-mode.el (via private mail) - From: Ilya Zakharevich - Message-Id: <199807030104.VAA26825@monk.mps.ohio-state.edu> - Date: Thu, 2 Jul 1998 21:04:29 -0400 (EDT) - Subject: [PATCH 5.004_68] cperl-mode +[ 3582] By: gsar on 1999/07/05 05:17:12 + Log: cygwin32 update + From: "Fifer, Eric" + Date: Wed, 2 Jun 1999 15:16:05 +0100 + Message-Id: <71E287AB0D94D111BBD600600849EC8185EDD9@POST> + Subject: [ID 19990602.003] perl5.005_03 (CORE) cygwin32 port + Branch: perl + ! Configure Makefile.SH README.cygwin32 cygwin32/Makefile.SHs + ! cygwin32/build-instructions.READFIRST + ! cygwin32/build-instructions.charles-wilson + ! cygwin32/build-instructions.sebastien-barre + ! cygwin32/build-instructions.steven-morlock + ! cygwin32/build-instructions.steven-morlock2 doio.c dosish.h + ! ext/POSIX/Makefile.PL ext/POSIX/POSIX.xs hints/cygwin32.sh + ! lib/Cwd.pm lib/ExtUtils/MM_Cygwin.pm perl.h pp_hot.c + ! t/op/magic.t util.c +____________________________________________________________________________ +[ 3581] By: gsar on 1999/07/05 02:46:18 + Log: NeXT doesn't have FD_CLOEXEC (suggested by Hans Mulder) Branch: perl - ! emacs/cperl-mode.el + ! util.c ____________________________________________________________________________ -[ 1298] By: gsar on 1998/07/04 05:22:41 - Log: From: Dominic Dunlop - Message-Id: - Date: Thu, 2 Jul 1998 22:57:26 +0000 - Subject: [PATCH 5.004_69] Make Power MachTen use vfork and perl's malloc +[ 3580] By: gsar on 1999/07/05 02:38:03 + Log: From: "Ed Peschko" + Date: Mon, 31 May 1999 18:18:13 -0600 + Message-ID: <19990601001813.AAA17834@csgsystems.com> + Subject: [ PATCH perl5.005_57 ] new perlcc + regression tests Branch: perl - ! hints/machten.sh malloc.c + ! t/TEST t/UTEST t/harness utils/perlcc.PL ____________________________________________________________________________ -[ 1297] By: gsar on 1998/07/04 05:20:52 - Log: allow a flags args to fbm_instr() for future needs - From: Ilya Zakharevich - Message-Id: <199807020749.DAA12379@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_68] mORE FBM_ CHANGES FOR FUTURE - Date: Thu, 2 Jul 1998 03:49:32 -0400 (EDT) +[ 3579] By: gsar on 1999/07/05 01:20:58 + Log: compatibility tweak for Class::Struct Branch: perl - ! pod/perlguts.pod pp.c pp_hot.c proto.h regexec.c util.c + ! lib/Class/Struct.pm ____________________________________________________________________________ -[ 1296] By: gsar on 1998/07/04 05:16:15 - Log: From: Andy Dougherty - Date: Thu, 2 Jul 1998 11:50:41 -0400 (EDT) - Message-Id: - Subject: [PATCH 5.004_69] INSTALL-1.39 - Branch: perl - ! INSTALL +[ 3578] By: jhi on 1999/07/04 23:26:01 + Log: Miscellaneus AIX fixes + SOCKS support. + Branch: cfgperl + ! Configure Makefile.SH Porting/Glossary Porting/config.sh + ! Porting/config_H config_h.SH doio.c ext/Socket/Socket.xs + ! hints/aix.sh pp_sys.c ____________________________________________________________________________ -[ 1295] By: gsar on 1998/07/04 05:15:05 - Log: Configure update - From: doughera@newton.phys.lafayette.edu (Andy Dougherty) - Date: Wed, 1 Jul 98 23:07:50 EDT - Message-Id: <9807020307.AA17848@newton.phys.lafayette.edu> - Subject: [PATCH 5.004_69] Config_69-01 - Branch: perl - ! Configure INSTALL MANIFEST Policy_sh.SH Porting/Glossary - ! Porting/config.sh Porting/config_H Porting/pumpkin.pod - ! config_h.SH win32/config.bc win32/config.gc win32/config.vc -____________________________________________________________________________ -[ 1294] By: gsar on 1998/07/04 05:10:25 - Log: add perlbug -F switch to save message to file - From: Hugo van der Sanden - Message-Id: - Date: Wed, 1 Jul 1998 21:14:22 +0200 - Subject: Re: [PATCH 5.004_69] perlbug -fok - Branch: perl - ! Makefile.SH utils/perlbug.PL -____________________________________________________________________________ -[ 1293] By: gsar on 1998/07/04 05:06:52 - Log: catch nonexistent backrefs in REs - From: Hugo van der Sanden - Message-Id: - Date: Wed, 1 Jul 1998 20:14:05 +0200 - Subject: Re: [PATCH _66] for bad backrefs - -- - Message-Id: - Date: Wed, 1 Jul 1998 20:47:16 +0200 - Subject: Re: [PATCH _66] for bad backrefs +[ 3577] By: gsar on 1999/07/04 23:07:39 + Log: test tweak Branch: perl - ! regcomp.c t/op/re_tests util.c + ! t/io/openpid.t +____________________________________________________________________________ +[ 3576] By: jhi on 1999/07/04 22:39:23 + Log: Integrate with mainperl. + Branch: cfgperl + +> t/io/openpid.t + - win32/perlhost.h + !> (integrate 51 files) ____________________________________________________________________________ -[ 1292] By: gsar on 1998/07/04 05:02:01 - Log: fix perlcc to not rm output file, and other -w(arts) +[ 3575] By: jhi on 1999/07/04 22:26:48 + Log: Added 64-bit support for AIX 4.3 or better + based on Martin H. Rusoff's observations. + Branch: cfgperl + ! Configure config_h.SH hints/aix.sh +____________________________________________________________________________ +[ 3574] By: jhi on 1999/07/04 21:34:47 + Log: Do not throw away gccvers compilation errors. + From: Andy Dougherty + To: Ron Seguin + Cc: Perl Porters + Subject: [PATCH] Re: [ID 19990625.011] WHOA There + Date: Mon, 28 Jun 1999 12:36:38 -0400 (EDT) + Message-Id: + Branch: cfgperl + ! Configure config_h.SH +____________________________________________________________________________ +[ 3573] By: gsar on 1999/07/04 21:10:32 + Log: adapted suggested tests for addition to testsuite + From: RonaldWS@aol.com + Date: Sun, 30 May 1999 16:27:28 EDT + Message-Id: <25cd799f.2482f930@aol.com> + Subject: [19990530.007] Open with pipe | does not return pid under win32 Branch: perl - ! utils/perlcc.PL + + t/io/openpid.t + ! MANIFEST win32/win32.c ____________________________________________________________________________ -[ 1291] By: gsar on 1998/07/04 04:30:03 - Log: ignore stash entries that are not GVs in dump.c +[ 3572] By: gsar on 1999/07/04 20:29:32 + Log: perl_run() should call my_exit(0) for normal completion Branch: perl - ! dump.c + ! perl.c +____________________________________________________________________________ +[ 3571] By: jhi on 1999/07/04 20:10:44 + Log: Add test for change #3568 plus general cleanup. + Branch: cfgperl + ! t/pragma/locale.t ____________________________________________________________________________ -[ 1290] By: gsar on 1998/07/04 03:55:10 - Log: cleaner page headers from pod2man +[ 3570] By: gsar on 1999/07/04 20:03:21 + Log: make overload, Data::Dumper, and dumpvar understand qr// stringify + overloading Branch: perl - ! pod/pod2man.PL + ! ext/Data/Dumper/Dumper.pm ext/Data/Dumper/Dumper.xs + ! lib/Dumpvalue.pm lib/dumpvar.pl lib/overload.pm pp_ctl.c ____________________________________________________________________________ -[ 1288] By: gsar on 1998/07/04 03:16:39 - Log: tweaks to Getopt::Std - From: Robin Barker - Date: Tue, 30 Jun 98 14:45:49 BST - Message-Id: <14103.9806301345@tempest.cise.npl.co.uk> - Subject: [PATCH perl5.004_69] lib/Getopt/Std.pm - -- - Message-Id: <17918.9807021053@tempest.cise.npl.co.uk> - To: perl5-porters@perl.org - Subject: [PATCH perl5.004_69] second: lib/Getopt/Std.pm +[ 3569] By: gsar on 1999/07/04 18:04:48 + Log: make AIX dynaloading work when libperl is shared (and thus under + mod_perl etc.) + From: Jens-Uwe Mager + Date: Sat, 29 May 1999 17:09:52 +0200 + Message-Id: <199905291509.RAA43978@ans.helios.de> + Subject: [19990529.002] DynaLoader does not work properly if perl is not the main program (AIX) Branch: perl - ! lib/Getopt/Std.pm + ! ext/DynaLoader/dl_aix.xs +____________________________________________________________________________ +[ 3568] By: jhi on 1999/07/04 14:54:23 + Log: pp_lc/pp_lcfirst/pp_quotemeta/pp_uc/pp_ucfirst were not calling mg_set(). + This resulted for example in the 'o' magic not being cleared by + magic_setcollxfrm(), which resulted in strange cmp results. + The bug was reported originally in the message + Subject: Bug with locale + From: Jan Starzynski + To: perlbug@perl.com + Date: Fri, 09 Apr 1999 13:23:07 +0200 + Message-ID: <370DE31B.DAEE1332@planet.de> + Branch: cfgperl + ! pp.c ____________________________________________________________________________ -[ 1287] By: gsar on 1998/07/04 03:13:02 - Log: added patch, with tweaks - From: Gisle Aas - Date: 03 Jul 1998 00:50:15 +0200 - Message-ID: - Subject: [PATCH] Some AVHV documentation +[ 3567] By: gsar on 1999/07/04 02:38:34 + Log: remove misleading info on defined(&func), unclutter deprecation + about defined(@array) Branch: perl - ! pod/perlref.pod + ! op.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod + ! t/pragma/warn/op ____________________________________________________________________________ -[ 1286] By: gsar on 1998/07/04 02:53:26 - Log: applied patch with tweaks to prose - From: Gisle Aas - Subject: [PATCH] Simplified AVHV support - Date: 30 Jun 1998 13:34:07 +0200 - Message-ID: +[ 3566] By: gsar on 1999/07/04 01:46:31 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Wed, 26 May 1999 22:07:17 +0200 + Message-ID: <374c53ac.10322322@smtp1.ibm.net> + Subject: [PATCH 5.005_57] MINGW32 and EGCS 1.1.2 support Branch: perl - ! ObjXSub.h av.c embed.h global.sym objpp.h pod/perldiag.pod - ! pp.c proto.h t/op/avhv.t + ! Changes win32/win32.c win32/win32.h ____________________________________________________________________________ -[ 1285] By: gsar on 1998/07/04 02:30:48 - Log: tweak doc for ".." - From: "M.J.T. Guy" - Subject: [PATCH] pod for scalar .. - Message-Id: - Date: Tue, 30 Jun 1998 12:14:50 +0100 +[ 3565] By: gsar on 1999/07/04 01:26:02 + Log: newer version of perlxstut from Jeff Okamoto (slightly edited + for win32 issues) Branch: perl - ! pod/perlop.pod + ! pod/perlxstut.pod ____________________________________________________________________________ -[ 1284] By: gsar on 1998/07/04 02:28:43 - Log: fix use of uninitialized var in pp_unpack() - From: Jarkko Hietaniemi - Date: Tue, 30 Jun 1998 14:32:17 +0300 (EET DST) - Message-Id: <199806301132.OAA27353@alpha.hut.fi> - Subject: [PATCH] 5.004_69 (also for 5.004_04) one more^Wless quad bug +[ 3564] By: gsar on 1999/07/02 03:09:04 + Log: avoid warnings Branch: perl - ! pp.c + ! ext/Thread/Thread/Specific.pm lib/fields.pm ____________________________________________________________________________ -[ 1283] By: gsar on 1998/07/04 02:26:37 - Log: From: Jarkko Hietaniemi - Date: Tue, 30 Jun 1998 11:40:22 +0300 (EET DST) - Message-Id: <199806300840.LAA04872@alpha.hut.fi> - Subject: [PATCH] 5.004_69: Parsewords.pm: avoid undefined warnings +[ 3563] By: gsar on 1999/06/28 19:23:47 + Log: inc version (for CPAN.pm sanity) Branch: perl ! lib/Text/ParseWords.pm ____________________________________________________________________________ -[ 1282] By: gsar on 1998/07/04 02:24:32 - Log: VMS updates from Dan Sugalski - Message-Id: <3.0.5.32.19980629165356.00a20730@ous.edu> - Date: Mon, 29 Jun 1998 16:53:56 -0700 - Subject: [PATCH 5.004_69]README.vms doc patch - -- - Message-Id: <3.0.5.32.19980629165125.00a4e100@ous.edu> - Date: Mon, 29 Jun 1998 16:51:25 -0700 - -- - Message-Id: <3.0.5.32.19980702135357.00a5eb40@ous.edu> - Date: Thu, 02 Jul 1998 13:53:57 -0700 - Subject: [PATCH 5.004_69]VMS filetest operator fixup +[ 3562] By: gsar on 1999/06/28 19:19:01 + Log: regen perltoc Branch: perl - ! README.vms vms/descrip_mms.template vms/vms.c + ! pod/perltoc.pod ____________________________________________________________________________ -[ 1281] By: gsar on 1998/07/04 02:17:48 - Log: From: Dan Sugalski - Message-Id: <3.0.5.32.19980629164625.00a4d7c0@ous.edu> - Date: Mon, 29 Jun 1998 16:46:25 -0700 - Subject: [PATCH 5.004_69]Tweaks to VMS configuration procedure +[ 3561] By: gsar on 1999/06/28 19:08:41 + Log: From: Damian Conway + Date: Wed, 26 May 1999 00:58:35 -0400 + Message-Id: <199905260458.AAA06411@defender.perl.org> + Subject: [19990526.002] Misc. improvements to Class:Struct Branch: perl - ! vms/subconfigure.com + ! MANIFEST lib/Class/Struct.pm ____________________________________________________________________________ -[ 1280] By: gsar on 1998/07/04 02:16:03 - Log: don't attempt to copy directories on VMS - From: Dan Sugalski - Message-Id: <3.0.5.32.19980629163129.00a82140@ous.edu> - Date: Mon, 29 Jun 1998 16:31:29 -0700 - Subject: [PATCH 5.004_69]Tweak to installperl +[ 3560] By: gsar on 1999/06/28 18:50:52 + Log: remove bogus PL_optype_size Branch: perl - ! installperl + ! bytecode.pl ext/ByteLoader/byterun.h ____________________________________________________________________________ -[ 1279] By: gsar on 1998/07/04 02:09:26 - Log: add 'installhtml*dir' to win32 config templates - From: "Douglas Lankshear" - Subject: [PATCH 5.004_68] For Win32 config - Date: Mon, 29 Jun 1998 09:00:13 -0700 - Message-ID: <000a01bda376$ffe8b0b0$a32fa8c0@tau.Active> +[ 3559] By: gsar on 1999/06/28 18:22:26 + Log: upgrade CGI.pm to v2.53 (CGI/{Apache,Switch}.pm NOT deleted) Branch: perl - ! win32/config.bc win32/config.gc win32/config.vc + + lib/CGI/Pretty.pm + ! eg/cgi/file_upload.cgi lib/CGI.pm lib/CGI/Carp.pm + ! lib/CGI/Cookie.pm lib/CGI/Fast.pm t/lib/cgi-form.t + ! t/lib/cgi-html.t t/lib/cgi-request.t ____________________________________________________________________________ -[ 1278] By: gsar on 1998/07/04 02:06:23 - Log: implemented described fix for h2ph hanging on "enum" - From: Billy - Subject: Re: h2ph problem on Solaris 2.6/SPARC/Sun compiler - Message-ID: - Date: Sat, 27 Jun 1998 01:13:12 +0930 (CST) - Branch: perl - ! utils/h2ph.PL +[ 3558] By: jhi on 1999/06/28 07:30:21 + Log: Change Olaf Lebbe's email address. + Branch: cfgperl + ! README.epoc ____________________________________________________________________________ -[ 1277] By: gsar on 1998/07/04 01:51:47 - Log: merge changes#1210,1211,1270 from maintbranch +[ 3557] By: gsar on 1999/06/28 00:07:33 + Log: make autogenerated files writable Branch: perl - + lib/re.pm - ! MANIFEST dump.c installperl lib/File/Basename.pm mg.c op.c - ! op.h perl.h pod/perlmodlib.pod pod/perlop.pod pp_ctl.c - ! pp_hot.c t/lib/basename.t t/op/taint.t toke.c + - win32/perlhost.h + ! MANIFEST Porting/makerel embed.h embedvar.h ext/B/B/Asmdata.pm + ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h global.sym + ! keywords.h lib/warning.pm objXSUB.h opcode.h pp.sym pp_proto.h + ! proto.h regnodes.h warning.h win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc ____________________________________________________________________________ -[ 1276] By: gsar on 1998/07/04 00:33:37 - Log: deprecate use of reserved word "our" (Larry's idea) - Date: Mon, 22 Jun 1998 08:55:09 -0700 - From: larry@wall.org (Larry Wall) - Message-Id: <199806221555.IAA07212@wall.org> - Subject: Re: our - Branch: perl - ! pod/perldiag.pod toke.c +[ 3556] By: jhi on 1999/06/27 19:22:53 + Log: Update MANIFEST to match #3555. + Branch: cfgperl + ! MANIFEST ____________________________________________________________________________ -[ 1275] By: nick on 1998/07/02 18:36:59 - Log: Integrate mainline, just to keep up. - Branch: ansiperl - +> t/lib/fields.t - - lib/Math/Trig/Radial.pm - !> MANIFEST lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm - !> lib/Math/Trig.pm lib/base.pm lib/fields.pm mg.c - !> pod/perldiag.pod pod/perltrap.pod pp_hot.c scope.c scope.h - !> t/lib/trig.t t/op/array.t toke.c utils/perldoc.PL - !> win32/config.bc win32/config.gc win32/config.vc - !> win32/include/dirent.h win32/makedef.pl win32/win32.c - !> win32/win32iop.h +[ 3555] By: jhi on 1999/06/27 19:16:22 + Log: EPOC port to Psion5. + From: Olaf Flebbe + To: Jarkko Hietaniemi + Cc: perl5-porters@perl.org + Subject: Re: Psion5 + Date: Sun, 27 Jun 1999 20:50:30 +0200 (METDST) + Message-ID: + Branch: cfgperl + + README.epoc epoc/config.h epoc/epoc.c epoc/epocish.h + + epoc/perl.mmp epoc/perl.pkg + ! MANIFEST doio.c lib/Term/ReadLine.pm lib/perl5db.pl perl.c + ! perl.h sv.c util.c ____________________________________________________________________________ -[ 1274] By: gsar on 1998/07/02 16:47:20 - Log: tweak win32/config.* variables - Branch: perl - ! win32/config.bc win32/config.gc win32/config.vc +[ 3554] By: jhi on 1999/06/27 18:50:52 + Log: Integrate from mainperl. + Branch: cfgperl + !> (integrate 48 files) +____________________________________________________________________________ +[ 3553] By: gsar on 1999/06/27 14:28:49 + Log: somewhat untested PERL_OBJECT cleanups (C++isms mostly + gone from the public API); PERL_OBJECT builds again on + windows + + TODO: namespace-clean the typedefs in iperlsys.h and + elsewhere; remove C++ remnants from public headers + Branch: perl + ! XSUB.h bytecode.pl cv.h embed.h embed.pl ext/B/B.xs + ! ext/ByteLoader/ByteLoader.xs ext/ByteLoader/bytecode.h + ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h + ! ext/DynaLoader/dlutils.c global.sym globals.c iperlsys.h + ! lib/ExtUtils/Embed.pm lib/ExtUtils/xsubpp mg.c objXSUB.h + ! opcode.h opcode.pl perl.c perl.h pod/perlhist.pod pp_ctl.c + ! pp_hot.c proto.h scope.h sv.h toke.c universal.c util.c + ! win32/GenCAPI.pl win32/Makefile win32/config.bc + ! win32/config.gc win32/config.vc win32/dl_win32.xs + ! win32/makedef.pl win32/makefile.mk win32/perllib.c + ! win32/runperl.c win32/win32.c win32/win32.h win32/win32iop.h + ! win32/win32sck.c ____________________________________________________________________________ -[ 1273] By: gsar on 1998/07/02 16:33:53 - Log: export opendir() set of functions on win32 +[ 3552] By: gsar on 1999/06/27 13:49:31 + Log: integrate cfgperl changes into mainline Branch: perl - ! win32/include/dirent.h win32/makedef.pl win32/win32.c - ! win32/win32iop.h + !> dump.c embed.h embed.pl embedvar.h global.sym intrpvar.h mg.c + !> objXSUB.h op.c perl.c perl.h perlvars.h pp.c pp_ctl.c + !> pp_proto.h pp_sys.c proto.h sv.c t/pragma/locale.t toke.c + !> util.c ____________________________________________________________________________ -[ 1272] By: gsar on 1998/07/01 23:21:49 - Log: fix C<@a = (%a = 1)> bizarreness +[ 3551] By: gsar on 1999/06/27 13:31:11 + Log: fix indents Branch: perl - ! pp_hot.c + ! op.c ____________________________________________________________________________ -[ 1271] By: gsar on 1998/06/30 22:49:39 - Log: document perltrap on precedence of keys/values/each +[ 3550] By: gsar on 1999/06/24 22:42:53 + Log: update Changes Branch: perl - ! pod/perltrap.pod -____________________________________________________________________________ -[ 1270] By: TimBunce on 1998/06/30 09:06:21 - Log: Added lib/re.pm missing from change 1210 - Branch: maint-5.004/perl - + lib/re.pm + ! Changes ____________________________________________________________________________ -[ 1269] By: gsar on 1998/06/30 08:20:52 - Log: From: Murray Nesbitt - Message-Id: <77180549BCE.AAA466A@mail.rdc1.bc.wave.home.com> - Date: Mon, 29 Jun 1998 14:30:59 PDT - Subject: Re: [PATCH 5.004_67] MakeMaker mods for PPD support +[ 3549] By: gsar on 1999/06/24 22:41:17 + Log: avoid race condition in the CAPI extension bootstrap handler Branch: perl - ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + ! lib/ExtUtils/xsubpp win32/GenCAPI.pl ____________________________________________________________________________ -[ 1268] By: gsar on 1998/06/30 05:38:34 - Log: From: Robin Barker - Message-Id: <13254.9806291404@tempest.cise.npl.co.uk> - Date: Mon, 29 Jun 1998 15:04:57 -0000 - Subject: [PATCH perl5.004_69] perldoc.PL +[ 3548] By: gsar on 1999/06/24 22:39:53 + Log: sanity check to cover the case when perl is installed into the + X:\ (drive root) Branch: perl - ! utils/perldoc.PL + ! win32/win32.c ____________________________________________________________________________ -[ 1267] By: gsar on 1998/06/30 05:34:06 - Log: add patch to integrate Math::Trig::Radial into Math::Trig - From: Jarkko Hietaniemi - Date: Mon, 29 Jun 1998 16:28:53 +0300 (EET DST) - Message-Id: <199806291328.QAA16916@alpha.hut.fi> - Subject: [PATCH] 5.004_68 (or 5.004_04): radial trig +[ 3547] By: gsar on 1999/06/22 19:30:32 + Log: tweak RefHash to make intent clearer (suggested by John Dlugosz) Branch: perl - - lib/Math/Trig/Radial.pm - ! MANIFEST lib/Math/Trig.pm t/lib/trig.t + ! lib/Tie/RefHash.pm ____________________________________________________________________________ -[ 1266] By: gsar on 1998/06/30 05:17:33 - Log: From: Gisle Aas - Message-Id: - Date: 29 Jun 1998 12:36:09 +0200 - Subject: Re: [PATCH] Simplified magic_setisa() and improved fields.pm - Branch: perl - + t/lib/fields.t - ! MANIFEST lib/base.pm lib/fields.pm mg.c pod/perldiag.pod - ! t/op/array.t +[ 3544] By: jhi on 1999/06/18 19:24:28 + Log: Tidy up #3542 and #3543. + Branch: cfgperl + ! t/pragma/locale.t util.c ____________________________________________________________________________ -[ 1265] By: gsar on 1998/06/30 05:12:57 - Log: tweaks to overloaded constants (change#1259) - Branch: perl - ! scope.c scope.h toke.c +[ 3543] By: jhi on 1999/06/18 10:28:45 + Log: Spice up locale.t. + Branch: cfgperl + ! t/pragma/locale.t ____________________________________________________________________________ -[ 1264] By: nick on 1998/06/29 17:38:03 - Log: Integrate mainline c. _69 to ansiperl - Branch: ansiperl - +> eg/cgi/caution.xbm eg/cgi/dna.small.gif.uu - +> eg/cgi/nph-multipart.cgi ext/Errno/ChangeLog - +> ext/Errno/Errno_pm.PL ext/Errno/Makefile.PL lib/CGI/Cookie.pm - +> lib/Math/Trig/Radial.pm perlio.h t/lib/cgi-form.t - +> t/lib/cgi-function.t t/lib/cgi-html.t t/lib/cgi-request.t - +> t/lib/errno.t t/op/goto_xs.t t/op/splice.t - !> (integrate 100 files) - ----------------- -Version 5.004_69 ----------------- - +[ 3542] By: jhi on 1999/06/17 22:42:03 + Log: Fixed two long-standing locale bugs. + + Both problems were related to numeric locale which + controls the radix character aka the decimal separator. + (1) printf (and sprintf) were resetting the numeric locale to C. + (2) Using locale-numerically formatted floating point + numbers (e.g. "1,23") together with -w caused warnings about + "isn't numeric". The operations were working fine, though, + because atof() was using the local locale. + Both problems reported by Stefan Vogtner. + + Introduced a wrapper for atof() that attempts to convert + the string both ways. This helps Perl to understand + numbers like this "4.56" even when using a local locale + makes atof() understand only numbers like this "7,89". + + Remaining related problems, both of which existed before + this patch and continue to exist after this patch: + (a) The behaviour of print() is _not_ as documented by perllocale. + Instead of always using the C locale, print() does use the + local locale, just like the *printf() do. This may be fixable + now that switching to-and-fro between locales has been made + more consistent, but fixing print() would change existing + behaviour. perllocale is not changed by this patch. + (b) If a number has been stringified (say, via "$number") under + a local locale, the cached string value persists even under + "no locale". This may or may not be a problem: operations + work fine because the original number is still there, but + that the string form keeps its locale-ish outlook may be + somewhat confusing. + Branch: cfgperl + ! dump.c embed.h embed.pl embedvar.h global.sym intrpvar.h mg.c + ! objXSUB.h op.c perl.c perl.h perlvars.h pp.c pp_ctl.c + ! pp_proto.h pp_sys.c proto.h sv.c t/pragma/locale.t toke.c + ! util.c ____________________________________________________________________________ -[ 1263] By: gsar on 1998/06/29 09:17:28 - Log: update Changes and perlhist.pod - Branch: perl - ! Changes pod/perlhist.pod +[ 3541] By: jhi on 1999/06/17 20:00:16 + Log: Integrate from mainperl. + Branch: cfgperl + !> ext/Data/Dumper/Dumper.pm op.c ____________________________________________________________________________ -[ 1262] By: gsar on 1998/06/29 08:26:36 - Log: bump patchlevel to 69, various little tweaks (tested on win32, Solaris - under several build configurations) +[ 3540] By: gsar on 1999/06/16 16:49:55 + Log: dump C<0> as such, not C<'0'> Branch: perl - ! Todo.5.005 op.c patchlevel.h t/lib/cgi-function.t - ! t/lib/cgi-request.t toke.c win32/Makefile win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/makefile.mk + ! ext/Data/Dumper/Dumper.pm ____________________________________________________________________________ -[ 1261] By: gsar on 1998/06/29 06:51:10 - Log: add missing SSCHECK() to rectify faulty SSPUSH*() logic in change#1259 +[ 3539] By: gsar on 1999/06/13 04:04:40 + Log: fix coredumper in change#3498 Branch: perl - ! scope.h + ! op.c ____________________________________________________________________________ -[ 1260] By: gsar on 1998/06/29 06:46:12 - Log: Message-Id: <199806290610.IAA19443@moulon.inra.fr> - Date: Mon, 29 Jun 1998 08:10:46 +0200 - From: ts - Subject: {perlembed.pod] Re: Memory leak in Perl 5.004 and the fix - Branch: perl - ! pod/perlembed.pod +[ 3538] By: jhi on 1999/06/12 22:01:26 + Log: Integrate from mainperl. + Branch: cfgperl + +> lib/caller.pm + !> (integrate 36 files) ____________________________________________________________________________ -[ 1259] By: gsar on 1998/06/29 06:01:35 - Log: added patch for overloading constants, made PERL_OBJECT-aware - From: Ilya Zakharevich - Message-Id: <199806270328.XAA21088@monk.mps.ohio-state.edu> - Date: Fri, 26 Jun 1998 23:28:41 -0400 (EDT) +[ 3537] By: gsar on 1999/06/12 06:43:03 + Log: EXTERN_C declarations for global arrays in various + headers, so perl can be built even in C++ mode; win32 + build fixups; regen headers Branch: perl - ! ObjXSub.h embed.h embedvar.h global.sym hv.c interp.sym - ! intrpvar.h lib/Math/BigInt.pm lib/overload.pm objpp.h op.c - ! perl.c perl.h pp_ctl.c proto.h scope.c scope.h - ! t/pragma/overload.t toke.c + ! XSUB.h embedvar.h ext/B/B.xs objXSUB.h opcode.h opcode.pl + ! perl.h regcomp.h regexec.c utf8.h win32/win32.c win32/win32.h ____________________________________________________________________________ -[ 1258] By: gsar on 1998/06/29 05:32:25 - Log: fix Socket.pm typo from change#1240 +[ 3536] By: gsar on 1999/06/12 06:38:21 + Log: caller.pm typos Branch: perl - ! ext/Socket/Socket.pm + ! lib/caller.pm ____________________________________________________________________________ -[ 1257] By: gsar on 1998/06/29 05:09:24 - Log: applied patch, tweak for threads awareness - From: Albert Dvornik - Subject: [PATCH]5.004_04-m4 (CORE) fix for broken "goto &xsub" - Date: 24 Jun 1998 19:33:09 -0400 - Message-Id: +[ 3535] By: gsar on 1999/06/11 23:13:54 + Log: various little tweaks; most globals are now in intrpvar.h, ninterps + is temporarily gone Branch: perl - + t/op/goto_xs.t - ! MANIFEST pp_ctl.c + ! embed.pl intrpvar.h os2/os2.c perl.c perlvars.h + ! pod/perldelta.pod proto.h win32/perllib.c ____________________________________________________________________________ -[ 1256] By: gsar on 1998/06/29 03:34:18 - Log: applied patch, fixed one more leak, tweaked whitespace bugs - From: Guy Decoux - (via) - Date: Fri, 26 Jun 1998 09:59:32 -0400 - From: "Chunhui Teng" - Message-Id: <199806261359.JAA02393@bmers357.nortel.ca> - Subject: Memory leak in Perl 5.004 and the fix +[ 3534] By: gsar on 1999/06/11 20:41:51 + Log: implement C Branch: perl - ! ext/Opcode/Opcode.xs ext/Opcode/Safe.pm + + lib/caller.pm + ! MANIFEST perl.h pod/perldelta.pod pod/perlfunc.pod pp_ctl.c ____________________________________________________________________________ -[ 1255] By: gsar on 1998/06/29 02:50:37 - Log: From: koenig@kulturbox.de (Andreas J. Koenig) - Subject: Permissions in MakeMaker (Was: patch to MM_Unix.pm) - Date: 28 Jun 1998 23:47:07 +0200 - Message-ID: +[ 3533] By: gsar on 1999/06/11 16:51:04 + Log: truncate() has a peculiar exemption from strict barewords, even + though it has a non-filehandle prototype Branch: perl - ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + ! op.c t/io/fs.t ____________________________________________________________________________ -[ 1254] By: gsar on 1998/06/28 21:35:02 - Log: From: joshua.pritikin@db.com - Date: Fri, 26 Jun 1998 09:34:34 -0400 - Message-Id: - Subject: [PATCH _68] PUSHSTACK renovation +[ 3532] By: gsar on 1999/06/11 09:09:16 + Log: GDBM tweak Branch: perl - ! av.c cop.h gv.c mg.c perl.c pp_ctl.c pp_sys.c sv.c util.c + ! ext/GDBM_File/GDBM_File.xs ext/GDBM_File/typemap ____________________________________________________________________________ -[ 1253] By: gsar on 1998/06/28 21:21:22 - Log: From: Stephen McCamant - Message-Id: - Date: Sat, 27 Jun 1998 16:38:19 -0500 (CDT) - Subject: IV changes for long long (was Re: 5.004_68 on its way to the CPAN) +[ 3531] By: gsar on 1999/06/10 23:34:19 + Log: part of the platform changes for IMPLICIT_CONTEXT Branch: perl - ! perlvars.h sv.c + ! djgpp/djgpp.c jpl/JNI/JNI.xs jpl/JNI/typemap + ! jpl/PerlInterpreter/PerlInterpreter.c + ! jpl/PerlInterpreter/PerlInterpreter.h + ! os2/OS2/ExtAttr/ExtAttr.xs os2/OS2/PrfDB/PrfDB.xs + ! os2/OS2/Process/Process.xs os2/OS2/REXX/REXX.xs perl.h ____________________________________________________________________________ -[ 1252] By: gsar on 1998/06/28 21:16:34 - Log: From: Ilya Zakharevich - Message-Id: <199806272359.TAA05436@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_68] Improve warning on zero-length chunks in RE - Date: Sat, 27 Jun 1998 19:59:13 -0400 (EDT) - Branch: perl - ! regcomp.c +[ 3530] By: jhi on 1999/06/10 20:55:56 + Log: Integrate from mainperl. + Branch: cfgperl + !> ext/DB_File/DB_File.xs ext/DB_File/typemap ____________________________________________________________________________ -[ 1251] By: gsar on 1998/06/28 21:14:32 - Log: add Math/Trig/Radial.pm, update MANIFEST - From: Jarkko Hietaniemi - Date: Sat, 27 Jun 1998 17:28:14 +0300 (EET DST) - Message-Id: <199806271428.RAA05307@alpha.hut.fi> - Subject: Math::Trig::Radial ? +[ 3529] By: gsar on 1999/06/10 20:40:01 + Log: DB_File tweaks for IMPLICIT CONTEXT Branch: perl - + lib/Math/Trig/Radial.pm - ! MANIFEST + ! ext/DB_File/DB_File.xs ext/DB_File/typemap ____________________________________________________________________________ -[ 1250] By: gsar on 1998/06/28 21:09:48 - Log: applied patch, tweaked doc, and regen regnodes.h - From: Ilya Zakharevich - Message-Id: <199806270655.CAA29144@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_68] \z in RE - Date: Sat, 27 Jun 1998 02:55:26 -0400 (EDT) - Branch: perl - ! pod/perlre.pod regcomp.c regcomp.sym regexec.c regnodes.h - ! t/op/re_tests t/op/regexp.t toke.c +[ 3528] By: jhi on 1999/06/10 10:18:15 + Log: Integrate from mainperl. + Branch: cfgperl + !> (integrate 105 files) ____________________________________________________________________________ -[ 1249] By: gsar on 1998/06/28 20:56:38 - Log: From: mike@bill.iac.net - Message-ID: <19980627034913.A32220@bill.minivend.com> - Date: Sat, 27 Jun 1998 03:49:13 +0000 - Subject: [ PATCH 5.004 68 ] Text::ParseWords, ^W fixed, version 3.1 +[ 3527] By: gsar on 1999/06/10 09:30:35 + Log: most globals are now interpreter local; locale initialization + was too early, defer it until interpreter is allocated and + initialized; multiple interpreters should now be + concurrency-safe (untested) Branch: perl - ! lib/Text/ParseWords.pm t/lib/parsewords.t + ! embedvar.h intrpvar.h malloc.c miniperlmain.c perl.c perl.h + ! perlvars.h ____________________________________________________________________________ -[ 1248] By: gsar on 1998/06/28 20:54:43 - Log: From: Ilya Zakharevich - Message-Id: <199806270352.XAA21174@monk.mps.ohio-state.edu> - Subject: [PATCH] Fix ptags - Date: Fri, 26 Jun 1998 23:52:54 -0400 (EDT) +[ 3526] By: gsar on 1999/06/10 08:38:00 + Log: fix small nits Branch: perl - ! emacs/ptags + ! cc_runtime.h ext/B/B/CC.pm run.c ____________________________________________________________________________ -[ 1247] By: gsar on 1998/06/28 20:42:54 - Log: apply patch sent via private mail - From: Stephen McCamant - Message-Id: - Date: Fri, 26 Jun 1998 21:32:23 -0500 (CDT) - Subject: Re: Enhanced B::Deparse +[ 3525] By: gsar on 1999/06/10 04:41:38 + Log: win32 build fixes Branch: perl - ! ext/B/B/Deparse.pm + ! bytecode.pl dosish.h embed.h embed.pl ext/B/B.xs + ! ext/ByteLoader/ByteLoader.xs ext/ByteLoader/bytecode.h + ! ext/ByteLoader/byterun.h ext/SDBM_File/sdbm/sdbm.c globals.c + ! mg.c objXSUB.h op.h perl.c perl.h pp_sys.c proto.h sv.c util.c + ! win32/Makefile win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc win32/config_h.PL win32/dl_win32.xs + ! win32/makedef.pl win32/makefile.mk win32/perllib.c + ! win32/win32.c win32/win32.h win32/win32sck.c + ! win32/win32thread.c win32/win32thread.h ____________________________________________________________________________ -[ 1246] By: gsar on 1998/06/28 20:38:24 - Log: From: Ilya Zakharevich - Message-Id: <199806270109.VAA14907@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_68] pat.t tests - Date: Fri, 26 Jun 1998 21:09:02 -0400 (EDT) - Branch: perl - ! t/op/pat.t +[ 3524] By: gsar on 1999/06/09 18:03:01 + Log: more complete support for implicit thread/interpreter pointer, + enabled via -DPERL_IMPLICIT_CONTEXT (all changes are noops + without that enabled): + - USE_THREADS now enables PERL_IMPLICIT_CONTEXT, so dTHR + is a noop; tests pass on Solaris; should be faster now! + - MULTIPLICITY has been tested with and without + PERL_IMPLICIT_CONTEXT on Solaris + - improved function database now merged with embed.pl + - everything except the varargs functions have foo(a,b,c) macros + to provide compatibility + - varargs functions default to compatibility variants that + get the context pointer using dTHX + - there should be almost no source compatibility issues as a + result of all this + - dl_foo.xs changes other than dl_dlopen.xs untested + - still needs documentation, fixups for win32 etc + Next step: migrate most non-mutex variables from perlvars.h + to intrpvar.h + Branch: perl + - proto.pl + ! MANIFEST XSUB.h av.c bytecode.pl cv.h doio.c doop.c dump.c + ! ebcdic.c embed.h embed.pl embedvar.h ext/B/B.xs ext/B/typemap + ! ext/ByteLoader/ByteLoader.xs ext/ByteLoader/bytecode.h + ! ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h + ! ext/Data/Dumper/Dumper.xs ext/Devel/Peek/Peek.xs + ! ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_beos.xs + ! ext/DynaLoader/dl_cygwin32.xs ext/DynaLoader/dl_dld.xs + ! ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_hpux.xs + ! ext/DynaLoader/dl_mpeix.xs ext/DynaLoader/dl_next.xs + ! ext/DynaLoader/dl_none.xs ext/DynaLoader/dl_rhapsody.xs + ! ext/DynaLoader/dl_vmesa.xs ext/DynaLoader/dl_vms.xs + ! ext/DynaLoader/dlutils.c ext/Opcode/Opcode.xs + ! ext/POSIX/POSIX.xs ext/Thread/Thread.xs ext/re/re.xs + ! global.sym globals.c gv.c hv.c lib/ExtUtils/typemap + ! lib/ExtUtils/xsubpp malloc.c mg.c mg.h miniperlmain.c + ! objXSUB.h op.c opcode.h opcode.pl perl.c perl.h perlio.c + ! perlsfio.h perly.c pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c + ! proto.h regcomp.c regcomp.h regexec.c run.c scope.c scope.h + ! sv.c taint.c thrdvar.h thread.h toke.c universal.c utf8.c + ! util.c win32/Makefile win32/makefile.mk writemain.SH ____________________________________________________________________________ -[ 1245] By: gsar on 1998/06/28 20:36:08 - Log: From: joshua.pritikin@db.com - Date: Fri, 26 Jun 1998 10:02:32 -0400 - Message-Id: - Subject: [PATCH _68] improve recursive error messages! +[ 3523] By: gsar on 1999/06/07 05:24:13 + Log: missed a file Branch: perl - ! gv.c pod/perldiag.pod universal.c + + proto.pl + ! MANIFEST ____________________________________________________________________________ -[ 1244] By: gsar on 1998/06/28 20:09:02 - Log: From: Dominic Dunlop - Message-Id: - Date: Thu, 25 Jun 1998 17:46:55 +0000 - Subject: [PATCH 5.004_68]: Move REG_INFTY-dependent tests from op/regexp.t - to op/pat.t; add tests for a few more regexp parse failures etc. - Branch: perl - ! t/op/pat.t t/op/re_tests t/op/regexp.t +[ 3522] By: gsar on 1999/06/07 05:18:34 + Log: initial stub implementation of implicit thread/this + pointer argument; builds/tests on Solaris, win32 + hasn't been fixed up yet; proto.h, global.sym and + static function decls are now generated from a common + database in proto.pl; some inconsistently named + perl_foo() things are now Perl_foo(), compatibility + #defines provided; perl_foo() (lowercase 'p') reserved + for functions that take an explicit context argument; + next step: generate #define foo(a,b) Perl_foo(aTHX_ a,b) + Branch: perl + ! XSUB.h av.c cop.h deb.c doio.c doop.c dump.c ebcdic.c embed.h + ! embed.pl ext/POSIX/POSIX.xs global.sym globals.c gv.c gv.h + ! hv.c malloc.c mg.c miniperlmain.c objXSUB.h op.c opcode.h + ! opcode.pl perl.c perl.h perl_exp.SH perlio.c perly.c perly.y + ! pp.c pp.sym pp_ctl.c pp_hot.c pp_proto.h pp_sys.c proto.h + ! regcomp.c regexec.c run.c scope.c scope.h sv.c taint.c toke.c + ! universal.c utf8.c util.c +____________________________________________________________________________ +[ 3521] By: gsar on 1999/06/04 23:00:22 + Log: clean up some stray "global" symbols + Branch: perl + ! embed.h embed.pl global.sym objXSUB.h opcode.pl pp.sym + ! pp_proto.h proto.h +____________________________________________________________________________ +[ 3520] By: jhi on 1999/06/02 21:33:28 + Log: Integrate from mainperl. + Branch: cfgperl + !> (integrate 94 files) ____________________________________________________________________________ -[ 1243] By: gsar on 1998/06/28 20:06:30 - Log: specify *.sym files needed in perl_exp.SH instead of picking up all - From: Andy Dougherty - Date: Thu, 25 Jun 1998 10:36:21 -0400 (EDT) - Subject: Re: Not OK: perl 5.00468 on aix-thread 4.1.4.0 - Message-Id: +[ 3519] By: gsar on 1999/06/02 07:16:10 + Log: avoid dereferencing null pointer from getpwent() et al Branch: perl - ! perl_exp.SH + ! pp_sys.c ____________________________________________________________________________ -[ 1242] By: gsar on 1998/06/28 20:01:28 - Log: - From: Gisle Aas - Subject: Re: [PATCH] 4-arg substr update for perl5.004_68 - Date: 25 Jun 1998 10:32:43 +0200 - Message-ID: - Branch: perl - ! op.c pod/perlfunc.pod pp.c t/op/substr.t +[ 3518] By: gsar on 1999/06/02 04:47:10 + Log: remove _() non-ansism + Branch: perl + ! Porting/config_H XSUB.h config_h.SH cv.h doio.c doop.c + ! ext/B/B/C.pm ext/B/B/CC.pm ext/B/byteperl.c + ! ext/ByteLoader/ByteLoader.xs ext/Data/Dumper/Dumper.xs + ! ext/DynaLoader/dl_beos.xs ext/DynaLoader/dl_dlopen.xs + ! ext/DynaLoader/dl_vmesa.xs ext/IO/poll.h ext/IPC/SysV/SysV.xs + ! ext/Opcode/Opcode.xs ext/POSIX/POSIX.xs ext/Thread/Thread.xs + ! ext/re/re.xs handy.h hv.c iperlsys.h + ! jpl/PerlInterpreter/PerlInterpreter.c lib/ExtUtils/Embed.pm + ! malloc.c mg.c mg.h minimod.pl miniperlmain.c op.c op.h + ! opcode.h opcode.pl os2/POSIX.mkfifo perl.c perl.h + ! plan9/config.plan9 pod/perlembed.pod pod/perlguts.pod pp.c + ! pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c regexec.c run.c + ! scope.h sv.c sv.h thread.h toke.c util.c vms/sockadapt.h + ! vms/vmsish.h vms/writemain.pl vos/config.h + ! vos/config_h.SH_orig win32/GenCAPI.pl win32/config_H.bc + ! win32/config_H.gc win32/config_H.vc win32/makemain.pl + ! win32/perllib.c win32/runperl.c win32/win32.h + ! win32/win32thread.h writemain.SH x2p/a2p.c x2p/a2p.h x2p/a2p.y + ! x2p/hash.h x2p/str.h x2p/util.h x2p/walk.c +____________________________________________________________________________ +[ 3517] By: gsar on 1999/06/02 02:17:51 + Log: missed a few files + Branch: perl + ! ext/POSIX/POSIX.xs jpl/JNI/JNI.xs +____________________________________________________________________________ +[ 3516] By: gsar on 1999/06/02 01:37:33 + Log: integrate cfgperl contents into mainline + Branch: perl + +> ext/ByteLoader/bytecode.h ext/ByteLoader/byterun.c + +> ext/ByteLoader/byterun.h + - bytecode.h byterun.c byterun.h + ! Changes + !> (integrate 58 files) ____________________________________________________________________________ -[ 1241] By: gsar on 1998/06/28 19:55:11 - Log: applied patch, tweaked opcode.pl for PERL_OBJECT, and regen opcode.h - From: Stephen McCamant - Message-Id: - Date: Wed, 24 Jun 1998 21:10:32 -0500 (CDT) - Subject: [PATCH REPOST] refgen in opcode.pl +[ 3515] By: gsar on 1999/06/02 00:48:50 + Log: remove stray K&R-isms Branch: perl - ! opcode.h opcode.pl + ! ext/SDBM_File/sdbm/dba.c ext/SDBM_File/sdbm/dbd.c + ! ext/SDBM_File/sdbm/dbe.c ext/SDBM_File/sdbm/dbm.c + ! ext/SDBM_File/sdbm/dbu.c mg.c op.c pp_ctl.c pp_sys.c sv.c + ! toke.c util.c win32/win32.c x2p/hash.c ____________________________________________________________________________ -[ 1240] By: gsar on 1998/06/28 19:46:29 - Log: From: Chris Nandor - Message-Id: - Date: Wed, 24 Jun 1998 19:58:28 -0400 - Subject: [PATCH 3d try] Add CR LF CRLF to Socket.pm +[ 3514] By: gsar on 1999/06/01 15:55:55 + Log: change#3447 didn't do enough to exempt Foo->bar(qw/.../) from + strict 'subs' Branch: perl - ! ext/Socket/Socket.pm + ! op.c t/pragma/strict-subs ____________________________________________________________________________ -[ 1239] By: gsar on 1998/06/28 19:44:19 - Log: From: Gisle Aas - Subject: [PATCH] Optimize foreach (1..1000000) - Date: 24 Jun 1998 20:26:48 +0200 - Message-ID: - Branch: perl - ! Todo cop.h op.c pod/perldiag.pod pod/perlop.pod pp_ctl.c - ! pp_hot.c t/op/range.t +[ 3513] By: jhi on 1999/06/01 07:17:05 + Log: Patch applying of #3499 had gone awry. + Branch: cfgperl + ! ext/ByteLoader/bytecode.h ext/ByteLoader/byterun.h ____________________________________________________________________________ -[ 1238] By: gsar on 1998/06/28 19:28:13 - Log: avoid creation of %^R - From: Ilya Zakharevich - Message-Id: <199806241825.OAA06346@monk.mps.ohio-state.edu> - Subject: Re: [5.004_68] What is %^R ? [PATCH?] - Date: Wed, 24 Jun 1998 14:25:06 -0400 (EDT) +[ 3512] By: gsar on 1999/05/31 19:21:30 + Log: tighter -help output Branch: perl - ! perl.c t/op/splice.t + ! perl.c ____________________________________________________________________________ -[ 1237] By: gsar on 1998/06/28 19:23:40 - Log: From: Gisle Aas - Subject: [PATCH] Negative LENGTH argument to splice - Date: 24 Jun 1998 15:11:35 +0200 - Message-ID: +[ 3511] By: gsar on 1999/05/31 17:18:23 + Log: fix memory leak in C Branch: perl - + t/op/splice.t - ! MANIFEST pod/perlfunc.pod pp.c + ! embed.h embed.pl objXSUB.h pp_ctl.c proto.h ____________________________________________________________________________ -[ 1236] By: gsar on 1998/06/28 19:18:29 - Log: From: "M.J.T. Guy" - Subject: [PATCH] Insecure $ENV{} message out of step with perldiag - Message-Id: - Date: Wed, 24 Jun 1998 13:13:02 +0100 +[ 3510] By: gsar on 1999/05/31 14:11:46 + Log: tweak C++isms Branch: perl - ! pod/perldiag.pod pod/perlsec.pod + ! win32/dl_win32.xs win32/win32.c ____________________________________________________________________________ -[ 1235] By: gsar on 1998/06/28 19:16:13 - Log: Complex.pm update - From: Jarkko Hietaniemi - Date: Wed, 24 Jun 1998 15:19:05 +0300 (EET DST) - Message-Id: <199806241219.PAA04061@alpha.hut.fi> - Subject: [PATCH] 5.004_68: Complex.pm, complex.t - Branch: perl - ! lib/Math/Complex.pm t/lib/complex.t +[ 3509] By: jhi on 1999/05/30 13:02:26 + Log: Cleanup of #3488. + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1234] By: gsar on 1998/06/28 19:13:05 - Log: disable perl malloc on UNICOS for now - From: Jarkko Hietaniemi - Date: Wed, 24 Jun 1998 12:37:14 +0300 (EET DST) - Message-Id: <199806240937.MAA01669@alpha.hut.fi> - Subject: [PATCH] 5.004_68: UNICOS hints - Branch: perl - ! hints/unicos.sh +[ 3508] By: jhi on 1999/05/30 11:16:01 + Log: From: Ilya Zakharevich + To: Mailing list Perl5 + Subject: [PATCH 5.005_57] Teach Socket and io_unix.t the syntax of OS/2 + Date: Sat, 29 May 1999 20:18:13 -0400 + Message-ID: <19990529201813.B9489@monk.mps.ohio-state.edu> + Branch: cfgperl + ! ext/Socket/Socket.xs os2/os2ish.h t/lib/io_unix.t ____________________________________________________________________________ -[ 1233] By: gsar on 1998/06/28 19:10:53 - Log: fixes unpack("q"...), and semctl() tests for UNICOS - From: Jarkko Hietaniemi - Date: Wed, 24 Jun 1998 11:55:09 +0300 (EET DST) - Message-Id: <199806240855.LAA16152@alpha.hut.fi> - Subject: [PATCH] 5.004_68: semctl() in UNICOS (was: pack/unpack) - Branch: perl - ! pp.c t/op/ipcsem.t t/op/pack.t +[ 3507] By: jhi on 1999/05/29 20:05:40 + Log: From: Mark-Jason Dominus + To: perl5-porters@perl.com + Subject: PATCH (5.005_57): Document use of `SPECIAL' flag for `pushre': + Date: Sat, 29 May 1999 14:45:10 -0400 + Message-ID: <19990529184510.27557.qmail@plover.com> + Branch: cfgperl + ! op.h ____________________________________________________________________________ -[ 1232] By: gsar on 1998/06/28 19:01:23 - Log: tweak various places for iperlsys.h awareness +[ 3506] By: gsar on 1999/05/29 16:49:39 + Log: avoid gv_check() recursive pit Branch: perl - ! MANIFEST Makefile.SH lib/ExtUtils/MM_Unix.pm - ! lib/ExtUtils/MM_VMS.pm pod/perlapio.pod + ! gv.c ____________________________________________________________________________ -[ 1231] By: gsar on 1998/06/28 18:37:07 - Log: add a perlio.h stub for compat (some extensions seem to #include it) - Branch: perl - + perlio.h +[ 3505] By: jhi on 1999/05/29 11:38:16 + Log: From: jan.dubois@ibm.net (Jan Dubois) + To: Gurusamy Sarathy + Cc: perl5-porters@perl.org + Subject: [PATCH 5.005_57]Safeguard against unimplemented functions in pwuid.t and grent.t + Date: Sat, 29 May 1999 08:46:22 +0200 + Message-ID: <374f8007.2016008@smtp1.ibm.net> + Branch: cfgperl + ! t/op/grent.t t/op/pwent.t ____________________________________________________________________________ -[ 1230] By: gsar on 1998/06/28 18:35:23 - Log: Message-ID: <19980624003701.C161@cdata.tvnet.hu> - Date: Wed, 24 Jun 1998 00:37:01 +0200 - From: Laszlo Molnar - Subject: Re: [PATCH for _66] Makefile.SH problem on dos/djgpp - Branch: perl - ! pod/pod2text.PL +[ 3504] By: jhi on 1999/05/29 11:07:10 + Log: QNX needs to define fd_set. + + From: Norton Allen + To: perl5-porters@perl.org + Subject: [19990526.016] Not OK: perl 5.00503 on x86-qnx 424 + Date: Wed, 26 May 1999 13:51:27 -0400 (EDT) + Message-Id: <199905261751.NAA20966@bottesini.harvard.edu> + Branch: cfgperl + ! ext/IO/poll.c ____________________________________________________________________________ -[ 1229] By: gsar on 1998/06/28 18:33:42 - Log: hand apply mutiliated patch - Message-Id: <3.0.5.32.19980623114100.00ab76e0@ous.edu> - Date: Tue, 23 Jun 1998 11:41:00 -0700 - From: Dan Sugalski - Subject: [PATCH 5.004_68]Configure update for VMS - Branch: perl - ! configure.com vms/descrip_mms.template vms/subconfigure.com +[ 3503] By: jhi on 1999/05/29 10:53:31 + Log: From: jan.dubois@ibm.net (Jan Dubois) + To: Gurusamy Sarathy , perl5-porters@perl.org + Subject: [PATCH all versions] (was Re: Unitialized Value Complaints in Math::BigFloat) + Date: Fri, 28 May 1999 20:14:35 +0200 + Message-ID: <3751daa4.7188847@smtp1.ibm.net> + Branch: cfgperl + ! lib/Math/BigFloat.pm ____________________________________________________________________________ -[ 1228] By: gsar on 1998/06/28 17:17:35 - Log: hand apply whitespace mutiliated patch - Date: Tue, 23 Jun 98 16:38:06 BST - Message-Id: <5389.9806231538@tempest.cise.npl.co.uk> - From: Robin Barker - Subject: PATCH [perl5.004_68] perlbug.PL; was Re: Error message for Errno_pm.PL - Branch: perl - ! utils/perlbug.PL +[ 3502] By: jhi on 1999/05/29 10:44:44 + Log: Make Configure support the change #3367, + SysV shadow passwords. + Branch: cfgperl + ! Configure config_h.SH pp_sys.c ____________________________________________________________________________ -[ 1227] By: gsar on 1998/06/28 17:14:34 - Log: Date: Tue, 23 Jun 1998 08:51:00 -0700 (PDT) - From: Tom Phoenix - Subject: [PATCH] documenting close without arguments - Message-ID: +[ 3501] By: gsar on 1999/05/28 21:22:23 + Log: add wide versions of win32 system calls (first step in + globalization); delayload winsock for performance if compiling + with VC 6.0 Branch: perl - ! pod/perlfunc.pod + ! win32/Makefile win32/dl_win32.xs win32/makefile.mk + ! win32/win32.c win32/win32.h ____________________________________________________________________________ -[ 1226] By: gsar on 1998/06/28 17:12:56 - Log: Date: Tue, 23 Jun 1998 05:37:09 -0700 (PDT) - From: Tom Phoenix - Subject: Better diags for vars.pm - Message-ID: - Branch: perl - ! lib/vars.pm +[ 3500] By: jhi on 1999/05/28 21:17:24 + Log: The new t/lib/io_linenum.t was using stricture + before @INC was set up. + Branch: cfgperl + ! t/lib/io_linenum.t ____________________________________________________________________________ -[ 1225] By: gsar on 1998/06/28 17:05:59 - Log: hand apply whitespace mutiliated perldoc.PL patches - Date: Tue, 23 Jun 98 15:49:52 BST - Message-Id: <5302.9806231449@tempest.cise.npl.co.uk> - From: Robin Barker - Subject: PATCH [5.004_68] perldoc.PL - -- - Date: Fri, 26 Jun 98 17:50:05 BST - Message-Id: <6834.9806261650@tempest.cise.npl.co.uk> - From: Robin Barker - Subject: [PATCH 5.004_68] perldoc.PL - Branch: perl - ! utils/perldoc.PL +[ 3499] By: jhi on 1999/05/28 17:13:23 + Log: From: Tom Hughes + To: perl5-porters@perl.org + Subject: [PATCH 5.005_57] ByteLoader mark 2 + Date: Wed, 26 May 1999 23:59:49 +0100 + Message-ID: + + plus resolve tiny conflict with #3479 + plus regen_headers. + Branch: cfgperl + + ext/ByteLoader/bytecode.h ext/ByteLoader/byterun.c + + ext/ByteLoader/byterun.h + - bytecode.h byterun.c byterun.h + ! MANIFEST Makefile.SH bytecode.pl embed.h embedvar.h ext/B/B.pm + ! ext/B/B.xs ext/B/B/Bytecode.pm ext/B/Makefile.PL + ! ext/ByteLoader/ByteLoader.pm ext/ByteLoader/ByteLoader.xs + ! ext/ByteLoader/Makefile.PL global.sym intrpvar.h objXSUB.h + ! perl.h perlvars.h proto.h util.c utils/Makefile +____________________________________________________________________________ +[ 3498] By: jhi on 1999/05/28 16:53:04 + Log: From: Mark-Jason Dominus + To: perl5-porters@perl.com + Subject: PATCH (5.005_57): defined(@a) now deprecated + Date: Thu, 27 May 1999 16:05:44 -0400 + Message-ID: <19990527200544.13330.qmail@plover.com> + Branch: cfgperl + ! lib/Carp.pm op.c opcode.h opcode.pl pod/perldelta.pod + ! pod/perldiag.pod pod/perlfunc.pod pp_proto.h t/pragma/warn/op +____________________________________________________________________________ +[ 3497] By: jhi on 1999/05/28 16:50:54 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.00557] Cosmetic OS/2-related patches + Date: Fri, 28 May 1999 12:13:00 -0400 (EDT) + Message-Id: <199905281613.MAA02048@monk.mps.ohio-state.edu> + Branch: cfgperl + ! MANIFEST Makefile.SH ext/POSIX/POSIX.xs hints/os2.sh + ! os2/Makefile.SHs t/io/pipe.t t/lib/io_sock.t +____________________________________________________________________________ +[ 3496] By: jhi on 1999/05/28 16:48:39 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.00557] Required OS/2-related patches + Date: Fri, 28 May 1999 12:11:48 -0400 (EDT) + Message-Id: <199905281611.MAA02037@monk.mps.ohio-state.edu> + Branch: cfgperl + ! os2/os2.c t/lib/bigfloatpm.t t/lib/io_unix.t t/op/groups.t + ! t/op/stat.t util.c +____________________________________________________________________________ +[ 3495] By: jhi on 1999/05/28 16:45:56 + Log: From: Paul Johnson + To: perl5-porters + Subject: [PATCH 5.005_57] Provide more useful test okay percentage + Date: Fri, 28 May 1999 15:13:54 +0100 + Message-ID: <19990528151354.B289@west-tip.transeda.com> + Branch: cfgperl + ! t/TEST ____________________________________________________________________________ -[ 1224] By: gsar on 1998/06/28 16:50:59 - Log: integrate ansiperl to get makedef.pl tweak - Branch: perl - ! Porting/pumpkin.pod win32/makedef.pl +[ 3494] By: jhi on 1999/05/28 16:44:34 + Log: From: Paul Johnson + To: perl5-porters + Subject: [PATCH 5.005_57] Fixes related to working local $. + Date: Fri, 28 May 1999 15:11:18 +0100 + Message-ID: <19990528151118.A289@west-tip.transeda.com> + Branch: cfgperl + ! ext/IO/lib/IO/Handle.pm pod/perlvar.pod t/lib/io_linenum.t ____________________________________________________________________________ -[ 1223] By: gsar on 1998/06/28 16:33:32 - Log: add CGI-2.42, its and testsuite +[ 3493] By: gsar on 1999/05/28 16:37:26 + Log: change#3449 wasn't doing enough Branch: perl - + eg/cgi/caution.xbm eg/cgi/dna.small.gif.uu - + eg/cgi/nph-multipart.cgi lib/CGI/Cookie.pm t/lib/cgi-form.t - + t/lib/cgi-function.t t/lib/cgi-html.t t/lib/cgi-request.t - ! MANIFEST eg/cgi/RunMeFirst eg/cgi/file_upload.cgi - ! eg/cgi/index.html eg/cgi/monty.cgi eg/cgi/save_state.cgi - ! eg/cgi/wilogo.gif.uu lib/CGI.pm lib/CGI/Apache.pm - ! lib/CGI/Carp.pm lib/CGI/Fast.pm lib/CGI/Push.pm - ! lib/CGI/Switch.pm + ! op.c t/comp/proto.t ____________________________________________________________________________ -[ 1222] By: gsar on 1998/06/28 15:28:29 - Log: enable Errno build on win32, add Errno-1.08 files to repository - Branch: perl - + ext/Errno/ChangeLog ext/Errno/Errno_pm.PL - + ext/Errno/Makefile.PL t/lib/errno.t - ! MANIFEST win32/Makefile win32/config.bc win32/config.gc - ! win32/config.vc win32/makefile.mk +[ 3492] By: jhi on 1999/05/28 08:12:23 + Log: From: paul.marquess@bt.com + To: doughera@lafayette.edu + Cc: perl5-porters@perl.org + Subject: RE: [19990527.002] DBM Filters in _57 cause problems in NDBM_File + Date: Thu, 27 May 1999 23:31:38 +0100 + Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB29C6C03@mbtlipnt02.btlabs.bt.co.uk> + + Had to be applied manually; some mailer had munged the patch slightly. + Branch: cfgperl + ! ext/NDBM_File/NDBM_File.xs ____________________________________________________________________________ -[ 1221] By: gsar on 1998/06/28 14:34:06 - Log: tweak win32 config templates for cpp - Branch: perl - ! win32/config.bc win32/config.gc win32/config.vc +[ 3491] By: jhi on 1999/05/28 07:51:17 + Log: From: "Vishal Bhatia" + To: perl5-porters@perl.org + Subject: [PATCH 5.005_57] fixing eval in the compiler + Date: Thu, 27 May 1999 07:56:54 -0700 + Message-ID: + Branch: cfgperl + ! cc_runtime.h scope.h ____________________________________________________________________________ -[ 1220] By: nick on 1998/06/26 16:46:13 - Log: Integrate mainline - Branch: ansiperl - !> Changes Makefile.SH ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod - !> ext/POSIX/POSIX.xs perl.c pod/perlre.pod pod/perlvar.pod sv.c - !> util.c win32/win32.h +[ 3490] By: jhi on 1999/05/28 07:47:06 + Log: From: Andy Dougherty + To: perlbug@perl.com + Cc: Jarkko Hietaniemi + Subject: [PATCH] Configure updates for ISC 4.1 + Date: Thu, 27 May 1999 15:19:21 -0400 (EDT) + Message-Id: + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1219] By: gsar on 1998/06/26 04:33:57 - Log: make find_script() return saved string, reenable missing diagnostics - Branch: perl - ! perl.c util.c +[ 3489] By: jhi on 1999/05/28 07:39:17 + Log: Integrate from mainperl. + Branch: cfgperl + !> malloc.c win32/makedef.pl win32/win32.c ____________________________________________________________________________ -[ 1218] By: gsar on 1998/06/25 23:24:53 - Log: avoid warning with -P switch - Branch: perl - ! perl.c +[ 3488] By: jhi on 1999/05/27 16:57:19 + Log: From: Andy Dougherty + To: Perl Porters + Subject: [PATCH] Re: 5.005_57 NOT OK on SunOS 4.1.3 + Date: Thu, 27 May 1999 12:26:28 -0400 (EDT) + Message-Id: + Branch: cfgperl + ! Configure config_h.SH hints/sunos_4_1.sh util.c ____________________________________________________________________________ -[ 1217] By: gsar on 1998/06/25 22:06:58 - Log: don't suppress display of Makefile recipes that invoke perl +[ 3487] By: gsar on 1999/05/27 03:56:20 + Log: make win32_spawnvp() inherit standard handles even when they + may be redirected Branch: perl - ! Makefile.SH + ! win32/win32.c ____________________________________________________________________________ -[ 1216] By: gsar on 1998/06/25 21:32:06 - Log: tweak order of destruction so OBJECTs in GLOBs are visited after those - in RVs - Branch: perl - ! sv.c +[ 3486] By: jhi on 1999/05/26 19:55:52 + Log: From: Andy Dougherty + To: perl5-porters@perl.org + Subject: Re: BUG -> [19990526.004] perl5.005_57 error in util.c on sun4-solaris2.6 + Date: Wed, 26 May 1999 14:49:52 -0400 (EDT) + Message-Id: + Branch: cfgperl + ! util.c ____________________________________________________________________________ -[ 1215] By: gsar on 1998/06/25 18:56:59 - Log: mknod() is not POSIX, so remove the POSIX pieces from change#1199 - Branch: perl - ! ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs +[ 3485] By: chip on 1999/05/26 17:19:11 + Log: Look for Linux FILE structure in libio.h, for glibc-2.1. + Branch: maint-5.004/perl + ! Configure ____________________________________________________________________________ -[ 1214] By: gsar on 1998/06/25 18:11:22 - Log: add FILE_SHARE_DELETE ifndef in win32.h +[ 3484] By: gsar on 1999/05/26 01:56:28 + Log: fix missing exported symbol Branch: perl - ! win32/win32.h + ! malloc.c win32/makedef.pl ____________________________________________________________________________ -[ 1213] By: nick on 1998/06/24 17:18:59 - Log: Correct perl malloc tweak to .def generation - Branch: ansiperl - ! win32/makedef.pl +[ 3483] By: jhi on 1999/05/25 23:08:07 + Log: Configure -Dopenbsd_distribution to build for the OpenBSD tree. + + From: "Todd C. Miller" + To: perlbug@perl.com + Subject: OpenBSD hints file update + Date: Tue, 25 May 1999 12:12:38 -0600 (MDT) + Message-Id: <199905251812.MAA06032@xerxes.courtesan.com> + Branch: cfgperl + ! hints/openbsd.sh ____________________________________________________________________________ -[ 1212] By: gsar on 1998/06/24 12:40:13 - Log: check in what change#1182 didn't, and Changes +[ 3482] By: jhi on 1999/05/25 23:01:25 + Log: From: Tom Hughes + To: perl5-porters@perl.org + Subject: [PATCH 5.005_57] Make Configure recognise glibc 2.1 stdio + Date: Tue, 25 May 1999 23:10:23 +0100 + Message-ID: <1ed7f10749.tom@compton.compton.nu> + Branch: cfgperl + ! Configure config_h.SH +____________________________________________________________________________ +[ 3481] By: jhi on 1999/05/25 22:31:50 + Log: 3479, 3480, 3481 seems logical. + Branch: cfgperl + !> hints/aix.sh +____________________________________________________________________________ +[ 3480] By: jhi on 1999/05/25 22:13:39 + Log: The change #3479 wasn't perfect. Branch: perl - ! Changes pod/perlre.pod pod/perlvar.pod + ! hints/aix.sh ____________________________________________________________________________ -[ 1211] By: TimBunce on 1998/06/23 23:09:37 - Log: Update test count in t/lib/basename.t (see change 1210) - Branch: maint-5.004/perl - ! t/lib/basename.t -____________________________________________________________________________ -[ 1210] By: TimBunce on 1998/06/23 22:58:18 - Log: Title: "Add C pragma to propagate tainting in m// and s///" - From: Chip Salzenberg , Gurusamy Sarathy - , Tim.Bunce@ig.co.uk (Tim Bunce) - Msg-ID: <19980525155222.A18445@perlsupport.com>, - <199805261143.MAA04260@toad.ig.co.uk>, - <199805261235.IAA10371@aatma.engin.umich.edu>, - Files: MANIFEST pod/perlmodlib.pod pod/perlop.pod op.h perl.h dump.c - installperl lib/re.pm lib/File/Basename.pm mg.c op.c - pp_ctl.c pp_hot.c t/lib/basename.t t/op/taint.t toke.c - Branch: maint-5.004/perl - ! MANIFEST dump.c embed.h installperl lib/File/Basename.pm mg.c - ! op.c op.h perl.h pod/perlmodlib.pod pod/perlop.pod pp_ctl.c - ! pp_hot.c t/lib/basename.t t/op/taint.t toke.c +[ 3479] By: jhi on 1999/05/25 21:59:21 + Log: Cures for _57 in AIX 4.1.5.0. + (1) The lddlflags lost its -lc by change #3660 + (and the politeness of change #3257). + (2) optype_size must end up in perl.exp (as PL_optype_size). + Added it to perlvars.h, fixed bytecode.pl, + regen'ed the relevant headers. + Branch: cfgperl + ! bytecode.h bytecode.pl byterun.h embed.h embedvar.h objXSUB.h + ! perlvars.h + Branch: perl + ! hints/aix.sh ____________________________________________________________________________ -[ 1209] By: nick on 1998/06/23 21:33:34 - Log: Perl_malloced_size() only available with perl's malloc - Branch: ansiperl - ! win32/makefile.mk +[ 3478] By: jhi on 1999/05/25 20:13:47 + Log: Integrate from mainperl. + Branch: cfgperl + +> pod/perltootc.pod + !> (integrate 101 files) ____________________________________________________________________________ -[ 1208] By: nick on 1998/06/23 18:15:23 - Log: Integrate mainline c. 5.004_68 into ansiperl, mainly - so see what has changed... - Branch: ansiperl - +> Porting/genlog iperlsys.h lib/File/Spec.pm - +> lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm - +> lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm - +> lib/File/Spec/Win32.pm regcomp.pl regcomp.sym regnodes.h - +> t/lib/filespec.t win32/perlhost.h - - atomic.h ipdir.h ipenv.h iplio.h ipmem.h ipproc.h ipsock.h - - ipstdio.h perldir.h perlenv.h perlio.h perllio.h perlmem.h - - perlproc.h perlsock.h - !> (integrate 96 files) +[ 3477] By: gsar on 1999/05/25 10:43:48 + Log: here be 5.005_57 + Branch: perl + ! Changes MANIFEST Porting/makerel + !> Changes5.005 ---------------- -Version 5.004_68 +Version 5.005_57 ---------------- ____________________________________________________________________________ -[ 1207] By: gsar on 1998/06/23 10:55:05 - Log: final touches to 5.004_68 +[ 3476] By: gsar on 1999/05/25 09:23:43 + Log: up patchlevel &c Branch: perl - ! perl.c + ! Changes patchlevel.h pod/perlhist.pod win32/Makefile + ! win32/config_H.bc win32/config_H.gc win32/config_H.vc + ! win32/makefile.mk ____________________________________________________________________________ -[ 1206] By: gsar on 1998/06/23 10:50:10 - Log: more MULTIPLICITY tweaks +[ 3475] By: gsar on 1999/05/25 09:14:51 + Log: From: Ilya Zakharevich + Date: Tue, 25 May 1999 02:42:23 -0400 (EDT) + Message-Id: <199905250642.CAA06208@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_56] REx engine improvements Branch: perl - ! objpp.h perl.c perl.h proto.h win32/GenCAPI.pl win32/config.bc - ! win32/config.gc win32/config.vc win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc + ! embedvar.h mg.c objXSUB.h pp.c pp_ctl.c pp_hot.c regcomp.c + ! regexec.c regexp.h t/op/pat.t t/op/re_tests t/op/regexp.t + ! thrdvar.h util.c ____________________________________________________________________________ -[ 1205] By: gsar on 1998/06/23 09:03:46 - Log: partial MULTIPLICITY cleanup +[ 3474] By: gsar on 1999/05/25 08:39:56 + Log: test case for change#3470 Branch: perl - ! embedvar.h interp.sym intrpvar.h perl.c perlvars.h proto.h - ! thrdvar.h + ! t/lib/bigintpm.t ____________________________________________________________________________ -[ 1204] By: gsar on 1998/06/23 09:00:48 - Log: tweak MANIFEST, add Dev_t to POSIX/typemap +[ 3473] By: gsar on 1999/05/25 08:36:52 + Log: perlport 1.43 update from Chris Nandor and Tom Christiansen Branch: perl - ! MANIFEST Porting/makerel README.win32 ext/POSIX/typemap + ! Changes pod/perlport.pod ____________________________________________________________________________ -[ 1203] By: gsar on 1998/06/23 07:08:02 - Log: bump patchlevel to 68, Porting/makerel tweaks +[ 3472] By: gsar on 1999/05/25 08:28:57 + Log: assorted tweaks Branch: perl - ! Porting/makerel patchlevel.h win32/Makefile win32/config_H.bc - ! win32/config_H.gc win32/config_H.vc win32/makefile.mk + ! doio.c iperlsys.h win32/config.bc win32/config.gc + ! win32/config.vc win32/config_H.bc win32/config_H.gc + ! win32/config_H.vc win32/makedef.pl ____________________________________________________________________________ -[ 1202] By: gsar on 1998/06/23 06:16:19 - Log: remove atomic.h pending resolution of licensing issues, - EMULATE_ATOMIC_REFCOUNTS everywhere +[ 3471] By: gsar on 1999/05/25 06:06:04 + Log: perlref update from Tom Christiansen Branch: perl - - atomic.h - ! MANIFEST perl.h sv.h + ! pod/perlref.pod ____________________________________________________________________________ -[ 1201] By: gsar on 1998/06/23 06:06:23 - Log: applied patch, regen headers - From: Ilya Zakharevich - Message-Id: <199806220819.EAA03295@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Malloc size feedback - Date: Mon, 22 Jun 1998 04:19:45 -0400 (EDT) - Branch: perl - ! ObjXSub.h av.c embed.h global.sym hv.c malloc.c objpp.h perl.c - ! pp_sys.c proto.h sv.c toke.c -____________________________________________________________________________ -[ 1200] By: gsar on 1998/06/23 05:59:09 - Log: Message-Id: - Date: Mon, 22 Jun 1998 21:19:43 -0500 (CDT) - From: Stephen McCamant - Subject: [PATCH] Inheritance of B:: classes - Branch: perl - ! ext/B/B.pm -____________________________________________________________________________ -[ 1199] By: gsar on 1998/06/23 05:57:58 - Log: applied patch, moved #define mkfifo ... from perl.h to POSIX.xs - Date: Tue, 23 Jun 1998 00:01:02 +0300 (EET DST) - Message-Id: <199806222101.AAA16456@alpha.hut.fi> - Subject: [PATCH] _67: somebody said POSIX::mknod? - From: Jarkko Hietaniemi +[ 3470] By: gsar on 1999/05/25 06:03:27 + Log: From: Ilya Zakharevich + Date: Mon, 24 May 1999 17:43:56 -0400 + Message-ID: <19990524174356.A1944@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_*] hv.c calling negative malloc() Branch: perl - ! Configure config_h.SH ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod - ! ext/POSIX/POSIX.xs perl.h + ! hv.c ____________________________________________________________________________ -[ 1198] By: gsar on 1998/06/23 05:48:56 - Log: Date: Mon, 22 Jun 1998 14:10:46 -0600 (MDT) - From: Daniel Grisinger - Subject: PATCH [5.004_67] perldoc.PL - Message-ID: +[ 3469] By: gsar on 1999/05/25 05:59:22 + Log: avoid temporary files that have a constant name (from a suggestion + by Anthony J. Lill ) Branch: perl - ! utils/perldoc.PL + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1197] By: gsar on 1998/06/23 05:47:24 - Log: Message-Id: <3.0.5.32.19980622092918.00aa46e0@ous.edu> - Date: Mon, 22 Jun 1998 09:29:18 -0700 - From: Dan Sugalski - Subject: [PATCH 5.004_67] Autosplit's not qite case-insensitive enough on VMS +[ 3468] By: gsar on 1999/05/25 05:54:29 + Log: From: pvhp@forte.com (Peter Prymmer) + Date: Mon, 24 May 99 11:20:25 PDT + Message-Id: <9905241820.AA28071@forte.com> + Subject: [PATCH: _56 and _03]EBCDIC %HTML_Escapes for Pod::Text, plus sync patch. Branch: perl - ! lib/AutoSplit.pm + ! lib/Pod/Text.pm ____________________________________________________________________________ -[ 1196] By: gsar on 1998/06/23 05:45:19 - Log: Date: Mon, 22 Jun 1998 18:58:55 +0300 (EET DST) - Message-Id: <199806221558.SAA18626@alpha.hut.fi> - Subject: [PATCH] 5.004_67: Fcntl: add few constants, enhance maintainability - From: Jarkko Hietaniemi +[ 3467] By: gsar on 1999/05/25 04:08:50 + Log: fix glob() bug that resulted in missing symlinks that don't point + anywhere Branch: perl - ! ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs + ! pp_hot.c ____________________________________________________________________________ -[ 1195] By: gsar on 1998/06/23 05:43:32 - Log: Message-Id: - Date: Mon, 22 Jun 1998 15:22:24 +0000 - From: Dominic Dunlop - Subject: [PATCH 5.004_67] Amend tests/regexp.t for variable REG_INFTY; - update machten.sh to vary REG_INFTY +[ 3466] By: gsar on 1999/05/25 03:00:00 + Log: avoid enumerating @INC contents in diagnostic if @INC was never + searched Branch: perl - ! hints/machten.sh t/op/re_tests t/op/regexp.t + ! pod/perldiag.pod pp_ctl.c ____________________________________________________________________________ -[ 1194] By: gsar on 1998/06/23 05:38:36 - Log: filter out array subscripts when generating symbols for AIX - Date: Mon, 22 Jun 1998 12:14:31 +0300 (EET DST) - Message-Id: <199806220914.MAA13631@alpha.hut.fi> - Subject: [PATCH] 5.004_67: perl.exp bug, AIX unhappy - From: Jarkko Hietaniemi +[ 3465] By: gsar on 1999/05/25 02:24:08 + Log: add caveat about close(PIPE) carelessness Branch: perl - ! perl_exp.SH + ! pod/perlfunc.pod ____________________________________________________________________________ -[ 1193] By: gsar on 1998/06/23 05:32:52 - Log: updated hints file to cope with buggy sigsetjmp() on Solaris-x86 - Message-Id: <199806221102.NAA12106@alanya.m.isar.de> - Date: Mon, 22 Jun 1998 13:02:45 +0200 (MET DST) - From: Lupe Christoph - Subject: Re: Perl 5.004_67: Death is on vacation - miniperl can't die +[ 3464] By: gsar on 1999/05/24 23:55:53 + Log: fix bogus line numbers for void context warnings + (change#2548 was overeager) Branch: perl - ! hints/solaris_2.sh + ! op.c ____________________________________________________________________________ -[ 1192] By: gsar on 1998/06/23 05:27:13 - Log: add detailed changelogs and 'genlog'--the script which generates them +[ 3463] By: gsar on 1999/05/24 23:31:58 + Log: change#3455 had a typo Branch: perl - + Porting/genlog - ! Changes INSTALL + ! pp_ctl.c ____________________________________________________________________________ -[ 1191] By: gsar on 1998/06/22 15:56:27 - Log: tweak win32 makefiles for PERL_OBJECT build +[ 3462] By: gsar on 1999/05/24 17:32:20 + Log: more pod updates from Tom Christiansen; regen perltoc Branch: perl - ! win32/Makefile win32/makefile.mk + ! pod/perl.pod pod/perldelta.pod pod/perlmod.pod pod/perlobj.pod + ! pod/perlre.pod pod/perltoc.pod pod/perlvar.pod ____________________________________________________________________________ -[ 1190] By: gsar on 1998/06/22 04:06:02 - Log: backout change#1178 as it was dependent on an unapplied patch, - fix filespec.t to know its @INC +[ 3461] By: gsar on 1999/05/24 07:41:32 + Log: perlmod notes from Damian Conway (via Tom Christiansen) Branch: perl - ! sv.c t/lib/filespec.t + ! pod/perlmod.pod ____________________________________________________________________________ -[ 1189] By: gsar on 1998/06/22 03:47:43 - Log: eliminate use of tokenbuf in util.c +[ 3460] By: gsar on 1999/05/24 07:24:11 + Log: major pod update from Tom Christiansen Branch: perl - ! util.c + + pod/perltootc.pod + ! MANIFEST lib/Pod/Functions.pm pod/Makefile pod/buildtoc + ! pod/perl.pod pod/perl5004delta.pod pod/perlcall.pod + ! pod/perldata.pod pod/perldebug.pod pod/perldelta.pod + ! pod/perldsc.pod pod/perlfunc.pod pod/perlipc.pod + ! pod/perllol.pod pod/perlmod.pod pod/perlmodinstall.pod + ! pod/perlmodlib.pod pod/perlobj.pod pod/perlop.pod + ! pod/perlopentut.pod pod/perlpod.pod pod/perlport.pod + ! pod/perlre.pod pod/perlref.pod pod/perlrun.pod pod/perlsec.pod + ! pod/perlsub.pod pod/perlsyn.pod pod/perlthrtut.pod + ! pod/perltie.pod pod/perltrap.pod pod/perlvar.pod + ! pod/perlxs.pod pod/pod2man.PL ____________________________________________________________________________ -[ 1188] By: gsar on 1998/06/22 01:53:59 - Log: add patch that generates regnodes.h via regcomp.pl - From: Ilya Zakharevich - Message-Id: <199806212038.QAA29797@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] regcomp.h regnodes cleanup - Date: Sun, 21 Jun 1998 16:38:21 -0400 (EDT) +[ 3459] By: gsar on 1999/05/24 06:26:48 + Log: perlfaq update from Tom Christiansen Branch: perl - + regcomp.pl regcomp.sym regnodes.h - ! MANIFEST Makefile.SH regcomp.h + ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod + ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod + ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod + ! pod/perlfaq9.pod ____________________________________________________________________________ -[ 1187] By: gsar on 1998/06/22 01:42:21 - Log: From: Ilya Zakharevich - Message-Id: <199806210145.VAA21629@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Avoid temporaries on recursion - Date: Sat, 20 Jun 1998 21:45:03 -0400 (EDT) +[ 3458] By: gsar on 1999/05/24 05:55:11 + Log: updated to v1.50 from CPAN Branch: perl - ! pp_ctl.c pp_hot.c + ! lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm ____________________________________________________________________________ -[ 1186] By: gsar on 1998/06/22 01:14:14 - Log: merge relevant portions from maintbranch change#1155 +[ 3457] By: gsar on 1999/05/24 05:46:20 + Log: From: Hugo van der Sanden + Date: Sun, 23 May 1999 16:35:07 +0100 + Message-Id: <199905231535.QAA00032@crypt.compulink.co.uk> + Subject: [PATCH 5.005_56] name PL_in_eval bits Branch: perl - ! lib/Math/BigFloat.pm op.c pod/perlfunc.pod pod/perlop.pod - ! pod/perlrun.pod pp_hot.c + ! cop.h op.c perl.c pp_ctl.c toke.c util.c ____________________________________________________________________________ -[ 1185] By: gsar on 1998/06/22 00:59:28 - Log: From: Ilya Zakharevich - Message-Id: <199806210827.EAA26322@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Zero-length matching bug - Date: Sun, 21 Jun 1998 04:27:16 -0400 (EDT) +[ 3456] By: gsar on 1999/05/24 05:18:06 + Log: make -t mode the default on emacs/dumb terminals Branch: perl - ! regexec.c t/op/pat.t + ! Changes utils/perldoc.PL ____________________________________________________________________________ -[ 1184] By: gsar on 1998/06/22 00:57:27 - Log: fix alignment issues in malloc.c on 64-bit platforms (via private mail) - From: Ilya Zakharevich - Message-Id: <199806170844.EAA24584@monk.mps.ohio-state.edu> - Subject: Re: _67 not okay - Date: Wed, 17 Jun 1998 04:44:26 -0400 (EDT) +[ 3455] By: gsar on 1999/05/24 05:05:19 + Log: return 0 rather than "" when scalar grep has nothing to iterate + on (brings behavior in line with documentation) Branch: perl - ! malloc.c + ! pp_ctl.c ____________________________________________________________________________ -[ 1183] By: gsar on 1998/06/22 00:53:37 - Log: From: Ilya Zakharevich - Message-Id: <199806210727.DAA24072@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Test study/re/ - Date: Sun, 21 Jun 1998 03:27:13 -0400 (EDT) +[ 3454] By: gsar on 1999/05/24 04:52:52 + Log: From: Tim Jenness + Date: Thu, 20 May 1999 13:27:02 -1000 + Message-Id: + Subject: Problem with MM_Unix in 5.005_03 Branch: perl - ! t/op/pat.t + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1182] By: gsar on 1998/06/21 21:25:07 - Log: From: Ilya Zakharevich - Message-Id: <199806210430.AAA21818@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] $^R documented - Date: Sun, 21 Jun 1998 00:30:48 -0400 (EDT) +[ 3453] By: gsar on 1999/05/24 04:39:49 + Log: avoid removing duplicates in user-generated warnings + From: byron@omix.com (Byron Brummer) + Date: Thu, 20 May 1999 04:01:17 -0700 (PDT) + Message-Id: <199905201101.EAA91175@thrush.omix.com> + Subject: [PATCH] Re: warn buffers/loses output in ?? - 5.005_03 Branch: perl - ! pod/perlre.pod pod/perlvar.pod + ! lib/diagnostics.pm ____________________________________________________________________________ -[ 1181] By: gsar on 1998/06/21 21:23:41 - Log: From: Ilya Zakharevich - Message-Id: <199806210111.VAA17752@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Re docs - Date: Sat, 20 Jun 1998 21:11:37 -0400 (EDT) +[ 3452] By: gsar on 1999/05/24 04:23:10 + Log: straighten some code to avoid NeXT compiler bugs (from + Geoff Kuenning ) Branch: perl - ! pod/perlop.pod pod/perlre.pod + ! pp_ctl.c ____________________________________________________________________________ -[ 1180] By: gsar on 1998/06/21 21:22:16 - Log: adapted contents of message into comments in malloc.c and INSTALL - From: Ilya Zakharevich - Message-Id: <199806162240.SAA23597@monk.mps.ohio-state.edu> - Subject: [5.004_67] malloc.c -Defines - Date: Tue, 16 Jun 1998 18:40:41 -0400 (EDT) +[ 3451] By: gsar on 1999/05/24 03:03:05 + Log: minor logic tweak for reserved word warning Branch: perl - ! INSTALL malloc.c + ! lib/Test/Harness.pm toke.c ____________________________________________________________________________ -[ 1179] By: gsar on 1998/06/21 07:26:35 - Log: applied patch, with edits to the prose - From: Ilya Zakharevich - Message-Id: <199806201936.PAA17499@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Error variables compared - Date: Sat, 20 Jun 1998 15:36:14 -0400 (EDT) +[ 3450] By: gsar on 1999/05/24 02:34:20 + Log: oops, some files missing in change#3449 Branch: perl - ! pod/perlvar.pod + ! op.c op.h toke.c ____________________________________________________________________________ -[ 1178] By: gsar on 1998/06/21 07:07:16 - Log: From: Ilya Zakharevich - Message-Id: <199806200104.VAA11343@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] print study /re/ broken - Date: Fri, 19 Jun 1998 21:04:54 -0400 (EDT) +[ 3449] By: gsar on 1999/05/24 02:33:12 + Log: allow '*' prototype to autoquote even barewords that happen to be + function names; parens or ampersand continue to force the other + interpretation; makes C + do the right thing, for example Branch: perl - ! sv.c + ! t/comp/proto.t ____________________________________________________________________________ -[ 1177] By: gsar on 1998/06/21 07:06:10 - Log: applied patch, tweaked wording - From: Ilya Zakharevich - Message-Id: <199806200838.EAA13992@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Documentation patch for malloc - Date: Sat, 20 Jun 1998 04:38:07 -0400 (EDT) +[ 3448] By: gsar on 1999/05/24 01:51:24 + Log: remove vestiges of PL_last_proto Branch: perl - ! malloc.c pod/perldiag.pod + ! embedvar.h intrpvar.h objXSUB.h ____________________________________________________________________________ -[ 1176] By: gsar on 1998/06/21 07:00:30 - Log: From: Ilya Zakharevich - Message-Id: <199806200829.EAA13974@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Cosmetic malloc patch - Date: Sat, 20 Jun 1998 04:29:00 -0400 (EDT) +[ 3447] By: gsar on 1999/05/24 01:49:20 + Log: redo change#2061 and parts of change#1169 with code in the + parser; PL_last_proto hackery gone, strict 'subs' in now + implemented in the optimizer where specifying the exceptional + cases is much more robust; '*' (bareword) prototype now works + reliably when used in second and subsequent arguments Branch: perl - ! malloc.c + ! dump.c embed.h embed.pl objXSUB.h op.c op.h proto.h toke.c ____________________________________________________________________________ -[ 1175] By: gsar on 1998/06/21 06:58:37 - Log: Message-Id: <3.0.5.32.19980619160057.032e7480@ous.edu> - Date: Fri, 19 Jun 1998 16:00:57 -0700 - From: Dan Sugalski - Subject: [PATCH 5.004_67] fixup patches for VMS +[ 3446] By: gsar on 1999/05/23 05:00:55 + Log: remove redundant part of change#1169 superceded by change#2061; + avoid "future reserved word" warning on prototypical bearwords Branch: perl - ! ext/SDBM_File/sdbm/Makefile.PL t/lib/filecopy.t t/op/defins.t - ! t/op/taint.t vms/test.com vms/vms.c + ! t/lib/fatal.t toke.c ____________________________________________________________________________ -[ 1174] By: gsar on 1998/06/21 06:55:18 - Log: applied VMS patch from Dan Sugalski - Date: Fri, 19 Jun 1998 15:36:34 -0700 - From: SYSTEM@cedar.osshe.edu - Message-Id: <980619153634.2063ee12@cedar.osshe.edu> - Subject: [PATCH 5.004_67] Enhancements to the VMS configuration procedures +[ 3445] By: gsar on 1999/05/21 23:36:49 + Log: s/isspace/isSPACE/g and make sure the CRT version is always + passed an unsigned char (fixes random occurrence of spaces in + arguments containing high-bit chars passed to spawned children, + on win32) Branch: perl - ! configure.com lib/ExtUtils/MM_VMS.pm perl.h - ! vms/descrip_mms.template vms/gen_shrfls.pl - ! vms/subconfigure.com + ! ext/SDBM_File/sdbm/dbe.c win32/perlhost.h win32/win32.c ____________________________________________________________________________ -[ 1173] By: gsar on 1998/06/21 06:51:38 - Log: applied patch, modified logic to avoid reentering lexer at compile-time - Message-ID: <19980619113104.S9711@asic.sc.ti.com> - Date: Fri, 19 Jun 1998 11:31:04 -0500 - From: Graham Barr - Subject: Re: [PATCH perl5.004_67] Add Errno in ext/ - Branch: perl - ! Configure MANIFEST Makefile.SH ext/util/make_ext gv.c - ! lib/English.pm -____________________________________________________________________________ -[ 1172] By: gsar on 1998/06/21 06:27:57 - Log: applied patch, along with many changes: - - ipfoo.h headers have been coalesced along with perlfoo.h into - iperlsys.h - - win32/cp*.h have been combined in perlhost.h - - CPerlObj::PerlParse() takes an extra xsinit arg - - tweaks to get dl_win32.xs compiling again w/ PERL_OBJECT - From: "Douglas Lankshear" - Message-Id: <000001bd9b8c$0417fe90$a32fa8c0@tau.Active> - Subject: RE: [PATCH 5.004_67] Fixes for broken MS compiler - Date: Fri, 19 Jun 1998 10:59:50 -0700 - Branch: perl - + iperlsys.h win32/perlhost.h - - ipdir.h ipenv.h iplio.h ipmem.h ipproc.h ipsock.h ipstdio.h - - perldir.h perlenv.h perlio.h perllio.h perlmem.h perlproc.h - - perlsock.h - ! MANIFEST mg.h op.h perl.h perlio.c proto.h util.c - ! win32/Makefile win32/dl_win32.xs win32/makefile.mk - ! win32/runperl.c win32/win32.h -____________________________________________________________________________ -[ 1171] By: gsar on 1998/06/21 00:44:42 - Log: Date: Fri, 19 Jun 1998 07:55:19 -0600 (MDT) - From: Daniel Grisinger - Subject: Re: PATCH _67 (Doc) perlop.pod - Message-ID: +[ 3444] By: gsar on 1999/05/21 23:08:55 + Log: integrate Configure changes from cfgperl Branch: perl - ! pod/perlop.pod + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH ____________________________________________________________________________ -[ 1170] By: gsar on 1998/06/21 00:43:06 - Log: a tweaked version of: - From: "Douglas Lankshear" - Subject: [PATCH 5.004_67] Win32 using PerlCRT.dll - Date: Wed, 17 Jun 1998 20:25:51 -0700 - Message-ID: <001b01bd9a68$cb752410$a32fa8c0@tau.Active> - Branch: perl - ! lib/ExtUtils/MM_Win32.pm win32/Makefile win32/makefile.mk +[ 3443] By: jhi on 1999/05/21 22:00:56 + Log: Integrate from mainperl. + Branch: cfgperl + !> Changes doop.c ext/SDBM_File/sdbm/dba.c + !> ext/SDBM_File/sdbm/dbd.c ext/SDBM_File/sdbm/dbe.c os2/os2.c + !> perl.h pod/perldiag.pod pod/perlport.pod pp.c t/comp/proto.t + !> win32/perlhost.h win32/win32.c x2p/walk.c ____________________________________________________________________________ -[ 1169] By: gsar on 1998/06/21 00:10:18 - Log: added patch, regen headers - From: Ilya Zakharevich - Message-Id: <199806190227.WAA07371@monk.mps.ohio-state.edu> - Subject: Re: Ilya's patches - Date: Thu, 18 Jun 1998 22:27:31 -0400 (EDT) - Branch: perl - ! ObjXSub.h embedvar.h interp.sym intrpvar.h toke.c +[ 3442] By: jhi on 1999/05/21 21:59:46 + Log: fflush. + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH ____________________________________________________________________________ -[ 1168] By: gsar on 1998/06/21 00:05:01 - Log: Date: Thu, 18 Jun 1998 23:37:32 -0700 (PDT) - From: Tom Phoenix - Subject: [PATCH] docs creating files via open - Message-ID: +[ 3441] By: gsar on 1999/05/21 17:48:55 + Log: integrate cfgperl changes Branch: perl - ! pod/perlfunc.pod + !> Configure Porting/Glossary Porting/config.sh Porting/config_H + !> config_h.SH hints/sunos_4_1.sh installperl ____________________________________________________________________________ -[ 1167] By: gsar on 1998/06/21 00:03:34 - Log: From: Ilya Zakharevich - Message-Id: <199806172151.RAA28441@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_67] Better version of malloc improver - Date: Wed, 17 Jun 1998 17:51:54 -0400 (EDT) +[ 3440] By: gsar on 1999/05/21 17:42:49 + Log: test tweak Branch: perl - ! malloc.c + ! t/comp/proto.t ____________________________________________________________________________ -[ 1166] By: gsar on 1998/06/20 23:59:23 - Log: enhance perlre.pod to say C<)> can't appear in a (?#...) comment +[ 3439] By: gsar on 1999/05/21 17:31:26 + Log: fix breakage when neither FFLUSH_ALL nor FFLUSH_NULL are #defined. + (Configure fflush(NULL) detection seems broken on Solaris, which + is why I hit the problem) Branch: perl - ! pod/perlre.pod + ! Changes perl.h ____________________________________________________________________________ -[ 1165] By: gsar on 1998/06/20 23:47:09 - Log: added patch, tweaked missed files, excised comment that doesn't really - belong in the sources - From: joshua.pritikin@db.com - Date: Mon, 15 Jun 1998 10:03:37 -0400 - Message-Id: - Subject: [PATCH 5.004_57] tied hash slice & do_kv cleanup +[ 3438] By: gsar on 1999/05/20 16:41:01 + Log: perlport 1.41 update from Chris Nandor Branch: perl - ! ObjXSub.h av.c doop.c embed.h global.sym objpp.h pp.c proto.h - ! t/op/avhv.t + ! pod/perlport.pod +____________________________________________________________________________ +[ 3437] By: jhi on 1999/05/20 07:14:39 + Log: Patches to fflushing in SunOS 4 from Andy Dougherty + (via private email). + Branch: cfgperl + ! Configure Porting/Glossary Porting/config.sh Porting/config_H + ! config_h.SH hints/sunos_4_1.sh ____________________________________________________________________________ -[ 1164] By: gsar on 1998/06/20 23:29:09 - Log: add File-Spec-0.6 from CPAN +[ 3436] By: gsar on 1999/05/20 05:18:26 + Log: various little nits Branch: perl - + lib/File/Spec.pm lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm - + lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm - + lib/File/Spec/Win32.pm t/lib/filespec.t - ! MANIFEST + ! doop.c ext/SDBM_File/sdbm/dba.c ext/SDBM_File/sdbm/dbd.c + ! ext/SDBM_File/sdbm/dbe.c os2/os2.c pod/perldiag.pod pp.c + ! win32/perlhost.h win32/win32.c x2p/walk.c +____________________________________________________________________________ +[ 3435] By: jhi on 1999/05/18 16:25:49 + Log: From: Hugo van der Sanden + To: perl5-porters@perl.org + Subject: installperl + Date: Fri, 14 May 1999 21:34:58 +0100 + Message-Id: <199905142034.VAA00865@crypt.compulink.co.uk> + Branch: cfgperl + ! installperl +____________________________________________________________________________ +[ 3434] By: jhi on 1999/05/17 21:25:54 + Log: Integrate from mainperl. + Branch: cfgperl + +> lib/ExtUtils/MM_Cygwin.pm + - cygwin32/impure_ptr.c + !> MANIFEST README.cygwin32 XSUB.h cygwin32/Makefile.SHs + !> cygwin32/perlld.in dosish.h ext/DynaLoader/dl_cygwin32.xs + !> ext/POSIX/POSIX.xs gv.c hints/cygwin32.sh installman + !> installperl perl.h pod/perldiag.pod pp.c pp_hot.c util.c + !> x2p/find2perl.PL +____________________________________________________________________________ +[ 3433] By: gsar on 1999/05/17 09:49:01 + Log: integrate cfgperl changes into mainline + Branch: perl + !> Configure INSTALL config_h.SH configure.com embed.h + !> ext/Devel/Peek/Peek.xs ext/Socket/Socket.xs global.sym + !> hints/dec_osf.sh objXSUB.h perl.h pod/perldiag.pod proto.h + !> util.c ____________________________________________________________________________ -[ 1163] By: gsar on 1998/06/20 23:15:41 - Log: tweaks to allow both mingw32{gcc-2.8.1,egcs-1.0.2} build and test +[ 3432] By: gsar on 1999/05/17 09:06:45 + Log: emit more appropriate diagnostic for failed glob (variant + of patch suggested by Graham Barr) Branch: perl - ! ext/POSIX/POSIX.xs win32/Makefile win32/makefile.mk + ! gv.c pod/perldiag.pod pp.c pp_hot.c ____________________________________________________________________________ -[ 1162] By: gsar on 1998/06/20 21:48:32 - Log: manual integration of all outstanding ansi branch stuff into mainline +[ 3431] By: gsar on 1999/05/17 08:38:09 + Log: From: "Todd C. Miller" + Date: Thu, 13 May 1999 22:18:43 -0600 (MDT) + Message-Id: <199905140418.WAA18826@xerxes.courtesan.com> + Subject: find2perl does not grok the 'c' suffix to the -size argument Branch: perl - ! ext/POSIX/POSIX.xs lib/ExtUtils/MM_Win32.pm t/op/ipcsem.t - ! win32/config.gc win32/dl_win32.xs win32/makefile.mk - ! win32/win32.h + ! x2p/find2perl.PL ____________________________________________________________________________ -[ 1161] By: gsar on 1998/06/20 21:12:01 - Log: undo goofed change 1157 (backed out the fix instead of keeping it) +[ 3430] By: gsar on 1999/05/17 08:26:21 + Log: additional cleanups for cygwin32 port + From: "Fifer, Eric" + Date: Wed, 12 May 1999 20:25:54 +0100 + Message-ID: <71E287AB0D94D111BBD600600849EC8185EDAF@POST> + Subject: [PATCH]perl5.005_03 (CORE) cygwin32 port + Branch: perl + + lib/ExtUtils/MM_Cygwin.pm + - cygwin32/impure_ptr.c + ! MANIFEST README.cygwin32 XSUB.h cygwin32/Makefile.SHs + ! cygwin32/perlld.in dosish.h ext/DynaLoader/dl_cygwin32.xs + ! ext/POSIX/POSIX.xs hints/cygwin32.sh installman installperl + ! perl.h util.c +____________________________________________________________________________ +[ 3429] By: gsar on 1999/05/17 08:01:04 + Log: From: Andy Dougherty + Date: Wed, 12 May 1999 11:44:11 -0400 (EDT) + Message-Id: + Subject: [PATCH] (Was Re: SunOS4.1 compilation error) Branch: perl - ! utils/perldoc.PL + ! INSTALL ____________________________________________________________________________ -[ 1160] By: nick on 1998/06/20 21:05:51 - Log: Patches to build with EGCS-1.0.2 Mingw32 port. - Branch: ansiperl - ! ext/POSIX/POSIX.xs win32/config.gc win32/config_H.gc - ! win32/dl_win32.xs win32/makefile.mk win32/win32.h +[ 3428] By: jhi on 1999/05/17 07:03:26 + Log: Integrate from mainperl modulo the Socket.xs change. + Branch: cfgperl + !> ext/Socket/Socket.xs op.c win32/include/sys/socket.h + !> win32/win32.c win32/win32.h ____________________________________________________________________________ -[ 1159] By: gsar on 1998/06/20 02:51:35 - Log: cleanup installation of utilities on win32 - Branch: perl - ! installperl pod/Makefile win32/Makefile win32/makefile.mk - ! win32/pod.mak +[ 3427] By: jhi on 1999/05/16 22:09:11 + Log: From: Ilya Zakharevich + To: perl5-porters@perl.org (Mailing list Perl5) + Subject: [PATCH 5.005_56] Devel::Peek::mstat not working + Date: Sun, 16 May 1999 01:28:18 -0400 (EDT) + Message-Id: <199905160528.BAA23376@monk.mps.ohio-state.edu> + Branch: cfgperl + ! ext/Devel/Peek/Peek.xs ____________________________________________________________________________ -[ 1158] By: gsar on 1998/06/20 02:50:35 - Log: intuit @INC pathnames from exe location only if dll location - is unknown (ensures that multiple executables will coexist) - Branch: perl - ! win32/win32.c +[ 3426] By: jhi on 1999/05/16 22:07:11 + Log: From: Mark-Jason Dominus + To: perl5-porters@perl.com + Subject: DOC PATCH (5.005_55): Error message missing from perldiag.pod + Date: Sat, 15 May 1999 12:43:47 -0400 + Message-ID: <19990515164348.7313.qmail@plover.com> + Branch: cfgperl + ! pod/perldiag.pod ____________________________________________________________________________ -[ 1157] By: gsar on 1998/06/20 02:48:34 - Log: make perldoc ignore null files (it tried to open() them) +[ 3425] By: nick on 1999/05/15 15:56:10 + Log: Mingw32 + w32api-0.1.5 tweaks + - now more like other Win32 compilers Branch: perl - ! utils/perldoc.PL + ! ext/Socket/Socket.xs win32/include/sys/socket.h win32/win32.c + ! win32/win32.h ____________________________________________________________________________ -[ 1156] By: gsar on 1998/06/19 21:18:47 - Log: fix perldoc to ignore unfound null filenames +[ 3424] By: nick on 1999/05/14 21:04:22 + Log: Experimental "slab" allocator for ops. + To try it -DPL_OP_SLAB_ALLOC for op.c + This is for proof of concept only, it leaks memory + (ops are not free'd) so don't use in embedded apps. + If this minimalist version does not show performance + gain then whole idea is worthless. + Nick see's approx 12% speed up vs perlmalloc running + perl -Ilib -MCPAN -e '' + Solaris2.6, gcc-2.8.1 but numbers are not repeatable. Branch: perl - ! utils/perldoc.PL -____________________________________________________________________________ -[ 1155] By: TimBunce on 1998/06/19 18:47:57 - Log: Assorted patches: - - ------ BUILD PROCESS ------ - - Title: "Clarify varargs issues in INSTALL docs" - From: Andy Dougherty - Msg-ID: - Files: INSTALL - - ------ CORE LANGUAGE ------ - - Title: "Further fixes for updated SysV IPC support" - From: Jarkko Hietaniemi - Msg-ID: <199805211644.TAA15139@alpha.hut.fi> - Files: Configure perl.h doio.c - - Title: "Fixed SEGV caused by bug in pp_hot.c:pp_sassign()" - From: Andrew Bettison - Msg-ID: - Files: pp_hot.c - - Title: "Invalidate method cache on C" - From: Chip Salzenberg - Msg-ID: <19980604134731.D24343@perlsupport.com> - Files: scope.c t/op/method.t - - Title: "fix uninitialized cv variable in op.c" - From: joshua.pritikin@db.com - Msg-ID: - Files: op.c - - Title: "fix for undef as last arg to setsockopt" - From: Graham Barr - Msg-ID: <19980603112219.B7638@asic.sc.ti.com> - Files: pp_sys.c - - Title: "Fix -i when @ARGV is empty" - From: Chip Salzenberg , Gurusamy Sarathy - , Ilya Zakharevich - , Tim.Bunce@ig.co.uk (Tim Bunce) - Msg-ID: <19980606184942.A4583@perlsupport.com>, - <199806070029.UAA18709@monk.mps.ohio-state.edu>, - <199806071817.OAA28141@aatma.engin.umich.edu>, - <199806191549.QAA16376@toad.ig.co.uk> - Files: pp_hot.c - - ------ DOCUMENTATION ------ - - Title: "Discrepancy between perlop.pod and m// operator docs" - From: Tom Phoenix - Msg-ID: - Files: pod/perlop.pod - - Title: "Doc addition for perlfunc entry for system()" - From: Ilya Zakharevich , Mike Fletcher - - Msg-ID: <199806011908.PAA31069@dewdrop2.mindspring.com>, - <199806012057.QAA26830@monk.mps.ohio-state.edu> - Files: pod/perlfunc.pod - - Title: "Clarify effects of using quotes with m operator" - From: Daniel Grisinger - Msg-ID: - Files: pod/perlop.pod - - Title: "Document -i with STDIN" - From: joshua.pritikin@db.com - Msg-ID: - Files: pod/perlrun.pod - - ------ EXTENSIONS ------ - - Title: "Fix Liblist.pm to tolerate backslashen in paths" - From: Gurusamy Sarathy - Msg-ID: <199806011954.PAA10900@aatma.engin.umich.edu> - Files: lib/ExtUtils/Liblist.pm - - ------ LIBRARY ------ - - Title: "Typo fix for Math::BogFloat" - From: Mike Stok - Msg-ID: - Files: lib/Math/BigFloat.pm - - ------ PORTABILITY - GENERAL ------ - - Title: "Add docs about types of diff to Porting/patching.pod" - From: Gurusamy Sarathy - Msg-ID: <199806090105.VAA20005@aatma.engin.umich.edu> - Files: Porting/patching.pod - - Title: "Set dont_use_nlink for PowerMAX OS 4.2" - From: Tom Horsley - Msg-ID: <199806161354.NAA21316@cleo.ssd.hcsc.com> - Files: hints/powerux.sh - - Title: "Assorted improvements to hints/solaris_2.sh" - From: Andy Dougherty - Msg-ID: - Files: hints/solaris_2.sh - Branch: maint-5.004/perl - ! Configure INSTALL Porting/patching.pod doio.c hints/powerux.sh - ! hints/solaris_2.sh lib/ExtUtils/Liblist.pm - ! lib/Math/BigFloat.pm op.c perl.h pod/perlfunc.pod - ! pod/perlop.pod pod/perlrun.pod pp_hot.c pp_sys.c scope.c - ! t/op/method.t + ! op.c ____________________________________________________________________________ -[ 1154] By: gsar on 1998/06/19 17:22:23 - Log: update repository copy of Asmdata.pm after `perl bytecode.pl` +[ 3423] By: gsar on 1999/05/14 19:55:04 + Log: on win32, look for "site/5.XXX/lib" if "site/5.XXXYY/lib" isn't + found (brings sitelib intuition in line with privlib) Branch: perl - ! ext/B/B/Asmdata.pm regcomp.c + ! win32/win32.c ____________________________________________________________________________ -[ 1153] By: nick on 1998/06/19 17:21:21 - Log: Use libxxx.a for -lxxx with GCC - Branch: ansiperl - ! lib/ExtUtils/MM_Win32.pm win32/config.gc win32/config_H.gc - ! win32/makefile.mk +[ 3422] By: jhi on 1999/05/14 08:08:01 + Log: From: pvhp@forte.com (Peter Prymmer) + To: perl5-porters@perl.org, vmsperl@perl.org + Subject: [PATCH: 5.005_56] add config.msg to VMS configure.com + Date: Thu, 13 May 99 15:29:57 PDT + Message-Id: <9905132229.AA15854@forte.com> + Branch: cfgperl + ! configure.com ____________________________________________________________________________ -[ 1152] By: TimBunce on 1998/06/19 17:08:18 - Log: Title: Tom's jumbo doc patch - From: Tom Christiansen - Msg-Id: <199806140419.WAA20549@chthon.perl.com> - Files: pod/perl.pod pod/perlbook.pod pod/perldata.pod pod/perldsc.pod - pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod - pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod - pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod - pod/perlfaq9.pod pod/perlform.pod pod/perlfunc.pod - pod/perlipc.pod pod/perllocale.pod pod/perllol.pod - pod/perlmod.pod pod/perlmodlib.pod pod/perlobj.pod - pod/perlop.pod pod/perlre.pod pod/perlref.pod - pod/perlrun.pod pod/perlsec.pod pod/perlsub.pod - pod/perlsyn.pod pod/perltie.pod pod/perltoot.pod - pod/perlvar.pod - Branch: maint-5.004/perl - ! pod/perl.pod pod/perlbook.pod pod/perldata.pod pod/perldsc.pod - ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod - ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod - ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod - ! pod/perlfaq9.pod pod/perlform.pod pod/perlfunc.pod - ! pod/perlipc.pod pod/perllocale.pod pod/perllol.pod - ! pod/perlmod.pod pod/perlmodlib.pod pod/perlobj.pod - ! pod/perlop.pod pod/perlre.pod pod/perlref.pod pod/perlrun.pod - ! pod/perlsec.pod pod/perlsub.pod pod/perlsyn.pod - ! pod/perltie.pod pod/perltoot.pod pod/perlvar.pod +[ 3421] By: jhi on 1999/05/14 07:34:20 + Log: Integrate from mainperl. + Branch: cfgperl + !> lib/ExtUtils/MM_Unix.pm win32/win32.c ____________________________________________________________________________ -[ 1151] By: nick on 1998/06/19 15:38:28 - Log: Resolve latest - Branch: ansiperl - !> av.c embed.h embedvar.h ext/Socket/Socket.xs global.sym - !> hints/powerux.sh mg.c perl.h pod/perlsub.pod pp_ctl.c proto.h - !> sv.c t/TEST +[ 3420] By: jhi on 1999/05/14 07:33:26 + Log: Still fflushing. + Branch: cfgperl + ! Configure config_h.SH util.c ____________________________________________________________________________ -[ 1150] By: gsar on 1998/06/18 20:43:07 - Log: Date: Tue, 16 Jun 1998 13:54:17 GMT - Message-Id: <199806161354.NAA21316@cleo.ssd.hcsc.com> - From: Tom Horsley - Subject: [PATCH] perl5.004 hints file (maint and dev paths) +[ 3419] By: gsar on 1999/05/14 03:08:29 + Log: mortalize string allocations by win32_get_{priv,site}lib() + (fixes small memory leak in interpreter) Branch: perl - ! hints/powerux.sh + ! win32/win32.c ____________________________________________________________________________ -[ 1149] By: gsar on 1998/06/18 20:41:30 - Log: hand apply whitespace-mutiliated patch - From: joshua.pritikin@db.com - Date: Mon, 15 Jun 1998 09:21:36 -0400 - Message-Id: - Subject: [PATCH 5.004_67] SvREADONLY for av_clear +[ 3418] By: gsar on 1999/05/14 03:06:50 + Log: make win32_longname() preserve kind of slashes in argument Branch: perl - ! av.c + ! win32/win32.c ____________________________________________________________________________ -[ 1148] By: gsar on 1998/06/18 20:33:59 - Log: hand apply whitespace-mutiliated and reversed patch - Date: Tue, 16 Jun 1998 16:31:40 -0400 - From: Les Peters - Message-Id: <199806162031.QAA08202@ds9> - Subject: [PATCH 5.004_67] Socket.xs tweak for IRIX 6.3 +[ 3417] By: gsar on 1999/05/14 03:04:44 + Log: canonicalize path for $(FULLPERL) and $(PERL) in MakeMaker Branch: perl - ! ext/Socket/Socket.xs + ! lib/ExtUtils/MM_Unix.pm ____________________________________________________________________________ -[ 1147] By: gsar on 1998/06/18 20:26:59 - Log: close child pipe in t/TEST, other cosmetic tweaks - Branch: perl - ! t/TEST +[ 3416] By: jhi on 1999/05/13 21:18:06 + Log: Integrate from mainperl. + Branch: cfgperl + !> pp_ctl.c +____________________________________________________________________________ +[ 3415] By: jhi on 1999/05/13 21:16:49 + Log: Fixes from Andy Dougherty (via private email). + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1146] By: gsar on 1998/06/18 19:37:41 - Log: back out problematic change#1105, tweak perlsub.pod +[ 3414] By: nick on 1999/05/13 20:04:26 + Log: valist vs va_list typo Branch: perl - ! embed.h embedvar.h global.sym mg.c perl.h pod/perlsub.pod - ! pp_ctl.c proto.h sv.c + ! pp_ctl.c ____________________________________________________________________________ -[ 1145] By: nick on 1998/06/18 19:31:07 - Log: Integrate and resolve -at mainline to ansiperl prior to Ming32 hacking - Branch: ansiperl - +> configure.com ext/DB_File/dbinfo - +> ext/DynaLoader/DynaLoader_pm.PL t/base/rs.t - +> t/op/regexp_noamp.t vms/descrip_mms.template vms/munchconfig.c - +> vms/subconfigure.com - - ext/DynaLoader/DynaLoader.pm.PL vms/config.vms vms/descrip.mms - - vms/fndvers.com - !> (integrate 499 files) +[ 3413] By: jhi on 1999/05/13 15:04:05 + Log: From: Andy Dougherty + To: perlbug@perl.com + Subject: [PATCH] (Was Re: SunOS4.1 compilation error) + Date: Wed, 12 May 1999 11:44:11 -0400 (EDT) + Message-Id: + Branch: cfgperl + ! INSTALL ____________________________________________________________________________ -[ 1144] By: gsar on 1998/06/18 16:35:11 - Log: fix spurious cxstack_max init that trampled memory - Branch: perl - ! perl.c +[ 3412] By: jhi on 1999/05/13 14:20:17 + Log: Integrate from mainperl. + Branch: cfgperl + !> pp_ctl.c ____________________________________________________________________________ -[ 1143] By: gsar on 1998/06/18 16:33:01 - Log: fix memory leaks and uninitialized memory accesses found by Purify +[ 3411] By: gsar on 1999/05/13 14:16:56 + Log: docatch_body() declaration mismatch Branch: perl - ! doio.c perl.c regexec.c sv.c + ! pp_ctl.c ____________________________________________________________________________ -[ 1142] By: gsar on 1998/06/18 16:28:48 - Log: fix off-by-one that trampled memory in re_croak2() - Branch: perl - ! regcomp.c +[ 3410] By: jhi on 1999/05/13 13:51:44 + Log: Add HAS_MEMCHR and make memchr into a cpp macro if it already isn't. + Branch: cfgperl + ! Configure config_h.SH perl.h ____________________________________________________________________________ -[ 1141] By: gsar on 1998/06/18 16:26:59 - Log: fix AutoLoader to do the right thing when there are relative paths - in @INC - Branch: perl - ! lib/AutoLoader.pm +[ 3409] By: jhi on 1999/05/13 13:31:53 + Log: Still fflushing strong. + Branch: cfgperl + ! Configure config_h.SH embed.h global.sym objXSUB.h perl.h + ! proto.h util.c ____________________________________________________________________________ -[ 1140] By: gsar on 1998/06/18 16:22:47 - Log: fix Makefile.SH typo - Branch: perl - ! Makefile.SH +[ 3408] By: jhi on 1999/05/12 14:30:23 + Log: Integrate from mainperl. + Branch: cfgperl + !> (integrate 30 files) ____________________________________________________________________________ -[ 1139] By: gsar on 1998/06/17 18:06:16 - Log: 5.004_67 niggles - Branch: perl - ! Makefile.SH op.c - ----------------- -Version 5.004_67 ----------------- - +[ 3407] By: jhi on 1999/05/12 12:28:31 + Log: Be tidier with fflush(NULL) testing. + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1138] By: gsar on 1998/06/15 10:09:27 - Log: up patchlevel.h to 67, other small tweaks +[ 3406] By: gsar on 1999/05/12 11:26:03 + Log: better range-checking on list slices, with test + From: Hugo van der Sanden + Date: Sun, 02 May 1999 17:02:53 +0100 + Message-Id: <199905021602.RAA13905@crypt.compulink.co.uk> + Subject: Re: List slice of undefs returns 0 items Branch: perl - ! patchlevel.h pod/perlhist.pod pod/perltoc.pod vms/perly_c.vms - ! win32/Makefile win32/config_H.bc win32/config_H.gc - ! win32/config_H.vc win32/makefile.mk -____________________________________________________________________________ -[ 1137] By: gsar on 1998/06/15 09:08:57 - Log: tweaks to get PERL_OBJECT building again; passes tests - Branch: perl - ! ObjXSub.h objpp.h proto.h -____________________________________________________________________________ -[ 1136] By: gsar on 1998/06/15 08:51:54 - Log: back out previous change (it breaks PERL_OBJECT) - Branch: perl - ! ObjXSub.h cc_runtime.h embed.h embedvar.h global.sym - ! interp.sym intrpvar.h objpp.h perl.c perl.h pod/perldiag.pod - ! pod/perlguts.pod pp_ctl.c proto.h scope.c scope.h util.c -____________________________________________________________________________ -[ 1135] By: gsar on 1998/06/15 05:32:01 - Log: added patch, fixed typo, reworked documentation - Message-Id: - Date: Sun, 14 Jun 1998 14:03:15 EDT - From: joshua.pritikin@db.com - Subject: [PATCH 5.004_66] JMPENV! - Branch: perl - ! ObjXSub.h cc_runtime.h embed.h embedvar.h global.sym - ! interp.sym intrpvar.h objpp.h perl.c perl.h pod/perldiag.pod - ! pod/perlguts.pod pp_ctl.c proto.h scope.c scope.h util.c -____________________________________________________________________________ -[ 1134] By: gsar on 1998/06/15 04:07:18 - Log: various win32 odds and ends - - added support for waitpid(), open2/open3, and a bugfix for kill() - from Ronald Schmidt - - tweak testsuite mods of above - - regenerate win32/config_H.?c - - change kill() to win32_kill() and export it - - coalesce common code in win32.c - - add PerlProc_waitpid() and export win32_waitpid() - result builds and passes on the three win32 compilers - Branch: perl - ! ipproc.h lib/IPC/Open3.pm perlproc.h t/lib/open2.t - ! t/lib/open3.t util.c win32/config.bc win32/config.gc - ! win32/config.vc win32/config_H.bc win32/config_H.gc - ! win32/config_H.vc win32/makedef.pl win32/runperl.c - ! win32/win32.c win32/win32iop.h + ! pp.c t/op/list.t ____________________________________________________________________________ -[ 1133] By: gsar on 1998/06/15 01:39:13 - Log: newer Getopt/Long.pm from public distribution cited in: - Message-Id: - Date: 14 Jun 1998 15:15:28 +0200 - From: Johan Vromans - Subject: Getopt::Long version 2.17 released +[ 3405] By: gsar on 1999/05/12 11:22:27 + Log: change#3397 needs test tweak Branch: perl - ! lib/Getopt/Long.pm + ! Changes t/pragma/warn/sv ____________________________________________________________________________ -[ 1132] By: gsar on 1998/06/15 01:37:12 - Log: documentation update from tchrist - Message-Id: <199806140419.WAA20549@chthon.perl.com> - Date: Sat, 13 Jun 1998 22:19:32 MDT - From: Tom Christiansen - Subject: doc patches +[ 3404] By: gsar on 1999/05/12 11:07:44 + Log: typo in change#3397 Branch: perl - ! pod/perl.pod pod/perlbook.pod pod/perldata.pod pod/perldsc.pod - ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod - ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod - ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod - ! pod/perlfaq9.pod pod/perlform.pod pod/perlfunc.pod - ! pod/perlipc.pod pod/perllocale.pod pod/perllol.pod - ! pod/perlmod.pod pod/perlmodlib.pod pod/perlobj.pod - ! pod/perlop.pod pod/perlre.pod pod/perlref.pod pod/perlrun.pod - ! pod/perlsec.pod pod/perlsub.pod pod/perlsyn.pod - ! pod/perltie.pod pod/perltoot.pod pod/perlvar.pod + ! doop.c ____________________________________________________________________________ -[ 1131] By: gsar on 1998/06/14 19:33:36 - Log: Message-ID: - From: Roderick Schertler - Subject: [PATCH] Re: Exceptions in IPC::Open2 - Date: 12 Jun 1998 13:24:15 -0400 +[ 3403] By: gsar on 1999/05/12 10:49:01 + Log: From: Stephen Zander + Date: 12 May 1999 01:22:31 -0700 + Message-ID: <87u2tik88o.fsf@pooh.fire-swamp.net> + Subject: Re: Test::Harness runs tainted tests with wrong library path Branch: perl - ! lib/IPC/Open3.pm + ! lib/Test/Harness.pm ____________________________________________________________________________ -[ 1130] By: gsar on 1998/06/14 19:32:25 - Log: fixup MANIFEST +[ 3402] By: gsar on 1999/05/12 10:42:06 + Log: typo in change#3400 Branch: perl - ! MANIFEST + ! ext/B/B/Deparse.pm +____________________________________________________________________________ +[ 3401] By: jhi on 1999/05/12 10:40:42 + Log: A better, shinier, and possibly even correctly working + reincarnation of #3398. + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1129] By: gsar on 1998/06/14 18:51:53 - Log: various win32 fixes - - fixes that silence VC noises about dup exports, non-default libs, and - unsupported *.def file directives - - s/inplace/inplace_label/ malloc.c - - update Config{usemymalloc} based on d_mymalloc - - export Perl_*Vars - - fix makefiles to not build miniperl.exe twice, and to make it properly - when defaults are changed +[ 3400] By: gsar on 1999/05/12 10:40:11 + Log: deparse \&func() as \(&func()) for clarity + From: Albert Dvornik + Date: 11 May 1999 13:32:04 -0400 + Message-ID: + Subject: [PATCH 5.005_56] Deparse and \&func() (was Re: File::Find...) Branch: perl - ! lib/ExtUtils/MM_Win32.pm lib/ExtUtils/Mksymlists.pm malloc.c - ! win32/Makefile win32/config_sh.PL win32/makedef.pl - ! win32/makefile.mk win32/perllib.c win32/win32.h + ! ext/B/B/Deparse.pm ____________________________________________________________________________ -[ 1128] By: gsar on 1998/06/14 01:38:39 - Log: remove unused global `scrgv' +[ 3399] By: gsar on 1999/05/12 10:36:02 + Log: more testsuite smarts (many of them courtesy Ilya) Branch: perl - ! ObjXSub.h cygwin32/cw32imp.h embedvar.h perlvars.h + ! lib/Test/Harness.pm t/comp/cpp.t t/io/pipe.t t/lib/db-btree.t + ! t/lib/db-hash.t t/lib/db-recno.t t/lib/gdbm.t + ! t/lib/io_multihomed.t t/lib/io_pipe.t t/lib/io_sock.t + ! t/lib/io_udp.t t/lib/io_unix.t t/lib/ipc_sysv.t t/lib/ndbm.t + ! t/lib/odbm.t t/lib/thread.t t/op/exec.t t/op/fork.t + ! t/op/grent.t t/op/groups.t t/op/nothread.t t/op/numconvert.t + ! t/op/pwent.t ____________________________________________________________________________ -[ 1127] By: nick on 1998/06/13 08:39:07 - Log: Move specialsv_list to embed.sym, regen embed*.h - Branch: win32/perl - ! embed.h embedvar.h global.sym interp.sym +[ 3398] By: jhi on 1999/05/12 09:33:08 + Log: Detect whether fflush(NULL) works as per change #3352. + Branch: cfgperl + ! Configure config_h.SH perl.h ____________________________________________________________________________ -[ 1126] By: gsar on 1998/06/12 07:23:06 +[ 3397] By: gsar on 1999/05/12 08:56:03 Log: From: jan.dubois@ibm.net (Jan Dubois) - Subject: Re: execv in toke.c [PATCH]: win32 wrapper for _66 - Date: Thu, 11 Jun 1998 21:13:31 +0200 - Message-ID: <35842ac5.7883075@smtp1.ibm.net> - Branch: perl - ! win32/makedef.pl win32/win32.c win32/win32iop.h -____________________________________________________________________________ -[ 1125] By: gsar on 1998/06/12 07:21:29 - Log: added patch, undo earlier workaround - From: jan.dubois@ibm.net (Jan Dubois) - Subject: Re: Why does saferealloc(NULL,size) croak? [PATCH] against _66 - Date: Thu, 11 Jun 1998 20:28:36 +0200 - Message-ID: <35831f69.4975644@smtp1.ibm.net> + Date: Wed, 12 May 1999 01:01:00 +0200 + Message-ID: <3741b5e8.20386944@smtp1.ibm.net> + Subject: [PATCH 5.005_03] chop/chomp modify readonly values Branch: perl - ! perl.c util.c + ! doop.c ____________________________________________________________________________ -[ 1124] By: gsar on 1998/06/12 07:16:12 - Log: hand-applied patch with wrapped lines - From: "Douglas Lankshear" - Subject: [PATCH 5.004_66] Win32::Reg... bloat in Win32 - Date: Thu, 11 Jun 1998 11:06:33 -0700 - Message-ID: <000101bd9563$aae0c4c0$a32fa8c0@tau.Active> +[ 3396] By: gsar on 1999/05/12 08:23:27 + Log: opendir(D,"x:") on win32 opens cwd() for drive rather than root; + stat() behaves similarly Branch: perl ! win32/win32.c ____________________________________________________________________________ -[ 1123] By: gsar on 1998/06/12 07:07:25 - Log: Date: Thu, 11 Jun 1998 12:40:05 -0400 (EDT) - From: Andy Dougherty - Subject: [PATCH 5.004_66] Config_66-01-02.diff - Message-Id: - Branch: perl - ! Configure +[ 3395] By: jhi on 1999/05/11 22:21:32 + Log: Redo parts of #3341 and #3358 that #3394 undid. + Branch: cfgperl + ! Configure config_h.SH ____________________________________________________________________________ -[ 1122] By: gsar on 1998/06/12 07:06:02 - Log: Message-Id: - Date: Thu, 11 Jun 1998 12:27:15 -0400 (EDT) - From: Andy Dougherty - Subject: Re: [PATCH for _66] Makefile.SH problem on dos/djgpp - Branch: perl - ! pod/checkpods.PL pod/pod2html.PL pod/pod2latex.PL - ! pod/pod2man.PL utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL - ! utils/perlbug.PL utils/perlcc.PL utils/perldoc.PL - ! utils/pl2pm.PL utils/splain.PL x2p/find2perl.PL x2p/s2p.PL +[ 3394] By: jhi on 1999/05/11 22:03:48 + Log: Add I_NETINET_TCP to help change #3391. + Branch: cfgperl + ! Configure config_h.SH ext/Socket/Socket.xs ____________________________________________________________________________ -[ 1121] By: gsar on 1998/06/12 07:01:20 - Log: a tweaked version of: - Message-Id: - Date: Fri, 12 Jun 1998 01:26:53 +0200 - From: Hugo van der Sanden - Subject: Re: Misparsing s///x - Branch: perl - ! pod/perlre.pod +[ 3393] By: jhi on 1999/05/11 21:44:59 + Log: Integrate from mainperl. + Branch: cfgperl + !> (integrate 55 files) ____________________________________________________________________________ -[ 1120] By: gsar on 1998/06/12 06:51:08 - Log: applied patch, with indentation tweaks - From: Ilya Zakharevich - Message-Id: <199806110803.EAA09149@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_66] Remove REG_ALIGN junk - Date: Thu, 11 Jun 1998 04:03:58 -0400 (EDT) +[ 3392] By: gsar on 1999/05/11 20:56:43 + Log: update embedvar.h Branch: perl - ! regcomp.c regcomp.h regexec.c + ! embedvar.h ext/ByteLoader/ByteLoader.pm pod/perldelta.pod ____________________________________________________________________________ -[ 1119] By: gsar on 1998/06/11 17:42:07 - Log: make REG_INFTY default to something saner when sizeof(short) > 2 - Message-Id: - Date: Thu, 11 Jun 1998 11:50:07 EDT - From: Andy Dougherty - Subject: Re: [PATCH for tests] Regexp fails on long string +[ 3391] By: gsar on 1999/05/11 16:32:05 + Log: From: Joshua Pritikin + Date: Tue, 11 May 1999 11:10:13 -0400 (EDT) + Message-ID: + Subject: Socket IPPROTO_TCP [PATCH 5.005_5x] Branch: perl - ! regcomp.h + ! ext/Socket/Socket.pm ext/Socket/Socket.xs ____________________________________________________________________________ -[ 1118] By: gsar on 1998/06/11 07:09:06 - Log: regen embedvar.h +[ 3390] By: gsar on 1999/05/11 15:27:40 + Log: display more frequent progress messages when STDOUT is a tty Branch: perl - ! embedvar.h + ! lib/Test/Harness.pm ____________________________________________________________________________ -[ 1117] By: gsar on 1998/06/11 06:45:52 +[ 3389] By: gsar on 1999/05/11 14:40:58 Log: From: Ilya Zakharevich - Message-Id: <199806100751.DAA05441@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_66] Bugs with (?{}), $^R and many-to-many subst - Date: Wed, 10 Jun 1998 03:51:47 -0400 (EDT) + Date: Mon, 10 May 1999 02:07:01 -0400 (EDT) + Message-Id: <199905100607.CAA26045@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_53] Explanations by Test::Harness Branch: perl - ! interp.sym intrpvar.h op.c op.h perl.c regcomp.c regcomp.h - ! regexec.c regexp.h t/op/pat.t t/op/subst.t + ! lib/Test/Harness.pm ____________________________________________________________________________ -[ 1116] By: gsar on 1998/06/11 06:35:54 - Log: misc win32 fixes - From: "Douglas Lankshear" - Subject: [PATCH 5.004_66] - Date: Wed, 10 Jun 1998 11:28:27 -0700 - Message-ID: <001a01bd949d$8fd18050$a32fa8c0@tau.Active> - Branch: perl - ! ObjXSub.h perl.c win32/Makefile win32/makefile.mk +[ 3388] By: gsar on 1999/05/11 14:08:14 + Log: avoid creating spurious subroutine stubs on failed subroutine + call and other places of sv_2cv() misuse; fixes problems with + failed subroutine calls "hiding" later attempts to lookup methods + in base classes + Branch: perl + ! gv.c perl.c pod/perlguts.pod pp_hot.c sv.c t/op/method.t +____________________________________________________________________________ +[ 3387] By: gsar on 1999/05/11 09:34:13 + Log: various fixes for clean build and test on win32; configpm broken, + needed to open myconfig.SH rather than myconfig; sundry adjustments + to bytecode stuff; tweaks to DYNAMIC_ENV_FETCH code to make it + work under win32; getenv_sv() changed to getenv_len() since SVs + aren't visible in the lower echelons; remove bogus exports from + config.sym; PERL_OBJECT-ness for C++ exception support; null out + IoDIRP in filter_del() or sv_free() will attempt to close it + Branch: perl + ! Changes bytecode.pl byterun.c byterun.h configpm embed.h + ! embed.pl ext/B/B/Asmdata.pm ext/ByteLoader/ByteLoader.xs + ! ext/DynaLoader/dlutils.c global.sym hv.c iperlsys.h objXSUB.h + ! op.c perl.c perl.h pp.c pp_ctl.c proto.h scope.c scope.h + ! t/io/open.t t/op/magic.t toke.c util.c vms/vms.c vms/vmsish.h + ! win32/GenCAPI.pl win32/Makefile win32/config.bc + ! win32/config.gc win32/config.vc win32/makedef.pl + ! win32/makefile.mk win32/perlhost.h win32/runperl.c + ! win32/win32.c win32/win32.h ____________________________________________________________________________ -[ 1115] By: gsar on 1998/06/11 06:33:21 - Log: Message-ID: <19980610005325.D162@cdata.tvnet.hu> - Date: Wed, 10 Jun 1998 00:53:25 +0200 - From: Laszlo Molnar - Subject: [PATCH for _66] Makefile.SH problem on dos/djgpp +[ 3386] By: gsar on 1999/05/11 02:49:07 + Log: gutsupport for C++ exceptions + From: Chip Salzenberg + Date: Tue, 9 Mar 1999 11:51:57 -0500 + Message-ID: <19990309115157.E7911@perlsupport.com> + Subject: [PATCH 5.005] Flexible Exceptions Branch: perl - ! Makefile.SH + ! embed.h global.sym objXSUB.h perl.c perl.h pp_ctl.c proto.h + ! scope.c scope.h thrdvar.h util.c ____________________________________________________________________________ -[ 1114] By: gsar on 1998/06/11 06:31:34 - Log: back out change#1111 and add alternative patch: - From: Ilya Zakharevich - Message-Id: <199806101538.LAA07293@monk.mps.ohio-state.edu> - Subject: Re: PATCH for study/foo/ - Date: Wed, 10 Jun 1998 11:38:58 -0400 (EDT) +[ 3385] By: gsar on 1999/05/10 19:33:36 + Log: "weak" references internals, still needs perlguts documentation + (somewhat modified version of patch suggested by Tuomas J. Lukka + ) Branch: perl - ! pp.c sv.c + ! dump.c embed.h embed.pl global.sym mg.c objXSUB.h perl.h + ! pod/perldiag.pod proto.h sv.c sv.h util.c ____________________________________________________________________________ -[ 1113] By: gsar on 1998/06/11 02:59:23 - Log: fix outdated bytecode.pl - Branch: perl - ! bytecode.h bytecode.pl byterun.c byterun.h +[ 3384] By: jhi on 1999/05/10 18:21:43 + Log: Circumnavigate Digital UNIX 4.0D miniperl core dump + (due to QAR 56761) (the bug has been fixed in 4.0E or better) + Branch: cfgperl + ! INSTALL hints/dec_osf.sh ____________________________________________________________________________ -[ 1112] By: gsar on 1998/06/10 07:56:06 - Log: Added patch, regenerated perly.c and perly.c.diff - Message-Id: - Date: Sun, 31 May 1998 12:56:14 -0500 (CDT) - From: Stephen McCamant - Subject: [PATCH] too many RV2GVs in *foo{THING} - Branch: perl - ! perly.c perly.c.diff perly.y t/op/gv.t +[ 3381] By: jhi on 1999/05/10 14:39:28 + Log: Integrate from mainperl. + Branch: cfgperl + +> cygwin32/Makefile.SHs cygwin32/build-instructions.READFIRST + +> cygwin32/build-instructions.charles-wilson + +> cygwin32/build-instructions.sebastien-barre + +> cygwin32/build-instructions.steven-morlock + +> cygwin32/build-instructions.steven-morlock2 + +> cygwin32/impure_ptr.c cygwin32/ld2.in cygwin32/perlld.in + +> ext/ByteLoader/ByteLoader.pm ext/ByteLoader/ByteLoader.xs + +> ext/ByteLoader/Makefile.PL pod/Win32.pod t/lib/io_linenum.t + +> t/op/numconvert.t utils/perlbc.PL + - cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc + - cygwin32/perlld + !> (integrate 105 files) ____________________________________________________________________________ -[ 1111] By: gsar on 1998/06/10 07:40:30 - Log: From: Ilya Zakharevich - Message-Id: <199806100309.XAA04974@monk.mps.ohio-state.edu> - Subject: Re: PATCH for study/foo/ - Date: Tue, 9 Jun 1998 23:09:55 -0400 (EDT) +[ 3380] By: gsar on 1999/05/10 12:27:14 + Log: regen regnodes.h Branch: perl - ! pp.c + ! Changes regnodes.h ____________________________________________________________________________ -[ 1110] By: gsar on 1998/06/10 07:37:04 - Log: From: Ilya Zakharevich - Message-Id: <199806100219.WAA04865@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_66] -DL and PERL_DEBUG_MSTATS unravelled - Date: Tue, 9 Jun 1998 22:19:02 -0400 (EDT) +[ 3379] By: gsar on 1999/05/10 12:17:26 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Sat, 01 May 1999 22:55:36 +0200 + Message-ID: <373067e9.56194713@smtp1.ibm.net> + Subject: [PATCH 5.005_56] Win32 and VC++ 98 doesn't support CASTI Branch: perl - ! pod/perldebug.pod + ! pod/perlfunc.pod pod/perlop.pod win32/config.vc + ! win32/config_H.vc ____________________________________________________________________________ -[ 1109] By: gsar on 1998/06/10 07:35:29 +[ 3378] By: gsar on 1999/05/10 12:07:13 Log: From: Ilya Zakharevich - Message-Id: <199806100302.XAA04958@monk.mps.ohio-state.edu> - Subject: Re: [PATCH 5.004_66] REG_INFTY patch corrected - Date: Tue, 9 Jun 1998 23:02:52 -0400 (EDT) + Date: Fri, 30 Apr 1999 22:26:09 -0400 (EDT) + Message-Id: <199905010226.WAA19127@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_56] Self-consistent numeric conversion again Branch: perl - ! regcomp.h + + t/op/numconvert.t + ! MANIFEST doio.c dump.c perl.h pp.c pp_hot.c sv.c sv.h toke.c + ! util.c ____________________________________________________________________________ -[ 1108] By: gsar on 1998/06/10 07:31:25 - Log: Added patch, tweaked other places affected by name change - Message-ID: <19980610005417.G162@cdata.tvnet.hu> - Date: Wed, 10 Jun 1998 00:54:17 +0200 - From: Laszlo Molnar - Subject: [PATCH] file name DynaLoader.pm.PL is 8.3 unfriendly +[ 3377] By: gsar on 1999/05/10 11:39:48 + Log: pp_modulo comment tweak from Ilya Branch: perl - +> ext/DynaLoader/DynaLoader_pm.PL - - ext/DynaLoader/DynaLoader.pm.PL - ! MANIFEST ext/DynaLoader/Makefile.PL win32/Makefile - ! win32/makefile.mk + ! pp.c ____________________________________________________________________________ -[ 1107] By: gsar on 1998/06/10 07:24:20 - Log: Message-ID: <19980610005342.E162@cdata.tvnet.hu> - Date: Wed, 10 Jun 1998 00:53:42 +0200 - From: Laszlo Molnar - Subject: [PATCH for _66] new version of README.dos +[ 3376] By: gsar on 1999/05/10 11:30:40 + Log: From: Joshua Pritikin + Date: Fri, 7 May 1999 11:31:00 -0400 (EDT) + Message-ID: + Subject: Test.pm update [PATCH _56] Branch: perl - ! README.dos + ! lib/Test.pm ____________________________________________________________________________ -[ 1106] By: gsar on 1998/06/10 07:22:31 - Log: Message-ID: <19980610005404.F162@cdata.tvnet.hu> - Date: Wed, 10 Jun 1998 00:54:04 +0200 - From: Laszlo Molnar - Subject: [PATCH for _66] op/taint.t problem on dos/djgpp +[ 3375] By: gsar on 1999/05/10 11:28:30 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Fri, 07 May 1999 00:59:54 +0200 + Message-ID: <373318ae.19292461@smtp1.ibm.net> + Subject: Re: Using existing memory for an SV's PV Branch: perl - ! t/op/taint.t + ! sv.c ____________________________________________________________________________ -[ 1105] By: gsar on 1998/06/10 07:21:21 - Log: Applied patch, followed by tweaks to *.sym and `perl embed.pl` - From: Ilya Zakharevich - Message-Id: <199806090216.WAA02041@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_66] Resend of RE cache patch (modified) - Date: Mon, 8 Jun 1998 22:16:56 -0400 (EDT) +[ 3374] By: gsar on 1999/05/10 11:23:44 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Fri, 07 May 1999 00:59:52 +0200 + Message-ID: <37321800.19118320@smtp1.ibm.net> + Subject: [PATCH 5.005_56] Fix -Dm memory debugging for PERL_OBJECT Branch: perl - ! embed.h embedvar.h global.sym intrpvar.h mg.c perl.h - ! perlvars.h pp_ctl.c proto.h sv.c + ! perl.h ____________________________________________________________________________ -[ 1104] By: gsar on 1998/06/10 07:06:01 +[ 3373] By: gsar on 1999/05/10 11:22:10 Log: From: Ilya Zakharevich - Message-Id: <199806090210.WAA02027@monk.mps.ohio-state.edu> - Subject: Lost chunk of RE jumbo patch - Date: Mon, 8 Jun 1998 22:10:52 -0400 (EDT) + Date: Thu, 6 May 1999 18:17:28 -0400 + Message-ID: <19990506181728.A12433@monk.mps.ohio-state.edu> + Subject: Re: [PATCH 5.005_56] Make open(F,"command |") return correct err(no) Branch: perl - + t/op/regexp_noamp.t + ! doio.c embed.h global.sym objXSUB.h pod/perldiag.pod proto.h + ! util.c ____________________________________________________________________________ -[ 1103] By: gsar on 1998/06/10 07:04:20 +[ 3372] By: gsar on 1999/05/10 10:57:49 Log: From: Ilya Zakharevich - Message-Id: <199806090207.WAA02015@monk.mps.ohio-state.edu> - Subject: [PATCH 5.004_66] Combined OS/2 support - Date: Mon, 8 Jun 1998 22:07:48 -0400 (EDT) + Date: Thu, 6 May 1999 01:21:05 -0400 (EDT) + Message-Id: <199905060521.BAA03485@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_56] Cosmetic: data-driven REx-dump Branch: perl - ! os2/Changes os2/diff.configure os2/os2.c + ! regcomp.c regcomp.pl ____________________________________________________________________________ -[ 1102] By: gsar on 1998/06/10 07:00:08 - Log: Message-Id: <199803140103.UAA04839@monk.mps.ohio-state.edu> - Date: Fri, 13 Mar 1998 20:03:52 EST - From: Ilya Zakharevich - Subject: [PATCH 5.004_62 5_004_04m1] pod2html again +[ 3371] By: gsar on 1999/05/10 10:54:01 + Log: From: lane@duphy4.physics.drexel.edu + Date: Tue, 04 May 1999 10:19:25 -0700 + Message-Id: <3.0.6.32.19990504101925.02ecde30@ous.edu> + Subject: [PATCH 5.005.56] pod->html VMS fixes Branch: perl - ! lib/Pod/Html.pm + ! installhtml lib/Pod/Html.pm ____________________________________________________________________________ -[ 1101] By: gsar on 1998/06/10 06:55:20 - Log: From: Ilya Zakharevich - Subject: Re: 5.004_65 uninitialized variable regexec.c (2) - Date: Thu, 28 May 1998 01:28:54 -0400 (EDT) +[ 3370] By: gsar on 1999/05/10 10:45:52 + Log: testsuite nits Branch: perl - ! regexec.c + ! t/lib/io_linenum.t t/op/filetest.t ____________________________________________________________________________ -[ 1100] By: gsar on 1998/06/10 06:52:50 - Log: updated MANIFEST for previous change +[ 3369] By: gsar on 1999/05/10 10:35:22 + Log: From: Ilya Zakharevich + Date: Mon, 3 May 1999 22:38:50 -0400 (EDT) + Message-Id: <199905040238.WAA01865@monk.mps.ohio-state.edu> + Subject: [PATCH 5.005_53] Quickier thread-specific data on OS/2 Branch: perl - ! MANIFEST + ! os2/os2ish.h os2/os2thread.h ____________________________________________________________________________ -[ 1099] By: gsar on 1998/06/10 06:51:08 - Log: Mangled patch, needed hand-tweaks, along with binmode for rs.t: - Message-Id: <3.0.5.32.19980605110840.009e12b0@ous.edu> - Date: Fri, 05 Jun 1998 11:08:40 -0700 - From: Dan Sugalski - Subject: Re: [PATCH 5.004_66]Add record read capability to <> +[ 3368] By: gsar on 1999/05/10 10:00:11 + Log: From: Albert Dvornik + Date: 03 May 1999 12:20:57 -0400 + Message-ID: + Subject: [PATCH 5.005_56] do_sv_dump does dump (core) on IO handles Branch: perl - + t/base/rs.t - ! perl.h pod/perlvar.pod sv.c + ! dump.c ____________________________________________________________________________ -[ 1098] By: gsar on 1998/06/10 06:36:59 - Log: From: pmarquess@bfsec.bt.co.uk (Paul Marquess) - Message-Id: <9806042022.AA10418@claudius.bfsec.bt.co.uk> - Subject: [PATCH fror 5.004_66] DB_File-1.60 - Date: Thu, 4 Jun 1998 21:22:35 +0100 (BST) +[ 3367] By: gsar on 1999/05/10 09:55:51 + Log: shadow password support for Solaris (needs Configure help to + determine HAS_GETSPENT) + From: "Patrick O'Brien" + Date: Sat, 01 May 1999 19:41:17 -0400 + Message-Id: <199905012341.TAA23989@optimus.cs.umd.edu> + Subject: getpwent() under solaris Branch: perl - + ext/DB_File/dbinfo - ! MANIFEST ext/DB_File/Changes ext/DB_File/DB_File.pm - ! ext/DB_File/DB_File.xs ext/DB_File/typemap t/lib/db-btree.t - ! t/lib/db-hash.t t/lib/db-recno.t + ! pp_sys.c ____________________________________________________________________________ -[ 1097] By: gsar on 1998/06/10 06:33:16 - Log: Message-ID: <19980604134731.D24343@perlsupport.com> - Date: Thu, 4 Jun 1998 13:47:31 -0400 - From: Chip Salzenberg - Subject: [PATCH] Invalidate method cache on C +[ 3366] By: gsar on 1999/05/10 09:45:58 + Log: From: jan.dubois@ibm.net (Jan Dubois) + Date: Sat, 01 May 1999 23:45:47 +0200 + Message-ID: <373373fb.59284266@smtp1.ibm.net> + Subject: [PATCH 5.005_56] Add POLLUTE=1 option to MakeMaker Branch: perl - ! scope.c t/op/method.t + ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm + ! pod/perldelta.pod ____________________________________________________________________________ -[ 1096] By: gsar on 1998/06/10 06:30:51 - Log: From: Norton Allen - Message-Id: <199806031908.PAA04183@bottesini.harvard.edu> - Subject: [PATCH] _66 MM_Unix.pm for QNX - Date: Wed, 3 Jun 1998 15:08:33 -0400 (edt) +[ 3365] By: gsar on 1999/05/10 09:34:22 + Log: test suite and fix input_line_number() + From: Paul Johnson + Date: Thu, 29 Apr 1999 06:28:14 +0100 + Message-ID: <19990429062814.A17906@west-tip.transeda.com> + Subject: [PATCH] IO::Handle 1.20 (was Re: FAIL Gedcom-1.01 i86pc-solaris 2.6) Branch: perl - ! lib/ExtUtils/MM_Unix.pm + + t/lib/io_linenum.t + ! MANIFEST ext/IO/lib/IO/Handle.pm ____________________________________________________________________________ -[ 1095] By: gsar on 1998/06/10 06:29:21 - Log: From: Norton Allen - Message-Id: <199806031909.PAA04358@bottesini.harvard.edu> - Subject: [PATCH] _66 proto.h - Date: Wed, 3 Jun 1998 15:09:14 -0400 (edt) +[ 3364] By: gsar on 1999/05/10 09:20:56 + Log: fix overeager [:foo:] parsing + From: Hugo van der Sanden + Date: Fri, 30 Apr 1999 09:26:18 +0100 + Message-Id: <199904300826.JAA01257@crypt.compulink.co.uk> + Subject: [PATCH 5.005_{56,03}] Re: Regular expression difference b/n 5.004 & 5.005 Branch: perl - ! proto.h + ! regcomp.c t/op/re_tests ____________________________________________________________________________ -[ 1094] By: gsar on 1998/06/10 06:26:39 - Log: Applied relevant parts of: - From: Paul Johnson - Date: Wed, 3 Jun 1998 19:07:55 +0100 (BST) - Message-Id: <199806031807.TAA04100@west-tip.transeda.com> - Subject: [PATCH] Enhancing xsubpp's support for C++ +[ 3363] By: gsar on 1999/05/10 09:09:21 + Log: documentation for Win32 builtins (somewhat modified) + From: jan.dubois@ibm.net (Jan Dubois) + Date: Tue, 30 Mar 1999 08:05:03 +0200 + Message-ID: <37006783.1926460@smtp1.ibm.net> + Subject: Re: Issues with build 509 Branch: perl - ! lib/ExtUtils/xsubpp + + pod/Win32.pod + ! MANIFEST ____________________________________________________________________________ -[ 1093] By: gsar on 1998/06/10 06:22:54 - Log: Message-ID: <19980603112219.B7638@asic.sc.ti.com> - Date: Wed, 3 Jun 1998 11:22:19 -0500 - From: Graham Barr - Subject: [PATCH perl5.004_04-m4] fix for undef as last arg to setsockopt +[ 3362] By: gsar on 1999/05/10 08:22:07 + Log: provide File::Copy::syscopy() via Win32::CopyFile() on win32 Branch: perl - ! pp_sys.c + ! lib/File/Copy.pm win32/win32.c ____________________________________________________________________________ -[ 1092] By: gsar on 1998/06/10 06:20:44 - Log: Message-Id: <199806030919.KAA03527@sale-wts> - Date: Wed, 3 Jun 1998 10:20:06 +0100 (BST) - From: Alan Burlison - Subject: [PATCH 5.004_66] ExtUtils::Installed.pm and ExtUtils::Packlist.pm +[ 3361] By: gsar on 1999/05/10 08:11:29 + Log: escape ampersands in
 sections
      Branch: perl
-           ! lib/ExtUtils/Installed.pm lib/ExtUtils/Packlist.pm
+           ! Changes lib/Pod/Html.pm
 ____________________________________________________________________________
-[  1091] By: gsar                                  on 1998/06/10  06:18:42
-        Log: Message-Id: <3.0.5.32.19980601122229.00a58420@ous.edu>
-             Date: Mon, 01 Jun 1998 12:22:29 -0700
-             From: SYSTEM@cedar.osshe.edu (by way of Dan Sugalski )
-             Subject: [PATCH 5.004_66] proto.h change to make byterun() visible to VMS
+[  3360] By: gsar                                  on 1999/05/10  08:04:14
+        Log: AIX hints enhancements (threads build, SOCKS support)
+             From: "David R. Favor" 
+             Date: Wed, 28 Apr 1999 08:45:28 -0500
+             Message-ID: <372710F8.B1F73BEB@austin.ibm.com>
+             Subject: Working build for AIX + gcc + threading
      Branch: perl
-           ! proto.h
+           ! hints/aix.sh
 ____________________________________________________________________________
-[  1090] By: gsar                                  on 1998/06/10  06:14:24
-        Log: A tweaked version of:
-             Date: Mon, 1 Jun 1998 12:05:47 -0700
-             From: SYSTEM@cedar.osshe.edu
-             Message-Id: <980601120547.20617d54@cedar.osshe.edu>
-             Subject: [PATCH 5.004_66] Fix problem with SDBM makefile on VMS
+[  3359] By: gsar                                  on 1999/05/10  07:49:26
+        Log: more Compiler patches from Vishal Bhatia 
+             Date: Tue, 27 Apr 1999 23:47:24 PDT
+             Message-ID: <19990428064724.95244.qmail@hotmail.com>
+             Subject: [PATCH 5.005_56] Saving Tied hashes ( C.pm)
+             --
+             Date: Thu, 29 Apr 1999 18:21:06 -0700
+             Message-ID: 
+             Subject: [PATCH 5.005_56] double constants ( C.pm)
+             --
+             Date: Mon, 03 May 1999 20:21:31 PDT
+             Message-ID: <19990504032131.81113.qmail@hotmail.com>
+             Subject: [PATCH 5.005_56] Overloading implementation ( Compiler)
+             --
+             Date: Thu, 06 May 1999 17:57:09 -0700
+             Message-ID: 
+             Subject: Stash.pm
+     Branch: perl
+	   ! ext/B/B.pm ext/B/B.xs ext/B/B/Bblock.pm ext/B/B/C.pm
+           ! ext/B/B/CC.pm ext/B/B/Stash.pm t/harness
+____________________________________________________________________________
+[  3358] By: gsar                                  on 1999/05/10  04:39:15
+        Log: cygwin32 update (untested adaptation of patch against 5.005_03)
+             From: alexander smishlajev 
+             Date: Sun, 25 Apr 1999 14:58:29 +0300
+             Message-ID: <37230365.5F68B460@turnhere.com>
+             Subject: [PATCH]5.005_03 (CORE) cygwin32 port
+     Branch: perl
+	   + cygwin32/Makefile.SHs cygwin32/build-instructions.READFIRST
+	   + cygwin32/build-instructions.charles-wilson
+	   + cygwin32/build-instructions.sebastien-barre
+	   + cygwin32/build-instructions.steven-morlock
+	   + cygwin32/build-instructions.steven-morlock2
+           + cygwin32/impure_ptr.c cygwin32/ld2.in cygwin32/perlld.in
+	   - cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc
+           - cygwin32/perlld
+	   ! Configure EXTERN.h MANIFEST Makefile.SH README.cygwin32 XSUB.h
+	   ! cflags.SH config_h.SH dosish.h ext/POSIX/Makefile.PL
+	   ! ext/SDBM_File/sdbm/pair.c hints/cygwin32.sh installperl
+	   ! lib/Cwd.pm lib/ExtUtils/MakeMaker.pm lib/perl5db.pl
+	   ! makedepend.SH perl.h perlvars.h pp_hot.c pp_sys.c regcomp.c
+           ! t/io/fs.t t/io/tell.t t/lib/anydbm.t t/op/stat.t util.c
+____________________________________________________________________________
+[  3357] By: gsar                                  on 1999/05/10  04:07:07
+        Log: applied suggested patch, modulo already applied parts
+             From: Charles Bailey 
+             Date: Sat, 24 Apr 1999 20:12:43 -0400 (EDT)
+             Message-id: <01JAF9UAV9XG002O0W@mail.newman.upenn.edu>
+             Subject: [Patch 5.005_56] VMS consolidated patch #2
+     Branch: perl
+	   ! configure.com t/op/filetest.t t/op/taint.t t/pragma/warn/doio
+	   ! t/pragma/warn/mg t/pragma/warn/pp_sys t/pragma/warn/sv
+	   ! vms/descrip_mms.template vms/ext/vmsish.t vms/perlvms.pod
+           ! vms/subconfigure.com vms/test.com vms/vms.c
+____________________________________________________________________________
+[  3356] By: gsar                                  on 1999/05/10  03:48:08
+        Log: applied suggested patch, with win32 and PERL_OBJECT additions
+             From: Tom Hughes 
+             Date: Sat, 24 Apr 1999 18:11:59 +0100
+             Message-ID: <609bdff748.tom@compton.compton.nu>
+             Subject: ByteLoader patch
+     Branch: perl
+	   + ext/ByteLoader/ByteLoader.pm ext/ByteLoader/ByteLoader.xs
+           + ext/ByteLoader/Makefile.PL utils/perlbc.PL
+	   ! MANIFEST bytecode.h bytecode.pl byterun.c byterun.h embed.h
+	   ! embed.pl ext/B/B.xs ext/B/B/Asmdata.pm ext/B/B/Bytecode.pm
+	   ! ext/B/B/Debug.pm objXSUB.h op.c pp_ctl.c proto.h
+           ! utils/Makefile win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  3355] By: gsar                                  on 1999/05/10  03:22:49
+        Log: document 'test' attribute (from Andreas Koenig)
      Branch: perl
-           ! ext/SDBM_File/sdbm/Makefile.PL
+           ! lib/ExtUtils/MakeMaker.pm
 ____________________________________________________________________________
-[  1089] By: gsar                                  on 1998/06/10  05:58:00
-        Log: Message-Id: 
-             Date: Fri, 29 May 1998 23:52:26 -0500 (CDT)
-             From: Stephen McCamant 
-             Subject: [PATCH] Re: Uninitialised error from -M()
+[  3354] By: gsar                                  on 1999/05/10  03:12:37
+        Log: From: pmarquess@bfsec.bt.co.uk
+             Date: Thu, 22 Apr 1999 23:12:08 +0100
+             Message-ID: <5104D4DBC598D211B5FE0000F8FE7EB29C6B45@mbtlipnt02.btlabs.bt.co.uk>
+             Subject: PATCH for small bug in scan_bin
      Branch: perl
-           ! op.c t/op/stat.t
+           ! util.c
 ____________________________________________________________________________
-[  1088] By: gsar                                  on 1998/06/10  05:55:24
-        Log: Date: Sat, 30 May 1998 08:07:01 -0400
-             From: lvirden@cas.org (Larry Virden)
-             Message-Id: <199805301207.IAA08856@cas.org>
-             Subject: PATCH for pod and warning notice
+[  3353] By: gsar                                  on 1999/05/10  02:39:33
+        Log: more bulletproof workaround for mangled paths (updates changes#3345,3350);
+             provide Win32::GetLongPathName() to complement Win32::GetShortPathName()
      Branch: perl
-           ! pod/perlguts.pod
+	   ! t/op/magic.t win32/makedef.pl win32/runperl.c win32/win32.c
+           ! win32/win32iop.h
 ____________________________________________________________________________
-[  1087] By: gsar                                  on 1998/06/10  05:52:05
-        Log: From: Andy Dougherty 
-             Date: Mon, 8 Jun 1998 14:45:36 -0400 (EDT)
-             Message-Id: 
-             Subject: [PATCH 5.004_66] Config_66-01
+[  3352] By: gsar                                  on 1999/05/09  22:47:39
+        Log: flush all open output buffers before fork(), exec(), system, qx//
+             and pipe open() operations, simplifying buffering headaches faced
+             by users; uses fflush(NULL), which may need Configure test
      Branch: perl
-	   ! Configure MANIFEST Porting/Glossary Porting/config.sh
-           ! Porting/config_H config_h.SH
+	   ! perl.h pod/perldelta.pod pod/perlfunc.pod pod/perlipc.pod
+           ! pp_sys.c util.c vmesa/vmesa.c vms/vms.c win32/win32.c
 ____________________________________________________________________________
-[  1086] By: gsar                                  on 1998/06/10  05:46:38
-        Log: Message-Id: <3.0.5.32.19980608161314.00a0a880@ous.edu>
-             Date: Mon, 08 Jun 1998 16:13:14 -0700
-             From: Dan Sugalski 
-             Subject: [PATCH 5.004_66] Documentation patch for Semaphore.pm
+[  3351] By: gsar                                  on 1999/05/09  21:11:51
+        Log: perlcc on win32 (correct version of fix suggested by Jean-Louis
+             Leroy )
      Branch: perl
-           ! ext/Thread/Thread/Semaphore.pm
+           ! utils/perlcc.PL
 ____________________________________________________________________________
-[  1085] By: gsar                                  on 1998/06/10  05:44:44
-        Log: Message-Id: <3.0.5.32.19980608161002.00a64a70@ous.edu>
-             Date: Mon, 08 Jun 1998 16:10:02 -0700
-             From: Dan Sugalski 
-             Subject: [PATCH 5.004_66]Doc & feature patch for Thread::Queue
+[  3350] By: gsar                                  on 1999/05/09  20:39:11
+        Log: normalize $^X to full pathname on win32
      Branch: perl
-           - vms/descrip.mms
-           ! ext/Thread/Thread/Queue.pm
+           ! win32/runperl.c
 ____________________________________________________________________________
-[  1084] By: gsar                                  on 1998/06/10  05:38:11
-        Log: Message-Id: <3.0.5.32.19980608153828.00a81ea0@ous.edu>
-             Date: Mon, 08 Jun 1998 15:38:28 -0700
-             From: Dan Sugalski 
-             Subject: [PATCH POINTER 5.004_66]A configuration system for VMS perl
-     Branch: perl
-	   + configure.com vms/descrip_mms.template vms/munchconfig.c
-           + vms/subconfigure.com
-           - vms/config.vms vms/fndvers.com
-           ! MANIFEST README.vms lib/ExtUtils/MM_VMS.pm
-____________________________________________________________________________
-[  1083] By: gsar                                  on 1998/06/10  05:07:04
-        Log: xsubpp enhancements ($CPAN/authors/id/ILYAZ/patches/diff_xsubpp_65), a
-             variant of:
-             Message-Id: <199712131231.HAA04125@monk.mps.ohio-state.edu>
-             Date:    Sat, 13 Dec 1997 07:31:02 EST
-             From:    Ilya Zakharevich 
-             Subject: 5.004_55: xsubpp: new keywords INTERFACE C_ARGS
+[  3349] By: gsar                                  on 1999/05/09  20:23:07
+        Log: allow readline($globref), <$globref> already works
      Branch: perl
-           ! XSUB.h lib/ExtUtils/xsubpp pod/perlxs.pod
+           ! pp_hot.c
 ____________________________________________________________________________
-[  1082] By: gsar                                  on 1998/06/10  04:52:26
-        Log: add newer malloc.c from Ilya Zakharevich 
-             (from $CPAN/authors/id/ILYAZ/patches/diff_malloc_65)
+[  3348] By: gsar                                  on 1999/05/09  20:00:09
+        Log: perldoc cleanups (variant of changes suggested by Christian Lemburg
+             )
      Branch: perl
-           ! malloc.c
+           ! utils/perldoc.PL
 ____________________________________________________________________________
-[  1081] By: gsar                                  on 1998/06/10  03:45:10
-        Log: reverse integrate contents of win32 branch into mainline
+[  3347] By: gsar                                  on 1999/05/09  18:47:21
+        Log: additions to Thread.pm docs from Tuomas J. Lukka
+             
      Branch: perl
-          !> (integrate 44 files)
-____________________________________________________________________________
-[  1080] By: gsar                                  on 1998/06/09  17:37:55
-        Log: `p4 integrate -b ASPerl && p4 resolve -at`
-     Branch: asperl
-          !> (integrate 43 files)
-____________________________________________________________________________
-[  1079] By: gsar                                  on 1998/06/09  00:59:06
-        Log: add examples of diff(1) usage
-     Branch: win32/perl
-           ! Porting/patching.pod
-____________________________________________________________________________
-[  1078] By: gsar                                  on 1998/06/09  00:52:23
-        Log: undo change#1077
-     Branch: win32/perl
-           ! sv.c
-____________________________________________________________________________
-[  1077] By: gsar                                  on 1998/06/06  16:47:32
-        Log: make sv_setsv() treat freed SVs like SVt_NULL
-     Branch: win32/perl
-           ! sv.c
-____________________________________________________________________________
-[  1076] By: gsar                                  on 1998/06/05  19:03:14
-        Log: delete undiscussed AS changes for PPD (broke .packlist
-             mechanism)
-     Branch: win32/perl
-           ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
-____________________________________________________________________________
-[  1075] By: gsar                                  on 1998/06/05  18:18:44
-        Log: add AS patch#26 (rename THIS to PERL_OBJEC_THIS to avoid clash
-             with the xsubpp-generated symbol)
-     Branch: win32/perl
-	   ! ObjXSub.h perl.c perl.h pp_ctl.c pp_hot.c toke.c
-           ! win32/dl_win32.xs
-____________________________________________________________________________
-[  1074] By: gsar                                  on 1998/06/04  22:45:18
-        Log: add AS patch#25 (allow B build with -DPERL_OBJECT)
-     Branch: win32/perl
-	   ! ObjXSub.h byterun.h embed.h embedvar.h ext/B/B.xs intrpvar.h
-           ! objpp.h proto.h util.c win32/Makefile win32/makefile.mk
-____________________________________________________________________________
-[  1073] By: nick                                  on 1998/06/04  17:18:14
-        Log: resolve -at win32 branch into ansiperl
-     Branch: ansiperl
-	  +> ObjXSub.h XSLock.h ipdir.h ipenv.h iplio.h ipmem.h ipproc.h
-	  +> ipsock.h ipstdio.h objpp.h t/lib/h2ph.h t/lib/h2ph.pht
-          +> t/lib/h2ph.t win32/GenCAPI.pl
-          !> (integrate 127 files)
-____________________________________________________________________________
-[  1072] By: gsar                                  on 1998/06/04  01:49:24
-        Log: document CORE::GLOBAL:: and global overriding, fix up
-             File::DosGlob, testsuited and all
-     Branch: win32/perl
-           ! lib/File/DosGlob.pm pod/perlsub.pod t/lib/dosglob.t
-____________________________________________________________________________
-[  1071] By: gsar                                  on 1998/06/03  22:12:55
-        Log: add AS patch#24, remove one other instance of error_no
-             that was missed (patch#23 was intentionally skipped)
-     Branch: win32/perl
-	   ! embedvar.h globals.c perlvars.h win32/makedef.pl
-           ! win32/runperl.c
-____________________________________________________________________________
-[  1070] By: gsar                                  on 1998/06/01  19:42:06
-        Log: fix Liblist.pm to tolerate backslashen in paths
-     Branch: win32/perl
-           ! lib/ExtUtils/Liblist.pm
-____________________________________________________________________________
-[  1069] By: gsar                                  on 1998/06/01  07:43:02
-        Log: @INC construction on win32 cleaned up
-             - perl.dll location based paths should be much more reliable now
-             - registry stuff unchanged
-             - Config.pm now has all the installfoolib entries for MakeMaker et al
-     Branch: win32/perl
-	   ! win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-	   ! win32/config_h.PL win32/config_sh.PL win32/makefile.mk
-           ! win32/runperl.c win32/win32.c win32/win32.h
-____________________________________________________________________________
-[  1068] By: gsar                                  on 1998/05/31  21:52:18
-        Log: semctl tweak
-             Message-Id: <199805312127.QAA06750@gbarr.connect.net>
-             Date:    Sun, 31 May 1998 16:27:33 CDT
-             From:    Graham Barr 
-             Subject: Not OK: perl 5.00466 on i586-linux-thread 2.0.31 
-     Branch: win32/perl
-           ! doio.c
-____________________________________________________________________________
-[  1067] By: gsar                                  on 1998/05/31  21:07:44
-        Log: minimal fix to enable compiling with -DMULTIPLICITY
-             (non-threadsafe regcomp.c globals need revisiting)
-     Branch: win32/perl
-	   ! ObjXSub.h embedvar.h interp.sym intrpvar.h regcomp.c
-           ! win32/GenCAPI.pl win32/makedef.pl
-____________________________________________________________________________
-[  1066] By: gsar                                  on 1998/05/30  21:35:37
-        Log: integrate mainline changes (ASPerl branch is identical to
-             win32 branch as of this change)
-     Branch: asperl
-	  !> MANIFEST Todo.5.005 embed.h ext/POSIX/POSIX.xs global.sym
-	  !> lib/ExtUtils/Mksymlists.pm pod/perldelta.pod pp_sys.c
-	  !> t/op/ipcmsg.t t/op/ipcsem.t win32/Makefile win32/config.bc
-	  !> win32/config.gc win32/config.vc win32/config_H.bc
-          !> win32/config_H.gc win32/config_H.vc win32/makefile.mk
-____________________________________________________________________________
-[  1065] By: gsar                                  on 1998/05/30  21:13:06
-        Log: change#1060 was inexplicably missing some of the "ensure
-             AS stuff does no harm" fixes
-     Branch: win32/perl
-           ! embed.h global.sym win32/Makefile win32/makefile.mk
-____________________________________________________________________________
-[  1064] By: gsar                                  on 1998/05/30  21:10:27
-        Log: integrate mainline to pick up trivial changes
-     Branch: win32/perl
-          !> MANIFEST pp_sys.c
-
-----------------
-Version 5.004_66
-----------------
-
+           ! ext/Thread/Thread.pm
 ____________________________________________________________________________
-[  1063] By: mbeattie                              on 1998/05/29  15:19:55
-        Log: Remove duplicate win32/TEST line from MANIFEST.
+[  3346] By: gsar                                  on 1999/05/09  18:38:00
+        Log: From: Stephen McCamant 
+             Date: Sat, 17 Apr 1999 02:46:13 -0700 (PDT)
+             Message-ID: <14103.57454.614253.598264@fre-76-120.reshall.berkeley.edu>
+             Subject: [PATCH _56] Re: pdt: Perl Development Tools? 
      Branch: perl
-           ! MANIFEST
+           ! ext/B/B/Xref.pm
 ____________________________________________________________________________
-[  1062] By: mbeattie                              on 1998/05/29  15:18:33
-        Log: Add missing ";" to pp_umask (spotted by Jarkko Hietaniemi).
+[  3345] By: gsar                                  on 1999/05/09  18:22:43
+        Log: work around mangled archname on win32 while finding privlib/sitelib;
+             normalize lib paths to forward slashes internally
      Branch: perl
-           ! pp_sys.c
-____________________________________________________________________________
-[  1061] By: mbeattie                              on 1998/05/29  12:02:17
-        Log: Integrate from win32 branch into mainline (this now pulls in the
-             asperl stuff).
-     Branch: perl
-	  +> ObjXSub.h XSLock.h ipdir.h ipenv.h iplio.h ipmem.h ipproc.h
-	  +> ipsock.h ipstdio.h objpp.h t/lib/h2ph.h t/lib/h2ph.pht
-          +> t/lib/h2ph.t win32/GenCAPI.pl
-          !> (integrate 104 files)
-____________________________________________________________________________
-[  1060] By: gsar                                  on 1998/05/29  11:05:50
-        Log: reverse integrate asperl branch contents (phew!)
-             - various fixups to ensure AS stuff does no harm
-             - adjust win32/makefiles for the new directory layout (new layout
-             looks rather a muddle--needs rework)
-             - verified build & test on NT and Solaris/gcc
-     Branch: win32/perl
-	  +> ObjXSub.h XSLock.h ipdir.h ipenv.h iplio.h ipmem.h ipproc.h
-          +> ipsock.h ipstdio.h objpp.h win32/GenCAPI.pl
-	   ! ext/POSIX/POSIX.xs lib/ExtUtils/Mksymlists.pm win32/Makefile
-	   ! win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-           ! win32/makefile.mk
-          !> (integrate 77 files)
-____________________________________________________________________________
-[  1059] By: gsar                                  on 1998/05/29  08:33:56
-        Log: asperl branch verified to build w/o PERL_OBJECT on Solaris and NT
-     Branch: asperl
-           ! util.c
-____________________________________________________________________________
-[  1058] By: gsar                                  on 1998/05/29  08:31:09
-        Log: type xtext for *.t that were missing it
-     Branch: asperl
-           ! t/lib/thread.t t/op/nothread.t
-____________________________________________________________________________
-[  1057] By: gsar                                  on 1998/05/29  08:28:46
-        Log: stray t/op/ipc*.t fixups
-     Branch: win32/perl
-           ! t/op/ipcmsg.t t/op/ipcsem.t
-____________________________________________________________________________
-[  1056] By: gsar                                  on 1998/05/29  07:41:49
-        Log: fixups to make it build and pass tests under both compilers
-     Branch: asperl
-           ! ObjXSub.h objpp.h proto.h
-____________________________________________________________________________
-[  1055] By: gsar                                  on 1998/05/29  07:22:51
-        Log: integrate mainline changes
-     Branch: asperl
-          +> t/lib/h2ph.h t/lib/h2ph.pht t/lib/h2ph.t
-          !> (integrate 69 files)
-     Branch: win32/perl
-           ! Todo.5.005 pod/perldelta.pod
-____________________________________________________________________________
-[  1054] By: gsar                                  on 1998/05/29  05:04:03
-        Log: add a txt_compare() routine to t/h2ph.t for DOSISH sanity
-     Branch: win32/perl
-           ! t/lib/h2ph.t
-____________________________________________________________________________
-[  1053] By: gsar                                  on 1998/05/29  05:01:54
-        Log: misc changes
-             - remove code that works around lack of I_STDARG (we're a happy ANSI family)
-             - leave dump_foo() stubs when not -DDEBUGGING for consistent symbol exports
-     Branch: win32/perl
-	   ! deb.c dump.c ext/DynaLoader/dlutils.c ext/POSIX/POSIX.xs
-	   ! perl.h perlio.c proto.h regcomp.c run.c scope.c sv.c util.c
-           ! x2p/util.c x2p/util.h
-____________________________________________________________________________
-[  1052] By: gsar                                  on 1998/05/29  02:31:44
-        Log: merge changes#1014,1038 from maintbranch
-     Branch: win32/perl
-           + t/lib/h2ph.h t/lib/h2ph.pht t/lib/h2ph.t
-	   ! MANIFEST Makefile.SH doio.c ext/POSIX/POSIX.xs gv.c
-	   ! lib/Benchmark.pm lib/ExtUtils/MM_Unix.pm pod/perldebug.pod
-	   ! pod/perldiag.pod pod/perlfunc.pod pod/perlop.pod
-	   ! pod/perlre.pod pod/perltie.pod pod/perltrap.pod sv.c
-           ! t/io/pipe.t utils/h2ph.PL
-____________________________________________________________________________
-[  1051] By: gsar                                  on 1998/05/29  01:38:51
-        Log: regenerate win32/config_H.?c
-     Branch: win32/perl
-           ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-____________________________________________________________________________
-[  1050] By: gsar                                  on 1998/05/29  01:32:41
-        Log: integrate mainline
-     Branch: win32/perl
-           ! win32/Makefile win32/makefile.mk
-	  !> Configure INSTALL MANIFEST Porting/Glossary Porting/config.sh
-	  !> Porting/config_H Porting/patching.pod config_h.SH doio.c
-	  !> ext/POSIX/hints/sunos_4.pl hints/bsdos.sh hints/openbsd.sh
-	  !> hints/solaris_2.sh hints/sunos_4_1.sh hints/svr4.sh
-	  !> lib/FileHandle.pm patchlevel.h perl.h plan9/config.plan9
-	  !> vms/config.vms win32/config.bc win32/config.gc win32/config.vc
-____________________________________________________________________________
-[  1049] By: gsar                                  on 1998/05/29  00:57:05
-        Log: fix various shenanigans with C, BC and VC builds now pass
-             all tests
-     Branch: asperl
-	   ! globals.c win32/Makefile win32/makefile.mk win32/runperl.c
-           ! win32/win32.h win32/win32iop.h
-____________________________________________________________________________
-[  1048] By: mbeattie                              on 1998/05/28  18:07:24
-        Log: Integrated win32 branch into mainline. The changes to t/op/ipc*.t
-             in change 1043 clashed badly with changes made in the win32
-             branch. I did an accept on the win32 branch version for now.
-     Branch: perl
-          +> t/op/die.t
-          !> (integrate 52 files)
-____________________________________________________________________________
-[  1047] By: mbeattie                              on 1998/05/28  17:59:18
-        Log: From: Andy Dougherty 
-             Subject: [PATCH 5.004_65] Config_65-02-03.diff: SunOS and Solaris hints
-             Date: Thu, 28 May 1998 13:27:25 -0400 (EDT)
-             Subject: [PATCH 5.004_65] Config_65-03-04.diff:  semctl probing
-             Date: Thu, 28 May 1998 13:28:21 -0400 (EDT)
-     Branch: perl
-	   ! Configure MANIFEST Porting/Glossary Porting/config.sh
-	   ! Porting/config_H config_h.SH doio.c ext/POSIX/hints/sunos_4.pl
-	   ! hints/solaris_2.sh hints/sunos_4_1.sh perl.h vms/config.vms
-           ! win32/config.bc win32/config.gc win32/config.vc
+           ! win32/win32.c
 ____________________________________________________________________________
-[  1046] By: mbeattie                              on 1998/05/28  17:55:48
-        Log: Back out change 1043 since Andy's forthcoming Config patch
-             includes a modified version.
+[  3344] By: gsar                                  on 1999/05/09  03:20:06
+        Log: fix typo in dbm filters that caused odbm.t to fail
      Branch: perl
-           ! Configure config_h.SH doio.c perl.h
+           ! ext/ODBM_File/ODBM_File.xs t/lib/odbm.t
 ____________________________________________________________________________
-[  1045] By: mbeattie                              on 1998/05/28  17:52:40
-        Log: Bump patchlevel.h to 66.
+[  3343] By: gsar                                  on 1999/05/09  02:02:59
+        Log: tweak test totals
      Branch: perl
-           ! patchlevel.h
+           ! Changes t/lib/tie-stdhandle.t
 ____________________________________________________________________________
-[  1044] By: mbeattie                              on 1998/05/28  17:51:49
-        Log: From: Daniel Grisinger 
-             Subject: [PATCH] _04m2  perlfunc.pod (fwd)
-             Date: Fri, 15 May 1998 16:18:26 -0600 (MDT)
-             (above minus the t/system.t test pending checking)
-             Subject: [PATCH] 5.004[04|65]  FileHandle.pm
-             Date: Wed, 20 May 1998 19:50:50 -0600 (MDT)
-             Subject: [PATCH] _65 and _04  patching.pod
-             Date: Thu, 21 May 1998 16:33:03 -0600 (MDT)
+[  3342] By: gsar                                  on 1999/05/09  01:42:06
+        Log: import list propagation busted (pointed out by Ton Hospel
+             )
      Branch: perl
-           ! Porting/patching.pod lib/FileHandle.pm pod/perlfunc.pod
+           ! lib/autouse.pm
 ____________________________________________________________________________
-[  1043] By: mbeattie                              on 1998/05/28  17:42:21
-        Log: This change really is:
-             Subject: [PATCH] 5.004_65: the infamous semctl()
-             Date: Sun, 24 May 1998 16:13:21 +0300 (EET DST)
-             From: Jarkko Hietaniemi 
-             
-             Change 1041 claimed to be this patch but was really:
-             Subject: [PATCH] 5.004_65: t/op/ipc*.t
-             Date: Sat, 16 May 1998 00:52:39 +0300 (EET DST)
-             From: Jarkko Hietaniemi 
+[  3341] By: gsar                                  on 1999/05/09  00:54:18
+        Log: hpux needs {SHLIB_PATH,LDOPTS} rather than LD_{LIBRARY,RUN}_PATH
+             (as suggested by Eric Boehm )
      Branch: perl
-           ! Configure config_h.SH doio.c perl.h
+           ! Configure Makefile.SH
 ____________________________________________________________________________
-[  1042] By: mbeattie                              on 1998/05/28  17:36:57
-        Log: From: Andy Dougherty 
-             Subject: [PATCH 5.004_65] Config_65-01: lchown() detection.
-             Date: Thu, 28 May 1998 13:25:21 -0400 (EDT)
-             Subject: [PATCH 5.004_65] Config_65-01-02.diff: INSTALL and hints fixes
-             Date: Thu, 28 May 1998 13:26:18 -0400 (EDT)
+[  3340] By: gsar                                  on 1999/05/09  00:40:41
+        Log: generate manpages for newly added utils
      Branch: perl
-	   ! Configure INSTALL Porting/Glossary Porting/config.sh
-	   ! Porting/config_H config_h.SH doio.c hints/bsdos.sh
-	   ! hints/openbsd.sh hints/svr4.sh plan9/config.plan9
-	   ! vms/config.vms win32/config.bc win32/config.gc win32/config.vc
+           ! installman
 ____________________________________________________________________________
-[  1041] By: mbeattie                              on 1998/05/28  17:34:26
-        Log: Subject: [PATCH] 5.004_65: the infamous semctl()
-             Date: Sun, 24 May 1998 16:13:21 +0300 (EET DST)
-             From: Jarkko Hietaniemi 
+[  3339] By: gsar                                  on 1999/05/09  00:33:50
+        Log: From: Hugo van der Sanden 
+             Date: Sun, 02 May 1999 17:59:24 +0100
+             Message-Id: <199905021659.RAA14016@crypt.compulink.co.uk>
+             Subject: [PATCH] Re: ptr to realloced memory in yylex
      Branch: perl
-           ! t/op/ipcmsg.t t/op/ipcsem.t
-____________________________________________________________________________
-[  1040] By: gsar                                  on 1998/05/28  02:06:47
-        Log: tweaks to enable Borland build
-     Branch: asperl
-           ! win32/makefile.mk win32/win32.c
-____________________________________________________________________________
-[  1039] By: gsar                                  on 1998/05/27  23:29:22
-        Log: remove C<#define index strchr> from win32.h (unused, and the
-             pollution causes spurious variable name changes in extensions)
-     Branch: win32/perl
-           ! win32/win32.h
-____________________________________________________________________________
-[  1038] By: TimBunce                              on 1998/05/27  17:29:15
-        Log: Assorted patches:
-             
-             ------  BUILD PROCESS  ------
-             
-             Title:  "add utilities to make test dependencies"
-             From:  Robin Barker 
-             Msg-ID:  <2607.9805211303@tempest.cise.npl.co.uk>
-             Files:  Makefile.SH
-             
-             Title:  "Add 'make nok' complement to 'make ok'"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  Makefile.SH
-             
-             Title:  "further h2ph patches (add enum support)"
-             From:  Billy 
-             Msg-ID:              
-             Files:  MANIFEST t/lib/h2ph.pht t/lib/h2ph.t utils/h2ph.PL
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "Fix %! error spelling and add perldiag.pod entry"
-             From:  Graham Barr , Tim Bunce
-             Msg-ID:  <19980524193101.A573@pobox.com>
-             Files:  pod/perldiag.pod gv.c
-             
-             Title:  "Remove obsolete Win32 uppercasing ENV code"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805201510.LAA28676@aatma.engin.umich.edu>
-             Files:  perl.c
-             
-             Title:  "Don't mung $! on implicit close"
-             From:  Chip Salzenberg 
-             Msg-ID:  <19980525113309.A15845@perlsupport.com>
-             Files:  doio.c
-             
-             Title:  "Maint trial 3 fails on SunOS 4.1.3 with Sun cc"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  doio.c
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "doc patch: you canna return an array ( list context: || vs or)"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  
-             Files:  pod/perldebug.pod pod/perlfunc.pod pod/perltie.pod pod/perltrap.pod
-             
-             Title:  "doc patch: @ needs escaping in m/\Q\E/ environment"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/perlop.pod pod/perlre.pod
-             
-             Title:  "Discrepancy between perlop.pod and m// operator", "Doc fix: Only
-             with /g does list context get matches without parens"
-             From:  Greg Chapman , Tom Christiansen
-             , Tom Phoenix
-             
-             Msg-ID:  <000201bd865e$f3bf72e0$1f04400c@assigned.well.com>,
-             <199805231559.JAA21316@jhereg.perl.com>,
-             
-             Files:  pod/perlop.pod
-             
-             Title:  "Documenting last/next/redo even further"
-             From:  "M.J.T. Guy" , Tom Phoenix
-             
-             Msg-ID:  ,
-             
-             Files:  pod/perlfunc.pod
-             
-             Title:  "Documenting last/next/redo within continue block"
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod
-             
-             Title:  "Document stat return in scalar context"
-             From:  Mark-Jason Dominus 
-             Files:  pod/perlfunc.pod
-             
-             ------  EXTENSIONS  ------
-             
-             Title:  "Better LD_RUN_PATH handling on IRIX"
-             From:  "W. Phillip Moore" 
-             Msg-ID:  <199805212206.SAA07504@zappa.morgan.com>
-             Files:  lib/ExtUtils/MM_Unix.pm
-             
-             Title:  "Dealing with  in POSIX and SunOS"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  ext/POSIX/hints/sunos_4.pl hints/sunos_4_1.sh ext/POSIX/POSIX.xs
-             
-             ------  LIBRARY  ------
-             
-             Title:  "Fix FileHandle.pm example bug"
-             From:  Daniel Grisinger 
-             Msg-ID:  
-             Files:  lib/FileHandle.pm
-             
-             Title:  "Add zero/negative $count docs for Benchmark.pm"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  lib/Benchmark.pm
-             
-             ------  PORTABILITY - GENERAL  ------
-             
-             Title:  "Add test suite recommendations to Porting/patching.pod"
-             From:  Daniel Grisinger 
-             Msg-ID:  
-             Files:  Porting/patching.pod
-             
-             ------  TESTS  ------
-             
-             Title:  "Fix looping bug in t/io/pipe.t"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  t/io/pipe.t
-     Branch: maint-5.004/perl
-	   ! MANIFEST Makefile.SH Porting/patching.pod doio.c
-	   ! ext/POSIX/POSIX.xs ext/POSIX/hints/sunos_4.pl gv.c
-	   ! hints/sunos_4_1.sh lib/Benchmark.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/FileHandle.pm perl.c pod/perldebug.pod pod/perldiag.pod
-	   ! pod/perlfunc.pod pod/perlop.pod pod/perlre.pod pod/perltie.pod
-	   ! pod/perltrap.pod t/io/pipe.t t/lib/h2ph.pht t/lib/h2ph.t
-           ! utils/h2ph.PL
-____________________________________________________________________________
-[  1037] By: gsar                                  on 1998/05/27  16:18:30
-        Log: add AS patch#22 (fix to make die_exit.t pass)
-     Branch: asperl
-           ! win32/runperl.c
-____________________________________________________________________________
-[  1036] By: gsar                                  on 1998/05/27  12:50:34
-        Log: add AS patch#21 (misc. fixes)
-     Branch: asperl
-	   ! ObjXSub.h lib/ExtUtils/MM_Unix.pm objpp.h perl.h
-	   ! win32/GenCAPI.pl win32/Makefile win32/makefile.mk
-           ! win32/win32.c win32/win32sck.c
-____________________________________________________________________________
-[  1035] By: gsar                                  on 1998/05/26  17:26:17
-        Log: more changes to satisfy non-debug VC build (C-API doesn't
-             build, and the testsuite still won't run)
-     Branch: asperl
-	   ! ObjXSub.h deb.c dump.c ext/POSIX/POSIX.xs globals.c proto.h
-           ! regcomp.c run.c scope.c sv.c util.c win32/GenCAPI.pl
-____________________________________________________________________________
-[  1034] By: gsar                                  on 1998/05/26  17:20:22
-        Log: remove doubled hunk (perforce auto-integrate oddity)
-     Branch: win32/perl
-           ! pod/perldiag.pod
-____________________________________________________________________________
-[  1033] By: gsar                                  on 1998/05/26  13:39:14
-        Log: tweaks to make it build with the Borland compiler.  Won't run
-             testsuite because @INC intuition from location of perlcore.dll seems
-             to be broken.  Also, system() and qx// seem broken as well.
-     Branch: asperl
-	   ! ObjXSub.h doio.c embedvar.h ext/POSIX/POSIX.xs interp.sym
-	   ! intrpvar.h objpp.h perl.c perl.h perlvars.h proto.h regcomp.c
-           ! regexec.c toke.c
-____________________________________________________________________________
-[  1032] By: gsar                                  on 1998/05/24  23:13:05
-        Log: tweak Benchmark.pm to restore old timestr() behavior--show wall secs
-     Branch: win32/perl
-           ! lib/Benchmark.pm
-____________________________________________________________________________
-[  1031] By: gsar                                  on 1998/05/24  05:36:44
-        Log: tweak makefiles
-     Branch: asperl
-           ! win32/Makefile win32/makefile.mk
-____________________________________________________________________________
-[  1030] By: gsar                                  on 1998/05/23  18:58:23
-        Log: merge changes#1016,1018 from maintbranch (1017 is n/a)
-     Branch: win32/perl
-           ! pp_sys.c t/op/die.t
-____________________________________________________________________________
-[  1029] By: gsar                                  on 1998/05/23  18:55:13
-        Log: merge change#1015 from maintbranch (must revisit 1014 later, is
-             incomplete)
-     Branch: win32/perl
-           ! embed.h global.sym op.c pp.c proto.h sv.c
-____________________________________________________________________________
-[  1028] By: gsar                                  on 1998/05/23  18:25:14
-        Log: merge change#1013 from maintbranch (1012 is n/a)
-     Branch: win32/perl
-           ! toke.c
-____________________________________________________________________________
-[  1027] By: gsar                                  on 1998/05/23  18:02:21
-        Log: merge change#1011 from maintbranch
-     Branch: win32/perl
-	   ! perl.c pod/perldiag.pod pod/perlfunc.pod pp_ctl.c
-           ! utils/perlbug.PL
-____________________________________________________________________________
-[  1026] By: nick                                  on 1998/05/23  08:45:04
-        Log: Ids of msgs and sems can be zero, so change || die to a defined() test
-     Branch: win32/perl
-           ! t/op/ipcmsg.t t/op/ipcsem.t
-____________________________________________________________________________
-[  1025] By: nick                                  on 1998/05/23  08:36:36
-        Log: Resolve win32 into ansiperl
-     Branch: ansiperl
-          +> t/op/die.t
-          !> (integrate 42 files)
-____________________________________________________________________________
-[  1024] By: gsar                                  on 1998/05/21  21:11:12
-        Log: more mingw32 tweaks
-     Branch: win32/perl
-           ! ext/POSIX/POSIX.xs t/pragma/locale.t
-____________________________________________________________________________
-[  1023] By: gsar                                  on 1998/05/21  19:15:02
-        Log: fix problematic change#965 from maintbranch
-             Message-Id: <199805162145.RAA02552@monk.mps.ohio-state.edu>
-             Date:    Sat, 16 May 1998 17:45:22 EDT
-             From:    Ilya Zakharevich 
-             Subject: Re: Not OK (after all) : perl 5.00404 +MAINT_TRIAL_3 on sun4-solaris 2.5
-     Branch: win32/perl
-           ! gv.c op.c t/comp/proto.t
-____________________________________________________________________________
-[  1022] By: gsar                                  on 1998/05/21  01:37:04
-        Log: fix POSIX for mingw32
-     Branch: win32/perl
-           ! ext/POSIX/POSIX.xs win32/config.gc win32/config_H.gc
-____________________________________________________________________________
-[  1021] By: gsar                                  on 1998/05/20  15:02:21
-        Log: remove strupr() from perl.c
-     Branch: win32/perl
-           ! perl.c
-____________________________________________________________________________
-[  1020] By: TimBunce                              on 1998/05/19  22:41:40
-        Log: Title:  "fix up descrepancy in h2ph test"
-             From:  Tim Bunce
-             Files:  t/lib/h2ph.pht
-     Branch: maint-5.004/perl
-           ! t/lib/h2ph.pht
-____________________________________________________________________________
-[  1019] By: TimBunce                              on 1998/05/19  22:17:15
-        Log: Title:  "add a test to check return value from successful s/// (there was none!)"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805161759.NAA12995@aatma.engin.umich.edu>
-             Files:  t/op/subst.t
-             
-             Title:  "fix up descrepancy in h2ph test"
-             From:  Tim Bunce
-             Files:  t/lib/h2ph.t
-     Branch: maint-5.004/perl
-           ! t/lib/h2ph.t t/op/subst.t
-____________________________________________________________________________
-[  1018] By: TimBunce                              on 1998/05/19  21:56:32
-        Log: Title:  "fix mem leak and core dump from change 1016"
-             From:  Tim Bunce
-             Files:  pp_sys.c
-     Branch: maint-5.004/perl
-           ! pp_sys.c
-____________________________________________________________________________
-[  1017] By: TimBunce                              on 1998/05/19  21:26:03
-        Log: Title:  "qsort, Win32 "POSIX" plus other devel changes for patch-compatibility"
-             From:  Gurusamy Sarathy 
-             Files:  MANIFEST cflags.SH pod/perlembed.pod pod/perlfunc.pod
-             pod/perlguts.pod pod/perlref.pod pod/perlrun.pod
-             pod/perlxstut.pod av.h embed.h hv.h op.h perl.h pp.h
-             proto.h Todo av.c cygwin32/perlgcc cygwin32/perlld deb.c
-             doio.c doop.c ext/ODBM_File/ODBM_File.xs
-             ext/POSIX/Makefile.PL ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs
-             gv.c hv.c interp.sym lib/AutoSplit.pm lib/Cwd.pm
-             lib/FindBin.pm lib/strict.pm lib/ExtUtils/Command.pm
-             lib/ExtUtils/Liblist.pm lib/ExtUtils/MakeMaker.pm
-             lib/ExtUtils/Manifest.pm lib/File/Basename.pm
-             lib/File/Find.pm lib/File/Path.pm lib/Getopt/Long.pm
-             lib/Getopt/Std.pm lib/Net/Ping.pm lib/Pod/Html.pm
-             lib/Pod/Text.pm lib/Term/Cap.pm lib/Test/Harness.pm mg.c
-             op.c perl.c pod/pod2latex.PL pod/pod2man.PL pp.c pp_ctl.c
-             pp_hot.c pp_sys.c scope.c sv.c t/lib/posix.t
-             t/pragma/locale.t utils/perldoc.PL win32/win32.h toke.c
-             universal.c util.c win32/Makefile win32/config_H.bc
-             win32/config_H.vc win32/dl_win32.xs win32/makedef.pl
-             win32/makefile.mk win32/perlglob.c win32/runperl.c
-             win32/win32.c win32/win32sck.c x2p/s2p.PL
-     Branch: maint-5.004/perl
-	   ! MANIFEST Todo av.c av.h cflags.SH cygwin32/perlgcc
-	   ! cygwin32/perlld deb.c doio.c doop.c embed.h
-	   ! ext/ODBM_File/ODBM_File.xs ext/POSIX/Makefile.PL
-	   ! ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs gv.c hv.c hv.h
-	   ! interp.sym lib/AutoSplit.pm lib/Cwd.pm lib/ExtUtils/Command.pm
-	   ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MakeMaker.pm
-	   ! lib/ExtUtils/Manifest.pm lib/File/Basename.pm lib/File/Find.pm
-	   ! lib/File/Path.pm lib/FindBin.pm lib/Getopt/Long.pm
-	   ! lib/Getopt/Std.pm lib/Net/Ping.pm lib/Pod/Html.pm
-	   ! lib/Pod/Text.pm lib/Term/Cap.pm lib/Test/Harness.pm
-	   ! lib/strict.pm mg.c op.c op.h perl.c perl.h pod/perlembed.pod
-	   ! pod/perlfunc.pod pod/perlguts.pod pod/perlref.pod
-	   ! pod/perlrun.pod pod/perlxstut.pod pod/pod2latex.PL
-	   ! pod/pod2man.PL pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c proto.h
-	   ! scope.c sv.c t/lib/posix.t t/pragma/locale.t toke.c
-	   ! universal.c util.c utils/perldoc.PL win32/Makefile
-	   ! win32/config_H.bc win32/config_H.vc win32/dl_win32.xs
-	   ! win32/makedef.pl win32/makefile.mk win32/perlglob.c
-	   ! win32/runperl.c win32/win32.c win32/win32.h win32/win32sck.c
-           ! x2p/s2p.PL
-____________________________________________________________________________
-[  1016] By: TimBunce                              on 1998/05/19  20:37:42
-        Log: Title:  "eval { die $obj }; die; calls $obj->PROPAGATE"
-             From:  Graham Barr 
-             Msg-ID:  <3561D147.7F3E0C88@ti.com>
-             Files:  pp_sys.c t/op/die.t
-     Branch: maint-5.004/perl
-           ! pp_sys.c t/op/die.t
-____________________________________________________________________________
-[  1015] By: TimBunce                              on 1998/05/19  20:07:01
-        Log: Title:  "loosen const sub re-defined warnings"
-             From:  Doug MacEachern 
-             Msg-ID:  <355F713B.6A4C0F04@pobox.com>
-             Files:  proto.h global.sym op.c pp.c sv.c
-     Branch: maint-5.004/perl
-           ! global.sym op.c pp.c proto.h sv.c
-____________________________________________________________________________
-[  1014] By: TimBunce                              on 1998/05/19  19:48:18
-        Log: Title:  "s/FORMLINE/FORMAT/ in sv.c"
-             From:  Hugo van der Sanden 
-             Msg-ID:  
-             Files:  sv.c
-             
-             Title:  "Further h2ph patches (including a test suite)"
-             From:  Billy 
-             Msg-ID:  
-             Files:  MANIFEST t/lib/h2ph.h t/lib/h2ph.pht t/lib/h2ph.t utils/h2ph.PL
-     Branch: maint-5.004/perl
-           + t/lib/h2ph.h t/lib/h2ph.pht t/lib/h2ph.t
-           ! MANIFEST sv.c utils/h2ph.PL
-____________________________________________________________________________
-[  1013] By: TimBunce                              on 1998/05/19  19:14:13
-        Log: Title:  "Remove change 673 (Allow empty BLOCK in code)"
-             From:  Gurusamy Sarathy , Ilya Zakharevich
-             
-             Msg-ID:  <199805151857.OAA29586@monk.mps.ohio-state.edu>,
-             <199805151931.PAA23086@aatma.engin.umich.edu>,
-             <19980129002112Z13378-6931+226@scapa.cs.ualberta.ca>
-             Files:  toke.c
-     Branch: maint-5.004/perl
            ! toke.c
 ____________________________________________________________________________
-[  1012] By: TimBunce                              on 1998/05/19  19:03:32
-        Log: Title:  "Further SysV sem/msg fixes and removal of non-portable tests"
-             From:  Andy Dougherty , Jarkko Hietaniemi
-             
-             Msg-ID:  <199805182028.XAA15717@alpha.hut.fi>,
-             
-             Files:  MANIFEST Configure config_h.SH perl.h doio.c t/op/ipcmsg.t
-             t/op/ipcsem.t
-     Branch: maint-5.004/perl
-	   ! Configure MANIFEST config_h.SH doio.c perl.h t/op/ipcmsg.t
-           ! t/op/ipcsem.t
-____________________________________________________________________________
-[  1011] By: TimBunce                              on 1998/05/19  17:55:38
-        Log: Title:  "interp.sym is missing C after -e fix"
-             From:  jan.dubois@ibm.net (Jan Dubois)
-             Msg-ID:  <355d460d.7621669@smtp1.ibm.net>
-             Files:  embed.h interp.sym
-             
-             Title:  "Undo changed error message which breaks Tk"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805161557.LAA08106@aatma.engin.umich.edu>
-             Files:  pp_ctl.c
-             
-             Title:  "Minor fixups to new -e script code"
-             From:  Tim Bunce
-             Files:  perl.c
-             
-             Title:  "Remove old diags not relevant after -e fix"
-             From:  Andy Dougherty , Gurusamy Sarathy
-             , Tim.Bunce@ig.co.uk (Tim Bunce)
-             Msg-ID:  <199805172143.RAA07896@aatma.engin.umich.edu>,
-             <199805181335.OAA07008@toad.ig.co.uk>,
-             
-             Files:  pod/perldiag.pod
-             
-             Title:  "more examples for vec()"
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod
-             
-             Title:  ""make ok" (perlbug -ok) should not be interactive"
-             From:  Hugo van der Sanden , Jarkko Hietaniemi
-             
-             Msg-ID:  <199805160942.MAA20171@alpha.hut.fi>,
-             
-             Files:  utils/perlbug.PL
-     Branch: maint-5.004/perl
-	   ! embed.h interp.sym perl.c pod/perldiag.pod pod/perlfunc.pod
-           ! pp_ctl.c utils/perlbug.PL
-____________________________________________________________________________
-[  1010] By: gsar                                  on 1998/05/18  09:40:58
-        Log: integrate mainline changes (untested)
-     Branch: asperl
-	  +> Porting/Contract Porting/patching.pod README.beos beos/nm.c
-	  +> ext/DynaLoader/DynaLoader.pm.PL ext/POSIX/hints/bsdos.pl
-	  +> ext/POSIX/hints/freebsd.pl ext/POSIX/hints/netbsd.pl
-	  +> ext/POSIX/hints/openbsd.pl hints/beos.sh hints/openbsd.sh
-	  +> pod/perldelta4.pod t/op/defins.t t/op/die.t t/op/die_exit.t
-          +> t/op/ipcmsg.t t/op/ipcsem.t t/op/pos.t utils/perlcc.PL
-           - ext/DynaLoader/DynaLoader.pm
-           ! win32/win32.c
-          !> (integrate 234 files)
-____________________________________________________________________________
-[  1009] By: gsar                                  on 1998/05/18  07:51:19
-        Log: more whitespace tweaks from maintbranch
-     Branch: win32/perl
-           ! av.c perl.c pp_ctl.c pp_sys.c toke.c
-____________________________________________________________________________
-[  1008] By: gsar                                  on 1998/05/17  22:37:20
-        Log: sundry whitespace cleanups from maintbranch
-     Branch: win32/perl
-           ! Porting/Contract XSUB.h av.c gv.c mg.c perl.c
-____________________________________________________________________________
-[  1007] By: gsar                                  on 1998/05/16  21:59:46
-        Log: integrate mainline
-     Branch: win32/perl
-	  !> INSTALL doio.c lib/strict.pm perl.c perl.h pod/perldebug.pod
-          !> t/op/ipcmsg.t t/op/ipcsem.t
-____________________________________________________________________________
-[  1006] By: gsar                                  on 1998/05/16  21:54:23
-        Log: merge changes#996,998,999 from maintbranch
-     Branch: win32/perl
-           ! Changes5.004 Porting/makerel t/base/lex.t toke.c
-____________________________________________________________________________
-[  1005] By: gsar                                  on 1998/05/16  21:49:47
-        Log: merge change#995 from maintbranch, tweak interp.sym and
-             run embed.pl
-     Branch: win32/perl
-           ! embedvar.h interp.sym intrpvar.h perl.c
-____________________________________________________________________________
-[  1004] By: gsar                                  on 1998/05/16  21:27:18
-        Log: merge changes#989,990,992 from maintbranch
-     Branch: win32/perl
-           + t/op/die.t
-           ! MANIFEST installperl pod/perldiag.pod pp_ctl.c t/op/ipcmsg.t
-____________________________________________________________________________
-[  1003] By: gsar                                  on 1998/05/16  21:16:47
-        Log: sync config*.gc with others, and verify that nothing from
-             change#986 needs to be merged
-     Branch: win32/perl
-           ! win32/config.gc win32/config_H.gc
-____________________________________________________________________________
-[  1002] By: gsar                                  on 1998/05/16  21:04:04
-        Log: merge change#985 from maintbranch
-     Branch: win32/perl
-	   ! lib/AutoSplit.pm lib/ExtUtils/Manifest.pm pp_ctl.c pp_sys.c
-           ! util.c
-____________________________________________________________________________
-[  1001] By: gsar                                  on 1998/05/16  17:53:16
-        Log: add a test to check return value from successful s/// (there was none!)
-     Branch: win32/perl
-           ! t/op/subst.t
-____________________________________________________________________________
-[  1000] By: gsar                                  on 1998/05/16  17:42:34
-        Log: fix misplaced SPAGAIN that caused successful s/// to fail to
-             return a value on the stack
-     Branch: win32/perl
-           ! pp_hot.c
-____________________________________________________________________________
-[   999] By: TimBunce                              on 1998/05/15  23:04:30
-        Log: Title:  "Update Porting/makerel script for perforce dir structure"
-             From:  Tim Bunce
-             Files:  Porting/makerel
-     Branch: maint-5.004/perl
-           ! Porting/makerel
+[  3338] By: jhi                                   on 1999/05/08  22:40:29
+        Log: Remove CONFIG item, add Digital UNIX 'ld' bug.
+     Branch: cfgperl
+           ! INSTALL
 ____________________________________________________________________________
-[   998] By: TimBunce                              on 1998/05/15  22:49:55
-        Log: Title:  "Updated Changes file for trial 3"
-             From:  Tim Bunce
-             Files:  Changes
-     Branch: maint-5.004/perl
-           ! Changes
+[  3337] By: jhi                                   on 1999/05/08  22:22:26
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> pod/perldbmfilter.pod t/io/open.t t/lib/tie-stdhandle.t
+          !> (integrate 54 files)
 ____________________________________________________________________________
-[   997] By: gsar                                  on 1998/05/15  22:21:41
-        Log: merge changes#982,984 from maintbranch
-     Branch: win32/perl
-	   ! gv.c lib/English.pm perl.c pod/perlfunc.pod t/io/pipe.t
-           ! t/op/exec.t t/op/ipcsem.t util.c utils/h2ph.PL utils/h2xs.PL
-____________________________________________________________________________
-[   996] By: TimBunce                              on 1998/05/15  22:19:32
-        Log: Title:  "Negative array subscript unrecognized in regex"
-             From:  Mark-Jason Dominus ,
-             h.sanden@elsevier.nl (Hugo van der Sanden)
-             Msg-ID:  <19980425040819.13828.qmail@plover.com>,
-             <199805151514.RAA04121@dorlas.elsevier.nl>
-             Files:  t/base/lex.t toke.c
-             
-             Title:  "Remove e_fp from toke.c after change 955"
-             From:  Tim Bunce
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! t/base/lex.t toke.c
+[  3336] By: gsar                                  on 1999/05/08  21:48:22
+        Log: make perldoc -f grok nested =items
+     Branch: perl
+           ! utils/perldoc.PL
 ____________________________________________________________________________
-[   995] By: TimBunce                              on 1998/05/15  22:08:32
-        Log: Title:  "Fix -e security hole (no longer uses temp file)"
-             From:  Tim Bunce
-             Files:  embed.h perl.h perl.c
-     Branch: maint-5.004/perl
-           ! embed.h perl.c perl.h
+[  3335] By: gsar                                  on 1999/05/08  19:48:11
+        Log: allow AV/HV dereferences on pseudohashes ($ph->{foo}[1], etc.)
+     Branch: perl
+           ! op.c t/lib/fields.t
 ____________________________________________________________________________
-[   994] By: gsar                                  on 1998/05/15  22:08:17
-        Log: merge change#981 from maintbranch, add XXX comment about
-             supporting %! for usethreads case
-     Branch: win32/perl
-           ! gv.c op.c
+[  3334] By: gsar                                  on 1999/05/08  19:09:41
+        Log: update test totals
+     Branch: perl
+           ! t/lib/bigintpm.t
 ____________________________________________________________________________
-[   992] By: TimBunce                              on 1998/05/15  22:01:32
-        Log: Title:  "install non-backwards compatible .pm files into archlib"
-             From:  Tim Bunce
-             Files:  installperl
-             
-             Title:  "revert "Can't locate" message to original for maintenance"
-             From:  Tim Bunce
-             Msg-ID:  <199804240047.SAA24155@den-mdev1.co.csgsystems.com>
-             Files:  pod/perldiag.pod pp_ctl.c
-     Branch: maint-5.004/perl
-           ! installperl pod/perldiag.pod pp_ctl.c
-____________________________________________________________________________
-[   991] By: gsar                                  on 1998/05/15  21:35:00
-        Log: reverse integrate ansiperl (all except the
-             C stuff, and the duplicate hunks)
-             i.e. prototype fixes, perldoc.PL enhancements, and s/comment/comment_t/g
-     Branch: win32/perl
-	  !> bytecode.h byterun.c cv.h ext/attrs/attrs.pm
-	  !> ext/attrs/attrs.xs pod/perlop.pod pp_hot.c sv.c toke.c
-          !> utils/perldoc.PL
-____________________________________________________________________________
-[   990] By: TimBunce                              on 1998/05/15  16:54:18
-        Log: Title:  "Add tests for die $ref"
-             From:  Graham Barr 
-             Msg-ID:  <355C6297.121B576B@ti.com>
-             Files:  MANIFEST t/op/die.t
-     Branch: maint-5.004/perl
-           + t/op/die.t
-           ! MANIFEST
+[  3333] By: gsar                                  on 1999/05/08  16:56:02
+        Log: mention unpack('pP',...) footshot (from Albert Dvornik )
+     Branch: perl
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   989] By: TimBunce                              on 1998/05/15  16:38:19
-        Log: Title:  "Fix t/op/ipcmsg.t for Digital UNIX"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199805151337.QAA01174@alpha.hut.fi>
-             Files:  t/op/ipcmsg.t
-     Branch: maint-5.004/perl
-           ! t/op/ipcmsg.t
+[  3332] By: gsar                                  on 1999/05/08  16:46:44
+        Log: applied suggested patch, added tests
+             From: William Mann 
+             Date: Mon, 12 Apr 1999 12:25:22 -0400 (EDT)
+             Message-Id: <199904121625.MAA00983@hwsrv1.avici.com>
+             Subject: BigInt.pm extensions for logical operations
+     Branch: perl
+           ! lib/Math/BigInt.pm pod/perldelta.pod t/lib/bigintpm.t
 ____________________________________________________________________________
-[   988] By: mbeattie                              on 1998/05/15  16:28:08
-        Log: Patch from Sarathy to fix up win32 integration. Patch from Jarkko
-             (manually applied and tweaked) to fix up SysV IPC semaphores for
-             Solaris and Linux (pre-glibc and glibc). Fix up t/op/ipcmsg.t and
-             t/op/ipcsem.t for platforms which wanted to skip test. Completely
-             disable ipcsem.t since it doesn't seem to work properly even when
-             not skipped. This is _65.
+[  3331] By: gsar                                  on 1999/05/08  16:09:33
+        Log: avoid temporary files named 'tmp'
      Branch: perl
-	   ! INSTALL doio.c lib/strict.pm perl.c perl.h pod/perldebug.pod
-           ! t/op/ipcmsg.t t/op/ipcsem.t
+           ! Makefile.SH pp.c
 ____________________________________________________________________________
-[   987] By: nick                                  on 1998/05/15  16:03:35
-        Log: Integrate win32
-     Branch: ansiperl
-	  +> Porting/Contract Porting/patching.pod README.beos beos/nm.c
-	  +> ext/DynaLoader/DynaLoader.pm.PL ext/POSIX/hints/bsdos.pl
-	  +> ext/POSIX/hints/freebsd.pl ext/POSIX/hints/netbsd.pl
-	  +> ext/POSIX/hints/openbsd.pl hints/beos.sh hints/openbsd.sh
-	  +> pod/perldelta4.pod t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t
-          +> t/op/pos.t utils/perlcc.PL
-           - ext/DynaLoader/DynaLoader.pm
-          !> (integrate 208 files)
-____________________________________________________________________________
-[   986] By: TimBunce                              on 1998/05/15  15:28:45
-        Log: Title:  "Patches for BeOS port of Perl, courtesy of Tom Spindler"
-             From:  Jarkko Hietaniemi , Tom Spindler
-             Msg-ID:  <199805042312.CAA09025@alpha.hut.fi>
-             Files:  MANIFEST Configure config_h.SH hints/beos.sh pod/perlfunc.pod
-             Porting/Glossary README.beos beos/nm.c lib/Term/ReadLine.pm
-             plan9/config.plan9 pp_sys.c t/io/pipe.t vms/config.vms
-             win32/config.bc win32/config.vc win32/config_H.bc
-             win32/config_H.vc
-     Branch: maint-5.004/perl
-           + README.beos beos/nm.c hints/beos.sh
-	   ! Configure MANIFEST Porting/Glossary config_h.SH
-	   ! lib/Term/ReadLine.pm plan9/config.plan9 pod/perlfunc.pod
-	   ! pp_sys.c t/io/pipe.t vms/config.vms win32/config.bc
-           ! win32/config.vc win32/config_H.bc win32/config_H.vc
-____________________________________________________________________________
-[   985] By: TimBunce                              on 1998/05/15  15:02:43
-        Log: Title:  "allow die $ref"
-             From:  Graham Barr , Tim.Bunce@ig.co.uk (Tim Bunce)
-             Msg-ID:  <199805151351.OAA01985@toad.ig.co.uk>, <355C3E67.AF25B9F7@ti.com>
-             Files:  pp_ctl.c pp_sys.c util.c
-             
-             Title:  "ExtUtils::Manifest could truncate files during "make dist""
-             From:  "James E Jurach Jr." ,
-             koenig@kulturbox.de (Andreas J. Koenig)
-             Msg-ID:  <199805111048.MAA02573@arrakis.int.ein.cz>,
-             
-             Files:  lib/ExtUtils/Manifest.pm
-             
-             Title:  "Autosplit doesn't like upper case letters in sub names on VMS"
-             From:  Dan Sugalski 
-             Msg-ID:  <3.0.5.32.19980330152332.009cb130@osshe.edu>
-             Files:  lib/AutoSplit.pm
-             
-             Title:  "AutoSplit/AutoLoaded subs: give useful line numbers in warnings etc"
-             From:  "Jesse N. Glick" , koenig@anna.mind.de (Andreas
-             J. Koenig), larry@wall.org (Larry Wall)
-             Msg-ID:  <199709292015.NAA09627@wall.org>, <342FCDDF.23534195@sig.bsh.com>,
-             ,
-             
-             Files:  lib/AutoSplit.pm
-     Branch: maint-5.004/perl
-	   ! lib/AutoSplit.pm lib/ExtUtils/Manifest.pm pp_ctl.c pp_sys.c
-           ! util.c
+[  3330] By: nick                                  on 1999/05/08  14:16:30
+        Log: Implement OPEN, EOF, SEEK, TELL, BINMODE and FILENO as TIEHANDLE methods.
+             Provide Tie::StdHandle
+             Basic update of docs.
+     Branch: perl
+           + t/lib/tie-stdhandle.t
+           ! lib/Tie/Handle.pm pod/perltie.pod pp_sys.c
 ____________________________________________________________________________
-[   984] By: TimBunce                              on 1998/05/15  14:18:52
-        Log: ------  CORE LANGUAGE  ------
-             
-             Title:  "Fix close pipe returning status from wrong child"
-             From:  "M.J.T. Guy" , kstar@chapin.edu@ig.co.uk ()
-             Msg-ID:  <199805142313.TAA02684@chapin.edu>,
-             
-             Files:  t/io/pipe.t util.c
-             
-             Title:  "Avoid English.pm triggering load of Errno.pm"
-             From:  Tim Bunce
-             Files:  gv.c lib/English.pm
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "Document child exit cause a parent sleep to end early"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod
-             
-             ------  EXTENSIONS  ------
-             
-             Title:  "BSD Platforms need STRUCT_TM_HASZONE for POSIX"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  MANIFEST ext/POSIX/hints/bsdos.pl ext/POSIX/hints/freebsd.pl
-             ext/POSIX/hints/netbsd.pl ext/POSIX/hints/openbsd.pl
-             
-             Title:  "MM_VMS.pm fixes for building external library"
-             From:  Dan Sugalski 
-             Msg-ID:  <3.0.5.32.19980511160542.009dd480@ous.edu>
-             Files:  lib/ExtUtils/MM_VMS.pm
-             
-             Title:  "Appease picky DEC compiler in POSIX.xs"
-             From:  Dan Sugalski 
-             Msg-ID:  <3.0.5.32.19980511161434.009f8bb0@ous.edu>
-             Files:  ext/POSIX/POSIX.xs
-             
-             ------  TESTS  ------
-             
-             Title:  "Fix constant detection in t/op/ipcsem.t for Digit UNIX"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199805121212.PAA15351@alpha.hut.fi>
-             Files:  t/op/ipcsem.t
-             
-             Title:  "Fix doc bug for system() return value"
-             From:  Daniel Grisinger 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod t/op/exec.t
-             
-             ------  UTILITIES  ------
-             
-             Title:  "Avoid possible constant autoload loop"
-             From:  "M.J.T. Guy" , Graham Barr , Ilya
-             Zakharevich 
-             Msg-ID:  <199805141910.PAA26994@monk.mps.ohio-state.edu>,
-             <355B475A.C5AD4B90@ti.com>,
-             
-             Files:  utils/h2xs.PL
-             
-             Title:  "Further improvements to h2ph.PL"
-             From:  kstar@chapin.edu
-             Msg-ID:  <199805130241.WAA25459@chapin.edu>
-             Files:  utils/h2ph.PL
-     Branch: maint-5.004/perl
-	   + ext/POSIX/hints/bsdos.pl ext/POSIX/hints/freebsd.pl
-           + ext/POSIX/hints/netbsd.pl ext/POSIX/hints/openbsd.pl
-	   ! MANIFEST ext/POSIX/POSIX.xs gv.c lib/English.pm
-	   ! lib/ExtUtils/MM_VMS.pm pod/perlfunc.pod t/io/pipe.t
-           ! t/op/exec.t t/op/ipcsem.t util.c utils/h2ph.PL utils/h2xs.PL
-
-----------------
-Version 5.004_64
-----------------
-
+[  3329] By: nick                                  on 1999/05/08  12:03:45
+        Log: Tweaks to open(my $fh,...) stuff
+     Branch: perl
+           ! op.c pp.c pp_sys.c t/io/open.t
+____________________________________________________________________________
+[  3328] By: nick                                  on 1999/05/08  11:18:42
+        Log: Bring SDBM_File.xs into line with new typemap
+     Branch: perl
+           ! ext/SDBM_File/SDBM_File.xs
 ____________________________________________________________________________
-[   983] By: mbeattie                              on 1998/05/15  14:04:17
-        Log: Integrate win32 branch into mainline.
+[  3327] By: gsar                                  on 1999/05/08  00:07:11
+        Log: add test case for AUTOLOAD reentrancy fix in change#3279
      Branch: perl
-          +> Porting/patching.pod t/op/defins.t
-          !> (integrate 107 files)
+           ! t/lib/autoloader.t
 ____________________________________________________________________________
-[   982] By: TimBunce                              on 1998/05/15  12:33:26
-        Log: Title:  "comment init_postdump_symbols issues"
-             From:  Tim Bunce
-             Files:  perl.c
+[  3326] By: nick                                  on 1999/05/07  21:24:50
+        Log: Implement open( my $fh, ...) and similar.
+             Set flag in op.c for "constructor ops"
+             In pp_rv2gv, if flag is set and arg is PADSV and uninit
+             vivify as reference to a detached GV.
+             (Name of GV is the pad name.)
+             This scheme should "just work" for pipe/socket etc. too.
              
-             Title:  "Improve sort docs re SUBNAME"
-             From:  circle@azstarnet.com
-             Msg-ID:  <199804281828.LAA22737@andromeda.azstarnet.com>
-             Files:  pod/perlfunc.pod
-     Branch: maint-5.004/perl
-           ! perl.c pod/perlfunc.pod
+             #if 0 out the open(FH,undef) for now.
+             Change t/io/open.t to test open(my $fh,...)
+     Branch: perl
+           ! op.c pp.c pp_sys.c t/io/open.t
 ____________________________________________________________________________
-[   981] By: TimBunce                              on 1998/05/15  11:47:28
-        Log: Title:  "Add hook to tie %! to external Errno.pm module (not included)"
-             From:  Graham Barr 
-             Msg-ID:  <355080CD.1111BC81@ti.com>
-             Files:  gv.c
-     Branch: maint-5.004/perl
-           ! gv.c
+[  3325] By: nick                                  on 1999/05/07  21:18:42
+        Log: Correct SvLEN vs SvCUR  which leads to odd "chunk" vs "line" in mess().
+     Branch: perl
+           ! util.c
 ____________________________________________________________________________
-[   980] By: gsar                                  on 1998/05/15  06:16:13
-        Log: add doc for C<+{}> vs. C<{;}> disambiguation
-     Branch: win32/perl
-           ! pod/perlref.pod
+[  3324] By: gsar                                  on 1999/05/07  20:28:31
+        Log: avoid using PL_sv_mutex in condpair_magic() (avoids hangs when
+             intervening code has to allocate SVs)
+     Branch: perl
+           ! util.c
 ____________________________________________________________________________
-[   979] By: gsar                                  on 1998/05/15  04:59:47
-        Log: tweaks to win32 makefiles.  This version builds and passes all
-             tests on Solaris/gcc, win32/[bv]c.  Looks all set to go.
-     Branch: win32/perl
-           ! win32/Makefile win32/makefile.mk
+[  3323] By: gsar                                  on 1999/05/07  19:45:08
+        Log: allow line numbers to show in diagnostics during global destruction
+     Branch: perl
+           ! util.c
 ____________________________________________________________________________
-[   978] By: gsar                                  on 1998/05/15  02:41:58
-        Log: merge changes#922,944,949,965,970 from maintbranch
-     Branch: win32/perl
-           + Porting/patching.pod t/op/defins.t
-	   ! MANIFEST Porting/makerel ext/POSIX/POSIX.pod gv.c gv.h hv.c
-	   ! lib/File/Find.pm op.c pod/Makefile pod/perlfunc.pod
-	   ! pod/perlguts.pod pod/perlop.pod pod/pod2man.PL
-	   ! t/lib/filefind.t t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t
-           ! utils/perlbug.PL
+[  3322] By: gsar                                  on 1999/05/07  09:38:11
+        Log: From: Dan Sugalski 
+             Date: Fri, 09 Apr 1999 16:16:39 -0700
+             Message-Id: <3.0.6.32.19990409161639.02ea1050@ous.edu>
+             Subject: [PATCH 5.005_03]Bug in MM_VMS.PM
+     Branch: perl
+           ! lib/ExtUtils/MM_VMS.pm
 ____________________________________________________________________________
-[   977] By: gsar                                  on 1998/05/15  02:15:25
-        Log: merge changes#906,907,909,910 from maintbranch
-     Branch: win32/perl
-	   ! MANIFEST doio.c doop.c embed.h embedvar.h global.sym
-	   ! keywords.h lib/Carp.pm lib/File/Basename.pm mg.c opcode.h
-	   ! perl.c perl.h pod/perldiag.pod pp.c pp_hot.c proto.h sv.c
-           ! util.c
+[  3321] By: gsar                                  on 1999/05/07  09:08:23
+        Log: From: kwzh@gnu.org (Karl Heuer)
+             Date: Wed, 7 Apr 1999 23:58:58 -0400
+             Message-Id: <199904080358.XAA01192@mescaline.gnu.org>
+             Subject: [perl-5.005.02] detect lack of /dev/tty
+     Branch: perl
+           ! Makefile.SH
 ____________________________________________________________________________
-[   976] By: gsar                                  on 1998/05/15  01:34:53
-        Log: merge change#905 from maintbranch, minor fixes to get
-             clean build+test on Solaris
-     Branch: win32/perl
-	   ! doop.c dump.c embed.h embedvar.h lib/strict.pm mg.c op.h
-	   ! opcode.h pod/perlop.pod pod/perlre.pod pp_ctl.c pp_hot.c
-           ! regcomp.c sv.c t/op/taint.t toke.c
-____________________________________________________________________________
-[   975] By: gsar                                  on 1998/05/14  23:34:26
-        Log: merge change#904 from maintbranch
-     Branch: win32/perl
-	   ! doop.c ext/DynaLoader/dl_aix.xs ext/IO/lib/IO/Socket.pm
-	   ! ext/NDBM_File/NDBM_File.pm lib/strict.pm lib/subs.pm
-	   ! lib/vars.pm op.c perl.c pod/perldiag.pod pod/perlembed.pod
-	   ! pod/perlfunc.pod pod/perlsec.pod pp_ctl.c sv.c utils/h2ph.PL
-           ! vms/descrip.mms
-____________________________________________________________________________
-[   974] By: gsar                                  on 1998/05/14  23:11:05
-        Log: merge change#897 from maintbranch
-     Branch: win32/perl
-	   ! Porting/Contract Todo doio.c emacs/ptags embed.h ext/IO/IO.pm
-	   ! ext/Opcode/Opcode.pm lib/Carp.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/Pod/Html.pm lib/Term/ReadLine.pm lib/chat2.pl opcode.h
-	   ! opcode.pl perl.c pod/perlapio.pod pod/perlcall.pod
-	   ! pod/perldebug.pod pod/perldelta.pod pod/perldelta4.pod
-	   ! pod/perldiag.pod pod/perlembed.pod pod/perlfaq2.pod
-	   ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod
-	   ! pod/perlfaq7.pod pod/perlfaq8.pod pod/perlform.pod
-	   ! pod/perlfunc.pod pod/perlguts.pod pod/perlhist.pod
-	   ! pod/perlipc.pod pod/perllocale.pod pod/perlmodlib.pod
-	   ! pod/perlop.pod pod/perlre.pod pod/perlref.pod pod/perlrun.pod
-	   ! pod/perlstyle.pod pod/perlsub.pod pod/perlsyn.pod
-	   ! pod/perltoot.pod pod/perlvar.pod pod/perlxs.pod pod/pod2man.PL
-	   ! pod/roffitall pp.c pp_sys.c t/TEST t/op/gv.t t/op/hashwarn.t
-	   ! t/op/substr.t vms/vms.c win32/config.bc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.vc win32/win32.c
-           ! x2p/find2perl.PL
+[  3320] By: gsar                                  on 1999/05/07  08:52:14
+        Log: allow distinct prefix for versioned executables
+             From: Roderick Schertler 
+             Date: Wed, 07 Apr 1999 15:34:56 -0400
+             Message-ID: <3003.923513696@eeyore.ibcinc.com>
+             Subject: perl55.00503 -> perl5.00503 patch for installperl
+     Branch: perl
+           ! INSTALL installperl
 ____________________________________________________________________________
-[   973] By: gsar                                  on 1998/05/14  22:24:26
-        Log: integrate mainline
-     Branch: win32/perl
-           + Porting/Contract
-	  +> README.beos beos/nm.c ext/POSIX/hints/bsdos.pl
-	  +> ext/POSIX/hints/freebsd.pl ext/POSIX/hints/netbsd.pl
-	  +> ext/POSIX/hints/openbsd.pl hints/beos.sh pod/perldelta4.pod
-          +> utils/perlcc.PL
-	   ! MANIFEST Todo doio.c emacs/ptags embed.h ext/IO/IO.pm
-	   ! ext/Opcode/Opcode.pm ext/Socket/Socket.xs hints/irix_5.sh
-	   ! hints/netbsd.sh hv.c lib/Benchmark.pm lib/Carp.pm
-	   ! lib/ExtUtils/Install.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/Pod/Html.pm lib/Term/ReadLine.pm lib/chat2.pl opcode.h
-	   ! opcode.pl perl.c perl.h pod/perlapio.pod pod/perlcall.pod
-	   ! pod/perldebug.pod pod/perldelta.pod pod/perldiag.pod
-	   ! pod/perlembed.pod pod/perlfaq2.pod pod/perlfaq3.pod
-	   ! pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfaq7.pod
-	   ! pod/perlfaq8.pod pod/perlform.pod pod/perlfunc.pod
-	   ! pod/perlguts.pod pod/perlhist.pod pod/perlipc.pod
-	   ! pod/perllocale.pod pod/perlmodlib.pod pod/perlop.pod
-	   ! pod/perlre.pod pod/perlref.pod pod/perlrun.pod
-	   ! pod/perlstyle.pod pod/perlsub.pod pod/perlsyn.pod
-	   ! pod/perltoot.pod pod/perlvar.pod pod/perlxs.pod pod/pod2man.PL
-	   ! pod/roffitall pp.c pp_hot.c pp_sys.c sv.c t/TEST t/op/gv.t
-	   ! t/op/hashwarn.t t/op/substr.t vms/vms.c win32/config.bc
-	   ! win32/config.vc win32/config_H.bc win32/config_H.vc
-           ! win32/win32.c x2p/find2perl.PL
-          !> (integrate 59 files)
-____________________________________________________________________________
-[   972] By: nick                                  on 1998/05/14  18:09:01
-        Log: Changes to allow compiler with gcc-2.8.1 in C++ mode,
-             Remove K&R style functions, avoid struct/typedef clash. 
-     Branch: ansiperl
-           ! bytecode.h byterun.c sv.c toke.c
-____________________________________________________________________________
-[   971] By: TimBunce                              on 1998/05/14  16:52:19
-        Log: 
-             Title:  "fix C (pp_refgen fumbles when G_SCALAR, no args)"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805070402.AAA02858@aatma.engin.umich.edu>
-             Files:  pp.c
-     Branch: maint-5.004/perl
-           ! pp.c
+[  3319] By: gsar                                  on 1999/05/07  08:07:02
+        Log: From: Dan Sugalski 
+             Date: Mon, 05 Apr 1999 15:38:42 -0700
+             Message-Id: <3.0.6.32.19990405153842.0367b650@ous.edu>
+             Subject: Re: chomp fails with $/ in fixed-length record mode
+             --
+             From: Roderick Schertler 
+             Date: Tue, 06 Apr 1999 21:11:37 -0400
+             Message-ID: <2795.923447497@eeyore.ibcinc.com>
+             Subject: Re: chomp fails with $/ in fixed-length record mode
+     Branch: perl
+           ! doop.c pod/perlfunc.pod t/op/chop.t
 ____________________________________________________________________________
-[   970] By: TimBunce                              on 1998/05/14  16:18:06
-        Log: 
-             Title:  "perlbug reformatted"
-             From:  Dominic Dunlop , Hugo van der Sanden
-             
-             Msg-ID:  <199805110954.LAA20367@dorlas.elsevier.nl>,
-             ,
-             
-             Files:  utils/perlbug.PL
-     Branch: maint-5.004/perl
-           ! utils/perlbug.PL
+[  3318] By: gsar                                  on 1999/05/07  07:56:35
+        Log: From: Ilya Zakharevich 
+             Date: Tue, 6 Apr 1999 01:40:36 -0400
+             Message-ID: <19990406014035.A1238@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_*] Make % use fmod()
+     Branch: perl
+           ! pp.c t/op/arith.t
 ____________________________________________________________________________
-[   969] By: mbeattie                              on 1998/05/14  16:15:09
-        Log: Integrate win32 branch into mainline
+[  3317] By: gsar                                  on 1999/05/07  04:18:11
+        Log: DBM Filters (via private mail)
+             From: pmarquess@bfsec.bt.co.uk
+             Date: Sun, 18 Apr 1999 21:05:52 +0100
+             Message-Id: <199904182009.NAA19152@activestate.com>
+             Subject: DBM Filters
+     Branch: perl
+           + pod/perldbmfilter.pod
+	   ! MANIFEST ext/DB_File/Changes ext/DB_File/DB_File.pm
+	   ! ext/DB_File/DB_File.xs ext/DB_File/typemap
+	   ! ext/GDBM_File/GDBM_File.pm ext/GDBM_File/GDBM_File.xs
+	   ! ext/GDBM_File/typemap ext/NDBM_File/NDBM_File.pm
+	   ! ext/NDBM_File/NDBM_File.xs ext/NDBM_File/typemap
+	   ! ext/ODBM_File/ODBM_File.pm ext/ODBM_File/ODBM_File.xs
+	   ! ext/ODBM_File/typemap ext/SDBM_File/SDBM_File.pm
+	   ! ext/SDBM_File/SDBM_File.xs ext/SDBM_File/typemap
+	   ! lib/AnyDBM_File.pm pod/Makefile pod/buildtoc pod/perl.pod
+	   ! pod/perldelta.pod t/lib/db-btree.t t/lib/db-hash.t
+	   ! t/lib/db-recno.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t
+           ! t/lib/sdbm.t
+____________________________________________________________________________
+[  3316] By: gsar                                  on 1999/05/07  03:28:53
+        Log: avoid negative return value from Win32::GetTickCount()
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 03 Apr 1999 19:04:18 +0200
+             Message-ID: <37084742.22824479@smtp1.ibm.net>
+             Subject: Re: Win32::GetTickCount
      Branch: perl
-	  +> ext/DynaLoader/DynaLoader.pm.PL hints/openbsd.sh
-          +> t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t t/op/pos.t
-           - ext/DynaLoader/DynaLoader.pm
-          !> (integrate 118 files)
+           ! win32/win32.c
 ____________________________________________________________________________
-[   968] By: mbeattie                              on 1998/05/14  16:05:57
-        Log: Bump patchlevel to 65
+[  3314] By: gsar                                  on 1999/05/06  08:01:23
+        Log: compiler fixes from Vishal Bhatia 
+             Date: Tue, 30 Mar 1999 23:40:34 PST
+             Message-ID: <19990331074034.6117.qmail@hotmail.com>
+             Subject: [PATCH 5.005_56] pp_entersub and pp_leavewrite(CC.pm)
+             --
+             Date: Wed, 07 Apr 1999 00:28:23 -0800
+             Message-ID: 
+             Subject: [PATCH 5.005_56] function prototypes(B.pm)
+             --
+             Date: Thu, 22 Apr 1999 23:40:52 -0700
+             Message-ID: 
+             Subject: [PATCH 5.005_56 ] discarding worthless padsvs
+             --
+             Date: Tue, 27 Apr 1999 01:14:49 PDT
+             Message-ID: <19990427081449.28615.qmail@hotmail.com>
+             Subject: [PATCH 5.005_56] pp_ncmp implementation ( CC.pm)
      Branch: perl
-           ! patchlevel.h
+	   ! ext/B/B.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm t/op/gv.t
+           ! t/op/ref.t
 ____________________________________________________________________________
-[   967] By: mbeattie                              on 1998/05/14  16:05:19
-        Log: Another fixup of MANIFEST
+[  3313] By: jhi                                   on 1999/05/06  07:59:52
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> (integrate 33 files)
+____________________________________________________________________________
+[  3312] By: gsar                                  on 1999/05/06  07:11:50
+        Log: add Ethiopic section to unicode master database (from Ken
+             Whistler )
      Branch: perl
-           ! MANIFEST
+           ! lib/unicode/UnicodeData-Latest.txt
 ____________________________________________________________________________
-[   966] By: mbeattie                              on 1998/05/14  16:02:20
-        Log: Add missing files to MANIFEST
+[  3311] By: gsar                                  on 1999/05/06  05:37:55
+        Log: From: Damon Atkins 
+             Date: Tue, 30 Mar 1999 11:26:11 +1000 (EST)
+             Message-Id: <199903300126.LAA20870@sysmgtdev.nabaus.com.au>
+             Subject: Largefiles for Solaris
      Branch: perl
-           ! MANIFEST
+           ! hints/solaris_2.sh
 ____________________________________________________________________________
-[   965] By: TimBunce                              on 1998/05/14  16:00:11
-        Log: 
-             Title:  "Sub declaration cost reduced from ~500 to ~100 bytes"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199805050607.CAA02050@monk.mps.ohio-state.edu>
-             Files:  gv.h gv.c op.c
-     Branch: maint-5.004/perl
-           ! gv.c gv.h op.c
+[  3310] By: gsar                                  on 1999/05/06  05:14:35
+        Log: emit more accurate diagnostic for syntax errors involving <>
+             within eval""
+     Branch: perl
+           ! toke.c utils/perldoc.PL
 ____________________________________________________________________________
-[   964] By: mbeattie                              on 1998/05/14  15:58:01
-        Log: Subject: [PATCH] Using Getopts::* with strict vars
-             Date: Wed, 29 Apr 1998 22:48:16 -0700 (PDT)
-             From: Tom Phoenix 
+[  3309] By: gsar                                  on 1999/05/06  04:36:31
+        Log: additional test for IPC::Open3 (courtesy RonaldWS@aol.com)
      Branch: perl
-           ! lib/Getopt/Long.pm lib/Getopt/Std.pm lib/strict.pm
+           ! t/lib/open3.t
 ____________________________________________________________________________
-[   963] By: mbeattie                              on 1998/05/14  15:56:53
-        Log: Subject: [ PATCH 5.004_64 ] Integrated regression tests for compiler
-             Date: Wed, 29 Apr 1998 21:02:36 -0600 (MDT)
-             From: epeschko@den-mdev1 (Ed Peschko)
+[  3308] By: gsar                                  on 1999/05/06  03:19:16
+        Log: applied first part of suggested patch (bug described cannot be
+             reproduced any longer, so the second inconclusive part has not
+             been applied)
+             From: Hugo van der Sanden 
+             Date: Sun, 28 Mar 1999 04:51:34 +0100
+             Message-Id: <199903280351.EAA20430@crypt.compulink.co.uk>
+             Subject: [PATCH 5.005_56] Re: A core dump 
      Branch: perl
-           + utils/perlcc.PL
-	   ! MANIFEST Makefile.SH installperl lib/Test/Harness.pm
-           ! pod/Makefile t/TEST t/harness utils/Makefile x2p/Makefile.SH
+           ! toke.c
 ____________________________________________________________________________
-[   962] By: mbeattie                              on 1998/05/14  15:45:28
-        Log: From: Dan Sugalski 
-             Subject: [PATCH 5.004_64] Final (I hope) doc patch for Thread.pm
-             Date: Wed, 08 Apr 1998 17:08:48 -0700
-             Subject: [PATCH 5.004_64] Revised second Thread.PM doc patch
-             Date: Fri, 08 May 1998 10:49:16 -0700
+[  3307] By: gsar                                  on 1999/05/06  01:56:06
+        Log: fix bogus OPf_REF context in C (extension of
+             change#3180)
      Branch: perl
-           ! ext/Thread/Thread.pm
+           ! op.c
 ____________________________________________________________________________
-[   961] By: mbeattie                              on 1998/05/14  15:43:39
-        Log: Subject: Consolidated patch to 5.004_64
-             Date: Wed, 08 Apr 1998 19:44:34 -0400 (EDT)
+[  3306] By: gsar                                  on 1999/05/05  17:17:34
+        Log: applied non-conflicting parts of suggested patch
              From: Charles Bailey 
+             Date: Sat, 27 Mar 1999 00:16:51 -0400 (EDT)
+             Message-id: <01J9AZY8I2PW001O2S@mail.newman.upenn.edu>
+             Subject: [Patch 5.005_56] Revised VMS patch
      Branch: perl
-	   ! ext/B/byteperl.c lib/ExtUtils/MM_Unix.pm
-	   ! lib/ExtUtils/MM_VMS.pm lib/chat2.pl perl.c pod/perlsub.pod
-	   ! vms/config.vms vms/descrip.mms vms/genconfig.pl
-           ! vms/perlvms.pod
+	   ! Changes ext/B/defsubs.h.PL hv.c iperlsys.h perl.c
+           ! pod/perldiag.pod proto.h util.c vms/perlvms.pod vms/vms.c
 ____________________________________________________________________________
-[   960] By: mbeattie                              on 1998/05/14  15:41:41
-        Log: Subject: Re: ANNOUNCE: Perl 5.005b1t3 (a.k.a. perl5.004_64) is available
-             Date: 07 Apr 1998 18:31:21 +0200
-             From: JVromans@Squirrel.nl (Johan Vromans)
+[  3305] By: gsar                                  on 1999/05/05  16:20:19
+        Log: make perldoc use backslashed pathnames within system() on win32
      Branch: perl
-           ! lib/Getopt/Long.pm
+           ! pod/perldiag.pod pod/perlthrtut.pod utils/perldoc.PL
 ____________________________________________________________________________
-[   959] By: mbeattie                              on 1998/05/14  15:39:29
-        Log: From: Jarkko Hietaniemi 
-             Subject: Re: [PATCH] 5.004_04 or 5.004_64: Benchmark.pm: add run-for-some-time 
-             Date: Wed, 8 Apr 1998 09:47:45 +0300 (EET DST)
-             Subject: [PATCH] perl 5.004_64+Config_04
-             Date: Thu, 14 May 1998 12:14:07 +0300 (EET DST)
+[  3304] By: gsar                                  on 1999/05/05  07:29:43
+        Log: upgrade Pod::Parser to v1.081 from CPAN
      Branch: perl
-           ! lib/Benchmark.pm pod/perlfunc.pod
+	   ! lib/Pod/Checker.pm lib/Pod/InputObjects.pm lib/Pod/Parser.pm
+	   ! lib/Pod/PlainText.pm lib/Pod/Select.pm lib/Pod/Usage.pm
+           ! t/pod/special_seqs.t t/pod/special_seqs.xr t/pod/testp2pt.pl
 ____________________________________________________________________________
-[   958] By: mbeattie                              on 1998/05/14  15:36:30
-        Log: From: kstar@chapin.edu
-             Subject: [PATCH] hints for Irix 6
-             Date: Mon, 6 Apr 1998 15:14:14 -0400 (EDT)
-             Subject: [PATCH 5.004_64] Threads - an easy way for dual installation
-             Date: Wed, 29 Apr 1998 15:39:46 -0400 (EDT)
+[  3303] By: gsar                                  on 1999/05/05  07:02:07
+        Log: From: Andy Dougherty 
+             Date: Fri, 19 Mar 1999 12:31:35 -0500 (EST)
+             Message-Id: 
+             Subject: [PATCH 5.005_03-MT3] INSTALL patches
      Branch: perl
-           ! INSTALL hints/irix_6.sh installperl
+           ! INSTALL
 ____________________________________________________________________________
-[   957] By: mbeattie                              on 1998/05/14  15:33:48
-        Log: Subject: [PATCH] Install extensions with bootstrap (again) in $archlib
-             Date: Mon, 06 Apr 1998 21:09:24 +0200
-             From: Achim Bohnet 
+[  3302] By: gsar                                  on 1999/05/05  06:55:21
+        Log: load base packages based on nonexistent $VERSION
+             From: andreas.koenig@anima.de (Andreas J. Koenig)
+             Date: 19 Mar 1999 06:00:28 +0100
+             Message-ID: 
+             Subject: Re: base.pm flaw
      Branch: perl
-           ! lib/ExtUtils/Install.pm
+           ! lib/base.pm lib/locale.pm
 ____________________________________________________________________________
-[   956] By: mbeattie                              on 1998/05/14  15:32:39
-        Log: Subject: [PATCH] Config: Irix 5 hints
-             Date: Mon, 6 Apr 1998 13:12:47 -0400 (EDT)
-             From: kstar@O2.chapin.edu
+[  3301] By: gsar                                  on 1999/05/04  05:41:08
+        Log: pod2man outputs switched date and revision label (fix suggested by
+             EthanSasiela@mede.com)
      Branch: perl
-           ! hints/irix_5.sh
+           ! pod/pod2man.PL
 ____________________________________________________________________________
-[   955] By: mbeattie                              on 1998/05/14  15:31:12
-        Log: Subject: PATCH: h2ph produces incorrect code
-             Date: Mon, 6 Apr 1998 23:52:13 +0930 (CST)
-             From: Billy 
+[  3300] By: gsar                                  on 1999/05/03  18:48:25
+        Log: adjust win32_stat() to cope with FindFirstFile() and stat() bugs
+             (makes opendir(D,"c:") work reliably)
      Branch: perl
-           ! utils/h2ph.PL
+           ! win32/win32.c
 ____________________________________________________________________________
-[   954] By: mbeattie                              on 1998/05/14  15:29:27
-        Log: Subject: [PATCH] perldebug.pod
-             Date: Mon, 6 Apr 1998 00:36:57 -0600
-             From: jason stewart 
+[  3299] By: gsar                                  on 1999/05/02  19:39:55
+        Log: add test case for change#3298
      Branch: perl
-           ! pod/perldebug.pod
+           ! sv.c t/op/readdir.t
 ____________________________________________________________________________
-[   953] By: mbeattie                              on 1998/05/14  15:28:00
-        Log: From: Dominic Dunlop 
-             Subject: [PATCH 5.004_64]: hints/machten.sh: disable semctl()
-             Date: Wed, 6 May 1998 14:39:32 +0000
-             Subject: [PATCH] Not OK: perl 5.00464 on powerpc-machten 4.1 (hashwarn @INC problem)
-             Date: Sat, 4 Apr 1998 19:44:34 +0000
-     Branch: perl
-           ! hints/machten.sh t/op/hashwarn.t
-____________________________________________________________________________
-[   952] By: mbeattie                              on 1998/05/14  15:23:19
-        Log: New pod/perldelta.pod (previous one branched in last change):
-             Subject: [PATCH 5.004_64] Start new perldelta
-             Date: Thu, 23 Apr 1998 12:12:38 -0400 (EDT)
-             From: Andy Dougherty 
-     Branch: perl
-           + pod/perldelta.pod
-____________________________________________________________________________
-[   951] By: mbeattie                              on 1998/05/14  15:20:43
-        Log: From: Andy Dougherty 
-             Subject: [PATCH for 5.004_04 and 5.004_64] (Was: Obsoleted svr4.sh)
-             Date: Thu, 23 Apr 1998 11:10:15 -0400 (EDT)
-             Subject: [PATCH 5.004_64] Start new perldelta
-             Date: Thu, 23 Apr 1998 12:12:38 -0400 (EDT)
-             (above branched perldelta -> perldelta4, new perldelta will be
-             created/added next change)
-             Subject: [PATCH] BSD Platforms need STRUCT_TM_HASZONE
-             Date: Tue, 12 May 1998 09:58:49 -0400 (EDT)
-     Branch: perl
-	   + ext/POSIX/hints/bsdos.pl ext/POSIX/hints/freebsd.pl
-           + ext/POSIX/hints/netbsd.pl ext/POSIX/hints/openbsd.pl
-          +> pod/perldelta4.pod
-           - pod/perldelta.pod
-           ! MANIFEST hints/svr4.sh
-____________________________________________________________________________
-[   949] By: TimBunce                              on 1998/05/14  15:11:30
-        Log: 
-             Title:  "while($x=<>) no longer warns (implicit defined added)"
-             From:  Nick Ing-Simmons 
-             Msg-ID:  <199805051035.LAA27365@pluto.tiuk.ti.com>
-             Files:  MANIFEST op.c t/op/defins.t
+[  3298] By: gsar                                  on 1999/05/02  19:24:41
+        Log: close directory handles properly when localized
+     Branch: perl
+           ! sv.c
+____________________________________________________________________________
+[  3297] By: jhi                                   on 1999/04/30  11:42:14
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  !> Changes config_h.SH configure.com lib/AutoLoader.pm
+	  !> lib/AutoSplit.pm lib/File/Path.pm pod/perlre.pod pp.c pp_ctl.c
+	  !> pp_sys.c proto.h regcomp.c t/op/die.t t/op/ref.t util.c
+	  !> vms/descrip_mms.template vms/gen_shrfls.pl vms/munchconfig.c
+          !> vms/subconfigure.com win32/win32.c
+____________________________________________________________________________
+[  3293] By: chip                                  on 1999/04/29  18:50:49
+        Log: Fix shebang lines.
      Branch: maint-5.004/perl
-           + t/op/defins.t
-           ! MANIFEST op.c
+	   ! Porting/p4d2p h2pl/mksizes pod/checkpods.PL pod/pod2html.PL
+	   ! pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL utils/c2ph.PL
+	   ! utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL
+	   ! utils/pl2pm.PL utils/splain.PL win32/bin/search.pl
+           ! x2p/find2perl.PL x2p/s2p.PL
 ____________________________________________________________________________
-[   948] By: mbeattie                              on 1998/05/14  15:09:51
-        Log: From: Andy Dougherty 
-             Subject: [PATCH for 5.004_64] Configure patch Config_64-01
-             Date: Tue, 14 Apr 1998 13:04:58 -0400 (EDT)
-             Subject: [PATCH for 5.004_64] Configure patch Config_64-01-02.diff
-             Date: Fri, 17 Apr 1998 11:01:13 -0400 (EDT)
-             Subject: [PATCH for 5.004_64] Configure patch Config_64-02-03.diff
-             Date: Thu, 23 Apr 1998 15:03:20 -0400 (EDT)
-             Subject: [PATCH 5.004_64] Config_64-03-04.diff
-             Date: Wed, 13 May 1998 14:33:30 -0400 (EDT)
-     Branch: perl
-           + README.beos beos/nm.c hints/beos.sh
-	   ! Configure INSTALL MANIFEST Makefile.SH Policy_sh.SH
-	   ! Porting/Glossary Porting/config.sh Porting/config_H
-	   ! Porting/pumpkin.pod Todo cflags.SH config_h.SH
-	   ! djgpp/djgppsed.sh doop.c handy.h hints/dos_djgpp.sh
-	   ! hints/netbsd.sh hints/solaris_2.sh hints/unicos.sh
-	   ! hints/unicosmk.sh hv.h lib/Term/ReadLine.pm perl.h
-	   ! plan9/config.plan9 pod/perlfunc.pod pp.c pp_sys.c sv.h
-	   ! t/io/pipe.t thread.h vms/config.vms win32/config.bc
-           ! win32/config.vc win32/config_H.bc win32/config_H.vc
-____________________________________________________________________________
-[   946] By: TimBunce                              on 1998/05/14  15:07:06
-        Log: 
-             Title:  "Fix PERL_DESTRUCT_LEVEL core dumps"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805062301.TAA24599@aatma.engin.umich.edu>
-             Files:  perl.c sv.c t/op/misc.t
+[  3284] By: gsar                                  on 1999/04/27  00:48:42
+        Log: integrate change#3279 from maint-5.004
+     Branch: perl
+           ! lib/AutoLoader.pm
+____________________________________________________________________________
+[  3279] By: chip                                  on 1999/04/26  23:09:26
+        Log: Make &AutoLoad::AUTOLOAD reentrant.
      Branch: maint-5.004/perl
-           ! perl.c sv.c t/op/misc.t
-____________________________________________________________________________
-[   945] By: mbeattie                              on 1998/05/14  15:00:31
-        Log: Subject: Perl Social Contract
-             Date: 13 Apr 1998 06:16:59 -0700
-             From: Russ Allbery 
-     Branch: perl
-           + Porting/Contract
-____________________________________________________________________________
-[   944] By: TimBunce                              on 1998/05/14  14:59:37
-        Log: 
-             Title:  "5.004_04-m2 Cleanup of test failures"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805070416.AAA03082@aatma.engin.umich.edu>
-             Files:  t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t t/op/taint.t
-             win32/config.bc win32/config.vc
+           ! lib/AutoLoader.pm
+____________________________________________________________________________
+[  3276] By: chip                                  on 1999/04/26  22:34:36
+        Log: Make porting scripts executable.
      Branch: maint-5.004/perl
-	   ! t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t t/op/taint.t
-           ! win32/config.bc win32/config.vc
+	   ! Changes Porting/genlog Porting/makerel Porting/p4desc
+           ! Porting/patchls
 ____________________________________________________________________________
-[   943] By: mbeattie                              on 1998/05/14  14:58:13
-        Log: From: Joshua.Pritikin@NewYork2.dmg.deuba.com
-             Subject: [PATCH 5.004_64] Test.pm update
-             Date: Sat, 4 Apr 1998 08:33:50 -0500
-             Subject: [PATCH 5.004_64] modcount + comments
-             Date: Fri, 17 Apr 1998 16:07:35 -0400
+[  3274] By: gsar                                  on 1999/04/26  17:30:31
+        Log: allow embedded null characters in diagnostics
      Branch: perl
-           ! lib/Test.pm op.c thrdvar.h
+           ! pp_ctl.c pp_sys.c proto.h regcomp.c t/op/die.t util.c
 ____________________________________________________________________________
-[   942] By: mbeattie                              on 1998/05/14  14:49:43
-        Log: From: Ilya Zakharevich 
-             Subject: [PATCH 5.004_64] newSV
-             Date: Wed, 8 Apr 1998 03:21:03 -0400 (EDT)
-             Subject: [PATCH 5.004_64] Cryptic error from B::CC
-             Date: Sat, 11 Apr 1998 19:52:25 -0400 (EDT)
+[  3273] By: gsar                                  on 1999/04/26  08:27:22
+        Log: hand-applied conflicting parts of suggested patch
+             From: Charles Bailey 
+             Date: Wed, 17 Mar 1999 23:55:23 -0400 (EDT)
+             Message-id: <01J8YELSL7WK001E7S@mail.newman.upenn.edu>
+             Subject: [PATCH 5.005_56] VMS configuration/build
      Branch: perl
-           ! ext/B/B/CC.pm handy.h proto.h sv.c
+	   ! configure.com vms/descrip_mms.template vms/gen_shrfls.pl
+           ! vms/munchconfig.c vms/subconfigure.com
 ____________________________________________________________________________
-[   941] By: mbeattie                              on 1998/05/14  14:47:29
-        Log: From: Ilya Zakharevich 
-             Subject: [PATCH 5.004_64] anydbm.t
-             Date: Sat, 4 Apr 1998 01:39:03 -0500 (EST)
-             Subject: [PATCH 5.004_64] threads on OS/2
-             Date: Sat, 4 Apr 1998 01:44:29 -0500 (EST)
-             Subject: [PATCH 5.004_64] Better handling of Perl DLLs under OS/2
-             Date: Sat, 4 Apr 1998 01:47:58 -0500 (EST)
-             Subject: [PATCH 5.004_64] Immediate stop in debugger
-             Date: Sat, 11 Apr 1998 19:50:58 -0400 (EDT)
-             Subject: [PATCH 5.005_64] ptags broken
-             Date: Sat, 11 Apr 1998 22:08:21 -0400 (EDT)
-             Subject: [PATCH 5.004_64] Document switch syntax via RE
-             Date: Sun, 12 Apr 1998 01:12:33 -0400 (EDT)
-     Branch: perl
-	   ! emacs/ptags lib/ExtUtils/MM_OS2.pm lib/ExtUtils/Mksymlists.pm
-	   ! lib/perl5db.pl os2/Changes os2/Makefile.SHs os2/os2.c
-           ! os2/os2thread.h pod/perlsyn.pod t/lib/anydbm.t
-____________________________________________________________________________
-[   940] By: mbeattie                              on 1998/05/14  14:38:44
-        Log: Subject: [PATCH 5.004_64] Build Stdio and DCLSym modules as part of  normal VMS perl build
-             Date: Fri, 03 Apr 1998 16:01:57 -0800
-             From: Dan Sugalski 
+[  3272] By: gsar                                  on 1999/04/26  08:25:41
+        Log: update Changes; tweak minor regressions
      Branch: perl
-	   ! vms/descrip.mms vms/ext/DCLsym/Makefile.PL
-           ! vms/ext/Stdio/Makefile.PL vms/ext/Stdio/Stdio.xs
+           ! Changes lib/AutoSplit.pm lib/File/Path.pm
 ____________________________________________________________________________
-[   939] By: mbeattie                              on 1998/05/14  14:35:42
-        Log: Subject: [PATCH 5.004_64] perl dies in perl_construct when compiled  with MULTIPLICITY
-             Date: Fri, 03 Apr 1998 13:58:15 -0800
-             From: Dan Sugalski 
+[  3271] By: gsar                                  on 1999/04/26  07:52:51
+        Log: integrate change#3229 from maint-5.004
      Branch: perl
-           ! perl.c
+           ! pp_ctl.c util.c
 ____________________________________________________________________________
-[   938] By: gsar                                  on 1998/05/14  10:53:55
-        Log: merge change#896 from maintbranch
-     Branch: win32/perl
-	   ! doio.c ext/Socket/Socket.xs lib/Class/Struct.pm lib/Cwd.pm
-	   ! lib/File/Find.pm lib/Math/BigInt.pm lib/lib.pm lib/strict.pm
-	   ! op.c pod/perldiag.pod pod/perlfunc.pod pp.c pp_ctl.c sv.c
-           ! t/op/gv.t t/op/misc.t t/op/pack.t
-____________________________________________________________________________
-[   937] By: gsar                                  on 1998/05/14  09:31:34
-        Log: merge change#887 from maintbranch
-     Branch: win32/perl
-           + t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t
-	   ! MANIFEST doio.c lib/File/CheckTree.pm lib/Getopt/Long.pm
-	   ! lib/Math/BigFloat.pm lib/Text/ParseWords.pm lib/Text/Wrap.pm
-	   ! lib/base.pm perl.c pod/perlre.pod t/lib/io_sock.t
-	   ! t/lib/io_udp.t t/lib/parsewords.t t/lib/timelocal.t
-           ! t/op/stat.t toke.c utils/h2xs.PL
-____________________________________________________________________________
-[   936] By: gsar                                  on 1998/05/14  09:06:18
-        Log: merge change#886 from maintbranch
-     Branch: win32/perl
-	   ! README.os2 README.vms cop.h ext/DynaLoader/dl_hpux.xs
-	   ! ext/POSIX/POSIX.xs ext/POSIX/hints/linux.pl global.sym
-	   ! hints/aix.sh hints/bsdos.sh hints/dec_osf.sh hints/hpux.sh
-	   ! hints/linux.sh hints/netbsd.sh hints/os2.sh hints/svr4.sh
-	   ! lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/File/Basename.pm lib/File/Path.pm op.c os2/Makefile.SHs
-	   ! os2/os2.c os2/perl2cmd.pl perl.c perl.h pod/perlguts.pod
-	   ! pod/pod2man.PL pp_ctl.c pp_hot.c pp_sys.c proto.h
-	   ! t/lib/filecopy.t util.c utils/perldoc.PL vms/config.vms
-	   ! vms/descrip.mms vms/ext/Filespec.pm vms/ext/filespec.t
-           ! vms/test.com
-____________________________________________________________________________
-[   935] By: gsar                                  on 1998/05/14  07:00:02
-        Log: merge changes#872,873 from maintbranch
-     Branch: win32/perl
-	   ! Changes5.004 INSTALL lib/ExtUtils/MakeMaker.pm
-	   ! lib/FileHandle.pm lib/Tie/Hash.pm lib/constant.pm
-	   ! lib/integer.pm pod/perl.pod pod/perlbook.pod pod/perldsc.pod
-	   ! pod/perlfunc.pod pod/perlguts.pod pod/perlhist.pod
-	   ! pod/perlop.pod pod/perlre.pod pod/perlrun.pod pod/perlsec.pod
-	   ! pod/perltrap.pod pod/perlvar.pod pod/pod2latex.PL
-           ! utils/perldoc.PL
+[  3270] By: gsar                                  on 1999/04/25  22:58:27
+        Log: fix buggy reference count on refs to SVs with autoviv magic
+             (resulted in C and Data::Dumper
+             accessing free()d memory)
+     Branch: perl
+           ! pp.c t/op/ref.t
 ____________________________________________________________________________
-[   934] By: gsar                                  on 1998/05/14  06:24:38
-        Log: merge changes#755..759,763,764 from maintbranch
-     Branch: win32/perl
-           + hints/openbsd.sh
-	   ! MANIFEST Porting/patchls perl.c perlsdio.h pod/perlfunc.pod
-           ! t/op/pos.t utils/perldoc.PL
+[  3269] By: gsar                                  on 1999/04/24  17:07:55
+        Log: fix bug in change#3123 (off-by-one, caused C to fail
+             on win32)
+     Branch: perl
+           ! win32/win32.c
 ____________________________________________________________________________
-[   933] By: gsar                                  on 1998/05/14  06:07:31
-        Log: merge change#754 from maintbranch
-     Branch: win32/perl
-           ! perl.c
+[  3268] By: gsar                                  on 1999/04/24  16:38:25
+        Log: kill dup hunk
+     Branch: perl
+           ! config_h.SH
 ____________________________________________________________________________
-[   932] By: gsar                                  on 1998/05/14  06:03:50
-        Log: merge changes#752,753 from maintbranch
-     Branch: win32/perl
-           + t/op/pos.t
-	   ! README ext/GDBM_File/GDBM_File.pm
-           ! ext/SDBM_File/sdbm/Makefile.PL pod/perlsyn.pod
-____________________________________________________________________________
-[   931] By: gsar                                  on 1998/05/14  05:51:19
-        Log: merge change#745 from maintbranch
-     Branch: win32/perl
-           + ext/DynaLoader/DynaLoader.pm.PL
-           - ext/DynaLoader/DynaLoader.pm
-           ! MANIFEST ext/DynaLoader/Makefile.PL
-____________________________________________________________________________
-[   930] By: nick                                  on 1998/05/13  20:39:59
-        Log: resolve -at //depot/win32 into ansiperl for C++ testing.
-     Branch: ansiperl
-           ! utils/perldoc.PL
-	  !> MANIFEST ext/Fcntl/Fcntl.pm hv.c lib/ExtUtils/Liblist.pm op.c
-	  !> perl.c pod/perlfunc.pod pod/perlguts.pod pp.c pp_ctl.c
-	  !> regcomp.c regcomp.h regexec.c t/op/hashwarn.t t/op/runlevel.t
-	  !> win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-          !> win32/makedef.pl win32/makefile.mk
+[  3267] By: gsar                                  on 1999/04/24  16:35:57
+        Log: integrate cfgperl changes into mainline
+     Branch: perl
+          +> myconfig.SH
+           - myconfig
+           ! pod/perlre.pod
+          !> (integrate 38 files)
 ____________________________________________________________________________
-[   929] By: gsar                                  on 1998/05/13  10:13:36
-        Log: merge change#687 from maintbranch
-     Branch: win32/perl
-           ! pod/perlfunc.pod
+[  3266] By: jhi                                   on 1999/04/23  18:42:44
+        Log: From: "Kurt D. Starsinic" 
+             To: perl5-porters@perl.org, Jarkko Hietaniemi ,
+             Graham Barr , Gurusamy Sarathy 
+             Cc: Lionel Cons ,
+             Ilya Zakharevich ,
+             David Hayes 
+             Subject: [PATCH] h2ph
+             Date: Fri, 23 Apr 1999 12:37:23 -0400
+             Message-ID: <19990423123723.A49550@O2.chapin.edu>
+     Branch: cfgperl
+           ! utils/h2ph.PL
 ____________________________________________________________________________
-[   928] By: gsar                                  on 1998/05/13  10:08:13
-        Log: merge change#683 from maintbranch
-     Branch: win32/perl
-           ! pod/perlguts.pod
+[  3265] By: jhi                                   on 1999/04/21  18:17:12
+        Log: From: lane@duphy4.physics.drexel.edu (by way of Dan Sugalski )
+             To: perlbug@perl.org
+             Subject: [PATCH Perl 5.005.56] descrip_mms.template installed files fix
+             Date: Wed, 21 Apr 1999 08:17:54 -0700
+             Message-Id: <3.0.6.32.19990421081754.03127b60@ous.edu>
+     Branch: cfgperl
+           ! vms/descrip_mms.template
 ____________________________________________________________________________
-[   927] By: gsar                                  on 1998/05/13  09:51:43
-        Log: merge change#681 from maintbranch
-     Branch: win32/perl
-           ! ext/Fcntl/Fcntl.pm
+[  3264] By: jhi                                   on 1999/04/20  08:50:54
+        Log: From: Andy Dougherty 
+             To: The Perl Porters Mailing List 
+             Subject: [PATCH 5.005_56] Re: 5.006 Todo
+             Date: Mon, 19 Apr 1999 16:27:07 -0400 (EDT)
+             Message-Id: 
+     Branch: cfgperl
+           ! Porting/pumpkin.pod
 ____________________________________________________________________________
-[   926] By: gsar                                  on 1998/05/13  09:47:11
-        Log: merge change#664 from maint branch
-     Branch: win32/perl
-           ! regcomp.c regcomp.h regexec.c
+[  3263] By: jhi                                   on 1999/04/20  08:05:01
+        Log: From: Chip Salzenberg 
+             To: Perl 5 Porters 
+             Subject: [PATCH 5.005_56] Configure: $sig_count
+             Date: Sun, 18 Apr 1999 17:54:36 -0400
+             Message-ID: <19990418175436.A27496@perlsupport.com>
+     Branch: cfgperl
+	   ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+           ! config_h.SH
 ____________________________________________________________________________
-[   925] By: gsar                                  on 1998/05/13  08:55:28
-        Log: merge missing part of change#663 from maint branch
-     Branch: win32/perl
-           ! op.c
+[  3262] By: jhi                                   on 1999/04/19  18:23:50
+        Log: Subject: PATCH wrong faq reference in perlbook.pod
+             From: Robin Barker 
+             To: perlbug@perl.com
+             Date: Fri, 9 Apr 1999 16:05:23 +0100 (BST)
+             Message-Id: <199904091505.QAA03757@cyclone.cise.npl.co.uk>
+     Branch: cfgperl
+           ! pod/perlbook.pod
 ____________________________________________________________________________
-[   924] By: gsar                                  on 1998/05/12  18:50:04
-        Log: remove x586 code gen switch (-5) for Borland, it is non-generic,
-             and seems to generate problematic code for PII.
-     Branch: win32/perl
-           ! win32/makefile.mk
+[  3261] By: jhi                                   on 1999/04/15  13:59:04
+        Log: From: Andy Dougherty 
+             To: Hugo van der Sanden 
+             Cc: Perl Porters 
+             Subject: [PATCH] Re: 5.005_03 and gcc, GNU ld under Solaris 2.6
+             Date: Wed, 14 Apr 1999 17:07:43 -0400 (EDT)
+             Message-Id: 
+     Branch: cfgperl
+           ! hints/solaris_2.sh
 ____________________________________________________________________________
-[   923] By: gsar                                  on 1998/05/12  16:24:02
-        Log: fix test failure
-             Message-Id: <199805120940.KAA01252@pluto.tiuk.ti.com>
-             Date:    Tue, 12 May 1998 10:40:57 BST
-             From:    Nick.Ing-Simmons@tiuk.ti.com
-             Subject: test buglet
-     Branch: win32/perl
-           ! t/op/hashwarn.t
-____________________________________________________________________________
-[   922] By: TimBunce                              on 1998/05/11  20:58:58
-        Log: Assorted patches:
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "incorrect return value for hv_iterinit"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805031848.OAA20618@aatma.engin.umich.edu>
-             Files:  pod/perlguts.pod hv.c
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "perlvar.pod buglet E"
-             From:  Achim Bohnet 
-             Msg-ID:  <9805041415.AA22185@o09.xray.mpe.mpg.de>
-             Files:  pod/perlvar.pod
-             
-             Title:  "Improve docs for warning about code after an exec()"
-             From:  "M.J.T. Guy" , Chaim Frenkel
-             
-             Msg-ID:  ,
-             
-             Files:  pod/perlfunc.pod
-             
-             Title:  "Remove dead code from pod2man"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/pod2man.PL
-             
-             Title:  "tweak doc for C"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199805090017.UAA06888@aatma.engin.umich.edu>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "Document integer pragma effect on % operator"
-             From:  Gisle Aas 
-             Msg-ID:  
-             Files:  pod/perlop.pod
-             
-             Title:  "Reduce rm command line length in pod/Makefile"
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199805041423.QAA13199@dorlas.elsevier.nl>
-             Files:  pod/Makefile
-             
-             ------  EXTENSIONS  ------
-             
-             Title:  "Clarify Termios usage in POSIX.pod"
-             From:  Rocco Caputo 
-             Msg-ID:  <199805101952.PAA12738@ns.netrus.net>
-             Files:  ext/POSIX/POSIX.pod
+[  3260] By: jhi                                   on 1999/04/15  13:56:53
+        Log: From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: PATCH: 5.005_56: perldata.pod (UPDATE)
+             Date: Thu, 15 Apr 1999 07:13:41 -0600
+             Message-Id: <199904151313.HAA07682@jhereg.perl.com>
+     Branch: cfgperl
+           ! pod/perldata.pod
+____________________________________________________________________________
+[  3259] By: jhi                                   on 1999/04/13  23:12:52
+        Log: LDLIBPTH also on 'clean' targets.
+     Branch: cfgperl
+           ! Makefile.SH
+____________________________________________________________________________
+[  3258] By: jhi                                   on 1999/04/13  21:38:46
+        Log: Add information about the two DEC C compiler optimizer bugs
+             (what patch levels of the compilers fix them).
+     Branch: cfgperl
+           ! pp.c t/op/repeat.t
+____________________________________________________________________________
+[  3257] By: jhi                                   on 1999/04/13  14:25:08
+        Log: Be polite about ccdlflags and lddflags, too.
+             Avoid Perl's malloc only when threaded.
+     Branch: cfgperl
+           ! hints/aix.sh
+____________________________________________________________________________
+[  3256] By: jhi                                   on 1999/04/13  10:21:33
+        Log: Croak if no known ways to semctl() (don't assume union semun).
+     Branch: cfgperl
+           ! doio.c perl.h
+____________________________________________________________________________
+[  3255] By: jhi                                   on 1999/04/13  09:10:26
+        Log: From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [Patch 5.005/5.006]Another MM_VMS.pm patch
+             Date: Mon, 12 Apr 1999 13:36:48 -0700
+             Message-Id: <3.0.6.32.19990412133648.030e7ec0@ous.edu>
+     Branch: cfgperl
+           ! lib/ExtUtils/MM_VMS.pm
+____________________________________________________________________________
+[  3254] By: jhi                                   on 1999/04/13  06:56:26
+        Log: From: "Todd C. Miller" 
+             To: perlbug@perl.com
+             Subject: Update for OpenBSD hints
+             Date: Mon, 12 Apr 1999 23:12:22 -0600 (MDT)
+             Message-Id: <199904130512.XAA27712@xerxes.courtesan.com>
+     Branch: cfgperl
+           ! hints/openbsd.sh
+____________________________________________________________________________
+[  3229] By: chip                                  on 1999/04/13  04:04:14
+        Log: Preserve errno from importunities of sfio.
+     Branch: maint-5.004/perl
+           ! pp_ctl.c util.c
+____________________________________________________________________________
+[  3226] By: jhi                                   on 1999/04/11  12:52:26
+        Log: If both ways to call semctl are broken,	skip the tests.
+     Branch: cfgperl
+           ! t/lib/ipc_sysv.t
+____________________________________________________________________________
+[  3225] By: jhi                                   on 1999/04/10  22:27:28
+        Log: From: Andy Dougherty 
+             To: dsembr01@ox.slug.louisville.edu
+             Cc: perlbug@perl.com
+             Subject: [PATCH 5.004_05 5.005_03 5.005_56] Re: Misspelled macro in ext/POSIX/POSIX.xs?
+             Date: Fri, 9 Apr 1999 16:58:08 -0400 (EDT)
+             Message-Id: 
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.xs
+____________________________________________________________________________
+[  3224] By: jhi                                   on 1999/04/09  18:50:32
+        Log: From: Andy Dougherty 
+             To: Perl Porters 
+             Subject: [PATCH 5.005_56] Re: prefix= in hints
+             Date: Fri, 9 Apr 1999 14:54:18 -0400 (EDT)
+             Message-Id: 
              
-             ------  LIBRARY  ------
+             (Overrides change #3204 from Kurt)
+     Branch: cfgperl
+           ! hints/linux.sh
+____________________________________________________________________________
+[  3223] By: jhi                                   on 1999/04/09  18:37:55
+        Log: Understand Apollo's //node notation.
              
-             Title:  "Fix File::Find::finddepth typo in trial 2 release"
-             From:  koenig@kulturbox.de (Andreas J. Koenig)
-             Msg-ID:  
-             Files:  lib/File/Find.pm t/lib/filefind.t
+             From: Johann Klasek 
+             To: jhi@iki.fi
+             Subject: Re: DomainPerl
+             Date: Fri, 9 Apr 1999 18:21:37 +0200
+             Message-ID: <19990409182137.A2299@euklid.auto.tuwien.ac.at>
+     Branch: cfgperl
+           ! lib/Cwd.pm
+____________________________________________________________________________
+[  3220] By: jhi                                   on 1999/04/04  16:33:49
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> (integrate 39 files)
+____________________________________________________________________________
+[  3219] By: gsar                                  on 1999/04/04  02:48:17
+        Log: tweak previous change
+     Branch: maint-5.005/perl
+           ! win32/win32.c
+____________________________________________________________________________
+[  3218] By: gsar                                  on 1999/04/04  02:44:47
+        Log: be careful about extending the stack for the Win32:: builtins
+     Branch: maint-5.005/perl
+           ! win32/win32.c
+____________________________________________________________________________
+[  3217] By: gsar                                  on 1999/04/04  01:59:26
+        Log: correct places that said newSVpv() when they meant newSVpvn()
+     Branch: perl
+	   ! XSUB.h dump.c ext/B/B.xs ext/B/defsubs.h.PL
+	   ! ext/DB_File/DB_File.xs ext/DynaLoader/dl_vms.xs
+	   ! ext/IPC/SysV/SysV.xs ext/Opcode/Opcode.xs ext/POSIX/POSIX.xs
+	   ! ext/Socket/Socket.xs ext/attrs/attrs.xs gv.c hv.c hv.h
+	   ! jpl/JNI/JNI.xs mg.c op.c perl.c pod/perlguts.pod pp.c pp_ctl.c
+	   ! pp_sys.c regcomp.c toke.c util.c win32/dl_win32.xs
+           ! win32/win32.c
+____________________________________________________________________________
+[  3216] By: gsar                                  on 1999/04/03  23:58:27
+        Log: avoid duplicate code
+     Branch: perl
+           ! sv.c
+____________________________________________________________________________
+[  3215] By: gsar                                  on 1999/04/03  23:14:34
+        Log: grow PL_tmps_stack more efficiently; make it more amenable to
+             STRESS_REALLOC testing
+     Branch: perl
+	   ! embed.h embed.pl global.sym objXSUB.h pp.h proto.h scope.c
+           ! sv.c
+____________________________________________________________________________
+[  3214] By: gsar                                  on 1999/04/03  21:01:09
+        Log: scrounge and save three extra branches in pp_entersub()
+     Branch: perl
+           ! cv.h pp_ctl.c pp_hot.c
+____________________________________________________________________________
+[  3213] By: gsar                                  on 1999/04/03  17:43:23
+        Log: remove duplicate code and an extra branch in sv_setsv() and
+             other hot code by making SvTHINKFIRST() think about FAKE SVs
+     Branch: perl
+	   ! doio.c embed.h embed.pl global.sym objXSUB.h pp.c pp_hot.c
+           ! proto.h scope.c sv.c sv.h
+____________________________________________________________________________
+[  3212] By: jhi                                   on 1999/04/03  16:20:09
+        Log: Fix up some _t nits (Pid_t, Gid_t, Uid_t, etc. instead of int).
              
-             ------  PORTABILITY - GENERAL  ------
+             From: John Bley 
+             To: perlbug@perl.org
+             Subject: [PATCH]5.005_03 (CORE) Fix some _t nits
+             Date: Thu, 1 Apr 1999 02:01:47 -0500 (EST)
+             Message-ID: 
+     Branch: cfgperl
+           ! doio.c pp_sys.c
+____________________________________________________________________________
+[  3211] By: jhi                                   on 1999/04/03  13:27:26
+        Log: Change #3210 was rather unportable.  This is better.
+     Branch: cfgperl
+           ! Configure config_h.SH
+____________________________________________________________________________
+[  3210] By: jhi                                   on 1999/04/03  13:16:20
+        Log: Avoid Digital UNIX' ksh.
              
-             Title:  "Add Porting/patching.pod document"
-             From:  Daniel Grisinger 
-             Msg-ID:  <199805030305.XAA16147@relay.pair.com>
-             Files:  MANIFEST Porting/patching.pod
+             From: Jarkko Hietaniemi  
+             To: Henrik Tougaard  
+             Cc: perlbug@perl.com, ht000@foa.dk 
+             Subject: Re: Not OK perl5.005_03-MAINT_TRIAL_4
+             Date: Wed, 27 Jan 1999 16:52:33 +0200 (EET) 
+             Message-ID: <13999.10289.319422.239987@alpha.hut.fi> 
+     Branch: cfgperl
+           ! Configure config_h.SH
+____________________________________________________________________________
+[  3209] By: jhi                                   on 1999/04/03  12:49:04
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> Changes Makefile.SH README installperl t/lib/bigfloatpm.t
+____________________________________________________________________________
+[  3208] By: jhi                                   on 1999/04/03  12:27:24
+        Log: Add -mabi=64 to ccflags for 64-bit IRIX gcc.
              
-             Title:  "hints/machten.sh: disable semctl(), align with devel version"
-             From:  Dominic Dunlop 
-             Msg-ID:  
-             Files:  hints/machten.sh
+             From: Lionel Cons 
+             To: jhi@iki.fi
+             Cc: perlbug@perl.com, kstar@isinet.com,
+             Philippe Defert 
+             Subject: Re: Not OK: perl 5.00503 on IP27-irix 6.5 (UNINSTALLED)
+             Date: Thu, 1 Apr 1999 14:05:28 +0200 (METDST)
+             Message-Id: <199904011205.OAA11380@mercury.cern.ch>
+     Branch: cfgperl
+           ! hints/irix_6.sh
+____________________________________________________________________________
+[  3207] By: jhi                                   on 1999/04/03  12:20:21
+        Log: Be polite about usemymalloc.
+     Branch: cfgperl
+           ! hints/aix.sh
+____________________________________________________________________________
+[  3206] By: gsar                                  on 1999/04/02  23:31:59
+        Log: a typo in change#3205
+     Branch: perl
+           ! t/lib/bigfloatpm.t
+____________________________________________________________________________
+[  3205] By: gsar                                  on 1999/04/02  23:20:31
+        Log: make testsuite reflect change#3157  (Math::BigFloat->new now
+             returns NaNs faithfully)
+     Branch: perl
+           ! t/lib/bigfloatpm.t
+____________________________________________________________________________
+[  3204] By: jhi                                   on 1999/04/02  22:03:23
+        Log: On -Uinstallusrbinperl and no -Dprefix, set prefix to /usr/local.
              
-             Title:  "Add VMS specifics to Porting/makerel"
-             From:  Charles Bailey 
-             Msg-ID:  <01IWDK1LONRQ0026P0@cor.newman.upenn.edu>,
-             <199804271732.SAA13762@toad.ig.co.uk>,
-             <9804250212.AA27695@forte.com>
-             Files:  Porting/makerel
-     Branch: maint-5.004/perl
-           + Porting/patching.pod
-	   ! MANIFEST Porting/makerel ext/POSIX/POSIX.pod hints/machten.sh
-	   ! hv.c lib/File/Find.pm pod/Makefile pod/perlfunc.pod
-	   ! pod/perlguts.pod pod/perlop.pod pod/perlvar.pod pod/pod2man.PL
-           ! t/lib/filefind.t
-____________________________________________________________________________
-[   921] By: gsar                                  on 1998/05/10  02:28:03
-        Log: various tweaks to makefiles
-     Branch: win32/perl
-           ! win32/Makefile win32/makedef.pl win32/makefile.mk
-____________________________________________________________________________
-[   920] By: gsar                                  on 1998/05/10  02:27:19
-        Log: fix ExtUtils::Liblist mishandling paths with spaces
-     Branch: win32/perl
-           ! lib/ExtUtils/Liblist.pm
-____________________________________________________________________________
-[   919] By: gsar                                  on 1998/05/09  17:10:15
-        Log: minor cleanup
-     Branch: win32/perl
-           ! MANIFEST perl.c
-____________________________________________________________________________
-[   918] By: gsar                                  on 1998/05/09  17:09:09
-        Log: protect sortcop from C
-             Message-Id: <199805082333.TAA06287@aatma.engin.umich.edu>
-             Date:    Fri, 08 May 1998 19:33:44 EDT
-             From:    Gurusamy Sarathy 
-             Subject: [PATCH] Re: double recursion in sort 
-     Branch: win32/perl
-           ! pp_ctl.c t/op/runlevel.t
-____________________________________________________________________________
-[   917] By: gsar                                  on 1998/05/09  17:05:55
-        Log: c
-     Branch: win32/perl
-           ! win32/config.bc win32/config.gc win32/config.vc
+             From: "Kurt D. Starsinic" 
+             To: perl5-porters@perl.org
+             Subject: linux hints nit
+             Date: Fri, 2 Apr 1999 16:49:47 -0500
+             Message-ID: <19990402164947.E80926@O2.chapin.edu>
+     Branch: cfgperl
+           ! hints/linux.sh
 ____________________________________________________________________________
-[   916] By: gsar                                  on 1998/05/07  03:40:15
-        Log: fix C (pp_refgen fumbles when G_SCALAR, no args)
-     Branch: win32/perl
-           ! pp.c
+[  3203] By: jhi                                   on 1999/04/02  22:00:56
+        Log: Display exact glibc version in Linux. 
+             
+             From: Andy Dougherty 
+             To: Perl Porters 
+             Subject: Displaying glibc version on Linux
+             Date: Mon, 29 Mar 1999 15:04:26 -0500 (EST)
+             Message-Id: 
+     Branch: cfgperl
+           ! hints/linux.sh
 ____________________________________________________________________________
-[   915] By: mbeattie                              on 1998/05/06  13:08:29
-        Log: Speed up pp_entersub for usethreads with only 1 thread running.
+[  3202] By: gsar                                  on 1999/04/02  21:23:18
+        Log: various little goofs
      Branch: perl
-           ! pp_hot.c
-____________________________________________________________________________
-[   914] By: gsar                                  on 1998/05/03  18:44:38
-        Log: make hv_iterinit() return HvKEYS()
-             Message-Id: <3.0.1.32.19980502162922.009e6320@www.syncad.com>
-             Date:    Sat, 02 May 1998 16:29:22 EDT
-             From:    "SynaptiCAD, Inc." 
-             Subject: incorrect return value for hv_iterinit
-     Branch: win32/perl
-           ! hv.c pod/perlguts.pod
-____________________________________________________________________________
-[   913] By: TimBunce                              on 1998/05/01  22:38:38
-        Log: Update MANIFEST for trial 2.
-             (Porting/Contract lib/Tie/Handle.pm t/op/tiehandle.t)
-     Branch: maint-5.004/perl
-           ! MANIFEST
+           ! Changes Makefile.SH README installperl
 ____________________________________________________________________________
-[   912] By: TimBunce                              on 1998/05/01  22:30:29
-        Log: Add t/op/tiehandle.t as xtext to repository (see change 911)
-     Branch: maint-5.004/perl
-           + t/op/tiehandle.t
-____________________________________________________________________________
-[   911] By: TimBunce                              on 1998/05/01  21:35:03
-        Log: 
-             Title:  "Add ERRSV, ERRHV, DEFSV and SAVE_DEFSV for XS 5.005 compatibility"
-             From:  timbo@ig.co.uk (Tim Bunce)
-             Msg-ID:  <199804200854.JAA01482@toad.ig.co.uk>
-             Files:  perl.h
-             
-             Title:  "Add WRITE & CLOSE to TIEHANDLE"
-             From:  Graham Barr 
-             Msg-ID:  <34F63DC8.CA95670F@pobox.com>
-             Files:  pod/perltie.pod lib/Tie/Handle.pm pp_sys.c t/op/tiehandle.t
-     Branch: maint-5.004/perl
-           + lib/Tie/Handle.pm
-           ! perl.h pod/perltie.pod pp_sys.c
-____________________________________________________________________________
-[   910] By: TimBunce                              on 1998/05/01  20:47:47
-        Log: 
-             Title:  "Add warning for Illegal hex digit"
-             From:  Stephen P Potter , Stephen Potter
-             , Tim.Bunce@ig.co.uk (Tim Bunce)
-             Msg-ID:  <199804232219.SAA02267@spp.users.ds.net>,
-             <199804271409.PAA12819@toad.ig.co.uk>,
-             <199804280307.WAA12332@psasolar.psa.pencom.com>
-             Files:  pod/perldiag.pod util.c
+[  3201] By: jhi                                   on 1999/04/02  13:13:39
+        Log: Configure regen.
              
-             Title:  "perl_call_method() bug fix (corrupt op pointer)"
-             From:  "Alterman, Eugene" 
-             Msg-ID:  <510415F72ECFD111A31700A0C9B3CCDE3098@efx98digmasa.bremer-inc.com>
-             Files:  perl.c
-             
-             Title:  "Fix printf segmentation fault"
-             From:  Hugo van der Sanden 
-             Msg-ID:  
-             Files:  pp_hot.c
-             
-             Title:  "Document changed local($a[$i],$b{$j}) behaviour re delete/splice"
-             From:  Charles Bailey 
-             Msg-ID:  <01IVMVIHNZ36001NKH@cor.newman.upenn.edu>
-             Files:  pod/perlsub.pod
-     Branch: maint-5.004/perl
-           ! perl.c pod/perldiag.pod pod/perlsub.pod pp_hot.c util.c
+             Add llseek + offset_t probing.
+             Change CONFIG to CONFIGDOTSH.
+             'unset foo' is unportable, use foo=''.
+     Branch: cfgperl
+	   ! Configure Makefile.SH Policy_sh.SH cflags.SH config_h.SH
+	   ! configpm makeaperl.SH makedepend.SH makedir.SH myconfig.SH
+           ! perl_exp.SH writemain.SH
 ____________________________________________________________________________
-[   909] By: TimBunce                              on 1998/05/01  19:44:47
-        Log: 
-             Title:  "Change Ilya's do_binmode to K&R prototype and move to doio.c"
-             Files:  doio.c util.c
-     Branch: maint-5.004/perl
-           ! doio.c util.c
-____________________________________________________________________________
-[   908] By: gsar                                  on 1998/05/01  19:21:02
-        Log: add AS patch#20 (exposes more global constants)
-     Branch: asperl
-	   ! ObjXSub.h byterun.h embed.h embedvar.h global.sym globals.c
-	   ! interp.sym ipsock.h ipstdio.h objpp.h perlio.h perlsock.h
-           ! proto.h util.c win32/GenCAPI.pl win32/runperl.c
-____________________________________________________________________________
-[   907] By: TimBunce                              on 1998/05/01  17:50:46
-        Log: 
-             Title:  "Runtime Carp verbosity without aliasing"
-             From:  Joshua.Pritikin@NewYork2.dmg.deuba.com, Tim Bunce
-             Msg-ID:  
-             Files:  lib/Carp.pm
+[  3200] By: jhi                                   on 1999/04/02  12:06:22
+        Log: Introduce myconfig.SH.
              
-             Title:  "Fix File::Basename to not untaint results (using new //t flag)"
-             From:  Eric Hammond , Tom Phoenix
-             
-             Msg-ID:  <199710070515.WAA00682@finity.citysearch.com>,
-             
-             Files:  lib/File/Basename.pm
-     Branch: maint-5.004/perl
-           ! lib/Carp.pm lib/File/Basename.pm
+             From: Andy Dougherty 
+             To: Jarkko Hietaniemi 
+             Cc: Nick Ing-Simmons , Perl Porters 
+             Subject: [PATCH] myconfig.SH (was Re: perl install bug on AIX 4.3.1.0)
+             Date: Tue, 30 Mar 1999 12:41:29 -0500 (EST)
+             Message-Id: 
+     Branch: cfgperl
+           + myconfig.SH
+           - myconfig
+           ! MANIFEST
 ____________________________________________________________________________
-[   906] By: TimBunce                              on 1998/04/28  11:04:49
-        Log: 
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "5.004_04m5t1: Fix dangling references in LVs", "Fix dangling
-             references in LVs"
-             From:  Spider Boardman 
-             Msg-ID:  <199804010541.AAA32615@Orb.Nashua.NH.US>,
-             <19980422164037.D29222@perl.org>
-             Files:  embed.h keywords.h opcode.h perl.h proto.h doop.c global.sym mg.c
-             pp.c sv.c
-             
-             Title:  "Fix SvGMAGIC typo in change 904"
-             Files:  doop.c
-     Branch: maint-5.004/perl
-	   ! doop.c embed.h global.sym keywords.h mg.c opcode.h perl.h pp.c
-           ! proto.h sv.c
+[  3195] By: jhi                                   on 1999/03/28  16:42:54
+        Log: Update perlhist on 5_03.
+     Branch: maint-5.005/perl
+           ! pod/perlhist.pod
 ____________________________________________________________________________
-[   905] By: TimBunce                              on 1998/04/28  10:32:20
-        Log: Regexp patches
-             
-             Title:  "New regex flag //t to leave $1 etc. tainted"
-             From:  Chip Salzenberg , Tim Bunce 
-             Msg-ID:  <19980310192640.37826@cyprus>
-             Files:  pod/perlop.pod pod/perlre.pod op.h dump.c mg.c pp_hot.c sv.c
-             t/op/taint.t toke.c
-             
-             Title:  "Don't accidentally untaint target of s///"
-             From:  Chip Salzenberg 
-             Msg-ID:  <19980310151756.24767@cyprus>
-             Files:  pp_ctl.c pp_hot.c t/op/taint.t
-             
-             Title:  "Allow but ignore embedded /...(?o).../ in regexp"
-             From:  h.sanden@elsevier.nl (Hugo van der Sanden)
-             Msg-ID:  <199804201243.OAA08244@dorlas.elsevier.nl>
-             Files:  regcomp.c
-     Branch: maint-5.004/perl
-	   ! dump.c mg.c op.h pod/perlop.pod pod/perlre.pod pp_ctl.c
-           ! pp_hot.c regcomp.c sv.c t/op/taint.t toke.c
+[  3194] By: jhi                                   on 1999/03/28  12:30:01
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> t/op/grep.t
+	   ! lib/Math/BigFloat.pm lib/Math/BigInt.pm lib/bigfloat.pl
+           ! t/lib/bigintpm.t
+	  !> MANIFEST Porting/p4desc ext/Thread/Thread.xs op.c
+          !> t/lib/thread.t
 ____________________________________________________________________________
-[   904] By: TimBunce                              on 1998/04/27  20:20:21
-        Log: Assorted patches:
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "Protect join() against double reads on undef and SvGMAGICALs"
-             From:  Chip Salzenberg , Tim Bunce
-             
-             Msg-ID:  <19980424080630.D13985@perl.org>
-             Files:  doop.c
-             
-             Title:  "Better error message for require failure"
-             From:  epeschko@den-mdev1 (Ed Peschko)
-             Msg-ID:  <199804240047.SAA24155@den-mdev1.co.csgsystems.com>
-             Files:  pod/perldiag.pod pp_ctl.c
-             
-             Title:  "fixes for various noises under PERL_DESTRUCT_LEVEL"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199804231926.PAA23969@aatma.engin.umich.edu>
-             Files:  perl.c
-             
-             Title:  "Fix nice_chunk memory leak"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199804052347.TAA15699@aatma.engin.umich.edu>
-             Files:  sv.c
-             
-             Title:  "-2.0 vs. -2 (was Number representations)"
-             From:  Chip Salzenberg 
-             Msg-ID:  <19980309185652.11231@cyprus>
-             Files:  op.c
-             
-             Title:  "perl.c fixes for -DUNEXEC"
-             From:  Matt Wette , Matthew R Wette
-             
-             Msg-ID:  <199710152146.OAA07283@mr-ed.jpl.nasa.gov>
-             Files:  perl.c
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "perlcall is Perl from C, not C from Perl"
-             From:  Steve A Fink 
-             Files:  pod/perlembed.pod
-             
-             Title:  "Clarify require "Foo::Bar" non-bareword issue"
-             From:  Dominique Dumont 
-             Msg-ID:  <199804231527.AA153445256@ss7serv.grenoble.hp.com>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "(repost) new text for perlsec", "new text for perlsec"
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  pod/perlsec.pod
-             
-             ------  EXTENSIONS  ------
-             
-             Title:  "IO::Socket->socketpair broken (typo)"
-             From:  Olaf Titz 
-             Msg-ID:  <19980425224535.2807.qmail@bigred.inka.de>
-             Files:  ext/IO/lib/IO/Socket.pm
-             
-             Title:  "NDBM_File man page needs Fcntl"
-             From:  "Danny R. Faught" 
-             Msg-ID:  <199707011500.IAA00601@palrel3.hp.com>
-             Files:  ext/NDBM_File/NDBM_File.pm
-             
-             ------  LIBRARY  ------
-             
-             Title:  "Documentation discrepancy: pragmatic modules"
-             From:  "M.J.T. Guy" , h.sanden@elsevier.nl (Hugo van der Sanden)
-             Msg-ID:  <199804221525.RAA12695@dorlas.elsevier.nl>,
-             
-             Files:  lib/strict.pm lib/subs.pm lib/vars.pm
-             
-             ------  PORTABILITY - GENERAL  ------
-             
-             Title:  "Updated hints file for svr4"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  hints/svr4.sh
-             
-             Title:  "Pumpkin update -- shared libperl.so location"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  Porting/pumpkin.pod
-             
-             Title:  "perl compile fix for AIX 4.3"
-             From:  Jens-Uwe Mager 
-             Msg-ID:  <199804261611.SAA34728@ans.helios.de>
-             Files:  ext/DynaLoader/dl_aix.xs
-             
-             Title:  "Dynaloader build on VMS",
-             From:  pvhp@forte.com (Peter Prymmer), timbo@ig.co.uk (Tim Bunce)
-             Msg-ID:  <199804271732.SAA13762@toad.ig.co.uk>, <9804250212.AA27695@forte.com>
-             Files:  vms/descrip.mms
-             
-             ------  UTILITIES  ------
-             
-             Title:  "Major update to h2ph.PL"
-             From:  Billy 
-             Msg-ID:  
-             Files:  utils/h2ph.PL
-     Branch: maint-5.004/perl
-	   ! Porting/pumpkin.pod doop.c ext/DynaLoader/dl_aix.xs
-	   ! ext/IO/lib/IO/Socket.pm ext/NDBM_File/NDBM_File.pm
-	   ! hints/svr4.sh lib/strict.pm lib/subs.pm lib/vars.pm op.c
-	   ! perl.c pod/perldiag.pod pod/perlembed.pod pod/perlfunc.pod
-           ! pod/perlsec.pod pp_ctl.c sv.c utils/h2ph.PL vms/descrip.mms
-____________________________________________________________________________
-[   903] By: gsar                                  on 1998/04/25  22:27:19
-        Log: add AS patch#19 (adds socket layer generation to GenCAPI.pl)
-     Branch: asperl
+[  3189] By: gsar                                  on 1999/03/28  08:22:00
+        Log: various pod niggles
+     Branch: maint-5.005/perl
+	   ! pod/perl.pod pod/perldebug.pod pod/perldiag.pod
+           ! pod/perlfunc.pod pod/perlhist.pod
+____________________________________________________________________________
+[  3187] By: gsar                                  on 1999/03/28  07:31:16
+        Log: regularize CAPI declarations (CAPI extensions now build under
+             the Borland compiler)
+     Branch: maint-5.005/perl
            ! win32/GenCAPI.pl
 ____________________________________________________________________________
-[   902] By: nick                                  on 1998/04/25  16:35:08
-        Log: Case sensitive tweak to perldoc.PL
-     Branch: ansiperl
-           ! utils/perldoc.PL
+[  3186] By: gsar                                  on 1999/03/28  07:26:33
+        Log: ensure XS_LOCKS stuff happens *before* XSUB is entered under
+             -DPERL_CAPI
+     Branch: maint-5.005/perl
+           ! XSlock.h win32/GenCAPI.pl win32/Makefile win32/makefile.mk
 ____________________________________________________________________________
-[   901] By: nick                                  on 1998/04/25  15:16:54
-        Log: Implement use attrs qw(locked package);
-             Passes all tests except posix (hangs/dies) in sigaction test after 
-             printing "ok 9".
-     Branch: ansiperl
-           ! cv.h ext/attrs/attrs.pm ext/attrs/attrs.xs pp_hot.c
+[  3183] By: gsar                                  on 1999/03/28  06:00:46
+        Log: update p4 utility to ignore non-text files
+     Branch: perl
+           ! Porting/p4desc
 ____________________________________________________________________________
-[   900] By: nick                                  on 1998/04/25  13:58:17
-        Log: Auto-insert defined() test in while when test expression is 
-             readline (i.e. <>), glob, readdir, or each.
-     Branch: ansiperl
-           + t/op/defins.t
-           ! op.c pod/perlop.pod
+[  3181] By: gsar                                  on 1999/03/28  03:37:23
+        Log: integrate change#3179 from maint-5.005
+     Branch: perl
+          !> ext/Thread/Thread.xs t/lib/thread.t
 ____________________________________________________________________________
-[   899] By: nick                                  on 1998/04/25  13:14:52
-        Log: Resolve ansiperl against win32 branch
-     Branch: ansiperl
-          +> (branch 53 files)
-           - config_H
-          !> (integrate 227 files)
+[  3180] By: gsar                                  on 1999/03/28  02:28:20
+        Log: fix bogus OPf_REF context for the BLOCK in C
+             (sometimes caused bizarreness in the BLOCK)
+     Branch: perl
+           + t/op/grep.t
+           ! MANIFEST op.c
 ____________________________________________________________________________
-[   898] By: gsar                                  on 1998/04/24  17:01:05
-        Log: add AS patch#18
-     Branch: asperl
-           ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/xsubpp win32/GenCAPI.pl
+[  3179] By: gsar                                  on 1999/03/28  02:14:04
+        Log: fix thread segfault when passing large number of arguments to child
+             a la Cnew($foo, 1..1000)>
+     Branch: maint-5.005/perl
+           ! ext/Thread/Thread.xs t/lib/thread.t
 ____________________________________________________________________________
-[   897] By: TimBunce                              on 1998/04/23  19:49:22
-        Log: Assorted patches:
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "fix for "Unbalanced string table refcount""
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199804042251.RAA25527@aatma.engin.umich.edu>
-             Files:  sv.c
-             
-             Title:  "Allow more lenient switch processing"
-             From:  "John L. Allen" 
-             Msg-ID:  <199803251638.LAA22664@gateway.grumman.com>
-             Files:  perl.c
-             
-             Title:  "Add fourth arg to substr: substr EXPR,OFFSET,LEN,REPLACEMENT"
-             From:  Gisle Aas 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod Todo opcode.pl pp.c t/op/substr.t
-             
-             Title:  "Odd number of elements in hash list."
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  MANIFEST pod/perldiag.pod pp.c pp_hot.c t/op/hashwarn.t
-             
-             Title:  "another destruct_level fix"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199804030105.UAA04400@aatma.engin.umich.edu>
-             Files:  hv.c
-             
-             Title:  "bidirectional pipe warning blues"
-             From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
-             Msg-ID:  <9804082151.AA20399@claudius.bfsec.bt.co.uk>
-             Files:  doio.c
-             
-             Title:  "stale pointers after realloc (MEXTEND in pp_print and pp_prtf)"
-             From:  Malcolm Beattie 
-             Msg-ID:  <199801191107.LAA17979@sable.ox.ac.uk>
-             Files:  pp_hot.c pp_sys.c
-             
-             Title:  "unimplemented umask() should return undef not die"
-             From:  kstar@chapin.edu (Kurt D. Starsinic)
-             Msg-ID:  <199803120515.VAA08660@chapin.edu>
-             Files:  pod/perlfunc.pod pp_sys.c
-             
-             Title:  "warning for: bless $foo, """
-             From:  Joshua.Pritikin@NewYork2.dmg.deuba.com
-             Msg-ID:  
-             Files:  pod/perldiag.pod pp.c
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "Mention SWIG in perlxs.pod"
-             From:  Steve A Fink 
-             Msg-ID:  
-             Files:  pod/perlxs.pod
-             
-             Title:  "fix-up of previous perlre.pod patch"
-             From:  Ted Ashton 
-             Msg-ID:  <199803031540.KAA09388@ns.southern.edu>
-             Files:  pod/perlre.pod
-             
-             Title:  "long list of man page nitpicks"
-             From:  Greg Bacon , Tom Christiansen
-             
-             Msg-ID:  <199804221844.NAA08338@pluto.cs.uah.edu>,
-             <199804222204.QAA20805@jhereg.perl.com>
-             Files:  pod/perlapio.pod pod/perlcall.pod pod/perldebug.pod pod/perldelta.pod
-             pod/perldiag.pod pod/perlembed.pod pod/perlfaq2.pod
-             pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod
-             pod/perlfaq7.pod pod/perlfaq8.pod pod/perlform.pod
-             pod/perlfunc.pod pod/perlguts.pod pod/perlipc.pod
-             pod/perllocale.pod pod/perlmodlib.pod pod/perlop.pod
-             pod/perlre.pod pod/perlref.pod pod/perlrun.pod
-             pod/perlstyle.pod pod/perlsub.pod pod/perlsyn.pod
-             pod/perltoot.pod pod/perlvar.pod pod/perlxs.pod
-             pod/pod2man.PL
-             
-             Title:  "document that system() does not set $! when it fails"
-             From:  "Mark R. Levinson" 
-             Msg-ID:  <199803011946.OAA31942@anaximander.dccs.upenn.edu>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "Fix pod/roffitall execute permission"
-             From:  lvirden@cas.org
-             Msg-ID:  <1997Nov17.132031.2589892@cor.newman>
-             Files:  pod/roffitall
-             
-             Title:  "document when split ignores trailing empty fields"
-             From:  Hugo van der Sanden 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod
-             
-             ------  EXTENSIONS  ------
-             
-             Title:  "Buglet in Opcode.pm documentation"
-             From:  Horst von Brand 
-             Msg-ID:  <199804170349.XAA32445@sleipnir.valparaiso.cl>
-             Files:  ext/Opcode/Opcode.pm
-             
-             Title:  "Failure to append to perllocal.pod should not be fatal"
-             From:  koenig@kulturbox.de (Andreas J. Koenig)
-             Msg-ID:  
-             Files:  lib/ExtUtils/MM_Unix.pm
-             
-             Title:  "Document that IO.pm does not load IO::Select etc"
-             From:  Graham Barr 
-             Msg-ID:  <353B48F1.64E35A63@ti.com>
-             Files:  ext/IO/IO.pm
-             
-             Title:  "Install extensions with bootstrap (again) in $archlib"
-             From:  Achim Bohnet , koenig@kulturbox.de (Andreas J.
-             Koenig)
-             Msg-ID:  <9804061909.AA12675@o09.xray.mpe.mpg.de>,
-             
-             Files:  lib/ExtUtils/Install.pm
-             
-             Title:  "glibc2.0.6 missing MSG_*  defines."
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  ext/Socket/Socket.xs
-             
-             ------  LIBRARY  ------
-             
-             Title:  "Benchmark.pm: add run-for-some-time mode"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199804080647.JAA15136@alpha.hut.fi>
-             Files:  lib/Benchmark.pm
-             
-             Title:  "Comments added to Carp.pm"
-             From:  Andy Wardley , Chip Salzenberg
-             , Tom Christiansen
-             
-             Msg-ID:  <19980422164242.E29222@perl.org>,
-             <199804222033.OAA17959@jhereg.perl.com>,
-             <980409182357.ZM21638@bandanna>
-             Files:  lib/Carp.pm
-             
-             Title:  "chat2.pl fix"
-             From:  Charles Bailey 
-             Msg-ID:  <01IVMVF507PO001NKH@cor.newman.upenn.edu>
-             Files:  lib/chat2.pl
-             
-             Title:  "lib/Pod/Html.pm"
-             From:  d-lewart@uiuc.edu (Daniel S. Lewart)
-             Msg-ID:  <199710170718.DAA25472@staff1.cso.uiuc.edu>,
-             <199710180417.AAA19778@staff2.cso.uiuc.edu>
-             Files:  lib/Pod/Html.pm
-             
-             Title:  "ormaments method in Term/ReadLine.pm causes warning with string
-             arg."
-             From:  hiroo.hayashi@computer.org
-             Msg-ID:  <199804061519.AAA21907@mail.fb3.so-net.ne.jp>
-             Files:  lib/Term/ReadLine.pm
-             
-             ------  OTHER CHANGES  ------
-             
-             Title:  "ptags broken"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199804120208.WAA29264@monk.mps.ohio-state.edu>
-             Files:  emacs/ptags
-             
-             ------  PORTABILITY - WIN32  ------
-             
-             Title:  "win32 tweaks (signals and crypt support)"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199804170505.BAA06413@aatma.engin.umich.edu>
-             Files:  perl.h win32/config.bc win32/config.vc win32/config_H.bc
-             win32/config_H.vc win32/win32.c
-             
-             ------  PORTABILITY - GENERAL  ------
-             
-             Title:  "Add Social Contract (2nd Draft) as Porting/Contract"
-             From:  Russ Allbery 
-             Msg-ID:  
-             Files:  Porting/Contract
-             
-             Title:  "Config: Irix 5 hints"
-             From:  kstar@O2.chapin.edu
-             Msg-ID:  <199804061712.NAA22823@O2.chapin.edu>
-             Files:  hints/irix_5.sh
-             
-             Title:  "VMS patches to 5.004_03"
-             From:  Charles Bailey 
-             Msg-ID:  <01IVYJS0L8D200209B@cor.newman.upenn.edu>
-             Files:  vms/vms.c
-             
-             Title:  "hints/netbsd.sh - enable vfork"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  hints/netbsd.sh
-             
-             ------  UTILITIES  ------
+[  3178] By: gbarr                                 on 1999/03/28  01:39:23
+        Log: fix $Config{'usethreads'} typo in perlthrtut
              
-             Title:  "support find2perl -follow"
-             From:  Billy 
-             Msg-ID:  
-             Files:  x2p/find2perl.PL
-     Branch: maint-5.004/perl
-           + Porting/Contract t/op/hashwarn.t
-	   ! MANIFEST Todo doio.c emacs/ptags embed.h ext/IO/IO.pm
-	   ! ext/Opcode/Opcode.pm ext/Socket/Socket.xs hints/irix_5.sh
-	   ! hints/netbsd.sh hv.c lib/Benchmark.pm lib/Carp.pm
-	   ! lib/ExtUtils/Install.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/Pod/Html.pm lib/Term/ReadLine.pm lib/chat2.pl opcode.h
-	   ! opcode.pl perl.c perl.h pod/perlapio.pod pod/perlcall.pod
-	   ! pod/perldebug.pod pod/perldelta.pod pod/perldiag.pod
-	   ! pod/perlembed.pod pod/perlfaq2.pod pod/perlfaq3.pod
-	   ! pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfaq7.pod
-	   ! pod/perlfaq8.pod pod/perlform.pod pod/perlfunc.pod
-	   ! pod/perlguts.pod pod/perlhist.pod pod/perlipc.pod
-	   ! pod/perllocale.pod pod/perlmodlib.pod pod/perlop.pod
-	   ! pod/perlre.pod pod/perlref.pod pod/perlrun.pod
-	   ! pod/perlstyle.pod pod/perlsub.pod pod/perlsyn.pod
-	   ! pod/perltoot.pod pod/perlvar.pod pod/perlxs.pod pod/pod2man.PL
-	   ! pod/roffitall pp.c pp_hot.c pp_sys.c sv.c t/TEST t/op/gv.t
-	   ! t/op/substr.t vms/vms.c win32/config.bc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.vc win32/win32.c
-           ! x2p/find2perl.PL
+             From: Ian Maloney 
+             Date: Thu, 25 Mar 1999 16:40:14 +0100 (MET)
+             Message-Id: <199903251540.QAA02439@wsblob.>
+             Subject: perlthrtut documentation error
+     Branch: maint-5.005/perl
+           ! pod/perlthrtut.pod
 ____________________________________________________________________________
-[   896] By: TimBunce                              on 1998/04/22  11:49:24
-        Log: Assorted patches:
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "Additional regex-cache patch"
-             From:  Chip Salzenberg 
-             Msg-ID:  <19980305104831.38100@cyprus>
-             Files:  pp_ctl.c
-             
-             Title:  "Conservative C<*x = undef> patch"
-             From:  Chip Salzenberg 
-             Msg-ID:  <19980310163310.48509@cyprus>
-             Files:  pod/perldiag.pod pod/perlfunc.pod pp.c sv.c t/op/gv.t
-             
-             Title:  "Consider @ARGV to be plain files if inplace (-i)"
-             From:  Chip Salzenberg 
-             Msg-ID:  <199802042106.QAA04082@nielsenmedia.com>
-             Files:  doio.c
-             
-             Title:  "Fix semctl for Linux, Sun and SVR4"
-             From:  Graham Barr , lvirden@cas.org (Larry W. Virden, x2487)
-             Msg-ID:  <3484247D.BB036D39@ti.com>, <9712021313.AA11495@cas.org>
-             Files:  doio.c
-             
-             Title:  "C entails using C, not C"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199803070149.UAA12217@aatma.engin.umich.edu>
-             Files:  pod/perlcall.pod pod/perlembed.pod pod/perlguts.pod pod/perlxs.pod
-             doio.c doop.c ext/DB_File/DB_File.xs
-             ext/DynaLoader/dl_dld.xs ext/Opcode/Opcode.xs
-             ext/POSIX/POSIX.xs ext/Socket/Socket.xs gv.c
-             lib/ExtUtils/typemap mg.c os2/OS2/REXX/REXX.xs
-             win32/win32.c
-             
-             Title:  "Make autouse -w-safe"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199803030236.VAA13244@monk.mps.ohio-state.edu>
-             Files:  lib/autouse.pm op.c sv.c
-             
-             Title:  "Misleading error on close of unopened handle"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  doio.c
-             
-             Title:  "Confusing error from perl -e "x'""
-             From:  Hans Mulder 
-             Msg-ID:  <1998Mar25.174320.2866352@cor.newman.upenn.edu>
-             Files:  toke.c
-             
-             Title:  "Add HAS_GNULIBC define"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  config_H config_h.SH
-             
-             Title:  "h_errno might not be an int"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  pp_sys.c
-             
-             Title:  "Revised taint hole closer", "Revised taint hole closer"
-             From:  Chip Salzenberg , Ilya Zakharevich
-             
-             Msg-ID:  <19980310222127.09350@cyprus>,
-             <199803110554.AAA29157@monk.mps.ohio-state.edu>
-             Files:  doio.c
-             
-             Title:  "SEGV compiling localised lexical in perl5.004_05t1"
-             From:  Gurusamy Sarathy , h.sanden@elsevier.nl (Hugo
-             van der Sanden)
-             Msg-ID:  <199803171530.QAA24053@dorlas.elsevier.nl>,
-             <199803171727.MAA05234@aatma.engin.umich.edu>
-             Files:  op.c t/op/misc.t
-             
-             Title:  "Stale SP in pp_substr"
-             From:  Stephen McCamant 
-             Msg-ID:  
-             Files:  pp.c
-             
-             Title:  "Statement unlikely to be reached warning"
-             From:  Hans Mulder 
-             Msg-ID:  <1997Dec24.171511.2683516@cor.newman>
-             Files:  op.c
-             
-             Title:  "Tainting propagates from nowhere"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199803140411.XAA09343@aatma.engin.umich.edu>
-             Files:  pp.c
-             
-             Title:  "two trivial tweaks to 5.004m5t1"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199803060553.AAA28461@aatma.engin.umich.edu>
-             Files:  proto.h win32/Makefile
-             
-             Title:  "unpacking negatives on Alpha"
-             From:  Achim Bohnet 
-             Msg-ID:  <9710201503.AA24797@o09.xray.mpe.mpg.de>
-             Files:  pp.c t/op/pack.t
-             
-             ------  LIBRARY AND EXTENSIONS  ------
-             
-             Title:  "Cwd.pm: abs_path() and fast_abs_path() plus code merge"
-             From:  Graham Barr 
-             Msg-ID:  <3482F365.4A0486BA@ti.com>
-             Files:  lib/Cwd.pm
-             
-             Title:  "Math/BigInt.pm, fixed use of undefined value."
-             From:  abigail@fnx.com
-             Msg-ID:  <19980313052452.27365.qmail@betelgeuse.wayne.fnx.com>
-             Files:  lib/Math/BigInt.pm
-             
-             Title:  "File::Find rewrite"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199803052344.SAA01008@monk.mps.ohio-state.edu>
-             Files:  lib/File/Find.pm
-             
-             Title:  "efficient version of strict.pm"
-             From:  koenig@anna.mind.de (Andreas J. Koenig)
-             Msg-ID:  
-             Files:  lib/strict.pm
-             
-             Title:  "Socket occasional SEGV in pack_sockaddr_un"
-             From:  Trevor Blackwell 
-             Msg-ID:  <199710281804.NAA09632@wagg.viaweb.com>
-             Files:  ext/Socket/Socket.xs
-             
-             Title:  "Warning on mis-use of 'use lib'"
-             From:  "M.J.T. Guy" , Tom Phoenix
-             , chip@atlantic.net
-             Msg-ID:  <199801270435.XAA14147@cyprus.atlantic.net>,
-             ,
-             
-             Files:  lib/lib.pm
-             
-             Title:  "bug in Class::Struct"
-             From:  Tom Christiansen 
-             Msg-ID:  <199803290814.KAA05699@toy.perl.com>
-             Files:  lib/Class/Struct.pm
-             
-             Title:  "Allow POSIX to export nice()"
-             From:  bkeelerx@iwa.dp.intel.com (Bruce J. Keeler)
-             Msg-ID:  
-             Files:  ext/POSIX/POSIX.pm
-             
-             Title:  "'use Env' on WinNT/95 fails"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199803280511.AAA15933@aatma.engin.umich.edu>
-             Files:  lib/Env.pm
-             
-             ------  OTHER CHANGES  ------
-             
-             Title:  "mv-if-diff"
-             From:  Robin Barker 
-             Msg-ID:  <14572.9803271806@tempest.cise.npl.co.uk>
-             Files:  mv-if-diff
-             
-             ------  PORTABILITY - WIN32  ------
-             
-             Title:  "fix various problems with backticks on win32"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199803070705.CAA15945@aatma.engin.umich.edu>
-             Files:  win32/config_h.PL win32/win32.c
-             
-             ------  TESTS  ------
-             
-             Title:  "Fix bug in locale.t"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199801042148.XAA08599@alpha.hut.fi>
-             Files:  t/pragma/locale.t
-     Branch: maint-5.004/perl
-	   ! config_H config_h.SH doio.c doop.c ext/DB_File/DB_File.xs
-	   ! ext/DynaLoader/dl_dld.xs ext/Opcode/Opcode.xs
-	   ! ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs ext/Socket/Socket.xs
-	   ! gv.c lib/Class/Struct.pm lib/Cwd.pm lib/Env.pm
-	   ! lib/ExtUtils/typemap lib/File/Find.pm lib/Math/BigInt.pm
-	   ! lib/autouse.pm lib/lib.pm lib/strict.pm mg.c mv-if-diff op.c
-	   ! os2/OS2/REXX/REXX.xs pod/perlcall.pod pod/perldiag.pod
-	   ! pod/perlembed.pod pod/perlfunc.pod pod/perlguts.pod
-	   ! pod/perlxs.pod pp.c pp_ctl.c pp_sys.c proto.h sv.c t/op/gv.t
-	   ! t/op/misc.t t/op/pack.t t/pragma/locale.t toke.c
-           ! win32/Makefile win32/config_h.PL win32/win32.c
-____________________________________________________________________________
-[   895] By: gsar                                  on 1998/04/22  03:13:19
-        Log: intern -> sys_intern
-     Branch: win32/perl
-           ! embedvar.h interp.sym intrpvar.h win32/win32.h
-____________________________________________________________________________
-[   894] By: gsar                                  on 1998/04/22  02:42:20
-        Log: hand-applied patch along with small tweaks
-             Message-Id: <35400e2a.13538517@smtp1.ibm.net>
-             Date:    Tue, 21 Apr 1998 23:31:06 +0200
-             From:    jan.dubois@ibm.net (Jan Dubois)
-             Subject: Re: Per-Interpreter variables for win32.c 
-     Branch: win32/perl
-	   ! embedvar.h interp.sym intrpvar.h perl.c perl.h proto.h
-           ! win32/makedef.pl win32/win32.c win32/win32.h
-____________________________________________________________________________
-[   893] By: gsar                                  on 1998/04/21  03:42:21
-        Log: add AS patch#17
-     Branch: asperl
-           + win32/GenCAPI.pl
-	   ! MANIFEST XSUB.h cv.h ipstdio.h lib/ExtUtils/MM_Unix.pm
-	   ! lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm
-	   ! lib/ExtUtils/Mksymlists.pm lib/ExtUtils/xsubpp op.c perl.h
-	   ! pp_ctl.c pp_hot.c proto.h sv.h thread.h win32/Makefile
-	   ! win32/dl_win32.xs win32/makefile.mk win32/runperl.c
-           ! win32/win32.c
+[  3173] By: gbarr                                 on 1999/03/27  18:19:47
+        Log: Update Test.pm to VERSION 1.122 from CPAN
+     Branch: maint-5.005/perl
+           ! lib/Test.pm
 ____________________________________________________________________________
-[   892] By: gsar                                  on 1998/04/20  20:51:50
-        Log: add AS patch#16
-     Branch: asperl
-	   ! globals.c ipdir.h perl.h perlvars.h regcomp.h win32/Makefile
-           ! win32/makefile.mk
+[  3171] By: jhi                                   on 1999/03/26  22:38:28
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> (integrate 37 files)
 ____________________________________________________________________________
-[   891] By: gsar                                  on 1998/04/19  23:50:34
-        Log: tweak doc for C
-     Branch: win32/perl
-           ! pod/perlfunc.pod
+[  3170] By: gsar                                  on 1999/03/26  01:30:25
+        Log: specify type of bracket in "Unmatched bracket" diagnostic;
+             prefer 'brace' or 'curly bracket' over 'curly brace'
+     Branch: perl
+	   ! pod/perldiag.pod pod/perlreftut.pod pod/perlstyle.pod
+           ! t/op/misc.t t/op/re_tests toke.c
 ____________________________________________________________________________
-[   890] By: gsar                                  on 1998/04/19  01:08:11
-        Log: use a pidtable that grows dynamically for popen()
-             Message-Id: <3539f434.44835409@smtp1.ibm.net>
-             Date:    Sat, 18 Apr 1998 21:01:27 +0200
-             From:    jan.dubois@ibm.net (Jan Dubois)
-             Subject: Re: [PATCH] for bug in 5.004_64 when compiled with MSC++ 4.2 
-     Branch: win32/perl
-           ! win32/win32.c
+[  3169] By: gsar                                  on 1999/03/26  00:50:51
+        Log: better description of "Integer overflow" diagnostic
+     Branch: perl
+           ! pod/perldiag.pod
 ____________________________________________________________________________
-[   889] By: gsar                                  on 1998/04/17  02:13:58
-        Log: support POSIX, enable more locale tests
-     Branch: win32/perl
-	   ! ext/POSIX/Makefile.PL ext/POSIX/POSIX.pm ext/POSIX/POSIX.xs
-	   ! t/lib/posix.t t/pragma/locale.t win32/Makefile
-           ! win32/makedef.pl win32/makefile.mk
+[  3168] By: gsar                                  on 1999/03/25  11:02:46
+        Log: applied needful parts of suggested patch
+             From: "Vishal Bhatia" 
+             Date: Tue, 23 Mar 1999 16:21:43 -0800
+             Message-ID: 
+             Subject: [PATCH 5.005_56] pp_formline correction
+     Branch: perl
+           ! ext/B/B/Bblock.pm ext/B/B/CC.pm
 ____________________________________________________________________________
-[   888] By: mbeattie                              on 1998/04/14  16:22:51
-        Log: CC did "<<" instead of ">>" for right-shift on ints.
+[  3167] By: gsar                                  on 1999/03/25  10:39:02
+        Log: clarify what a "comment" means (due to Mark-Jason Dominus
+             )
      Branch: perl
-           ! ext/B/B/CC.pm
+           ! pod/perlsyn.pod
 ____________________________________________________________________________
-[   887] By: TimBunce                              on 1998/04/10  17:44:55
-        Log: Assorted patches:
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "Re: die exits with 0"
-             From:  Robin Barker 
-             Files:  perl.c t/op/die_exit.t
-             
-             Title:  "More toke.c commentary; fix oddity"
-             From:  h.sanden@elsevier.nl (Hugo van der Sanden)
-             Msg-ID:  <199803251022.LAA01308@dorlas.elsevier.nl>
-             Files:  toke.c
-             
-             Title:  "for semctl on solaris"
-             From:  Graham Barr 
-             Msg-ID:  <34624B80.C014E841@ti.com>
-             Files:  doio.c t/op/ipcmsg.t t/op/ipcsem.t
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "Add more 'see also's to perlre.pod.", "Perl regexp /g modifier bug"
-             From:  Ilya Zakharevich , epeschko@den-mdev1 (Ed
-             Peschko), pjr@watcher.telstra.com.au (Peter Richardson)
-             Msg-ID:  <199803050000.LAA11476@watcher.telecom.com.au>,
-             <199803050231.VAA19128@monk.mps.ohio-state.edu>,
-             <199803050605.XAA09785@den-mdev1.co.csgsystems.com>
-             Files:  pod/perlre.pod
-             
-             ------  LIBRARY AND EXTENSIONS  ------
-             
-             Title:  "BigFloat - small neagtive numbers cause panic"
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199711201325.NAA09732@crypt.compulink.co.uk>
-             Files:  lib/Math/BigFloat.pm
-             
-             Title:  "Update Getopt::Long to 2.16"
-             From:  JVromans@Squirrel.nl (Johan Vromans), Johan Vromans
-             
-             Msg-ID:  <13571.48089.726787.147769@plume.nl.compuware.com>,
-             <13572.6847.863219.973795@phoenix.squirrel.nl>
-             Files:  lib/Getopt/Long.pm
-             
-             Title:  "New Text::ParseWords"
-             From:  pomeranz@netcom.com (Hal Pomeranz)
-             Msg-ID:  <199710162118.OAA06275@netcom7.netcom.com>
-             Files:  lib/Text/ParseWords.pm t/lib/parsewords.t
-             
-             Title:  "Fixed Text/Wrap.pm bugs (2)"
-             From:  Jacqui Caren 
-             Msg-ID:  <199709291548.QAA08645@toad.ig.co.uk>
-             Files:  lib/Text/Wrap.pm
-             
-             Title:  "Very *evil* File::CheckTree behavior! (now uses warn/die not
-             print/exit)"
-             From:  Eryq , Randal Schwartz 
-             Msg-ID:  <34B542FD.190A@zeegee.com>, <8cen2i9k6f.fsf@gadget.cscaper.com>
-             Files:  lib/File/CheckTree.pm
-             
-             ------  OTHER CHANGES  ------
-             
-             Title:  "Add ./emacs/ptags"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199803150847.DAA08196@monk.mps.ohio-state.edu>
-             Files:  emacs/ptags
-             
-             ------  TESTS  ------
-             
-             Title:  "Avoid stat test failure from build in /tmp (tmpfs)", "Build in /tmp"
-             From:  Andy Dougherty , Greg Bacon
-             , pudge@pobox.com (Chris Nandor)
-             Msg-ID:  <199710171616.LAA13435@crp-201.adtran.com>,
-             ,
-             
-             Files:  t/op/stat.t
-             
-             Title:  "for failure with lib/timelocal"
-             From:  "M.J.T. Guy" , jan.dubois@ibm.net (Jan Dubois)
-             Msg-ID:  <34c78f61.2529827@smtp1.ibm.net>,
-             
-             Files:  t/lib/timelocal.t
-             
-             Title:  "Make "localhost" related failures more clear"
-             From:  Paul Hoffman 
-             Msg-ID:  <199801201859.KAA05686@mail.proper.com>
-             Files:  t/lib/io_sock.t t/lib/io_udp.t
-             
-             ------  UTILITIES  ------
-             
-             Title:  "Let h2xs read multiple header files"
-             From:  Andy Dougherty , Benjamin Sugars
-             
-             Msg-ID:  ,
-             
-             Files:  utils/h2xs.PL
-     Branch: maint-5.004/perl
-           + emacs/ptags t/op/die_exit.t t/op/ipcmsg.t t/op/ipcsem.t
-	   ! MANIFEST doio.c lib/File/CheckTree.pm lib/Getopt/Long.pm
-	   ! lib/Math/BigFloat.pm lib/Text/ParseWords.pm lib/Text/Wrap.pm
-	   ! lib/base.pm perl.c pod/perlre.pod t/lib/io_sock.t
-	   ! t/lib/io_udp.t t/lib/parsewords.t t/lib/timelocal.t
-           ! t/op/stat.t toke.c utils/h2xs.PL vms/perly_h.vms
-____________________________________________________________________________
-[   886] By: TimBunce                              on 1998/04/10  14:35:34
-        Log: Changes relating primarily to portability.
-             
-             ------  CORE LANGUAGE  ------
-             
-             Title:  "5.004_55: Another round of OS/2 patches"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199803050945.EAA20153@monk.mps.ohio-state.edu>
-             Files:  hints/os2.sh pod/perlguts.pod cop.h perl.h proto.h README.os2
-             global.sym lib/ExtUtils/MM_OS2.pm lib/File/Path.pm op.c
-             os2/Changes os2/Makefile.SHs os2/os2.c os2/perl2cmd.pl
-             perl.c pod/pod2man.PL pp_ctl.c pp_hot.c pp_sys.c
-             t/lib/filecopy.t util.c utils/perldoc.PL
-             
-             Title:  "VMS: chdir() with empty arg list"
-             From:  lane@duphy4.drexel.edu (Charles Lane)
-             Msg-ID:  <980317125556.222041c7@DUPHY4.Physics.Drexel.Edu>
-             Files:  pp_sys.c
-             
-             ------  LIBRARY AND EXTENSIONS  ------
-             
-             Title:  "ExtUtils/MM_Unix.pm changed to use ld -rpath on IRIX"
-             From:  "W. Phillip Moore" 
-             Msg-ID:  <199712011738.MAA21139@zappa.morgan.com>
-             Files:  lib/ExtUtils/MM_Unix.pm
-             
-             Title:  "[Linux] POSIX::_[PS]C_.+ bug (add HINT_SC_EXIST)"
-             From:  Yutaka OIWA 
-             Msg-ID:  <199712251923.EAA08260@tjms1f.is.s.u-tokyo.ac.jp>
-             Files:  ext/POSIX/hints/linux.pl ext/POSIX/POSIX.xs
-             
-             Title:  "5.004_04-m1] Use HAS_GNULIBC in POSIX.xs"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  ext/POSIX/POSIX.xs
-             
-             Title:  ""ODBM_File.c", line 275: NULL undefined"
-             From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
-             Msg-ID:  <9803091310.AA23264@claudius.bfsec.bt.co.uk>
-             Files:  ext/ODBM_File/ODBM_File.xs
-             
-             ------  OTHER CHANGES  ------
-             Files:  
-             
-             ------  PORTABILITY - GENERAL  ------
-             
-             Title:  "5.004_04 QNX getcwd"
-             From:  Norton Allen 
-             Msg-ID:  <199802121838.NAA20452@dolores.harvard.edu>,
-             <199803061511.KAA22346@bottesini.harvard.edu>
-             Files:  hints/qnx.sh lib/Cwd.pm t/op/magic.t
-             
-             Title:  "hints/netbsd.sh d_setrgid d_setruid"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199802281435.QAA10866@alpha.hut.fi>
-             Files:  hints/netbsd.sh
-             
-             Title:  "osname=unixware, osvers=2.03, archname=i386-unixware
-             d_casti32=undef"
-             From:  Tom Hughes 
-             Msg-ID:  <465398da47%tom@compton.demon.co.uk>
-             Files:  hints/svr4.sh
-             
-             Title:  "hints/bsdos.sh patch for BSDI 3.1"
-             From:  Jan-Pieter Cornet 
-             Msg-ID:  <6fbip6$3cp$1@xs1.xs4all.nl>
-             Files:  hints/bsdos.sh
-             
-             Title:  "Remove BIND_NOSTART from DynaLoader for HP"
-             From:  Keong Lim 
-             Msg-ID:  <01BD1D03.53B65E90@sieplan2.sr.com.au>
-             Files:  ext/DynaLoader/dl_hpux.xs
-             
-             Title:  "Building Perl on AIX 4+ with shared libraries and dynamic loading"
-             From:  Juan Gallego 
-             Msg-ID:  
-             Files:  hints/aix.sh
-             
-             Title:  "alpha-dec_osf 5.0"
-             From:  Spider Boardman 
-             Msg-ID:  <199712232305.SAA08359@Orb.Nashua.NH.US>
-             Files:  hints/dec_osf.sh
-             
-             Title:  "Off-by-one error with OS2::PrfDB"
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199710170920.FAA00390@monk.mps.ohio-state.edu>
-             Files:  os2/OS2/PrfDB/PrfDB.xs
-             
-             Title:  "5.004_04-m1] Allow overrides in hints/openbsd.sh"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  hints/openbsd.sh
-             
-             Title:  "5.004_04-m1] Linux shouldn't use -lnet"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  hints/linux.sh
-             
-             Title:  "5.004_(04|63)] Close VMS security hole"
-             From:  Charles Bailey 
-             Msg-ID:  <01IV6LRJCSSC0009C4@cor.newman.upenn.edu>
-             Files:  vms/vms.c
-             
-             Title:  "Re: Perl online documentation on OpenVMS"
-             From:  pvhp@forte.com (Peter Prymmer)
-             Msg-ID:  <9803192143.AA28120@forte.com>
-             Files:  README.vms
-             
-             Title:  "Perl5.004_04m4t4 *almost* makes it for VMS", "Updated
-             vms/perly_c.vms and vms/perly_h.vms"
-             From:  Andy Dougherty , Dan Sugalski
-             , larry@wall.org (Larry Wall)
-             Msg-ID:  <199710151650.JAA29185@wall.org>,
-             <3.0.3.32.19971014150404.02fdef78@osshe.edu>,
-             
-             Files:  vms/perly_c.vms
-             
-             Title:  "Updated, non-wordwrapped, patch to README.VMS"
-             From:  Dan Sugalski 
-             Msg-ID:  <3.0.5.32.19980213133828.0092c870@osshe.edu>
-             Files:  README.vms
-             
-             Title:  "VMS patches to 5.004_03 (excluding installperl and timelocal.t)"
-             From:  Charles Bailey 
-             Msg-ID:  <01INZT9G2LZS0006YW@cor.newman.upenn.edu>
-             Files:  lib/File/Basename.pm lib/File/Path.pm vms/config.vms vms/descrip.mms
-             vms/genconfig.pl vms/test.com vms/vms.c vms/ext/Filespec.pm
-             vms/ext/filespec.t
-             
-             Title:  "Re: VMSperl crashes on -Mblib argument"
-             From:  bailey@newman.upenn.edu (Charles Bailey)
-             Msg-ID:  <1997Dec10.004439.2635060@cor.newman>
-             Files:  lib/blib.pm vms/vms.c
-             
-             Title:  "hints/linux.sh (MkLinux / PPC)"
-             From:  pudge@pobox.com (Chris Nandor)
-             Msg-ID:  
-             Files:  hints/linux.sh
-             
-             Title:  "hpux.sh hints file clarification suggestion"
-             From:  root@qad.com
-             Msg-ID:  <199802192351.QAA09096@jhereg.perl.com>
-             Files:  hints/hpux.sh
-             
-             Title:  "new hints/solaris_2.sh"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  hints/solaris_2.sh
-     Branch: maint-5.004/perl
-	   ! README.os2 README.vms cop.h ext/DynaLoader/dl_hpux.xs
-	   ! ext/ODBM_File/ODBM_File.xs ext/POSIX/POSIX.xs
-	   ! ext/POSIX/hints/linux.pl global.sym hints/aix.sh
-	   ! hints/bsdos.sh hints/dec_osf.sh hints/hpux.sh hints/linux.sh
-	   ! hints/netbsd.sh hints/openbsd.sh hints/os2.sh hints/qnx.sh
-	   ! hints/solaris_2.sh hints/svr4.sh lib/Cwd.pm
-	   ! lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/File/Basename.pm lib/File/Path.pm lib/blib.pm op.c
-	   ! os2/Changes os2/Makefile.SHs os2/OS2/PrfDB/PrfDB.xs os2/os2.c
-	   ! os2/perl2cmd.pl perl.c perl.h pod/perlguts.pod pod/pod2man.PL
-	   ! pp_ctl.c pp_hot.c pp_sys.c proto.h t/lib/filecopy.t
-	   ! t/op/magic.t util.c utils/perldoc.PL vms/config.vms
-	   ! vms/descrip.mms vms/ext/Filespec.pm vms/ext/filespec.t
-	   ! vms/genconfig.pl vms/perly_c.vms vms/perly_h.vms vms/test.com
-           ! vms/vms.c
+[  3166] By: gsar                                  on 1999/03/25  10:33:18
+        Log: describe current behavior on local($foo{nothere}) (suggested by
+             Lionel Cons )
+     Branch: perl
+           ! pod/perlsub.pod
 ____________________________________________________________________________
-[   885] By: gsar                                  on 1998/04/08  01:14:29
-        Log: small tweaks to make it compile (doesn't run)
-     Branch: asperl
-	   ! objpp.h win32/Makefile win32/config.bc win32/config.gc
-           ! win32/config.vc win32/makefile.mk
+[  3165] By: gsar                                  on 1999/03/25  06:21:05
+        Log: fix refcnt on PL_main_cv (variant of suggestion by Vishal Bhatia
+             )
+     Branch: perl
+           ! ext/B/B/C.pm
 ____________________________________________________________________________
-[   884] By: gsar                                  on 1998/04/08  00:14:13
-        Log: integrate mainline changes
-     Branch: asperl
-	  +> Changes5.004 ext/Thread/Thread/Signal.pm
-	  +> lib/ExtUtils/Installed.pm lib/ExtUtils/Packlist.pm
-          +> lib/ExtUtils/inst t/op/hashwarn.t
-           ! ObjXSub.h embedvar.h interp.sym intrpvar.h objpp.h
-          !> (integrate 127 files)
-____________________________________________________________________________
-[   883] By: gsar                                  on 1998/04/06  20:21:20
-        Log: make old DomainName() implementation the default (so Win95
-             is happy)
-     Branch: win32/perl
-           ! win32/win32.c
+[  3164] By: gsar                                  on 1999/03/25  06:17:27
+        Log: From: Stephen McCamant 
+             Date: Tue, 23 Mar 1999 17:47:04 -0800 (PST)
+             Message-ID: <14072.16859.154428.241373@fre-76-120.reshall.berkeley.edu>
+             Subject: [PATCH _56] Compiler needs to know about utf8 SVOP tr///s
+     Branch: perl
+           ! ext/B/B.xs op.h opcode.pl
 ____________________________________________________________________________
-[   882] By: gsar                                  on 1998/04/05  23:32:33
-        Log: fix memory leaks in offer_nice_chunk()
-     Branch: win32/perl
-           ! perl.h sv.c
+[  3163] By: gsar                                  on 1999/03/25  06:15:49
+        Log: B::Deparse update from Stephen McCamant 
+             Date: Tue, 23 Mar 1999 02:41:34 -0800 (PST)
+             Message-ID: <14071.27445.867782.852353@fre-76-120.reshall.berkeley.edu>
+             Subject: [PATCH _56] B::Deparse 0.57
+             --
+             Date: Tue, 23 Mar 1999 13:08:12 -0800 (PST)
+             Message-ID: <14072.502.107712.175179@fre-76-120.reshall.berkeley.edu>
+             Subject: Re: [PATCH _56] B::Deparse 0.57 
+     Branch: perl
+           ! AUTHORS MAINTAIN ext/B/B/Deparse.pm
 ____________________________________________________________________________
-[   881] By: gsar                                  on 1998/04/04  23:11:52
-        Log: set up PUSHSTACK for __DIE__ and __WARN__ hooks also
-     Branch: win32/perl
-           ! cop.h util.c
+[  3162] By: gsar                                  on 1999/03/25  06:11:46
+        Log: fix a few places that said 'int', but meant 'STRLEN'
+     Branch: perl
+           ! pod/perlguts.pod proto.h sv.c
 ____________________________________________________________________________
-[   880] By: gsar                                  on 1998/04/04  22:35:54
-        Log: fix refcounting of GvSTASH() when glob becomes nought
-             (this takes care of the "unbalanced strtab refcount" problem)
-     Branch: win32/perl
-           ! sv.c
+[  3161] By: gsar                                  on 1999/03/25  06:01:18
+        Log: From: Russ Allbery 
+             Date: 22 Mar 1999 04:26:26 -0800
+             Message-ID: 
+             Subject: [5.005_56] Add EXISTS to SDBM_File and libsdbm
+     Branch: perl
+	   ! ext/SDBM_File/SDBM_File.xs ext/SDBM_File/sdbm/README.too
+	   ! ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/pair.h
+	   ! ext/SDBM_File/sdbm/sdbm.3 ext/SDBM_File/sdbm/sdbm.c
+           ! ext/SDBM_File/sdbm/sdbm.h pod/perldelta.pod t/lib/sdbm.t
 ____________________________________________________________________________
-[   879] By: gsar                                  on 1998/04/04  21:16:17
-        Log: change 866 was incomplete
-     Branch: win32/perl
-           ! hv.c
+[  3160] By: gsar                                  on 1999/03/25  02:26:31
+        Log: better description of OP_UNSTACK (s/unstack/iteration finalizer/)
+     Branch: perl
+           ! opcode.h opcode.pl
 ____________________________________________________________________________
-[   878] By: gsar                                  on 1998/04/04  20:31:56
-        Log: fixes for various noises under PERL_DESTRUCT_LEVEL
-     Branch: win32/perl
-           ! cop.h perl.c pp_ctl.c
-____________________________________________________________________________
-[   877] By: gsar                                  on 1998/04/04  17:55:30
-        Log: integrate mainline
-     Branch: win32/perl
-          +> Changes5.004
-          !> Changes MANIFEST sv.c t/op/misc.t
-____________________________________________________________________________
-[   876] By: gsar                                  on 1998/04/04  17:26:32
-        Log: remove __declspec kludge in sdbm.h in favor of setting a
-             flag for static symbols
-     Branch: win32/perl
-	   ! EXTERN.h ext/SDBM_File/sdbm/Makefile.PL
-           ! ext/SDBM_File/sdbm/sdbm.h
+[  3159] By: gsar                                  on 1999/03/25  02:18:17
+        Log: add statement-modifier loops to :base_loop class
+     Branch: perl
+           ! ext/Opcode/Opcode.pm
+____________________________________________________________________________
+[  3158] By: gsar                                  on 1999/03/25  00:36:57
+        Log: integrate changes#3105,3130,3154 from maint-5.005
+     Branch: perl
+          !> Configure INSTALL hints/dec_osf.sh hints/netbsd.sh
 ____________________________________________________________________________
-[   875] By: gsar                                  on 1998/04/04  01:11:57
-        Log: fix order of init
-             Message-Id: <3.0.5.32.19980403135815.009d2440@osshe.edu>
-             Date:    Fri, 03 Apr 1998 13:58:15 PST
-             From:    Dan Sugalski 
-             Subject: [PATCH 5.004_64] perl dies in perl_construct when compiled
-             with MULTIPLICITY
-     Branch: win32/perl
-           ! perl.c
+[  3157] By: gsar                                  on 1999/03/25  00:24:17
+        Log: remove bogus panic()
+     Branch: perl
+           ! Changes lib/Math/BigFloat.pm
 ____________________________________________________________________________
-[   874] By: gsar                                  on 1998/04/04  00:34:59
-        Log: the EXTCONST in sdbm.h breaks SDBM on Borland, since
-             the declared symbol is not in a DLL (so kludge it)
-     Branch: win32/perl
-           ! ext/SDBM_File/sdbm/sdbm.h
+[  3156] By: jhi                                   on 1999/03/24  22:43:43
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> (branch 38 files)
+          !> (integrate 68 files)
 ____________________________________________________________________________
-[   873] By: TimBunce                              on 1998/04/03  22:17:40
-        Log: Title:  "FileHandle Documentation patch"
-             From:  "Darren/Torin/Who Ever..." 
-             Msg-ID:  <87emzqo49g.fsf@perv.daft.com>
-             Files:  lib/FileHandle.pm
-     Branch: maint-5.004/perl
-           ! lib/FileHandle.pm
+[  3155] By: jhi                                   on 1999/03/24  22:12:17
+        Log: Configure regenerated because of changes #3130/#3154 and #3147.
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   872] By: TimBunce                              on 1998/04/03  22:01:03
-        Log: Documentation and documentation related patches:
-             
-             ------  BUILD PROCESS  ------
-             
-             Title:  "Docs re /usr/bin/perl quasi-standard location"
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  INSTALL pod/perlrun.pod
-             
-             ------  DOCUMENTATION  ------
-             
-             Title:  "/RFC|RFC-1305/ non-greedy"
-             From:  Jan-Pieter Cornet 
-             Msg-ID:  <6epo02$c4r$1@xs1.xs4all.nl>
-             Files:  pod/perlre.pod
-             
-             Title:  "5.004_04: perlhist.pod, buildtoc, perltoc.pod"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199802191543.RAA29231@alpha.hut.fi>
-             Files:  pod/perl.pod pod/perlhist.pod pod/perltoc.pod pod/buildtoc
-             
-             Title:  "5.004_04: pod/perlfunc.pod: i18n example for localtime()"
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199711141555.RAA18875@alpha.hut.fi>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "typo-fix and suggestion for perlguts.pod"
-             From:  h.sanden@elsevier.nl (Hugo van der Sanden)
-             Msg-ID:  <199803051543.QAA03097@dorlas.elsevier.nl>
-             Files:  pod/perlguts.pod
-             
-             Title:  "perlfunc/syscall curiosity"
-             From:  Roderick Schertler , Tkil
-             
-             Msg-ID:  <199711302259.PAA02134@reptile.scrye.com>,
-             
-             Files:  pod/perlfunc.pod
-             
-             Title:  "Document sprintf %#x behaviour for zero value"
-             From:  ilya@math.ohio-state.edu (Ilya Zakharevich)
-             Msg-ID:  <1997Nov5.185959.2539604@cor.newman>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "NUL termination (was Re: STOP THE PRESSES)"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/perlguts.pod
-             
-             Title:  "Typo fix."
-             From:  abigail@fnx.com
-             Msg-ID:  <19971101120114.1030.qmail@betelgeuse.wayne.fnx.com>
-             Files:  pod/perlop.pod pod/perlvar.pod
-             
-             Title:  "5.004_63 perlrun.pod: _DEBUG_MSTATS"
-             From:  Achim Bohnet 
-             Msg-ID:  <9803181940.AA22587@o09.xray.mpe.mpg.de>
-             Files:  pod/perlrun.pod
-             
-             Title:  "Re: Conservative C<*x = undef> patch"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/perltrap.pod
-             
-             Title:  "perlfunc.pod for flock()"
-             From:  "Jeremy D. Zawodny" 
-             Msg-ID:  <3.0.5.32.19971118203119.00a723e0@woody.wcnet.org>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "buglet: 'perltoc' not mentioned in perl.pod"
-             From:  Tkil 
-             Msg-ID:  <19971127035036.17668.qmail@scrye.com>
-             Files:  pod/perl.pod
-             
-             Title:  "for() and map() peculiarity"
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/perlsyn.pod
-             
-             Title:  "Re: new text for perlsec"
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  pod/perlsec.pod
-             
-             Title:  "perldsc's debugger x command"
-             From:  Roderick Schertler 
-             Msg-ID:  <10669.878352893@eeyore.ibcinc.com>
-             Files:  pod/perldsc.pod
-             
-             Title:  "perlre.pod"
-             From:  Ted Ashton 
-             Msg-ID:  <199802271501.KAA09279@ns.southern.edu>
-             Files:  pod/perlre.pod
-             
-             Title:  "Re: printf and $\", "printf and $\"
-             From:  Roderick Schertler , Tom Phoenix
-             , nag 
-             Msg-ID:  <199711141918.TAA08096@flirble.org>,
-             , 
-             Files:  pod/perlfunc.pod
-             
-             Title:  "recv() typo"
-             From:  Roderick Schertler 
-             Msg-ID:  <12064.877012073@eeyore.ibcinc.com>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "truncate return value"
-             From:  Roderick Schertler 
-             Msg-ID:  <5490.878337883@eeyore.ibcinc.com>
-             Files:  pod/perlfunc.pod
-             
-             Title:  "update to perlbook.pod"
-             From:  "Nathan V. Patwardhan" , Randal Schwartz
-             , Stephen Potter
-             , Tom Phoenix
-             
-             Msg-ID:  <199803241354.HAA23938@psasolar.psa.pencom.com>,
-             <199803241441.OAA01261@mediaone.net>,
-             <8clnu0i05k.fsf@gadget.cscaper.com>,
-             
-             Files:  pod/perlbook.pod
-             
-             Title:  "utime documentation"
-             From:  "Brandon S. Allbery KF8NH" , "M.J.T. Guy"
-             
-             Msg-ID:  <199802180256.VAA11369@speaker.kf8nh.apk.net>,
-             
-             Files:  pod/perlfunc.pod
-             
-             Title:  "(well, doc patch) use of // requires successful match"
-             From:  Roderick Schertler 
-             Msg-ID:  
-             Files:  pod/perlop.pod
-             
-             ------  LIBRARY AND EXTENSIONS  ------
-             
-             Title:  "MakeMaker PM doc patch and a DIR buglet"
-             From:  Achim Bohnet 
-             Msg-ID:  <9711101050.AA13868@o09.xray.mpe.mpg.de>
-             Files:  lib/ExtUtils/MakeMaker.pm
-             
-             Title:  "bareword clarification for constant.pm"
-             From:  Roderick Schertler 
-             Msg-ID:  <6460.878143077@eeyore.ibcinc.com>
-             Files:  lib/constant.pm
-             
-             Title:  "integer rand - bug or feature?"
-             From:  Roderick Schertler 
-             Msg-ID:  
-             Files:  lib/integer.pm
-             
-             ------  OTHER CHANGES  ------
-             
-             Title:  "FileHandle Documentation patch"
-             From:  "Darren/Torin/Who Ever..." 
-             Msg-ID:  <87emzqo49g.fsf@perv.daft.com>
-             
-             Title:  "perl5.004_61 myconfig updates"
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  myconfig
-             
-             Title:  "small fixups in pod2latex.PL"
-             From:  "Darren/Torin/Who Ever..." 
-             Msg-ID:  <873eg6o3v2.fsf@perv.daft.com>
-             
-             ------  PORTABILITY - GENERAL  ------
-             
-             Title:  "Misc doc fixes for README.VMS"
-             From:  Dan Sugalski 
-             Msg-ID:  <3.0.5.32.19980121113134.00924a20@osshe.edu>
-             Files:  README.vms
-             
-             Title:  "moved DynaLib"
-             From:  John Tobey 
-             Msg-ID:  <199710182332.XAA21630@remote212>
-             Files:  ext/DynaLoader/DynaLoader.pm.PL
-             
-             ------  UTILITIES  ------
-             
-             Title:  "Searching for FAQs (patch to perldoc)"
-             From:  Piers Cawley , Russ Allbery 
-             Msg-ID:  ,
-             
-             Files:  utils/perldoc.PL
-             
-             Title:  "perldoc"
-             From:  Ted Ashton 
-             Msg-ID:  <199802271510.KAA10506@ns.southern.edu>
-             Files:  utils/perldoc.PL
-             
-             Title:  "perldoc -f not using pod2man"
-             From:  Russ Allbery 
-             Msg-ID:  
-             Files:  utils/perldoc.PL
-             
-             Title:  "perldoc -m should not require pod"
-             From:  Robin Houston 
-             Msg-ID:  <199803241319.NAA24777@stringfellow.guardian.co.uk>
-             Files:  utils/perldoc.PL
-             
-             Title:  "small fix for perldoc in perl 5.004_04"
-             From:  Julian Yip 
-             Msg-ID:  
-             Files:  utils/perldoc.PL
-     Branch: maint-5.004/perl
-           - ext/DynaLoader/DynaLoader.pm
-	   ! Changes Configure INSTALL README.vms
-	   ! ext/DynaLoader/DynaLoader.pm.PL ext/Socket/Socket.pm
-	   ! lib/ExtUtils/MakeMaker.pm lib/Tie/Hash.pm lib/constant.pm
-	   ! lib/integer.pm myconfig pod/buildtoc pod/checkpods.PL
-	   ! pod/perl.pod pod/perlbook.pod pod/perldelta.pod
-	   ! pod/perldiag.pod pod/perldsc.pod pod/perlfunc.pod
-	   ! pod/perlguts.pod pod/perlhist.pod pod/perllocale.pod
-	   ! pod/perlmod.pod pod/perlop.pod pod/perlre.pod pod/perlrun.pod
-	   ! pod/perlsec.pod pod/perlstyle.pod pod/perlsyn.pod
-	   ! pod/perltoc.pod pod/perltrap.pod pod/perlvar.pod
-           ! pod/pod2latex.PL toke.c utils/perldoc.PL
-
-----------------
-Version 5.004_64
-----------------
-
+[  3154] By: jhi                                   on 1999/03/24  21:40:51
+        Log: Reword the shared library search path (LD_LIBRARY_PATH) info
+             based on suggestions from Andy Dougherty.
+     Branch: maint-5.005/perl
+           ! INSTALL
 ____________________________________________________________________________
-[   871] By: mbeattie                              on 1998/04/03  13:38:59
-        Log: Update Changes5.004 and Changes, fix MANIFEST
+[  3153] By: gsar                                  on 1999/03/24  10:38:05
+        Log: applied suggested patch, modulo superceded parts
+             From: Charles Bailey 
+             Date: Thu, 18 Mar 1999 00:10:44 -0400 (EDT)
+             Message-id: <01J8YFGIHW2W001E7S@mail.newman.upenn.edu>
+             Subject: [PATCH 5.005_56] Miscellaneous VMS-specific fixes
      Branch: perl
-           + Changes
-           ! Changes5.004 MANIFEST
+	   ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm
+	   ! t/comp/require.t t/op/lex_assign.t t/op/taint.t
+	   ! utils/perldoc.PL vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs
+           ! vms/ext/Stdio/test.pl vms/test.com vms/vmsish.h
 ____________________________________________________________________________
-[   870] By: mbeattie                              on 1998/04/03  13:36:29
-        Log: Rename Changes to Changes5.004 (via an integrate)
+[  3152] By: gsar                                  on 1999/03/24  10:30:51
+        Log: applied suggested patch, modulo superceded parts
+             From: Charles Bailey 
+             Date: Thu, 18 Mar 1999 00:04:31 -0400 (EDT)
+             Message-id: <01J8YF0EOWLU001E7S@mail.newman.upenn.edu>
+             Subject: [PATCH 5.005_56] Miscellaneous small fixes
      Branch: perl
-          +> Changes5.004
-           - Changes
+	   ! ext/B/defsubs.h.PL ext/re/re.pm lib/ExtUtils/MM_Unix.pm
+           ! lib/File/Basename.pm
 ____________________________________________________________________________
-[   869] By: mbeattie                              on 1998/04/03  11:53:00
-        Log: Subject: [PATCH] Perl 5.005b1t2/perl5.004_63 (resend)
-             Date: Wed, 18 Mar 1998 01:24:20 +0100 (MET)
-             From: Jan-Pieter Cornet 
+[  3151] By: gsar                                  on 1999/03/24  10:15:00
+        Log: doc tweak suggested by M.J.T. Guy 
      Branch: perl
-           ! sv.c t/op/misc.t
+           ! pod/perlop.pod
 ____________________________________________________________________________
-[   868] By: mbeattie                              on 1998/04/03  11:16:26
-        Log: Integrate win32 branch into mainline
+[  3150] By: gsar                                  on 1999/03/24  10:09:13
+        Log: missing integration in previous change
      Branch: perl
-          !> (integrate 31 files)
+          !> README.apollo
 ____________________________________________________________________________
-[   867] By: gsar                                  on 1998/04/03  08:47:55
-        Log: config.* fixes
-     Branch: win32/perl
-	   ! win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-           ! win32/makefile.mk
-____________________________________________________________________________
-[   866] By: gsar                                  on 1998/04/03  07:22:50
-        Log: fixup hv_free_ent() to not fail on null HeVAL()
-     Branch: win32/perl
-           ! hv.c perl.c
-____________________________________________________________________________
-[   865] By: gsar                                  on 1998/04/03  07:06:12
-        Log: integrate mainline
-     Branch: win32/perl
-          +> ext/Thread/Thread/Signal.pm t/op/hashwarn.t
-          !> (integrate 71 files)
-____________________________________________________________________________
-[   864] By: gsar                                  on 1998/04/03  06:59:37
-        Log: implement stack-of-stacks so that magic invocations don't
-             invalidate local stack pointer
-     Branch: win32/perl
-	   ! av.c cop.h deb.c embed.h embedvar.h global.sym gv.c interp.sym
-	   ! intrpvar.h mg.c op.c perl.c pp.h pp_ctl.c pp_sys.c proto.h
-           ! scope.c sv.c t/op/runlevel.t thrdvar.h util.c
-____________________________________________________________________________
-[   863] By: gsar                                  on 1998/04/03  01:26:09
-        Log: add AS patch#15
-     Branch: asperl
-	   ! ipenv.h lib/ExtUtils/MM_Unix.pm perl.c perlenv.h
-	   ! win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-	   ! win32/config_h.PL win32/config_sh.PL win32/runperl.c
-           ! win32/win32.c win32/win32.h
+[  3149] By: gsar                                  on 1999/03/24  10:06:44
+        Log: integrate changes#3116,3119 from maint-5.005
+     Branch: perl
+           + README.apollo
+          +> apollo/netinet/in.h
+          !> MANIFEST hints/apollo.sh t/lib/io_udp.t
 ____________________________________________________________________________
-[   862] By: mbeattie                              on 1998/04/02  17:08:43
-        Log: Subject: [PATCH for 5.004_63] Config_63-04-05.diff
-             Date: Thu, 2 Apr 1998 11:56:51 -0500 (EST)
-             From: Andy Dougherty 
+[  3148] By: gsar                                  on 1999/03/24  10:01:56
+        Log: integrate changes#3091-3094 from maint-5.005
      Branch: perl
-           ! Configure ext/Socket/Socket.xs myconfig
+	  !> README.hurd vms/subconfigure.com vos/config.h
+          !> vos/config_h.SH_orig
 ____________________________________________________________________________
-[   861] By: mbeattie                              on 1998/04/02  16:32:53
-        Log: Change 854 added { NULL, 0 } to sdbm.h which needs to be {0, 0}
-             since appropriate headers aren't included.
+[  3147] By: gsar                                  on 1999/03/24  09:31:49
+        Log: warn about newfangled vfork() caveats
      Branch: perl
-           ! ext/SDBM_File/sdbm/sdbm.h
+           ! Configure
+____________________________________________________________________________
+[  3146] By: jhi                                   on 1999/03/24  09:20:14
+        Log: Bring in changes #2808 and #2812 (from mainline perl)
+             that enhance the perlbug checklist.
+     Branch: maint-5.005/perl
+           ! utils/perlbug.PL
 ____________________________________________________________________________
-[   860] By: mbeattie                              on 1998/04/02  16:17:11
-        Log: Bumped patchlevel.h to 64
+[  3145] By: gsar                                  on 1999/03/24  08:37:02
+        Log: integrate change#3115 from maint-5.005
      Branch: perl
-           ! patchlevel.h
+	  !> ext/DB_File/Changes ext/DB_File/DB_File.pm
+          !> ext/DB_File/DB_File.xs ext/DB_File/typemap
 ____________________________________________________________________________
-[   859] By: mbeattie                              on 1998/04/02  16:16:26
-        Log: Subject: Re: [PATCH] 5.004_63: UNICOS 9
-             Date: Fri, 20 Mar 1998 19:39:28 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  3144] By: gsar                                  on 1999/03/24  08:33:59
+        Log: add note about map in scalar context
      Branch: perl
-           ! hints/unicos.sh regcomp.h
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   858] By: mbeattie                              on 1998/04/02  16:13:24
-        Log: Subject: [PATCH] Re: Odd number of elements in hash list.
-             Date: Sat, 28 Mar 1998 15:26:46 -0800 (PST)
-             From: Tom Phoenix 
+[  3143] By: gsar                                  on 1999/03/24  08:25:59
+        Log: doc tweak
      Branch: perl
-           + t/op/hashwarn.t
-           ! MANIFEST pod/perldiag.pod pp.c pp_hot.c
+           ! lib/Time/Local.pm
 ____________________________________________________________________________
-[   857] By: mbeattie                              on 1998/04/02  16:08:43
-        Log: Subject: [PATCH 5.004_(04|63)] Close VMS security hole
-             Date: Sat, 28 Mar 1998 02:05:03 -0500 (EST)
-             From: Charles Bailey 
+[  3142] By: gsar                                  on 1999/03/24  08:20:37
+        Log: applied suggested patch, modulo bogus hunk
+             From: "Vishal Bhatia" 
+             Date: Thu, 11 Mar 1999 07:40:27 PST
+             Message-ID: <19990311154027.25891.qmail@hotmail.com>
+             Subject: [PATCH 5.005_56] Minor fixes in perlcc
      Branch: perl
-           ! vms/vms.c
+           ! ext/B/B/C.pm ext/B/B/CC.pm utils/perlcc.PL
 ____________________________________________________________________________
-[   856] By: mbeattie                              on 1998/04/02  16:07:44
-        Log: Subject: [PATCH] mv-if-diff
-             Date: Fri, 27 Mar 98 18:06:11 GMT
-             From: Robin Barker 
+[  3141] By: gsar                                  on 1999/03/24  08:06:12
+        Log: integrate change#3104 from maint-5.005
      Branch: perl
-           ! mv-if-diff
+          !> README.os390 t/lib/posix.t
 ____________________________________________________________________________
-[   855] By: mbeattie                              on 1998/04/02  16:06:54
-        Log: From: Jan-Pieter Cornet 
-             Subject: Re: [PATCH] [BUG 5.004_63] define/set of PERL_DESTRUCT_LEVEL
-             Date: Fri, 27 Mar 1998 02:11:21 +0100 (MET)
-             Subject: [PATCH] another destruct_level fix
-             Date: Mon, 30 Mar 1998 23:48:12 +0200 (MET DST)
+[  3140] By: gsar                                  on 1999/03/24  06:34:56
+        Log: fix failure of C<&locked_sub;> under -Dusethreads
      Branch: perl
-           ! perl.c sv.c
+           ! pp_hot.c t/lib/thread.t
 ____________________________________________________________________________
-[   854] By: mbeattie                              on 1998/04/02  16:03:37
-        Log: Subject: Next wave of _63 VMS patches
-             Date: Thu, 26 Mar 1998 15:11:50 -0500 (EST)
-             From: Charles Bailey 
+[  3139] By: gsar                                  on 1999/03/24  05:52:00
+        Log: debugger tweak (wasn't printing a newline after recalled commands)
      Branch: perl
-	   ! EXTERN.h INTERN.h ext/SDBM_File/Makefile.PL
-	   ! ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/dba.c
-	   ! ext/SDBM_File/sdbm/dbd.c ext/SDBM_File/sdbm/dbu.c
-	   ! ext/SDBM_File/sdbm/hash.c ext/SDBM_File/sdbm/pair.c
-	   ! ext/SDBM_File/sdbm/sdbm.c ext/SDBM_File/sdbm/sdbm.h
-	   ! ext/Thread/io.t installperl lib/ExtUtils/MM_VMS.pm
-	   ! lib/Net/Ping.pm perldir.h perlsdio.h t/lib/english.t
-	   ! vms/config.vms vms/descrip.mms vms/ext/Filespec.pm
-	   ! vms/ext/Stdio/0README.txt vms/ext/Stdio/Stdio.pm
-	   ! vms/ext/Stdio/Stdio.xs vms/ext/Stdio/test.pl
-	   ! vms/ext/filespec.t vms/genconfig.pl vms/perly_c.vms vms/vms.c
-           ! vms/vmsish.h
-____________________________________________________________________________
-[   853] By: mbeattie                              on 1998/04/02  15:55:46
-        Log: Subject: [PATCH 5.00463] Confusing error from perl -e "x'"
-             Date: Wed, 25 Mar 1998 17:43:17 -0500 (EST)
-             From: Hans Mulder 
+           ! lib/perl5db.pl
+____________________________________________________________________________
+[  3138] By: gsar                                  on 1999/03/24  05:33:28
+        Log: document OO exceptions (based on a suggestion by Andreas Koenig
+             )
      Branch: perl
-           ! toke.c
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   852] By: mbeattie                              on 1998/04/02  15:54:24
-        Log: Subject: [PATCH] small fixups in pod2latex.PL
-             Date: 25 Mar 1998 13:30:25 -0800
-             From: "Darren/Torin/Who Ever..." 
+[  3137] By: gsar                                  on 1999/03/24  02:50:20
+        Log: better "Illegal %s digit ignored" warnings
      Branch: perl
-           ! pod/pod2latex.PL
+	   ! MANIFEST pod/perldiag.pod pod/perlfunc.pod t/pragma/warn/util
+           ! toke.c util.c
 ____________________________________________________________________________
-[   851] By: mbeattie                              on 1998/04/02  15:50:58
-        Log: Subject: [PATCH] hints/irix_6.sh with GCC
-             Date: Tue, 24 Mar 1998 12:25:10 -0800 (EST)
-             From: kstar@chapin.edu (Kurt D. Starsinic)
+[  3136] By: gsar                                  on 1999/03/24  02:26:38
+        Log: fix off-by-one that resulted in misparse of C
      Branch: perl
-           ! hints/irix_6.sh
+           + t/pragma/utf8.t
+           ! regcomp.c
 ____________________________________________________________________________
-[   850] By: mbeattie                              on 1998/04/02  15:45:33
-        Log: Subject: [PATCH] perldoc -m
-             Date: Tue, 24 Mar 1998 13:19:38 GMT
-             From: Robin Houston 
+[  3135] By: gsar                                  on 1999/03/24  01:29:09
+        Log: flip release & version in win32_uname()
      Branch: perl
-           ! utils/perldoc.PL
+           ! win32/win32.c
 ____________________________________________________________________________
-[   849] By: mbeattie                              on 1998/04/02  15:42:52
-        Log: Subject: [PATCH for 5.004_63] dos-djgpp update
-             Date: Mon, 23 Mar 1998 14:13:46 +0100
-             From: Laszlo Molnar 
+[  3134] By: gsar                                  on 1999/03/24  01:08:33
+        Log: support POSIX::uname() via win32_uname()
      Branch: perl
-           ! djgpp/config.over hints/dos_djgpp.sh
+	   ! XSUB.h iperlsys.h win32/GenCAPI.pl win32/config.bc
+	   ! win32/config.gc win32/config.vc win32/config_H.bc
+	   ! win32/config_H.gc win32/config_H.vc win32/makedef.pl
+           ! win32/perlhost.h win32/win32.c win32/win32.h win32/win32iop.h
 ____________________________________________________________________________
-[   848] By: mbeattie                              on 1998/04/02  15:38:19
-        Log: Subject: [PATCH] Stale SP in pp_substr
-             Date: Thu, 19 Mar 1998 21:28:02 -0600 (CST)
-             From: Stephen McCamant 
+[  3133] By: gsar                                  on 1999/03/23  22:20:10
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 06 Mar 1999 21:42:56 +0100
+             Message-ID: <36e49281.50337171@smtp1.ibm.net>
+             Subject: [PATCH 5.005_56] perldelta.pod changes for Win32::* functions
      Branch: perl
-           ! pp.c
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   847] By: mbeattie                              on 1998/04/02  15:36:33
-        Log: Add missing export of "nice" to ext/POSIX/POSIX.pm (Phil Tait)
+[  3132] By: gsar                                  on 1999/03/23  22:17:45
+        Log: File::Spec fixes from Jan Dubois 
+             Date: Sat, 06 Mar 1999 17:50:49 +0100
+             Message-ID: <36e25209.33833760@smtp1.ibm.net>
+             Subject: [PATCH 5.005_56] Fixes for File::Spec::Functions.pm
+             --
+             Date: Sat, 06 Mar 1999 18:15:00 +0100
+             Message-ID: <36e36222.37954195@smtp1.ibm.net>
+             Subject: [PATCH 5.005_56] Fix for File::Spec::Win32.pm
      Branch: perl
-           ! ext/POSIX/POSIX.pm
+           + t/lib/filefunc.t
+	   ! MANIFEST lib/File/Spec/Functions.pm lib/File/Spec/Win32.pm
+           ! pod/perldelta.pod pod/perlmodlib.pod
 ____________________________________________________________________________
-[   846] By: mbeattie                              on 1998/04/02  15:34:36
-        Log: Subject: [PATCH] 5.004_63: further -e patching
-             Date: Wed, 18 Mar 1998 23:21:08 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  3131] By: gsar                                  on 1999/03/23  22:07:59
+        Log: integrate cfgperl changes into mainline
      Branch: perl
-           ! perl.c pod/perldiag.pod
+          +> ext/DynaLoader/dl_rhapsody.xs hints/rhapsody.sh
+	  !> Configure Makefile.SH config_h.SH configure.gnu handy.h
+	  !> installperl malloc.c perl.c perl.h pod/perl.pod
+          !> pod/perldelta.pod pp_sys.c t/op/stat.t x2p/util.c
+____________________________________________________________________________
+[  3130] By: jhi                                   on 1999/03/23  22:02:23
+        Log: Don't use config.msg to remind about the
+             LD_LIBRARY_PATH because Makefile.SH takes
+             care of that.
+             
+             Use shrplib in DEC O^W^Digital U^W^WTru64 UNIX.
+             This used to be the default but in some MT or another it
+             was dropped because of some transient error or another.
+     Branch: maint-5.005/perl
+           ! Configure hints/dec_osf.sh
 ____________________________________________________________________________
-[   845] By: mbeattie                              on 1998/04/02  15:25:18
-        Log: Andy Dougherty's configuration patches (Config_63-01 up to 04).
+[  3129] By: gsar                                  on 1999/03/23  21:38:03
+        Log: add Pod-Parser-1.08 (verbatim module =include tests elided owing
+             to size	and better maintainability)
+     Branch: perl
+	   + lib/Pod/Checker.pm lib/Pod/InputObjects.pm lib/Pod/Parser.pm
+	   + lib/Pod/PlainText.pm lib/Pod/Select.pm lib/Pod/Usage.pm
+	   + pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL
+	   + t/pod/emptycmd.t t/pod/emptycmd.xr t/pod/for.t t/pod/for.xr
+	   + t/pod/headings.t t/pod/headings.xr t/pod/include.t
+	   + t/pod/include.xr t/pod/included.t t/pod/included.xr
+	   + t/pod/lref.t t/pod/lref.xr t/pod/nested_items.t
+	   + t/pod/nested_items.xr t/pod/nested_seqs.t t/pod/nested_seqs.xr
+	   + t/pod/oneline_cmds.t t/pod/oneline_cmds.xr t/pod/poderrs.t
+	   + t/pod/poderrs.xr t/pod/special_seqs.t t/pod/special_seqs.xr
+           + t/pod/testcmp.pl t/pod/testp2pt.pl t/pod/testpchk.pl
+	   ! AUTHORS MAINTAIN MANIFEST installperl pod/Makefile
+           ! win32/Makefile win32/makefile.mk win32/pod.mak
+____________________________________________________________________________
+[  3128] By: jhi                                   on 1999/03/23  10:14:54
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> (integrate 46 files)
+____________________________________________________________________________
+[  3127] By: gsar                                  on 1999/03/23  06:57:30
+        Log: From: Tim Witham - FES 
+             Date: Thu, 4 Mar 1999 10:54:01 -0800
+             Message-Id: <9903041854.AA46868@frc0000>
+             Subject: patch for useless Math::BigInt warnings
      Branch: perl
-	   ! Configure INSTALL Policy_sh.SH Porting/Glossary
-	   ! Porting/config.sh Porting/config_H config_h.SH
-	   ! ext/POSIX/POSIX.xs handy.h hints/hpux.sh myconfig perlsock.h
-           ! pp.c pp_sys.c regexec.c
+           ! lib/Math/BigInt.pm
 ____________________________________________________________________________
-[   844] By: mbeattie                              on 1998/04/02  14:28:17
-        Log: Subject: [PATCH 5.004_63] perlrun.pod: PERL_DEBUG_MSTATS 
-             Date: Wed, 18 Mar 1998 20:40:19 +0100
-             From: Achim Bohnet 
+[  3126] By: gsar                                  on 1999/03/23  05:54:37
+        Log: avoid literal 'undef' in $lddlflags under `Configure -Uoptimize`
+             From: "Kurt D. Starsinic" 
+             Date: Fri, 19 Feb 1999 15:47:59 -0500
+             Message-ID: <19990219154759.A32350@O2.chapin.edu>
+             Subject: [PATCH] OSF/1 hints
      Branch: perl
-           ! pod/perlrun.pod
+           ! hints/dec_osf.sh
 ____________________________________________________________________________
-[   843] By: mbeattie                              on 1998/04/02  14:26:52
-        Log: From: Dan Sugalski 
-             Subject: 5.004_63 picky compiler fixes [PATCH]
-             Date: Wed, 18 Mar 1998 09:36:32 -0800
-             Subject: [PATCH 5.004_63] Fix function prototype with long doubles
-             Date: Wed, 18 Mar 1998 14:48:19 -0800
+[  3125] By: gsar                                  on 1999/03/23  00:56:38
+        Log: avoid typeglob persistence in pp_readline()
      Branch: perl
-           ! ext/POSIX/POSIX.xs ext/Thread/Thread.xs vms/vms.c
+           ! sv.c t/op/gv.t
 ____________________________________________________________________________
-[   842] By: mbeattie                              on 1998/04/02  14:22:41
-        Log: From: Stephen Potter 
-             Subject: Re: doc: perlrun typo 
-             Date: Wed, 18 Mar 1998 10:06:55 -0600
-             Subject: Re: [PATCH 5.004_63] PerlLIO abstraction cleanup 
-             Date: Tue, 24 Mar 1998 21:20:51 -0600
+[  3124] By: gsar                                  on 1999/03/22  21:12:23
+        Log: update copyright years
      Branch: perl
-           ! mg.c perl.c pod/perlrun.pod pp_hot.c pp_sys.c util.c
+	   ! Changes EXTERN.h INTERN.h av.c av.h bytecode.pl cop.h cv.h
+	   ! deb.c doio.c doop.c dump.c form.h gv.c gv.h handy.h hv.c hv.h
+	   ! malloc.c mg.c mg.h op.c op.h perl.c perl.h perlio.c pp.c pp.h
+	   ! pp_ctl.c pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c
+           ! sv.c sv.h toke.c utf8.c utf8.h util.c
 ____________________________________________________________________________
-[   841] By: mbeattie                              on 1998/04/02  14:17:31
-        Log: Subject: [PATCH] Add "Full 64 bit support" to Todo; document Todo in pumpkin.pod
-             Date: Wed, 18 Mar 1998 12:44:58 +0100
-             From: Dominic Dunlop 
+[  3123] By: gsar                                  on 1999/03/22  07:07:06
+        Log: implement win32_spawnvp() internally, making it return true PIDs
+             for asynchronous spawns; fix win32_kill() to always deal with
+             PIDs
      Branch: perl
-           ! Porting/pumpkin.pod Todo
+           ! win32/win32.c win32/win32.h
+____________________________________________________________________________
+[  3122] By: jhi                                   on 1999/03/19  21:12:14
+        Log: Describe the new Benchmark feature in more detail.
+     Branch: cfgperl
+           ! pod/perldelta.pod
+     Branch: maint-5.005/perl
+           ! pod/perldelta.pod
+____________________________________________________________________________
+[  3121] By: jhi                                   on 1999/03/19  08:16:12
+        Log: AVAILABILITY tuning.
+     Branch: cfgperl
+           ! pod/perl.pod
+     Branch: maint-5.005/perl
+           ! pod/perl.pod
+____________________________________________________________________________
+[  3120] By: jhi                                   on 1999/03/17  14:52:17
+        Log: Rhapsody change assumed too much.
+     Branch: cfgperl
+           ! t/op/stat.t
+____________________________________________________________________________
+[  3119] By: jhi                                   on 1999/03/17  14:33:43
+        Log: More Apollo fixes.
+     Branch: maint-5.005/perl
+           ! README.apollo hints/apollo.sh t/lib/io_udp.t
+____________________________________________________________________________
+[  3118] By: jhi                                   on 1999/03/16  17:23:39
+        Log: Nada.
+     Branch: maint-5.005/perl
+           ! README.apollo
+____________________________________________________________________________
+[  3117] By: jhi                                   on 1999/03/16  17:18:49
+        Log: Apollo DomainOS AVAILABILITY.
+     Branch: cfgperl
+           ! pod/perl.pod
+     Branch: maint-5.005/perl
+           ! pod/perl.pod
+____________________________________________________________________________
+[  3116] By: jhi                                   on 1999/03/16  17:14:00
+        Log: Apollo DomainOS patch
+             From: Johann Klasek 
+             Subject: Re: DomainPerl
+             Date: Tue, 16 Mar 1999 17:46:32 +0100
+             Message-ID: <19990316174632.A19759@euklid.auto.tuwien.ac.at>
+     Branch: maint-5.005/perl
+           + README.apollo apollo/netinet/in.h
+           ! MANIFEST hints/apollo.sh
+____________________________________________________________________________
+[  3115] By: jhi                                   on 1999/03/16  14:23:54
+        Log: From: Paul Marquess 
+             To: Gurusamy Sarathy ,
+             Graham Barr 
+             Cc: Perl5 Porters ,
+             "Paul.Marquess" 
+             Subject: [PATCH 5.005_56 & 5.005_03_T6] Upgrade DB_File to version 1.65
+             Date: Sun, 14 Mar 1999 14:43:57 -0000
+             Message-Id: <199903141841.NAA17040@defender.perl.org>
+     Branch: maint-5.005/perl
+	   ! ext/DB_File/Changes ext/DB_File/DB_File.pm
+           ! ext/DB_File/DB_File.xs ext/DB_File/typemap
+____________________________________________________________________________
+[  3114] By: jhi                                   on 1999/03/16  12:42:20
+        Log: Mention Rhapsody in 5.005_5X perldelta,
+             and in Rhapsody and Netware in 5.005_0X and 5.005_5X
+             *planned* AVAILABILITY.
+     Branch: cfgperl
+           ! pod/perl.pod pod/perldelta.pod
+     Branch: maint-5.005/perl
+           ! pod/perl.pod
+____________________________________________________________________________
+[  3113] By: jhi                                   on 1999/03/16  10:38:53
+        Log: perldelta niggling.
+     Branch: cfgperl
+           ! pod/perldelta.pod
+     Branch: maint-5.005/perl
+           ! pod/perldelta.pod
+____________________________________________________________________________
+[  3112] By: jhi                                   on 1999/03/16  10:35:21
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  !> lib/unicode/MakeEthiopicSyllables.PL pod/perldelta.pod
+          !> pod/perlhist.pod pod/perlmodinstall.pod pod/perltodo.pod
+____________________________________________________________________________
+[  3111] By: jhi                                   on 1999/03/16  10:28:10
+        Log: AVAILABILITY update: still mention PowerUX,
+             Novell Netware now has sources available.
+     Branch: cfgperl
+           ! pod/perl.pod
+     Branch: maint-5.005/perl
+           ! pod/perl.pod
 ____________________________________________________________________________
-[   840] By: mbeattie                              on 1998/04/02  14:14:22
-        Log: Subject: [PATCH] Configure hints/ patches
-             Date: Wed, 18 Mar 1998 02:47:38 +0100 (MET)
-             From: Jan-Pieter Cornet 
+[  3110] By: gsar                                  on 1999/03/16  04:34:23
+        Log: sundry pod niggles
      Branch: perl
-           ! hints/linux.sh hints/qnx.sh
+	   ! lib/unicode/MakeEthiopicSyllables.PL pod/perldelta.pod
+           ! pod/perlhist.pod pod/perlmodinstall.pod pod/perltodo.pod
 ____________________________________________________________________________
-[   839] By: mbeattie                              on 1998/04/02  14:13:13
-        Log: Remove duplicate code in cygwin32/perlgcc (Blair Zajac)
+[  3109] By: jhi                                   on 1999/03/15  17:00:11
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  +> lib/unicode/EthiopicSyllables.txt lib/unicode/In/Ethiopic.pl
+	  +> lib/unicode/Is/Syllable.pl
+	  +> lib/unicode/MakeEthiopicSyllables.PL
+          +> lib/unicode/README.Ethiopic
+	  !> AUTHORS MAINTAIN MANIFEST lib/unicode/Block.pl
+	  !> lib/unicode/Category.pl lib/unicode/Is/Alnum.pl
+	  !> lib/unicode/Is/Alpha.pl lib/unicode/Is/Digit.pl
+	  !> lib/unicode/Is/L.pl lib/unicode/Is/Lo.pl lib/unicode/Is/N.pl
+	  !> lib/unicode/Is/Nd.pl lib/unicode/Is/No.pl lib/unicode/Is/P.pl
+	  !> lib/unicode/Is/Po.pl lib/unicode/Is/Space.pl
+	  !> lib/unicode/Is/Z.pl lib/unicode/Is/Zs.pl lib/unicode/Makefile
+          !> lib/unicode/Name.pl lib/unicode/Number.pl op.c
+____________________________________________________________________________
+[  3108] By: jhi                                   on 1999/03/15  16:58:12
+        Log: First pass of integrating the Rhapsody port,
+             
+             From: Wilfredo Sanchez  
+             Subject: Keeping the world in sync.
+             Reply-To: wsanchez@apple.com 
+             To: perlbug@perl.com 
+             Date: Fri, 13 Nov 1998 17:11:30 -0800 
+             Message-Id: <199811140111.RAA41784@scv4.apple.com> 
+     Branch: cfgperl
+           + ext/DynaLoader/dl_rhapsody.xs hints/rhapsody.sh
+	   ! Configure Makefile.SH config_h.SH configure.gnu handy.h
+	   ! installperl malloc.c perl.c perl.h pp_sys.c t/op/stat.t
+           ! x2p/util.c
+____________________________________________________________________________
+[  3107] By: gsar                                  on 1999/03/15  03:22:10
+        Log: applied suggested patch (mailed to perl-unicode@perl.org) with minor tweaks
+             From: Daniel Yacob 
+             Date: Tue, 23 Feb 1999 16:13:42 -0500 (EST)
+             Message-Id: <199902232113.QAA26135@drum.cs.indiana.edu>
+             Subject: ../lib/unicode/ Unicode 3.0 Extensions for Ethiopic
+     Branch: perl
+	   + lib/unicode/EthiopicSyllables.txt lib/unicode/In/Ethiopic.pl
+	   + lib/unicode/Is/Syllable.pl
+	   + lib/unicode/MakeEthiopicSyllables.PL
+           + lib/unicode/README.Ethiopic
+	   ! AUTHORS MAINTAIN MANIFEST lib/unicode/Block.pl
+	   ! lib/unicode/Category.pl lib/unicode/Is/Alnum.pl
+	   ! lib/unicode/Is/Alpha.pl lib/unicode/Is/Digit.pl
+	   ! lib/unicode/Is/L.pl lib/unicode/Is/Lo.pl lib/unicode/Is/N.pl
+	   ! lib/unicode/Is/Nd.pl lib/unicode/Is/No.pl lib/unicode/Is/P.pl
+	   ! lib/unicode/Is/Po.pl lib/unicode/Is/Space.pl
+	   ! lib/unicode/Is/Z.pl lib/unicode/Is/Zs.pl lib/unicode/Makefile
+           ! lib/unicode/Name.pl lib/unicode/Number.pl
+____________________________________________________________________________
+[  3106] By: gsar                                  on 1999/03/12  20:35:36
+        Log: change#3067 failed package.t due to needless creation of $a and $b;
+             fixed to do that only for C, not C
      Branch: perl
-           ! cygwin32/perlgcc
+           ! op.c
 ____________________________________________________________________________
-[   838] By: gsar                                  on 1998/03/28  05:01:57
-        Log: fix Env.pm to weed out illegal names
-     Branch: win32/perl
-           ! lib/Env.pm
+[  3105] By: jhi                                   on 1999/03/12  15:54:57
+        Log: Recognize the NetBSD packages collection.
+     Branch: maint-5.005/perl
+           ! hints/netbsd.sh
 ____________________________________________________________________________
-[   837] By: gsar                                  on 1998/03/28  04:39:43
-        Log: fix typo in makefile.mk
-     Branch: win32/perl
-           ! win32/makefile.mk
+[  3104] By: jhi                                   on 1999/03/12  09:07:04
+        Log: From: pvhp@forte.com (Peter Prymmer)
+             To: jhi@iki.fi, perl-mvs@perl.org, perlbug@perl.com
+             Subject: [PATCH MT6,_56] was Re: Not OK: perl 5.00503 +MAINT_TRIAL_6 on os390 06.00 (UNINSTALLED)
+             Date: Thu, 11 Mar 99 14:24:54 PST
+             Message-Id: <9903112224.AA24346@forte.com>
+     Branch: maint-5.005/perl
+           ! README.os390 t/lib/posix.t
 ____________________________________________________________________________
-[   836] By: gsar                                  on 1998/03/23  17:40:15
-        Log: add file: to installhtml URLs
-     Branch: win32/perl
-           ! win32/Makefile win32/makefile.mk
+[  3103] By: jhi                                   on 1999/03/10  11:07:46
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  !> Changes embed.h embed.pl embedvar.h global.sym objXSUB.h op.c
+	  !> perl.c perl.h pod/perldelta.pod pod/pod2man.PL t/base/lex.t
+          !> t/pragma/warn/1global toke.c win32/makedef.pl
+____________________________________________________________________________
+[  3102] By: jhi                                   on 1999/03/10  11:01:20
+        Log: From: pvhp@forte.com (Peter Prymmer)
+             To: perl5-porters@perl.org
+             Subject: [5.005_03-MT6]Patch: time passes
+             Date: Tue, 9 Mar 99 18:42:17 PST
+             Message-Id: <9903100242.AA29057@forte.com>
+     Branch: maint-5.005/perl
+           ! perl.c
+____________________________________________________________________________
+[  3101] By: jhi                                   on 1999/03/10  10:30:15
+        Log: From: Mark-Jason Dominus 
+             To: perl5-porters@perl.com
+             Subject: Minor fix to perlfunc.pod
+             Date: Mon, 08 Mar 1999 20:05:53 -0500
+             Message-ID: <19990309010553.13757.qmail@plover.com>
+     Branch: maint-5.005/perl
+           ! pod/perlfunc.pod
+____________________________________________________________________________
+[  3100] By: gsar                                  on 1999/03/09  23:04:44
+        Log: change#3060 had the wrong quotes
+     Branch: perl
+           ! pod/pod2man.PL
+____________________________________________________________________________
+[  3099] By: jhi                                   on 1999/03/09  12:52:21
+        Log: d_uname was broken (probably since _53), reported by
+             
+             From: Alan Burlison 
+             To: p5p , Gurusamy Sarathy ,
+             cpan-testers@perl.org
+             Subject: Not OK: perl 5.00556 on sun4-solaris 2.6
+             Date: Mon, 08 Mar 1999 13:22:31 +0000
+             Message-ID: <36E3CF17.EA1FEDAA@uk.sun.com>
+             
+             and
+             
+             From: lvirden@cas.org (Larry W. Virden)
+             To: perlbug@perl.com
+             Subject: configure not correctly identifying uname posix compatibility
+             Date: Mon, 8 Mar 1999 06:36:16 -0500 (EST)
+             Message-Id: <199903081136.GAA23682@cas.org>
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   835] By: mbeattie                              on 1998/03/18  11:03:11
-        Log: Add Thread::Signal to run signal handlers reliably in a new thread
+[  3098] By: gsar                                  on 1999/03/09  03:16:07
+        Log: fix parsing of here documents in C
      Branch: perl
-           + ext/Thread/Thread/Signal.pm
-           ! MANIFEST ext/Thread/Thread.xs
-
-----------------
-Version 5.004_63
-----------------
-
+           ! op.c perl.h pod/perldelta.pod t/base/lex.t toke.c
 ____________________________________________________________________________
-[   834] By: mbeattie                              on 1998/03/17  16:19:10
-        Log: Policy_sh.SH had extra $ in pager=$pager comment (Hallvard B Furuseth)
+[  3097] By: gsar                                  on 1999/03/09  02:50:43
+        Log: use yyerror() instead of croak() so that compile-time failures in
+             my(LIST) don't confuse globals with lexicals
      Branch: perl
-           ! Policy_sh.SH
+           ! op.c toke.c
 ____________________________________________________________________________
-[   833] By: mbeattie                              on 1998/03/17  16:11:02
-        Log: Integrate win32 branch into mainline.
+[  3096] By: gsar                                  on 1999/03/09  02:47:36
+        Log: adjust testsuite for change#3067
      Branch: perl
-	  !> regcomp.c win32/config.bc win32/config.gc win32/config.vc
-	  !> win32/config_H.bc win32/config_H.gc win32/config_H.vc
-          !> win32/win32.c
+           ! t/pragma/warn/1global
 ____________________________________________________________________________
-[   832] By: gsar                                  on 1998/03/17  14:32:39
-        Log: propagate bugfix @ change831 from asperl
-     Branch: win32/perl
-           ! regcomp.c
+[  3095] By: gsar                                  on 1999/03/08  21:04:48
+        Log: remove bogus symbols from global.sym
+     Branch: perl
+	   ! Changes embed.h embed.pl embedvar.h global.sym objXSUB.h
+           ! perl.h win32/makedef.pl
 ____________________________________________________________________________
-[   831] By: gsar                                  on 1998/03/17  14:02:51
-        Log: fix buggy order of free() in regcomp.c (from AS)
-     Branch: asperl
-           ! regcomp.c
+[  3094] By: jhi                                   on 1999/03/06  16:16:15
+        Log: From: Mark Kettenis 
+             To: jhi@iki.fi
+             Subject: Oops
+             Date: Sat, 6 Mar 1999 17:15:35 +0100 (CET)
+             Message-Id: <199903061615.RAA00207@delius.kettenis.nl>
+     Branch: maint-5.005/perl
+           ! README.hurd
 ____________________________________________________________________________
-[   830] By: gsar                                  on 1998/03/17  01:10:54
-        Log: add a part of AS patch#14, backout incomplete variable
-             name changes for gcc. Builds and tests under VC/BC once again.
-     Branch: asperl
-           ! bytecode.h mg.c pp.c pp_ctl.c pp_hot.c toke.c
+[  3093] By: jhi                                   on 1999/03/06  15:59:46
+        Log: From: Mark Kettenis 
+             To: jhi@iki.fi
+             Subject: New Hurd README
+             Date: Sat, 6 Mar 1999 16:46:12 +0100 (CET)
+             Message-Id: <199903061601.RAA00185@delius.kettenis.nl>
+     Branch: maint-5.005/perl
+           ! README.hurd
 ____________________________________________________________________________
-[   829] By: gsar                                  on 1998/03/16  23:49:18
-        Log: stray tweak to win32.c
-     Branch: win32/perl
-           ! win32/win32.c
+[  3092] By: jhi                                   on 1999/03/06  12:52:06
+        Log: From: Paul_Green@stratus.com
+             To: perl5-porters@perl.org
+             Cc: jhi@iki.fi, Paul_Green@stratus.com
+             Subject: [PATCH 5.005_03-MAINT_TRIAL_6]: platform: vos -- updates to VOS port of Perl5
+             Date: Fri, 5 Mar 1999 18:08:49 -0500 
+             Message-ID: <1D1A4EF7AD4DD211A80D00A0C9D7DB665A035A@exna1.stratus.com>
+     Branch: maint-5.005/perl
+           ! vos/config.h vos/config_h.SH_orig
 ____________________________________________________________________________
-[   828] By: gsar                                  on 1998/03/16  22:06:03
-        Log: update win32/config* files
-     Branch: win32/perl
-	   ! win32/config.bc win32/config.gc win32/config.vc
-           ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+[  3091] By: jhi                                   on 1999/03/06  12:42:21
+        Log: From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [PATCH 5.005_03-MT6]VMS build patch
+             Date: Fri, 05 Mar 1999 12:36:19 -0800
+             Message-Id: <3.0.6.32.19990305123619.02d326a0@ous.edu>
+     Branch: maint-5.005/perl
+           ! vms/subconfigure.com
 ____________________________________________________________________________
-[   827] By: gsar                                  on 1998/03/16  19:09:30
-        Log: trivial integrate of mainline
-     Branch: win32/perl
-	  +> lib/ExtUtils/Installed.pm lib/ExtUtils/Packlist.pm
-          +> lib/ExtUtils/inst
-          !> (integrate 61 files)
+[  3090] By: gsar                                  on 1999/03/06  04:40:03
+        Log: integrate change#3089 from mainline
+             
+             tolerate CRs after options
+     Branch: maint-5.005/perl
+          !> perl.c
 ____________________________________________________________________________
-[   826] By: mbeattie                              on 1998/03/16  16:39:23
-        Log: newCONSTSUB had private MY_start_subparse.
+[  3089] By: gsar                                  on 1999/03/06  04:30:40
+        Log: tolerate CRs after options
      Branch: perl
-           ! op.c
+           ! perl.c
 ____________________________________________________________________________
-[   825] By: mbeattie                              on 1998/03/16  16:36:55
-        Log: Missing dTHR in hv_fetch_ent when statics moved to thread struct.
-     Branch: perl
-           ! hv.c
+[  3088] By: jhi                                   on 1999/03/05  12:49:01
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> README.hurd
+          !> MANIFEST ext/Errno/Errno_pm.PL t/lib/io_sock.t
 ____________________________________________________________________________
-[   824] By: mbeattie                              on 1998/03/16  16:27:43
-        Log: Added missing entry for lib/ExtUtils/Packlist.pm to MANIFEST
+[  3087] By: gsar                                  on 1999/03/05  06:41:16
+        Log: adjust timeouts to accomodate slow/busy systems
      Branch: perl
-           ! MANIFEST
+           ! t/lib/io_sock.t
 ____________________________________________________________________________
-[   823] By: mbeattie                              on 1998/03/16  16:26:02
-        Log: Missed p4 add of lib/ExtUtils/Packlist.pm in change 814.
+[  3083] By: gsar                                  on 1999/03/05  01:32:47
+        Log: integrate change#3081 from maint-5.005
      Branch: perl
-           + lib/ExtUtils/Packlist.pm
+          !> ext/Errno/Errno_pm.PL
 ____________________________________________________________________________
-[   822] By: mbeattie                              on 1998/03/16  16:22:58
-        Log: Bump patchlevel.h to 63.
+[  3082] By: gsar                                  on 1999/03/05  01:31:06
+        Log: integrate change#2904 from maint-5.005
      Branch: perl
-           ! ext/IO/IO.xs patchlevel.h
-          !> (integrate 41 files)
+          +> README.hurd
+          !> MANIFEST
 ____________________________________________________________________________
-[   821] By: mbeattie                              on 1998/03/16  16:18:35
-        Log: newCONSTSUB added (XSUB equivalent for inlinable sub () { 123 }).
-             Subject: Bundling builtin.pm and newCONSTSUB with the core?
-             From: jan.dubois@ibm.net (Jan Dubois)
-             Date: Sun, 15 Mar 1998 19:09:05 +0100
-     Branch: perl
-           ! embed.h global.sym op.c pod/perlguts.pod proto.h
+[  3081] By: gsar                                  on 1999/03/05  00:14:33
+        Log: protect against doubled backslashes
+     Branch: maint-5.005/perl
+           ! ext/Errno/Errno_pm.PL
 ____________________________________________________________________________
-[   820] By: mbeattie                              on 1998/03/16  16:02:50
-        Log: Subject: [PATCH] STRESS_REALLOC
-             Date: Fri, 13 Mar 1998 22:28:19 -0600 (CST)
-             From: Stephen McCamant 
-     Branch: perl
-           ! malloc.c perl.c scope.c
+[  3077] By: jhi                                   on 1999/03/04  08:10:13
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> ext/B/B/Stash.pm
+	  !> MANIFEST README.hpux cc_runtime.h config_h.SH ext/B/B/C.pm
+	  !> ext/B/B/CC.pm gv.c lib/File/Compare.pm lib/Test/Harness.pm
+	  !> op.c pod/perldelta.pod pod/perlfunc.pod pod/pod2man.PL
+          !> t/lib/bigfloatpm.t t/lib/io_sock.t utils/perlcc.PL
+____________________________________________________________________________
+[  3076] By: jhi                                   on 1999/03/04  08:07:59
+        Log: Regen config_h.SH once more because of *size, 
+             noticed by
+             
+             From: Hans Mulder 
+             To: Jarkko Hietaniemi 
+             Cc: perl5-porters@perl.org
+             Subject: [PATCH for _56] LONGSIZE used before it is set in config.h
+             Date: Thu,  4 Mar 99 00:10:45 +0100
+             Message-Id: <9903032317.AA23021@icgned.icgroup.nl>
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   819] By: mbeattie                              on 1998/03/16  16:01:06
-        Log: Subject: [BUG+PATCH] _62 with -DDEBUGGING and -Duseperlio
-             Date: Fri, 13 Mar 1998 23:21:25 +0100
-             From: Jan-Pieter Cornet 
+[  3068] By: gsar                                  on 1999/03/04  05:48:03
+        Log: From: Hans Mulder 
+             Date: Thu,  4 Mar 99 00:10:45 +0100
+             Message-Id: <9903032317.AA23021@icgned.icgroup.nl>
+             Subject: [PATCH for _56] LONGSIZE used before it is set in config.h
      Branch: perl
-           ! perly.c
+           ! config_h.SH
 ____________________________________________________________________________
-[   818] By: mbeattie                              on 1998/03/16  15:59:16
-        Log: Subject: [Configure PATCH] for OS/2
-             Date: Fri, 13 Mar 1998 16:18:12 -0500 (EST)
-             From: Ilya Zakharevich 
-             [Two hunks to Configure failed to apply due to clashes]
+[  3067] By: gsar                                  on 1999/03/04  05:44:32
+        Log: exempt $foo::a,$foo::b from warnings only if sort() was seen in package foo
+             From: Graham Barr 
+             Date: Wed, 3 Mar 1999 17:23:56 -0600
+             Message-ID: <19990303172356.F7442@dal.asp.ti.com>
+             Subject: Re: 'use strict' doesn't work for one-letter variables
      Branch: perl
-           ! Configure hints/os2.sh
+           ! gv.c op.c
 ____________________________________________________________________________
-[   817] By: mbeattie                              on 1998/03/16  15:55:28
-        Log: Subject: [PATCH 5.004_62] VMS updates (direct)
-             Date: Thu, 12 Mar 1998 16:02:29 -0500 (EST)
-             From: Charles Bailey 
-             [Needed manual tweaks on vms/config.vms since it clashed with other
-             patches. I may have got it wrong.]
+[  3066] By: gsar                                  on 1999/03/04  05:20:50
+        Log: updates to compiler modules
+             From: "Vishal Bhatia" 
+             Date: Tue, 02 Mar 1999 23:27:25 PST
+             Message-ID: <19990303072725.779.qmail@hotmail.com>
+             Subject: PATCH 5.005_56 + Test procedure
      Branch: perl
-	   ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm
-	   ! lib/ExtUtils/Mksymlists.pm perl.h pp.c pp_hot.c regcomp.c
-	   ! regcomp.h utils/perldoc.PL vms/config.vms vms/descrip.mms
-	   ! vms/ext/Stdio/Stdio.pm vms/ext/filespec.t vms/fndvers.com
-	   ! vms/gen_shrfls.pl vms/genconfig.pl vms/sockadapt.h
-           ! vms/test.com vms/vms.c vms/vmsish.h
+           + ext/B/B/Stash.pm
+	   ! MANIFEST cc_runtime.h ext/B/B/C.pm ext/B/B/CC.pm
+           ! lib/Test/Harness.pm utils/perlcc.PL
 ____________________________________________________________________________
-[   816] By: mbeattie                              on 1998/03/16  15:26:04
-        Log: Subject: [PATCH] Let h2xs read multiple header files
-             Date: Tue, 10 Mar 1998 09:35:42 -0500 (EST)
-             From: Benjamin Sugars 
+[  3065] By: gsar                                  on 1999/03/04  05:03:30
+        Log: more s/s_/s!/ etc.
      Branch: perl
-           ! utils/h2xs.PL
+           ! pod/perldelta.pod pod/perlfunc.pod
 ____________________________________________________________________________
-[   815] By: mbeattie                              on 1998/03/16  15:24:12
-        Log: Subject: Re: Almost OK: Perl 5.004_62 on VMS 7.1
-             Date: Mon, 09 Mar 1998 09:18:56 -0800
-             From: Dan Sugalski 
+[  3064] By: gsar                                  on 1999/03/04  04:50:45
+        Log: integrate cfgperl contents into mainline
      Branch: perl
-           ! vms/config.vms
+	  !> Configure README.vms bytecode.h config_h.SH configure.com
+	  !> ext/B/defsubs.h.PL hints/hpux.sh pod/perldelta.pod
+	  !> pod/perldiag.pod pp.c t/lib/ipc_sysv.t t/op/pack.t thread.h
+          !> vms/ext/vmsish.pm vms/subconfigure.com vms/vms.c vms/vmsish.h
 ____________________________________________________________________________
-[   814] By: mbeattie                              on 1998/03/16  13:17:14
-        Log: Subject: PATCH for 5.004_62 : Add .packlist handling classes to ExtUtils
-             Date: Sun, 08 Mar 1998 12:50:23 +0000
-             From: Alan Burlison 
-             plus manual update of MANIFEST
+[  3063] By: gsar                                  on 1999/03/04  04:44:13
+        Log: HP-UX has yet another spelling for /NaNQ?/
      Branch: perl
-           + lib/ExtUtils/Installed.pm lib/ExtUtils/inst
-	   ! MANIFEST installman installperl lib/ExtUtils/Install.pm
-           ! lib/ExtUtils/MM_Unix.pm
+           ! t/lib/bigfloatpm.t
 ____________________________________________________________________________
-[   813] By: mbeattie                              on 1998/03/16  13:08:55
-        Log: From: Blair Zajac 
-             Subject: PATCH: util.c and util.h function declarations do not match
-             Date: Fri, 6 Mar 1998 10:29:29 -0800 (PST)
-             Subject: PATCH: cgywin32 patch for perlgcc
-             Date: Fri, 6 Mar 1998 11:15:36 -0800 (PST)
-             Subject: PATCH: perl5.004_62 on cygwin32
-             Date: Fri, 6 Mar 1998 11:57:35 -0800 (PST)
+[  3062] By: gsar                                  on 1999/03/04  04:36:08
+        Log: error-check for accept() test
      Branch: perl
-	   ! Configure cygwin32/perlgcc cygwin32/perlld pp_sys.c x2p/util.c
+           ! t/lib/io_sock.t
 ____________________________________________________________________________
-[   812] By: mbeattie                              on 1998/03/16  12:55:39
-        Log: From: Andy Dougherty 
-             Subject: [PATCH 5.004_62} Config_62-01 patch available.
-             Date: Mon, 9 Mar 1998 15:23:33 -0500 (EST)
-             Subject: [PATCH 5.004_62] Tiny hint file updates
-             Date: Mon, 9 Mar 1998 13:21:46 -0500 (EST)
+[  3061] By: gsar                                  on 1999/03/04  03:40:25
+        Log: allow custom comparison function in File::Compare::compare_text()
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Fri, 26 Feb 1999 21:56:09 +0100
+             Message-ID: <36db0838.8805651@smtp1.ibm.net>
+             Subject: Re: PodParser 1.07 (was: RE: C vs stuff()) 
      Branch: perl
-	   ! Configure Porting/Glossary Porting/config.sh Porting/config_H
-	   ! config_h.SH ext/ODBM_File/ODBM_File.xs handy.h hints/aix.sh
-	   ! hints/dec_osf.sh hints/dos_djgpp.sh hints/freebsd.sh
-	   ! hints/irix_6.sh hints/irix_6_0.sh hints/irix_6_1.sh
-	   ! hints/os2.sh hints/solaris_2.sh patchlevel.h perl.c perl.h
-           ! perllio.h pod/perldiag.pod pp_sys.c vms/config.vms
-____________________________________________________________________________
-[   811] By: mbeattie                              on 1998/03/16  12:13:55
-        Log: DOS djgpp updates:
-             From: Laszlo Molnar 
-             Subject: [PATCH for 5.004_61] dos-djgpp update
-             Date: Fri, 6 Mar 1998 10:41:01 +0100
-             Subject: [PATCH 5.004_62] dos-djgpp update
-             Date: Thu, 12 Mar 1998 13:34:51 +0100
-     Branch: perl
-           ! djgpp/config.over hints/dos_djgpp.sh
-____________________________________________________________________________
-[   810] By: gsar                                  on 1998/03/16  08:48:17
-        Log: integrate mainline
-     Branch: win32/perl
-          !> pp_sys.c
-____________________________________________________________________________
-[   809] By: gsar                                  on 1998/03/16  08:44:37
-        Log: various changes to get asperl working under Borland
-             (passes all tests when built under PERL_OBJECT)
-     Branch: asperl
-	   ! ObjXSub.h ext/Opcode/Opcode.xs globals.c mg.c objpp.h op.c
-	   ! perl.h perly.c perly.c.diff pp.c pp_ctl.c pp_hot.c pp_sys.c
-	   ! proto.h scope.h sv.c toke.c win32/Makefile win32/config_H.bc
-	   ! win32/config_H.gc win32/config_H.vc win32/makedef.pl
-	   ! win32/makefile.mk win32/runperl.c win32/win32.c win32/win32.h
-           ! win32/win32sck.c
+           ! lib/File/Compare.pm
 ____________________________________________________________________________
-[   808] By: gsar                                  on 1998/03/12  19:50:20
-        Log: set sockets to nonoverlapped mode for every thread
-             Message-Id: <35081FE4.965A484D@enteract.com>
-             Date:    Thu, 12 Mar 1998 11:48:20 CST
-             From:    Steve Nielsen 
-             Subject: [PATCH 5.004_62] win32: set sockopt on a per-thread basis
-     Branch: win32/perl
-           ! win32/win32.h win32/win32sck.c
-____________________________________________________________________________
-[   807] By: gsar                                  on 1998/03/12  19:26:54
-        Log: add AS patch#13
-     Branch: asperl
-           ! win32/Makefile
-____________________________________________________________________________
-[   806] By: gsar                                  on 1998/03/12  00:51:08
-        Log: added AS patch#12 with minor changes
-     Branch: asperl
-	   ! ObjXSub.h bytecode.h byterun.c doio.c iplio.h
-	   ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
-	   ! lib/ExtUtils/Mksymlists.pm lib/ExtUtils/xsubpp objpp.h perl.c
-	   ! perllio.h proto.h regcomp.c win32/Makefile win32/config_h.PL
-           ! win32/runperl.c
-____________________________________________________________________________
-[   805] By: gsar                                  on 1998/03/10  20:35:10
-        Log: reinstate some standard sig_names to avoid noise from
-             modules (and in hopes of making them _do_ something in future)
-     Branch: win32/perl
-	   ! win32/config.bc win32/config.gc win32/config.vc
-           ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-____________________________________________________________________________
-[   804] By: gsar                                  on 1998/03/10  20:33:05
-        Log: mingw32 tweaks
-     Branch: win32/perl
-           ! win32/makefile.mk win32/win32.c win32/win32.h
-____________________________________________________________________________
-[   803] By: gsar                                  on 1998/03/09  20:56:07
-        Log: tweak Win32::DomainName() implementation
-     Branch: win32/perl
-           ! win32/Makefile win32/win32.c
-____________________________________________________________________________
-[   802] By: gsar                                  on 1998/03/09  03:51:01
-        Log: merge C patch, also moved statics in
-             [ah]v.c to thrdvar.h
-     Branch: win32/perl
-           ! av.c embedvar.h hv.c scope.c t/op/local.t thrdvar.h
-____________________________________________________________________________
-[   801] By: gsar                                  on 1998/03/09  02:38:35
-        Log: minor win32 support fixes
-             - add a better implementation of Win32::DomainName() (as
-             suggested by Jutta M. Klebe )
-             - fix opendir() emulation was unsafe what given long paths
-     Branch: win32/perl
-           ! win32/win32.c
-____________________________________________________________________________
-[   800] By: nick                                  on 1998/03/07  09:36:41
-        Log: There has been a 'thaw' in config.h (the ICE has gone ;-))
-             So pp_sys.c needs tweaking otherwise it does not believe getservby*()
-             exist. (Breaks libnet).
+[  3060] By: gsar                                  on 1999/03/04  03:37:38
+        Log: better version of change#3038
+             From: abigail@fnx.com
+             Date: Mon, 1 Mar 1999 14:11:36 -0500 (EST)
+             Message-ID: <19990301191136.5557.qmail@alexandra.wayne.fnx.com>
+             Subject: Re: [PATCH 5.005_03 TRIAL-5 pod/pod2man.PL] Recognize -> and => inside
      Branch: perl
-           ! pp_sys.c
+           ! pod/pod2man.PL
 ____________________________________________________________________________
-[   799] By: gsar                                  on 1998/03/07  07:51:28
-        Log: integrate mainline changes
-     Branch: asperl
-          !> (integrate 111 files)
-____________________________________________________________________________
-[   798] By: gsar                                  on 1998/03/07  07:01:55
-        Log: integrate mainline
-     Branch: win32/perl
-          !> myconfig patchlevel.h
-____________________________________________________________________________
-[   797] By: gsar                                  on 1998/03/07  06:49:49
-        Log: provide our own popen()/pclose() to fix problems with qx//:
-             - qx// used to always invoke the shell, now does so only when needed
-             - qx// didn't respect PERL5SHELL, now does
-     Branch: win32/perl
-           ! lib/ExtUtils/typemap win32/config_h.PL win32/win32.c
-____________________________________________________________________________
-[   796] By: gsar                                  on 1998/03/07  01:37:10
-        Log: a missed s/sp/SP/
-     Branch: win32/perl
-           ! lib/ExtUtils/typemap pod/perlcall.pod
-____________________________________________________________________________
-[   795] By: gsar                                  on 1998/03/07  01:05:21
-        Log: change all 'sp' to 'SP' in code and in the docs.  Explicitly
-             mention that local stack pointer should be called SP.  This makes the
-             API safer from source incompatibilities down the line.
-     Branch: win32/perl
-	   ! av.c doio.c doop.c ext/DB_File/DB_File.xs
-	   ! ext/DynaLoader/dl_dld.xs ext/Opcode/Opcode.xs
-	   ! ext/POSIX/POSIX.xs ext/Socket/Socket.xs ext/Thread/Thread.xs
-	   ! gv.c mg.c op.c os2/OS2/REXX/REXX.xs perl.c pod/perlcall.pod
-	   ! pod/perlembed.pod pod/perlguts.pod pod/perlxs.pod pp.c
-           ! pp_ctl.c pp_hot.c pp_sys.c util.c
-
-----------------
-Version 5.004_62
-----------------
-
+[  3058] By: jhi                                   on 1999/03/03  22:30:40
+        Log: Configure regen to
+             (1) match maint-5.005 patches #3056 and #3057
+             (2) better version of PHOSTNAME of #3050
+             (3) the crosscompile/multiarch config_h.SH trouble solved for now
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   794] By: mbeattie                              on 1998/03/06  09:38:08
-        Log: Subject: [PATCH] perl5.004_61 myconfig updates
-             Date: Thu, 5 Mar 1998 15:10:54 -0500 (EST)
-             From: Andy Dougherty 
-     Branch: perl
-           ! myconfig
+[  3054] By: jhi                                   on 1999/03/03  09:57:59
+        Log: Change #3053 missed perldelta.
+     Branch: cfgperl
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   793] By: mbeattie                              on 1998/03/06  09:36:37
-        Log: Bump patchlevel.h to 62.
-     Branch: perl
-           ! patchlevel.h
+[  3053] By: jhi                                   on 1999/03/03  08:29:43
+        Log: Use '!' to mark native integer packings instead of '_'.
+     Branch: cfgperl
+           ! pod/perldiag.pod pp.c t/lib/ipc_sysv.t t/op/pack.t
 ____________________________________________________________________________
-[   792] By: mbeattie                              on 1998/03/06  09:35:57
-        Log: Integrate win32 branch into mainline.
-     Branch: perl
-	  !> bytecode.h op.c proto.h scope.c win32/Makefile win32/config.bc
-	  !> win32/config.gc win32/config.vc win32/config_H.bc
-          !> win32/config_H.gc win32/config_H.vc win32/makefile.mk
+[  3052] By: jhi                                   on 1999/03/02  23:12:36
+        Log: The HP-UX threads patch (change #3028) is needed also here.
+     Branch: cfgperl
+           ! hints/hpux.sh thread.h
 ____________________________________________________________________________
-[   791] By: gsar                                  on 1998/03/06  06:00:08
-        Log: various
-             - s/PerlIO_fread/PerlIO_read/, the former doesn't exist
-             - add missing prototypes
-             - regenerate win32/config*.?c
-     Branch: win32/perl
-	   ! bytecode.h proto.h win32/config.bc win32/config.gc
-	   ! win32/config.vc win32/config_H.bc win32/config_H.gc
-           ! win32/config_H.vc win32/makefile.mk
+[  3051] By: jhi                                   on 1999/03/02  08:24:52
+        Log: From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [PATCH 5.005_0x and 5.005_5x]Minor update to README.VMS
+             Date: Mon, 01 Mar 1999 16:10:57 -0800
+             Message-Id: <3.0.6.32.19990301161057.03b1fc00@ous.edu>
+     Branch: cfgperl
+           ! README.vms
+     Branch: maint-5.005/perl
+           ! README.vms
 ____________________________________________________________________________
-[   790] By: gsar                                  on 1998/03/06  03:19:23
-        Log: fix typo in Makefile
-     Branch: win32/perl
-           ! win32/Makefile
-____________________________________________________________________________
-[   789] By: gsar                                  on 1998/03/05  22:55:53
-        Log: integrate mainline
-     Branch: win32/perl
-          !> (integrate 47 files)
-____________________________________________________________________________
-[   788] By: gsar                                  on 1998/03/05  20:02:09
-        Log: added AS patch#11
-             Message-Id: <01BD4820.AFC70110.dougl@ActiveState.com>
-             Date:    Thu, 05 Mar 1998 10:23:04 PST
-             From:    Douglas Lankshear 
+[  3050] By: jhi                                   on 1999/03/02  08:22:29
+        Log: From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [PATCH5.005_56]Diffs to get 5.005_56 building on VMS
+             Date: Mon, 01 Mar 1999 16:06:29 -0800
+             Message-Id: <3.0.6.32.19990301160629.02e09ec0@ous.edu>
              
-             This patch fixes a bug I introduced removing duplicate code.
-             -- Doug
-     Branch: asperl
-           ! ObjXSub.h objpp.h win32/runperl.c
-____________________________________________________________________________
-[   787] By: gsar                                  on 1998/03/05  19:56:17
-        Log: add Nick's dTHR fixes
-     Branch: win32/perl
-           ! op.c scope.c
-____________________________________________________________________________
-[   786] By: gsar                                  on 1998/03/05  19:54:49
-        Log: maintpatch
-             Message-Id: <199803050749.CAA15206@Orb.Nashua.NH.US>
-             Date:    Thu, 05 Mar 1998 02:49:46 EST
-             From:    Spider Boardman 
-             Subject: [PATCH] 5.004_04 +MAINT_TRIAL_1 broken when sizeof(int) != sizeof(void
-     Branch: win32/perl
-           ! scope.c
-____________________________________________________________________________
-[   785] By: mbeattie                              on 1998/03/05  19:12:14
-        Log: Subject: [5.004_61 PATCH] Make incompatible changes to RE engine NOW
-             Date: Wed, 4 Mar 1998 23:55:54 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           ! op.c proto.h regcomp.c regexp.h util.c
-____________________________________________________________________________
-[   784] By: mbeattie                              on 1998/03/05  19:11:09
-        Log: Subject: [PATCH] Re: perl 5.0061 unable to build on sparc 5 Sol2.5.1 threads.
-             Date: Wed, 4 Mar 1998 10:18:03 GMT
-             From: Nick Ing-Simmons 
-     Branch: perl
-           ! atomic.h
-____________________________________________________________________________
-[   783] By: mbeattie                              on 1998/03/05  19:09:16
-        Log: Subject: Configure patches -01 and -02 for 5.004_61.
-             Date: Tue, 3 Mar 1998 16:41:16 -0500 (EST)
-             From: Andy Dougherty 
-     Branch: perl
-	   ! Configure INSTALL Policy_sh.SH Porting/Glossary
-	   ! Porting/config.sh Porting/config_H Porting/pumpkin.pod
-	   ! config_h.SH handy.h hints/README.hints hints/aix.sh
-	   ! hints/linux.sh hints/solaris_2.sh hints/unicos.sh
-           ! makedepend.SH myconfig pp_sys.c
-____________________________________________________________________________
-[   782] By: mbeattie                              on 1998/03/05  19:05:23
-        Log: Subject: [PATCH] Compiling with OP_IN_REGISTER
-             Date: 03 Mar 1998 18:05:07 +0100
-             From: Gisle Aas 
-     Branch: perl
-           ! perl.h pp_ctl.c
+             From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [PATCH 5.005_56]vmsish.pm patch
+             Date: Mon, 01 Mar 1999 20:19:04 -0800
+             Message-Id: <3.0.6.32.19990301201904.02cff460@ous.edu>
+             
+             plus Configure regen containing a "solution" to the
+             crosscompile/multiarch problem.
+     Branch: cfgperl
+	   ! Configure config_h.SH configure.com ext/B/defsubs.h.PL
+           ! vms/ext/vmsish.pm vms/subconfigure.com vms/vms.c vms/vmsish.h
 ____________________________________________________________________________
-[   781] By: mbeattie                              on 1998/03/05  19:04:34
-        Log: Subject: [PATCH] Make autouse -w-safe
-             Date: Mon, 2 Mar 1998 21:36:02 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           ! lib/autouse.pm op.c sv.c
+[  3049] By: jhi                                   on 1999/03/02  07:34:21
+        Log: From: Spider Boardman 
+             To: perl5-porters@perl.org
+             Subject: [PATCH] Eliminate (valid) warning in byterun.c
+             Date: Mon, 01 Mar 1999 17:27:59 -0500
+             Message-Id: <199903012227.RAA00181@leggy.zk3.dec.com>
+     Branch: cfgperl
+           ! bytecode.h
+     Branch: maint-5.005/perl
+           ! bytecode.h
 ____________________________________________________________________________
-[   780] By: mbeattie                              on 1998/03/05  19:02:50
-        Log: Subject: [PATCH] External symbol re_croak2
-             Date: 02 Mar 1998 13:00:45 +0100
-             From: Gisle Aas 
+[  3048] By: gsar                                  on 1999/03/02  06:41:21
+        Log: updated HP-UX notes from Jeff Okamoto 
      Branch: perl
-           ! regcomp.c regcomp.h
+           ! MANIFEST README.hpux
 ____________________________________________________________________________
-[   779] By: mbeattie                              on 1998/03/05  19:01:25
-        Log: Subject: [PATCH 5.004_61] Miscellaneous minor fixes
-             Date: Mon, 02 Mar 1998 01:48:27 -0500 (EST)
-             From: bailey@newman.upenn.edu (Charles Bailey)
-     Branch: perl
-	   ! bytecode.h embedvar.h ext/B/Makefile.PL ext/B/byteperl.c
-	   ! ext/Thread/Makefile.PL lib/File/Path.pm patchlevel.h perldir.h
-           ! sv.h
+[  3047] By: jhi                                   on 1999/03/01  06:34:43
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> README.hpux lib/File/Spec/Functions.pm
+          !> (integrate 28 files)
 ____________________________________________________________________________
-[   778] By: mbeattie                              on 1998/03/05  18:53:13
-        Log: Subject: [PATCH 5.004_61] USHRT range limit macros
-             Date: Mon, 02 Mar 1998 01:41:41 -0500 (EST)
-             From: bailey@newman.upenn.edu (Charles Bailey)
+[  3046] By: gsar                                  on 1999/03/01  05:34:28
+        Log: this is 5.005_56
      Branch: perl
-           ! perl.h
+           ! Changes
+
+----------------
+Version 5.005_56
+----------------
+
 ____________________________________________________________________________
-[   777] By: mbeattie                              on 1998/03/05  18:50:25
-        Log: Subject: [PATCH 5.004_61]  File::Basename taint fix (revised)
-             Date: Mon, 02 Mar 1998 01:39:47 -0500 (EST)
-             From: bailey@newman.upenn.edu (Charles Bailey)
+[  3045] By: gsar                                  on 1999/03/01  03:32:30
+        Log: destroy PL_svref_mutex in perl_destruct()
      Branch: perl
-           ! lib/File/Basename.pm
+           ! perl.c
 ____________________________________________________________________________
-[   776] By: mbeattie                              on 1998/03/05  18:49:15
-        Log: Subject: [PATCH] Take out version number in perlguts (perl5.004_61)
-             Date: 01 Mar 1998 15:16:03 +0100
-             From: Gisle Aas 
+[  3044] By: gsar                                  on 1999/03/01  00:38:50
+        Log: up patchlevel &c.
      Branch: perl
-           ! pod/perlguts.pod
+	   ! Changes patchlevel.h pod/perlhist.pod win32/Makefile
+	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+           ! win32/makefile.mk
 ____________________________________________________________________________
-[   775] By: mbeattie                              on 1998/03/05  18:48:05
-        Log: Subject: Re: [PATCH] 5.004_61: Makefile.SH (Re: 5.004_61: annoyingly missing patch)
-             Date: Sun, 1 Mar 1998 12:14:44 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  3043] By: gsar                                  on 1999/03/01  00:14:15
+        Log: integrate cfgperl contents into mainline
      Branch: perl
-           ! Makefile.SH perl_exp.SH
+           ! pod/perldelta.pod
+          !> Configure config_h.SH
 ____________________________________________________________________________
-[   774] By: mbeattie                              on 1998/03/05  18:46:32
-        Log: Subject: Almost OK: 5.004_61 (threads, perlio)
-             Date: Sun, 1 Mar 1998 02:02:47 -0500
-             From: Spider Boardman 
+[  3042] By: gsar                                  on 1999/02/28  23:55:08
+        Log: slightly edited version of suggested patch
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Mon, 01 Mar 1999 00:32:05 +0100
+             Message-ID: <36dbcf2c.12325433@smtp1.ibm.net>
+             Subject: Re: [PATCH 5.005_55] Cleanup of File::Spec module
      Branch: perl
-           ! bytecode.h bytecode.pl byterun.c byterun.h perlsdio.h
+           + lib/File/Spec/Functions.pm
+           ! MANIFEST lib/File/Spec.pm
 ____________________________________________________________________________
-[   773] By: mbeattie                              on 1998/03/05  18:43:57
-        Log: Subject: [PATCH 5.004_61] print sort {-1} 1..10; hangs
-             Date: Sat, 28 Feb 1998 15:51:14 -0500 (EST)
-             From: Hans Mulder 
+[  3041] By: gsar                                  on 1999/02/28  22:47:19
+        Log: fix subtle bug in eval'' testsuite
      Branch: perl
-           ! pp_ctl.c
+           ! t/op/eval.t
 ____________________________________________________________________________
-[   772] By: mbeattie                              on 1998/03/05  18:39:25
-        Log: Subject: [PATCH] 5.004_61: Makefile.SH: 'ok' target needs perlbug...
-             Date: Sat, 28 Feb 1998 17:06:41 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  3040] By: gsar                                  on 1999/02/28  22:46:24
+        Log: avoid literal control characters in change#3039
      Branch: perl
-           ! Makefile.SH
+           ! t/base/lex.t
 ____________________________________________________________________________
-[   771] By: mbeattie                              on 1998/03/05  18:38:32
-        Log: Subject: [PATCH] 5.004_61: hints/netbsd.sh
-             Date: Sat, 28 Feb 1998 16:35:32 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  3039] By: gsar                                  on 1999/02/28  21:47:18
+        Log: todo item: permit extended control variables a la ${^Foo} (patch
+             courtesy Mark-Jason Dominus )
      Branch: perl
-           ! hints/netbsd.sh
+	   ! op.c pod/perldelta.pod pod/perltodo.pod pod/perlvar.pod
+           ! t/base/lex.t toke.c
 ____________________________________________________________________________
-[   770] By: mbeattie                              on 1998/03/05  18:36:50
-        Log: Add byterun.c to cflags.SH (Dominic Dunlop )
+[  3038] By: gsar                                  on 1999/02/28  21:21:05
+        Log: From: abigail@fnx.com
+             Date: Sun, 28 Feb 1999 10:59:16 -0500 (EST)
+             Message-ID: <19990228155916.14496.qmail@alexandra.wayne.fnx.com>
+             Subject: Recognize -> and => inside [A-Z]<> sequences.
      Branch: perl
-           ! cflags.SH
+           ! pod/pod2man.PL
 ____________________________________________________________________________
-[   769] By: mbeattie                              on 1998/03/05  18:34:35
-        Log: Change getc/fread to PerlIO_getc/fread in bytecode.h:
-             Subject: [PATCH 5.004_61] bunch of small patches
-             Date: Fri, 27 Feb 1998 20:03:29 -0500 (EST)
-             From: Andrew Cohen 
+[  3037] By: gsar                                  on 1999/02/28  21:12:22
+        Log: fix longstanding bug: searches for lexicals originating within eval''
+             weren't stopping at the subroutine boundary correctly
      Branch: perl
-           ! bytecode.h
+           ! op.c proto.h t/op/eval.t
 ____________________________________________________________________________
-[   768] By: mbeattie                              on 1998/03/05  18:13:06
-        Log: Integrate win32 branch into mainline.
+[  3036] By: gsar                                  on 1999/02/28  20:02:29
+        Log: revert parts of change#2990 to preserve predictable usage of Win32::Foo()
+             as stacked list values
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 27 Feb 1999 18:24:17 +0100
+             Message-ID: <36e22849.36531259@smtp1.ibm.net>
+             Subject: Re: resend [PATCH 5.005_55] Various win32/win32.c cleanup 
      Branch: perl
-          !> (integrate 53 files)
-____________________________________________________________________________
-[   767] By: TimBunce                              on 1998/03/05  11:48:09
-        Log: Update to change 744.
-     Branch: maint-5.004/perl
-           ! lib/ExtUtils/Install.pm
-____________________________________________________________________________
-[   765] By: TimBunce                              on 1998/03/05  11:24:24
-        Log: Update embed.h after make regen_headers.
-     Branch: maint-5.004/perl
-           ! embed.h
-____________________________________________________________________________
-[   764] By: TimBunce                              on 1998/03/05  11:05:13
-        Log: APPLLIB_EXP now has arch and version dirs added to @INC
-     Branch: maint-5.004/perl
-           ! perl.c
-____________________________________________________________________________
-[   763] By: TimBunce                              on 1998/03/05  11:01:38
-        Log: Added hints/openbsd.sh and t/op/pos.t to MANIFEST
-             Added MAINT_TRIAL_1 local patch label to patchlevel.h
-             Removed win32/win32io.c and win32/win32io.h from repository
-     Branch: maint-5.004/perl
-           - win32/win32io.c win32/win32io.h
-           ! MANIFEST patchlevel.h
-____________________________________________________________________________
-[   762] By: TimBunce                              on 1998/03/05  10:05:34
-        Log: Title:  "5.004_04 +MAINT_TRIAL_1 broken when sizeof(int) != sizeof(void)"
-             From:  Spider Boardman 
-             Files:  scope.c
-     Branch: maint-5.004/perl
-           ! scope.c
-____________________________________________________________________________
-[   761] By: TimBunce                              on 1998/03/05  10:03:10
-        Log: Title:  "properly refcount localization, fix C"
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199802191207.MAA10742@toad.ig.co.uk>
-             Files:  av.c hv.c scope.c t/op/local.t
-     Branch: maint-5.004/perl
-           ! av.c hv.c scope.c t/op/local.t
-____________________________________________________________________________
-[   760] By: gsar                                  on 1998/03/04  20:58:21
-        Log: added AS patch#10
-             Message-Id: <01BD4691.963D1670.dougl@ActiveState.com>
-             Date:    Tue, 03 Mar 1998 10:46:13 PST
-             From:    Douglas Lankshear 
-             Subject: [PATCH]
-             
-             Here's a patch to win32/dl_win32.xs that is a fix for the lookup of statically 
-             linked modules.
-             
-             -- Doug
-     Branch: asperl
-           ! win32/dl_win32.xs
-____________________________________________________________________________
-[   759] By: TimBunce                              on 1998/03/04  18:46:41
-        Log: Update patchls utility
-     Branch: maint-5.004/perl
-           ! Porting/patchls
-____________________________________________________________________________
-[   758] By: TimBunce                              on 1998/03/04  17:07:06
-        Log: perldoc -f now uses pager if text is too long for screen
-     Branch: maint-5.004/perl
-           ! utils/perldoc.PL
-____________________________________________________________________________
-[   757] By: TimBunce                              on 1998/03/04  16:57:04
-        Log: Added OpenBSD hint file from 
-             Document 'warn with no args' behaviour, from 
-     Branch: maint-5.004/perl
-           + hints/openbsd.sh
-           ! pod/perlfunc.pod
-____________________________________________________________________________
-[   756] By: TimBunce                              on 1998/03/04  16:48:40
-        Log: Fix for new gnulibc stdio.h when using sfio+perlio
-     Branch: maint-5.004/perl
-           ! perlsdio.h
-____________________________________________________________________________
-[   755] By: TimBunce                              on 1998/03/04  16:47:08
-        Log: Fixed typo in vms/ext/Stdio/Stdio.pm AUTOLOAD
-             Added details of split in scalar context to perlfunc.pod
-     Branch: maint-5.004/perl
-           ! pod/perlfunc.pod vms/ext/Stdio/Stdio.pm
-____________________________________________________________________________
-[   754] By: TimBunce                              on 1998/03/04  16:35:58
-        Log: Updated perl -v info to include reference to docs and home page.
-     Branch: maint-5.004/perl
-           ! perl.c
-____________________________________________________________________________
-[   753] By: TimBunce                              on 1998/03/04  16:31:29
-        Log: Updated hints/bsdos.sh for BSD/OS 3.1
-             Fixed typo in pod/perlsyn.pod
-             Added workaround for old gmake in ext/SDBM_File/sdbm/Makefile.PL
-             Fixed typo in ext/GDBM_File/GDBM_File.pm
-     Branch: maint-5.004/perl
-	   ! ext/GDBM_File/GDBM_File.pm ext/SDBM_File/sdbm/Makefile.PL
-           ! hints/bsdos.sh pod/perlsyn.pod
-____________________________________________________________________________
-[   752] By: TimBunce                              on 1998/03/04  15:49:19
-        Log: Changed bug address in README to perlbug@perl.com
-             Changed Copyright in perl.c to 1998
-             Added op/pos.t test from Robin Houston 
-     Branch: maint-5.004/perl
-           + t/op/pos.t
-           ! README perl.c
-____________________________________________________________________________
-[   751] By: TimBunce                              on 1998/03/04  14:47:15
-        Log: Make t/comp/require.t and t/lib/ph.t executable in repository
-     Branch: maint-5.004/perl
-           ! t/comp/require.t t/lib/ph.t
-____________________________________________________________________________
-[   750] By: TimBunce                              on 1998/03/04  13:29:58
-        Log: Added dTHR definition to ease backwards compatibility for XS
-             source code from 5.005.
-     Branch: maint-5.004/perl
-           ! perl.h
-____________________________________________________________________________
-[   749] By: TimBunce                              on 1998/03/04  12:19:19
-        Log: Title:  "rename local 'op' variables to 'o'", #F114
-             From:  Gurusamy Sarathy
-             Files:  op.h opcode.h proto.h dump.c op.c opcode.pl pp_ctl.c run.c scope.c
-             toke.c
-     Branch: maint-5.004/perl
-	   ! dump.c op.c op.h opcode.h opcode.pl pp_ctl.c proto.h run.c
-           ! scope.c toke.c
-____________________________________________________________________________
-[   748] By: TimBunce                              on 1998/03/04  12:12:27
-        Log: Title:  "consolidated win32 patch", #F112
-             From:  Gurusamy Sarathy
-             Files:  MANIFEST pod/perlfaq2.pod pod/perlrun.pod win32/include/sys/socket.h
-             EXTERN.h INTERN.h dosish.h lib/ExtUtils/Command.pm
-             lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Win32.pm
-             lib/ExtUtils/Mksymlists.pm lib/File/DosGlob.pm t/TEST
-             t/harness win32/win32.h win32/win32iop.h README.win32
-             doio.c installhtml installperl pp_sys.c win32/Makefile
-             win32/config.bc win32/config.vc win32/config_H.bc
-             win32/config_H.vc win32/config_h.PL win32/config_sh.PL
-             win32/dl_win32.xs win32/makedef.pl win32/makefile.mk
-             win32/perllib.c win32/runperl.c win32/win32.c
-             win32/win32sck.c win32/bin/perlglob.pl x2p/a2p.h x2p/a2p.c
-             x2p/a2py.c
-     Branch: maint-5.004/perl
-           + win32/bin/perlglob.pl
-	   ! EXTERN.h INTERN.h MANIFEST README.win32 doio.c dosish.h
-	   ! installhtml installperl lib/ExtUtils/Command.pm
-	   ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Win32.pm
-	   ! lib/ExtUtils/Mksymlists.pm lib/File/DosGlob.pm
-	   ! pod/perlfaq2.pod pod/perlrun.pod pp_sys.c t/TEST t/harness
-	   ! win32/Makefile win32/config.bc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.vc win32/config_h.PL
-	   ! win32/config_sh.PL win32/dl_win32.xs
-	   ! win32/include/sys/socket.h win32/makedef.pl win32/makefile.mk
-	   ! win32/perllib.c win32/runperl.c win32/win32.c win32/win32.h
-	   ! win32/win32iop.h win32/win32sck.c x2p/a2p.c x2p/a2p.h
-           ! x2p/a2py.c
-____________________________________________________________________________
-[   747] By: TimBunce                              on 1998/03/04  11:59:57
-        Log: Title:  "initialize @INC in ph.t, and fix up MANIFEST", #F111
-             From:  Gurusamy Sarathy
-             Files:  MANIFEST t/lib/ph.t
-     Branch: maint-5.004/perl
-           ! MANIFEST t/lib/ph.t
-____________________________________________________________________________
-[   746] By: TimBunce                              on 1998/03/04  11:47:43
-        Log: Title:  "properly save STDOUT during system() in debugger", #F110
-             From:  Jason Smith 
-             Files:  lib/perl5db.pl
-     Branch: maint-5.004/perl
-           ! lib/perl5db.pl
-____________________________________________________________________________
-[   745] By: TimBunce                              on 1998/03/04  11:40:19
-        Log: Title:  "generate DynaLoader.pm at build time", #F109
-             From:  Achim Bohnet 
-             Msg-ID:  <9802111938.AA26224@o09.xray.mpe.mpg.de>
-             Files:  MANIFEST ext/DynaLoader/DynaLoader.pm.PL ext/DynaLoader/Makefile.PL
-     Branch: maint-5.004/perl
-           + ext/DynaLoader/DynaLoader.pm.PL
-           ! MANIFEST ext/DynaLoader/Makefile.PL
-____________________________________________________________________________
-[   744] By: TimBunce                              on 1998/03/04  11:34:09
-        Log: Title:  "Install extensions with bootstrap in $archlib", #F108
-             From:  koenig@anna.mind.de (Andreas J. Koenig), koenig@kulturbox.de (Andreas
-             J. Koenig)
-             Msg-ID:  
-             Files:  lib/ExtUtils/Install.pm
-     Branch: maint-5.004/perl
-           ! lib/ExtUtils/Install.pm
-____________________________________________________________________________
-[   743] By: TimBunce                              on 1998/03/04  10:45:05
-        Log: Title:  "Pod::Html trips over "C<0>"", #F107
-             From:  Chip Salzenberg
-             Files:  lib/Pod/Html.pm
-     Branch: maint-5.004/perl
-           ! lib/Pod/Html.pm
-____________________________________________________________________________
-[   742] By: TimBunce                              on 1998/03/04  10:12:54
-        Log: Title:  "5.004_58 | _04: pod2*,perlpod: L", #F106
-             From:  Achim Bohnet 
-             Msg-ID:  <9802111629.AA00595@o09.xray.mpe.mpg.de>
-             Files:  pod/perlpod.pod lib/Pod/Html.pm lib/Pod/Text.pm pod/pod2man.PL
-     Branch: maint-5.004/perl
-	   ! lib/Pod/Html.pm lib/Pod/Text.pm pod/perlpod.pod pod/pod2man.PL
-____________________________________________________________________________
-[   741] By: TimBunce                              on 1998/03/04  10:08:31
-        Log: Title:  "New patch for $^E==GetLastError() under Win32", #F105
-             From:  Gurusamy Sarathy , Tye McQueen
-             , ilya@math.ohio-state.edu (Ilya
-             Zakharevich)
-             Msg-ID:  <199801040630.AA29298@metronet.com>,
-             <199801041826.NAA11568@aatma.engin.umich.edu>,
-             <1998Jan4.130412.2719461@cor.newman>
-             Files:  pod/perlfunc.pod pod/perlvar.pod doio.c lib/dumpvar.pl lib/perl5db.pl
-             win32/win32.h mg.c util.c win32/makedef.pl win32/win32.c
-     Branch: maint-5.004/perl
-	   ! doio.c lib/dumpvar.pl lib/perl5db.pl mg.c pod/perlfunc.pod
-	   ! pod/perlvar.pod util.c win32/makedef.pl win32/win32.c
-           ! win32/win32.h
-____________________________________________________________________________
-[   740] By: TimBunce                              on 1998/03/04  09:55:57
-        Log: Title:  "5.004_56: Patch to Tie::Hash and docs", #F104
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199801120134.UAA05437@monk.mps.ohio-state.edu>
-             Files:  pod/perlfunc.pod lib/Tie/Hash.pm
-     Branch: maint-5.004/perl
-           ! lib/Tie/Hash.pm pod/perlfunc.pod
-____________________________________________________________________________
-[   739] By: TimBunce                              on 1998/03/04  09:26:01
-        Log: Title:  "more doc for perldoc", #F103
-             From:  Gurusamy Sarathy
-             Files:  utils/perldoc.PL
-     Branch: maint-5.004/perl
-           ! utils/perldoc.PL
-____________________________________________________________________________
-[   738] By: TimBunce                              on 1998/03/04  09:23:16
-        Log: Title:  "Make perldoc look for an index file ", #F102
-             From:  Gisle Aas 
-             Msg-ID:  <199801221220.NAA22902@furu.g.aas.no>
-             Files:  utils/perldoc.PL
-     Branch: maint-5.004/perl
-           ! utils/perldoc.PL
-____________________________________________________________________________
-[   737] By: TimBunce                              on 1998/03/04  09:21:15
-        Log: Title:  "perldoc -F filename", #F101
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199712120037.TAA00176@math.mps.ohio-state.edu>
-             Files:  utils/perldoc.PL
-     Branch: maint-5.004/perl
-           ! utils/perldoc.PL
+           ! win32/win32.c
 ____________________________________________________________________________
-[   736] By: TimBunce                              on 1998/03/04  09:16:20
-        Log: Title:  "sv_grow can fail for HAS_64K_LIMIT systems", #F100
-             From:  Gisle Aas 
-             Msg-ID:  
-             Files:  sv.c
-     Branch: maint-5.004/perl
-           ! sv.c
+[  3035] By: gsar                                  on 1999/02/28  19:48:54
+        Log: remove superfluous stack_sp decl
+     Branch: perl
+           ! jpl/JNI/JNI.xs
 ____________________________________________________________________________
-[   735] By: TimBunce                              on 1998/03/04  09:08:51
-        Log: Title:  "Benchmark.pm: timethese corrupts $_", #F099
-             From:  abigail@fnx.com
-             Msg-ID:  <19980201114609.7779.qmail@betelgeuse.wayne.fnx.com>
-             Files:  lib/Benchmark.pm
-     Branch: maint-5.004/perl
-           ! lib/Benchmark.pm
+[  3034] By: gsar                                  on 1999/02/28  19:34:58
+        Log: s/print STDERR/warn/ suggested by abigail@fnx.com; add $VERSION
+     Branch: perl
+           ! lib/Getopt/Std.pm
 ____________________________________________________________________________
-[   734] By: TimBunce                              on 1998/03/04  08:59:58
-        Log: Title:  "STRANGE_MALLOC should test failed alloc", #F098
-             From:  Gisle Aas 
-             Msg-ID:  <199802021406.PAA03285@furu.g.aas.no>
-             Files:  hv.c
-     Branch: maint-5.004/perl
-           ! hv.c
+[  3033] By: gsar                                  on 1999/02/28  19:23:41
+        Log: add File::Compare::compare_text()
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Fri, 26 Feb 1999 00:20:41 +0100
+             Message-ID: <36dcd8ab.20195659@smtp1.ibm.net>
+             Subject: Re: PodParser 1.07 (was: RE: C vs stuff()) 
+     Branch: perl
+           ! lib/File/Compare.pm pod/perltodo.pod
 ____________________________________________________________________________
-[   733] By: TimBunce                              on 1998/03/04  08:35:19
-        Log: Title:  "support caseless %ENV", #F097
-             From:  Gurusamy Sarathy
-             Files:  hv.c t/op/magic.t win32/win32.h
-     Branch: maint-5.004/perl
-           ! hv.c t/op/magic.t win32/win32.h
+[  3032] By: gsar                                  on 1999/02/28  19:01:33
+        Log: add README.hpux
+     Branch: perl
+           + README.hpux
+           ! MAINTAIN MANIFEST
 ____________________________________________________________________________
-[   732] By: TimBunce                              on 1998/03/04  08:33:58
-        Log: Title:  "newer cperl-mode.el (from 5.004_60)", #F096
-             From:  Ilya Zakharevich
-             Files:  emacs/cperl-mode.el
-     Branch: maint-5.004/perl
-           ! emacs/cperl-mode.el
-____________________________________________________________________________
-[   731] By: TimBunce                              on 1998/03/04  08:26:23
-        Log: Title:  "Handle set magic on xsub OUTPUT args, add API functions that handle
-             magic", #F095
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199801190409.XAA26710@aatma.engin.umich.edu>
-             Files:  pod/perlguts.pod pod/perlxs.pod embed.h proto.h sv.h global.sym
-             lib/ExtUtils/xsubpp sv.c
-     Branch: maint-5.004/perl
-	   ! embed.h global.sym lib/ExtUtils/xsubpp pod/perlguts.pod
-           ! pod/perlxs.pod proto.h sv.c sv.h
-____________________________________________________________________________
-[   730] By: TimBunce                              on 1998/03/04  08:20:52
-        Log: Title:  "Fix flawed cleanup when signal handlers are not defined", #F094
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199710290106.UAA11485@aatma.engin.umich.edu>
-             Files:  mg.c
-     Branch: maint-5.004/perl
-           ! mg.c
+[  3031] By: gsar                                  on 1999/02/28  18:49:08
+        Log: avoid escaping & et al multiple times (variant of fix suggested by
+             James Cromie 
+     Branch: perl
+           ! lib/Pod/Html.pm
 ____________________________________________________________________________
-[   729] By: TimBunce                              on 1998/03/04  08:18:02
-        Log: Title:  "Tests for C", #F093
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199711021247.MAA01743@crypt.compulink.co.uk>
-             Files:  t/op/sort.t
-     Branch: maint-5.004/perl
-           ! t/op/sort.t
+[  3030] By: gsar                                  on 1999/02/28  18:35:09
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Wed, 24 Feb 1999 22:34:56 +0100
+             Message-ID: <36d86f1e.11495549@smtp1.ibm.net>
+             Subject: [PATCH 5.005_55] Test::Harness setting $ENV{HARNESS_ACTIVE}
+     Branch: perl
+           ! lib/Test/Harness.pm
 ____________________________________________________________________________
-[   728] By: TimBunce                              on 1998/03/04  08:17:07
-        Log: Title:  "Make search.pl work on win32", #F092
-             From:  Gurusamy Sarathy
-             Files:  win32/bin/search.pl
-     Branch: maint-5.004/perl
-           ! win32/bin/search.pl
+[  3029] By: gsar                                  on 1999/02/28  18:28:18
+        Log: add note about env pollution
+     Branch: perl
+           ! INSTALL pod/perltodo.pod
 ____________________________________________________________________________
-[   727] By: gsar                                  on 1998/03/04  04:13:23
-        Log: missing s/op/o/ from one of the mainpatches
-     Branch: win32/perl
-           ! op.c
+[  3028] By: jhi                                   on 1999/02/26  14:40:00
+        Log: HP-UX 11 threads.
+             
+             From: Jeff Okamoto 
+             To: perl5-porters@perl.org
+             Cc: jhi@cc.hut.fi
+             Subject: Maint 5 and _54 with threading on HP-UX 11.00
+             Date: Wed, 3 Feb 1999 12:57:18 -0800 (PST)
+             Message-Id: <199902032057.MAA10218@xfiles.intercon.hp.com>
+             
+             NOTE from jhi: the hpux hints could still be more robust by
+             disabling gdbm when necessary.
+             
+             Currently if there's a libgdbm.sl (gdbm 1.7.3) which is pre-11,
+             linking -lgdbm -lpthread creates an executable that instantly
+             core dumps on a pthreads internal panic:
+             
+             ./gdpt
+             
+             Pthread internal error: message: __libc_reinit() failed, file: ../pthreads/pthread.c, line: 1096
+             Return Pointer is 0xc082bf33
+             17639 quit (core dumped)  ./gdpt
+             
+             You don't have to *use* either gdbm or pthreads in the executable,
+             just linking them together is enough.  Workaround is to recompile
+             the GDBM under HP-UX 11, that makes the problem go away.
+     Branch: maint-5.005/perl
+           ! hints/hpux.sh thread.h
 ____________________________________________________________________________
-[   726] By: gsar                                  on 1998/03/04  02:12:13
-        Log: maintpatches #102 and #103 to perldoc.PL
-     Branch: win32/perl
-           ! utils/perldoc.PL
+[  3025] By: jhi                                   on 1999/02/25  20:41:07
+        Log: Temporary workaround for the config_h.SH versus
+             crosscompile and multiarch plus introduce 'rt'
+             to $libswanted: in UNIX98 sched_yield() lives there.
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   725] By: gsar                                  on 1998/03/04  02:00:15
-        Log: renumber some tests to match maint branch
-     Branch: win32/perl
-           ! t/op/local.t
-____________________________________________________________________________
-[   724] By: gsar                                  on 1998/03/04  01:25:50
-        Log: maintpatch
-             #70:  "Fix random whitespace errors in docs"
-             From:  Roderick Schertler 
-             Msg-ID:  <12726.877706444@eeyore.ibcinc.com>
-             Date:  Fri, 24 Oct 1997 11:20:44 -0400
-             Files:  pod/checkpods.PL pod/perlfunc.pod
-     Branch: win32/perl
-           ! pod/checkpods.PL
-____________________________________________________________________________
-[   723] By: gsar                                  on 1998/03/04  01:04:37
-        Log: sync maintpatch
-             #76:  "Fix infinite loop on unlink() failure in File::Path::rmtree()
-             From:  Chip Salzenberg
-             Files:  lib/File/Path.pm
-     Branch: win32/perl
-           ! lib/File/Path.pm
+[  3024] By: jhi                                   on 1999/02/24  12:54:59
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> t/lib/fatal.t
+          !> (integrate 44 files)
 ____________________________________________________________________________
-[   722] By: gsar                                  on 1998/03/04  00:46:46
-        Log: remove redundancy in File::Find
-     Branch: win32/perl
-           ! lib/File/Find.pm
+[  3023] By: gsar                                  on 1999/02/24  07:02:12
+        Log: integrate cfgperl contents
+     Branch: perl
+          !> (integrate 30 files)
 ____________________________________________________________________________
-[   721] By: TimBunce                              on 1998/03/03  20:06:41
-        Log: Title:  "Fix spurious perldoc warnings on DOSISH platforms", #F091
-             From:  Molnar Laszlo 
-             Msg-ID:  <34475659.1AA69855@cdata.tvnet.hu>
-             Files:  utils/perldoc.PL
-     Branch: maint-5.004/perl
+[  3022] By: gsar                                  on 1999/02/24  05:59:47
+        Log: From: Daniel Grisinger 
+             Date: 23 Feb 1999 17:53:22 -0700
+             Message-ID: 
+             Subject: [PATCH: _55] perldoc -q broken
+     Branch: perl
            ! utils/perldoc.PL
 ____________________________________________________________________________
-[   720] By: TimBunce                              on 1998/03/03  20:03:59
-        Log: Title:  "Make ExtUtils::MM_Unix::fixin() do something meaningful on win32",
-             #F090
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199801070016.TAA17766@aatma.engin.umich.edu>
-             Files:  lib/ExtUtils/MM_Unix.pm
-     Branch: maint-5.004/perl
-           ! lib/ExtUtils/MM_Unix.pm
-____________________________________________________________________________
-[   719] By: TimBunce                              on 1998/03/03  20:02:06
-        Log: Title:  "Fix inconsistent case $ENV{Path} (vs $ENV{PATH})", #F089
-             From:  Gurusamy Sarathy
-             Files:  lib/FindBin.pm
-     Branch: maint-5.004/perl
-           ! lib/FindBin.pm
+[  3021] By: gsar                                  on 1999/02/24  05:51:53
+        Log: ansify perlio.c, fix PerlIO-ish typos
+     Branch: perl
+	   ! ext/DynaLoader/dl_beos.xs ext/DynaLoader/dl_cygwin32.xs
+           ! iperlsys.h perlio.c
 ____________________________________________________________________________
-[   718] By: TimBunce                              on 1998/03/03  20:00:26
-        Log: Title:  "Fix File::Find's longstanding confusion about win32 being like VMS",
-             #F088
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199802020459.XAA04964@aatma.engin.umich.edu>
-             Files:  lib/File/Find.pm
-     Branch: maint-5.004/perl
-           ! lib/File/Find.pm
+[  3020] By: gsar                                  on 1999/02/24  05:28:06
+        Log: adjust a Perl_malloc() flag for NeXT
+             From: Hans Mulder 
+             Date: Tue, 23 Feb 99 00:26:25 +0100
+             Message-Id: <9902222329.AA17516@icgned.icgroup.nl>
+             Subject: [PATCH for _55] MUTEX_INIT_CALLS_MALLOC no longer necessary
+     Branch: perl
+           ! perl.h
 ____________________________________________________________________________
-[   717] By: TimBunce                              on 1998/03/03  19:59:38
-        Log: Title:  "do_postponed breaks with multiple interpreters", #F087
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199710290316.WAA15888@aatma.engin.umich.edu>
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  3019] By: gsar                                  on 1999/02/24  05:19:42
+        Log: perltodo adjustments from Joshua Pritikin 
+     Branch: perl
+           ! pod/perltodo.pod
 ____________________________________________________________________________
-[   716] By: TimBunce                              on 1998/03/03  19:57:17
-        Log: Title:  "Make warning on C optional, add to perl{diag,delta}.pod",
-             #F086
-             From:  Gurusamy Sarathy
-             Files:  pod/perldelta.pod pod/perldiag.pod toke.c
-     Branch: maint-5.004/perl
-           ! pod/perldelta.pod pod/perldiag.pod toke.c
+[  3018] By: gsar                                  on 1999/02/24  04:15:18
+        Log: From: Joshua Pritikin 
+             Date: Mon, 22 Feb 1999 11:29:09 -0500 (EST)
+             Message-ID: 
+             Subject: improved error message [PATCH _55] [RESEND]
+     Branch: perl
+           ! sv.c
 ____________________________________________________________________________
-[   715] By: TimBunce                              on 1998/03/03  19:51:33
-        Log: Title:  "Pod::Html bug and fix: missing  in index", #F085
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199802192314.SAA23326@aatma.engin.umich.edu>
-             Files:  lib/Pod/Html.pm
-     Branch: maint-5.004/perl
-           ! lib/Pod/Html.pm
+[  3017] By: gsar                                  on 1999/02/24  03:50:34
+        Log: From: Tom Christiansen 
+             Date: Sun, 21 Feb 1999 20:02:18 -0700
+             Message-Id: <199902220302.UAA09981@jhereg.perl.com>
+             Subject: perlfunc updates (against 55)
+     Branch: perl
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   714] By: TimBunce                              on 1998/03/03  19:50:28
-        Log: Title:  "New pod: perlhist", #F084
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199802191556.RAA09578@alpha.hut.fi>
-             Files:  MANIFEST pod/perl.pod pod/perlhist.pod pod/perltoc.pod pod/buildtoc
-     Branch: maint-5.004/perl
-           + pod/perlhist.pod
-           ! MANIFEST pod/buildtoc pod/perl.pod pod/perltoc.pod
-____________________________________________________________________________
-[   713] By: TimBunce                              on 1998/03/03  19:47:13
-        Log: Title:  "Fix restoration of locals on scope unwinding", #F083
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199802110515.AAA23700@aatma.engin.umich.edu>
-             Files:  pp_ctl.c t/op/local.t
-     Branch: maint-5.004/perl
-           ! pp_ctl.c t/op/local.t
+[  3016] By: gsar                                  on 1999/02/24  03:17:05
+        Log: testsuite adjustments
+             From: "M.J.T. Guy" 
+             Date: Sat, 20 Feb 1999 15:24:57 +0000
+             Message-Id: 
+             Subject: Not quite OK: perl5.005_55 on SunOS 4.1.3 / gcc
+     Branch: perl
+           ! t/lib/io_sock.t t/op/lex_assign.t
 ____________________________________________________________________________
-[   712] By: TimBunce                              on 1998/03/03  19:45:56
-        Log: Title:  "after an eval-ed bad require, requiring a string ref SEGVs", #F082
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199802102349.SAA16001@aatma.engin.umich.edu>
-             Files:  pp_ctl.c
-     Branch: maint-5.004/perl
-           ! pp_ctl.c
+[  3015] By: gsar                                  on 1999/02/24  02:54:47
+        Log: avoid modifying readonly values from qw()
+     Branch: perl
+           ! lib/ExtUtils/MM_Unix.pm
 ____________________________________________________________________________
-[   711] By: TimBunce                              on 1998/03/03  19:44:41
-        Log: Title:  "Fix seg fault on eval/require and syntax errors", #F081
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199802102321.SAA15346@aatma.engin.umich.edu>
-             Files:  MANIFEST scope.h op.c pp_ctl.c scope.c t/comp/require.t toke.c
-     Branch: maint-5.004/perl
-           + t/comp/require.t
-           ! MANIFEST op.c pp_ctl.c scope.c scope.h toke.c
-____________________________________________________________________________
-[   710] By: TimBunce                              on 1998/03/03  19:36:34
-        Log: Title:  "5.004_58: the locale.t problem in IRIX", #F080
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199802091747.TAA01735@alpha.hut.fi>
-             Files:  t/pragma/locale.t
-     Branch: maint-5.004/perl
-           ! t/pragma/locale.t
+[  3014] By: gsar                                  on 1999/02/24  02:49:04
+        Log: more "correct" utbuf for utime()
+     Branch: perl
+           ! doio.c
 ____________________________________________________________________________
-[   709] By: TimBunce                              on 1998/03/03  19:32:30
-        Log: Title:  "sv_setnv will upgrade SVt_NV to SVt_PVNV", #F079
-             From:  Gisle Aas 
-             Msg-ID:  
-             Files:  sv.c
-     Branch: maint-5.004/perl
-           ! sv.c
+[  3013] By: jhi                                   on 1999/02/22  19:27:44
+        Log: Fix MacPerl version, change PowerUX to PowerMAX.
+             
+             From: Chris Nandor 
+             To: jhi@iki.fi
+             Cc: perl5-porters@perl.org
+             Subject: Re: perl current availability as documented by perl.pod
+             Date: Sun, 21 Feb 1999 11:06:03 -0500
+             Message-Id: 
+             
+             From: Tom Horsley 
+             To: jhi@iki.fi
+             Cc: perl5-porters@perl.org
+             Subject: Re: perl current availability as documented by perl.pod
+             Date: Mon, 22 Feb 1999 13:08:30 GMT
+             Message-Id: <199902221308.NAA19971@cleo.ccur.com>
+     Branch: cfgperl
+           ! pod/perl.pod
+     Branch: maint-5.005/perl
+           ! pod/perl.pod
 ____________________________________________________________________________
-[   708] By: TimBunce                              on 1998/03/03  19:28:06
-        Log: Title:  "Eliminate double warnings under C", #F077
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  gv.c op.c toke.c
-     Branch: maint-5.004/perl
-           ! gv.c op.c toke.c
-____________________________________________________________________________
-[   707] By: TimBunce                              on 1998/03/03  19:13:17
-        Log: Title:  "Fix infinite loop on unlink() failure in File::Path::rmtree()",
-             #F076
-             From:  Murray Nesbitt , Tim Bunce 
-             Msg-ID:  <199802061100.LAA16423@toad.ig.co.uk>
-             Files:  lib/File/Path.pm
-     Branch: maint-5.004/perl
-           ! lib/File/Path.pm
+[  3012] By: jhi                                   on 1999/02/22  10:26:11
+        Log: Snapshot the cross-compilation/multiarchitecture stuff
+             (currently broken in next)
+     Branch: cfgperl
+           ! Configure config_h.SH pp.c
 ____________________________________________________________________________
-[   706] By: TimBunce                              on 1998/03/03  19:08:45
-        Log: Title:  "Update of h2ph", #F075
-             From:  kstar@www.chapin.edu (Kurt D. Starsinic)
-             Msg-ID:  <199802051354.FAA11452@www.chapin.edu>
-             Files:  t/lib/ph.t utils/h2ph.PL
-     Branch: maint-5.004/perl
-           + t/lib/ph.t
-           ! utils/h2ph.PL
+[  3011] By: jhi                                   on 1999/02/22  10:24:51
+        Log: From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
+             To: gsar@activestate.com (Gurusamy Sarathy)
+             Cc: perl5-porters@perl.org (Perl5 Porters)
+             Subject: [PATCH 5.005_55] DB_File 1.64 patch
+             Date: Mon, 22 Feb 1999 10:07:00 +0000 (GMT)
+             Message-Id: <9902221007.AA17751@claudius.bfsec.bt.co.uk>
+     Branch: cfgperl
+	   ! ext/DB_File/Changes ext/DB_File/DB_File.pm
+           ! ext/DB_File/DB_File.xs ext/DB_File/typemap t/lib/db-recno.t
 ____________________________________________________________________________
-[   705] By: TimBunce                              on 1998/03/03  18:56:59
-        Log: Title:  "Fix AutoLoader for deep packages", #F074
-             From:  Zachary Miller 
-             Msg-ID:  <199710092348.SAA02108@zappy.er.usgs.gov>
-             Files:  lib/AutoLoader.pm
-     Branch: maint-5.004/perl
-           ! lib/AutoLoader.pm
+[  3009] By: jhi                                   on 1999/02/22  09:14:26
+        Log: Scratch #3008 and introduce $crosscompile and $multiarch
+             also in non-Configure lands.
+     Branch: cfgperl
+	   ! Configure config_h.SH hints/next_3.sh hints/next_3_0.sh
+	   ! hints/next_4.sh vms/subconfigure.com win32/config.bc
+	   ! win32/config.gc win32/config.vc win32/config_H.bc
+           ! win32/config_H.gc win32/config_H.vc
 ____________________________________________________________________________
-[   704] By: TimBunce                              on 1998/03/03  18:35:36
-        Log: Title:  "Fix order of warnings for misplaced subscripts", #F073
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199710131023.LAA16796@crypt.compulink.co.uk>
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  3008] By: jhi                                   on 1999/02/22  08:58:04
+        Log: Add -DMULTIARCH (see change #3006).
+     Branch: cfgperl
+           ! hints/next_3.sh hints/next_3_0.sh hints/next_4.sh
 ____________________________________________________________________________
-[   703] By: TimBunce                              on 1998/03/03  18:32:28
-        Log: Title:  "Make recursive lexical analysis more robust", #F072
-             From:  Ilya Zakharevich and Chip Salzenberg
-             Msg-ID:  <199710160102.VAA28817@monk.mps.ohio-state.edu>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  3007] By: jhi                                   on 1999/02/22  08:54:06
+        Log: Undo the references to local{lib,arch} introduced by #3006.
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   702] By: TimBunce                              on 1998/03/03  18:18:10
-        Log: Title:  "Fix random whitespace errors in docs", #F070
-             From:  Roderick Schertler 
-             Msg-ID:  <12726.877706444@eeyore.ibcinc.com>
-             Files:  pod/perlfunc.pod pod/checkpods.PL
-     Branch: maint-5.004/perl
-           ! pod/checkpods.PL pod/perlfunc.pod
+[  3006] By: jhi                                   on 1999/02/22  08:43:50
+        Log: From: hansm@icgned.icgroup.nl
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00555 on OPENSTEP-Mach-thread 4_2 (UNINSTALLED)
+             Date: Sun, 21 Feb 1999 22:58:55 +0100
+             Reply-To: hansmu@xs4all.nl
+             Message-Id: <9902212201.AA13386@icgned.icgroup.nl>
+             
+             plus other Configure changes: prepare for cross-compilation/
+             multiarchitecture builds.
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   701] By: TimBunce                              on 1998/03/03  18:13:54
-        Log: Title:  "Fix line numbers after here documents in eval STRING", #F069
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199710241745.NAA08166@monk.mps.ohio-state.edu>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  3005] By: jhi                                   on 1999/02/22  08:35:30
+        Log: Configure/Perl knew how to look for use Mach cthreads
+             but Configure didn't let them to be used ($osname 'next').
+     Branch: cfgperl
+           ! Configure config_h.SH
+     Branch: maint-5.005/perl
+           ! Configure
 ____________________________________________________________________________
-[   700] By: TimBunce                              on 1998/03/03  18:11:20
-        Log: Title:  "Fix SEGV from combining caller and C", #F068
-             From:  James Duncan , Nicholas Clark
-             
-             Msg-ID:  <199710241248.NAA00163@flirble.org>,
-             
-             Files:  pp_ctl.c sv.c
-     Branch: maint-5.004/perl
-           ! pp_ctl.c sv.c
+[  3004] By: jhi                                   on 1999/02/21  15:46:02
+        Log: Update Acorn AVAILABILITY.
+     Branch: cfgperl
+           ! pod/perl.pod
+     Branch: maint-5.005/perl
+           ! pod/perl.pod
 ____________________________________________________________________________
-[   699] By: TimBunce                              on 1998/03/03  18:06:59
-        Log: Title:  "Don't fold string comparison under C", #F067
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199711151506.RAA26287@alpha.hut.fi>
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  3003] By: jhi                                   on 1999/02/21  14:50:42
+        Log: From: rjk@linguist.dartmouth.edu (Ronald J. Kimball)
+             To: perl5-porters@perl.org (Perl 5 Porters)
+             Subject: PATCH: perlref.pod - symbolic ref example
+             Date: Sat, 20 Feb 1999 17:32:11 -0500 (EST)
+             Message-Id: <199902202232.RAA62306@linguist.dartmouth.edu>
+     Branch: cfgperl
+           ! pod/perlref.pod
+     Branch: maint-5.005/perl
+           ! pod/perlref.pod
 ____________________________________________________________________________
-[   698] By: TimBunce                              on 1998/03/03  18:04:51
-        Log: Title:  "Fix SEGV on constant at end of sort block", #F066
-             From:  Administration 
-             Msg-ID:  <199711170838.JAA26073@thetis.fi.muni.cz>
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  3002] By: jhi                                   on 1999/02/21  14:35:22
+        Log: Sync cfgperl with maint-5.005 change #3000.
+     Branch: cfgperl
+           ! pod/perlfunc.pod t/op/pack.t
 ____________________________________________________________________________
-[   697] By: TimBunce                              on 1998/03/03  18:02:54
-        Log: Title:  "Allow C to mean C", #F065
-             From:  Chip Salzenberg
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  2999] By: gsar                                  on 1999/02/20  22:48:30
+        Log: From:    John Bley 
+             Date:    Sat, 20 Feb 1999 16:02:34 EST
+             Message-Id: 
+             Subject: [PATCH]5.005_55 (CORE) Sparse intializer in regcomp.c
+     Branch: perl
+           ! regcomp.c
 ____________________________________________________________________________
-[   696] By: TimBunce                              on 1998/03/03  17:58:12
-        Log: Title:  "Fix extension version mismatch message", #F064
-             From:  Chip Salzenberg
-             Files:  XSUB.h
-     Branch: maint-5.004/perl
-           ! XSUB.h
+[  2998] By: jhi                                   on 1999/02/20  14:13:06
+        Log: Enhanced the endianness description.
+     Branch: cfgperl
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   695] By: TimBunce                              on 1998/03/03  17:53:04
-        Log: Title:  "Better handle and test struct tm of Linux and SunOS", #F063
-             From:  Andy Dougherty 
-             Msg-ID:  
-             Files:  MANIFEST ext/POSIX/hints/linux.pl ext/POSIX/hints/sunos_4.pl
-             hints/linux.sh hints/sunos_4_1.sh t/lib/posix.t
-     Branch: maint-5.004/perl
-           + ext/POSIX/hints/linux.pl ext/POSIX/hints/sunos_4.pl
-           ! MANIFEST hints/linux.sh hints/sunos_4_1.sh t/lib/posix.t
+[  2996] By: jhi                                   on 1999/02/20  13:55:41
+        Log: Glossary now mostly fixed.
+     Branch: cfgperl
+	   ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+           ! config_h.SH
 ____________________________________________________________________________
-[   694] By: TimBunce                              on 1998/03/03  17:40:47
-        Log: Title:  "Fix doc bug in getservbyname() examples", #F062
-             From:  Tom Christiansen
-             Files:  ext/Socket/Socket.pm
-     Branch: maint-5.004/perl
-           ! ext/Socket/Socket.pm
+[  2994] By: jhi                                   on 1999/02/20  11:58:33
+        Log: Perldeltify GNU/Hurd.
+     Branch: cfgperl
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   693] By: TimBunce                              on 1998/03/03  17:32:57
-        Log: Title:  "Kill warning about parameter type", #F061
-             From:  Chip Salzenberg
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  2993] By: gsar                                  on 1999/02/20  00:59:10
+        Log: fix typo in Perl_sbrk()
+             From: hansm@icgned.icgroup.nl
+             Date: Fri, 19 Feb 1999 23:19:31 +0100
+             Message-Id: <9902192221.AA07213@icgned.icgroup.nl>
+             Subject: Not OK: perl 5.00555 on OPENSTEP-Mach 4_2 (UNINSTALLED)
+     Branch: perl
+           ! malloc.c
 ____________________________________________________________________________
-[   692] By: TimBunce                              on 1998/03/03  17:11:07
-        Log: Title:  "Socket occasional SEGV", #F060
-             From:  Trevor Blackwell 
-             Msg-ID:  <199710281804.NAA09632@wagg.viaweb.com>
-             Files:  ext/Socket/Socket.xs
-     Branch: maint-5.004/perl
-           ! ext/Socket/Socket.xs
+[  2992] By: gsar                                  on 1999/02/20  00:51:08
+        Log: integrate change#2980 from maint-5.005
+     Branch: perl
+          !> utils/h2xs.PL
 ____________________________________________________________________________
-[   691] By: TimBunce                              on 1998/03/03  17:09:51
-        Log: Title:  "Avoid SEGV from local($@)", #F059
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199710290251.VAA14362@aatma.engin.umich.edu>
-             Files:  pp_ctl.c
-     Branch: maint-5.004/perl
-           ! pp_ctl.c
+[  2991] By: gsar                                  on 1999/02/20  00:34:01
+        Log: From: Hugo van der Sanden 
+             Date: Thu, 18 Feb 1999 18:51:38 +0000
+             Message-Id: <199902181851.SAA14018@crypt.compulink.co.uk>
+             Subject: [PATCH 5.005_55] test failures with MIME-tools-4.122 and perl 5.005_55 
+     Branch: perl
+           ! pp_hot.c t/op/pat.t
 ____________________________________________________________________________
-[   690] By: TimBunce                              on 1998/03/03  17:08:21
-        Log: Title:  "Don't use broken pad_reset() (was Re: Perl bug in 5.004_03 )", #F058
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199710300036.TAA01004@aatma.engin.umich.edu>
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  2990] By: gsar                                  on 1999/02/20  00:30:48
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Thu, 18 Feb 1999 19:14:07 +0100
+             Message-ID: <36d15809.40853323@smtp1.ibm.net>
+             Subject: resend [PATCH 5.005_55] Various win32/win32.c cleanup
+     Branch: perl
+           ! win32/win32.c
 ____________________________________________________________________________
-[   689] By: TimBunce                              on 1998/03/03  17:05:57
-        Log: Title:  "Use STMT_{START,END} in XSRETURN", #F057
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199710300245.VAA04244@aatma.engin.umich.edu>
-             Files:  XSUB.h
-     Branch: maint-5.004/perl
-           ! XSUB.h
+[  2989] By: gsar                                  on 1999/02/20  00:27:01
+        Log: do poll() emulation unless HAS_POLL && I_POLL
+     Branch: perl
+           ! ext/IO/poll.h
 ____________________________________________________________________________
-[   688] By: TimBunce                              on 1998/03/03  17:04:15
-        Log: Title:  "Re: Sort grammar bug", #F056
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199711011946.OAA18882@aatma.engin.umich.edu>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2988] By: gsar                                  on 1999/02/19  23:52:12
+        Log: tweak RE for NaNQ? recognition
+     Branch: perl
+           ! t/lib/bigfloatpm.t
 ____________________________________________________________________________
-[   687] By: TimBunce                              on 1998/03/03  17:01:32
-        Log: Title:  "Document indirect object cases for exec(), system()", #F055
-             From:  Dominic Dunlop 
-             Msg-ID:  
-             Files:  pod/perlfunc.pod
-     Branch: maint-5.004/perl
-           ! pod/perlfunc.pod
+[  2987] By: gsar                                  on 1999/02/19  23:29:59
+        Log: mention C and C in perldelta
+     Branch: perl
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   686] By: TimBunce                              on 1998/03/03  16:56:44
-        Log: Title:  "Update docs on tr///", #F054
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod
-             pod/perllocale.pod pod/perlmod.pod pod/perlop.pod
-             pod/perlstyle.pod toke.c
-     Branch: maint-5.004/perl
-	   ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod
-	   ! pod/perllocale.pod pod/perlmod.pod pod/perlop.pod
-           ! pod/perlstyle.pod toke.c
-____________________________________________________________________________
-[   685] By: TimBunce                              on 1998/03/03  16:38:50
-        Log: Title:  "Re: perlop bitwise & | ^ documentation", #F053
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Files:  pod/perlop.pod
-     Branch: maint-5.004/perl
-           ! pod/perlop.pod
+[  2985] By: jhi                                   on 1999/02/19  20:43:19
+        Log: pack/unpack better in (network-)short-non-16-bits and
+             (network-)long-non-32-bits systems such as Cray C90.
+     Branch: cfgperl
+           ! perl.h pp.c t/op/pack.t
 ____________________________________________________________________________
-[   684] By: TimBunce                              on 1998/03/03  16:37:00
-        Log: Title:  "Fix SEGV on C<*glob{'SCALAR','ARRAY'}>", #F052
-             From:  "Joseph N. Hall" 
-             Msg-ID:  <199711110552.WAA12613@gadget.cscaper.com>
-             Files:  perly.c perly.c.diff perly.y vms/perly_c.vms
-     Branch: maint-5.004/perl
-           ! perly.c perly.c.diff perly.y vms/perly_c.vms
-____________________________________________________________________________
-[   683] By: TimBunce                              on 1998/03/03  16:31:15
-        Log: Title:  "for perlguts.pod: document sv_derived_from, sv_vcatpfn and
-             sv_vsetpfn", #F051
-             From:  jan.dubois@ibm.net (Jan Dubois) and Chip Salzenberg
-             Msg-ID:  <346ae970.7444534@smtp1.ibm.net>
-             Files:  pod/perlguts.pod
-     Branch: maint-5.004/perl
-           ! pod/perlguts.pod
+[  2984] By: jhi                                   on 1999/02/19  20:38:54
+        Log: Regen Configure.
+     Branch: cfgperl
+	   ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+           ! perl.c
 ____________________________________________________________________________
-[   682] By: TimBunce                              on 1998/03/03  16:28:30
-        Log: Title:  "5.004_04: locale startup failure (at last) documented", #F050
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199711172054.WAA08261@alpha.hut.fi>
-             Files:  INSTALL pod/perldiag.pod pod/perllocale.pod
-     Branch: maint-5.004/perl
-           ! INSTALL pod/perldiag.pod pod/perllocale.pod
+[  2982] By: jhi                                   on 1999/02/19  19:51:49
+        Log: Configure update: fstatvfs/fstafs/getmntent/hasmntopt were
+             not probed for and 	
+             
+             From: "Kurt D. Starsinic" 
+             To: Chaim Frenkel ,
+             Russ Allbery ,
+             Jarkko Hietaniemi ,
+             Gurusamy Sarathy ,
+             Graham Barr 
+             Cc: bdensch@ameritech.net, perlbug@perl.com
+             Subject: [PATCH] Re: Solaris 7 for Intel
+             Message-ID: <19990219124404.A30182@O2.chapin.edu>
+             
+             Glossary is still missing some terms because
+             mkglossary is misbehaving (change #2981 updated
+             Glossary manually)
+     Branch: cfgperl
+	   ! Configure Makefile.SH Porting/Glossary Porting/config.sh
+           ! Porting/config_H
 ____________________________________________________________________________
-[   681] By: TimBunce                              on 1998/03/03  16:24:12
-        Log: Title:  "Cope with lack of args in Fcntl::AUTOLOAD", #F049
-             From:  Jerome Abela 
-             Msg-ID:  <19971120183248.23588@coredump.hsc.fr>
-             Files:  ext/Fcntl/Fcntl.pm
-     Branch: maint-5.004/perl
-           ! ext/Fcntl/Fcntl.pm
+[  2980] By: gbarr                                 on 1999/02/19  16:06:53
+        Log: Make result of h2xs work when user adds C
+     Branch: maint-5.005/perl
+           ! utils/h2xs.PL
 ____________________________________________________________________________
-[   680] By: TimBunce                              on 1998/03/03  16:23:20
-        Log: Title:  "Commenting toke.c", #F048
-             From:  gnat@frii.com
-             Msg-ID:  <199801082138.OAA14186@prometheus.frii.com>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2979] By: gsar                                  on 1999/02/19  05:24:29
+        Log: doc for change#2978
+     Branch: perl
+           ! pod/perlsub.pod
 ____________________________________________________________________________
-[   679] By: TimBunce                              on 1998/03/03  16:18:32
-        Log: Title:  "Re: 5.004_04 vec() fails with 32-bit values", #F047
-             From:  "M.J.T. Guy" 
-             Msg-ID:  
-             Files:  pod/perlguts.pod pp.c t/op/vec.t
-     Branch: maint-5.004/perl
-           ! pod/perlguts.pod pp.c t/op/vec.t
+[  2978] By: gsar                                  on 1999/02/19  05:08:29
+        Log: bring '*' prototype closer to how it behaves internally
+     Branch: perl
+           + t/lib/fatal.t
+           ! MANIFEST lib/Fatal.pm op.c t/comp/proto.t
 ____________________________________________________________________________
-[   678] By: TimBunce                              on 1998/03/03  16:15:44
-        Log: Title:  "A few perl5.004_03 bugs", #F046
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199801221211.MAA05315@crypt.compulink.co.uk>
-             Files:  mg.c t/op/magic.t
-     Branch: maint-5.004/perl
-           ! mg.c t/op/magic.t
+[  2977] By: gsar                                  on 1999/02/19  02:50:31
+        Log: stem leakage of perly.h #defines #ifndef PERL_CORE
+     Branch: perl
+           ! perly.h
 ____________________________________________________________________________
-[   677] By: TimBunce                              on 1998/03/03  16:13:11
-        Log: Title:  "Faster, cleaner av_unshift() ", #F045
-             From:  Gisle Aas 
-             Msg-ID:  <199801221850.TAA23111@furu.g.aas.no>
-             Files:  av.c
-     Branch: maint-5.004/perl
-           ! av.c
+[  2975] By: gsar                                  on 1999/02/18  21:41:57
+        Log: distinguish eval'' from BEGIN|INIT|END CVs (fixes buggy propagation
+             of lexical searches in BEGIN|INIT|END)
+     Branch: perl
+	   ! cop.h cv.h op.c perly.c perly.y pp_ctl.c t/op/misc.t
+           ! vms/perly_c.vms
 ____________________________________________________________________________
-[   676] By: TimBunce                              on 1998/03/03  16:04:30
-        Log: Title:  "New hints/solaris2.sh", #F044
-             From:  Stephen Zander 
-             Msg-ID:  <87oh12y458.fsf@wsuse5.mckesson.com>
-             Files:  hints/solaris_2.sh
-     Branch: maint-5.004/perl
-           ! hints/solaris_2.sh
+[  2974] By: gsar                                  on 1999/02/18  21:03:06
+        Log: missing PERL_POLLUTE_MALLOC
+     Branch: perl
+           ! ext/SDBM_File/sdbm/sdbm.h
 ____________________________________________________________________________
-[   675] By: TimBunce                              on 1998/03/03  15:33:07
-        Log: Title:  "Refresh Complex.pm and test", #F043
-             From:  Jarkko Hietaniemi 
-             Msg-ID:  <199802051608.SAA20262@alpha.hut.fi>
-             Files:  lib/Math/Complex.pm t/lib/complex.t
-     Branch: maint-5.004/perl
-           ! lib/Math/Complex.pm t/lib/complex.t
+[  2973] By: gsar                                  on 1999/02/18  17:10:49
+        Log: From:    Andy Dougherty 
+             Date:    Wed, 17 Feb 1999 17:22:50 EST
+             Message-Id: 
+             Subject: [PATCH 5.005_xx] dotsh.pl triggers new warnings
+     Branch: perl
+           ! lib/dotsh.pl
 ____________________________________________________________________________
-[   674] By: TimBunce                              on 1998/03/03  15:29:16
-        Log: Title:  "Fix (\@@) proto", #F042
-             From:  "Joseph N. Hall" 
-             Msg-ID:  <199801240132.SAA25111@gadget.cscaper.com>
-             Files:  op.c t/comp/proto.t
-     Branch: maint-5.004/perl
-           ! op.c t/comp/proto.t
+[  2972] By: gsar                                  on 1999/02/18  17:04:12
+        Log: s/#defined/#define/
+     Branch: perl
+           ! ext/Data/Dumper/Dumper.xs
 ____________________________________________________________________________
-[   673] By: TimBunce                              on 1998/03/03  15:26:31
-        Log: Title:  "Allow empty BLOCK in code", #F041
-             From:  Vladimir Alexiev 
-             Msg-ID:  <19980129002112Z13378-6931+226@scapa.cs.ualberta.ca>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2970] By: gsar                                  on 1999/02/18  03:26:43
+        Log: ensure is data malloc()ed by GDBM is free()d (not Perl_mfree()d)
+     Branch: perl
+	   ! ext/GDBM_File/GDBM_File.pm ext/GDBM_File/GDBM_File.xs
+           ! ext/GDBM_File/typemap
 ____________________________________________________________________________
-[   672] By: TimBunce                              on 1998/03/03  15:23:55
-        Log: Title:  "Fix name of $Foo::{'Bar::'}: '*Foo::Bar::'", #F040
-             From:  Chip Salzenberg
-             Files:  gv.c t/op/gv.t
-     Branch: maint-5.004/perl
-           ! gv.c t/op/gv.t
+[  2969] By: gsar                                  on 1999/02/17  23:30:47
+        Log: correct slurp mode doc
+     Branch: perl
+           ! pod/perlfunc.pod pod/perlop.pod
 ____________________________________________________________________________
-[   671] By: TimBunce                              on 1998/03/03  10:02:32
-        Log: Title:  "Keep accurate reference count on globs' stashes", #F038
-             From:  Gisle Aas 
-             Msg-ID:  
-             Files:  gv.c sv.c
-     Branch: maint-5.004/perl
-           ! gv.c sv.c
+[  2968] By: jhi                                   on 1999/02/17  23:15:49
+        Log: Ultrix hints update.
+             
+             From: Spider Boardman 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00555 on RISC-ultrix 4.4 (UNINSTALLED)
+             Date: Tue, 16 Feb 1999 23:04:28 -0500
+             Message-Id: <9902170404.AA11036@abyss.zk3.dec.com>
+     Branch: cfgperl
+           ! hints/ultrix_4.sh
 ____________________________________________________________________________
-[   670] By: TimBunce                              on 1998/03/03  09:59:48
-        Log: Title:  "Avoid memory allocation in gv_fetchpv(), for speed", #F037
-             From:  Chip Salzenberg
-             Files:  gv.c
-     Branch: maint-5.004/perl
-           ! gv.c
+[  2966] By: jhi                                   on 1999/02/17  23:09:21
+        Log: Change #2965 wiped out some Sarathy's _55 changes.
+             Now unwiped.
+     Branch: cfgperl
+           ! Configure pp.c t/op/pack.t
 ____________________________________________________________________________
-[   669] By: TimBunce                              on 1998/03/03  09:58:58
-        Log: Title:  "Make Configure less negative about PerlIO", #F036
-             From:  chip@atlantic.net
-             Msg-ID:  <199801312323.SAA15237@cyprus.atlantic.net>
-             Files:  Configure
-     Branch: maint-5.004/perl
+[  2965] By: jhi                                   on 1999/02/17  23:00:04
+        Log: Configure tweaks.
+             
+             Fix the Unixware/SCO uname scan:
+             
+             From: Tom Hughes 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00555 on i386-svr4 [actually Unixware 2.1] (UNINSTALLED)
+             Date: 17 Feb 1999 15:34:15 +0000    
+             Message-ID: 
+             
+             AIX syscalls.exp scan: the syscall might be marked 32, 3264, or 64
+             
+             From: Joe Buehler 
+             To: perl5-porters@perl.org
+             Subject: setsid not detected by perl 5.005_02 configure under AIX 4.3
+             Date: 12 Feb 1999 11:25:21 -0500
+             Message-ID: 
+             
+             Make the pthreads joinable constant scan to output to fd 4, not 2.
+     Branch: cfgperl
            ! Configure
 ____________________________________________________________________________
-[   668] By: TimBunce                              on 1998/03/03  09:55:51
-        Log: Title:  "Fix (mostly) pseudo-same-REs due to embedded NULs", #F035
-             From:  Martin Plechsmid 
-             Msg-ID:  <199802021217.NAA05230@albert.karlin.mff.cuni.cz>
-             Files:  pp_ctl.c
-     Branch: maint-5.004/perl
-           ! pp_ctl.c
-____________________________________________________________________________
-[   667] By: TimBunce                              on 1998/03/03  09:52:59
-        Log: Title:  "Make Getopt::Long avoid $&, $`, $'", #F034
-             From:  Irving Reid 
-             Msg-ID:  <98Feb3.005102est.11655@janus.tor.securecomputing.com>
-             Files:  lib/Getopt/Long.pm
-     Branch: maint-5.004/perl
-           ! lib/Getopt/Long.pm
+[  2964] By: gsar                                  on 1999/02/17  21:30:07
+        Log: From: Tom Christiansen 
+             Date: Wed, 17 Feb 1999 06:53:13 -0700
+             Message-Id: <199902171353.GAA15682@jhereg.perl.com>
+             Subject: PATCH: lib/Pod/Functions.pm for perl5.005_55
+     Branch: perl
+           ! lib/Pod/Functions.pm
 ____________________________________________________________________________
-[   666] By: TimBunce                              on 1998/03/03  09:51:27
-        Log: Title:  "adding the newSVpvn API function", #F033
-             From:  Matthias Ulrich Neeracher 
-             Msg-ID:  <199801310532.GAA23798@solar.ethz.ch>
-             Files:  pod/perlguts.pod pod/perltoc.pod proto.h global.sym sv.c
-     Branch: maint-5.004/perl
-           ! global.sym pod/perlguts.pod pod/perltoc.pod proto.h sv.c
+[  2963] By: gsar                                  on 1999/02/17  21:18:21
+        Log: fix comppad handling for failures in eval 'qr/(?p{...})/'
+             From: Hugo van der Sanden 
+             Date: Wed, 17 Feb 1999 10:06:01 +0000
+             Message-Id: <199902171006.KAA10204@crypt.compulink.co.uk>
+             Subject: Re: [5.005_53] panic: pad_free curpad 
+     Branch: perl
+           ! regcomp.c regexec.c t/op/misc.t
 ____________________________________________________________________________
-[   665] By: TimBunce                              on 1998/03/03  09:43:30
-        Log: Title:  "Support C as function-blind bearword", #F032
-             From:  Chip Salzenberg
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2962] By: gsar                                  on 1999/02/16  21:26:28
+        Log: NaNQ? tweak
+     Branch: perl
+           ! t/lib/bigfloatpm.t
 ____________________________________________________________________________
-[   664] By: TimBunce                              on 1998/03/03  09:41:40
-        Log: Title:  "Re-optimize character classes", #F031
-             From:  Chip Salzenberg
-             Files:  regcomp.h regcomp.c regexec.c
-     Branch: maint-5.004/perl
-           ! regcomp.c regcomp.h regexec.c
+[  2961] By: jhi                                   on 1999/02/16  19:26:38
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> (integrate 37 files)
 ____________________________________________________________________________
-[   663] By: TimBunce                              on 1998/03/03  09:39:55
-        Log: Title:  "Fix C which needed ENTER/LEAVE", #F030
-             From:  dfh@dwroll.lucent.com (D461-David_F_Haertig(Dave)83040)
-             Msg-ID:  
-             Files:  op.c t/op/local.t
-     Branch: maint-5.004/perl
-           ! op.c t/op/local.t
+[  2960] By: gsar                                  on 1999/02/16  18:04:29
+        Log: undo change#2465 (qw[] is a real list now)
+     Branch: perl
+           ! pod/perlop.pod
 ____________________________________________________________________________
-[   662] By: TimBunce                              on 1998/03/03  09:37:51
-        Log: Title:  "Dramatically improve performance of // with parens or $&", #F029
-             From:  Chip Salzenberg
-             Files:  cop.h perl.h proto.h regexp.h gv.c interp.sym perl.c pp.c pp_ctl.c
-             pp_hot.c regexec.c scope.c
-     Branch: maint-5.004/perl
-	   ! cop.h gv.c interp.sym perl.c perl.h pp.c pp_ctl.c pp_hot.c
-           ! proto.h regexec.c regexp.h scope.c
+[  2959] By: gsar                                  on 1999/02/16  07:09:33
+        Log: this was 5.005_55
+     Branch: perl
+           ! Changes
+
+----------------
+Version 5.005_55
+----------------
+
 ____________________________________________________________________________
-[   661] By: TimBunce                              on 1998/03/03  09:27:04
-        Log: Title:  "Don't warn on $x{shift}, ne => 1, or -f => 1", #F028
-             From:  Chip Salzenberg
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2958] By: gsar                                  on 1999/02/16  06:18:27
+        Log: integrate change#2852 from maint-5.005; integrate cfgperl contents;
+             elide dups and non-dependents from Changes
+     Branch: perl
+           ! Changes pod/perlhist.pod
+	  !> Configure INSTALL README.threads doio.c ext/IPC/SysV/SysV.xs
+	  !> hints/ultrix_4.sh pod/perl.pod pod/perlfunc.pod
+          !> pod/perlport.pod pp.c t/op/pack.t
+____________________________________________________________________________
+[  2957] By: gsar                                  on 1999/02/16  04:09:47
+        Log: propagate PERL_VERSION everywhere, add to pod
+     Branch: perl
+	   ! Configure configpm configure.com ext/B/B/C.pm ext/B/byteperl.c
+	   ! ext/DB_File/DB_File.xs ext/Data/Dumper/Dumper.xs ext/IO/IO.xs
+	   ! hints/freebsd.sh hints/os2.sh installman installperl myconfig
+	   ! os2/Makefile.SHs os2/os2.c patchlevel.h perl.c perl.h
+	   ! plan9/genconfig.pl plan9/myconfig.plan9 plan9/versnum
+	   ! pod/perldebug.pod pod/perldelta.pod vms/genconfig.pl
+	   ! vms/myconfig.com vms/subconfigure.com win32/config.bc
+	   ! win32/config.gc win32/config.vc win32/config_sh.PL
+           ! win32/win32.c x2p/a2py.c
+____________________________________________________________________________
+[  2955] By: jhi                                   on 1999/02/15  16:15:03
+        Log: The pack tests now better in C90 (after the packnative patches).
+     Branch: cfgperl
+           ! t/op/pack.t
 ____________________________________________________________________________
-[   660] By: TimBunce                              on 1998/03/03  09:24:41
-        Log: Title:  "Protect against weirdness with unreal @_ in C", #F027
-             From:  Chip Salzenberg
-             Files:  scope.c
-     Branch: maint-5.004/perl
-           ! scope.c
+[  2954] By: gsar                                  on 1999/02/15  14:11:50
+        Log: tweak Configure to follow new PERL_VERSION etc.
+     Branch: perl
+           ! Configure patchlevel.h pod/perlhist.pod
 ____________________________________________________________________________
-[   659] By: TimBunce                              on 1998/03/03  09:24:00
-        Log: Title:  "Fix C", #F026
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199711021331.NAA01826@crypt.compulink.co.uk>
-             Files:  sv.c t/op/sprintf.t
-     Branch: maint-5.004/perl
-           ! sv.c t/op/sprintf.t
+[  2953] By: jhi                                   on 1999/02/15  14:02:21
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> MANIFEST Porting/makerel
 ____________________________________________________________________________
-[   658] By: TimBunce                              on 1998/03/03  09:22:13
-        Log: Title:  "Tiny core patch for source filters", #F025
-             From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
-             Msg-ID:  <9711202312.AA02937@claudius.bfsec.bt.co.uk>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2952] By: jhi                                   on 1999/02/15  13:50:07
+        Log: Enhance the packnative patch: use the packnative code
+             only if required.  Also added hefty testing (hopefully
+             I didn't assume too much...).  Tested on alpha, ix86, sparc.
+     Branch: cfgperl
+           ! pod/perlfunc.pod pp.c t/op/pack.t
 ____________________________________________________________________________
-[   657] By: TimBunce                              on 1998/03/03  09:20:00
-        Log: Title:  "Here-doc in s///e (was: Bug)", #F024
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199711221445.OAA14153@crypt.compulink.co.uk>
-             Files:  t/base/lex.t toke.c
-     Branch: maint-5.004/perl
-           ! t/base/lex.t toke.c
+[  2951] By: jhi                                   on 1999/02/15  13:46:56
+        Log: AVAILABILITY from 5.005_03-tobe, will of course
+             require updating when 5.006 comes out.
+     Branch: cfgperl
+           ! pod/perl.pod
 ____________________________________________________________________________
-[   656] By: TimBunce                              on 1998/03/03  09:17:56
-        Log: Title:  "Fix duplicate warnings on C<-e undef>", #F023
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199711221252.MAA14000@crypt.compulink.co.uk>
-             Files:  doio.c t/pragma/warn-1global
-     Branch: maint-5.004/perl
-           ! doio.c t/pragma/warn-1global
+[  2949] By: gsar                                  on 1999/02/15  13:28:51
+        Log: will this be it for 5.005_55?
+     Branch: perl
+           ! MANIFEST Porting/makerel
 ____________________________________________________________________________
-[   655] By: TimBunce                              on 1998/03/03  09:16:56
-        Log: Title:  "Fix '*' prototype", #F022
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199711212225.RAA00755@monk.mps.ohio-state.edu>
-             Files:  toke.c
-     Branch: maint-5.004/perl
-           ! toke.c
+[  2948] By: jhi                                   on 1999/02/15  13:23:52
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  !> Changes Makefile.SH ext/B/B/C.pm patchlevel.h perl.h
+	  !> pod/perldiag.pod pod/perlembed.pod pod/perlfaq3.pod
+	  !> pod/perlfaq4.pod pod/perlfaq9.pod pod/perlmodinstall.pod
+	  !> pod/perlmodlib.pod pod/perltoc.pod t/io/argv.t
+	  !> t/lib/bigfloatpm.t t/lib/h2ph.t win32/Makefile win32/config.bc
+	  !> win32/config.gc win32/config.vc win32/config_H.bc
+          !> win32/config_H.gc win32/config_H.vc win32/makefile.mk
 ____________________________________________________________________________
-[   654] By: TimBunce                              on 1998/03/03  09:15:04
-        Log: Title:  "File::Find bugs (and patches)", "File::Find bugs & patches", #F021
-             From:  "Conrad E. Kimball" 
-             Msg-ID:  <199711260703.XAA21257@mailgate2.boeing.com>
-             Files:  lib/File/Find.pm
-     Branch: maint-5.004/perl
-           ! lib/File/Find.pm
+[  2947] By: jhi                                   on 1999/02/15  13:20:41
+        Log: perlport.pod 1.39 from Chris.
+     Branch: cfgperl
+           ! pod/perlport.pod
 ____________________________________________________________________________
-[   653] By: TimBunce                              on 1998/03/03  09:11:55
-        Log: Title:  "Fix typo: FORM{,AT}LINE", #F020
-             From:  Chip Salzenberg
-             Files:  sv.c
-     Branch: maint-5.004/perl
-           ! sv.c
+[  2946] By: jhi                                   on 1999/02/15  13:09:58
+        Log: Import Ultrix update, change #2864, 
+             
+             From: Spider Boardman 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00503 +MAINT_TRIAL_5 on RISC-ultrix 4.4 (UNINSTALLED)
+             Date: Wed, 10 Feb 1999 23:33:31 -0500
+             Message-Id: <9902110433.AA12816@abyss.zk3.dec.com>
+     Branch: cfgperl
+           ! doio.c ext/IPC/SysV/SysV.xs hints/ultrix_4.sh
 ____________________________________________________________________________
-[   652] By: TimBunce                              on 1998/03/03  09:07:50
-        Log: Title:  "Fix use of unref mem when blessed object goes out of scope", #F019
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199711282326.SAA15090@aatma.engin.umich.edu>
-             Files:  scope.c
-     Branch: maint-5.004/perl
-           ! scope.c
+[  2945] By: jhi                                   on 1999/02/15  13:04:50
+        Log: OpenBSD sparc SHMLBA.
+     Branch: cfgperl
+           ! ext/IPC/SysV/SysV.xs
 ____________________________________________________________________________
-[   651] By: TimBunce                              on 1998/03/03  09:07:10
-        Log: Title:  "Fix C", #F018
-             From:  Stephane Payrard 
-             Msg-ID:  <199712040054.BAA04612@www.zweig.com>
-             Files:  op.c t/op/my.t
-     Branch: maint-5.004/perl
-           ! op.c t/op/my.t
+[  2944] By: gsar                                  on 1999/02/15  12:09:52
+        Log: update win32/config* stuff, Changes
+     Branch: perl
+	   ! Changes win32/Makefile win32/config.bc win32/config.gc
+	   ! win32/config.vc win32/config_H.bc win32/config_H.gc
+           ! win32/config_H.vc win32/makefile.mk
 ____________________________________________________________________________
-[   650] By: TimBunce                              on 1998/03/03  09:04:04
-        Log: Title:  "enhanced "use strict" warning", #F017
-             From:  Tkil 
-             Msg-ID:  <199712040938.CAA07628@reptile.scrye.com>
-             Files:  gv.c t/pragma/strict-subs t/pragma/strict-vars
-     Branch: maint-5.004/perl
-           ! gv.c t/pragma/strict-subs t/pragma/strict-vars
+[  2943] By: gsar                                  on 1999/02/15  11:54:08
+        Log: #include patchlevel.h by default, provide
+             PERL_{REVISION,VERSION,SUBVERSION}
+     Branch: perl
+           ! patchlevel.h perl.h
+____________________________________________________________________________
+[  2942] By: gsar                                  on 1999/02/15  10:26:59
+        Log: allow /0|NaN/ on some bigfloatpm.t tests for portability; other
+             misc fixes
+     Branch: perl
+           ! Makefile.SH t/io/argv.t t/lib/bigfloatpm.t t/lib/h2ph.t
+____________________________________________________________________________
+[  2941] By: gsar                                  on 1999/02/15  10:24:37
+        Log: broken URLs fixed (from Michael G Schwern )
+             Message-ID: <19990207002851.B9185@toldyouso.com>
+             Message-ID: <19990207212152.A9765@toldyouso.com>
+             Message-ID: <19990207212041.A9622@toldyouso.com>
+             Message-ID: <19990207213127.A10244@toldyouso.com>
+             Message-ID: <19990207212559.A9950@toldyouso.com>
+             Message-ID: <19990207212842.A9994@toldyouso.com>
+             Message-ID: <19990207212500.A9860@toldyouso.com>
+             Message-ID: <19990207213013.A10105@toldyouso.com>
+     Branch: perl
+	   ! pod/perldiag.pod pod/perlembed.pod pod/perlfaq3.pod
+	   ! pod/perlfaq4.pod pod/perlfaq9.pod pod/perlmodinstall.pod
+           ! pod/perlmodlib.pod pod/perltoc.pod
+____________________________________________________________________________
+[  2940] By: gsar                                  on 1999/02/15  10:07:08
+        Log: enable dynaloading in C.pm-compiled programs (non-conflicting part
+             of suggested patch)
+             From: "Vishal Bhatia" 
+             Date: Mon, 08 Feb 1999 01:14:41 -0000
+             Message-ID: 
+             Subject: [PATCH 5.005_54] some pending C.pm stuff 
+     Branch: perl
+           ! ext/B/B/C.pm
+____________________________________________________________________________
+[  2939] By: jhi                                   on 1999/02/15  08:40:18
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> t/lib/bigfloat.t t/lib/bigfloatpm.t
+           - lib/File/PathConvert.pm
+          !> (integrate 81 files)
 ____________________________________________________________________________
-[   649] By: TimBunce                              on 1998/03/03  09:02:55
-        Log: Title:  "eval of sub gives spurious "uninitialised" warning", #F016
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199712061025.FAA14396@aatma.engin.umich.edu>
-             Files:  pod/perldelta.pod pod/perlfunc.pod op.c t/op/eval.t
-     Branch: maint-5.004/perl
-           ! op.c pod/perldelta.pod pod/perlfunc.pod t/op/eval.t
+[  2938] By: gsar                                  on 1999/02/15  06:56:39
+        Log: change#2839 was bogus, redo
+     Branch: perl
+          !> t/lib/h2ph.pht
 ____________________________________________________________________________
-[   648] By: TimBunce                              on 1998/03/03  08:58:00
-        Log: Title:  "[PERL] Assigning result of pop scrambles unrelated reference", #F015
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199712061100.GAA14864@aatma.engin.umich.edu>
-             Files:  sv.c
-     Branch: maint-5.004/perl
-           ! sv.c
+[  2937] By: gsar                                  on 1999/02/15  06:38:15
+        Log: support Win32::GetFullPathName() and Win32::SetLastError()
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Tue, 09 Feb 1999 22:27:31 +0100
+             Message-ID: <36c1a2ed.8007554@smtp1.ibm.net>
+             Subject: [PATCH _54] Win32::GetFullPathName (Re: File::Spec::Win32 and UNCs)
+     Branch: perl
+           ! win32/win32.c
 ____________________________________________________________________________
-[   647] By: TimBunce                              on 1998/03/03  08:53:35
-        Log: Title:  "[PERL] Filedescriptor leak in 5.004_55 (and earlier)", #F014
-             From:  Ilya Zakharevich 
-             Msg-ID:  <199712151922.OAA06410@monk.mps.ohio-state.edu>
-             Files:  os2/os2.c util.c
-     Branch: maint-5.004/perl
-           ! os2/os2.c util.c
+[  2936] By: gsar                                  on 1999/02/15  06:26:39
+        Log: support native integers, pack("L_",...) etc. (via private mail)
+             From: Jarkko Hietaniemi 
+             Date: Wed, 10 Feb 1999 00:04:52 +0200 (EET)
+             Message-Id: <199902092204.AAA29065@alpha.hut.fi>
+             Subject: the "packnative" patch
+     Branch: perl
+	   ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pp.c
+           ! t/lib/ipc_sysv.t t/op/pack.t
 ____________________________________________________________________________
-[   646] By: TimBunce                              on 1998/03/03  08:51:04
-        Log: Title:  "Fix fdopen() on STD{IN,OUT,ERR}", #F013
-             From:  Roderick Schertler 
-             Msg-ID:  
-             Files:  doio.c t/op/misc.t
-     Branch: maint-5.004/perl
-           ! doio.c t/op/misc.t
+[  2935] By: gsar                                  on 1999/02/15  06:04:02
+        Log: From: Michael G Schwern 
+             Date: Tue, 9 Feb 1999 04:13:12 -0500
+             Message-ID: <19990209041312.A15788@toldyouso.com>
+             Subject: [PATCH]5.005_03-MAINT_TRIAL_5 utils/h2xs fixing -A & more
+     Branch: perl
+           ! utils/h2xs.PL
 ____________________________________________________________________________
-[   645] By: TimBunce                              on 1998/03/03  08:49:34
-        Log: Title:  "Fix local $a[0] and local $h{a}", #F012
-             From:  Stephen McCamant 
-             Msg-ID:  
-             Files:  embed.h scope.h global.sym pp.c pp_hot.c scope.c t/op/local.t
-     Branch: maint-5.004/perl
-           ! embed.h global.sym pp.c pp_hot.c scope.c scope.h t/op/local.t
+[  2934] By: gsar                                  on 1999/02/15  05:30:13
+        Log: fix bugs in the handling of negative numbers, among other things
+             From: Steven Knight 
+             Date: Mon, 8 Feb 1999 01:16:24 -0600
+             Message-Id: <199902080716.BAA24652@theopera.baldmt.citilink.com>
+             Subject: Math::BigFloat and Math::BigInt
+     Branch: perl
+           + t/lib/bigfloat.t t/lib/bigfloatpm.t
+	   ! lib/Math/BigFloat.pm lib/Math/BigInt.pm lib/bigfloat.pl
+           ! t/lib/bigintpm.t
 ____________________________________________________________________________
-[   644] By: TimBunce                              on 1998/03/03  08:43:06
-        Log: Title:  "Eliminate redundant mg_get() in SvTRUE()", #F011
-             From:  Spider Boardman 
-             Msg-ID:  <199712251839.NAA14800@Orb.Nashua.NH.US>
-             Files:  sv.c
-     Branch: maint-5.004/perl
-           ! sv.c
+[  2933] By: gsar                                  on 1999/02/15  04:57:52
+        Log: From: "J. van Krieken" 
+             Date: Thu, 4 Feb 1999 17:25:25 +0100 (MET)
+             Message-Id: <199902041625.RAA14489@atcmpg.ATComputing.nl>
+             Subject: s2p incorrectly handles hold space commands
+     Branch: perl
+           ! x2p/s2p.PL
 ____________________________________________________________________________
-[   643] By: TimBunce                              on 1998/03/03  08:41:07
-        Log: Title:  "Don't force scalar context on C or C", #F010
-             From:  Chip Salzenberg
-             Files:  op.c t/op/my.t
-     Branch: maint-5.004/perl
-           ! op.c t/op/my.t
+[  2932] By: gsar                                  on 1999/02/15  04:45:55
+        Log: clarify what a "line" is
+     Branch: perl
+           ! pod/perlfunc.pod pod/perlvar.pod
 ____________________________________________________________________________
-[   642] By: TimBunce                              on 1998/03/03  08:39:11
-        Log: Title:  "Fix assignment to $_[0] in DESTROY", #F009
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199801010030.TAA14274@aatma.engin.umich.edu>
-             Files:  pod/perlobj.pod sv.c t/op/ref.t
-     Branch: maint-5.004/perl
-           ! pod/perlobj.pod sv.c t/op/ref.t
-____________________________________________________________________________
-[   641] By: gsar                                  on 1998/03/03  04:39:49
-        Log: merge problematic maintpatch to op.c
-             #77:  "Eliminate double warnings under C"
-             From:  Chip Salzenberg
-             Files:  gv.c op.c toke.c
-     Branch: win32/perl
-           ! gv.c op.c toke.c
-____________________________________________________________________________
-[   640] By: gsar                                  on 1998/03/03  04:30:22
-        Log: merge another conflicting maintpatch to op.c
-             #17:  "Enhanced "use strict" warning"
-             From:  Tkil 
-             Msg-ID:  <199712040938.CAA07628@reptile.scrye.com>
-             Date:  Thu, 4 Dec 1997 02:38:26 -0700
-             Files:  gv.c t/pragma/strict-subs t/pragma/strict-vars
-     Branch: win32/perl
-           ! gv.c t/pragma/strict-subs t/pragma/strict-vars
-____________________________________________________________________________
-[   639] By: gsar                                  on 1998/03/03  04:09:11
-        Log: maintpatch
-             #73:  "Fix order of warnings for misplaced subscripts"
-             From:  Hugo van der Sanden 
-             Msg-ID:  <199710131023.LAA16796@crypt.compulink.co.uk>
-             Date:  Mon, 13 Oct 1997 11:23:56 +0100
-             Files:  op.c
-     Branch: win32/perl
-           ! op.c
+[  2931] By: gsar                                  on 1999/02/15  04:23:29
+        Log: backout change#2811 and add newer version based on File::Spec
+             From: Barrie Slaymaker 
+             Date: Thu, 11 Feb 1999 16:29:24 -0500
+             Message-ID: <36C34BB4.A62090E0@telerama.com>
+             Subject: [PATCH]5.005_54 (pod2html) Relative URLs using new File::Spec
+     Branch: perl
+           - lib/File/PathConvert.pm
+           ! MANIFEST installhtml lib/Pod/Html.pm
 ____________________________________________________________________________
-[   638] By: gsar                                  on 1998/03/03  04:02:16
-        Log: manually apply another conflicting maintpatch
-             #64:  "Fix extension version mismatch message"
-             From:  Chip Salzenberg
-             Files:  XSUB.h
-     Branch: win32/perl
-           ! XSUB.h
+[  2930] By: gsar                                  on 1999/02/15  04:16:25
+        Log: From: Barrie Slaymaker 
+             Date: Thu, 11 Feb 1999 19:39:48 -0500
+             Message-ID: <36C37854.707D139@telerama.com>
+             Subject: [PATCH] 5.005_54 #2 Merging File::PathConvert in to File::Spec
+     Branch: perl
+           ! lib/File/Spec/Unix.pm lib/File/Spec/Win32.pm
 ____________________________________________________________________________
-[   637] By: gsar                                  on 1998/03/03  03:57:08
-        Log: maintpatch
-             #62:  "Fix doc bug in getservbyname() examples"
-             From:  Tom Christiansen
-             Files:  ext/Socket/Socket.pm
-     Branch: win32/perl
-           ! ext/Socket/Socket.pm
-____________________________________________________________________________
-[   636] By: gsar                                  on 1998/03/03  03:55:13
-        Log: maintpatch
-             #60:  "Socket occasional SEGV"
-             From:  Trevor Blackwell 
-             Msg-ID:  <199710281804.NAA09632@wagg.viaweb.com>
-             Date:  Tue, 28 Oct 1997 13:04:43 -0500 (EST)
-             Files:  ext/Socket/Socket.xs
-     Branch: win32/perl
-           ! ext/Socket/Socket.xs
-____________________________________________________________________________
-[   635] By: gsar                                  on 1998/03/03  03:51:01
-        Log: maintpatches for docs
-             #53:  "Perlop bitwise & | ^ documentation"
-             From:  Tom Phoenix 
-             Msg-ID:  
-             Msg-ID:   (with minor edits)
+             Date: Wed, 3 Feb 1999 05:24:55 -0500 (EST)
+             Message-ID: 
+             Subject: [PATCH]5.005_54 (DOC) fix many typos
+             --
+             Date: Wed, 3 Feb 1999 08:53:53 -0500 (EST)
+             Message-ID: 
+             Subject: [PATCH]5.005_54 (DOC) typos
+     Branch: perl
+	   ! pod/perl5004delta.pod pod/perl5005delta.pod pod/perlcall.pod
+	   ! pod/perldebug.pod pod/perlfaq1.pod pod/perlfaq2.pod
+	   ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod
+	   ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod
+	   ! pod/perlfaq9.pod pod/perlfunc.pod pod/perlguts.pod
+	   ! pod/perllol.pod pod/perlmod.pod pod/perlref.pod
+	   ! pod/perlrun.pod pod/perlsub.pod pod/perltoc.pod
+           ! pod/perlvar.pod pod/perlxs.pod
 ____________________________________________________________________________
-[   634] By: gsar                                  on 1998/03/03  03:43:42
-        Log: another maintpatch (this one needed adjust of test nos.)
-             From: Hugo van der Sanden 
-             Message-Id: <199801221211.MAA05315@crypt.compulink.co.uk>
-             Date: Thu, 22 Jan 1998 12:11:49 +0000
-             Subject: Re: [PERL] A few perl5.004_03 bugs 
-     Branch: win32/perl
-           ! mg.c t/op/magic.t
-____________________________________________________________________________
-[   633] By: gsar                                  on 1998/03/03  03:36:40
-        Log: merge another toke.c patch and its dependent (very carefully)
-             #32:  "Support C as function-blind bearword"
-             From:  Chip Salzenberg
-             Files:  toke.c
-             --------
-             #86:  "Make warning on C optional, add to perl{diag,delta}.pod"
-             From:  Gurusamy Sarathy
-             Files:  toke.c pod/perldelta.pod pod/perldiag.pod
-     Branch: win32/perl
-           ! pod/perldelta.pod pod/perldiag.pod toke.c
-____________________________________________________________________________
-[   632] By: gsar                                  on 1998/03/03  03:12:16
-        Log: another toke.c maintpatch
-             #28:  "Don't warn on $x{shift}, ne => 1, or -f => 1"
-             From:  Chip Salzenberg
-             Files:  toke.c
-     Branch: win32/perl
-           ! toke.c
+[  2928] By: gsar                                  on 1999/02/15  03:39:53
+        Log: allow the Carp routines to pass through exception objects
+     Branch: perl
+           ! lib/Carp.pm
 ____________________________________________________________________________
-[   631] By: gsar                                  on 1998/03/03  03:06:59
-        Log: still another maintpatch
-             From: Hugo van der Sanden 
-             Message-Id: <199711021331.NAA01826@crypt.compulink.co.uk>
-             Date: Sun, 02 Nov 1997 13:31:54 +0000
-             Subject: [PATCH] assorted sprintf bugs
-     Branch: win32/perl
-           ! sv.c t/op/sprintf.t
-____________________________________________________________________________
-[   630] By: gsar                                  on 1998/03/03  03:03:55
-        Log: yet another maintpatch
-             From: Hugo van der Sanden 
-             Message-Id: <199711221252.MAA14000@crypt.compulink.co.uk>
-             Date: Sat, 22 Nov 1997 12:52:16 +0000
-             Subject: Re: [PERL] Unexpected output 
-     Branch: win32/perl
-           ! doio.c t/pragma/warn-1global
-____________________________________________________________________________
-[   629] By: gsar                                  on 1998/03/03  02:57:33
-        Log: merge another maintpatch to toke.c
-             From: Hugo van der Sanden 
-             Date: Sat, 22 Nov 1997 14:45:23 GMT
-             Message-Id: <199711221445.OAA14153@crypt.compulink.co.uk>
-             Subject: Re: [PERL] Here-doc in s///e (was: Bug)
-     Branch: win32/perl
-           ! t/base/lex.t toke.c
+[  2927] By: gsar                                  on 1999/02/15  03:22:57
+        Log: mention Proc::Daemon (suggested by Michael G Schwern )
+     Branch: perl
+           ! pod/perlfaq8.pod
 ____________________________________________________________________________
-[   628] By: gsar                                  on 1998/03/03  02:50:20
-        Log: manually merge a maintpatch
-             Date: Thu, 8 Jan 1998 14:38:04 -0700 (MST)
-             Message-Id: <199801082138.OAA14186@prometheus.frii.com>
-             From: gnat@frii.com
-             Subject: [PERL] Commenting toke.c
-     Branch: win32/perl
-           ! toke.c
+[  2926] By: gsar                                  on 1999/02/15  03:19:39
+        Log: integrate h2ph.PL fixes from change#2809 (change#2838 was supposed to
+             have done that, but didn't)
+     Branch: perl
+          !> utils/h2ph.PL
 ____________________________________________________________________________
-[   627] By: TimBunce                              on 1998/03/02  22:34:47
-        Log: Title:  "Fix inefficient checks for TIEHANDLE", #F008
-             From:  Gurusamy Sarathy 
-             Msg-ID:  <199801080106.UAA05048@aatma.engin.umich.edu>
-             Files:  pp_hot.c pp_sys.c
-     Branch: maint-5.004/perl
-           ! pp_hot.c pp_sys.c
-____________________________________________________________________________
-[   626] By: TimBunce                              on 1998/03/02  22:31:13
-        Log: This is the change description for change 625
-             Title:  "Fix tr///s option", #F007
-             From:  Inaba Hiroto 
-             Msg-ID:  <19980110155333D.inaba@st.rim.or.jp>
-             Files:  doop.c
-     Branch: maint-5.004/perl
-           ! doop.c
+[  2925] By: gsar                                  on 1999/02/15  03:17:01
+        Log: integrate cfgperl changes into mainline
+     Branch: perl
+           ! Changes
+	  !> Configure Porting/Glossary Porting/config.sh Porting/config_H
+	  !> config_h.SH hints/openbsd.sh hints/ultrix_4.sh
+	  !> pod/perlport.pod t/lib/h2ph.pht utils/h2ph.PL
+          !> vms/subconfigure.com
 ____________________________________________________________________________
-[   625] By: TimBunce                              on 1998/03/02  22:23:48
-        Log:      Branch: maint-5.004/perl
-           ! doop.c
+[  2924] By: gsar                                  on 1999/02/15  03:07:08
+        Log: add const qualifier to most char* prototypes, handle ripple effect
+     Branch: perl
+	   ! gv.c hv.c hv.h mg.c op.c perl.c pod/perlguts.pod proto.h sv.c
+           ! universal.c util.c
 ____________________________________________________________________________
-[   623] By: TimBunce                              on 1998/03/02  21:51:53
-        Log: Title:  "Fix lexical lookup in eval-sub-eval", #F006
-             From:  Chip Salzenberg
-             Files:  pp_ctl.c
-     Branch: maint-5.004/perl
-           ! pp_ctl.c
+[  2923] By: gsar                                  on 1999/02/15  01:04:30
+        Log: From: Hugo van der Sanden 
+             Date: Thu, 04 Feb 1999 02:37:31 +0000
+             Message-Id: <199902040237.CAA03255@crypt.compulink.co.uk>
+             Subject: [PATCH 5.005_54] Re: .. misinterpreted as flipflop 
+     Branch: perl
+           ! pp_ctl.c t/op/range.t
 ____________________________________________________________________________
-[   622] By: TimBunce                              on 1998/03/02  21:43:29
-        Log: Title:  "Don't upgrade target of assignment from LVALUE", #F005
-             From:  Chip Salzenberg
-             Files:  sv.c
-     Branch: maint-5.004/perl
-           ! sv.c
+[  2922] By: gsar                                  on 1999/02/15  00:24:34
+        Log: From: Hugo van der Sanden 
+             Date: Sun, 31 Jan 1999 01:50:06 +0000
+             Message-Id: <199901310150.BAA16299@crypt.compulink.co.uk>
+             Subject: [PATCH 5.005_03t4] regexp flags bug
+     Branch: perl
+           ! regcomp.c t/op/re_tests
 ____________________________________________________________________________
-[   621] By: TimBunce                              on 1998/03/02  21:29:59
-        Log: Title:  "Fix compile-time warning line in while ()", #F004
-             From:  Chip Salzenberg
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  2921] By: gsar                                  on 1999/02/15  00:13:02
+        Log: use New() et al., rather than safemalloc() et al.
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Fri, 29 Jan 1999 23:27:22 +0100
+             Message-ID: <36bd33f2.51029616@smtp1.ibm.net>
+             Subject: [PATCH _03-MT5] POSIX.xs memory API
+     Branch: perl
+           ! ext/POSIX/POSIX.xs
 ____________________________________________________________________________
-[   620] By: TimBunce                              on 1998/03/02  21:25:27
-        Log: Title:  "STMT foreach LIST;", #F002
-             From:  Chip Salzenberg
-             Files:  pod/perlsyn.pod perly.c perly.c.diff perly.y t/cmd/mod.t toke.c
-             vms/perly_c.vms
-     Branch: maint-5.004/perl
-	   ! perly.c perly.c.diff perly.y pod/perlsyn.pod t/cmd/mod.t
-           ! toke.c vms/perly_c.vms
+[  2920] By: gsar                                  on 1999/02/15  00:05:33
+        Log: tweak READ() docs to mention $buffer must be altered by reference
+     Branch: perl
+           ! pod/perltie.pod
 ____________________________________________________________________________
-[   619] By: TimBunce                              on 1998/03/02  21:12:58
-        Log: Title:  "Fix SIGSEGV on C<42 until forever>", #F001
-             From:  Chip Salzenberg
-             Files:  op.c
-     Branch: maint-5.004/perl
-           ! op.c
+[  2919] By: gsar                                  on 1999/02/14  23:50:39
+        Log: applied suggested patch, with several language/readability tweaks
+             From: Ilya Zakharevich 
+             Date: Fri, 29 Jan 1999 00:25:02 -0500
+             Message-ID: <19990129002502.C2898@monk.mps.ohio-state.edu>
+             Subject: Re: [PATCH 5.005_*] Better parsing docs
+     Branch: perl
+           ! pod/perlop.pod
 ____________________________________________________________________________
-[   618] By: gsar                                  on 1998/03/02  04:40:16
-        Log: make t/lib/nothread.t type xtext also
-     Branch: win32/perl
-           ! t/op/nothread.t
-____________________________________________________________________________
-[   617] By: gsar                                  on 1998/03/02  04:35:15
-        Log: make t/lib/thread.t type xtext
-     Branch: win32/perl
-           ! t/lib/thread.t
-____________________________________________________________________________
-[   616] By: gsar                                  on 1998/03/02  04:17:40
-        Log: fix misapplied hunks in change#614
-     Branch: win32/perl
-           ! scope.c scope.h
-____________________________________________________________________________
-[   615] By: gsar                                  on 1998/03/02  03:39:16
-        Log: another one down
-             From: "Conrad E. Kimball" 
-             Message-Id: <199711260703.XAA21257@mailgate2.boeing.com>
-             Date: Tue, 25 Nov 1997 23:03:48 -0800
-             Subject: [PERL] File::Find bugs & patches
-     Branch: win32/perl
-           ! lib/File/Find.pm
+[  2918] By: gsar                                  on 1999/02/14  23:20:42
+        Log: several bug fixes; now croak()s when date exceeds integer limits (instead
+             of silently returning bogus values)
+             From: Peter Chines 
+             Date: Wed, 27 Jan 1999 16:11:31 -0500
+             Message-Id: <199901272117.QAA21458@kronos.nhgri.nih.gov>
+             Subject: Time::Local
+     Branch: perl
+           ! lib/Time/Local.pm pod/perldelta.pod
 ____________________________________________________________________________
-[   614] By: gsar                                  on 1998/03/02  03:28:28
-        Log: this one with adjusted test numbers
-             Message-Id: 
-             Date: Sat, 20 Dec 1997 15:16:14 -0600 (CST)
-             From: Stephen McCamant 
-             Subject: [PERL] [PATCH] Fix local $a[0] and local $h{a}
-     Branch: win32/perl
-           ! embed.h global.sym pp.c pp_hot.c scope.c scope.h t/op/local.t
-____________________________________________________________________________
-[   613] By: gsar                                  on 1998/03/02  03:13:32
-        Log: still another
-             From: Inaba Hiroto 
-             Subject: [PERL] tr///s bug
-             Message-Id: <19980110155333D.inaba@st.rim.or.jp>
-             Date: Sat, 10 Jan 1998 15:53:33 +0900
-     Branch: win32/perl
-           ! doop.c t/op/subst.t
-____________________________________________________________________________
-[   612] By: gsar                                  on 1998/03/02  03:01:27
-        Log: yet another patch
-             From: Chip Salzenberg 
-             Message-Id: <199709161748.NAA08418@nielsenmedia.com>
-             Subject: Tiny but massively cool:  C
-             Date: Tue, 16 Sep 1997 13:47:28 -0400 (EDT)
-     Branch: win32/perl
-	   ! perly.c perly.c.diff perly.y pod/perlsyn.pod t/cmd/mod.t
-           ! toke.c vms/perly_c.vms
-____________________________________________________________________________
-[   611] By: gsar                                  on 1998/03/02  01:52:46
-        Log: yet another 'old' patch
-             From: Stephane Payrard 
-             Message-Id: <199712040054.BAA04612@www.zweig.com>
-             To: perl5-porters@perl.org
-             Subject: Re: [PERL] buglet : minor but gratuitous inconsistency
-             between `my' and `local' (Patch included)
-     Branch: win32/perl
-           ! op.c t/op/my.t
+[  2917] By: gsar                                  on 1999/02/14  11:21:43
+        Log: From: Ilya Zakharevich 
+             Date: Thu, 28 Jan 1999 10:02:20 -0500
+             Message-ID: <19990128100220.A1321@monk.mps.ohio-state.edu>
+             Subject: Re: [PATCH 5.005_53] Better perldoc
+     Branch: perl
+           ! utils/perldoc.PL
 ____________________________________________________________________________
-[   610] By: gsar                                  on 1998/03/02  01:45:55
-        Log: another 'old' patch
-             From: Roderick Schertler 
-             Date: 19 Dec 1997 12:52:36 -0500
-             Message-Id: 
-             Subject: [PERL] [PATCH] Re: Problem with open >&=
-     Branch: win32/perl
-           ! doio.c t/op/misc.t
-____________________________________________________________________________
-[   609] By: gsar                                  on 1998/03/02  01:23:56
-        Log: apply missing pieces from:
-             From: Chip Salzenberg 
-             Message-Id: <199711272044.PAA12102@nielsenmedia.com>
-             Subject: [PATCH] Improved LVALUE patch
-             Date: Thu, 27 Nov 1997 15:44:02 -0500 (EST)
-     Branch: win32/perl
-           ! sv.c
+[  2916] By: gsar                                  on 1999/02/14  10:59:38
+        Log: back out change#2751, apply updated version 
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 06 Feb 1999 01:06:29 +0100
+             Message-ID: <36bc844c.18763049@smtp1.ibm.net>
+             Subject: [PATCH] Cleanup of File::Spec module
+     Branch: perl
+	   ! lib/File/Spec.pm lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm
+	   ! lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm
+           ! lib/File/Spec/Win32.pm
 ____________________________________________________________________________
-[   608] By: gsar                                  on 1998/03/02  01:13:01
-        Log: merge two important 'old' patches
-             From: Chip Salzenberg 
-             Message-Id: <199709241632.MAA09164@nielsenmedia.com>
-             Subject: [PATCH]  Fix C<42 until forever> SIGSEGV
-             Date: Wed, 24 Sep 1997 12:32:11 -0400 (EDT)
-             ------
-             From: Chip Salzenberg 
-             Message-Id: <199710221332.JAA04814@nielsenmedia.com>
-             Subject: [PATCH] Fix for compile-time while() warnings
-             Date: Wed, 22 Oct 1997 09:31:50 -0400 (EDT)
-     Branch: win32/perl
-           ! op.c
+[  2915] By: gsar                                  on 1999/02/14  10:48:01
+        Log: tweak select() test
+     Branch: perl
+           ! pod/perlipc.pod t/op/fh.t
 ____________________________________________________________________________
-[   607] By: gsar                                  on 1998/03/01  06:52:26
-        Log: integrate mainline changes
-     Branch: asperl
-	  +> Policy_sh.SH Porting/config.sh Porting/config_H atomic.h
-          +> lib/Tie/Handle.pm t/op/tiehandle.t
-           - config_H
-          !> (integrate 89 files)
-____________________________________________________________________________
-[   606] By: gsar                                  on 1998/02/28  23:11:00
-        Log: misc small tweaks
-             - AutoLoader fix for long::pack::names
-             - d_mymalloc can be set from makefiles now
-             - make search.pl actually work on win32
-             - revert podoc about $^E on OS/2 (per Ilya's wishes)
-     Branch: win32/perl
-	   ! lib/AutoLoader.pm pod/perlvar.pod win32/Makefile
-           ! win32/bin/search.pl win32/makefile.mk win32/win32.c
-____________________________________________________________________________
-[   605] By: gsar                                  on 1998/02/28  22:16:45
-        Log: fix typo in sv.h, and run 'make regen_headers' to make it build
-     Branch: win32/perl
-           ! embedvar.h sv.h
-____________________________________________________________________________
-[   604] By: gsar                                  on 1998/02/28  21:08:58
-        Log: integrate mainline
-     Branch: win32/perl
-          +> Policy_sh.SH atomic.h lib/Tie/Handle.pm t/op/tiehandle.t
-	  !> Configure MANIFEST Makefile.SH bytecode.h bytecode.pl
-	  !> byterun.c ext/SDBM_File/Makefile.PL
-	  !> ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/sdbm.h
-	  !> lib/ExtUtils/MM_VMS.pm os2/diff.configure os2/os2.c perl.c
-	  !> perlvars.h pod/perltie.pod pp_sys.c sv.c sv.h t/lib/anydbm.t
-	  !> t/lib/sdbm.t util.c vms/descrip.mms vms/perlvms.pod
-          !> vms/test.com win32/makedef.pl
-____________________________________________________________________________
-[   603] By: nick                                  on 1998/02/28  11:31:15
-        Log: Missed FREAD in bytecode.h
-             Cannot export svref_mutex in non-threaded perl
-     Branch: perl
-           ! bytecode.h win32/makedef.pl
-
-----------------
-Version 5.004_61
-----------------
-
+[  2914] By: gsar                                  on 1999/02/14  10:25:55
+        Log: allow C to autovivify *foo (SelectSaver expects that)
+     Branch: perl
+           ! op.c pod/perldiag.pod pp_sys.c t/op/misc.t
 ____________________________________________________________________________
-[   602] By: mbeattie                              on 1998/02/27  18:35:27
-        Log: Change FREAD/FGETC to BGET_FREAD/BGET_FGETC to avoid clash with
-             preprocessor symbol on Digital UNIX.
+[  2913] By: gsar                                  on 1999/02/14  10:03:51
+        Log: From: Kenneth Albanowski 
+             Date: Sat, 23 Jan 1999 21:52:15 -0500 (EST)
+             Message-ID: 
+             Subject: Re: SvOPV() or SvPV_nolen() or ...
      Branch: perl
-           ! bytecode.h bytecode.pl byterun.c
+           ! pod/perlguts.pod
 ____________________________________________________________________________
-[   601] By: mbeattie                              on 1998/02/27  18:27:00
-        Log: Fix stupid ATOMIC_DEC_AND_TEST typo in sv.h.
+[  2912] By: gsar                                  on 1999/02/14  09:57:29
+        Log: provide SvPV_nolen(sv) to avoid use of PL_na
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sun, 24 Jan 1999 02:45:32 +0100
+             Message-ID: <36bb7ada.68485547@smtp1.ibm.net>
+             Subject: [PATCH 5.005_54]  _54 version of SvPV_nolen patch
      Branch: perl
+	   ! embed.h global.sym objXSUB.h pod/perlguts.pod proto.h sv.c
            ! sv.h
 ____________________________________________________________________________
-[   600] By: mbeattie                              on 1998/02/27  18:15:07
-        Log: Add atomic.h to MANIFEST
+[  2911] By: gsar                                  on 1999/02/14  06:51:05
+        Log: elide stray effluvium
      Branch: perl
-           ! MANIFEST
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   599] By: mbeattie                              on 1998/02/27  18:13:52
-        Log: Integrate win32 branch into mainline.
+[  2910] By: gsar                                  on 1999/02/14  05:51:56
+        Log: slurping an empty file should return '' rather than undef, with
+             commensurate effects on ARGV processing
      Branch: perl
-           ! bytecode.pl
-	  !> bytecode.h byterun.c byterun.h dosish.h embed.h embedvar.h
-	  !> ext/B/B.xs ext/B/Makefile.PL global.sym perl.h sv.c
-	  !> win32/Makefile win32/bin/pl2bat.pl win32/config.bc
-	  !> win32/config.gc win32/config.vc win32/config_H.bc
-	  !> win32/config_H.gc win32/config_H.vc win32/config_h.PL
-	  !> win32/makedef.pl win32/makefile.mk win32/win32.c win32/win32.h
-          !> win32/win32thread.h
+	   ! pod/perldelta.pod pod/perlfunc.pod pod/perlop.pod
+           ! pod/perlvar.pod pp_hot.c sv.h t/io/argv.t
 ____________________________________________________________________________
-[   598] By: mbeattie                              on 1998/02/27  18:06:41
-        Log: Make refcounts atomic for threading (dependent on appropriate
-             arch-dependent and compiler-dependent definitions in atomic.h
-             or else falls back to a global mutex to protect refcounts).
+[  2909] By: gsar                                  on 1999/02/14  00:02:11
+        Log: perly_c.diff typo
      Branch: perl
-           + atomic.h
-           ! global.sym perl.c perlvars.h sv.c sv.h
+           ! perly.c perly_c.diff vms/perly_c.vms
 ____________________________________________________________________________
-[   597] By: mbeattie                              on 1998/02/27  15:37:22
-        Log: Tiehandle stuff in change 595 didn't add to MANIFEST
+[  2908] By: gsar                                  on 1999/02/13  18:20:13
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 13 Feb 1999 13:25:53 +0100
+             Message-Id: <36c9629c.13334874@smtp1.ibm.net>
+             Subject: [PATCH 5.005_03-MT5] "goto must have label" message for C
      Branch: perl
-           ! MANIFEST
+           ! pod/perlfunc.pod pp_ctl.c t/lib/io_unix.t
+____________________________________________________________________________
+[  2907] By: jhi                                   on 1999/02/13  15:07:26
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> emacs/e2ctags.pl pod/perltodo.pod t/op/lop.t
+          !> (integrate 150 files)
 ____________________________________________________________________________
-[   596] By: mbeattie                              on 1998/02/27  15:34:55
-        Log: Missed adding new file Policy_sh.SH in change 592.
+[  2903] By: gsar                                  on 1999/02/12  13:25:59
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sun, 24 Jan 1999 01:12:00 +0100
+             Message-ID: <36b66479.62756298@smtp1.ibm.net>
+             Subject: [PATCH 5.005_54] remove OVERLOAD conditionals
      Branch: perl
-           + Policy_sh.SH
+	   ! XSUB.h dump.c gv.c hv.h mg.c perl.h perlvars.h pp.c pp.h
+           ! proto.h sv.c sv.h
 ____________________________________________________________________________
-[   595] By: mbeattie                              on 1998/02/27  15:34:06
-        Log: Subject: [PATCH] _60 & _04 - Add WRITE & CLOSE to TIEHANDLE
-             Date: Fri, 27 Feb 1998 04:15:04 +0000
-             From: Graham Barr 
+[  2902] By: gsar                                  on 1999/02/12  12:55:11
+        Log: script to generate ctags from etags
+             From: Colin Kuskie 
+             Date: Wed, 20 Jan 1999 16:29:35 -0800 (PST)
+             Message-ID: 
+             Subject: [PATCH 5.005_54] adding ctags to the source, FAQ, make
      Branch: perl
-           + lib/Tie/Handle.pm t/op/tiehandle.t
-           ! pod/perltie.pod pp_sys.c
+           + emacs/e2ctags.pl
+           ! Makefile.SH pod/perlfaq3.pod
 ____________________________________________________________________________
-[   594] By: mbeattie                              on 1998/02/27  15:31:12
-        Log: From: Dan Sugalski 
-             Subject: [PATCH 5.004_60] Fix to MM_VMS.PM
-             Date: Thu, 26 Feb 1998 11:09:55 -0800
-             Subject: [PATCH 5.004_60] Get SDBM_File working on VMS
-             Date: Thu, 26 Feb 1998 11:15:24 -0800
-     Branch: perl
-	   ! ext/SDBM_File/Makefile.PL ext/SDBM_File/sdbm/Makefile.PL
-	   ! ext/SDBM_File/sdbm/sdbm.h lib/ExtUtils/MM_VMS.pm
-	   ! t/lib/anydbm.t t/lib/sdbm.t vms/descrip.mms vms/perlvms.pod
-           ! vms/test.com
-____________________________________________________________________________
-[   593] By: mbeattie                              on 1998/02/27  15:26:45
-        Log: Fix file-descriptor leak when pipes fail via taint checks:
-             Subject: [PATCH] Some patches went through cracks
-             Date: Thu, 26 Feb 1998 02:47:46 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2901] By: gsar                                  on 1999/02/12  12:40:17
+        Log: allow boolean assign ops to be lvalues
+             From: Stephen McCamant 
+             Date: Mon, 11 Jan 1999 16:52:18 -0600 (CST)
+             Message-ID: <13978.32609.495338.544643@alias-2.pr.mcs.net>
+             --
+             From: Hugo van der Sanden 
+             Date: Mon, 18 Jan 1999 10:04:00 +0000
+             Message-Id: <199901181004.KAA17471@crypt.compulink.co.uk>
+             Subject: Re: [inconsistency 5.005_54] ||= not an lvalue 
      Branch: perl
-           ! os2/os2.c util.c
-____________________________________________________________________________
-[   592] By: mbeattie                              on 1998/02/27  15:15:12
-        Log: Subject: Config_60-03-04.diff patch for 5.004_60
-             Date: Wed, 25 Feb 1998 17:14:39 -0500 (EST)
-             From: Andy Dougherty 
-     Branch: perl
-           ! Configure MANIFEST Makefile.SH os2/diff.configure
-____________________________________________________________________________
-[   591] By: gsar                                  on 1998/02/26  19:34:50
-        Log: added AS patch#9
-     Branch: asperl
-	   - win32/ipdir.c win32/ipenv.c win32/iplio.c win32/ipmem.c
-	   - win32/ipproc.c win32/ipsock.c win32/ipstdio.c
-           - win32/ipstdiowin.h win32/perlobj.def
-	   ! ObjXSub.h globals.c perl.c proto.h win32/Makefile
-	   ! win32/dl_win32.xs win32/runperl.c win32/win32.c win32/win32.h
-           ! win32/win32sck.c win32/win32thread.c
-____________________________________________________________________________
-[   590] By: gsar                                  on 1998/02/26  04:25:40
-        Log: various changes to make win32 build under the new Configure & co.
-             - added byterun.c to core C build
-             - makefile.mk now has a regen_config_h target to quickly update config_H.[bgv]c
-             after adding new variables to config.[bgv]c
-             - sig_name_init now has only the valid signals
-             - we now have $Config{usethreads}
-             - tested under the two commercial compilers w/ and w/o usethreads
-     Branch: win32/perl
-	   ! win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-           ! win32/config_h.PL win32/makedef.pl win32/makefile.mk
-____________________________________________________________________________
-[   589] By: gsar                                  on 1998/02/26  03:56:19
-        Log: various cleanups so that B can be built as "just another extension"
-             - export symbols needed for building B
-             - bset_obj_store() is needed by byterun(), so define it there instead
-             of at B.xs, and export it
-             - freadpv() is only used in B.xs, so move it there
-             - byte*.h are now included by perl.h
-             - regenerate embed*.h
-     Branch: win32/perl
-	   ! bytecode.h bytecode.pl byterun.c byterun.h embed.h embedvar.h
-           ! ext/B/B.xs ext/B/Makefile.PL global.sym perl.h
-____________________________________________________________________________
-[   588] By: gsar                                  on 1998/02/25  21:46:35
-        Log: integrate mainline
-     Branch: win32/perl
-          +> Porting/config.sh Porting/config_H
-           - config_H
-          !> (integrate 54 files)
+           + t/op/lop.t
+           ! MANIFEST op.c
 ____________________________________________________________________________
-[   587] By: gsar                                  on 1998/02/25  19:20:26
-        Log: added AS patch#8
-     Branch: asperl
-           ! sv.c x2p/a2py.c x2p/util.c
-____________________________________________________________________________
-[   586] By: gsar                                  on 1998/02/25  19:08:06
-        Log: added AS patch#7
-             Message-Id: <01BD40F9.CE57B210.dougl@ActiveState.com>
-             Date:    Tue, 24 Feb 1998 07:57:07 PST
-             From:    Douglas Lankshear 
-             Subject: [PATCH] 
-             
-             Here's an attempt at
-             6. MANIFEST must be updated with new file names
-             5. Mktime(), Stat() etc., rather than MKtime()/STat() etc.
-             And some changes to move toward
-             1. Merge PERL_OBJECT build support into regular Makefile and makefile.mk
-             
-             -- Doug
-     Branch: asperl
-	   ! MANIFEST installperl ipdir.h ipenv.h iplio.h ipmem.h ipproc.h
-	   ! ipsock.h ipstdio.h lib/ExtUtils/MM_Win32.pm perldir.h
-           ! perlenv.h perlio.h perllio.h win32/Makefile
+[  2899] By: jhi                                   on 1999/02/12  12:03:48
+        Log: Configure update: OpenBSD thread-awareness, SCO ODT/OSR osvers.
+     Branch: cfgperl
+	   ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+           ! config_h.SH hints/openbsd.sh
 ____________________________________________________________________________
-[   585] By: mbeattie                              on 1998/02/25  17:44:34
-        Log: More compiler tweaks.
+[  2898] By: gsar                                  on 1999/02/12  11:49:25
+        Log: support win32_putenv()
      Branch: perl
-	   ! Makefile.SH bytecode.pl byterun.c byterun.h ext/B/B/Asmdata.pm
+	   ! mg.c util.c win32/GenCAPI.pl win32/makedef.pl win32/perlhost.h
+           ! win32/win32.c win32/win32iop.h
 ____________________________________________________________________________
-[   584] By: mbeattie                              on 1998/02/25  15:36:38
-        Log: Subject: [PATCH 5.004_60] dos-djgpp update
-             Date: Wed, 25 Feb 1998 11:17:07 +0100
-             From: Laszlo Molnar 
+[  2894] By: gsar                                  on 1999/02/12  11:09:27
+        Log: add missing hunk in change#2657
      Branch: perl
-           ! djgpp/djgpp.c dosish.h hints/dos_djgpp.sh perl.c thread.h
+           ! ext/B/B/CC.pm
 ____________________________________________________________________________
-[   583] By: mbeattie                              on 1998/02/25  15:34:48
-        Log: Move find_threadsv to right bit of global.sym. Bump patchlevel to 61.
+[  2893] By: gsar                                  on 1999/02/12  11:00:13
+        Log: From: Ilya Zakharevich 
+             Date: Tue, 19 Jan 1999 20:13:15 -0500
+             Message-ID: <19990119201315.A21167@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_53] Remove extraneous sh in test suites
      Branch: perl
-           ! global.sym patchlevel.h
+	   ! t/op/fh.t t/op/misc.t t/op/runlevel.t t/pragma/strict.t
+           ! t/pragma/subs.t t/pragma/warning.t
 ____________________________________________________________________________
-[   582] By: mbeattie                              on 1998/02/25  15:28:08
-        Log: Subject: Re: [PATCH 5.004_60] Fix goto-in-eval segfault (unwrapped!)
-             Date: Tue, 24 Feb 1998 11:15:57 +0000
-             From: Robin Houston 
+[  2892] By: gsar                                  on 1999/02/12  10:44:38
+        Log: update change#2670 to later version
+             From: Hugo van der Sanden 
+             Date: Sun, 31 Jan 1999 16:16:14 +0000
+             Message-Id: <199901311616.QAA17673@crypt.compulink.co.uk>
+             Subject: Re: [PATCH 5.005_54] Evalled substitution parsing 
      Branch: perl
-           ! pod/perldiag.pod pp_ctl.c
+           ! t/op/subst.t toke.c
 ____________________________________________________________________________
-[   581] By: mbeattie                              on 1998/02/25  15:27:06
-        Log: Subject: [PATCH] #ifdef CAN_PROTOTYPE cleanup
-             Date: 23 Feb 1998 23:36:09 +0100
-             From: Gisle Aas 
+[  2891] By: gsar                                  on 1999/02/12  10:31:17
+        Log: make testsuite somewhat location independent
      Branch: perl
-	   ! doio.c miniperlmain.c op.c perl.c pp.h regcomp.c toke.c util.c
+           ! (edit 117 files)
 ____________________________________________________________________________
-[   580] By: mbeattie                              on 1998/02/25  15:25:29
-        Log: Subject: [PATCH 5.004_60] improved Test.pm
-             Date: Sat, 21 Feb 1998 14:17:09 -0500
-             From: Joshua Pritikin 
+[  2890] By: gsar                                  on 1999/02/12  10:00:30
+        Log: add $AutoLoader::VERSION
      Branch: perl
-           ! lib/Test.pm
+           ! lib/AutoLoader.pm
 ____________________________________________________________________________
-[   579] By: mbeattie                              on 1998/02/25  15:23:24
-        Log: HP-UX hints and AIX global.sym changes (with Makefile.SH rule)
-             From: Jarkko Hietaniemi 
-             Subject: [PATCH] 5.004_60: AIX: global.sym and Makefile.SH
-             Date: Sat, 21 Feb 1998 15:26:19 +0200 (EET)
-             Subject: Re: your HP-UX perl patch
-             Date: Mon, 23 Feb 1998 23:14:37 +0200 (EET)
+[  2889] By: gsar                                  on 1999/02/12  09:55:48
+        Log: tweak PERL_STRICT_CR notes
      Branch: perl
-           ! Makefile.SH embed.h global.sym hints/hpux.sh
+           ! pod/perl5005delta.pod
 ____________________________________________________________________________
-[   578] By: mbeattie                              on 1998/02/25  15:18:06
-        Log: Back out DB_File patch (change _553) and tweak Configure.
-             Subject: ANNOUNCE: perl5.004_60 is available
-             Date: Mon, 23 Feb 1998 10:47:26 -0000
-             From: Paul Marquess 
+[  2888] By: gsar                                  on 1999/02/12  09:41:45
+        Log: add note about test-notty target
      Branch: perl
-           ! Configure ext/DB_File/DB_File.xs
+           ! README.win32
 ____________________________________________________________________________
-[   577] By: mbeattie                              on 1998/02/25  15:04:00
-        Log: Subject: [PATCH] Cwd.pm
-             Date: Fri, 20 Feb 1998 10:27:54 -0600
-             From: Graham Barr 
+[  2887] By: gsar                                  on 1999/02/12  09:37:37
+        Log: add perltodo.pod
      Branch: perl
-           ! lib/Cwd.pm
+           + pod/perltodo.pod
+	   ! MANIFEST Todo pod/Makefile pod/perl.pod pod/roffitall
+           ! win32/pod.mak
 ____________________________________________________________________________
-[   576] By: mbeattie                              on 1998/02/25  15:02:57
-        Log: From: ilya@math.ohio-state.edu (Ilya Zakharevich)
-             Subject: [5.004_5* PATCH] Make ornaments default in Term::ReadLine
-             Date: Fri, 20 Feb 1998 00:09:52 -0500 (EST)
-             Subject: [PATCH 5.004_5*] Fix debugger messages and the default package
-             Date: Fri, 20 Feb 1998 00:12:28 -0500 (EST)
-             Subject: Re: Continued presence of segmentation violation in study_chunk()[PATCH]
-             Date: Sat, 21 Feb 1998 15:32:29 -0500 (EST)
-     Branch: perl
-           ! lib/Term/ReadLine.pm lib/perl5db.pl regcomp.c
-____________________________________________________________________________
-[   575] By: mbeattie                              on 1998/02/25  14:58:00
-        Log: Subject: Re: ANNOUNCE: perl5.004_60 Configure patch is available
-             Date: Tue, 24 Feb 1998 16:02:43 -0500 (EST)
-             From: Andy Dougherty 
-     Branch: perl
-           + Porting/config.sh Porting/config_H
-           - config_H
-	   ! Configure INSTALL MANIFEST Makefile.SH Porting/Glossary
-	   ! Porting/pumpkin.pod config_h.SH ext/POSIX/POSIX.xs
-	   ! hints/aix.sh hints/amigaos.sh hints/bsdos.sh hints/dec_osf.sh
-	   ! hints/freebsd.sh hints/irix_6.sh hints/linux.sh
-	   ! hints/netbsd.sh hints/next_3.sh hints/next_4.sh hints/os2.sh
-	   ! hints/solaris_2.sh makedepend.SH perl.c perl.h pp.c pp_sys.c
-           ! t/lib/thread.t t/op/nothread.t x2p/Makefile.SH
-____________________________________________________________________________
-[   574] By: gsar                                  on 1998/02/24  02:21:14
-        Log: fix typos in sv.c
-     Branch: win32/perl
-           ! sv.c
+[  2886] By: jhi                                   on 1999/02/12  08:52:14
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> t/op/fh.t
+          !> (integrate 30 files)
 ____________________________________________________________________________
-[   573] By: mbeattie                              on 1998/02/23  10:03:39
-        Log: Remove old Linux+threads segfault degugging kludge.
+[  2885] By: gsar                                  on 1999/02/12  08:42:10
+        Log: note how to find REG_INFTY limit
      Branch: perl
-           ! perl.c
-____________________________________________________________________________
-[   572] By: gsar                                  on 1998/02/23  09:45:26
-        Log: undo previous change (no added value!)
-     Branch: win32/perl
-           ! win32/bin/pl2bat.pl
-____________________________________________________________________________
-[   571] By: gsar                                  on 1998/02/23  09:18:32
-        Log: fix pl2bat.pl to tolerate trailing .bat (as suggested by
-             John Cavanaugh )
-     Branch: win32/perl
-           ! win32/bin/pl2bat.pl
-____________________________________________________________________________
-[   570] By: gsar                                  on 1998/02/22  04:02:15
-        Log: support chown() (just a noop for now)
-     Branch: win32/perl
-           ! dosish.h win32/win32.c win32/win32.h
-____________________________________________________________________________
-[   569] By: gsar                                  on 1998/02/22  03:09:55
-        Log: integrate latest win32 branch
-     Branch: asperl
-          +> (branch 41 files)
-          !> (integrate 59 files)
-____________________________________________________________________________
-[   568] By: gsar                                  on 1998/02/22  02:40:56
-        Log: get compiler building under win32 (needed Makefile.PL
-             hacks that could be applicable to other platforms)
-     Branch: win32/perl
-           ! ext/B/Makefile.PL win32/Makefile win32/makefile.mk
-____________________________________________________________________________
-[   567] By: gsar                                  on 1998/02/22  01:30:19
-        Log: integrate mainline
-     Branch: win32/perl
-          +> (branch 41 files)
-          !> (integrate 46 files)
+           ! pod/perlre.pod
 ____________________________________________________________________________
-[   566] By: gsar                                  on 1998/02/20  22:31:56
-        Log: fix handle leak in join()
-     Branch: win32/perl
-           ! win32/win32thread.h
-
-----------------
-Version 5.004_60
-----------------
-
+[  2884] By: jhi                                   on 1999/02/12  08:36:14
+        Log: OpenBSD pthreads awareness, thanks to
+             David Leonard 
+     Branch: maint-5.005/perl
+           ! Configure hints/openbsd.sh
 ____________________________________________________________________________
-[   565] By: mbeattie                              on 1998/02/20  18:23:47
-        Log: Remove compiler files from their old lib/B locations. The compiler
-             now builds by default (without the byteperl executable so far) and
-             seems to work at least minimally.
-     Branch: perl
-	   - lib/B.pm lib/B/Asmdata.pm lib/B/Assembler.pm lib/B/Bblock.pm
-	   - lib/B/Bytecode.pm lib/B/C.pm lib/B/CC.pm lib/B/Debug.pm
-	   - lib/B/Deparse.pm lib/B/Disassembler.pm lib/B/Lint.pm
-	   - lib/B/Showlex.pm lib/B/Stackobj.pm lib/B/Terse.pm
-	   - lib/B/Xref.pm lib/B/assemble lib/B/cc_harness
-           - lib/B/disassemble lib/B/makeliblinks lib/O.pm
-           ! MANIFEST bytecode.pl
-____________________________________________________________________________
-[   564] By: mbeattie                              on 1998/02/20  18:05:33
-        Log: Move lib/B/... and lib/[BO].pm over to where they should be,
-             under ext/B.
-     Branch: perl
-	  +> ext/B/B.pm ext/B/B/Asmdata.pm ext/B/B/Assembler.pm
-	  +> ext/B/B/Bblock.pm ext/B/B/Bytecode.pm ext/B/B/C.pm
-	  +> ext/B/B/CC.pm ext/B/B/Debug.pm ext/B/B/Deparse.pm
-	  +> ext/B/B/Disassembler.pm ext/B/B/Lint.pm ext/B/B/Showlex.pm
-	  +> ext/B/B/Stackobj.pm ext/B/B/Terse.pm ext/B/B/Xref.pm
-	  +> ext/B/B/assemble ext/B/B/cc_harness ext/B/B/disassemble
-          +> ext/B/B/makeliblinks ext/B/O.pm
-____________________________________________________________________________
-[   563] By: mbeattie                              on 1998/02/20  17:54:58
-        Log: Start getting compiler to work when built with the core.
-             [Still won't work as of this change.]
-     Branch: perl
-	  +> byterun.c byterun.h lib/B/Asmdata.pm lib/B/Assembler.pm
-	  +> lib/B/Bblock.pm lib/B/Bytecode.pm lib/B/C.pm lib/B/CC.pm
-	  +> lib/B/Debug.pm lib/B/Deparse.pm lib/B/Disassembler.pm
-	  +> lib/B/Lint.pm lib/B/Showlex.pm lib/B/Stackobj.pm
-          +> lib/B/Terse.pm lib/B/Xref.pm
-           ! MANIFEST Makefile.SH bytecode.pl ext/B/Makefile.PL
-____________________________________________________________________________
-[   562] By: mbeattie                              on 1998/02/20  16:42:13
-        Log: Merge perlext/Compiler/... into mainline. Some files move to
-             ext/B/..., some to lib/B/..., O.pm and B.pm go in lib and some
-             move to the base perl directory (e.g. headers). Will need some
-             cleaning up before it builds properly, I would guess.
-     Branch: perl
-	  +> bytecode.h bytecode.pl cc_runtime.h ext/B/B.xs
-	  +> ext/B/Makefile.PL ext/B/NOTES ext/B/README ext/B/TESTS
-	  +> ext/B/Todo ext/B/byteperl.c ext/B/ramblings/cc.notes
-	  +> ext/B/ramblings/curcop.runtime ext/B/ramblings/flip-flop
-	  +> ext/B/ramblings/magic ext/B/ramblings/reg.alloc
-	  +> ext/B/ramblings/runtime.porting ext/B/typemap lib/B.pm
-	  +> lib/B/assemble lib/B/cc_harness lib/B/disassemble
-          +> lib/B/makeliblinks lib/O.pm
-____________________________________________________________________________
-[   561] By: mbeattie                              on 1998/02/20  16:39:38
-        Log: Win32 changes from Sarathy, tweaked slightly by me.
-     Branch: perlext
-	   ! Compiler/B.xs Compiler/B/Asmdata.pm Compiler/B/Bytecode.pm
-	   ! Compiler/B/C.pm Compiler/Makefile.PL Compiler/assemble
-	   ! Compiler/bytecode.h Compiler/bytecode.pl Compiler/byteperl.c
-           ! Compiler/byterun.c Compiler/byterun.h Compiler/cc_harness
-____________________________________________________________________________
-[   560] By: mbeattie                              on 1998/02/20  15:46:15
-        Log: Initialise $@ early (fixes t/lib/ph.t for threaded perl).
+[  2882] By: gsar                                  on 1999/02/12  08:05:20
+        Log: IO is maintained by p5p (per Graham Barr's wishes)
      Branch: perl
-           ! perl.c
+	   ! MAINTAIN ext/IO/ChangeLog ext/IO/README ext/IO/lib/IO/Dir.pm
+	   ! ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Poll.pm
+	   ! ext/IO/lib/IO/Select.pm ext/IO/lib/IO/Socket.pm
+           ! ext/IO/lib/IO/Socket/INET.pm ext/IO/lib/IO/Socket/UNIX.pm
 ____________________________________________________________________________
-[   559] By: mbeattie                              on 1998/02/20  12:56:10
-        Log: Add missing t/op/wantarray.t to MANIFEST. Bump patchlevel to 60.
+[  2881] By: gsar                                  on 1999/02/12  07:57:13
+        Log: fh.t typo
      Branch: perl
-           ! MANIFEST patchlevel.h
+           ! t/op/fh.t
 ____________________________________________________________________________
-[   558] By: mbeattie                              on 1998/02/20  12:53:26
-        Log: Integrate win32 branch into mainline.
+[  2880] By: gsar                                  on 1999/02/12  07:38:16
+        Log: PERL5OPT=-T enables taint mode (suggested by Jason Riedy )
      Branch: perl
-	  !> XSUB.h config_h.SH doio.c lib/Pod/Html.pm pp_sys.c
-	  !> win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-	  !> win32/config_H.bc win32/config_H.gc win32/config_H.vc
-	  !> win32/makedef.pl win32/makefile.mk win32/win32.c win32/win32.h
-          !> win32/win32iop.h x2p/a2p.h
+           ! perl.c pod/perlrun.pod
 ____________________________________________________________________________
-[   557] By: mbeattie                              on 1998/02/20  12:51:42
-        Log: Subject: retry [PATCH] 5.004_59: the perlhist.pod etc
-             Date: Thu, 19 Feb 1998 17:54:52 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  2879] By: gsar                                  on 1999/02/12  05:39:29
+        Log: fix ops that are not filehandle constructors to not create GV if it
+             doesn't already exist (avoids leaks); extend semantics of defined()
+             so that defined(*{$foo}) works (experimental)
      Branch: perl
-	   ! ext/Thread/Thread.pm ext/Thread/Thread/Queue.pm
-	   ! ext/Thread/Thread/Semaphore.pm ext/Thread/Thread/Specific.pm
-	   ! lib/fields.pm pod/buildtoc pod/perl.pod pod/perlhist.pod
-           ! pod/perltoc.pod pod/perlvar.pod
+           + t/op/fh.t
+	   ! MANIFEST embed.h embed.pl objXSUB.h op.c pod/perldiag.pod pp.c
+           ! pp_hot.c pp_sys.c proto.h t/op/gv.t t/op/misc.t
 ____________________________________________________________________________
-[   556] By: mbeattie                              on 1998/02/20  12:49:54
-        Log: Subject: [PATCH] installperl
-             Date: Wed, 18 Feb 1998 11:51:44 -0500 (est)
-             From: Norton Allen 
-     Branch: perl
-           ! installperl
+[  2877] By: jhi                                   on 1999/02/11  20:44:00
+        Log: From: Chris Nandor 
+             To: perl5-porters@perl.org
+             Subject: [PATCH] perlport.pod 1.39
+             Date: Thu, 11 Feb 1999 12:28:35 -0500
+             Message-Id: 
+     Branch: cfgperl
+           ! pod/perlport.pod
 ____________________________________________________________________________
-[   555] By: mbeattie                              on 1998/02/20  12:49:09
-        Log: Subject: [PATCH:_59] t/op/wantarray.t
-             Date: Wed, 18 Feb 1998 11:19:54 -0500 (est)
-             From: Norton Allen 
+[  2870] By: gsar                                  on 1999/02/11  11:17:08
+        Log: remove double typeglob deref (suggested by RonaldWS )
      Branch: perl
-           + t/op/wantarray.t
+           ! ext/IO/lib/IO/Pipe.pm
 ____________________________________________________________________________
-[   554] By: mbeattie                              on 1998/02/20  12:47:44
-        Log: Subject: Misprint in regcomp.c [PATCH]
-             Date: Tue, 17 Feb 1998 23:54:07 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2869] By: gsar                                  on 1999/02/11  11:00:56
+        Log: update win32/pod.mak
      Branch: perl
-           ! regcomp.c
+           ! win32/pod.mak
 ____________________________________________________________________________
-[   553] By: mbeattie                              on 1998/02/20  12:45:08
-        Log: Subject: DB_File ->length does not work just after tie.
-             Date: Tue, 17 Feb 1998 13:19:18 GMT
-             From: Nick Ing-Simmons 
+[  2868] By: gsar                                  on 1999/02/11  10:42:44
+        Log: From: Benjamin Low 
+             Date: Fri, 08 Jan 1999 14:36:53 +1100
+             Message-ID: <36957D55.1D65A0B2@unsw.edu.au>
+             Subject: Re: [Fwd: IO::Socket::connect and blocking]
      Branch: perl
-           ! ext/DB_File/DB_File.xs
+           ! ext/IO/lib/IO/Socket.pm
 ____________________________________________________________________________
-[   552] By: mbeattie                              on 1998/02/20  12:43:32
-        Log: Subject: [PATCH] - perl5.005_59, update Copyright
-             Date: Mon, 16 Feb 1998 20:31:06 -0500 (EST)
-             From: lusol@CS4.CC.Lehigh.EDU (Stephen O. Lidie)
+[  2867] By: gsar                                  on 1999/02/11  09:43:03
+        Log: av_extend() doc tweak from Jan Dubois
      Branch: perl
-           ! perl.c
+           ! pod/perlguts.pod
 ____________________________________________________________________________
-[   551] By: mbeattie                              on 1998/02/20  12:42:41
-        Log: Subject: Re: for() and map() peculiarity
-             Date: Mon, 16 Feb 1998 21:33:44 +0000
-             From: "M.J.T. Guy" 
+[  2866] By: gsar                                  on 1999/02/11  09:27:17
+        Log: display full pathname of unreadable files
      Branch: perl
-           ! pod/perlsyn.pod
+           ! utils/perldoc.PL
 ____________________________________________________________________________
-[   550] By: mbeattie                              on 1998/02/20  12:41:53
-        Log: Subject: [PATCH 5.004_59] Updates to VMS/CONFIG.VMS
-             Date: Mon, 16 Feb 1998 11:46:29 -0800
-             From: Dan Sugalski 
+[  2865] By: gsar                                  on 1999/02/11  09:02:31
+        Log: missing patch in change#2522
      Branch: perl
-           ! vms/config.vms
+           ! lib/Pod/Text.pm
 ____________________________________________________________________________
-[   549] By: mbeattie                              on 1998/02/20  12:40:55
-        Log: Subject: [PATCH] 5.004_59 global.sym for AIX 3.2.5
-             Date: Mon, 16 Feb 1998 14:27:53 -0500 (EST)
-             From: "Stephen O. Lidie" 
-     Branch: perl
-           ! global.sym
+[  2864] By: jhi                                   on 1999/02/11  08:45:00
+        Log: From: Spider Boardman 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00503 +MAINT_TRIAL_5 on RISC-ultrix 4.4 (UNINSTALLED)
+             Date: Wed, 10 Feb 1999 23:33:31 -0500
+             Message-Id: <9902110433.AA12816@abyss.zk3.dec.com>
+     Branch: maint-5.005/perl
+           ! doio.c ext/IPC/SysV/SysV.xs hints/ultrix_4.sh
 ____________________________________________________________________________
-[   548] By: mbeattie                              on 1998/02/20  12:39:56
-        Log: Subject: [PATCH] 5.004_59: hints/irix_6.sh
-             Date: Mon, 16 Feb 1998 15:44:57 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  2862] By: gsar                                  on 1999/02/11  08:14:34
+        Log: integrate changes#2738,2740 from maint-5.005
      Branch: perl
-           ! hints/irix_6.sh
+          !> lib/ExtUtils/MakeMaker.pm
 ____________________________________________________________________________
-[   547] By: mbeattie                              on 1998/02/20  12:38:58
-        Log: Subject: [PATCH] perlguts update
-             Date: 16 Feb 1998 11:23:53 +0100
-             From: Gisle Aas 
-     Branch: perl
-           ! pod/perlguts.pod
+[  2861] By: jhi                                   on 1999/02/11  08:04:25
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  !> Changes perl.h pod/perl5005delta.pod pp_ctl.c t/op/local.t
+          !> t/op/range.t win32/config.gc
 ____________________________________________________________________________
-[   546] By: mbeattie                              on 1998/02/20  12:38:01
-        Log: Subject: [PATCH 5.004_59] bsdos/hints.sh is wrong
-             Date: Sun, 15 Feb 1998 23:56:05 -0500
-             From: Irving Reid 
+[  2860] By: gsar                                  on 1999/02/11  07:30:08
+        Log: binmode() support for cygwin32 (suggested by Steven Morlock
+             )
      Branch: perl
-           ! hints/bsdos.sh
+           ! perl.h
 ____________________________________________________________________________
-[   545] By: mbeattie                              on 1998/02/20  12:37:11
-        Log: Subject: [PATCH] 5% speedup in an empty loop
-             Date: Sun, 15 Feb 1998 17:49:46 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2859] By: gsar                                  on 1999/02/11  07:14:21
+        Log: update Changes
      Branch: perl
-           ! op.c
+           ! Changes
+          !> pod/perl5005delta.pod
 ____________________________________________________________________________
-[   544] By: mbeattie                              on 1998/02/20  12:36:26
-        Log: Subject: [PATCH for 5.004_59] netdb_host_type and netdb_hlen_type on NeXt
-             Date: Sun, 15 Feb 98 23:06:16 +0100
-             From: Hans Mulder 
+[  2856] By: gsar                                  on 1999/02/11  07:07:39
+        Log: integrate perldelta changes from maint-5.005
      Branch: perl
-           ! hints/next_3.sh hints/next_4.sh
+          !> pod/perl5005delta.pod
 ____________________________________________________________________________
-[   543] By: mbeattie                              on 1998/02/20  12:35:39
-        Log: Subject: [PATCH for 5.004_59] Perl_sbrk declared inconsistently
-             Date: Sun, 15 Feb 98 23:05:20 +0100
-             From: Hans Mulder 
+[  2855] By: gsar                                  on 1999/02/11  06:31:50
+        Log: applied suggested patch; added tests
+             From: Adam Krolnik 
+             Date: Sat, 12 Dec 98 15:30:18 -0600
+             Message-Id: <9812122130.AA03717@gypsy.eng.cyrix.com>
+             Subject: Range operation doesn't handle IV_MAX
      Branch: perl
-           ! malloc.c
+           ! pp_ctl.c t/op/range.t
 ____________________________________________________________________________
-[   542] By: mbeattie                              on 1998/02/20  12:35:03
-        Log: Subject: [PATCH for 5.004_59] "d_gethbyname" misspelled in Configure
-             From: Hans Mulder 
-             Date: Sun, 15 Feb 98 23:04:29 +0100
+[  2854] By: gsar                                  on 1999/02/11  05:00:55
+        Log: compatibility fix: magic non-propagation in foreach implicit localization
      Branch: perl
-           ! Configure
+           ! pp_ctl.c t/op/local.t win32/config.gc
 ____________________________________________________________________________
-[   541] By: mbeattie                              on 1998/02/20  12:33:56
-        Log: Subject: [PATCH for 5.004_59] NeXT doesn't need DONT_DECLARE_STD (was: 
-             NeXT   needs DONT_DECLARE_STD)
-             Date: Sun, 15 Feb 98 23:04:19 +0100
-             From: Hans Mulder 
-     Branch: perl
-           ! perl.h
+[  2852] By: gsar                                  on 1999/02/10  23:17:49
+        Log: fair warning about -Dusethreads
+     Branch: maint-5.005/perl
+           ! Configure INSTALL README.threads
 ____________________________________________________________________________
-[   540] By: mbeattie                              on 1998/02/20  12:32:25
-        Log: Subject: [PATCH] sv_check_thinkfirst macroized
-             Date: 15 Feb 1998 22:00:38 +0100
-             From: Gisle Aas 
-     Branch: perl
-           ! sv.c
+[  2847] By: jhi                                   on 1999/02/09  19:13:28
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+	  !> pod/perldelta.pod pod/perlfunc.pod pod/perlobj.pod
+          !> pod/perlop.pod pp.c t/op/method.t t/op/pack.t
 ____________________________________________________________________________
-[   539] By: mbeattie                              on 1998/02/20  12:31:07
-        Log: Subject: [PATCH 5.004_59] allow the Test::Harness to grok TODO-type tests docs
-             Date: Sat, 14 Feb 1998 17:58:01 -0500
-             From: Joshua Pritikin 
+[  2846] By: gsar                                  on 1999/02/09  13:53:28
+        Log: a modified version of suggested patch for pack template 'Z'; added docs
+             From: "Valeriy E. Ushakov" 
+             Date: Mon, 16 Jun 1997 03:00:31 +0400 (MSD)
+             Message-ID: <%lOHpzIuGV@snark.ptc.spbu.ru>
+             Subject: lack of pack/unpack letter with useful symmetry for C null delimited strings
      Branch: perl
-           + lib/Test.pm
-           ! MANIFEST lib/Test/Harness.pm
+           ! pod/perldelta.pod pod/perlfunc.pod pp.c t/op/pack.t
 ____________________________________________________________________________
-[   538] By: mbeattie                              on 1998/02/20  12:24:31
-        Log: Subject: [PATCH] 5.004_59: locale startup problems documentation++
-             Date: Sat, 14 Feb 1998 15:40:44 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  2845] By: gsar                                  on 1999/02/09  00:03:26
+        Log: clarify docs for change#2835
      Branch: perl
-           ! INSTALL pod/perldiag.pod pod/perllocale.pod
+           ! pod/perldelta.pod pod/perlop.pod
 ____________________________________________________________________________
-[   537] By: mbeattie                              on 1998/02/20  12:23:04
-        Log: Subject: [PATCH] Updated, non-wordwrapped, patch to README.VMS
-             Date: Fri, 13 Feb 1998 13:38:28 -0800
-             From: Dan Sugalski 
+[  2844] By: gsar                                  on 1999/02/08  23:40:57
+        Log: addendum to change#2823
+             From: Stephen McCamant 
+             Date: Sun, 13 Dec 1998 16:06:04 -0800 (PST)
+             Message-ID: <13940.21805.470054.299@fre-76-120.reshall.berkeley.edu>
+             Subject: [PATCH] Docs and tests for method-call syntax
      Branch: perl
-           ! README.vms
+           ! pod/perlobj.pod t/op/method.t
 ____________________________________________________________________________
-[   536] By: mbeattie                              on 1998/02/20  12:20:29
-        Log: Subject: [PATCH] 5.004_58, move intuition tests
-             Date: Thu, 12 Feb 1998 17:11:05 -0600
-             From: Stephen Potter 
-     Branch: perl
-	   ! t/lib/anydbm.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t
-	   ! t/lib/sdbm.t t/op/array.t t/op/delete.t t/op/each.t
-           ! t/op/flip.t t/op/pat.t t/op/push.t
-____________________________________________________________________________
-[   535] By: gsar                                  on 1998/02/19  23:07:24
-        Log: applied a version of this with tabs intact
-             Message-Id: 
-             Date:    19 Feb 1998 15:06:38 EST
-             From:    dfan@harmonixmusic.com (Dan Schmidt)
-             Subject: Pod::Html bug and fix: missing  in index
-     Branch: win32/perl
-           ! lib/Pod/Html.pm
-____________________________________________________________________________
-[   534] By: gsar                                  on 1998/02/19  19:40:27
-        Log: Fix C<0> problem in Pod::Html
-     Branch: win32/perl
-           ! lib/Pod/Html.pm
+[  2843] By: jhi                                   on 1999/02/08  21:06:28
+        Log: Ultrix mmap tidbit.
+     Branch: cfgperl
+           ! hints/ultrix_4.sh
 ____________________________________________________________________________
-[   533] By: gsar                                  on 1998/02/18  18:11:08
-        Log: non-debug VC builds are -O1 now (they say it works, and is
-             faster)
-     Branch: win32/perl
-           ! win32/Makefile win32/makefile.mk
+[  2842] By: jhi                                   on 1999/02/08  20:22:55
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> t/op/subst_wamp.t
+          !> (integrate 35 files)
 ____________________________________________________________________________
-[   532] By: gsar                                  on 1998/02/18  04:11:03
-        Log: integrate nick's patch to mainline
-     Branch: win32/perl
-          !> pp.c
-____________________________________________________________________________
-[   531] By: mbeattie                              on 1998/02/17  17:50:50
-        Log: Assorted changes to the compiler
-     Branch: perlext
-	   ! Compiler/B.pm Compiler/B.xs Compiler/B/Asmdata.pm
-	   ! Compiler/B/Bytecode.pm Compiler/B/C.pm Compiler/B/Debug.pm
-	   ! Compiler/NOTES Compiler/O.pm Compiler/bytecode.pl
-           ! Compiler/byterun.c Compiler/byterun.h Compiler/typemap
-____________________________________________________________________________
-[   530] By: gsar                                  on 1998/02/17  01:47:35
-        Log: DLLs are now ok on mingw32/gcc-2.8.0 after removing the
-             FORCE_ARG_STRING() hack (that bug is fixed in gcc now).  mingw32
-             build passes all tests except t/lib/io_xs.t (seems to be due to
-             broken tmpfile() in the CRT or import lib)
-     Branch: win32/perl
-           ! XSUB.h win32/makefile.mk win32/win32.h
-____________________________________________________________________________
-[   529] By: gsar                                  on 1998/02/16  23:03:31
-        Log: fix mingw32 gcc 2.8.0 build (DLLs generated seem to be broken
-             in this version of gcc!)
-     Branch: win32/perl
-	   ! doio.c pp_sys.c win32/config.gc win32/makefile.mk
-           ! win32/win32.c win32/win32.h win32/win32iop.h x2p/a2p.h
-____________________________________________________________________________
-[   528] By: nick                                  on 1998/02/16  22:13:04
-        Log: Missing PUSHMARK in unshift TIEARRAY hook
-     Branch: perl
-           ! pp.c
+[  2841] By: jhi                                   on 1999/02/08  18:23:26
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_53] s/\ba/./g was over-optimized
+             Date: Sun, 7 Feb 1999 17:25:22 -0500
+             Message-ID: <19990207172522.B894@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           + t/op/subst_amp.t
+           ! MANIFEST regcomp.c t/op/subst.t
 ____________________________________________________________________________
-[   527] By: gsar                                  on 1998/02/15  20:59:07
-        Log: integrate win32 branch
-     Branch: asperl
-	  !> config_h.SH win32/config.bc win32/config.gc win32/config.vc
-	  !> win32/config_H.bc win32/config_H.gc win32/config_H.vc
-          !> win32/makedef.pl
+[  2840] By: jhi                                   on 1999/02/08  18:16:54
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_53] Fix list-context //g with zero-length matches
+             Date: Sun, 7 Feb 1999 17:00:10 -0500
+             Message-ID: <19990207170009.A894@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! pp_hot.c t/op/pat.t
 ____________________________________________________________________________
-[   526] By: gsar                                  on 1998/02/15  20:02:11
-        Log: Fix typo: s/GETNETBYADD\b/GETNETBYADDR/
-     Branch: win32/perl
-	   ! config_h.SH win32/config_H.bc win32/config_H.gc
-           ! win32/config_H.vc
+[  2839] By: jhi                                   on 1999/02/08  17:25:30
+        Log: A require was missing.
+     Branch: cfgperl
+           ! t/lib/h2ph.pht
 ____________________________________________________________________________
-[   525] By: gsar                                  on 1998/02/15  03:26:45
-        Log: fix build problems due to renamed Config variables
-     Branch: win32/perl
-	   ! win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-           ! win32/makedef.pl
-____________________________________________________________________________
-[   524] By: gsar                                  on 1998/02/14  01:00:15
-        Log: bring ASPerl uptodate with mainline changes
-     Branch: asperl
-          +> ext/DB_File/Changes t/comp/require.t
-          !> (integrate 41 files)
-____________________________________________________________________________
-[   523] By: gsar                                  on 1998/02/14  00:52:17
-        Log: integrate mainline
-     Branch: win32/perl
-	  !> hints/qnx.sh lib/Cwd.pm lib/ExtUtils/xsubpp patchlevel.h
-          !> pp_hot.c t/op/magic.t
-____________________________________________________________________________
-[   522] By: gsar                                  on 1998/02/14  00:42:37
-        Log: added AS patch#6
-             Message-Id: <01BD3846.B29FB880.dougl@ActiveState.com>
-             Date:    Fri, 13 Feb 1998 06:14:51 PST
-             From:    Douglas Lankshear 
-             Subject: [PATCH] command line build
-             
-             This patch is for the command line build of perl object.
-             I'll merge the ipfoo.c function with win32_xxx functions next.
-             
-             -- Doug
-     Branch: asperl
-	   ! ObjXSub.h ext/Opcode/Opcode.xs lib/ExtUtils/MM_Win32.pm
-	   ! objpp.h proto.h sv.c win32/dl_win32.xs win32/ipenv.c
-	   ! win32/ipstdio.c win32/makedef.pl win32/runperl.c win32/win32.h
-____________________________________________________________________________
-[   521] By: gsar                                  on 1998/02/14  00:14:04
-        Log: added AS patch#5 (patch #4 was intentionally skipped after
-             discussion)
-     Branch: asperl
-	   ! embed.h embedvar.h global.sym globals.c hv.c interp.sym
-	   ! intrpvar.h op.c perl.c perl.h pp_ctl.c proto.h regcomp.c
-           ! regexec.c sv.c toke.c
-____________________________________________________________________________
-[   520] By: nick                                  on 1998/02/13  18:15:46
-        Log: Resolve ansiperl against win32
-     Branch: ansiperl
-	  +> ext/DB_File/Changes ext/POSIX/hints/linux.pl
-	  +> ext/POSIX/hints/sunos_4.pl lib/Fatal.pm t/comp/require.t
-          +> t/lib/ph.t
-          !> (integrate 898 files)
-
-----------------
-Version 5.004_59
-----------------
-
+[  2838] By: jhi                                   on 1999/02/08  16:38:41
+        Log: Bring in the change #2809 (the Configure part has been
+             modified rather a lot since the #2809, though.)
+     Branch: cfgperl
+           ! Configure utils/h2ph.PL
 ____________________________________________________________________________
-[   519] By: mbeattie                              on 1998/02/13  17:05:37
-        Log: Integrate win32 into mainline.
+[  2835] By: gsar                                  on 1999/02/08  14:40:23
+        Log: make qw() into a true list at compile time (slightly modified
+             variant of patch suggested by Tom Hughes )
      Branch: perl
-           ! lib/ExtUtils/xsubpp
-	  !> win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-          !> win32/makefile.mk
+           ! pod/perldelta.pod pod/perlop.pod pp_hot.c toke.c
 ____________________________________________________________________________
-[   518] By: mbeattie                              on 1998/02/13  17:01:16
-        Log: Bump patchlevel.h to 59.
+[  2834] By: gsar                                  on 1999/02/08  13:23:16
+        Log: make safesysmalloc() etc., always available; safemalloc() et al are
+             now macros that point to the right malloc; fix various places in
+             sources that need to always use safesysmalloc() et al
      Branch: perl
-           ! patchlevel.h
+	   ! embed.h embedvar.h global.sym iperlsys.h mg.c objXSUB.h perl.h
+           ! perl_exp.SH proto.h util.c vms/gen_shrfls.pl win32/makedef.pl
 ____________________________________________________________________________
-[   517] By: mbeattie                              on 1998/02/13  16:57:59
-        Log: Subject: [PATCH] _58: wantarray in void context broken
-             Date: Fri, 13 Feb 1998 11:24:49 -0500 (est)
-             From: Norton Allen 
+[  2833] By: gsar                                  on 1999/02/08  10:56:16
+        Log: remove spurious #endif in last change
      Branch: perl
-           ! pp_hot.c
+           ! perl.h
 ____________________________________________________________________________
-[   516] By: mbeattie                              on 1998/02/13  16:55:33
-        Log: Subject: [PATCH] 5.004_58 QNX getcwd
-             Date: Thu, 12 Feb 1998 13:40:56 -0500 (est)
-             From: Norton Allen 
+[  2832] By: gsar                                  on 1999/02/08  10:34:55
+        Log: make EMBEDMYMALLOC the default and provide PERL_POLLUTE_MALLOC to let
+             them ask for insanity (untested)
      Branch: perl
-           ! hints/qnx.sh lib/Cwd.pm t/op/magic.t
+	   ! INSTALL Todo-5.005 ext/SDBM_File/sdbm/sdbm.h hints/machten.sh
+	   ! hints/next_3.sh hints/next_4.sh hints/qnx.sh iperlsys.h
+           ! malloc.c perl.h pod/perldelta.pod pod/perlguts.pod sv.c
 ____________________________________________________________________________
-[   515] By: gsar                                  on 1998/02/12  18:29:52
-        Log: pickup lddlflags properly for Config.pm
-     Branch: win32/perl
-	   ! win32/Makefile win32/config.bc win32/config.gc win32/config.vc
-           ! win32/makefile.mk
+[  2831] By: jhi                                   on 1999/02/08  08:33:33
+        Log: Update vms/subconfigure.com along the lines of change #2829.
+     Branch: cfgperl
+           ! vms/subconfigure.com
 ____________________________________________________________________________
-[   514] By: gsar                                  on 1998/02/12  18:16:09
-        Log: fix xsubpp bug in SETMAGIC code
-     Branch: win32/perl
-           ! lib/ExtUtils/xsubpp
+[  2830] By: gsar                                  on 1999/02/08  00:19:46
+        Log: integrate cfgperl changes into mainline
+     Branch: perl
+	  +> ext/DynaLoader/dl_beos.xs ext/GDBM_File/hints/sco.pl
+          +> lib/File/PathConvert.pm pod/perlthrtut.pod
+           ! Changes
+          !> (integrate 93 files)
 ____________________________________________________________________________
-[   513] By: gsar                                  on 1998/02/12  18:06:30
-        Log: integrate mainline
-     Branch: win32/perl
-          +> ext/DB_File/Changes
-	  !> Configure MANIFEST config_h.SH ext/DB_File/DB_File.pm
-	  !> ext/DB_File/DB_File.xs hints/machten.sh
-	  !> lib/ExtUtils/Install.pm lib/Pod/Html.pm lib/Pod/Text.pm
-	  !> lib/perl5db.pl malloc.c pod/perldiag.pod pod/perlpod.pod
-	  !> pod/pod2man.PL pp_sys.c regcomp.c regexec.c scope.h sv.c
-	  !> t/lib/db-recno.t t/lib/filecopy.t t/op/misc.t t/op/pat.t
-          !> t/op/re_tests t/pragma/locale.t
+[  2829] By: jhi                                   on 1999/02/07  23:49:46
+        Log: Configure update.
+             
+             Probe for mmap() et alia.
+             The *cc*symbols patch (just Configure, no h2ph).
+     Branch: cfgperl
+	   ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+           ! config_h.SH perl.h
 ____________________________________________________________________________
-[   512] By: mbeattie                              on 1998/02/12  17:34:02
-        Log: Missing WITH_THR from new deb() in ENTER/LEAVE caused builds
-             with -DUSE_THREADS -DDEBUGGING to fail.
+[  2828] By: gsar                                  on 1999/02/07  23:38:47
+        Log: From: Ilya Zakharevich 
+             Date: Sun, 7 Feb 1999 17:25:22 -0500
+             Message-ID: <19990207172522.B894@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_53] s/\ba/./g was over-optimized
      Branch: perl
-           ! scope.h
+           + t/op/subst_amp.t t/op/subst_wamp.t
+           ! MANIFEST regcomp.c t/op/subst.t
 ____________________________________________________________________________
-[   511] By: mbeattie                              on 1998/02/12  16:44:03
-        Log: Integrate win32 into mainline
+[  2827] By: gsar                                  on 1999/02/07  23:27:32
+        Log: From: Ilya Zakharevich 
+             Date: Sun, 7 Feb 1999 17:00:10 -0500
+             Message-ID: <19990207170009.A894@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_53] Fix list-context //g with zero-length matches
      Branch: perl
-          +> t/comp/require.t
-          !> MANIFEST pp_ctl.c scope.c scope.h t/op/local.t toke.c
+           ! pp_hot.c t/op/pat.t
 ____________________________________________________________________________
-[   510] By: mbeattie                              on 1998/02/12  16:42:26
-        Log: Subject: Re: [PATCH] 5.004_58 | _04  DynaLoader.pm -> DynaLoader.pm.PL (resend)
-             Date: 12 Feb 1998 14:25:55 +0100
-             From: koenig@kulturbox.de (Andreas J. Koenig)
+[  2826] By: gsar                                  on 1999/02/07  23:26:04
+        Log: patch for change#2822, done right; add PERL_OBJECT stuff; regen headers
+             From: Ilya Zakharevich 
+             Date: Sun, 7 Feb 1999 15:07:27 -0500
+             Message-ID: <19990207150726.A571@monk.mps.ohio-state.edu>
+             Subject: Re: fixing memory leaks in REx compilation
      Branch: perl
-           ! lib/ExtUtils/Install.pm
+	   ! embed.h embed.pl objXSUB.h proto.h regcomp.c regcomp.h
+           ! regexec.c
 ____________________________________________________________________________
-[   509] By: mbeattie                              on 1998/02/12  16:40:34
-        Log: Subject: Re: wrong prototype for sbrk [PATCH]
-             Date: Wed, 11 Feb 1998 15:37:31 -0500 (EST)
-             From: Andy Dougherty 
-     Branch: perl
-           ! malloc.c
+[  2825] By: jhi                                   on 1999/02/07  18:05:13
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> lib/DB.pm t/comp/bproto.t
+	  !> MANIFEST ext/Data/Dumper/Dumper.pm ext/SDBM_File/sdbm/sdbm.c
+	  !> lib/Pod/Html.pm op.c perly.c perly.y perly_c.diff
+	  !> pod/perldelta.pod pod/perlfunc.pod pod/perlop.pod regcomp.h
+          !> toke.c vms/perly_c.vms
 ____________________________________________________________________________
-[   508] By: mbeattie                              on 1998/02/12  16:36:53
-        Log: Subject: [PATCH] 5.004_58 | _04: pod2*,perlpod: L
-             Date: Wed, 11 Feb 1998 17:29:20 +0100
-             From: Achim Bohnet 
+[  2824] By: gsar                                  on 1999/02/07  14:21:48
+        Log: tweak doc on bitwise ops
      Branch: perl
-	   ! lib/Pod/Html.pm lib/Pod/Text.pm pod/perlpod.pod pod/pod2man.PL
+           ! pod/perlop.pod
 ____________________________________________________________________________
-[   507] By: mbeattie                              on 1998/02/12  16:35:26
-        Log: Subject: [PATCH] slight tweaks to hints/machten.sh
-             Date: Wed, 11 Feb 1998 14:59:46 +0100
-             From: Dominic Dunlop 
+[  2823] By: gsar                                  on 1999/02/07  13:38:31
+        Log: applied suggested patch; regen perly* and vms/perly*
+             From: Stephen McCamant 
+             Date: Sun, 13 Dec 1998 01:10:12 -0800 (PST)
+             Message-ID: <13939.26706.620683.846776@fre-76-120.reshall.berkeley.edu>
+             Subject: [PATCH] Re: Suggestion for perlobj man page
      Branch: perl
-           ! hints/machten.sh
+           ! perly.c perly.y perly_c.diff toke.c vms/perly_c.vms
 ____________________________________________________________________________
-[   506] By: mbeattie                              on 1998/02/12  16:28:40
-        Log: Subject: DB_File 1.58 patch
-             Date: Tue, 10 Feb 1998 11:23:22 +0000 (GMT)
-             From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
+[  2822] By: gsar                                  on 1999/02/07  12:39:09
+        Log: Ilya's idea for cleaning up failed regex allocs (substantive parts
+             disabled, fails tests)
      Branch: perl
-           + ext/DB_File/Changes
-	   ! MANIFEST ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
-           ! t/lib/db-recno.t
+           ! regcomp.h
 ____________________________________________________________________________
-[   505] By: mbeattie                              on 1998/02/12  16:24:26
-        Log: Subject: 5.004_5*: [PATCH] restore old behaviour of \1 in RE
-             Date: Tue, 10 Feb 1998 02:57:46 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2821] By: gsar                                  on 1999/02/07  11:09:39
+        Log: pod2html misinterprets Foo::Bar as a URL (fix suggested by Alexander Barilo
+             )
      Branch: perl
-           ! regexec.c t/op/re_tests
+           ! lib/Pod/Html.pm
 ____________________________________________________________________________
-[   504] By: mbeattie                              on 1998/02/12  16:22:46
-        Log: From: Jarkko Hietaniemi 
-             Subject: [PATCH] 5.004_58: the locale.t problem in IRIX
-             Date: Mon, 9 Feb 1998 19:47:22 +0200 (EET)
-             Subject: [PATCH] 5.004_58: reserve the POSIX regexp extensions
-             Date: Tue, 10 Feb 1998 15:12:12 +0200 (EET)
-             Subject: [PATCH] 5.004_58:  API prototype probing
-             Date: Wed, 11 Feb 1998 12:50:35 +0200 (EET)
-     Branch: perl
-	   ! Configure config_h.SH pod/perldiag.pod pp_sys.c regcomp.c
-           ! t/op/misc.t t/op/pat.t t/op/re_tests t/pragma/locale.t
-____________________________________________________________________________
-[   503] By: mbeattie                              on 1998/02/12  16:15:43
-        Log: Subject: [PATCH] filecopy.t #3 fails on dos-djgpp
-             Date: Mon, 9 Feb 1998 13:19:45 +0100
-             From: Laszlo Molnar 
+[  2820] By: gsar                                  on 1999/02/07  10:20:35
+        Log: add draft debugging API implementation
      Branch: perl
-           ! t/lib/filecopy.t
+           + lib/DB.pm
+           ! MANIFEST
 ____________________________________________________________________________
-[   502] By: mbeattie                              on 1998/02/12  16:14:27
-        Log: Assorted patches to sv.c:
-             From: Gisle Aas 
-             Subject: [PATCH] sv_grow can fail for HAS_64K_LIMIT systems
-             Date: 07 Feb 1998 00:21:57 +0100
-             Subject: [PATCH] sv_setnv will upgrade SVt_NV to SVt_PVNV
-             Date: 07 Feb 1998 00:29:45 +0100
-             Subject: [PATCH] sv_upgrade() always returns TRUE
-             Date: 09 Feb 1998 15:44:01 +0100
+[  2819] By: gsar                                  on 1999/02/07  09:58:45
+        Log: avoid garbage in db->dirbuf
+             From: Masahiro KAJIURA 
+             Date: Sat, 05 Dec 1998 14:14:54 +0900
+             Message-Id: <199812050514.OAA23268@toshiba.co.jp>
+             Subject: SDBM bug
      Branch: perl
-           ! sv.c
+           ! ext/SDBM_File/sdbm/sdbm.c
 ____________________________________________________________________________
-[   501] By: mbeattie                              on 1998/02/12  16:09:26
-        Log: Fix saving of STDOUT during system() in lib/perl5db.pl:
-             Subject: Perl debugger.
-             Date: Fri, 6 Feb 1998 17:47:08 -0500
-             From: "Jason A. Smith" 
+[  2818] By: gsar                                  on 1999/02/07  09:32:24
+        Log: missing entry
      Branch: perl
-           ! lib/perl5db.pl
-____________________________________________________________________________
-[   500] By: gsar                                  on 1998/02/12  03:20:55
-        Log: merge another maint patch
-             Message-Id: <199802102349.SAA16001@aatma.engin.umich.edu>
-             Date:    Tue, 10 Feb 1998 18:49:00 EST
-             From:    Gurusamy Sarathy 
-             Subject: Re: after an eval-ed bad require, requiring a string ref gives a SEGV 
-     Branch: win32/perl
-           ! pp_ctl.c
-____________________________________________________________________________
-[   499] By: gsar                                  on 1998/02/12  03:14:39
-        Log: make t/comp/require.t type xtext
-     Branch: win32/perl
-           ! t/comp/require.t
-____________________________________________________________________________
-[   498] By: gsar                                  on 1998/02/12  03:09:58
-        Log: fix extra LEAVE when require fails
-             Message-Id: <199802102321.SAA15346@aatma.engin.umich.edu>
-             Date:    Tue, 10 Feb 1998 18:21:37 EST
-             From:    Gurusamy Sarathy 
-             Subject: Re: evals and requires make seg-fault with bad require file 
-     Branch: win32/perl
-           + t/comp/require.t
-           ! MANIFEST pp_ctl.c scope.c scope.h toke.c
-____________________________________________________________________________
-[   497] By: gsar                                  on 1998/02/12  02:47:29
-        Log: merge a maint patch
-             Message-Id: <199802110515.AAA23700@aatma.engin.umich.edu>
-             Date:    Wed, 11 Feb 1998 00:15:51 EST
-             From:    Gurusamy Sarathy 
-             Subject: Re: "local" can crash perl-4.00[34] on Solaris-x86 & FreeBSD 
-     Branch: win32/perl
-           ! pp_ctl.c t/op/local.t
-____________________________________________________________________________
-[   496] By: mbeattie                              on 1998/02/11  13:04:50
-        Log: Integrate win32 into mainline.
-     Branch: perl
-	  !> embed.h ext/GDBM_File/typemap ext/NDBM_File/typemap
-	  !> ext/ODBM_File/typemap ext/SDBM_File/typemap global.sym gv.c
-	  !> lib/ExtUtils/typemap lib/ExtUtils/xsubpp op.c
-	  !> os2/OS2/PrfDB/typemap pod/perlguts.pod pod/perlobj.pod
-	  !> pod/perlxs.pod pod/perlxstut.pod proto.h sv.c sv.h t/op/ref.t
-          !> win32/makedef.pl win32/win32.c win32/win32iop.h
-____________________________________________________________________________
-[   495] By: mbeattie                              on 1998/02/11  13:03:59
-        Log: Fix special constants in Xref.pm
-     Branch: perlext
-           ! Compiler/B/Xref.pm
-____________________________________________________________________________
-[   494] By: gsar                                  on 1998/02/10  18:26:28
-        Log: fix opendir() problem on share names
-             Message-Id: <199802101828.NAA10420@aatma.engin.umich.edu>
-             Date:    Tue, 10 Feb 1998 13:28:53 EST
-             From:    Gurusamy Sarathy 
-             Subject: Re: BUG: opendir and UNC names on NT 
-     Branch: win32/perl
-           ! win32/win32.c
-____________________________________________________________________________
-[   493] By: gsar                                  on 1998/02/09  23:09:40
-        Log: integrate win32 branch contents
-     Branch: asperl
-	  +> ext/POSIX/hints/linux.pl ext/POSIX/hints/sunos_4.pl
-          +> lib/Fatal.pm t/lib/ph.t
-           ! hv.c
-          !> (integrate 895 files)
-____________________________________________________________________________
-[   492] By: gsar                                  on 1998/02/09  07:30:19
-        Log: enhancements to previous patch for XSUB OUTPUT args
-             Message-Id: <199802090731.CAA04438@aatma.engin.umich.edu>
-             Date:    Mon, 09 Feb 1998 02:31:55 EST
-             From:    Gurusamy Sarathy 
-             Subject: Re: [PATCH] XSUB OUTPUT arguments and 'set' magic 
-     Branch: win32/perl
-	   ! embed.h ext/GDBM_File/typemap ext/NDBM_File/typemap
-	   ! ext/ODBM_File/typemap ext/SDBM_File/typemap global.sym
-	   ! lib/ExtUtils/typemap lib/ExtUtils/xsubpp os2/OS2/PrfDB/typemap
-	   ! pod/perlguts.pod pod/perlxs.pod pod/perlxstut.pod proto.h sv.c
-           ! sv.h
-____________________________________________________________________________
-[   491] By: gsar                                  on 1998/02/09  03:00:52
-        Log: don't share TARG unless -DUSE_BROKEN_PAD_RESET
-             Message-Id: <199710300036.TAA01004@aatma.engin.umich.edu>
-             Date:    Wed, 29 Oct 1997 19:36:25 EST
-             From:    Gurusamy Sarathy 
-             Subject: [PATCH] Don't use broken pad_reset() (was Re: Perl bug in 5.004_03 )
-     Branch: win32/perl
-           ! op.c
-____________________________________________________________________________
-[   490] By: gsar                                  on 1998/02/09  02:30:43
-        Log: fix for bugs in handling DESTROY (adjusted test numbers)
-             Message-Id: <199801010030.TAA14274@aatma.engin.umich.edu>
-             Subject: Re: [PERL] RFD: iterative DESTROYing of objects 
-             Date: Wed, 31 Dec 1997 19:30:46 -0500
-             From: Gurusamy Sarathy 
-     Branch: win32/perl
-           ! pod/perlobj.pod sv.c t/op/ref.t
+           ! MANIFEST
 ____________________________________________________________________________
-[   489] By: gsar                                  on 1998/02/09  00:30:35
-        Log: ansify prototype for my_safemalloc(), avoid warnings
-     Branch: win32/perl
-           ! sv.c
+[  2817] By: gsar                                  on 1999/02/07  09:30:47
+        Log: properly prototype check parenthesized unary ops (e.g. defined(&a,&b))
+     Branch: perl
+           + t/comp/bproto.t
+           ! op.c pod/perldelta.pod pod/perlfunc.pod pod/perlop.pod
 ____________________________________________________________________________
-[   488] By: gsar                                  on 1998/02/09  00:29:08
-        Log: fix misapplied hunks in 5.004_58
-             Message-Id: <199802080718.CAA18115@aatma.engin.umich.edu>
-             Date:    Sun, 08 Feb 1998 02:18:12 EST
-             From:    Gurusamy Sarathy 
-             Subject: [PATCH] fixes for test failures in 5.004_58
-     Branch: win32/perl
-           ! gv.c op.c
+[  2816] By: gsar                                  on 1999/02/06  00:14:29
+        Log: minor bug in dumping blessed subrefs
+     Branch: perl
+           ! ext/Data/Dumper/Dumper.pm
 ____________________________________________________________________________
-[   487] By: gsar                                  on 1998/02/09  00:27:16
-        Log: win32_utime() tweaks to avoid warnings
-     Branch: win32/perl
-           ! win32/win32.c win32/win32iop.h
+[  2812] By: jhi                                   on 1999/02/03  22:02:24
+        Log: Enhance change #2808.
+             
+             From: "M.J.T. Guy" 
+             To: perl5-porters@perl.org
+             Subject: Re: [PATCH 5.00*]: perlbug checklist
+             Date: Wed, 3 Feb 1999 19:02:27 +0000
+             Message-Id: 
+     Branch: cfgperl
+           ! utils/perlbug.PL
 ____________________________________________________________________________
-[   486] By: gsar                                  on 1998/02/07  23:45:22
-        Log: integrate mainline, plus a few small win32 enhancements
-             - remove Win32::GetCurrentDirectory()
-             - add Win32::Sleep() for compat
-             - add smarter utime() from Jan Dubois, and export it as win32_utime()
-     Branch: win32/perl
-	  +> ext/POSIX/hints/linux.pl ext/POSIX/hints/sunos_4.pl
-          +> lib/Fatal.pm t/lib/ph.t
-           ! win32/makedef.pl win32/win32.c win32/win32iop.h
-          !> (integrate 61 files)
-
-----------------
-Version 5.004_58
-----------------
-
+[  2811] By: jhi                                   on 1999/02/03  21:53:23
+        Log: From: Barrie Slaymaker 
+             To: perl5-porters@perl.org
+             CC: pod-people@perl.org
+             Subject: [PATCH]5.005_54 (pod2html) Generate Relative URLs
+             Date: Wed, 03 Feb 1999 10:34:18 -0500
+             Message-ID: <36B86C7A.E99EFFF1@telerama.com>
+             
+             Add File::PathConvert.pm.
+             Fix Pod::Html and installhtml to understand relative urls.
+     Branch: cfgperl
+           + lib/File/PathConvert.pm
+           ! MANIFEST installhtml lib/Pod/Html.pm
 ____________________________________________________________________________
-[   485] By: mbeattie                              on 1998/02/06  18:11:47
-        Log: Bump patchlevel to 58.
-     Branch: perl
-           ! patchlevel.h
+[  2810] By: jhi                                   on 1999/02/03  20:25:10
+        Log: From: Francois Desarmenien 
+             To: Mailing list Perl5 
+             Subject: [PATCH]5.005_54 (hints) SCO 3/5 hint files and SysV correction
+             Date: Wed, 03 Feb 1999 13:13:24 +0000
+             Message-ID: <36B84B74.5EC9B6C8@club-internet.fr>
+             
+             (note: this patch completely overrides Tom Wolfe's patch,
+             change #2604)
+     Branch: cfgperl
+           + ext/GDBM_File/hints/sco.pl
+           ! MANIFEST ext/IPC/SysV/SysV.xs hints/sco.sh
 ____________________________________________________________________________
-[   484] By: mbeattie                              on 1998/02/06  18:08:28
-        Log: Fix up problem with gv.c from change 477.
-             Fix up Config.pm use in t/lib/ph.t from change 478.
-     Branch: perl
-           ! gv.c t/lib/ph.t
+[  2809] By: jhi                                   on 1999/02/03  19:54:16
+        Log: h2ph fixes + Configure patch to support them.
+             
+             From: "Kurt D. Starsinic" 
+             To: Graham Barr , Jarkko Hietaniemi ,
+             Gurusamy Sarathy 
+             Cc: perl5-porters@perl.org
+             Subject: [PATCH 5.00503_MT5] h2ph.PL
+             Date: Tue, 2 Feb 1999 19:48:06 -0500
+             Message-ID: <19990202194806.E10647@O2.chapin.edu>
+     Branch: maint-5.005/perl
+           ! Configure utils/h2ph.PL
 ____________________________________________________________________________
-[   483] By: mbeattie                              on 1998/02/06  17:34:34
-        Log: Integrate win32 branch into mainline
-     Branch: perl
-          !> win32/win32sck.c
+[  2808] By: jhi                                   on 1999/02/03  16:59:55
+        Log: Enhance the perlbug checklist.
+     Branch: cfgperl
+           ! utils/perlbug.PL
 ____________________________________________________________________________
-[   482] By: mbeattie                              on 1998/02/06  17:26:41
-        Log: lib/Fatal.pm missing from repository
-     Branch: perl
-           + lib/Fatal.pm
+[  2807] By: jhi                                   on 1999/02/03  14:01:37
+        Log: Document the standard strftime %formats.
+             
+             From: Dominic Dunlop 
+             To: "Kurt D. Starsinic" , Ben Gertzfield 
+             Subject: [PATCH] 5.00[45]*: Re: POSIX's strftime() does not enforce POSIX %C on Solaris
+             Date: Tue, 2 Feb 1999 15:55:29 +0100
+             Message-Id: 
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.pod
 ____________________________________________________________________________
-[   481] By: mbeattie                              on 1998/02/06  17:24:57
-        Log: Subject: [PATCH] Re: posix::strftime (core dumped)
-             Date: Thu, 5 Feb 1998 13:55:23 -0500 (EST)
-             From: Andy Dougherty 
-     Branch: perl
-           + ext/POSIX/hints/linux.pl ext/POSIX/hints/sunos_4.pl
-           ! MANIFEST hints/linux.sh hints/sunos_4_1.sh t/lib/posix.t
+[  2806] By: jhi                                   on 1999/02/03  13:58:00
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          !> perl.h
 ____________________________________________________________________________
-[   480] By: mbeattie                              on 1998/02/06  17:19:52
-        Log: x2p/str.c was missing from list of changed files in change 466
+[  2805] By: gsar                                  on 1999/02/03  03:32:31
+        Log: PL_uuemap[] init needs help for sizeof()
      Branch: perl
-           ! x2p/str.c
+           ! perl.h
 ____________________________________________________________________________
-[   479] By: mbeattie                              on 1998/02/06  17:16:54
-        Log: Added t/lib/ph.t to MANIFEST
-     Branch: perl
-           ! MANIFEST
+[  2804] By: jhi                                   on 1999/02/02  20:44:30
+        Log: These should've been already in #2803.
+     Branch: cfgperl
+           ! Configure config_h.SH vms/subconfigure.com
 ____________________________________________________________________________
-[   478] By: mbeattie                              on 1998/02/06  17:15:38
-        Log: Subject: [PATCH] h2ph.PL
-             Date: Thu, 5 Feb 1998 05:53:54 -0800 (EST)
-             From: kstar@www.chapin.edu (Kurt D. Starsinic)
-     Branch: perl
-           + t/lib/ph.t
-           ! utils/h2ph.PL
+[  2803] By: jhi                                   on 1999/02/02  20:38:45
+        Log: telldir prototype issue, from mists of time...
+     Branch: cfgperl
+           ! hints/netbsd.sh pp_sys.c
 ____________________________________________________________________________
-[   477] By: mbeattie                              on 1998/02/06  17:10:46
-        Log: Subject: [PATCH] Faster gv_fetchpv() for nested packages
-             Date: 04 Feb 1998 14:49:46 +0100
-             From: Gisle Aas 
-             as modified by
-             From: chip@atlantic.net
-             Date: Wed, 4 Feb 1998 11:46:49 -0500 (EST)
-     Branch: perl
-           ! gv.c
+[  2801] By: jhi                                   on 1999/02/02  17:40:14
+        Log: From: John Bley 
+             To: perlbug@perl.org
+             Subject: [PATCH]5.005_54 (DOC) fix minor typos
+             Date: Tue, 2 Feb 1999 07:52:52 -0500 (EST)
+             Message-ID: 
+     Branch: cfgperl
+           ! pod/perlre.pod
 ____________________________________________________________________________
-[   476] By: mbeattie                              on 1998/02/06  16:47:03
-        Log: From: Jarkko Hietaniemi 
-             Subject: [PATCH] almost OK: perl 5.00457 on i386-freebsd-thread 3.0
-             Date: Wed, 4 Feb 1998 12:59:47 +0200 (EET)
-             Subject: Re: [PATCH] 5.004_04 and 5.004_57: Complex.pm and complex.t 
-             Date: Thu, 5 Feb 1998 18:08:20 +0200 (EET)
-     Branch: perl
-           ! hints/freebsd.sh lib/Math/Complex.pm t/lib/complex.t
+[  2800] By: jhi                                   on 1999/02/02  17:26:49
+        Log: Update todo with POSIX 1003.1 1996 Edition reminder.
+     Branch: cfgperl
+           ! Todo-5.005
 ____________________________________________________________________________
-[   475] By: mbeattie                              on 1998/02/06  16:44:57
-        Log: Subject: [PATCH] nomemok
-             Date: Mon, 2 Feb 1998 15:06:50 +0100
-             From: Gisle Aas 
-     Branch: perl
-           ! hv.c
+[  2799] By: jhi                                   on 1999/02/02  17:18:51
+        Log: Update FindBin from maint-5.005.
+     Branch: cfgperl
+           ! lib/FindBin.pm
 ____________________________________________________________________________
-[   474] By: mbeattie                              on 1998/02/06  16:43:46
-        Log: Subject: [PATCH] Benchmark.pm: timethese corrupts $_
-             Date: Sun, 1 Feb 1998 06:46:08 -0500 (EST)
-             From: abigail@fnx.com
-     Branch: perl
-           ! lib/Benchmark.pm
+[  2798] By: jhi                                   on 1999/02/02  17:16:07
+        Log: Fix typecasts in #2797
+             
+             From: "G. Del Merritt" 
+             Date: Fri, 29 Jan 1999 11:47:25 -0700
+             Message-Id: <199901291847.LAA04828@jhereg.perl.com>
+             Subject: Not OK: perl 5.00503 +MAINT_TRIAL_5 on MSWin32-x86-object 4.0 (PATCH included)
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.xs
 ____________________________________________________________________________
-[   473] By: mbeattie                              on 1998/02/06  16:42:53
-        Log: Subject: [PATCH] adding the newSVpvn API function
-             Date: Sat, 31 Jan 1998 06:32:42 +0100
-             From: Matthias Ulrich Neeracher 
-     Branch: perl
-	   ! embed.h embedvar.h global.sym pod/perlguts.pod pod/perltoc.pod
-           ! proto.h sv.c
+[  2797] By: jhi                                   on 1999/02/02  17:14:37
+        Log: From: Ted Law 
+             Date: Wed, 27 Jan 1999 14:54:03 -0500 (EST)
+             Message-Id: <199901271954.OAA07391@dcm2.cibcwg.com>
+             Subject: POSIX::strftime buffer overflow problem
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.xs
 ____________________________________________________________________________
-[   472] By: mbeattie                              on 1998/02/06  16:35:41
-        Log: Subject: Re: [PATCH] new hints/solaris2.sh (was Re: make check fails 17% of it's tests on Solaris...)
-             Date: 28 Jan 1998 17:40:37 -0800
-             From: Stephen Zander 
-     Branch: perl
-           ! hints/solaris_2.sh
+[  2796] By: jhi                                   on 1999/02/02  17:13:23
+        Log: Do not use File::Slurp.
+     Branch: cfgperl
+           ! t/lib/textfill.t
 ____________________________________________________________________________
-[   471] By: mbeattie                              on 1998/02/06  16:02:57
-        Log: Subject: [PATCH] Re: 5.004_04 vec() fails with 32-bit values
-             Date: Thu, 15 Jan 1998 11:53:06 +0000
-             From: "M.J.T. Guy" 
-     Branch: perl
-           ! pod/perlguts.pod pp.c t/op/vec.t
+[  2795] By: jhi                                   on 1999/02/02  17:11:48
+        Log: perlhist update from maint-5.005.
+     Branch: cfgperl
+           ! pod/perlhist.pod
 ____________________________________________________________________________
-[   470] By: mbeattie                              on 1998/02/06  16:01:36
-        Log: From: Ilya Zakharevich 
-             Subject: 5.004_56: Patch to Tie::Hash and docs
-             Date: Sun, 11 Jan 1998 20:34:05 -0500 (EST)
-             Subject: 5.004_56: Patch to (?{}) quoting + cosmetic
-             Date: Mon, 2 Feb 1998 01:28:46 -0500 (EST)
-     Branch: perl
-	   ! lib/Tie/Hash.pm pod/perlfunc.pod pod/perlre.pod regcomp.c
-           ! t/op/misc.t t/op/pat.t toke.c
+[  2794] By: jhi                                   on 1999/02/02  17:10:33
+        Log: POSIX::redef setv?buf() to IO::Handle:: (by gbarr).
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.pm
 ____________________________________________________________________________
-[   469] By: mbeattie                              on 1998/02/06  15:58:31
-        Log: Subject: Another Array.pm patch
-             Date: Wed, 4 Feb 1998 20:37:03 +0000 (GMT)
-             From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
-     Branch: perl
-           ! lib/Tie/Array.pm
+[  2793] By: jhi                                   on 1999/02/02  17:08:39
+        Log: Missed the html test from change #2787. 
+     Branch: cfgperl
+           ! t/lib/cgi-html.t
 ____________________________________________________________________________
-[   468] By: mbeattie                              on 1998/02/06  15:56:28
-        Log: Subject: documentation patch for 5.004_57
-             Date: Wed, 4 Feb 1998 14:54:13 +0000 (GMT)
-             From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
-     Branch: perl
-           ! lib/Tie/Array.pm
+[  2792] By: jhi                                   on 1999/02/02  17:01:24
+        Log: Update Getopt::Long to 2.19.
+     Branch: cfgperl
+           ! lib/Getopt/Long.pm
 ____________________________________________________________________________
-[   467] By: mbeattie                              on 1998/02/06  15:55:34
-        Log: Subject: 5.004_56: patch for `use Fatal' again
-             Date: Thu, 29 Jan 1998 17:04:28 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-	   ! MANIFEST pod/perldiag.pod pod/perlfunc.pod pod/perlmodlib.pod
-           ! pp.c t/comp/proto.t toke.c
+[  2791] By: jhi                                   on 1999/02/02  16:59:13
+        Log: overload syntax is no longer experimental
+     Branch: cfgperl
+           ! lib/overload.pm
 ____________________________________________________________________________
-[   466] By: mbeattie                              on 1998/02/06  15:53:53
-        Log: Subject: Newer -DLEAKTEST patch
-             Date: Fri, 9 Jan 1998 17:55:09 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-	   ! ext/DB_File/DB_File.xs ext/DynaLoader/dl_next.xs
-	   ! ext/DynaLoader/dl_vms.xs ext/Opcode/Opcode.xs handy.h hv.c
-	   ! perl.c perly.c perly.c.diff perly.fixer pod/perlembed.pod
-	   ! pod/perlguts.pod pod/perlrun.pod pod/perltoc.pod pp_hot.c sv.c
-           ! toke.c util.c vms/perly_c.vms x2p/hash.c
-____________________________________________________________________________
-[   465] By: mbeattie                              on 1998/02/06  15:46:35
-        Log: More Chip patches (tweaked for _5x). The final one mentioned here
-             (@ARGV with -i) actually went in at change 462 but I failed to
-             add it to the change description:
-             Subject: [PATCH] Fix typo: "FORM{,AT}LINE"
-             Date: Sun, 11 Jan 1998 19:37:17 -0500 (EST)
-             Subject: [PATCH] Fix for C<@x = my @y>
-             Date: Sun, 11 Jan 1998 18:12:16 -0500 (EST)
-             Subject: [PATCH] Fix SEGV on C<*glob{SCALAR,ARRAY}>
-             Date: Thu, 5 Feb 1998 21:30:13 -0500 (EST)
-             Subject: [PATCH] Allow last() to mean last
-             Date: Thu, 5 Feb 1998 21:42:57 -0500 (EST)
-             Subject: [PATCH] Consider @ARGV to be plain files if inplace (-i)
-             Date: Wed, 4 Feb 1998 16:04:47 -0500 (EST)
-     Branch: perl
-	   ! op.c perly.c perly.h perly.y sv.c t/op/my.t vms/perly_c.vms
-           ! vms/perly_h.vms
-____________________________________________________________________________
-[   464] By: mbeattie                              on 1998/02/06  15:06:18
-        Log: More Chip patches:
-             Subject: [PATCH] Fix SEGV from combining caller and C
-             Date: Thu, 5 Feb 1998 21:47:50 -0500 (EST)
-             Subject: [PATCH] Fix line numbers after here documents in eval STRING
-             Date: Thu, 5 Feb 1998 21:50:08 -0500 (EST)
-             Subject: [PATCH] Make recursive lexical analysis more robust
-             Date: Thu, 5 Feb 1998 21:57:02 -0500 (EST)
-     Branch: perl
-           ! pp_ctl.c sv.c toke.c
-____________________________________________________________________________
-[   463] By: mbeattie                              on 1998/02/06  15:04:17
-        Log: Some more Chip patches (tweaked to match _5x):
-             Subject: [PATCH] Fix empty BLOCK
-             Date: Wed, 4 Feb 1998 16:52:28 -0500 (EST)
-             Subject: [PATCH] fix (\@@) proto
-             Date: Thu, 5 Feb 1998 10:24:29 -0500 (EST)
-             Subject: [PATCH] Cope with lack of args in Fcntl::AUTOLOAD
-             Date: Thu, 5 Feb 1998 21:26:55 -0500 (EST)
-             Subject: [PATCH] Don't fold string comparison under  C
-             Date: Thu, 5 Feb 1998 21:46:25 -0500 (EST)
-     Branch: perl
-           ! ext/Fcntl/Fcntl.pm op.c t/comp/proto.t toke.c
-____________________________________________________________________________
-[   462] By: mbeattie                              on 1998/02/06  14:56:30
-        Log: Some Chip patches (some tweaked to match _5x source):
-             From: Chip Salzenberg 
-             Subject: [PATCH] local leakage
-             Date: Tue, 3 Feb 1998 09:16:50 -0500 (EST)
-             Subject: [PATCH] NULs in patterns
-             Date: Wed, 4 Feb 1998 01:33:51 -0500 (EST)
-             Subject: [PATCH] Configure on PerlIO
-             Date: Wed, 4 Feb 1998 01:38:43 -0500 (EST)
-             Subject: [PATCH] Avoid core dump on package alias
-             Date: Wed, 4 Feb 1998 15:38:42 -0500 (EST)
-             Subject: [PATCH] Fix name of $Foo::{'Bar::'}
-             Date: Wed, 4 Feb 1998 16:37:51 -0500 (EST)
-     Branch: perl
-	   ! Configure doio.c gv.c op.c pp_ctl.c sv.c t/op/gv.t
-           ! t/op/local.t
-____________________________________________________________________________
-[   461] By: gsar                                  on 1998/02/04  03:34:36
-        Log: support win32_select(0,0,0,msec) (winsock doesn't)
-     Branch: win32/perl
-           ! win32/win32sck.c
+[  2789] By: jhi                                   on 1999/02/02  16:47:50
+        Log: Still doc fixes.
+     Branch: cfgperl
+           ! lib/diagnostics.pm
 ____________________________________________________________________________
-[   460] By: gsar                                  on 1998/02/04  00:44:47
-        Log: bug: win32_select() must StartSockets()
-     Branch: win32/perl
-           ! win32/win32sck.c
-
-----------------
-Version 5.004_57
-----------------
-
+[  2788] By: jhi                                   on 1999/02/02  16:47:07
+        Log: Doc fixes.
+     Branch: cfgperl
+           ! lib/CGI.pm lib/diagnostics.pm
 ____________________________________________________________________________
-[   459] By: mbeattie                              on 1998/02/03  16:00:07
-        Log: Replaced two occurrences of THREADSV(find_thread_sv(...)) (order
-             of execution causes core dump if threadsvp is moved). Replaced
-             lvalue occurrence of AvARRAY(av) with SvPVX(av) (former does cast).
-     Branch: perl
-           ! av.c perl.c
+[  2787] By: jhi                                   on 1999/02/02  16:38:55
+        Log: CGI.pm updated to 2.46 (the CGI docs fixes redone
+             where applicable).
+     Branch: cfgperl
+	   ! eg/cgi/RunMeFirst eg/cgi/caution.xbm
+	   ! eg/cgi/clickable_image.cgi eg/cgi/cookie.cgi eg/cgi/crash.cgi
+	   ! eg/cgi/customize.cgi eg/cgi/diff_upload.cgi
+	   ! eg/cgi/dna.small.gif.uu eg/cgi/file_upload.cgi
+	   ! eg/cgi/frameset.cgi eg/cgi/index.html
+	   ! eg/cgi/internal_links.cgi eg/cgi/javascript.cgi
+	   ! eg/cgi/monty.cgi eg/cgi/multiple_forms.cgi
+	   ! eg/cgi/nph-clock.cgi eg/cgi/nph-multipart.cgi eg/cgi/popup.cgi
+	   ! eg/cgi/save_state.cgi eg/cgi/tryit.cgi eg/cgi/wilogo.gif.uu
+	   ! lib/CGI.pm lib/CGI/Apache.pm lib/CGI/Carp.pm lib/CGI/Cookie.pm
+           ! lib/CGI/Fast.pm lib/CGI/Push.pm lib/CGI/Switch.pm
+____________________________________________________________________________
+[  2786] By: jhi                                   on 1999/02/02  16:17:52
+        Log: Update CPAN to 1.47.
+     Branch: cfgperl
+           ! lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm
 ____________________________________________________________________________
-[   458] By: mbeattie                              on 1998/02/03  14:40:02
-        Log: Fix up MANIFEST.
-     Branch: perl
-           ! MANIFEST
+[  2785] By: jhi                                   on 1999/02/02  16:09:03
+        Log: From: Mark-Jason Dominus 
+             Date: Sat, 16 Jan 1999 17:22:06 -0500
+             Subject: Re: DOC PATCH (5.005_54 perlsub.pod)
+             Message-ID: <19990116222206.3674.qmail@plover.com>
+     Branch: cfgperl
+           ! pod/perlsub.pod
 ____________________________________________________________________________
-[   457] By: mbeattie                              on 1998/02/03  13:50:23
-        Log: Integrate win32 into mainline. My last integration from ansiperl
-             to the mainline was a dismal failure: I did -ay but meant -at.
-             This should fix things now since win32 has already integrated
-             all the necessary changes from ansiperl.
-     Branch: perl
-          !> (integrate 111 files)
+[  2784] By: jhi                                   on 1999/02/02  16:01:31
+        Log: Fix incorrect "used only once" warnings
+             
+             From: Ilya Zakharevich 
+             Date: Fri, 8 Jan 1999 04:37:10 -0500
+             Message-ID: <19990108043710.A14390@monk.mps.ohio-state.edu>
+             Subject: Re: change#965 flakiness
+     Branch: cfgperl
+           ! gv.c
 ____________________________________________________________________________
-[   456] By: gsar                                  on 1998/02/03  04:48:08
-        Log: Fix minor problems with non USE_THREADS build. win32 branch
-             now looks 5.004_57-ready.
-     Branch: win32/perl
-           ! thread.h win32/makedef.pl
+[  2783] By: jhi                                   on 1999/02/02  15:50:38
+        Log: perldelta updates.
+     Branch: cfgperl
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   455] By: gsar                                  on 1998/02/03  03:45:09
-        Log: integrate mainline
-     Branch: win32/perl
-          !> (integrate 887 files)
+[  2782] By: jhi                                   on 1999/02/02  14:28:26
+        Log: Mirror change #2781.
+     Branch: cfgperl
+           ! hints/linux.sh
 ____________________________________________________________________________
-[   454] By: mbeattie                              on 1998/02/02  16:44:24
-        Log: The new dec_osf.sh didn't work so the new glibpth and useshrplib
-             defaults have been commented out for now. 
-     Branch: perl
-           ! hints/dec_osf.sh
+[  2781] By: jhi                                   on 1999/02/02  14:27:01
+        Log: Update the MkLinux note.
+     Branch: maint-5.005/perl
+           ! hints/linux.sh
 ____________________________________________________________________________
-[   453] By: mbeattie                              on 1998/02/02  15:51:39
-        Log: Introduced thr->threadsvp and THREADSV() for faster per-thread
-             variables. Moved threadnum to a per-interpreter variable and
-             made dTHR and lock/unlock of sv_mutex bypass the get/lock unless
-             more than one thread may be running. Minor tweaks to Thread.xs.
-     Branch: perl
-	   ! dosish.h embedvar.h ext/Thread/Thread.xs interp.sym intrpvar.h
-	   ! op.c perl.c perl.h pp.c pp_ctl.c scope.c sv.c thrdvar.h
-           ! thread.h util.c
+[  2780] By: jhi                                   on 1999/02/02  14:10:59
+        Log: Update todo.
+     Branch: cfgperl
+           ! Todo-5.005
 ____________________________________________________________________________
-[   452] By: gsar                                  on 1998/02/02  04:56:50
-        Log: remove totally egregious s/\\dir// in File::Find
-     Branch: win32/perl
-           ! lib/File/Find.pm
+[  2779] By: jhi                                   on 1999/02/02  14:00:25
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+           ! t/lib/textfill.t t/lib/textwrap.t
+          !> (integrate 32 files)
 ____________________________________________________________________________
-[   451] By: gsar                                  on 1998/02/01  22:20:20
-        Log: added AS patch#3
-             Message-Id: <01BD2EF2.53433A40.dougl@ActiveState.com>
-             Date:    Sun, 01 Feb 1998 09:18:13 PST
-             From:    Douglas Lankshear 
-             To:      "'Gurusamy Sarathy'" 
+[  2778] By: jhi                                   on 1999/02/02  13:56:23
+        Log: VMS update, applicable parts of
              
-             Here's an additional diff against //depot/asperl
-             
-             The field name mg_length was changed back to mg_len
-             The function name mg_len was change to mg_length
+             From: Dan Sugalski 
+             To: perl5-porters@perl.org
+             Subject: [PATCH 5.005_03MT3]VMS configure tweak
+             Date: Wed, 20 Jan 1999 12:05:18 -0800
+             Message-Id: <3.0.6.32.19990120120518.00a98470@ous.edu>
              
-             The need for sort_mutex removed thanks to the code derived
-             from Tom Horsley's work.
+             From: Dan Sugalski 
+             To: perlbug@perl.com, vmsperl@perl.org
+             Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on VMSAXP (Patch included, of course)
+             Date: Tue, 26 Jan 1999 14:40:38 -0800
+             Message-Id: <3.0.6.32.19990126144038.02e5d650@ous.edu>
              
-             -- Doug
-     Branch: asperl
-           + XSLock.h
-	   ! ObjXSub.h XSUB.h av.c embedvar.h ext/DynaLoader/dlutils.c
-	   ! globals.c ipstdio.h mg.c mg.h objpp.h perl.c perl.h perlio.h
-	   ! perlvars.h perly.c pp.c pp_ctl.c pp_hot.c proto.h regexec.c
-	   ! scope.c scope.h sv.c toke.c universal.c util.c
-	   ! win32/dl_win32.xs win32/iplio.c win32/ipstdio.c
-           ! win32/perlobj.def win32/runperl.c
-____________________________________________________________________________
-[   450] By: gsar                                  on 1998/01/30  23:43:57
-        Log: various tweaks
-             - add new functions to proto.h
-             - fix up makefile.mk for $(OBJECT)
-     Branch: asperl
-           ! pp_ctl.c proto.h win32/makefile.mk
-____________________________________________________________________________
-[   449] By: gsar                                  on 1998/01/30  21:23:15
-        Log: fix up missing patches from AS patch#2
-     Branch: asperl
-	   ! perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h
-           ! pp_ctl.c proto.h
-____________________________________________________________________________
-[   448] By: gsar                                  on 1998/01/30  18:23:17
-        Log: fix htonlx typo
-     Branch: win32/perl
-           ! perlsock.h
-____________________________________________________________________________
-[   447] By: mbeattie                              on 1998/01/30  16:03:49
-        Log: Fix up MANIFEST to add missing files
-     Branch: perl
-           ! MANIFEST
-____________________________________________________________________________
-[   446] By: mbeattie                              on 1998/01/30  12:34:55
-        Log: Bump patchlevel to 57.
-     Branch: perl
-           ! patchlevel.h
-____________________________________________________________________________
-[   445] By: gsar                                  on 1998/01/30  10:44:38
-        Log: initial merge of latest win32 branch into ASPerl
-     Branch: asperl
-	  +> lib/Tie/Array.pm pod/perlhist.pod t/lib/tie-push.t
-	  +> t/lib/tie-stdarray.t t/lib/tie-stdpush.t t/op/tiearray.t
-          +> win32/bin/perlglob.pl
-          !> (integrate 141 files)
-____________________________________________________________________________
-[   444] By: gsar                                  on 1998/01/30  09:25:58
-        Log: goofed branching, redo asperl branch
-     Branch: asperl
-           ! perl.h
+             From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [PATCH 5.005_03-MAILT_TRIAL_4]VMS test patches
+             Date: Tue, 26 Jan 1999 14:55:29 -0800
+             Message-Id: <3.0.6.32.19990126145529.02f22280@ous.edu>
+     Branch: cfgperl
+           ! vms/ext/Stdio/test.pl vms/subconfigure.com
 ____________________________________________________________________________
-[   443] By: gsar                                  on 1998/01/30  09:23:36
-        Log: added AS patch#2
-     Branch: asperl
-	   + ObjXSub.h ipdir.h ipenv.h iplio.h ipmem.h ipproc.h ipsock.h
-	   + ipstdio.h objpp.h win32/ipdir.c win32/ipenv.c win32/iplio.c
-	   + win32/ipmem.c win32/ipproc.c win32/ipsock.c win32/ipstdio.c
-           + win32/ipstdiowin.h win32/perlobj.def
-	   ! EXTERN.h XSUB.h cv.h doio.c dosish.h dump.c embedvar.h
-	   ! globals.c gv.c hv.c intrpvar.h malloc.c mg.c mg.h op.c op.h
-	   ! opcode.h perl.c perl.h perldir.h perlenv.h perlio.h perllio.h
-	   ! perlmem.h perlproc.h perlsock.h perlvars.h perly.c pp.c pp.h
-	   ! pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c regcomp.h
-	   ! regexec.c run.c scope.c scope.h sv.c sv.h thread.h toke.c
-	   ! universal.c util.c vms/vms.c win32/Makefile win32/config_H.bc
-	   ! win32/config_H.vc win32/dl_win32.xs win32/include/sys/socket.h
-           ! win32/makedef.pl win32/runperl.c win32/win32iop.h
-____________________________________________________________________________
-[   441] By: gsar                                  on 1998/01/30  08:54:19
-        Log: Created new branch from win32@396, added AS patch#1
-     Branch: asperl
-	   + doio.c malloc.c perl.c perl.h perldir.h perlenv.h perllio.h
-	   + perlmem.h perlproc.h perlsock.h pp.c pp_hot.c pp_sys.c
-           + regcomp.c scope.h sv.c toke.c util.c
-          +> (branch 915 files)
-____________________________________________________________________________
-[   440] By: gsar                                  on 1998/01/30  04:43:23
-        Log: integrate winansi
-     Branch: win32/perl
-          +> pod/perlhist.pod
-	  !> MANIFEST av.c hv.c op.c perlsock.h pp_ctl.c pp_sys.c scope.c
-          !> util.c
+[  2777] By: jhi                                   on 1999/02/02  13:43:24
+        Log: Synch usethreads parts from maint-5.005.
+     Branch: cfgperl
+	   ! hints/aix.sh hints/dec_osf.sh hints/dos_djgpp.sh
+	   ! hints/freebsd.sh hints/hpux.sh hints/irix_4.sh hints/irix_5.sh
+	   ! hints/irix_6.sh hints/irix_6_0.sh hints/irix_6_1.sh
+           ! hints/linux.sh hints/os2.sh hints/solaris_2.sh hints/vmesa.sh
 ____________________________________________________________________________
-[   439] By: mbeattie                              on 1998/01/27  15:31:53
-        Log: Integrate ansi branch into mainline (resolve -ay).
-     Branch: perl
-	  +> lib/Tie/Array.pm perldir.h perlenv.h perllio.h perlmem.h
-	  +> perlproc.h perlsock.h pod/perlhist.pod t/lib/tie-push.t
-	  +> t/lib/tie-stdarray.t t/lib/tie-stdpush.t t/op/tiearray.t
-          +> win32/bin/perlglob.pl
-           ! op.c
-          !> (integrate 868 files)
+[  2776] By: jhi                                   on 1999/02/02  13:17:16
+        Log: Jumbo FreeBSD update from Anton Berezin 
+     Branch: cfgperl
+           ! Makefile.SH hints/freebsd.sh
 ____________________________________________________________________________
-[   438] By: nick                                  on 1998/01/24  12:02:34
-        Log: Gisle's av_unshift tweak, two small patches from chip
-             and check for NULL in hv_delete in case '~' and tie magic
-             are present
-     Branch: ansiperl
-           ! av.c hv.c op.c pp_ctl.c scope.c
-____________________________________________________________________________
-[   437] By: nick                                  on 1998/01/24  10:37:56
-        Log: Get PerlXxx_yyyy() macro stuff to _compile_ on Solaris.                   
-             Ugh! ...
-             Macros were unsuitable for declaring the functions, extra () round
-             parameters removed - non-function forms of PerlXxx_yyyy() need to 
-             add () themselves.
-             Need to include perlmem.h in util.c (at least) if not using Perl's malloc.
-     Branch: ansiperl
-           ! perlsock.h pp_sys.c util.c
+[  2774] By: jhi                                   on 1999/02/02  13:10:39
+        Log: Add perlthrtut, update pod/* machinery.
+             (a pod/Makefile.SH is sorely needed)
+     Branch: cfgperl
+           + pod/perlthrtut.pod
+           ! MANIFEST pod/Makefile pod/perl.pod pod/roffitall
 ____________________________________________________________________________
-[   436] By: nick                                  on 1998/01/24  10:03:03
-        Log: Integrate win32 into ansiperl
-     Branch: ansiperl
-	  +> perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h
-          +> win32/bin/perlglob.pl
-          !> (integrate 38 files)
+[  2773] By: jhi                                   on 1999/02/02  12:54:24
+        Log: From: "M.J.T. Guy" 
+             To: perl5-porters@perl.org
+             Subject: Re: [PATCH] perl5.005_03-MAINT_TRIAL_3: clarify Sv[INU]V versus Sv[INU]VX in perlguts
+             Date: Tue, 26 Jan 1999 22:25:07 +0000
+             Message-Id: 
+     Branch: cfgperl
+           ! pod/perlguts.pod
 ____________________________________________________________________________
-[   435] By: nick                                  on 1998/01/24  09:47:49
-        Log: Add perlhist.pod
-     Branch: ansiperl
-           + pod/perlhist.pod
-           ! MANIFEST
+[  2771] By: jhi                                   on 1999/02/02  12:47:34
+        Log: Use perlbug instead of personal email address.
+     Branch: cfgperl
+           ! Configure
 ____________________________________________________________________________
-[   434] By: gsar                                  on 1998/01/19  05:01:47
-        Log: s/PerlENV/PerlEnv/ just to be consistent
-     Branch: win32/perl
-           ! malloc.c perl.c perlenv.h regcomp.c toke.c util.c
-____________________________________________________________________________
-[   433] By: gsar                                  on 1998/01/19  04:52:18
-        Log: foo() -> PerlGroup_foo() patch from ActiveState
-     Branch: win32/perl
-           + perldir.h perlenv.h perllio.h perlmem.h perlproc.h perlsock.h
-	   ! doio.c malloc.c perl.c perl.h pp.c pp_hot.c pp_sys.c regcomp.c
-           ! scope.h sv.c toke.c util.c
-____________________________________________________________________________
-[   432] By: gsar                                  on 1998/01/19  04:42:26
-        Log: integrate mainline
-     Branch: win32/perl
-          !> pod/perlfunc.pod
-____________________________________________________________________________
-[   431] By: gsar                                  on 1998/01/19  04:40:04
-        Log: integrate changes in winansi
-     Branch: win32/perl
-	  +> lib/Tie/Array.pm t/lib/tie-push.t t/lib/tie-stdarray.t
-          +> t/lib/tie-stdpush.t t/op/tiearray.t
-          !> (integrate 98 files)
-____________________________________________________________________________
-[   430] By: gsar                                  on 1998/01/19  04:10:43
-        Log: Fix autovivification problems with XSUB OUTPUT args
-             Message-Id: <199801190409.XAA26710@aatma.engin.umich.edu>
-             Date:    Sun, 18 Jan 1998 23:09:07 EST
-             From:    Gurusamy Sarathy 
-             Subject: [PATCH] XSUB OUTPUT arguments and 'set' magic
-     Branch: win32/perl
-	   ! ext/GDBM_File/typemap ext/NDBM_File/typemap
-	   ! ext/ODBM_File/typemap ext/SDBM_File/typemap
-	   ! lib/ExtUtils/typemap os2/OS2/PrfDB/typemap pod/perlguts.pod
-           ! pod/perlxs.pod pod/perlxstut.pod sv.c sv.h win32/win32.h
-____________________________________________________________________________
-[   429] By: nick                                  on 1998/01/17  21:01:50
-        Log: Subject: [PATCH] 5.004_56 threaded and "CONFIG key 'exe_ext' does not exist in Config.pm"
-             Date: Thu, 25 Dec 1997 13:39:15 -0500
-             From: Spider Boardman 
-             To: perl5-porters@perl.org
+[  2770] By: jhi                                   on 1999/02/02  12:42:06
+        Log: Miniperl fails to build (pp_sys.c was changed and iperlsys.h wasn't)
              
-             It turns out that the potential for the "CONFIG key 'exe_ext'
-             does not exist in Config.pm" problem has been around for a while,
-             in the definition of SvTRUE().  It's just that non-gcc compilers
-             are more or less being built as CRIPPLED_CC when USE_THREADS is
-             defined (even if they can inline things).  The inline macro for
-             SvTRUE works with tied hashes and the EXISTS method, and the
-             functional version (sv_true in 5.004_56, or SvTRUE in 5.004_04)
-             does not, because it adds an excess mg_get() which replaces the
-             EXISTS result with a FETCH result.
-     Branch: ansiperl
-           ! sv.c
+             From: "G. Del Merritt" 
+             To: perlbug@perl.com
+             Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on MSWin32-x86-object (PATCHES included)
+             Date: Tue, 26 Jan 1999 12:09:09 -0700
+             Message-Id: <199901261909.MAA25525@jhereg.perl.com>
+     Branch: cfgperl
+           ! iperlsys.h
 ____________________________________________________________________________
-[   428] By: nick                                  on 1998/01/17  20:59:11
-        Log: From: Robin Barker 
-             Date: Fri, 19 Dec 97 17:19:09 GMT
-             Message-Id: <26260.9712191719@lightning.cise.npl.co.uk>
-     Branch: ansiperl
-           ! doio.c sv.c toke.c util.c
+[  2769] By: jhi                                   on 1999/02/02  12:37:57
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_*] OS/2 threads
+             Date: Tue, 26 Jan 1999 13:39:46 -0500
+             Message-ID: <19990126133946.A11594@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! os2/os2ish.h
 ____________________________________________________________________________
-[   427] By: nick                                  on 1998/01/17  12:01:53
-        Log: Permit tie ?foo,$object 
-             tidy up dead #ifdef ORIGINAL_TIE)
-             Remove 'P' magic from hash, before adding new one in dbm_open like tie does.
-     Branch: ansiperl
-           ! pp_sys.c
+[  2768] By: jhi                                   on 1999/02/02  12:36:16
+        Log: Apply change #2711 from maint-5.005:
+             
+             make ok", "make okfile", and "make nok" were broken
+             with -Duseshrplib, because of a shared typo.
+             
+             From: Spider Boardman 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED)
+             Date: Wed, 27 Jan 1999 12:27:15 -0500
+             Message-Id: <199901271727.MAA233455@web.zk3.dec.com>
+     Branch: cfgperl
+           ! Makefile.SH
 ____________________________________________________________________________
-[   426] By: nick                                  on 1998/01/15  18:06:36
-        Log: First working TIEARRAY and other misc tie fixes
-     Branch: ansiperl
-           ! MANIFEST pp.c pp_hot.c t/op/tiearray.t
+[  2766] By: jhi                                   on 1999/02/02  12:27:08
+        Log: Make Configure use "int main()" instead of bare "main()".
+             Like maint-5.005 change #2703 but now via metaconfig.
+     Branch: cfgperl
+           ! Configure
 ____________________________________________________________________________
-[   425] By: nick                                  on 1998/01/14  21:56:40
-        Log: Not working yet - split problems ...
-     Branch: ansiperl
-           ! pp.c t/lib/thread.t t/op/tiearray.t
+[  2765] By: jhi                                   on 1999/02/02  11:59:30
+        Log: Undo part of change #2562.
+     Branch: cfgperl
+           ! Configure
 ____________________________________________________________________________
-[   424] By: nick                                  on 1998/01/14  18:49:25
-        Log: TIEARRAY updates - almost works ...
-     Branch: ansiperl
-           + t/lib/tie-push.t t/lib/tie-stdarray.t t/lib/tie-stdpush.t
-	   ! MANIFEST av.c av.h ext/DB_File/DB_File.pm lib/Tie/Array.pm
-	   ! mg.c pod/perltie.pod pp.c pp_hot.c pp_sys.c scope.c
-           ! t/op/avhv.t t/op/push.t t/op/tiearray.t
-____________________________________________________________________________
-[   423] By: gsar                                  on 1998/01/14  00:13:16
-        Log: fix MakeMaker installbin problem
-             Message-Id: <199801070016.TAA17766@aatma.engin.umich.edu>
-             Subject: Re: can't modify message with HTML-Stream, v.1.42 
-             Date: Tue, 06 Jan 1998 19:16:35 -0500
-             From: Gurusamy Sarathy 
-     Branch: win32/perl
-           ! lib/ExtUtils/MM_Unix.pm
+[  2764] By: jhi                                   on 1999/02/02  11:52:39
+        Log: NetBSD synch with maint-5.005.
+     Branch: cfgperl
+           ! Makefile.SH hints/netbsd.sh makedepend.SH unixish.h
 ____________________________________________________________________________
-[   422] By: gsar                                  on 1998/01/13  23:53:02
-        Log: add archname to *sitearch in config.{b,g,v}c
-     Branch: win32/perl
-           ! win32/config.bc win32/config.gc win32/config.vc
+[  2763] By: jhi                                   on 1999/02/02  11:44:07
+        Log: $Config{installusrbinperl}
+             (maint-5.005 changes #2614 and #2709)
+     Branch: cfgperl
+           ! Configure installperl
 ____________________________________________________________________________
-[   421] By: gsar                                  on 1998/01/13  23:15:14
-        Log: set $ENV{PERL5LIB} in t/harness (so child perlglob.bat sees it)
-     Branch: win32/perl
-           ! t/harness
+[  2762] By: jhi                                   on 1999/02/02  11:29:13
+        Log: Errno update from maint-5.005 (changes #2583, #2710).
+     Branch: cfgperl
+           ! Configure ext/Errno/Errno_pm.PL
 ____________________________________________________________________________
-[   420] By: nick                                  on 1998/01/13  22:55:02
-        Log: tiearray tweaks
-     Branch: ansiperl
-           ! av.c pp_sys.c t/op/nothread.t t/op/tiearray.t
+[  2759] By: jhi                                   on 1999/02/02  10:53:20
+        Log: Update Trig.pm from maint-5.005.
+     Branch: cfgperl
+           ! lib/Math/Trig.pm
 ____________________________________________________________________________
-[   419] By: nick                                  on 1998/01/13  21:27:33
-        Log: Skeleton Tie::Array
-     Branch: ansiperl
-           + lib/Tie/Array.pm
+[  2757] By: jhi                                   on 1999/02/02  10:41:26
+        Log: MPE/iX update (mirror maint-5.005 change #2715)
+     Branch: cfgperl
+           ! hints/mpeix.sh mpeix/relink
 ____________________________________________________________________________
-[   418] By: nick                                  on 1998/01/13  20:52:38
-        Log: tie array changes to core and tests
-     Branch: ansiperl
-           + t/op/tiearray.t
-	   ! MANIFEST av.c av.h deb.c embed.h ext/DB_File/DB_File.pm
-	   ! global.sym gv.c mg.c op.c perl.c perl.h pp.c pp.h pp_ctl.c
-           ! pp_hot.c proto.h sv.c toke.c universal.c util.c
-____________________________________________________________________________
-[   417] By: gsar                                  on 1998/01/13  20:49:52
-        Log: fix perlglob.bat warnings by splitting it from File::DosGlob
-     Branch: win32/perl
-           + win32/bin/perlglob.pl
-	   ! MANIFEST README.win32 lib/File/DosGlob.pm win32/Makefile
-           ! win32/makefile.mk
+[  2756] By: jhi                                   on 1999/02/02  10:38:08
+        Log: BeOS update (Mirror maint-5.005 change #2727).
+     Branch: cfgperl
+           + ext/DynaLoader/dl_beos.xs
+	   ! Configure MANIFEST Makefile.SH README.beos hints/beos.sh
+           ! lib/ExtUtils/MM_Unix.pm
 ____________________________________________________________________________
-[   416] By: gsar                                  on 1998/01/13  02:46:53
-        Log: various tweaks to build support (NOTE: meant for 5.004_57)
-             - build and install x2p
-             - fix installperl warnings on win32
-             - `make install` now does puts the archlibs in right places
-             - makefiles don't default to USE_THREADS anymore
-             - sync config.{b,g,v}c
-             - sync makefile.mk -> Makefile
-     Branch: win32/perl
-	   ! installperl win32/Makefile win32/config.bc win32/config.gc
-	   ! win32/config.vc win32/config_sh.PL win32/makefile.mk x2p/a2p.h
-           ! x2p/a2py.c
-____________________________________________________________________________
-[   415] By: nick                                  on 1998/01/11  16:54:26
-        Log: Integrate win32 into ansiperl
-     Branch: ansiperl
-	  !> Configure hints/dec_osf.sh hv.c lib/Getopt/Long.pm lib/blib.pm
-	  !> lib/newgetopt.pl perl.h perl_exp.SH pp_ctl.c pp_hot.c pp_sys.c
-	  !> proto.h regcomp.h regexec.c t/op/re_tests t/pragma/locale.t
-	  !> utils/perldoc.PL vms/config.vms vms/descrip.mms
-	  !> vms/gen_shrfls.pl vms/genconfig.pl vms/perly_c.vms vms/vms.c
-          !> vms/vmsish.h x2p/s2p.PL
-____________________________________________________________________________
-[   414] By: nick                                  on 1998/01/11  15:13:49
-        Log: Integratye mainline -> ansiperl
-     Branch: ansiperl
-          !> (integrate 64 files)
+[  2754] By: gsar                                  on 1999/02/02  08:52:13
+        Log: Todo updates from Andy Dougherty 
+     Branch: perl
+           ! Porting/pumpkin.pod Todo Todo-5.005
 ____________________________________________________________________________
-[   413] By: mbeattie                              on 1998/01/09  12:57:58
-        Log: Add missing blank line in pod/perlfunc.pod.
+[  2753] By: gsar                                  on 1999/02/02  08:46:21
+        Log: Todo tweaks
      Branch: perl
-           ! pod/perlfunc.pod
+           ! Todo Todo-5.005
 ____________________________________________________________________________
-[   412] By: gsar                                  on 1998/01/08  20:54:31
-        Log: change#398 breaks ENV_IS_CASELESS, fix it
-     Branch: win32/perl
-           ! hv.c
+[  2752] By: jhi                                   on 1999/02/01  22:15:12
+        Log: Add perlthrtut.pod.
+             
+             From: Dan Sugalski 
+             To: perl5-porters@perl.org
+             Subject: perlthrtut.pod
+             Date: Mon, 01 Feb 1999 10:57:11 -0800
+             Message-Id: <3.0.6.32.19990201105711.02e62540@ous.edu>
+     Branch: maint-5.005/perl
+           + pod/perlthrtut.pod
+	   ! MANIFEST pod/Makefile pod/buildtoc pod/perldelta.pod
+           ! pod/roffitall
 ____________________________________________________________________________
-[   411] By: gsar                                  on 1998/01/08  18:33:58
-        Log: Integrate mainline
-     Branch: win32/perl
-	  !> Configure hints/dec_osf.sh hv.c lib/Getopt/Long.pm lib/blib.pm
-	  !> lib/newgetopt.pl perl.h perl_exp.SH pp_ctl.c pp_hot.c pp_sys.c
-	  !> proto.h regcomp.h regexec.c t/op/re_tests t/pragma/locale.t
-	  !> utils/perldoc.PL vms/config.vms vms/descrip.mms
-	  !> vms/gen_shrfls.pl vms/genconfig.pl vms/perly_c.vms vms/vms.c
-          !> vms/vmsish.h x2p/s2p.PL
-____________________________________________________________________________
-[   410] By: mbeattie                              on 1998/01/08  16:06:22
-        Log: Fix thinko in t/pragma/locale.t:
-             Subject: [PATCH] _04 or _56: locale.t
-             Date: Sun, 4 Jan 1998 23:48:44 +0200 (EET)
-             From: Jarkko Hietaniemi 
+[  2751] By: gsar                                  on 1999/02/01  07:28:05
+        Log: devnull() support from Jan Dubois  and others
      Branch: perl
-           ! t/pragma/locale.t
+	   ! lib/File/Spec/OS2.pm lib/File/Spec/Unix.pm
+           ! lib/File/Spec/VMS.pm lib/File/Spec/Win32.pm
 ____________________________________________________________________________
-[   409] By: mbeattie                              on 1998/01/08  16:05:09
-        Log: Use Tom Horley's qsort for sorting:
-             Subject: Re: [PATCH for 5.004_56] Re: op/sort.t hangs under Solaris 2.5
-             Date: Fri, 02 Jan 1998 19:33:24 -0500 (EST)
-             From: Hans Mulder 
+[  2750] By: gsar                                  on 1999/02/01  07:09:20
+        Log: From: Ilya Zakharevich 
+             Date: Fri, 4 Dec 1998 01:02:03 -0500 (EST)
+             Message-Id: <199812040602.BAA07215@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_53] Debugging REx with lookbehind
      Branch: perl
-           ! pp_ctl.c
+           ! regexec.c
 ____________________________________________________________________________
-[   408] By: mbeattie                              on 1998/01/08  16:01:57
-        Log: Make s2p not use cpp:
-             Subject: [PATCH for 5.004_56] s2p shouldn't use cpp
-             Date: Mon, 29 Dec 1997 19:38:18 -0500 (EST)
-             From: Hans Mulder 
+[  2749] By: gsar                                  on 1999/02/01  07:07:59
+        Log: From: Ilya Zakharevich 
+             Date: Fri, 4 Dec 1998 00:05:41 -0500 (EST)
+             Message-Id: <199812040505.AAA16616@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.005_53] Speed up .*? and half-fix UTF lookbehind
      Branch: perl
-           ! x2p/s2p.PL
+           ! regexec.c
 ____________________________________________________________________________
-[   407] By: mbeattie                              on 1998/01/08  15:57:31
-        Log: DG/UX tweaks to perl.h:
-             Subject: [PATCH] _56 on dgux without threads
-             Date: Sat, 20 Dec 1997 23:01:40 -0500
-             From: Roderick Schertler 
+[  2748] By: gsar                                  on 1999/02/01  06:47:06
+        Log: From: "Jonathan I. Kamens" 
+             Date: Thu, 3 Dec 1998 15:10:17 -0500
+             Message-Id: <199812032010.PAA09692@jik.shore.net>
+             Subject: sample checksum code in "perlfunc" man page is wrong
      Branch: perl
-           ! perl.h
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   406] By: mbeattie                              on 1998/01/08  15:56:02
-        Log: Configure and hints/dec_osf.sh changes for Digital UNIX:
-             Subject: [PATCH] perl5.004_56 NOT OK on alpha-dec_osf-thread (Digital UNIX X5.0-13)
-             Date: Sat, 20 Dec 1997 02:30:01 -0500
-             From: Spider Boardman 
+[  2747] By: gsar                                  on 1999/02/01  06:35:13
+        Log: typos in Pod/Text.pm
+             From: "Greg Chapman" 
+             Date: Tue, 1 Dec 1998 10:50:18 -0800
+             Message-Id: <199812011849.KAA08816@smtp.well.com>
+             Subject: Glitch in Pod::Text
      Branch: perl
-           ! Configure hints/dec_osf.sh
+           ! lib/Pod/Text.pm
 ____________________________________________________________________________
-[   405] By: mbeattie                              on 1998/01/08  15:53:40
-        Log: Missing "" in Configure echo for gethbadd_addr_type.
+[  2746] By: gsar                                  on 1999/02/01  06:27:35
+        Log: various win32-ish changes merged from maint-5.005
      Branch: perl
-           ! Configure
+	   ! README.win32 embedvar.h globvar.sym lib/ExtUtils/MM_Unix.pm
+	   ! objXSUB.h op.c perl.h perlvars.h pp.c sv.c t/io/fs.t toke.c
+	   ! win32/Makefile win32/config.bc win32/config.vc
+	   ! win32/config_sh.PL win32/makefile.mk win32/runperl.c
+           ! win32/win32.c
 ____________________________________________________________________________
-[   404] By: mbeattie                              on 1998/01/08  13:04:48
-        Log: print/printf/... over-eager mg_find for glob magic:
-             Subject: [PATCH] fix inefficient checks for TIEHANDLE
-             Date: Wed, 07 Jan 1998 20:06:05 -0500
-             From: Gurusamy Sarathy 
+[  2745] By: gsar                                  on 1999/02/01  04:51:54
+        Log: integrate cfgperl changes into mainline
      Branch: perl
-           ! pp_hot.c pp_sys.c
+          !> INSTALL hints/aix.sh lib/Time/Local.pm pod/perldelta.pod
 ____________________________________________________________________________
-[   403] By: mbeattie                              on 1998/01/08  12:56:31
-        Log: Assorted VMS patches (mostly VMS makefile update for new headers):
-             Subject: [PATCH] VMS update for 5.004_56
-             Date: Sat, 03 Jan 1998 03:54:29 -0500 (EST)
-             From: Charles Bailey 
+[  2744] By: gsar                                  on 1999/02/01  04:31:09
+        Log: improved diagnostic on syntax errors at EOL
      Branch: perl
-	   ! lib/blib.pm proto.h regcomp.h vms/config.vms vms/descrip.mms
-	   ! vms/gen_shrfls.pl vms/genconfig.pl vms/perly_c.vms vms/vms.c
-           ! vms/vmsish.h
+           ! toke.c
 ____________________________________________________________________________
-[   402] By: mbeattie                              on 1998/01/08  12:46:15
-        Log: Fix utils/perldoc.PL for dos-djgpp:
-             Subject: 5.004_56: perldoc.PL dos-djgpp patches
-             Date: Tue, 6 Jan 1998 18:14:59 +0100
-             From: Molnar Laszlo 
+[  2743] By: gsar                                  on 1999/02/01  03:59:13
+        Log: don't attempt connect() to bogus IP addresses
+             From:    Graham Barr 
+             Date:    Sun, 31 Jan 1999 21:50:45 CST
+             Message-Id: <19990131215045.A633@pobox.com>
      Branch: perl
-           ! utils/perldoc.PL
+           ! t/lib/io_multihomed.t
 ____________________________________________________________________________
-[   401] By: mbeattie                              on 1998/01/08  12:40:14
-        Log: Version 2.13 of GetoptLong:
-             Subject: Re: ANNOUNCE: perl 5.004_56 is available
-             Date: 06 Jan 1998 16:21:45 +0100
-             From: JVromans@Squirrel.nl (Johan Vromans)
+[  2742] By: gsar                                  on 1999/02/01  03:08:58
+        Log: update Changes
      Branch: perl
-           ! lib/Getopt/Long.pm lib/newgetopt.pl
+           ! Changes pod/perldelta.pod
 ____________________________________________________________________________
-[   400] By: mbeattie                              on 1998/01/08  12:28:08
-        Log: Fix variable export and threading configuration for AIX:
-             Subject: [PATCH] 5.004_56: AIX 4.1.5.0: sans et avec threads
-             Date: Tue, 23 Dec 1997 15:39:12 +0200 (EET)
-             From: Jarkko Hietaniemi 
-     Branch: perl
-           ! Configure perl_exp.SH
+[  2740] By: gsar                                  on 1999/02/01  02:43:07
+        Log: CAPI inheritance tweak and doc
+     Branch: maint-5.005/perl
+           ! lib/ExtUtils/MakeMaker.pm
 ____________________________________________________________________________
-[   399] By: mbeattie                              on 1998/01/08  12:25:38
-        Log: Regexp fix: (?>a+)b  doesn't match  aaab:
-             Subject: Re: Regexp [PATCH] 5.004_56 (?>...)
-             Date: Fri, 19 Dec 1997 16:02:50 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           ! regexec.c t/op/re_tests
+[  2739] By: jhi                                   on 1999/01/31  18:31:54
+        Log: Undo changes #2730 and #2731 and replace them
+             with an extensively tested patch from
+             Anton Berezin  (via private email).
+     Branch: maint-5.005/perl
+           ! Makefile.SH hints/freebsd.sh
 ____________________________________________________________________________
-[   398] By: mbeattie                              on 1998/01/08  12:23:41
-        Log: Fix hv_delete for 'm'-magic. Based on following patch, modified
-             to cope with ENV_IS_CASELESS:
-             Subject: [perl5.004_56] [PATCH] hv_delete and 'm' magic
-             Date: Fri, 19 Dec 1997 11:31:36 -0500
-             From: Owen Taylor 
-     Branch: perl
-           ! hv.c
+[  2738] By: gsar                                  on 1999/01/31  05:04:32
+        Log: fix bogus CAPI inheritance from change#2541
+     Branch: maint-5.005/perl
+           ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  2731] By: jhi                                   on 1999/01/29  14:33:12
+        Log: FreeBSD version numbers can be like "2.2.8-release".
+     Branch: maint-5.005/perl
+           ! hints/freebsd.sh
+____________________________________________________________________________
+[  2730] By: jhi                                   on 1999/01/29  12:40:38
+        Log: FreeBSD hints iteration (hopefully convergent).
+             usethreads: require at least FreeBSD 2.2.8.
+             signal type: mirror change #2429 in cfgperl.
+     Branch: maint-5.005/perl
+           ! hints/freebsd.sh
+____________________________________________________________________________
+[  2727] By: gbarr                                 on 1999/01/29  04:09:57
+        Log: From: Tom Spindler 
+             Date: Thu, 28 Jan 1999 17:15:11 -0800
+             Message-ID: <19990128171510.A11778@isi.net>
+             Subject: [PATCH] BeOS dynamic loading support for perl5.005_03_MT4
+     Branch: maint-5.005/perl
+           + ext/DynaLoader/dl_beos.xs
+	   ! Configure MANIFEST Makefile.SH README.beos hints/beos.sh
+           ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[  2726] By: gbarr                                 on 1999/01/29  03:30:51
+        Log: Remove use of File::Slurp in t/lib/textfill.t
+     Branch: maint-5.005/perl
+           ! t/lib/textfill.t
+____________________________________________________________________________
+[  2725] By: gbarr                                 on 1999/01/29  03:11:41
+        Log: From: Gurusamy Sarathy 
+             Date: Wed, 27 Jan 1999 23:14:33 -0800
+             Message-Id: <199901280714.XAA10176@activestate.com>
+             Subject: Re: NOT OK: "@INC contains: ." after make install - MAINT_TRIAL_4 - 5.005_03 maintenance trial 4 MSWin32-x86-object
+     Branch: maint-5.005/perl
+           ! win32/Makefile win32/makefile.mk
 ____________________________________________________________________________
-[   397] By: mbeattie                              on 1998/01/08  12:10:29
-        Log: Integrate win32 branch into mainline.
+[  2720] By: gsar                                  on 1999/01/27  21:54:42
+        Log: missing space while munging CCFLAGS for PERL_CAPI
      Branch: perl
-          !> (integrate 41 files)
-____________________________________________________________________________
-[   396] By: gsar                                  on 1998/01/07  19:12:27
-        Log: tweak case-insensitive ENV implementation
-     Branch: win32/perl
-           ! hv.c
-____________________________________________________________________________
-[   395] By: nick                                  on 1998/01/07  18:40:55
-        Log: Integrate win32 branch
-     Branch: ansiperl
-          !> (integrate 31 files)
-____________________________________________________________________________
-[   394] By: gsar                                  on 1998/01/05  19:17:40
-        Log: Allow $ENV{PERL5SHELL} to contain switches etc., and document
-             the fact
-     Branch: win32/perl
-           ! pod/perlrun.pod win32/win32.c
-____________________________________________________________________________
-[   393] By: gsar                                  on 1998/01/05  05:43:33
-        Log: Support case-tolerant %ENV
-             - underlying system calls see the case-as-supplied by user
-             - added tests to verify addition/deletion/enumeration case-tolerance
-             - hv.c touched, but changes are fully conditional on -DENV_IS_CASELESS,
-             which is default on win32 now
-     Branch: win32/perl
-           ! hv.c t/op/magic.t win32/win32.h
-____________________________________________________________________________
-[   392] By: gsar                                  on 1998/01/04  17:55:19
-        Log: Add a tweaked version of:
-             Message-Id: <199801040630.AA29298@metronet.com>
-             Date:    Sun, 04 Jan 1998 00:30:57 CST
-             From:    Tye McQueen 
-             Subject: New patch for $^E==GetLastError() under Win32
-     Branch: win32/perl
-	   ! doio.c lib/dumpvar.pl lib/perl5db.pl mg.c perl.h
-	   ! pod/perlfunc.pod pod/perlvar.pod util.c win32/makedef.pl
-           ! win32/win32.c win32/win32.h
-____________________________________________________________________________
-[   391] By: gsar                                  on 1998/01/04  07:59:44
-        Log: Various win32 fixes
-             - support spawn via system(&P_NOWAIT,...) like OS2
-             - support wait() and waitpid()
-             - s/GetCurrentDirectory/GetCwd/, long-named XS to be removed
-             - support -lfoo properly in ExtUtils::Liblist
-             - fix outdated info about Win32 support in perlfaq2
-             - fix win32 bug in perldoc that causes spurious warnings
-             - regularize global function/variable names yet more
-             - fix bug in do_aspawn() (it was always invoking shell, instead of
-             almost never)
-             - implement and export win32_wait()
-             - stub version of USE_RTL_THREAD_API
-     Branch: win32/perl
-	   ! README.win32 dosish.h lib/Cwd.pm lib/ExtUtils/Liblist.pm
-	   ! pod/perlfaq2.pod pp_sys.c util.c utils/perldoc.PL
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-	   ! win32/config_h.PL win32/perllib.c win32/win32.c win32/win32.h
-	   ! win32/win32iop.h win32/win32sck.c win32/win32thread.c
-           ! win32/win32thread.h
-____________________________________________________________________________
-[   390] By: gsar                                  on 1997/12/30  21:00:28
-        Log: Fix $ENV{Path} in FindBin.pm
-     Branch: win32/perl
-           ! lib/FindBin.pm
+           ! lib/ExtUtils/MM_Unix.pm
 ____________________________________________________________________________
-[   389] By: nick                                  on 1997/12/29  10:33:23
-        Log: Resolve ansiperl against win32
-     Branch: ansiperl
-          !> (integrate 105 files)
+[  2718] By: jhi                                   on 1999/01/27  19:46:04
+        Log: io/fs.t fails test #18 (sense of tests appears to have been
+             changed incompletely; this patch just skips the test attached,
+             a la test #17 preceding it).
+             
+             From: "G. Del Merritt" 
+             To: perlbug@perl.com
+             Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on MSWin32-x86-object (PATCHES included)
+             Date: Tue, 26 Jan 1999 12:09:09 -0700
+             Message-Id: <199901261909.MAA25525@jhereg.perl.com>
+     Branch: maint-5.005/perl
+           ! t/io/fs.t
 ____________________________________________________________________________
-[   388] By: gsar                                  on 1997/12/24  04:59:28
-        Log: make $? Unix (and ActiveWare) compatible
-     Branch: win32/perl
-           ! README.win32 win32/win32.c
+[  2717] By: jhi                                   on 1999/01/27  19:44:46
+        Log: Miniperl fails to build (pp_sys.c was changed and iperlsys.h wasn't)
+             
+             From: "G. Del Merritt" 
+             To: perlbug@perl.com
+             Subject: NOT OK: perl 5.00503 +MAINT_TRIAL_4 on MSWin32-x86-object (PATCHES included)
+             Date: Tue, 26 Jan 1999 12:09:09 -0700
+             Message-Id: <199901261909.MAA25525@jhereg.perl.com>
+     Branch: maint-5.005/perl
+           ! iperlsys.h
 ____________________________________________________________________________
-[   387] By: gsar                                  on 1997/12/24  04:21:30
-        Log: support ioctl() on sockets (does what ioctlsocket() does) to make
-             non-blocking IO on sockets possible
-     Branch: win32/perl
-	   ! README.win32 dosish.h win32/makedef.pl win32/win32.c
-           ! win32/win32iop.h win32/win32sck.c
+[  2715] By: jhi                                   on 1999/01/27  19:34:28
+        Log: From: Mark Bixby 
+             To: perl5-porters@perl.org
+             Subject: [PATCH perl5.005_03-MAINT_TRIAL_4] MPE port tweaks
+             Date: Tue, 26 Jan 1999 16:32:18 -0800 (PST)
+             Message-Id: <199901270032.QAA13395@spock.dis.cccd.edu>
+     Branch: maint-5.005/perl
+           ! hints/mpeix.sh mpeix/relink
 ____________________________________________________________________________
-[   386] By: gsar                                  on 1997/12/24  03:10:55
-        Log: support getlogin()
-     Branch: win32/perl
-	   ! README.win32 win32/config.bc win32/config.gc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
-           ! win32/win32.c win32/win32.h
+[  2710] By: jhi                                   on 1999/01/27  19:22:23
+        Log: Errno fixes:
+             
+             From: Spider Boardman 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED)
+             Date: Wed, 27 Jan 1999 12:27:15 -0500
+             Message-Id: <199901271727.MAA233455@web.zk3.dec.com>
+             
+             From: Spider Boardman 
+             To: perlbug@perl.com
+             Subject: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED)
+             Date: Wed, 27 Jan 1999 13:31:16 -0500
+             Message-Id: <199901271831.NAA241001@web.zk3.dec.com>
+     Branch: maint-5.005/perl
+           ! Configure ext/Errno/Errno_pm.PL
 ____________________________________________________________________________
-[   385] By: gsar                                  on 1997/12/24  02:24:59
-        Log: add support for crypt() via user-supplied des_fcrypt() source or library.
-             Update README.win32.
-     Branch: win32/perl
-	   ! README.win32 perl.h win32/Makefile win32/makedef.pl
-	   ! win32/makefile.mk win32/win32.c win32/win32.h win32/win32iop.h
+[  2709] By: jhi                                   on 1999/01/27  19:17:35
+        Log: Fix Configure installusrbinperl:
+             
+             From: Spider Boardman 
+             To: jhi@iki.fi
+             cc: perl5-porters@perl.org
+             Subject: Re: Not OK: perl 5.00503 +MAINT_TRIAL_4 on alpha-dec_osf-thread 5.0 (UNINSTALLED)
+             Date: Wed, 27 Jan 1999 13:03:35 -0500
+             Message-Id: <199901271803.NAA238257@web.zk3.dec.com>
+     Branch: maint-5.005/perl
+           ! Configure
 ____________________________________________________________________________
-[   384] By: gsar                                  on 1997/12/24  02:22:42
-        Log: tweak op.c to avoid warning
-     Branch: win32/perl
-           ! op.c
+[  2707] By: gbarr                                 on 1999/01/26  02:06:17
+        Log: Add redef IO::Handle::* for setv?buf()
+     Branch: maint-5.005/perl
+           ! ext/POSIX/POSIX.pm
 ____________________________________________________________________________
-[   383] By: gsar                                  on 1997/12/23  21:12:42
-        Log: Trivial bugfix#3 from local repository
-             Message-Id: <199712061100.GAA14864@aatma.engin.umich.edu>
-             Subject: Re: Assigning result of pop scrambles unrelated reference 
-             Date: Sat, 06 Dec 1997 06:00:45 -0500
-             From: Gurusamy Sarathy 
-     Branch: win32/perl
-           ! sv.c
+[  2705] By: jhi                                   on 1999/01/24  15:14:30
+        Log: Mention year-1900 and month 0..11.
+     Branch: cfgperl
+           ! lib/Time/Local.pm
 ____________________________________________________________________________
-[   382] By: gsar                                  on 1997/12/23  21:09:32
-        Log: Trivial bugfix#2 from local repository
-             Message-Id: <199712061025.FAA14396@aatma.engin.umich.edu>
-             Subject: Re: eval of sub gives spurious "uninitialised" warning 
-             Date: Sat, 06 Dec 1997 05:25:07 -0500
-             From: Gurusamy Sarathy 
-     Branch: win32/perl
-           ! op.c pod/perldelta.pod pod/perlfunc.pod t/op/eval.t
-____________________________________________________________________________
-[   381] By: gsar                                  on 1997/12/23  21:01:04
-        Log: Trivial bugfix#1 from local repository
-             Message-Id: <199711282326.SAA15090@aatma.engin.umich.edu>
-             Subject: [PATCH] Re: [5.004_04 BUG] bless broke scoping? 
-             Date: Fri, 28 Nov 1997 18:26:52 -0500
-             From: Gurusamy Sarathy 
-     Branch: win32/perl
-           ! scope.c
+[  2704] By: jhi                                   on 1999/01/24  15:13:36
+        Log: Document Configure -Uinstallusrbinperl.
+     Branch: cfgperl
+           ! INSTALL pod/perldelta.pod
 ____________________________________________________________________________
-[   380] By: gsar                                  on 1997/12/18  15:10:23
-        Log: Integrate mainline
-     Branch: win32/perl
-	  +> README.dos djgpp/config.over djgpp/configure.bat djgpp/djgpp.c
-	  +> djgpp/djgppsed.sh djgpp/fixpmain hints/dos_djgpp.sh
-          +> os2/os2.sym os2/os2thread.h
-          !> (integrate 77 files)
-
-----------------
-Version 5.004_56
-----------------
-
+[  2698] By: jhi                                   on 1999/01/24  12:46:00
+        Log: Use only xlc_r for usethreads.
+     Branch: cfgperl
+           ! hints/aix.sh
 ____________________________________________________________________________
-[   379] By: mbeattie                              on 1997/12/18  13:28:35
-        Log: Integrate ansi @364,@366 into mainline.
+[  2695] By: gsar                                  on 1999/01/24  07:09:05
+        Log: integrate cfgperl changes into mainline
      Branch: perl
-          !> lib/ExtUtils/MakeMaker.pm miniperlmain.c perl.h
+          +> lib/Exporter/Heavy.pm
+          !> (integrate 65 files)
 ____________________________________________________________________________
-[   378] By: mbeattie                              on 1997/12/18  13:20:15
-        Log: Add a few missing files to MANIFEST
+[  2694] By: gsar                                  on 1999/01/24  01:28:49
+        Log: better notes on 'make' on win32
      Branch: perl
-           ! MANIFEST
+           ! README.win32
 ____________________________________________________________________________
-[   377] By: mbeattie                              on 1997/12/18  13:00:16
-        Log: Bump patchlevel to 56.
-     Branch: perl
-           ! patchlevel.h
+[  2683] By: jhi                                   on 1999/01/22  15:41:00
+        Log: More de-cut-and-pastos.
+     Branch: cfgperl
+           ! hints/irix_6.sh hints/os2.sh
 ____________________________________________________________________________
-[   376] By: nick                                  on 1997/12/18  01:32:12
-        Log: Resolve against mainline
-     Branch: ansiperl
-	  +> README.dos djgpp/config.over djgpp/configure.bat djgpp/djgpp.c
-	  +> djgpp/djgppsed.sh djgpp/fixpmain hints/dos_djgpp.sh
-          +> os2/os2.sym os2/os2thread.h
-          !> (integrate 74 files)
+[  2682] By: jhi                                   on 1999/01/22  15:30:51
+        Log: usethreads.cbu cut-and-pasto.
+     Branch: cfgperl
+           ! hints/solaris_2.sh
 ____________________________________________________________________________
-[   375] By: nick                                  on 1997/12/18  01:06:15
-        Log: Resolve against Win32
-     Branch: ansiperl
-	  !> Configure README.threads config_h.SH doop.c embed.h
-	  !> ext/DynaLoader/dl_aix.xs global.sym hints/aix.sh
-	  !> hints/irix_6.sh op.c op.h perl.h perlvars.h pp_hot.c pp_sys.c
-          !> sv.c sv.h thread.h util.c
-____________________________________________________________________________
-[   374] By: mbeattie                              on 1997/12/17  14:44:26
-        Log: Lots of VMS changes. vms/gen_shrfls.pl (which parses header files)
-             needs rewriting now that we use perlvars.h and foovar.h:
-             Subject: [PATCH] 5.004_54 under VMS (fwd)
-             Date: Wed, 26 Nov 1997 12:32:09 -0400 (EDT)
-             From: Charles Bailey 
-     Branch: perl
-	   ! dosish.h handy.h intrpvar.h os2/os2ish.h perl.c perl.h
-	   ! plan9/plan9ish.h pp.c proto.h sv.c t/lib/thread.t
-	   ! t/lib/timelocal.t t/op/nothread.t taint.c thrdvar.h toke.c
-	   ! unixish.h vms/config.vms vms/descrip.mms vms/fndvers.com
-	   ! vms/gen_shrfls.pl vms/genconfig.pl vms/perly_c.vms
-           ! vms/test.com vms/vms.c vms/vms_yfix.pl vms/vmsish.h
-____________________________________________________________________________
-[   373] By: mbeattie                              on 1997/12/17  14:10:50
-        Log: Major changes to the DOS/djgpp port (including threading):
-             Subject: Re: dos-djgpp port not in perl 5.004_54
-             Date: Fri, 21 Nov 1997 10:58:26 +0100
-             From: Molnar Laszlo 
-     Branch: perl
-	   + README.dos djgpp/config.over djgpp/configure.bat djgpp/djgpp.c
-           + djgpp/djgppsed.sh djgpp/fixpmain hints/dos_djgpp.sh
-	   ! Configure MANIFEST Makefile.SH doio.c dosish.h
-	   ! ext/POSIX/POSIX.xs installhtml installperl lib/AutoSplit.pm
-	   ! lib/Cwd.pm lib/ExtUtils/Install.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/ExtUtils/Manifest.pm lib/File/Basename.pm lib/File/Find.pm
-	   ! lib/File/Path.pm lib/FindBin.pm lib/Pod/Html.pm
-	   ! lib/Pod/Text.pm lib/Term/Cap.pm lib/perl5db.pl makedepend.SH
-	   ! mg.c perl.c pod/pod2man.PL pp_hot.c t/io/fs.t t/lib/anydbm.t
-	   ! t/lib/filehand.t t/lib/gdbm.t t/lib/io_sel.t t/lib/io_tell.t
-	   ! t/lib/sdbm.t t/lib/thread.t t/op/magic.t t/op/stat.t
-           ! t/op/sysio.t t/op/taint.t utils/perldoc.PL
-____________________________________________________________________________
-[   372] By: mbeattie                              on 1997/12/17  13:18:34
-        Log: Upgrade DB_File to 1.56:
-             Subject: DB_File-1.56 for _55
-             Date: Tue, 16 Dec 1997 22:25:29 +0000 (GMT)
-             From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
-     Branch: perl
-	   ! Configure ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
-           ! ext/DB_File/Makefile.PL ext/DB_File/typemap t/lib/db-btree.t
-____________________________________________________________________________
-[   371] By: mbeattie                              on 1997/12/17  12:02:03
-        Log: Threading patches for OS/2 (missing files taken from previous patch):
-             Subject: Re: 5.004_55: OS/2 patches again
-             Date: Sat, 13 Dec 1997 18:09:15 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           + os2/os2.sym os2/os2thread.h
-	   ! MANIFEST hints/os2.sh os2/Changes os2/Makefile.SHs
-	   ! os2/OS2/PrfDB/PrfDB.xs os2/OS2/REXX/REXX.xs os2/os2.c
-           ! os2/os2ish.h perl.h
+[  2681] By: jhi                                   on 1999/01/22  14:54:55
+        Log: Better (I hope) LANGUAGE documentation.
+     Branch: cfgperl
+           ! pod/perllocale.pod
 ____________________________________________________________________________
-[   370] By: mbeattie                              on 1997/12/17  11:01:34
-        Log: Add OS2 to list for DONT_DECLARE_STD in perl.h:
-             Subject: Re: 5.004_55: OS/2 patches again
-             Date: Sat, 13 Dec 1997 18:05:55 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           ! perl.h
+[  2680] By: jhi                                   on 1999/01/22  09:20:29
+        Log: From: Dan Sugalski 
+             To: perl5-porters@perl.org
+             Subject: [PATCH 5.005_03MT3]VMS configure tweak
+             Date: Wed, 20 Jan 1999 12:05:18 -0800
+             Message-Id: <3.0.6.32.19990120120518.00a98470@ous.edu>
+     Branch: cfgperl
+           ! vms/subconfigure.com
 ____________________________________________________________________________
-[   369] By: mbeattie                              on 1997/12/17  10:59:40
-        Log: Fix typo in compiler B/C.pm.
-     Branch: perlext
-           ! Compiler/B/C.pm
+[  2679] By: jhi                                   on 1999/01/22  09:13:18
+        Log: nosuid getmntent() branch.
+     Branch: cfgperl
+           ! perl.c perl.h
 ____________________________________________________________________________
-[   368] By: mbeattie                              on 1997/12/17  10:58:35
-        Log: Allow "perldoc -F filename":
-             Subject: 5.004_55: Patch to perldoc
-             Date: Thu, 11 Dec 1997 19:37:00 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           ! utils/perldoc.PL
+[  2678] By: jhi                                   on 1999/01/22  08:54:19
+        Log: nosuid patch continued: *BSD needs .
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   367] By: mbeattie                              on 1997/12/17  10:54:47
-        Log: Fix not-reached warning for pp_threadsv.
-     Branch: perl
-           ! pp.c
+[  2676] By: gbarr                                 on 1999/01/22  01:54:02
+        Log: Fixup FindBin to use File::Spec
+             
+             Message-Id: <19990120185157.D24479@west-tip.transeda.com>
+             Date: Wed, 20 Jan 1999 18:51:57 +0000
+             From: Paul Johnson 
+             Subject: Re: [PATCH] 5005_54 Make FindBin work with UNC paths
+     Branch: maint-5.005/perl
+           ! lib/FindBin.pm
 ____________________________________________________________________________
-[   366] By: nick                                  on 1997/12/14  16:06:24
-        Log: Fix typo in Ilya's patch :-(
-     Branch: ansiperl
-           ! lib/ExtUtils/MakeMaker.pm
+[  2671] By: gbarr                                 on 1999/01/22  00:40:13
+        Log: Fix win32 for Borland compiler and spaces in paths
+             
+             From: Gurusamy Sarathy 
+             Date: Mon, 18 Jan 1999 20:33:17 -0800
+             Message-Id: <199901190433.UAA03656@activestate.com>
+             Subject: [PATCH] 5.005_03-trial3 win32 issues
+     Branch: maint-5.005/perl
+	   ! README.win32 win32/Makefile win32/config_sh.PL
+           ! win32/makefile.mk win32/runperl.c
 ____________________________________________________________________________
-[   365] By: nick                                  on 1997/12/14  15:30:25
-        Log: #undef new PERLVARIC macro in appropriate places
-     Branch: ansiperl
-           ! miniperlmain.c perl.h
+[  2670] By: jhi                                   on 1999/01/21  16:12:38
+        Log: From: Hugo van der Sanden 
+             To: perl5-porters@perl.org
+             Subject: Re: [PATCH 5.005_54] Evalled substitution parsing
+             Date: Thu, 21 Jan 1999 12:08:01 +0000
+             Message-Id: <199901211208.MAA01228@crypt.compulink.co.uk>
+     Branch: cfgperl
+           ! pod/perldiag.pod t/op/subst.t toke.c
 ____________________________________________________________________________
-[   364] By: nick                                  on 1997/12/14  15:04:36
-        Log: Ilya's MakeMaker (empty makefile) patch
-     Branch: ansiperl
-           ! lib/ExtUtils/MakeMaker.pm
+[  2669] By: jhi                                   on 1999/01/21  16:11:46
+        Log: To: perl5-porters@perl.org
+             Subject: [PATCH 5.005_54] hints/freebsd.sh - reflect the birth of version 4.0
+             From: Anton Berezin 
+             Date: 21 Jan 1999 17:07:28 +0100
+             Message-ID: <86emood2yn.fsf@lion.plab.ku.dk>
+     Branch: cfgperl
+           ! hints/freebsd.sh
 ____________________________________________________________________________
-[   363] By: gsar                                  on 1997/12/13  05:57:13
-        Log: Integrate mainline.  Builds and passes (Borland).
-     Branch: win32/perl
-	  !> Configure README.threads config_h.SH doop.c embed.h
-	  !> ext/DynaLoader/dl_aix.xs global.sym hints/aix.sh
-	  !> hints/irix_6.sh op.c op.h perl.h perlvars.h pp_hot.c pp_sys.c
-          !> sv.c sv.h thread.h util.c
+[  2668] By: jhi                                   on 1999/01/21  15:38:34
+        Log: Add Daniel Grisinger .
+     Branch: cfgperl
+           ! AUTHORS MAINTAIN
 ____________________________________________________________________________
-[   362] By: nick                                  on 1997/12/13  02:53:03
-        Log: Resolve ansiperl against mainline
-     Branch: ansiperl
-          !> (integrate 92 files)
+[  2667] By: jhi                                   on 1999/01/21  15:32:28
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_53] Lean Exporter.pm
+             Date: Thu, 21 Jan 1999 03:25:23 -0500
+             Message-ID: <19990121032523.A25704@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           + lib/Exporter/Heavy.pm
+           ! MANIFEST lib/Exporter.pm
 ____________________________________________________________________________
-[   361] By: mbeattie                              on 1997/12/12  16:20:38
-        Log: pp_print and pp_prtf handling of tied file handles used EXTEND
-             instead of MEXTEND leading to core dumps. This fix needs
-             propagating back to the maintenance branch.
-     Branch: perl
-           ! pp_hot.c pp_sys.c
+[  2666] By: jhi                                   on 1999/01/21  15:24:10
+        Log: From: "W. Phillip Moore" 
+             To: Graham Barr , perlbug@perl.org
+             Subject: Re: [PATCH] File::Path 1.04 bug (all perl5 core versions)
+             Date: Tue, 19 Jan 1999 11:39:11 -0500 (EST)
+             Message-ID: <13988.46383.298992.97303@zappa>
+     Branch: cfgperl
+           ! lib/File/Path.pm
 ____________________________________________________________________________
-[   360] By: mbeattie                              on 1997/12/11  15:45:56
-        Log: Add missing patch to op.c that didn't come across with win32 merge.
-     Branch: perl
-           ! op.c
+[  2665] By: jhi                                   on 1999/01/21  15:20:48
+        Log: CPAN update (CPAN-1.44_54) from Andreas and
+             jumbo doc patch from Abigail.
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL 3 lib/AutoLoader.pm]  Typos
+             Date: Tue, 19 Jan 1999 19:14:10 -0500 (EST)
+             Message-ID: <19990120001410.19645.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/CGI.pm] Typos
+             Date: Tue, 19 Jan 1999 19:32:42 -0500 (EST)
+             Message-ID: <19990120003242.19938.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/CPAN.pm] Typos
+             Date: Tue, 19 Jan 1999 19:40:41 -0500 (EST)
+             Message-ID: <19990120004041.20052.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/Carp.pm] Typo
+             Date: Tue, 19 Jan 1999 19:43:12 -0500 (EST)
+             Message-ID: <19990120004312.20152.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/Cwd.pm] Typo
+             Date: Tue, 19 Jan 1999 19:44:29 -0500 (EST)
+             Message-ID: <19990120004429.20190.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/Safe.pm] Typo
+             Date: Tue, 19 Jan 1999 19:52:41 -0500 (EST)
+             Message-ID: <19990120005241.20693.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/SelfLoader.pm] Typos
+             Date: Tue, 19 Jan 1999 19:55:25 -0500 (EST)
+             Message-ID: <19990120005525.20788.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/Symbol.pm] Typo
+             Date: Tue, 19 Jan 1999 19:58:21 -0500 (EST)
+             Message-ID: <19990120005821.20926.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/Test.pm] Typo
+             Date: Tue, 19 Jan 1999 20:00:02 -0500 (EST)
+             Message-ID: <19990120010002.20973.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/ops.pm] Typo
+             Date: Tue, 19 Jan 1999 20:39:09 -0500 (EST)
+             Message-ID: <19990120013909.23085.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/diagnostics.pm] Typos  (ignore previous patch for this file...)
+             Date: Tue, 19 Jan 1999 20:38:23 -0500 (EST)
+             Message-ID: <19990120013823.23015.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/overload.pm] Typos
+             Date: Tue, 19 Jan 1999 20:58:16 -0500 (EST)
+             Message-ID: <19990120015817.24306.qmail@alexandra.wayne.fnx.com>
+             
+             From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_03 TRIAL3 lib/re.pm] Typos
+             Date: Tue, 19 Jan 1999 21:03:26 -0500 (EST)
+             Message-ID: <19990120020326.24373.qmail@alexandra.wayne.fnx.com>
+     Branch: cfgperl
+	   ! ext/Opcode/Safe.pm ext/Opcode/ops.pm lib/AutoLoader.pm
+	   ! lib/CGI.pm lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm
+	   ! lib/Carp.pm lib/Cwd.pm lib/SelfLoader.pm lib/Symbol.pm
+           ! lib/Test.pm lib/diagnostics.pm lib/fields.pm lib/overload.pm
 ____________________________________________________________________________
-[   359] By: mbeattie                              on 1997/12/11  11:54:41
-        Log: Stop tr/// from writing to target when only counting.
-     Branch: perl
-           ! doop.c op.c op.h
+[  2664] By: jhi                                   on 1999/01/21  14:47:43
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_*] OS2::PrfDB was exploiting a bug in U32 XSUBs
+             Date: Thu, 21 Jan 1999 03:58:29 -0500
+             Message-ID: <19990121035829.A25822@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! os2/Changes os2/OS2/PrfDB/PrfDB.xs
 ____________________________________________________________________________
-[   358] By: mbeattie                              on 1997/12/10  18:36:26
-        Log: Fix char*/unsigned char* clashes in util.c:fbm_instr and remove
-             a few extraneous trailing semicolons in perlvars.h.
-     Branch: perl
-           ! perlvars.h util.c
+[  2663] By: jhi                                   on 1999/01/21  14:43:58
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_*] Errno.pm suffers from \\ too
+             Date: Thu, 21 Jan 1999 02:46:34 -0500
+             Message-ID: <19990121024634.A25600@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! ext/Errno/Errno_pm.PL
 ____________________________________________________________________________
-[   357] By: mbeattie                              on 1997/12/10  18:33:53
-        Log: Start overhauling compiler. It was working at least minimally
-             right up until the final tweak of B.xs to add threadsv_names
-             at which point building it provokes a seg fault in perl while
-             doing the xsubpp :-(.
-     Branch: perl
-           ! op.h util.c
-     Branch: perlext
-	   ! Compiler/B.pm Compiler/B.xs Compiler/B/Asmdata.pm
-	   ! Compiler/B/C.pm Compiler/B/CC.pm Compiler/Makefile.PL
-	   ! Compiler/bytecode.pl Compiler/byteperl.c Compiler/byterun.c
-	   ! Compiler/byterun.h Compiler/cc_harness Compiler/cc_runtime.h
-	   ! Compiler/ccop.c Compiler/ccop.h Compiler/test_harness
-           ! Compiler/test_harness_cc
+[  2662] By: jhi                                   on 1999/01/21  14:42:42
+        Log: From: Daniel Grisinger 
+             To: Francois Desarmenien 
+             Cc: Gurusamy Sarathy ,
+             Mailing list Perl5 , bugmongers@perl.org
+             Subject: [PATCH] patching.pod, misc fixes (was Re: Which ? What ? Why ? When ?)
+             Date: 21 Jan 1999 00:17:35 -0700
+             Message-ID: 
+     Branch: cfgperl
+           ! Porting/patching.pod
 ____________________________________________________________________________
-[   356] By: mbeattie                              on 1997/12/10  13:43:32
-        Log: Fix perl_os_thread typedef for pthreads. Tweak SvTAINT so that
-             sv_setfoo functions go back to not needing dTHR. Fix Configure
-             to check for already-existing -thread on archname and to check
-             better for d_pthread_created_joinable.
-     Branch: perl
-           ! Configure perl.h sv.c sv.h thread.h
+[  2661] By: jhi                                   on 1999/01/21  14:41:13
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.00*] makedepend
+             Date: Thu, 21 Jan 1999 02:08:27 -0500
+             Message-ID: <19990121020827.A25509@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! makedepend.SH
 ____________________________________________________________________________
-[   355] By: mbeattie                              on 1997/12/10  10:53:58
-        Log: Minor fix/speedup to util.c:fbm_instr:
-             Subject: 5.004_55: Minor regexp patch
-             Date: Fri, 5 Dec 1997 05:09:54 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           ! util.c
+[  2660] By: jhi                                   on 1999/01/21  14:36:45
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_53] Pipes and 2>&1 on OS/2
+             Date: Tue, 19 Jan 1999 20:06:45 -0500
+             Message-ID: <19990119200645.A21154@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! os2/Changes os2/os2.c
 ____________________________________________________________________________
-[   354] By: mbeattie                              on 1997/12/10  10:41:25
-        Log: Patches for IRIX, AIX and some generic stuff:
-             Subject: [PATCH] _55: Mostly AIX stuff but also IRIX and generic
-             Date: Sat, 29 Nov 1997 08:35:30 -0800 (PST)
-             From: Jarkko Hietaniemi 
-             (checked/ignored a few rejects; tweaked wording).
-     Branch: perl
-	   ! Configure README.threads config_h.SH embed.h
-	   ! ext/DynaLoader/dl_aix.xs global.sym hints/aix.sh
-           ! hints/irix_6.sh
+[  2657] By: jhi                                   on 1999/01/21  11:40:35
+        Log: From: "Vishal Bhatia" 
+             To: perl5-porters@perl.org
+             Subject: [PATCH 5.005_54]pp_mapstart & pp_grepstart return val (CC.pm)
+             Date: Mon, 18 Jan 1999 01:32:31 PST
+             Message-ID: <19990118093231.18443.qmail@hotmail.com>
+     Branch: cfgperl
+           ! ext/B/B/CC.pm
 ____________________________________________________________________________
-[   353] By: mbeattie                              on 1997/12/10  10:10:19
-        Log: Integrate win32 back into mainline (trivial).
-     Branch: perl
-	  +> embedvar.h intrpvar.h perlvars.h thrdvar.h win32/config.gc
-          +> win32/config_H.gc
-          !> (integrate 36 files)
+[  2656] By: jhi                                   on 1999/01/21  11:35:34
+        Log: From: Achim Bohnet 
+             Subject: [PATCH] Not OK: perl 5.00503 +MAINT_TRIAL_3 on alpha-dec_osf 4.0 (UNINSTALLED) 
+             Date: Wed, 20 Jan 1999 20:25:53 +0100
+             Message-Id: <199901201925.UAA16940@o06.xray.mpe.mpg.de>
+     Branch: cfgperl
+           ! pp.c
 ____________________________________________________________________________
-[   352] By: nick                                  on 1997/12/09  17:36:45
-        Log: Resolve win32 - Sarathy's tweak.
-     Branch: ansiperl
-          !> win32/makedef.pl
+[  2655] By: jhi                                   on 1999/01/21  10:46:01
+        Log: Handle NIS (and NetInfo) more robustly.
+     Branch: cfgperl
+           ! t/op/grent.t t/op/pwent.t
 ____________________________________________________________________________
-[   351] By: gsar                                  on 1997/12/08  06:13:04
-        Log: re-add PERLVARI?C? change that somehow went missing in makedef.pl
-     Branch: win32/perl
-           ! win32/makedef.pl
+[  2654] By: jhi                                   on 1999/01/21  10:17:20
+        Log: Two-argument eaccess() of SCO.
+     Branch: cfgperl
+           ! pp_sys.c
 ____________________________________________________________________________
-[   350] By: nick                                  on 1997/12/05  00:56:03
-        Log: Resolve ansiperl against win32
-     Branch: ansiperl
-           - win32/makegcc.mk
-	  !> embed.h embed.pl embedvar.h global.sym miniperlmain.c perl.h
-	  !> perlvars.h win32/Makefile win32/config.gc win32/makedef.pl
-          !> win32/makefile.mk win32/perllib.c win32/win32.h
-____________________________________________________________________________
-[   349] By: gsar                                  on 1997/12/02  07:28:23
-        Log: Revert to keeping (some) constant strings as globals
-     Branch: win32/perl
-	   ! embed.h embed.pl embedvar.h global.sym miniperlmain.c perl.h
-           ! perlvars.h win32/makedef.pl win32/perllib.c
-____________________________________________________________________________
-[   348] By: gsar                                  on 1997/12/02  05:38:06
-        Log: makegcc.mk merged into makefile.mk, so makegcc.mk is gone.
-             Other minor fixes.  Now is a good time to get the changes in win32 branch.
-     Branch: win32/perl
-           - win32/makegcc.mk
-	   ! win32/Makefile win32/config.gc win32/makefile.mk win32/win32.h
-____________________________________________________________________________
-[   347] By: gsar                                  on 1997/12/02  03:32:55
-        Log: Integrate winansi again.  Result builds and passes all tests on all
-             three compilers.
-     Branch: win32/perl
-	  !> lib/ExtUtils/MM_Win32.pm win32/config.gc win32/makefile.mk
-          !> win32/makegcc.mk win32/win32.h
-____________________________________________________________________________
-[   346] By: gsar                                  on 1997/12/02  03:28:23
-        Log: various hacks to get mingw32 to build.  Sync Makefile with makefile.mk.
-             makegcc.mk to be merged into makefile.mk soon.
-     Branch: win32/perl
-	   ! lib/ExtUtils/MM_Win32.pm win32/Makefile win32/config.gc
-	   ! win32/makedef.pl win32/makefile.mk win32/makegcc.mk
-           ! win32/win32.h
+[  2653] By: jhi                                   on 1999/01/21  08:53:14
+        Log: -DNO_NOSUID_CHECK for those platforms which have no way
+             of checking for nosuid but still want suidperl.
+     Branch: cfgperl
+           ! perl.c
 ____________________________________________________________________________
-[   345] By: nick                                  on 1997/12/02  01:57:17
-        Log: Add a 4th step (yes FOUR) to dll build process for gcc.
-             Now runs again...
-     Branch: ansiperl
-           ! lib/ExtUtils/MM_Win32.pm
+[  2652] By: jhi                                   on 1999/01/21  08:22:50
+        Log: The LANGUAGE mirrors LC_ALL usage.
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   344] By: nick                                  on 1997/12/02  01:11:16
-        Log: Sarathy's patch 
-     Branch: ansiperl
-	   ! lib/ExtUtils/MM_Win32.pm win32/config.gc win32/makefile.mk
-           ! win32/makegcc.mk win32/win32.h
-____________________________________________________________________________
-[   343] By: gsar                                  on 1997/12/01  04:37:06
-        Log: Reverse integrate to get all of Nick's changes over at winansi (win32/perl/*
-             is identical to ansiperl/* now)
-     Branch: win32/perl
-          +> embedvar.h intrpvar.h perlvars.h thrdvar.h
-          !> (integrate 34 files)
+[  2651] By: jhi                                   on 1999/01/20  22:01:21
+        Log: I_MNTENT was missing.
+     Branch: cfgperl
+           ! Configure config_h.SH
 ____________________________________________________________________________
-[   342] By: nick                                  on 1997/12/01  04:01:57
-        Log: Builds and passes all tests with gcc on Win32 - phew!
-     Branch: ansiperl
-	   ! embed.h embedvar.h ext/Opcode/Opcode.xs global.sym perl.h
-           ! proto.h util.c win32/makedef.pl
-____________________________________________________________________________
-[   341] By: nick                                  on 1997/12/01  02:54:29
-        Log: Create a struct for all perls globals (as an option)
-             Mainly for Mingw32 which cannot import data.
-             Now only Opcode tests fail (op_desc/op_name not 
-             handled yet stuff)
-     Branch: ansiperl
-	   ! EXTERN.h embed.h embed.pl embedvar.h ext/Thread/Thread.xs
-	   ! global.sym miniperlmain.c perl.c perl.h perlvars.h pp_hot.c
-	   ! proto.h run.c util.c win32/Makefile win32/makedef.pl
-	   ! win32/makegcc.mk win32/perllib.c win32/win32.c win32/win32.h
-           ! win32/win32iop.h win32/win32thread.c
-____________________________________________________________________________
-[   340] By: nick                                  on 1997/11/30  20:21:10
-        Log: Fixup exports in non -DDEBUGGING case
-     Branch: ansiperl
-           ! win32/makedef.pl
+[  2650] By: jhi                                   on 1999/01/19  13:42:03
+        Log: NetBSD update, based on patches from the NetBSD packages system.
+     Branch: cfgperl
+           ! Makefile.SH hints/netbsd.sh makedepend.SH unixish.h
+____________________________________________________________________________
+[  2649] By: jhi                                   on 1999/01/19  12:44:02
+        Log: Jumbo Configure update.
+             * -Uinstallusrbinperl: disable /usr/bin/perl installation
+             by installperl
+             * usethreads.cbu
+             * use64bits.cbu
+             * "nosuid"
+     Branch: cfgperl
+	   ! Configure config_h.SH hints/aix.sh hints/dec_osf.sh
+	   ! hints/dos_djgpp.sh hints/freebsd.sh hints/hpux.sh
+	   ! hints/irix_4.sh hints/irix_5.sh hints/irix_6.sh
+	   ! hints/irix_6_0.sh hints/irix_6_1.sh hints/linux.sh
+	   ! hints/os2.sh hints/solaris_2.sh hints/vmesa.sh perl.c perl.h
+           ! pod/perldiag.pod
 ____________________________________________________________________________
-[   339] By: nick                                  on 1997/11/30  20:10:04
-        Log: Disable hard-coded -DDEBUGGING
-     Branch: ansiperl
-           ! win32/config_h.PL
-____________________________________________________________________________
-[   338] By: nick                                  on 1997/11/30  20:00:19
-        Log: embed.pl now reads *var*.h to do its stuff.
-             Split generated embed.h into two - new embedvar.h
-             is #included when 'op' etc. will not mess up proto.h etc.
-             Removed #define foo (thr->Tfoo) from thread.h
-             Added some 'missing' symbols to global.sym, removed
-             those in the *var*.h files
-             Has build all MULTIPLICITY/USE_THREADS options on win32
-             with VC++ (and passed tests), but not with exactly this set
-             of files.
-     Branch: ansiperl
-           + embedvar.h
-	   ! embed.h embed.pl global.sym interp.sym intrpvar.h perl.h
-	   ! perlvars.h regcomp.c thrdvar.h thread.h win32/Makefile
-           ! win32/makedef.pl
-____________________________________________________________________________
-[   337] By: nick                                  on 1997/11/29  23:55:31
-        Log: Globals and structs via macros - part 1 of N
-             - introduce perlvars.h intrpvar.h and thrdvar.h
-             - change perl.h and thread.h to include them with
-             appropriate macros defined
-             - result is status-quo but with macros
-             - next step is to tweak embed.* to capitalize on 
-             new easy-to-find info.
-     Branch: ansiperl
-           + intrpvar.h perlvars.h thrdvar.h
-           ! perl.h thread.h win32/Makefile
+[  2648] By: jhi                                   on 1999/01/19  09:16:44
+        Log: Mention /usr/share/locale.
+     Branch: cfgperl
+           ! pod/perllocale.pod
 ____________________________________________________________________________
-[   336] By: nick                                  on 1997/11/29  19:13:55
-        Log: VC++ default to threaded
-     Branch: ansiperl
-           ! win32/Makefile
+[  2647] By: jhi                                   on 1999/01/19  09:11:11
+        Log: SHMLBA strikes back in NetBSD/sparc.
+             
+             From: Dave Nelson 
+             To: jhi@iki.fi
+             Subject: perl5.005_02 + IPC::SysV + NetBSD/Sparc
+             Date: Mon, 18 Jan 1999 22:07:56 -0600
+             Message-Id: <199901190407.WAA02543@longhorn.bellcow.com>
+     Branch: cfgperl
+           ! ext/IPC/SysV/SysV.xs
 ____________________________________________________________________________
-[   335] By: nick                                  on 1997/11/29  18:38:26
-        Log: Avoid __declspec(thread) by default, for both scratch
-             return areas and THR stuff. Use struct thread intern instead.
-     Branch: ansiperl
-	   ! win32/win32.c win32/win32.h win32/win32sck.c
-           ! win32/win32thread.c win32/win32thread.h
+[  2646] By: jhi                                   on 1999/01/19  08:58:17
+        Log: Show LANGUAGE env var when needed. (Augment change #2645).
+     Branch: cfgperl
+           ! util.c utils/perlbug.PL
 ____________________________________________________________________________
-[   334] By: nick                                  on 1997/11/29  17:49:04
-        Log: Non-threaded build fix
-     Branch: ansiperl
-           ! win32/win32thread.c
+[  2645] By: jhi                                   on 1999/01/19  08:52:15
+        Log: Document the GNU LANGUAGE env var.
+     Branch: cfgperl
+           ! pod/perllocale.pod
 ____________________________________________________________________________
-[   333] By: nick                                  on 1997/11/29  17:29:07
-        Log: Sort out malloc_mutex for perl's malloc
-             Remove BINCOMPAT3 from embed.pl 
-             Add dependancy to CORE_H for PERL95_OBJ
-     Branch: ansiperl
-	   ! dosish.h embed.h embed.pl global.sym perl.h win32/Makefile
-           ! win32/win32.c
+[  2644] By: jhi                                   on 1999/01/19  08:42:25
+        Log: From: Ilya Zakharevich 
+             To: Mailing list Perl5 
+             Subject: [PATCH 5.005_53] Fixing \G bug by Francois Desarmenien
+             Date: Mon, 18 Jan 1999 20:57:02 -0500
+             Message-ID: <19990118205702.A18379@monk.mps.ohio-state.edu>
+     Branch: cfgperl
+           ! pp_hot.c t/op/pat.t
 ____________________________________________________________________________
-[   332] By: nick                                  on 1997/11/29  16:21:01
-        Log: Integrate win32 into ansiperl
-     Branch: ansiperl
-	  !> README.threads hints/irix_6.sh lib/Test/Harness.pm
-	  !> lib/perl5db.pl malloc.c miniperlmain.c perl.h sv.c t/TEST
-	  !> t/lib/anydbm.t t/lib/db-btree.t t/lib/db-hash.t
-	  !> t/lib/db-recno.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t
-	  !> t/lib/safe2.t t/lib/sdbm.t t/op/pat.t t/op/taint.t
-          !> win32/perllib.c
-____________________________________________________________________________
-[   331] By: nick                                  on 1997/11/29  01:35:45
-        Log: GCC + Threads on Win32 - best gcc results yet
-     Branch: ansiperl
-	   ! XSUB.h perl.h thread.h win32/makedef.pl win32/makegcc.mk
-	   ! win32/win32.h win32/win32iop.h win32/win32thread.c
-           ! win32/win32thread.h
+[  2643] By: jhi                                   on 1999/01/18  11:23:41
+        Log: Add various cruft to "clean" target. (Time for t/Makefile?)
+     Branch: cfgperl
+           ! Makefile.SH
 ____________________________________________________________________________
-[   330] By: nick                                  on 1997/11/28  23:05:08
-        Log: Un-botch gcc workround
-     Branch: ansiperl
-           ! XSUB.h
+[  2642] By: jhi                                   on 1999/01/18  11:03:38
+        Log: GNU libc locale system has LANGUAGE env var that partly
+             overrides even LC_ALL.
+     Branch: cfgperl
+           ! t/lib/safe2.t t/op/groups.t t/op/mkdir.t
 ____________________________________________________________________________
-[   329] By: nick                                  on 1997/11/28  22:39:39
-        Log: Builds completely with Mingw32, dynamic loaded extensions
-             don't work yet - suspect __declspec() non-implemented issues.
-     Branch: ansiperl
-	   ! XSUB.h lib/ExtUtils/Command.pm lib/ExtUtils/MM_Win32.pm
-	   ! lib/ExtUtils/Mksymlists.pm win32/config.gc win32/makegcc.mk
-           ! win32/runperl.c win32/win32.c win32/win32iop.h
-____________________________________________________________________________
-[   328] By: gsar                                  on 1997/11/28  05:48:15
-        Log: integrate winansi.
-     Branch: win32/perl
-          +> win32/config.gc win32/config_H.gc win32/makegcc.mk
-           ! perl.h
-	  !> dosish.h hv.c win32/dl_win32.xs win32/include/sys/socket.h
-	  !> win32/makedef.pl win32/makefile.mk win32/runperl.c
-          !> win32/win32.c win32/win32.h win32/win32iop.h win32/win32sck.c
-____________________________________________________________________________
-[   327] By: gsar                                  on 1997/11/28  05:38:48
-        Log: Integrate mainline.
-     Branch: win32/perl
-	  !> README.threads hints/irix_6.sh lib/Test/Harness.pm
-	  !> lib/perl5db.pl malloc.c miniperlmain.c sv.c t/TEST
-	  !> t/lib/anydbm.t t/lib/db-btree.t t/lib/db-hash.t
-	  !> t/lib/db-recno.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t
-	  !> t/lib/safe2.t t/lib/sdbm.t t/op/pat.t t/op/taint.t
-          !> win32/perllib.c
-____________________________________________________________________________
-[   326] By: nick                                  on 1997/11/27  19:13:36
-        Log: GCC builds perl.dll and perl.exe on Win32
-     Branch: ansiperl
-           ! win32/makedef.pl win32/makegcc.mk
-____________________________________________________________________________
-[   325] By: nick                                  on 1997/11/27  17:46:30
-        Log: Add files and tweak others to get 'native' Mingw32 gcc port as
-             far as building miniperl and perl.dll (but not import lib yet)
-             Seems to lack popen()/pclose() and fcloseall() and fflushall().
-             Also only CRTDLL not MCRTDLL so threading is probably not
-             possible yet.
-             Had to mess with win32iop.h's placement as we need __attribute__
-             to get STDCALL, and #define of printf messes up proto.h 
-     Branch: ansiperl
-           + win32/config.gc win32/config_H.gc win32/makegcc.mk
-	   ! dosish.h perl.h win32/dl_win32.xs win32/include/sys/socket.h
-	   ! win32/makefile.mk win32/runperl.c win32/win32.c win32/win32.h
-           ! win32/win32iop.h win32/win32sck.c
+[  2641] By: jhi                                   on 1999/01/18  10:55:04
+        Log: Integrate from mainperl.
+     Branch: cfgperl
+          +> ext/B/defsubs.h.PL
+           ! t/op/groups.t
+          !> (integrate 38 files)
 ____________________________________________________________________________
-[   324] By: mbeattie                              on 1997/11/27  17:08:06
-        Log: Give dire warnings about the IRIX 6.2 kernel panic.
+[  2640] By: gsar                                  on 1999/01/18  10:06:29
+        Log: a few random cleanups
      Branch: perl
-           ! README.threads hints/irix_6.sh
+           ! ext/B/Makefile.PL lib/Test/Harness.pm t/pragma/warn/doio
 ____________________________________________________________________________
-[   323] By: mbeattie                              on 1997/11/27  16:57:33
-        Log: Fix prototypes of sv_vsetpvfn and sv_vcatpvfn:
-             Subject: Re: ANNOUNCE: perl 5.004_55 is available
-             Date: 27 Nov 1997 17:18:53 +0100
-             From: koenig@kulturbox.de (Andreas J. Koenig)
+[  2639] By: gsar                                  on 1999/01/18  05:56:21
+        Log: From:    "Vishal Bhatia" 
+             Date:    Sun, 17 Jan 1999 16:41:10 PST
+             Message-Id: <19990118004111.29667.qmail@hotmail.com>
+             Subject: [PATCH 5.005_54]Duplicate saved ops (CC.pm)
      Branch: perl
-           ! sv.c
+           ! ext/B/B/C.pm
 ____________________________________________________________________________
-[   322] By: mbeattie                              on 1997/11/27  16:12:15
-        Log: Integrate win32 branch back into mainline.
+[  2638] By: gsar                                  on 1999/01/18  05:41:21
+        Log: From:    jan.dubois@ibm.net (Jan Dubois)
+             Date:    Mon, 18 Jan 1999 00:37:41 +0100
+             Message-Id: <36a271cd.2105507@smtp1.ibm.net>
+             Subject: [PATCH 5.005_54] fix bugs in do_sv_dump() from Devel::Peek integration
      Branch: perl
-          !> (integrate 42 files)
+           ! dump.c
 ____________________________________________________________________________
-[   321] By: mbeattie                              on 1997/11/27  15:06:36
-        Log: Fix t/lib/safe2.t for SunOS 4.1.3:
-             Subject: Re: ANNOUNCE: perl 5.004_55 is available
-             Date: Thu, 27 Nov 1997 10:46:42 +0000 (GMT)
-             From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
+[  2633] By: gsar                                  on 1999/01/17  13:39:59
+        Log: bogus assert()
      Branch: perl
-           ! t/lib/safe2.t
+           ! pp.c t/op/groups.t
 ____________________________________________________________________________
-[   320] By: mbeattie                              on 1997/11/27  15:02:59
-        Log: Fix MYMALLOC (wrong #define in malloc.c):
-             Subject: 5.004_55: MYMALLOC completely busted
-             Date: Thu, 27 Nov 1997 01:08:16 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2632] By: gsar                                  on 1999/01/17  13:22:04
+        Log: various tweaks for clean build and test on win32
      Branch: perl
-           ! malloc.c
+	   ! embed.h ext/B/Makefile.PL global.sym lib/FindBin.pm objXSUB.h
+           ! op.c t/pragma/warn/doio
 ____________________________________________________________________________
-[   319] By: mbeattie                              on 1997/11/27  15:01:37
-        Log: Fix newSVrv so sv_setref_foo work better:
-             Subject: [PATCH] [5.004_55] newSVrv (again)
-             Date: Thu, 27 Nov 1997 00:25:50 -0500
-             From: Owen Taylor 
+[  2631] By: gsar                                  on 1999/01/17  12:28:06
+        Log: undo change#2336, and add clarification about subversive
+             CPAN distributions from Andreas Koenig
      Branch: perl
-           ! sv.c
+           ! Porting/pumpkin.pod lib/CPAN.pm
 ____________________________________________________________________________
-[   318] By: mbeattie                              on 1997/11/27  14:59:03
-        Log: Output skipped test information in test suite:
-             Subject: 5.004_55: Making test harness platform_aware
-             Date: Wed, 26 Nov 1997 17:16:55 -0500 (EST)
-             Date: Wed, 26 Nov 1997 17:16:55 -0500 (EST)
+[  2630] By: gsar                                  on 1999/01/17  12:04:06
+        Log: fix silent taint failures under -U
      Branch: perl
-	   ! lib/Test/Harness.pm t/TEST t/lib/anydbm.t t/lib/db-btree.t
-	   ! t/lib/db-hash.t t/lib/db-recno.t t/lib/gdbm.t t/lib/ndbm.t
-           ! t/lib/odbm.t t/lib/sdbm.t t/op/taint.t
+           ! doio.c
 ____________________________________________________________________________
-[   317] By: mbeattie                              on 1997/11/27  14:55:15
-        Log: Add 'W'atch command to debugger and improve help:
-             Subject: 5.004_55: Debugger patch again
-             Date: Wed, 26 Nov 1997 17:05:57 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2629] By: gsar                                  on 1999/01/17  12:00:23
+        Log: sanity check piped opens (tweaked version of patch suggested
+             by Mark-Jason Dominus)
      Branch: perl
-           ! lib/perl5db.pl
+	   ! doio.c pod/perldelta.pod pod/perldiag.pod t/io/pipe.t
+           ! t/op/taint.t t/pragma/warn/doio
 ____________________________________________________________________________
-[   316] By: mbeattie                              on 1997/11/27  14:52:44
-        Log: Stop double initialisation of malloc_mutex:
-             Subject: 5.004_55: Double initialiazation of malloc_mutex
-             Date: Wed, 26 Nov 1997 16:51:43 -0500 (EST)
-             From: Ilya Zakharevich 
+[  2628] By: gsar                                  on 1999/01/17  11:26:21
+        Log: regen headers
      Branch: perl
-           ! miniperlmain.c win32/perllib.c
+           ! embed.h embedvar.h objXSUB.h
 ____________________________________________________________________________
-[   315] By: mbeattie                              on 1997/11/27  14:48:58
-        Log: Fix PVLV case in sv_setsv (plus tests in op/pat.t).
+[  2627] By: gsar                                  on 1999/01/17  11:23:37
+        Log: PERL_OBJECTness for change#2595
      Branch: perl
-           ! sv.c t/op/pat.t
-____________________________________________________________________________
-[   314] By: nick                                  on 1997/11/27  01:03:19
-        Log: Merge win32 and ansiperl branches post _55 tweaks from Sarathy.
-     Branch: ansiperl
-          !> (integrate 897 files)
-____________________________________________________________________________
-[   313] By: gsar                                  on 1997/11/26  03:20:55
-        Log: merge win32-aware installperl in ansiperl branch.
-     Branch: win32/perl
-          !> installperl
-____________________________________________________________________________
-[   312] By: gsar                                  on 1997/11/26  01:50:37
-        Log: Fix for C bug:
-             From: Gurusamy Sarathy 
-             Message-Id: <199711011946.OAA18882@aatma.engin.umich.edu>
-             Subject: [PATCH] Re: Sort grammar bug 
-             Date: Sat, 01 Nov 1997 14:46:35 -0500
-             ------
-             From: Hugo van der Sanden 
-             Message-Id: <199711021247.MAA01743@crypt.compulink.co.uk>
-             Subject: Re: Sort grammar bug 
-             Date: Sun, 02 Nov 1997 12:47:51 +0000
-     Branch: win32/perl
-           ! t/op/sort.t toke.c
-____________________________________________________________________________
-[   311] By: nick                                  on 1997/11/26  01:42:50
-        Log: Win32-ize installperl
-     Branch: ansiperl
-           ! installperl
+           ! embed.pl op.c pod/perlport.pod proto.h
 ____________________________________________________________________________
-[   310] By: gsar                                  on 1997/11/26  01:36:39
-        Log: Another trivial patch:
-             From: Gurusamy Sarathy 
-             Message-Id: <199710300245.VAA04244@aatma.engin.umich.edu>
-             Subject: [PATCH] Re: Why doesn't XSRETURN have STMT_START/STMT_END brackets? 
-             Date: Wed, 29 Oct 1997 21:45:26 -0500
-     Branch: win32/perl
-           ! XSUB.h
-____________________________________________________________________________
-[   309] By: nick                                  on 1997/11/26  01:33:32
-        Log: Fixup _55 for Win32:
-             Missed thread :-> perl_thread changes
-             Two #define THR (not the same)
-             K&R style func in hv.c
-     Branch: ansiperl
-           ! hv.c win32/win32thread.c win32/win32thread.h
-____________________________________________________________________________
-[   308] By: gsar                                  on 1997/11/26  01:30:21
-        Log: Sync yet another patch (this one manually edited):
-             From: Gurusamy Sarathy 
-             Message-Id: <199710290251.VAA14362@aatma.engin.umich.edu>
-             Subject: [PATCH] Re: local($@) gives core dump 
-             Date: Tue, 28 Oct 1997 21:51:25 -0500
-     Branch: win32/perl
-           ! pp_ctl.c
-____________________________________________________________________________
-[   307] By: gsar                                  on 1997/11/26  01:22:10
-        Log: Sync another change from local repository.
-             From: Gurusamy Sarathy 
-             Message-Id: <199710290316.WAA15888@aatma.engin.umich.edu>
-             Subject: Re: do_postponed breaks with multiple interpreters 
-             Date: Tue, 28 Oct 1997 22:16:13 -0500
-     Branch: win32/perl
-           ! op.c
-____________________________________________________________________________
-[   306] By: gsar                                  on 1997/11/26  01:17:46
-        Log: Sync a change from local repository.
-             From: Gurusamy Sarathy 
-             Message-Id: <199710290106.UAA11485@aatma.engin.umich.edu>
-             Subject: [PATCH] Re: Core dump from using sockets w/ system or open(pipe) or "`"
-             Date: Tue, 28 Oct 1997 20:06:06 -0500
-     Branch: win32/perl
-           ! mg.c
-____________________________________________________________________________
-[   305] By: nick                                  on 1997/11/26  00:50:10
-        Log: Integrate mainline as of _55
-     Branch: ansiperl
-          +> emacs/ptags
-          !> (integrate 36 files)
-____________________________________________________________________________
-[   304] By: gsar                                  on 1997/11/26  00:27:57
-        Log: Various changes to make it build cleanly and pass all tests:
-             - needed to run `perl embed.pl`
-             - use PERL_CORE instead of PERLDLL in places that do mean PERL_CORE
-             - fix prototypes for a few declarations (Borland is finally quiet)
-             - move declaration of Mymalloc etc to perl.h (since win32 and other
-             ports may #define malloc themselves, to let extensions bind to
-             the version that perl used)
-             - move struct reg_data into a public header file, since it is
-             referenced in a public datatype
-             - win32 makefile fixes
-             - fix remaining s/thread/perl_thread/
-     Branch: win32/perl
-	   ! EXTERN.h embed.h ext/DynaLoader/dlutils.c
-	   ! ext/SDBM_File/sdbm/sdbm.h hv.c perl.h proto.h regcomp.h
-	   ! regexp.h win32/Makefile win32/dl_win32.xs win32/makefile.mk
-           ! win32/win32.h win32/win32iop.h win32/win32thread.c
-____________________________________________________________________________
-[   303] By: gsar                                  on 1997/11/25  20:57:31
-        Log: Fixup the places where the automatic merge got it wrong.
-             Previous change (#302) was just a normal integration--ignore the
-             "reverse" in there.
-     Branch: win32/perl
-           ! op.c perl.h
-____________________________________________________________________________
-[   302] By: gsar                                  on 1997/11/25  20:32:12
-        Log: reverse integrate mainline
-     Branch: win32/perl
-          +> emacs/ptags
-          !> (integrate 896 files)
-
-----------------
-Version 5.004_55
-----------------
-
-____________________________________________________________________________
-[   301] By: mbeattie                              on 1997/11/25  17:59:53
-        Log: Fix minor thinkos in hv.c and pp_ctl.c. This is 5.004_55.
+[  2626] By: gsar                                  on 1999/01/17  09:47:07
+        Log: PERL_OBJECT tweaks for change#2426
      Branch: perl
-           ! hv.c pp_ctl.c
+           ! embed.pl proto.h regcomp.c
 ____________________________________________________________________________
-[   300] By: mbeattie                              on 1997/11/25  16:29:36
-        Log: Add t/avhv.t to MANIFEST and bump patchlevel.h to 55.
+[  2625] By: gsar                                  on 1999/01/17  09:37:58
+        Log: documentation in change#2596 is not quite right; fix it
      Branch: perl
-           ! MANIFEST patchlevel.h
+           ! lib/Math/BigFloat.pm pod/perlguts.pod
 ____________________________________________________________________________
-[   299] By: mbeattie                              on 1997/11/25  15:59:16
-        Log: Move malloc_mutex initialisation/destruction:
-             Subject:  patch to 5.004_54 for pthreads with Perl's malloc
-             From: ilya@math.ohio-state.edu (Ilya Zakharevich)
+[  2624] By: gsar                                  on 1999/01/17  09:28:34
+        Log: undo change#2571; C instead
      Branch: perl
-	   ! malloc.c os2/os2.c os2/os2ish.h perl.c perl.h plan9/plan9ish.h
-           ! unixish.h vms/vmsish.h
+           ! lib/FindBin.pm
 ____________________________________________________________________________
-[   298] By: mbeattie                              on 1997/11/25  15:49:22
-        Log: Make hv_ functions cope better with 'm'-magic:
-             Subject: [5.004_54] Another neglected patch
-             Date: Fri, 21 Nov 1997 22:28:17 -0500
-             From: Owen Taylor 
+[  2623] By: gsar                                  on 1999/01/17  09:20:42
+        Log: change#2572 is not applicable; undo, retaining scan_bin addition
+             to global.sym
      Branch: perl
-           ! hv.c
+           ! global.sym perl.c proto.h
 ____________________________________________________________________________
-[   297] By: mbeattie                              on 1997/11/25  15:47:36
-        Log: Fix typo in Thread.xs.
+[  2622] By: gsar                                  on 1999/01/17  09:17:42
+        Log: change#2576 is based on a wrong premise; undo it
      Branch: perl
-           ! ext/Thread/Thread.xs
+           ! pp_ctl.c
 ____________________________________________________________________________
-[   296] By: mbeattie                              on 1997/11/25  15:42:07
-        Log: Integrate from ansi branch to mainline.
+[  2621] By: gsar                                  on 1999/01/17  09:12:42
+        Log: fix change#2602 to not used hard coded constants
      Branch: perl
-          !> (integrate 890 files)
+           ! ext/B/B/C.pm ext/B/defsubs.h.PL
 ____________________________________________________________________________
-[   295] By: mbeattie                              on 1997/11/25  14:29:31
-        Log: AIX patch for DynaLoader/dl_aix.xs and hints/aix.sh:
-             Subject: Re: _54 on AIX
-             Date: Tue, 25 Nov 1997 00:49:52 -0800 (PST)
-             From: Jarkko Hietaniemi 
+[  2620] By: gsar                                  on 1999/01/17  09:02:07
+        Log: integrate cfgperl changes into mainline, fix conflicts
      Branch: perl
-           ! ext/DynaLoader/dl_aix.xs
+	  +> AUTHORS MAINTAIN README.mint ext/DynaLoader/hints/linux.pl
+	  +> ext/POSIX/hints/mint.pl hints/gnu.sh hints/mint.sh
+	  +> lib/Dumpvalue.pm mint/Makefile mint/README mint/errno.h
+	  +> mint/pwd.c mint/stdio.h mint/sys/time.h mint/time.h
+          +> pod/perlopentut.pod
+          !> (integrate 162 files)
 ____________________________________________________________________________
-[   294] By: mbeattie                              on 1997/11/25  14:29:10
-        Log: AIX patch for hints/aix.sh:
-             Subject: Re: _54 on AIX
-             Date: Tue, 25 Nov 1997 00:49:52 -0800 (PST)
-             From: Jarkko Hietaniemi 
+[  2619] By: gsar                                  on 1999/01/17  08:42:04
+        Log: a few doc typos
      Branch: perl
-           ! hints/aix.sh
+           ! lib/utf8.pm pod/perlfunc.pod pod/perlre.pod
 ____________________________________________________________________________
-[   291] By: mbeattie                              on 1997/11/25  14:17:05
-        Log: Fix scalar dereference of threadsv variables (e.g. $$_).
-     Branch: perl
-           ! op.c op.h
+[  2616] By: gbarr                                 on 1999/01/16  18:59:55
+        Log: Win32 changes from Jan
+             
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Fri, 15 Jan 1999 23:38:35 +0100
+             Message-ID: <36a7c10d.16311905@smtp1.ibm.net>
+             Subject: [PATCH 5.005_03m2] Win32 Makefile patches
+             
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Sat, 16 Jan 1999 13:02:45 +0100
+             Message-ID: <36a07da6.10722337@smtp1.ibm.net>
+             Subject: [PATCH 5.005_03m2] minor tweaks to README.win32
+     Branch: maint-5.005/perl
+           ! README.win32 win32/Makefile win32/makefile.mk
 ____________________________________________________________________________
-[   290] By: mbeattie                              on 1997/11/25  14:16:29
-        Log: AIX patch (including Configure support for {sched,pthread}_yield,
-             pthread initial detach state, renaming perl_thread to perl_os_thread
-             and struct thread to struct perl_thread):
-             Subject: Re: _54 on AIX
-             Date: Thu, 20 Nov 1997 06:10:51 -0800 (PST)
-             From: Jarkko Hietaniemi 
-     Branch: perl
-	   ! Configure config_h.SH cv.h ext/DB_File/DB_File.xs
-	   ! ext/Thread/Makefile.PL ext/Thread/Thread.pm
-	   ! ext/Thread/Thread.xs fakethr.h hints/aix.sh perl.c perl.h pp.h
-	   ! proto.h sv.h thread.h util.c win32/win32thread.c
-           ! win32/win32thread.h
+[  2615] By: gbarr                                 on 1999/01/16  18:48:48
+        Log: Jumbo patch from Sarathy for PERL_OBJECT & USE_THREADS
+             
+             From: Gurusamy Sarathy 
+             Date: Thu, 07 Jan 1999 00:12:00 -0500
+             Message-Id: <199901070512.AAA23568@aatma.engin.umich.edu>
+             Subject: Re: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds
+             
+             From: Gurusamy Sarathy 
+             Date: Thu, 14 Jan 1999 19:21:46 -0500
+             Message-Id: <199901150021.TAA01886@aatma.engin.umich.edu>
+             Subject: Re: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds
+     Branch: maint-5.005/perl
+	   ! embed.h global.sym lib/ExtUtils/MM_Unix.pm objXSUB.h objpp.h
+	   ! op.c perl.c perl.h perly.c perly.y perly_c.diff pp.c proto.h
+	   ! sv.c t/io/fs.t toke.c win32/GenCAPI.pl win32/config.bc
+           ! win32/makedef.pl win32/runperl.c win32/win32.c
 ____________________________________________________________________________
-[   289] By: mbeattie                              on 1997/11/25  12:33:02
-        Log: Rename perl_thread to perl_os_thread.
-     Branch: perl
-           ! fakethr.h thread.h util.c win32/win32thread.h
+[  2614] By: gbarr                                 on 1999/01/16  16:48:38
+        Log: From: Jarkko Hietaniemi 
+             Date: Fri, 15 Jan 1999 17:28:34 +0200 (EET)
+             Message-Id: <199901151528.RAA08785@alpha.hut.fi>
+             Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: NetBSD patches
+             
+             From: Jarkko Hietaniemi 
+             Date: Fri, 15 Jan 1999 18:44:19 +0200 (EET)
+             Message-Id: <199901151644.SAA08184@alpha.hut.fi>
+             Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: allow skipping the "install also as /usr/bin/perl" question of installperl
+             
+             From: Jarkko Hietaniemi 
+             Date: Fri, 15 Jan 1999 18:52:29 +0200 (EET)
+             Message-Id: <199901151652.SAA11259@alpha.hut.fi>
+             Subject: the promised "installusrbinperl + NetBSD" fix
+     Branch: maint-5.005/perl
+	   ! Configure Makefile.SH hints/netbsd.sh installperl
+           ! makedepend.SH unixish.h
 ____________________________________________________________________________
-[   288] By: mbeattie                              on 1997/11/25  12:27:35
-        Log: Remove bincompat3 support:
-             Subject: Re: ANNOUNCE: perl5.004_54 is available
-             Date: Wed, 19 Nov 1997 08:07:10 -0800 (PST)
-             From: Jarkko Hietaniemi 
-     Branch: perl
-           ! Configure INSTALL embed.h global.sym malloc.c
+[  2611] By: jhi                                   on 1999/01/14  12:16:14
+        Log: From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: perlopentut.pod
+             Date: Sat, 09 Jan 1999 08:13:18 -0700
+             Message-Id: <199901091513.IAA17512@jhereg.perl.com>
+     Branch: cfgperl
+           + pod/perlopentut.pod
+           ! MANIFEST pod/perl.pod pod/perldelta.pod pod/roffitall
 ____________________________________________________________________________
-[   287] By: mbeattie                              on 1997/11/25  12:23:50
-        Log: Emacs/tags update:
-             Subject: Emacs/tags update for 5.004_54
-             Date: Fri, 21 Nov 1997 15:02:09 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-           + emacs/ptags
-           ! MANIFEST Makefile.SH emacs/cperl-mode.el
+[  2607] By: gbarr                                 on 1999/01/14  02:53:40
+        Log: Added Carp::cluck to perldelta.pod
+     Branch: maint-5.005/perl
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   286] By: nick                                  on 1997/11/23  23:03:56
-        Log: Add $$_ test 
-     Branch: ansiperl
-           ! t/op/ref.t
+[  2605] By: jhi                                   on 1999/01/13  18:26:19
+        Log: From: "Jonathan Fine (IT- Borders Online)" 
+             To: "'cpan@perl.org'" 
+             Subject: "Bug" fix for File::Find.pm
+             Date:   Thu, 31 Dec 1998 13:01:50 -0500
+             Message-ID: <311F144DB5E5D011B03F00805FE954B10708BE17@exchange01_ph.borders.com>
+     Branch: cfgperl
+           ! lib/File/Find.pm
 ____________________________________________________________________________
-[   285] By: gsar                                  on 1997/11/23  08:26:00
-        Log: Initial reverse integration of winansi branch.
-     Branch: win32/perl
-          !> (integrate 50 files)
+[  2604] By: jhi                                   on 1999/01/13  18:08:45
+        Log: From: Peter Wolfe 
+             Subject: SCO 3.2v5 patch for perl5.005_03-MAINT_TRIAL_1
+             To: perlbug@perl.com
+             Date: 11 Jan 1999 23:00:05 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! hints/sco.sh
 ____________________________________________________________________________
-[   284] By: gsar                                  on 1997/11/23  07:32:24
-        Log: Add to docs about the BEGIN { shift } feature.  Make the change
-             yet simpler using CvUNIQUE(compcv) instead of subline (Chip's idea).
-     Branch: win32/perl
-           ! op.c perly.c perly.y pod/perlfunc.pod vms/perly_c.vms
+[  2603] By: jhi                                   on 1999/01/13  18:06:56
+        Log: From: hans@icgroup.nl (Hans Mulder)
+             Subject: [Patch for 5.005_54] re::debugcolors dumps core
+             To: perlbug@perl.com
+             Cc: hansmu@xs4all.nl
+             Date: 11 Jan 1999 22:22:45 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! ext/re/re.pm regcomp.c
+____________________________________________________________________________
+[  2602] By: jhi                                   on 1999/01/13  18:05:43
+        Log: From: "Vishal Bhatia" 
+             Subject: [PATCH 5.005_54]B::MAGIC::PTR doesnot check for valid length.
+             Date: 11 Jan 1999 08:02:41 +0200
+             Lines: 134
+             Message-ID: 
+     Branch: cfgperl
+           ! ext/B/B.xs ext/B/B/C.pm
 ____________________________________________________________________________
-[   283] By: nick                                  on 1997/11/22  21:29:30
-        Log: Duplicate perl_threadsv
-     Branch: ansiperl
-           ! global.sym
+[  2601] By: jhi                                   on 1999/01/13  18:01:53
+        Log: From: James FitzGibbon 
+             Subject: Trivial patch for HP-UX 11 and shared libperl
+             To: perl5-porters@perl.org
+             Date: 8 Jan 1999 19:13:23 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! Makefile.SH
 ____________________________________________________________________________
-[   282] By: nick                                  on 1997/11/22  21:18:11
-        Log: Munge pseudo-Configure stuff to add -thread to archname as
-             Malcolm seems to think that is way to test for threads.
-             Update @INC stuffing hackery to have traditional @INC
-             search order archlib, privlib, sitearch, site.
-     Branch: ansiperl
-	   ! t/lib/english.t win32/config.bc win32/config_H.bc
-	   ! win32/config_H.vc win32/config_h.PL win32/config_sh.PL
-           ! win32/makefile.mk win32/win32.c win32/win32.h
+[  2600] By: jhi                                   on 1999/01/13  17:59:45
+        Log: From: "Vishal Bhatia" 
+             Subject: [PATCH 5.005_54] B::CC::pp_rv2cv problem
+             To: perl5-porters@perl.org
+             Date: 8 Jan 1999 12:43:36 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! ext/B/B/CC.pm
 ____________________________________________________________________________
-[   281] By: nick                                  on 1997/11/22  19:28:21
-        Log: Builds and passes all but english.t on win32 VC++
-     Branch: ansiperl
-	   ! global.sym pp_ctl.c win32/Makefile win32/config.vc
-           ! win32/config_H.vc win32/win32thread.h
+[  2599] By: jhi                                   on 1999/01/13  17:50:11
+        Log: From: Robin Barker 
+             Subject: PATCH to installperl
+             To: perl5-porters@perl.org
+             Date: 4 Jan 1999 16:15:18 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! installperl
 ____________________________________________________________________________
-[   280] By: nick                                  on 1997/11/22  18:10:50
-        Log: ansiperl builds with Borland C++ again
-     Branch: ansiperl
-	   ! pp_ctl.c regcomp.c regcomp.h regexec.c toke.c util.c
-	   ! win32/config.bc win32/config_H.bc win32/perlglob.c
-           ! win32/win32.c win32/win32.h
+[  2598] By: jhi                                   on 1999/01/13  17:34:51
+        Log: From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
+             To: gsar@engin.umich.edu (Gurusamy Sarathy), gbarr@pobox.com
+             Cc: perl5-porters@perl.org
+             Subject: PATCH DB_File 1.63 for 5.005_54 & 5.005_03
+             Date: Tue, 29 Dec 1998 16:23:54 +0000 (GMT)
+             Message-Id: <9812291623.AA20884@claudius.bfsec.bt.co.uk>
+     Branch: cfgperl
+	   ! ext/DB_File/Changes ext/DB_File/DB_File.pm
+           ! ext/DB_File/DB_File.xs ext/DB_File/dbinfo ext/DB_File/typemap
 ____________________________________________________________________________
-[   279] By: nick                                  on 1997/11/22  16:42:51
-        Log: Resolve ansiperl against mainline
-     Branch: ansiperl
-	  !> embed.h ext/Thread/Thread.xs global.sym op.c op.h perl.c
-	  !> perl.h pp.c pp_ctl.c pp_hot.c proto.h scope.c scope.h
-          !> t/lib/english.t thread.h toke.c util.c
+[  2597] By: jhi                                   on 1999/01/13  17:30:33
+        Log: From: David Dyck 
+             To: Perl Porters ,
+             Gurusamy Sarathy 
+             Subject: PATCH to perl5.005_54/pod/perldsc.pod (fix typo)
+             Date: Tue, 12 Jan 1999 11:14:19 -0800 (PST)
+             Message-ID: 
+     Branch: cfgperl
+           ! pod/perldsc.pod
 ____________________________________________________________________________
-[   278] By: nick                                  on 1997/11/22  16:30:27
-        Log: Resolve ansiperl against win32
-     Branch: ansiperl
-          !> (integrate 55 files)
+[  2596] By: jhi                                   on 1999/01/13  17:26:44
+        Log: From: Joshua Pritikin 
+             To: perl5-porters@perl.org
+             Subject: [PATCH] modglobal w/ spelling fixes
+             Date: Tue, 12 Jan 1999 18:06:01 -0500 (EST)
+             Message-ID: 
+     Branch: cfgperl
+           ! pod/perlguts.pod
 ____________________________________________________________________________
-[   277] By: gsar                                  on 1997/11/22  09:48:02
-        Log: - shift() inside BEGIN|END|INIT now shifts @ARGV instead of @_
-             - added a test for the above
-             - fixed up perly.c.diff and vms/perl_c.vms for above and added the
-             ansification hunks
-     Branch: win32/perl
-           ! op.c perly.c perly.c.diff perly.y t/op/misc.t vms/perly_c.vms
-____________________________________________________________________________
-[   276] By: gsar                                  on 1997/11/22  07:24:01
-        Log: Generic change in win32 branch: don't just turn on CRIPPLED_CC
-             when USE_THREADS.  GCC for instance, can do without macros that use
-             globals.  Instead, selectively re#define only those macros
-             that use globals to their functional equivalents.  Tests 100% on
-             Solaris/gcc (after `chmod +x t/op/nothread.t t/lib/thread.t` (hint,hint)).
-     Branch: win32/perl
-           ! perl.h sv.h
-____________________________________________________________________________
-[   275] By: gsar                                  on 1997/11/22  05:27:04
-        Log: Integrate mainline.
-     Branch: win32/perl
-          +> ext/Thread/die.t ext/Thread/die2.t t/op/avhv.t
-           - lib/Class/Fields.pm lib/ISA.pm
-          !> (integrate 41 files)
-____________________________________________________________________________
-[   274] By: mbeattie                              on 1997/11/21  18:28:22
-        Log: $_ is now per-thread (rather a lot of changes). Only tested under
-             *-linux-thread at the moment.
-     Branch: perl
-	   ! embed.h ext/Thread/Thread.xs global.sym op.c op.h perl.c
-	   ! perl.h pp.c pp_ctl.c pp_hot.c proto.h scope.c scope.h
-           ! t/lib/english.t thread.h toke.c util.c
-____________________________________________________________________________
-[   273] By: mbeattie                              on 1997/11/21  10:31:29
-        Log: Filter patch to toke.c:
-             Subject: Tiny core patch for source filters
-             Date: Thu, 20 Nov 1997 23:12:09 +0000 (GMT)
-             From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
-     Branch: perl
-           ! toke.c
+[  2595] By: jhi                                   on 1999/01/13  17:24:59
+        Log: From: Hans Mulder 
+             Optimize common sort routines.  Thread started by the message
+             
+             From: Hans Mulder 
+             Sender: owner-perl5-porters@perl.org
+             To: perl5-porters@perl.org
+             Subject: [Patch for 5.00554] From the Todo list: Optimize sort by { $a <=> $b
+             Message-Id: <9901092156.AA03831@icgned.icgroup.nl>
+             
+             and the patch from the message
+             
+             From: Hans Mulder 
+             To: jhi@iki.fi
+             Cc: perl5-porters@perl.org
+             Subject: Re: [Patch for 5.00554] From the Todo list: Optimize sort by { $a <=>
+             $b }
+             Date: Wed, 13 Jan 1999 17:39:35 +0100
+             Message-Id: <9901131639.AA17419@icgned.icgroup.nl>
+     Branch: cfgperl
+           ! Todo op.c op.h pp_ctl.c t/op/sort.t
 ____________________________________________________________________________
-[   272] By: nick                                  on 1997/11/21  00:54:43
-        Log: Basic integrate of lastest perl into ansiperl
-     Branch: ansiperl
-          +> ext/Thread/die.t ext/Thread/die2.t t/op/avhv.t
-           - lib/Class/Fields.pm lib/ISA.pm
-           ! win32/win32.c win32/win32.h
-          !> (integrate 57 files)
+[  2594] By: jhi                                   on 1999/01/13  16:50:17
+        Log: Atari MiNT port by Guido Flohr 
+             (the diffs were based on 5.004_02).  Tested by Guido
+             and Frank Naumann .
+     Branch: cfgperl
+	   + README.mint ext/POSIX/hints/mint.pl hints/mint.sh
+	   + mint/Makefile mint/README mint/errno.h mint/pwd.c mint/stdio.h
+           + mint/sys/time.h mint/time.h
+	   ! MANIFEST doio.c malloc.c miniperlmain.c perl.c t/io/fs.t
+           ! t/lib/safe2.t t/op/groups.t t/op/mkdir.t t/op/taint.t util.c
 ____________________________________________________________________________
-[   271] By: mbeattie                              on 1997/11/20  12:12:00
-        Log: Initial stab at IRIX configuration support for threading. Manually
-             applied parts of following patches:
-             Subject: Perl 5.004_54 on IRIX
-             Date: Wed, 19 Nov 1997 18:37:14 +0200 (EET)
-             From: Jarkko Hietaniemi 
-             Subject: Re: Perl 5.004_54 on IRIX
-             Date: 19 Nov 1997 17:10:17 -0800
-             From: Scott Henry 
-     Branch: perl
-	   ! README.threads hints/irix_6.sh hints/irix_6_0.sh
-           ! hints/irix_6_1.sh perl.h
+[  2593] By: jhi                                   on 1999/01/09  16:54:26
+        Log: Detypo.
+     Branch: cfgperl
+           ! hints/dec_osf.sh
 ____________________________________________________________________________
-[   270] By: mbeattie                              on 1997/11/19  17:45:37
-        Log: The new jumbo regexp stuff did SSPUSHINT on a char* instead of
-             SSPUSHPTR causing Alpha to core dump in pat.t. While fixing it,
-             also fixed two instances of referring to SVs after destruction.
-     Branch: perl
-           ! regcomp.c regexec.c
+[  2592] By: jhi                                   on 1999/01/09  16:17:13
+        Log: Move usethreads and use64bits logic from hints to Configure.
+     Branch: cfgperl
+	   ! Configure hints/README.hints hints/aix.sh hints/dec_osf.sh
+	   ! hints/dos_djgpp.sh hints/freebsd.sh hints/hpux.sh
+	   ! hints/irix_6.sh hints/irix_6_0.sh hints/irix_6_1.sh
+           ! hints/linux.sh hints/os2.sh hints/solaris_2.sh hints/vmesa.sh
 ____________________________________________________________________________
-[   269] By: mbeattie                              on 1997/11/19  15:33:23
-        Log: avhv_keys under Digital UNIX made avhv.t fail because *keysp was
-             changed by mg_get(*keysp) (!). Introducing a new local variable
-             fixed it but I don't know if it's a compiler problem or some
-             other corruption happening elsewhere.
-     Branch: perl
-           ! av.c
+[  2591] By: jhi                                   on 1999/01/09  14:45:24
+        Log: Missing dTHRs added.
+     Branch: cfgperl
+           ! regcomp.c toke.c
 ____________________________________________________________________________
-[   268] By: mbeattie                              on 1997/11/19  11:39:49
-        Log: Let Configure sort out get{host,net}byaddr* prototypes:
-             Subject: [PATCH] 5.004_54: little something for
-             get{hos,ne}tbyaddr protos (Configure, config_h.SH, pp_sys.c)
-             Date: Tue, 18 Nov 1997 19:08:19 +0200 (EET)
-             From: Jarkko Hietaniemi 
-     Branch: perl
-           ! Configure config_h.SH pp_sys.c
+[  2590] By: jhi                                   on 1999/01/08  15:27:17
+        Log: Finalize change #2589 and add better AIX nm scanning from:
+             
+             Message-Id: 
+             From: bll@gentoo.com (Brad Lanam)
+             Subject: Re: mailhelp returned a non-zero status
+             In-Reply-To: <199901072155.WAA14369@hptnocou.grenoble.hp.com> from Raphael Manfredi at "Jan 7, 1999 10:55:24 pm"
+             To: ram@hptnocou.grenoble.hp.com (Raphael Manfredi)
+     Branch: cfgperl
+           ! Configure hints/freebsd.sh hints/linux.sh
 ____________________________________________________________________________
-[   267] By: mbeattie                              on 1997/11/19  11:04:15
-        Log: Jumbo regexp patch applied (with minor fix-up tweaks):
-             Subject: Version 7 of Jumbo RE patch available
-             Date: Sun, 16 Nov 1997 00:29:39 -0500 (EST)
-             From: Ilya Zakharevich 
-     Branch: perl
-	   ! MANIFEST dump.c embed.h global.sym mg.c op.c op.h perl.c
-	   ! perl.h pod/perlre.pod pp.c pp_ctl.c pp_hot.c proto.h regcomp.c
-	   ! regcomp.h regexec.c regexp.h sv.c t/op/misc.t t/op/pat.t
-	   ! t/op/re_tests t/op/regexp.t t/op/split.t t/op/subst.t toke.c
-           ! util.c
+[  2589] By: jhi                                   on 1999/01/08  15:14:54
+        Log: Undo change #2581.
+     Branch: cfgperl
+           ! Configure hints/freebsd.sh hints/linux.sh
 ____________________________________________________________________________
-[   266] By: mbeattie                              on 1997/11/18  17:26:09
-        Log: Separate avhv_foo() key handling into avhv_keys(). Slightly tweaked
-             version of patch:
-             Subject: tie fake hash patch for 5.004_54
-             Date: Sat, 15 Nov 1997 19:18:30 -0500
-             From: Joshua Pritikin 
-     Branch: perl
-           + t/op/avhv.t
-           ! av.c embed.h global.sym proto.h
+[  2588] By: jhi                                   on 1999/01/08  11:51:52
+        Log: FAQ jumbo patch from tchrist.
+             
+             Message-Id: <199901080605.XAA20229@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20231@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq1.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20233@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq2.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20235@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq3.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20237@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq4.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20239@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq5.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20241@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq6.pod
+             Date: Thu, 7 Jan 1999 23:05:02 -0700
+             
+             Message-Id: <199901080605.XAA20243@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq7.pod
+             Date: Thu, 7 Jan 1999 23:05:03 -0700
+             
+             Message-Id: <199901080605.XAA20245@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq8.pod
+             Date: Thu, 7 Jan 1999 23:05:03 -0700
+             
+             Message-Id: <199901080605.XAA20257@jhereg.perl.com>
+             From: Tom Christiansen 
+             To: pumpkings@jhereg.perl.com
+             Subject: newest version of perlfaq9.pod
+             Date: Thu, 7 Jan 1999 23:05:03 -0700
+     Branch: cfgperl
+	   ! pod/perlfaq.pod pod/perlfaq1.pod pod/perlfaq2.pod
+	   ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod
+	   ! pod/perlfaq6.pod pod/perlfaq7.pod pod/perlfaq8.pod
+           ! pod/perlfaq9.pod
 ____________________________________________________________________________
-[   265] By: mbeattie                              on 1997/11/18  16:51:04
-        Log: Bring MANIFEST up to date. Add new thread tests.
-     Branch: perl
-           + ext/Thread/die.t ext/Thread/die2.t
-           ! MANIFEST
+[  2587] By: jhi                                   on 1999/01/08  11:17:43
+        Log: More doc fixes from Abigail.
+     Branch: cfgperl
+	   ! lib/Time/gmtime.pm lib/Time/localtime.pm lib/User/grent.pm
+           ! lib/User/pwent.pm
 ____________________________________________________________________________
-[   264] By: mbeattie                              on 1997/11/18  16:41:27
-        Log: magic_setisa enhanced to update %FIELDS automatically when @ISA
-             is assigned to. Added tests to t/op/array.t. magic_setisa now
-             warns about including non-existent packages in @ISA when -w is on.
-     Branch: perl
-           - lib/Class/Fields.pm lib/ISA.pm
-           ! mg.c t/op/array.t
+[  2585] By: jhi                                   on 1999/01/08  08:31:02
+        Log: Change #2584 from maint-5.005:
+             
+             implemented Ilya's suggested fix, and added a testcase
+             
+             From: Ilya Zakharevich 
+             Date: Tue, 5 Jan 1999 00:56:01 -0500 (EST)
+             Message-Id: <199901050556.AAA02597@monk.mps.ohio-state.edu>
+             Subject: Re: Text::ParseWords: regex fix
+     Branch: cfgperl
+           ! lib/Text/ParseWords.pm t/lib/parsewords.t
 ____________________________________________________________________________
-[   263] By: mbeattie                              on 1997/11/18  16:38:57
-        Log: Fix typo in win32 -> mainline integration.
-     Branch: perl
-           ! perl.h
+[  2583] By: gbarr                                 on 1999/01/08  04:50:03
+        Log: From: Jarkko Hietaniemi 
+             Date: Thu, 7 Jan 1999 12:47:38 +0200 (EET)
+             Message-Id: <199901071047.MAA24100@alpha.hut.fi>
+             Subject: [PATCH] 5.005_03-MAINT_TRIAL_2: ext/Errno_pm.PL: understand wrapper cppstdins
+     Branch: maint-5.005/perl
+           ! ext/Errno/Errno_pm.PL
 ____________________________________________________________________________
-[   262] By: mbeattie                              on 1997/11/18  11:56:09
-        Log: Integrate win32 branch back into mainline.
-     Branch: perl
-           - win32/win32io.c win32/win32io.h
-           ! op.c
-          !> (integrate 30 files)
+[  2581] By: jhi                                   on 1999/01/07  16:38:03
+        Log: Configure update:
+             - usethreads, use64bits, and usemultiplicity
+             are no more interactively asked by Configure
+             - "int main()" (vs bare "main()") enforced in test programs
+     Branch: cfgperl
+           ! Configure hints/freebsd.sh hints/linux.sh
 ____________________________________________________________________________
-[   261] By: gsar                                  on 1997/11/18  00:14:02
-        Log: Export our own FD_SET() et al to complete sockets-as-handles pretense.
-     Branch: win32/perl
-	   ! win32/config.bc win32/config.vc win32/config_H.bc
-           ! win32/config_H.vc win32/include/sys/socket.h win32/win32sck.c
+[  2580] By: jhi                                   on 1999/01/07  11:19:12
+        Log: From: Dan Sugalski 
+             Date: Wed, 06 Jan 1999 13:47:34 -0800
+             Message-Id: <3.0.6.32.19990106134734.0334d260@ous.edu>
+             Subject: [PATCH 5.005_02-MT2, 5.005_5x]VMS.C tweak for occasional system() error
+     Branch: cfgperl
+           ! vms/vms.c
 ____________________________________________________________________________
-[   260] By: nick                                  on 1997/11/16  23:16:16
-        Log: Generic file changes for MYMALLOC
-     Branch: ansiperl
-           ! miniperlmain.c perl.c
-____________________________________________________________________________
-[   259] By: nick                                  on 1997/11/16  23:14:36
-        Log: MYMALLOC for Win32:
-             1. Initialize malloc_mutex before it is used (all platforms!)
-             2. Adjust #ifdef muddle to allow MYMALLOC and win32_ to coexist
-             3. Tweak win32/config*.* to define MYMALLOC
-             4. Provide sbrk() in terms of VirtualAlloc().
+[  2579] By: jhi                                   on 1999/01/07  09:08:36
+        Log: Another set of doc patches from Abigail
              
-             Also fixup -MT (perl95) build to handle Perl_current_thread
-             via call to DLL (as though an extension).
-     Branch: ansiperl
-	   ! win32/Makefile win32/config.bc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.vc win32/makedef.pl
-	   ! win32/makefile.mk win32/perllib.c win32/win32.c win32/win32.h
-           ! win32/win32iop.h win32/win32thread.h
+             From: abigail@fnx.com
+             Message-ID: <19990107032132.20124.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRAIL2 lib/Net/hostent.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:21:32 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107032445.20178.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/Net/netent.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:24:45 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107032834.20362.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRAIL2 lib/Term/Complete.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:28:34 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107033136.20440.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRAIL2 lib/Term/ReadLine.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:31:36 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107033351.20540.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/CGI/Apache.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:33:51 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107033933.20707.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/CGI/Push.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:39:33 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107034548.20936.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/File/Copy.pm] Typo fixes
+             Date: Wed, 6 Jan 1999 22:45:48 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107034856.21056.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/File/Spec.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:48:56 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107035113.21174.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/File/Spec/Mac.pm] Typo fixes
+             Date: Wed, 6 Jan 1999 22:51:13 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107035612.21522.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/Math/BigFloat.pm] Typo fix
+             Date: Wed, 6 Jan 1999 22:56:12 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107035842.21585.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/Math/BigInt.pm] Typo fixes
+             Date: Wed, 6 Jan 1999 22:58:41 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107040644.22009.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/Text/Wrap.pm] Typo fixes
+             Date: Wed, 6 Jan 1999 23:06:44 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107040955.22087.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/Tie/Array.pm] Typo fixes
+             Date: Wed, 6 Jan 1999 23:09:55 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990107041136.22174.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/Tie/Hash.pm] Typo fix
+             Date: Wed, 6 Jan 1999 23:11:36 -0500 (EST)
+     Branch: cfgperl
+	   ! lib/CGI/Apache.pm lib/CGI/Push.pm lib/File/Copy.pm
+	   ! lib/File/Spec.pm lib/File/Spec/Mac.pm lib/Math/BigFloat.pm
+	   ! lib/Math/BigInt.pm lib/Net/hostent.pm lib/Net/netent.pm
+	   ! lib/Term/Complete.pm lib/Term/ReadLine.pm lib/Text/Wrap.pm
+           ! lib/Tie/Array.pm lib/Tie/Hash.pm
 ____________________________________________________________________________
-[   258] By: nick                                  on 1997/11/15  20:42:28
-        Log: Implement dTHR via __declspec(thread) - part 2
-     Branch: ansiperl
-           ! win32/makedef.pl win32/win32thread.c win32/win32thread.h
+[  2576] By: jhi                                   on 1999/01/06  17:05:20
+        Log: Change #2582 fallout: the amagic_cmp* are no more file static.
+     Branch: cfgperl
+           ! pp_ctl.c
 ____________________________________________________________________________
-[   257] By: nick                                  on 1997/11/15  19:52:53
-        Log: Use __declspec(thread) var rather tha TslAlloc & co.
-     Branch: ansiperl
-           ! win32/makedef.pl win32/win32thread.c win32/win32thread.h
+[  2575] By: jhi                                   on 1999/01/06  13:18:56
+        Log: Enhance the great_circle_distance() documentation.
+     Branch: cfgperl
+           ! lib/Math/Trig.pm
 ____________________________________________________________________________
-[   256] By: gsar                                  on 1997/11/15  02:58:09
-        Log: Add #include guard in Thread.xs so it will build even under
-             no USE_THREADS (for win32).  This was missed because of edit
-             w/o checkout perforce kludge.
-     Branch: win32/perl
-           ! ext/Thread/Thread.xs
+[  2574] By: jhi                                   on 1999/01/06  12:58:03
+        Log: From: Mark Bixby 
+             To: perlbug@perl.com
+             Subject: [PATCH 5.005_03-MAINT_TRIAL_2] t/op/sysio.t for MPE/iX
+             Date: Mon, 4 Jan 1999 13:34:58 -0800 (PST)
+             Message-Id: <199901042134.NAA18852@spock.dis.cccd.edu>
+     Branch: cfgperl
+           ! t/op/sysio.t
 ____________________________________________________________________________
-[   255] By: nick                                  on 1997/11/15  00:33:46
-        Log: Integrate mainline (5.004_54?) into ansiperl
-     Branch: ansiperl
-	  !> MANIFEST embed.h ext/Thread/Thread.pm ext/Thread/Thread.xs
-	  !> ext/Thread/Thread/Specific.pm ext/Thread/join.t
-	  !> ext/Thread/specific.t global.sym lib/fields.pm mg.c op.c
-	  !> perl.c perl.h pp_ctl.c pp_hot.c pp_sys.c proto.h scope.c
-          !> t/io/pipe.t t/lib/io_pipe.t t/op/magic.t thread.h
-____________________________________________________________________________
-[   254] By: nick                                  on 1997/11/15  00:25:26
-        Log: Interate win32 into ansiperl
-     Branch: ansiperl
-	  +> ext/Thread/Thread/Specific.pm ext/Thread/specific.t
-          +> lib/fields.pm
-	  !> MANIFEST embed.h ext/Thread/Thread.pm ext/Thread/Thread.xs
-	  !> ext/Thread/join.t global.sym mg.c op.c perl.c perl.h pp_ctl.c
-	  !> pp_hot.c pp_sys.c proto.h scope.c t/io/pipe.t t/lib/io_pipe.t
-	  !> t/op/magic.t thread.h win32/Makefile win32/config.bc
-          !> win32/config.vc win32/config_sh.PL win32/makefile.mk
-____________________________________________________________________________
-[   253] By: gsar                                  on 1997/11/14  22:04:58
-        Log: Integrate mainline changes into win32 branch.  Now would be a good time
-             to reverse integrate the win32 branch into mainline.
-     Branch: win32/perl
-	  +> ext/Thread/Thread/Specific.pm ext/Thread/specific.t
-          +> lib/fields.pm
-	  !> MANIFEST embed.h ext/Thread/Thread.pm ext/Thread/Thread.xs
-	  !> ext/Thread/join.t global.sym mg.c op.c perl.c perl.h pp_ctl.c
-	  !> pp_hot.c pp_sys.c proto.h scope.c t/io/pipe.t t/lib/io_pipe.t
-          !> t/op/magic.t thread.h
-
-----------------
-Version 5.004_54
-----------------
-
+[  2573] By: jhi                                   on 1999/01/06  12:40:19
+        Log: From: "W. Phillip Moore" 
+             To: perlbug@perl.org
+             Subject: [PATCH] POSIX getpgrp is not -w clean
+             Date: Tue, 5 Jan 1999 12:40:27 -0500 (EST)
+             Message-ID: <13970.20107.190314.549471@zappa>
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.pm
 ____________________________________________________________________________
-[   252] By: mbeattie                              on 1997/11/14  15:07:19
-        Log: Two more delays added to test suite to help *-solaris-thread.
-     Branch: perl
-           ! t/io/pipe.t t/lib/io_pipe.t
+[  2572] By: jhi                                   on 1999/01/06  12:25:24
+        Log: Based on
+             From: jan.dubois@ibm.net (Jan Dubois)
+             To: perl5-porters@perl.org
+             Subject: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds
+             Date: Wed, 06 Jan 1999 01:24:09 +0100
+             Message-ID: <3696aa85.18259325@smtp1.ibm.net>
+             except that
+             - objXSUB.h was already okay
+             - embed.h patching is futile, global.sym patched instead
+             - objpp.h does not exist
+             - proto.h addition applied manually
+             - win32/GenCAPI.pl was already okay
+             - win32/makedef.pl was already okay
+     Branch: cfgperl
+           ! global.sym perl.c proto.h
 ____________________________________________________________________________
-[   251] By: mbeattie                              on 1997/11/14  15:05:57
-        Log: Remove stale code from Thread.xs.
-     Branch: perl
-           ! ext/Thread/Thread.xs
+[  2571] By: jhi                                   on 1999/01/06  11:25:48
+        Log: From: Slaven Rezic 
+             To: perlbug@perl.com
+             Subject: FindBin.pm on Win32 systems
+             Date: Mon, 4 Jan 1999 23:01:46 +0100 (CET)
+             Message-Id: <199901042201.XAA01875@cabulja.herceg.de>
+     Branch: cfgperl
+           ! lib/FindBin.pm
 ____________________________________________________________________________
-[   250] By: mbeattie                              on 1997/11/14  10:12:40
-        Log: Add delay to signal handling in t/op/magic.t. (Solaris with pthreads
-             doesn't run handlers for self-sent signals until kill has returned.)
-     Branch: perl
-           ! t/op/magic.t
-____________________________________________________________________________
-[   249] By: gsar                                  on 1997/11/14  05:14:44
-        Log: Fix various details in win32 makefiles and Config.pm setup.
-             - ldflags is set for both compilers now
-             - extensions list is now correct
-             - delete perl95.exe on distclean
-             - cf_time now gets updated (once)
-             - ccdlflags is set for Borland
-             - fix startperl so dprofpp works
-     Branch: win32/perl
-	   ! win32/Makefile win32/config.bc win32/config.vc
-           ! win32/config_sh.PL win32/makefile.mk
-____________________________________________________________________________
-[   248] By: mbeattie                              on 1997/11/13  18:01:27
-        Log: Rewrite thread return code to distinguish between ordinary return
-             and die() and make join propagate the die. Add tiny method eval
-             which just does "return eval { shift->join; }". Add Thread::Specific
-             class for access to thread specific user data along with specific.t.
-             Rename Class to classname throughout Thread.xs for consistency.
-             Fix pp_specific to pp_threadsv in global.sym. Add support to
-             pp_entersub in pp_hot.c to lock stash for static locked methods.
-     Branch: perl
-	   + ext/Thread/Thread/Specific.pm ext/Thread/specific.t
-           + lib/fields.pm
-	   ! MANIFEST embed.h ext/Thread/Thread.pm ext/Thread/Thread.xs
-           ! ext/Thread/join.t global.sym mg.c pp_hot.c thread.h
-____________________________________________________________________________
-[   247] By: mbeattie                              on 1997/11/13  14:13:30
-        Log: Change CONTEXT to PERL_CONTEXT throughout source (since the #define
-             to avoid the Digital UNIX clash no longer works). Changed the #ifdef
-             in pp_sys.c for whether getnet* function get protoyped (since the
-             default had a broken prototype for getnetbyaddr).
-     Branch: perl
-	   ! mg.c op.c perl.c perl.h pp_ctl.c pp_hot.c pp_sys.c proto.h
-           ! scope.c thread.h
-____________________________________________________________________________
-[   246] By: nick                                  on 1997/11/13  02:44:40
-        Log: Integrate Win32 branch
-     Branch: ansiperl
-	   - configure ext/util/extliblist win32/bin/pl2bat.bat
-	   - win32/bin/search.bat win32/bin/test.bat win32/bin/webget.bat
-	   - win32/config.H win32/config.w32 win32/win32io.c
-           - win32/win32io.h
-          !> (integrate 905 files)
-____________________________________________________________________________
-[   245] By: nick                                  on 1997/11/13  00:47:54
-        Log: Integrate (-ay) win32 branch at its creation to 
-             establish and ancestor as per perkforce technote #9
-     Branch: ansiperl
-	  +> configure ext/util/extliblist win32/bin/pl2bat.bat
-	  +> win32/bin/search.bat win32/bin/test.bat win32/bin/webget.bat
-          +> win32/config.H win32/config.w32
-          !> (integrate 859 files)
-____________________________________________________________________________
-[   244] By: gsar                                  on 1997/11/12  22:26:39
-        Log: More cleanups of win32/win32*.[ch] files.  win32/win32iop.h now
-             contains the all the declarations and macros for the win32io layer.
-             New std-ish functions are exported now.  All win32-specific exported
-             functions begin with "win32_" consistently.  win32 version of
-             init_os_extras() is now exported, so embedders can get the in-core
-             xsubs.
-     Branch: win32/perl
-	   ! dosish.h win32/makedef.pl win32/win32.c win32/win32.h
-           ! win32/win32iop.h win32/win32sck.c
+[  2570] By: jhi                                   on 1999/01/06  11:21:48
+        Log: From: Dan Sugalski 
+             To: perl5-porters@perl.org, vmsperl@perl.org
+             Subject: [PATCH 5.005_03-MAINT_TRIAL_2]taint.c fix for VMS
+             Date: Tue, 05 Jan 1999 16:47:31 -0800
+             Message-Id: <3.0.6.32.19990105164731.00b5b2d0@ous.edu>
+             
+             (the ext/IO/lib/IO/Socket.pm was not really changed here;
+             it was a leftover from #2569)
+     Branch: cfgperl
+           ! ext/IO/lib/IO/Socket.pm taint.c
 ____________________________________________________________________________
-[   243] By: gsar                                  on 1997/11/12  07:41:52
-        Log: Really delete deleted files.
-     Branch: win32/perl
-           - win32/win32io.c win32/win32io.h
-____________________________________________________________________________
-[   242] By: gsar                                  on 1997/11/12  07:40:54
-        Log: Egregious IOsubsystem code excised.  Phew, what a relief!  Two
-             files (win32/win32io.[ch]) completely removed, as are all traces
-             of them in makefiles and MANIFEST.  RunPerl() retains the void* arg
-             for later. Various myfoo() things regularized to my_foo().  CPP not
-             required anymore to create a perl binary :)
-     Branch: win32/perl
-	   ! MANIFEST win32/Makefile win32/makedef.pl win32/makefile.mk
-	   ! win32/perllib.c win32/runperl.c win32/win32.c win32/win32.h
-	   ! win32/win32io.c win32/win32io.h win32/win32iop.h
-           ! win32/win32sck.c
+[  2569] By: jhi                                   on 1999/01/06  11:18:22
+        Log: Jumbo doc patch from Abigail (almost identical to
+             the 5.005-maint change #2562 except for the
+             ext/IO/lib/IO/Socket.pm patch which was not
+             applicable because the IO version of 5.005-devel
+             is somewhat different (why?))
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105170142.4889.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03-TRIAL2 lib/ExtUtils/Liblist.pm] pod fixes
+             Date: Tue, 5 Jan 1999 12:01:42 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105172855.5115.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 MAINT2 lib/ExtUtils/Commands.pm] Typo fix.
+             Date: Tue, 5 Jan 1999 12:28:55 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105173808.5260.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH perl5.005_03 MAINT3 lib/ExtUtils/Embed.pm] Typo fix
+             Date: Tue, 5 Jan 1999 12:38:08 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105174859.5533.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 MAINT2 lib/ExtUtils/Install.pm] Typo fix
+             Date: Tue, 5 Jan 1999 12:48:59 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105174947.5547.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 lib/ExtUtils/MM_Unix.pm] Typo fixes
+             Date: Tue, 5 Jan 1999 12:49:46 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105182301.5966.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 lib/ExtUtils/MakeMaker.pm] Typos fixes.
+             Date: Tue, 5 Jan 1999 13:23:00 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105183344.6065.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/ExtUtils/Manifest.pm] Typo fixes
+             Date: Tue, 5 Jan 1999 13:33:44 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990105184028.6220.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/ExtUtils/Mksymlists.pm] Typo fix
+             Date: Tue, 5 Jan 1999 13:40:28 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990106012015.9451.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRIAL2 lib/IO/Pipe.pm] Typo fixes.
+             Date: Tue, 5 Jan 1999 20:20:15 -0500 (EST)
+             
+             From: abigail@fnx.com
+             Message-ID: <19990106012047.9459.qmail@alexandra.wayne.fnx.com>
+             Subject: [PATCH 5.005_03 TRAIL2 lib/IO/Seekable.pm] Typo fixes
+             Date: Tue, 5 Jan 1999 20:20:47 -0500 (EST)
+     Branch: cfgperl
+	   ! ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Seekable.pm
+	   ! lib/ExtUtils/Command.pm lib/ExtUtils/Embed.pm
+	   ! lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm
+	   ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
+           ! lib/ExtUtils/Manifest.pm lib/ExtUtils/Mksymlists.pm
 ____________________________________________________________________________
-[   241] By: gsar                                  on 1997/11/12  05:31:28
-        Log: Fix various win32 code blemishes:
-             - s/stolen/win32/g
-             - s/(CROAK|WARN)/lc($1)/eg
-             - remove deadcode from most places
-     Branch: win32/perl
-	   ! win32/makedef.pl win32/win32.c win32/win32io.c
-           ! win32/win32iop.h
+[  2568] By: gbarr                                 on 1999/01/06  03:13:15
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Wed, 06 Jan 1999 01:24:09 +0100
+             Message-ID: <3696aa85.18259325@smtp1.ibm.net>
+             Subject: [PATCH 5.005_03-MAINT_TRIAL2] fixes for PERL_OBJECT and USE_THREADS builds
+     Branch: maint-5.005/perl
+	   ! embed.h global.sym objXSUB.h objpp.h perl.c proto.h
+           ! win32/GenCAPI.pl win32/makedef.pl
 ____________________________________________________________________________
-[   240] By: gsar                                  on 1997/11/12  04:36:29
-        Log: Carry over changes in ansiperl branch.  Win32 branch is now
-             the leading edge.
-     Branch: win32/perl
-	   ! embed.h global.sym perl.c win32/win32thread.c
-           ! win32/win32thread.h
-____________________________________________________________________________
-[   239] By: gsar                                  on 1997/11/12  03:39:57
-        Log: Add missing win32_closesocket() and export it (extension writers' complaint).
-     Branch: win32/perl
-           ! win32/include/sys/socket.h win32/makedef.pl win32/win32sck.c
-____________________________________________________________________________
-[   238] By: gsar                                  on 1997/11/12  03:25:17
-        Log: Clean up win32/win32sck.c (runtime load of Winsock now gone, it can be
-             done cleaner, if really needed (perhaps only for efficiency reasons?)).
-             Redundant EXTERN_C definitions and related warnings fixed.
-     Branch: win32/perl
-	   ! miniperlmain.c perl.h win32/perllib.c win32/win32io.c
-           ! win32/win32iop.h win32/win32sck.c
+[  2566] By: gbarr                                 on 1999/01/06  02:29:05
+        Log: From: "W. Phillip Moore" 
+             Date: Tue, 5 Jan 1999 12:40:27 -0500 (EST)
+             Message-ID: <13970.20107.190314.549471@zappa>
+             Subject: [PATCH] POSIX getpgrp is not -w clean
+     Branch: maint-5.005/perl
+           ! ext/POSIX/POSIX.pm
 ____________________________________________________________________________
-[   237] By: nick                                  on 1997/11/12  02:45:15
-        Log: Fixup Win32
-             - #undef start_env before re-#defining it
-             - change pp_specific pp_threadsv in global.sym
-             - re-build embed.h
-             - avoid HAVE_THREAD_INTERN - we don't and empty struct
-             is a pain. If we did have it it would contain cached
-             values of things we can only get at _IN_ the thread
-             so new_struct_thread is wrong place to call it.
-             - add new macro SET_THREAD_SELF - we must (in main thread)
-             define in win32thread.h, support in win32thread.c,
-             test and call in perl.c
-     Branch: ansiperl
-	   ! embed.h global.sym perl.c thread.h win32/win32thread.c
-           ! win32/win32thread.h
-____________________________________________________________________________
-[   236] By: nick                                  on 1997/11/12  01:54:23
-        Log: Integrate mainline after it integrated us.
-             Accepted 'theirs' everywhere - so two branches should
-             now point to same files again.
-             Almost all of these were what was suggested, others were
-             whitespace diffs. A few dubious spots which we will now 
-             go fix.
-     Branch: ansiperl
-	  !> embed.h ext/DB_File/DB_File.xs ext/GDBM_File/GDBM_File.xs
-	  !> ext/Opcode/Opcode.pm ext/Thread/Thread.xs interp.sym mg.c op.c
-	  !> opcode.h opcode.pl perl.c perl.h pp.c pp_ctl.c pp_sys.c t/TEST
-	  !> t/lib/safe2.t t/lib/thread.t t/op/nothread.t thread.h toke.c
-          !> util.c
+[  2565] By: gbarr                                 on 1999/01/06  02:19:00
+        Log: From: Slaven Rezic 
+             Date: Mon, 4 Jan 1999 23:01:46 +0100 (CET)
+             Message-Id: <199901042201.XAA01875@cabulja.herceg.de>
+             Subject: FindBin.pm on Win32 systems
+     Branch: maint-5.005/perl
+           ! lib/FindBin.pm
 ____________________________________________________________________________
-[   235] By: gsar                                  on 1997/11/12  01:22:26
-        Log: Minor tweaks to add a thread_intern struct that should ultimately
-             contain all the win32-specific statics.
-             Win32 branch now passes all tests with or w/o USE_THREADS.
-     Branch: win32/perl
-           ! embed.h perl.c win32/win32thread.c win32/win32thread.h
+[  2561] By: jhi                                   on 1999/01/05  10:49:10
+        Log: Reword the setlocale() 1-arg case better.
+     Branch: cfgperl
+           ! ext/POSIX/POSIX.pod
 ____________________________________________________________________________
-[   234] By: gsar                                  on 1997/11/11  23:08:54
-        Log: Initial (untested) integration of mainline changes.
-     Branch: win32/perl
-           - configure
-          !> (integrate 89 files)
+[  2559] By: gbarr                                 on 1999/01/02  15:37:35
+        Log: From: Blair Zajac 
+             Date: Wed, 23 Dec 1998 17:13:32 -0800
+             Message-ID: <3681953C.8B6A90AA@geostaff.com>
+             Subject: Tie::SubstrHash patch
+     Branch: maint-5.005/perl
+           ! lib/Tie/SubstrHash.pm
 ____________________________________________________________________________
-[   233] By: mbeattie                              on 1997/11/11  18:07:30
-        Log: Typo in thread.h: ADD_THREAD_INTERN should be HAVE_THREAD_INTERN
-     Branch: perl
-           ! thread.h
+[  2554] By: jhi                                   on 1999/01/02  14:55:06
+        Log: Object destruction order testing.
+     Branch: cfgperl
+           ! t/op/misc.t
 ____________________________________________________________________________
-[   232] By: mbeattie                              on 1997/11/11  17:49:12
-        Log: t/TEST (reverted to @229 version) should have been included in the
-             previous change (231) but my way of recovering it didn't work
-             properly. The change 231 comments about successful tests applies
-             to this t/TEST (i.e. as of this change).
-     Branch: perl
-           ! t/TEST
+[  2553] By: jhi                                   on 1999/01/02  14:49:40
+        Log: perldelta the Dumpvalue.pm of change #2513.
+     Branch: cfgperl
+           ! lib/Dumpvalue.pm pod/perldelta.pod
 ____________________________________________________________________________
-[   231] By: mbeattie                              on 1997/11/11  17:46:59
-        Log: Fix up ansiperl integration. Back to passing all expected tests
-             with usethreads. Untested with non-threaded perl.
+[  2552] By: nick                                  on 1999/01/02  14:45:38
+        Log: Tone down Makefile.PL so it works on Win32
      Branch: perl
-	   ! embed.h ext/DB_File/DB_File.xs ext/GDBM_File/GDBM_File.xs
-           ! perl.c perl.h pp.c t/lib/thread.t t/op/nothread.t util.c
+           ! ext/B/Makefile.PL
 ____________________________________________________________________________
-[   230] By: mbeattie                              on 1997/11/11  16:36:22
-        Log: Initial integration of ansi branch into mainline (untested).
+[  2551] By: nick                                  on 1999/01/02  14:06:30
+        Log: Export constant subs from B.xs for op.h, cop.h and a few others.
+             Use them in various B::* rather than have local defs.
      Branch: perl
-          +> t/lib/thread.t t/op/nothread.t thread.sym
-           - configure
-          !> (integrate 84 files)
+           + ext/B/defsubs.h.PL
+	   ! ext/B/B.pm ext/B/B.xs ext/B/B/Bytecode.pm ext/B/B/C.pm
+	   ! ext/B/B/CC.pm ext/B/B/Deparse.pm ext/B/B/Lint.pm
+           ! ext/B/B/Stackobj.pm ext/B/B/Xref.pm ext/B/Makefile.PL
 ____________________________________________________________________________
-[   229] By: mbeattie                              on 1997/11/11  15:20:43
-        Log: Change name of OP_SPECIFIC to OP_THREADSV. Fixed perl_get_sv when
-             getting per-thread magicals. Fixed thr->errsv initialisation.
+[  2550] By: nick                                  on 1999/01/02  10:04:02
+        Log: Integrate ext/B changes from //depot/cfgperl
      Branch: perl
-	   ! ext/Opcode/Opcode.pm op.c opcode.h opcode.pl perl.c pp.c
-           ! t/lib/safe2.t toke.c
+          !> ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm
 ____________________________________________________________________________
-[   228] By: mbeattie                              on 1997/11/11  12:48:26
-        Log: Fix up $@ (ERRSV now refers to GvSV(errgv) for non-threaded perl and
-             thr->errsv for threaded perl). Fix pp_tie and pp_dbmopen to use
-             GvCV(gv) instead of gv so AUTOLOAD stuff works. All tests now pass
-             again for non-threaded perl. Enhanced perl_get_sv to return
-             per-thread magicals where necessary for threaded perl.
-     Branch: perl
-	   ! embed.h ext/Thread/Thread.xs interp.sym mg.c op.c perl.c
-           ! perl.h pp_ctl.c pp_sys.c thread.h toke.c util.c
+[  2549] By: jhi                                   on 1999/01/01  13:54:16
+        Log: From: "Paul Holser" 
+             To: perlbug@perl.com
+             Subject: op/groups.t fails test 1 on HP-UX 10.20
+             Date: Wed, 30 Dec 1998 15:16:12 -0600 (CST)
+             Message-Id: <199812302116.PAA12439@crchh44c.us.nortel.com>
+     Branch: cfgperl
+           ! t/op/groups.t
 ____________________________________________________________________________
-[   227] By: mbeattie                              on 1997/11/11  11:00:02
-        Log: hashlock bug.
-             
-             Jobs fixed ...
+[  2548] By: jhi                                   on 1999/01/01  13:53:31
+        Log: From: Hugo van der Sanden 
+             To: perl5-porters@perl.org
+             cc: hv@crypt0.demon.co.uk
+             Subject: [bug 5.004_54] duplicate error message
+             Date: Thu, 31 Dec 1998 04:05:25 +0000
+             Message-Id: <199812310405.EAA00386@crypt.compulink.co.uk>
              
-             hashlock fixed on 1997/11/11 by mbeattie@localhost
+             Message-ID: <13963.60672.134591.383377@alias-2.pr.mcs.net>
+             From: Stephen McCamant 
+             To: hv@crypt0.demon.co.uk
+             Cc: perl5-porters@perl.org
+             Subject: [PATCH _54] Re: duplicate error message
+             Date: Thu, 31 Dec 1998 16:10:13 -0600 (CST)
              
-             Subject: [perl5.004_53; patch] Another hash-locking fix
-             Date: 23 Oct 1997 14:13:55 -0400
-             From: Owen Taylor 
-     Branch: bugs
-           + hashlock
-____________________________________________________________________________
-[   226] By: gsar                                  on 1997/11/11  02:11:23
-        Log: Slightly more refined lock() keyword recognition (using %INC).
-     Branch: win32/perl
-           ! toke.c
-____________________________________________________________________________
-[   225] By: gsar                                  on 1997/11/11  00:26:09
-        Log: "weak" lock keyword (hardcoded initial implementation) now works.
-             if not defined(&Thread::join) and defined(&__PACKAGE__::lock), 'lock'
-             is recognized as a sub, a regular keyword otherwise.  Could be
-             generalized by storing a flag for every op in OP struct, and turning
-             the flag off when Thread.xs loads.
-     Branch: win32/perl
-           ! toke.c
-____________________________________________________________________________
-[   224] By: gsar                                  on 1997/11/10  22:59:55
-        Log: Merge a patch in preparation for "weak keywords":
-             From: Gurusamy Sarathy 
-             Message-Id: <199710080618.CAA23899@aatma.engin.umich.edu>
-             Subject: [PATCH] global overrides for keywords
-             Date: Wed, 08 Oct 1997 02:18:23 -0400
-     Branch: win32/perl
-           ! embed.h interp.sym perl.c perl.h toke.c
-____________________________________________________________________________
-[   223] By: gsar                                  on 1997/11/10  22:41:31
-        Log: Remove runlevel.  It was used to count how many runops() calls
-             we were in the process of executing, and longjmp() to the topmost
-             one (if not already there).  We use a null top_env->je_prev
-             to distinguish that now.
-     Branch: win32/perl
-           ! embed.h interp.sym perl.h pp_ctl.c run.c thread.h util.c
-____________________________________________________________________________
-[   222] By: gsar                                  on 1997/11/10  04:47:48
-        Log: Win32 branch now contains all non-ansification changes in ansiperl branch.
-             USE_THREADS case builds and passes all tests using both compilers.
-             Additional tweaks:
-             - fixup win32/makedef.pl to skip more symbols for non-thread build.
-             - sync win32/Makefile with win32/makefile.mk
-             >>>Non-thread build fails a lot of tests.<<<
-     Branch: win32/perl
-           + thread.sym
-	   ! MANIFEST ext/Thread/Thread.xs perl.c perl.h pp_sys.c sv.c
-	   ! util.c win32/Makefile win32/config.bc win32/config_H.bc
-           ! win32/makedef.pl win32/makefile.mk
-____________________________________________________________________________
-[   221] By: gsar                                  on 1997/11/10  00:57:53
-        Log: Initial (untested) merge of all non-ansi changes on ansiperl branch
-             into win32 branch.
-     Branch: win32/perl
-           + t/lib/thread.t t/op/nothread.t
-	   ! MANIFEST embed.h ext/Opcode/Opcode.pm global.sym interp.sym
-	   ! perl.c proto.h sv.h t/lib/english.t t/op/misc.t thread.h
-	   ! util.c win32/Makefile win32/config.bc win32/config.vc
-	   ! win32/config_H.bc win32/config_H.vc win32/makedef.pl
-	   ! win32/makefile.mk win32/win32.c win32/win32.h win32/win32io.c
-	   ! win32/win32io.h win32/win32iop.h win32/win32sck.c
-           ! win32/win32thread.c win32/win32thread.h
-____________________________________________________________________________
-[   220] By: gsar                                  on 1997/11/09  22:44:41
-        Log: Integrate latest mainline into win32 branch.
-     Branch: win32/perl
-          +> win32/win32thread.c win32/win32thread.h
-          !> (integrate 39 files)
-____________________________________________________________________________
-[   219] By: nick                                  on 1997/11/09  21:46:06
-        Log: Conditionalize english.t,
-             Enhance times() for NT,
-             (Failed) attempt to implement alarm(),
-             Fixed config.h dependancy in makefile.mk
-     Branch: ansiperl
-	   ! t/lib/english.t win32/config.bc win32/config_H.bc
-           ! win32/makefile.mk win32/win32.c
+             Message-Id: <199901010732.HAA02926@crypt.compulink.co.uk>
+             From: Hugo van der Sanden 
+             To: Stephen McCamant 
+             cc: hv@crypt0.demon.co.uk, perl5-porters@perl.org
+             Subject: [TEST PATCH _54] Re: duplicate error message 
+             Date: Fri, 01 Jan 1999 07:32:14 +0000
+     Branch: cfgperl
+           ! op.c t/pragma/warn/op
 ____________________________________________________________________________
-[   218] By: nick                                  on 1997/11/09  15:38:00
-        Log: Dick Hardt's patch for build on Alpha
-     Branch: ansiperl
-           ! win32/Makefile
+[  2547] By: jhi                                   on 1998/12/31  14:15:04
+        Log: From: Chris Nandor 
+             To: jhi@iki.fi
+             Cc: perl5-porters@perl.org
+             Subject: Re: [PATCH] perlport.pod 1.38
+             Date: Thu, 31 Dec 1998 09:06:48 -0500
+             Message-Id: 
+     Branch: cfgperl
+           ! pod/perlport.pod
 ____________________________________________________________________________
-[   217] By: nick                                  on 1997/11/09  03:31:20
-        Log: MakeMaker not in vofig noise fix for dmake
-     Branch: ansiperl
-           ! win32/config.bc win32/makefile.mk
+[  2546] By: jhi                                   on 1998/12/31  11:18:17
+        Log: From: Wilson P. Snyder II
+             To: perl5-porters@perl.org
+             Subject: [PATCH v5.5.53] REV2: Binary number support
+             Date: 1998/11/30
+             Message-ID: <199811301543.KAA15689@vulcan.maker.com>
+     Branch: cfgperl
+	   ! pod/perldata.pod pod/perldelta.pod pod/perlfunc.pod pp.c
+	   ! proto.h sv.c t/op/oct.t t/op/sprintf.t t/pragma/warn/util
+           ! toke.c util.c
 ____________________________________________________________________________
-[   216] By: nick                                  on 1997/11/09  03:15:06
-        Log: Fix 'anydbm.t' - if the gv is passed 1st call to inherited
-             TIEHASH works, but 2nd call (after db is closed, attempt
-             to reopen) tries to AUTOLOAD TIEHASH rather than using
-             cached value.
-     Branch: ansiperl
-           ! pp_sys.c
+[  2545] By: jhi                                   on 1998/12/31  09:27:40
+        Log: From: "Todd C. Miller" 
+             To: perlbug@perl.com
+             Subject: "perl -T -P" dumps core on OpenBSD and Linux
+             Date: Wed, 30 Dec 1998 21:11:05 -0700 (MST)
+             Message-Id: <199812310411.VAA37568@xerxes.courtesan.com>
+     Branch: cfgperl
+           ! taint.c
 ____________________________________________________________________________
-[   215] By: nick                                  on 1997/11/08  16:41:24
-        Log: Cleanup MakeMaker 'not in config' noise
-     Branch: ansiperl
-           ! win32/Makefile win32/config.vc
+[  2544] By: jhi                                   on 1998/12/31  09:21:45
+        Log: From: Tim Bunce  
+             To: perlbug@perl.com 
+             Subject: bug in pod2man search for perl binary [5.005_5x]
+             Date: Sat, 12 Dec 1998 23:08:51 +0000 
+             Message-ID: <19981212230851.A20578@ig.co.uk> 
+     Branch: cfgperl
+           ! pod/pod2man.PL
 ____________________________________________________________________________
-[   214] By: nick                                  on 1997/11/08  15:07:24
-        Log: Remove 'configure' leaving configure.gnu and Configure
-             Win32 ignores case and keeps trying to update
-             repository copy of 'configure' or 'Configure' with
-             the other.
-     Branch: ansiperl
-           - configure
-           ! MANIFEST
+[  2541] By: gbarr                                 on 1998/12/30  14:37:14
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Wed, 23 Dec 1998 21:26:38 +0100
+             Message-ID: <36895086.8849224@smtp1.ibm.net>
+             Subject: [PATCH 5.005_03m1] subdirectory Makefiles should inherit CAPI setting from command line
+     Branch: maint-5.005/perl
+           ! lib/ExtUtils/MakeMaker.pm
 ____________________________________________________________________________
-[   213] By: nick                                  on 1997/11/08  15:03:39
-        Log: Get threads working again on Win32
-             Root cause of fail was init_thread_intern() in
-             new_struct_thread() (which is called in parent thread)
-             clobbering dTHR of parent thread. 
-             It is doubtfull if setting 'self' in new_struct_thread()
-             is 'right' but left in for now.
-     Branch: ansiperl
-	   ! ext/Thread/Thread.xs perl.c thread.h util.c win32/Makefile
-           ! win32/win32thread.c win32/win32thread.h
+[  2540] By: jhi                                   on 1998/12/30  08:42:04
+        Log: Evermore AUTHORS and MAINTAIN.
+     Branch: cfgperl
+           ! AUTHORS MAINTAIN
 ____________________________________________________________________________
-[   212] By: nick                                  on 1997/11/08  00:34:03
-        Log: Add :base_thread to :default in Opcode.pm
-             This allows lib/safe.t to pass when threaded.
-             It is unclear if 'lock' should be safe as it allows
-             denial of service attack, but could not figure out
-             how to add just 'specific' (sic) to :default
-             without triggering 'already tagged' warning noise.
-     Branch: ansiperl
-           ! ext/Opcode/Opcode.pm win32/makefile.mk
+[  2539] By: jhi                                   on 1998/12/29  15:10:34
+        Log: More AUTHORS and MAINTAIN.
+     Branch: cfgperl
+           ! AUTHORS MAINTAIN
 ____________________________________________________________________________
-[   211] By: nick                                  on 1997/11/07  23:59:31
-        Log: Merge changes as of 18:00 CST 
-     Branch: ansiperl
-          !> op.c pp.c pp_sys.c thread.h util.c
-____________________________________________________________________________
-[   210] By: nick                                  on 1997/11/07  23:52:35
-        Log: Reverse integrate Malcolm's chanes into local
-             repository, then import result back into my view
-             of Malcolm's repository.
-             Builds and passes (most) tests with GNU C++/Solaris
-             and Borland C++, Win32.
-     Branch: ansiperl
-	   ! doop.c embed.h ext/Thread/Thread.xs global.sym gv.c hv.c
-	   ! interp.sym mg.c op.c opcode.h opcode.pl patchlevel.h perl.c
-	   ! perl.h pp.c pp_ctl.c pp_sys.c proto.h sv.c sv.h taint.c
-           ! thread.h toke.c util.c win32/makefile.mk
-____________________________________________________________________________
-[   209] By: mbeattie                              on 1997/11/07  18:12:36
-        Log: Change pp_tie and pp_dbmopen to use perl_call_sv instead of a
-             DIY pp_entersub (in preparation for AUTOLOAD change). dbmopen
-             not tested. ofslen now maps to thr->Tofslen in thread.h. Added
-             missing #ifdef USE_THREADS around some DEBU_L statements in die().
-             Building without USE_THREADS fails quite a lot of tests. It looks
-             as though the move to per-thread magicals must be missing some
-             #ifdef USE_THREADS.
-     Branch: perl
-           ! op.c pp.c pp_sys.c thread.h util.c
-____________________________________________________________________________
-[   208] By: nick                                  on 1997/11/07  01:37:28
-        Log: Raw integrate of latest perl
-     Branch: ansiperl
-           ! t/TEST
-	  !> README.threads Todo.5.005 embed.h ext/Opcode/Opcode.pm
-	  !> ext/Thread/Thread.xs global.sym gv.c interp.sym op.c op.h
-	  !> perl.c perl.h pp.c pp_ctl.c pp_hot.c proto.h scope.h sv.h
-          !> thread.h toke.c util.c
+[  2537] By: jhi                                   on 1998/12/29  14:34:47
+        Log: From: Frank Ridderbusch 
+             Date: Tue, 15 Dec 1998 16:23:12 +0100 (MET)
+             Message-ID: <13942.32480.700000.640927@utensil>
+             Subject: Minor Bug in AutoSplit.qm in 5.005 and 5.004
+             (mirror change#2531 in the 5.005-maint)
+     Branch: cfgperl
+           ! lib/AutoSplit.pm
 ____________________________________________________________________________
-[   207] By: mbeattie                              on 1997/11/06  14:58:00
-        Log: Update README.threads and Todo.5.005.
-     Branch: perl
-           ! README.threads Todo.5.005
+[  2531] By: gbarr                                 on 1998/12/29  14:12:25
+        Log: change in_pod pattern to /^=\w/ from /^=/
+             From: Frank Ridderbusch 
+             Date: Tue, 15 Dec 1998 16:23:12 +0100 (MET)
+             Message-ID: <13942.32480.700000.640927@utensil>
+             Subject: Minor Bug in AutoSplit.qm in 5.005 and 5.004
+     Branch: maint-5.005/perl
+           ! lib/AutoSplit.pm
 ____________________________________________________________________________
-[   206] By: mbeattie                              on 1997/11/06  14:37:37
-        Log: Remove #ifdef DEPRECATED stuff: newXSUB, pp_entersubr, FREE_TMPS().
-     Branch: perl
-           ! op.c pp_ctl.c proto.h scope.h
+[  2525] By: jhi                                   on 1998/12/29  13:06:26
+        Log: From: "Vishal Bhatia" 
+             To: perl5-porters@perl.org
+             Subject: [PATCH 5.005_54] More minor  Fixes in CC.pm/C.pm
+             Date: 16 Dec 1998 03:17:03 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm
 ____________________________________________________________________________
-[   205] By: mbeattie                              on 1997/11/06  14:31:38
-        Log: Per-thread magicals now stored in their own thr->magicals and keyed
-             more directly. cvcache and oursv become ordinary struct thread
-             fields instead of #defined thr->Tfoo ones. SvREFCNT_inc now checks
-             for 0 again. Main thread initialisation done by new function
-             init_main_thread instead of (now fixed) new_struct_thread.
-             
-             Jobs fixed ...
-             
-             jmpenv fixed on 1997/11/06 by mbeattie@localhost
+[  2524] By: jhi                                   on 1998/12/29  13:00:06
+        Log: From: "Vishal Bhatia" 
+             To: perl5-porters@perl.org
+             Cc: rmb1@cise.npl.co.uk, nick@ni-s.u-net.com
+             Subject: [PATCH 5.005_54] Re:perlcc -e 'my $x = shift; print +($x ?...' failure
+             Date: 10 Dec 1998 08:30:02 +0200
+             Message-ID: 
              
-             Subject: [perl5.004_53; patch] eval's and threads
-             Date: 23 Oct 1997 23:59:19 -0400
-             From: Owen Taylor 
-     Branch: bugs
-           + jmpenv
-     Branch: perl
-	   ! embed.h ext/Thread/Thread.xs global.sym gv.c op.c perl.c
-           ! pp_ctl.c pp_hot.c proto.h sv.h thread.h toke.c util.c
-____________________________________________________________________________
-[   204] By: mbeattie                              on 1997/11/05  17:18:18
-        Log: Per-thread magicals mostly working (and localisable). Now getting
-             intermittent occasional "Use of uninitialized value" warnings
-             which may be due to some op flag black magic I've broken.
-     Branch: perl
-	   ! embed.h ext/Opcode/Opcode.pm ext/Thread/Thread.xs gv.c
-	   ! interp.sym op.c op.h perl.c perl.h pp.c thread.h toke.c util.c
-____________________________________________________________________________
-[   203] By: nick                                  on 1997/11/05  01:04:10
-        Log: Builds C++ Borland, MSVC++ (Win32) and GCC++ (Solaris)
-     Branch: ansiperl
-	   ! XSUB.h doio.c doop.c embed.h ext/SDBM_File/sdbm/sdbm.h
-	   ! ext/Thread/Thread.xs global.sym gv.c hv.c interp.sym mg.c
-	   ! miniperlmain.c op.c op.h opcode.h opcode.pl patchlevel.h
-	   ! perl.c perl.h pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c proto.h
-	   ! sv.c sv.h taint.c thread.h toke.c util.c win32/Makefile
-	   ! win32/config.vc win32/config_H.vc win32/makedef.pl
-	   ! win32/makefile.mk win32/perllib.c win32/win32.c win32/win32.h
-	   ! win32/win32io.c win32/win32io.h win32/win32iop.h
-           ! win32/win32sck.c win32/win32thread.h
-____________________________________________________________________________
-[   202] By: nick                                  on 1997/11/05  00:50:27
-        Log: Compile(d) at least once with threads on win32 
-             but did not work
-     Branch: ansiperl
-           ! embed.h perl.c thread.h
-____________________________________________________________________________
-[   201] By: nick                                  on 1997/11/05  00:32:13
-        Log: Trivial integrate
-     Branch: ansiperl
-          !> patchlevel.h
-____________________________________________________________________________
-[   200] By: mbeattie                              on 1997/11/04  12:06:09
-        Log: Up patchlevel to 5.004_54 (I missed _53 for the last release).
-     Branch: perl
-           ! patchlevel.h
-____________________________________________________________________________
-[   199] By: nick                                  on 1997/11/01  00:18:52
-        Log: Integrate mainline @ 18:15 CST 31 Oct 1997
-     Branch: ansiperl
-	  !> doop.c embed.h ext/Thread/Thread.xs global.sym gv.c hv.c
-	  !> interp.sym mg.c op.c opcode.h opcode.pl perl.c perl.h pp.c
-	  !> pp_ctl.c pp_sys.c proto.h sv.c sv.h taint.c thread.h toke.c
-          !> util.c
-____________________________________________________________________________
-[   198] By: nick                                  on 1997/11/01  00:08:33
-        Log: win32thread.* not in MANIFEST which has muddled moving
-             back and forth between depots.
-     Branch: ansiperl
-           ! MANIFEST win32/win32thread.c win32/win32thread.h
-____________________________________________________________________________
-[   197] By: nick                                  on 1997/11/01  00:02:49
-        Log: Test changes
-     Branch: ansiperl
-           + t/lib/thread.t t/op/nothread.t thread.sym
-           ! MANIFEST
-____________________________________________________________________________
-[   196] By: nick                                  on 1997/10/31  23:54:01
-        Log: Further ANSI changes now builds and passes (most) tests
-             with gcc -x c++. 
-     Branch: ansiperl
-	   ! INTERN.h embed.h ext/DynaLoader/dl_dlopen.xs
-	   ! ext/Fcntl/Fcntl.xs ext/GDBM_File/GDBM_File.xs ext/IO/IO.xs
-	   ! ext/Opcode/Opcode.xs ext/POSIX/POSIX.xs
-	   ! ext/SDBM_File/sdbm/hash.c ext/SDBM_File/sdbm/pair.c
-	   ! ext/SDBM_File/sdbm/sdbm.c ext/SDBM_File/sdbm/sdbm.h
-	   ! ext/SDBM_File/sdbm/util.c ext/Socket/Socket.xs
-	   ! ext/Thread/Thread.xs ext/attrs/attrs.xs global.sym perl.h
-	   ! perly.c sv.c t/lib/english.t t/op/misc.t thread.h util.c
-	   ! win32/Makefile win32/makedef.pl win32/makefile.mk x2p/a2p.c
-	   ! x2p/a2p.h x2p/a2py.c x2p/hash.c x2p/str.c x2p/util.c
-           ! x2p/walk.c
-____________________________________________________________________________
-[   195] By: mbeattie                              on 1997/10/31  18:05:31
-        Log: Half way through moving per-thread magicals into per-thread fields
-             and the associated new OP_SPECIFIC and find_thread_magical stuff.
-             perl will compile but plenty of the magicals are still broken.
-     Branch: perl
-	   ! doop.c embed.h ext/Thread/Thread.xs global.sym gv.c hv.c
-	   ! interp.sym mg.c op.c opcode.h opcode.pl perl.c perl.h pp.c
-	   ! pp_ctl.c pp_sys.c proto.h sv.c sv.h taint.c thread.h toke.c
-           ! util.c
-____________________________________________________________________________
-[   194] By: nick                                  on 1997/10/31  01:43:49
-        Log: Convert miniperl sources to ANSI C. Several passes of
-             GNU C's 'protoize' plus a few hand edits.
-             Will compile miniperl with gcc -x c++ (i.e. treat .c a C++ files)
-             Does not link seems gcc's C++ does not define a symbol for
-             const char foo[] = "....";
-             i.e. with empty [].
-     Branch: ansiperl
-	   ! av.c deb.c doio.c doop.c dump.c gv.c hv.c malloc.c mg.c
-	   ! miniperlmain.c op.c perl.c perl.h perlio.c perly.y pp.c
-	   ! pp_ctl.c pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c
-           ! sv.c taint.c toke.c universal.c util.c
+             (Nick's part was applied earlier, in change #2460)
+     Branch: cfgperl
+           ! ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm
 ____________________________________________________________________________
-[   193] By: nick                                  on 1997/10/30  03:00:01
-        Log: Make the ansi branch
-     Branch: ansiperl
-          +> (branch 907 files)
-____________________________________________________________________________
-[   192] By: nick                                  on 1997/10/30  02:48:17
-        Log: Oneperl builds with THREADS/THISPTR Borland
-             Manualy inserted Sarathy's new COND_XXXXX from his mail.
-             Manual change if Tself -> self as was easier than resolve :-(
-             Two aTHIS's in op.c
-     Branch: oneperl
-	   ! embed.h op.c thread.h thread.sym win32/makefile.mk
-           ! win32/win32thread.h
-____________________________________________________________________________
-[   191] By: nick                                  on 1997/10/30  01:54:50
-        Log: Raw resolve of latest sources with oneperl
-     Branch: oneperl
-	  !> Todo.5.005 ext/Thread/Thread.xs fakethr.h op.c op.h opcode.h
-	  !> opcode.pl perl.c thread.h win32/win32thread.c
-          !> win32/win32thread.h
-____________________________________________________________________________
-[   190] By: mbeattie                              on 1997/10/29  14:39:54
-        Log: Remove global macro "self". Change thr->Tself to thr->self.
-     Branch: perl
-	   ! ext/Thread/Thread.xs fakethr.h perl.c thread.h
-           ! win32/win32thread.c win32/win32thread.h
+[  2523] By: jhi                                   on 1998/12/29  12:41:31
+        Log: From: "vishal bhatia" 
+             To: nick@ni-s.u-net.com
+             Cc: perl5-porters@perl.org
+             Subject: [PATCH 5.005_54] return value of perlcc/B::CC generated functions.
+             Date: 9 Dec 1998 06:50:30 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! ext/B/B/CC.pm
 ____________________________________________________________________________
-[   189] By: mbeattie                              on 1997/10/29  12:49:01
-        Log: Add to Todo: compiler with fake SvCUR in comppad_name entries.
-     Branch: perl
-           ! Todo.5.005
+[  2522] By: jhi                                   on 1998/12/29  12:15:18
+        Log: From: rjk@linguist.dartmouth.edu (Ronald J. Kimball)
+             To: perl5-porters@perl.org (Perl 5 Porters)
+             Subject: [PATCH 5.005_54] Pod::Text.pm reformating indented paragraphs
+             Date: 25 Dec 1998 23:02:28 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! lib/Pod/Text.pm
 ____________________________________________________________________________
-[   188] By: mbeattie                              on 1997/10/29  12:45:32
-        Log: Add pp_lock knowledge to compiler
-     Branch: perlext
-           ! Compiler/ccop.c Compiler/ccop.h
+[  2521] By: jhi                                   on 1998/12/29  12:07:54
+        Log: Undo #2519 (breaks universal.c).
+     Branch: cfgperl
+           ! XSUB.h
 ____________________________________________________________________________
-[   187] By: mbeattie                              on 1997/10/29  12:45:02
-        Log: Change peep() to optimise away unneeded rv2av in lval->[] and lval->{}
-     Branch: perl
-           ! op.c
+[  2519] By: jhi                                   on 1998/12/29  11:41:10
+        Log: From: Joshua Pritikin 
+             To: perl5-porters@perl.org
+             Cc: perl-xs@perl.org
+             Subject: XSUB.h refinement [PATCH]
+             Date: 18 Dec 1998 03:58:44 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! XSUB.h
 ____________________________________________________________________________
-[   186] By: mbeattie                              on 1997/10/29  12:43:36
-        Log: Move compiler OP class information into opcode.pl.
-     Branch: perl
-           ! op.h opcode.h opcode.pl
-____________________________________________________________________________
-[   185] By: nick                                  on 1997/10/26  22:52:05
-        Log: Split failing test in op/misc.t into op/nothread.t
-             so all tests can be passed where they apply.
-             Cleanup other two cases of THREADS/THISPTR.
-             Conditional compile option for CriticalSection's on Win32
-     Branch: oneperl
-           + t/op/nothread.t
-	   ! sv.h t/op/misc.t win32/Makefile win32/makedef.pl
-           ! win32/win32thread.h
-____________________________________________________________________________
-[   184] By: nick                                  on 1997/10/26  19:42:00
-        Log: USE_THISPTR fixes for CRIPPLED_CC (implied by threads)
-     Branch: oneperl
-           ! embed.h global.sym proto.h sv.c sv.h toke.c
-____________________________________________________________________________
-[   183] By: nick                                  on 1997/10/26  18:31:58
-        Log: Make USE_THREADS imply CRIPPLED_CC.
-             This avoids most of the uses of 'Sv' and hence many needs of 
-             dTHR in extension code. 
-             With this change Data::Dumper builds as-is
-             and Tk only needs four tweaks:
-             1. Obscure dump-stack case which really needs dTHR
-             2. A curcop in error-message code
-             3. Two cases of SAVETMPS
-             4. A curcop == &compiling which is probably not required.
-             IMHO the SAVETMPS case is only one which merits further automation.
-     Branch: oneperl
-	   ! embed.h global.sym perl.h sv.c win32/Makefile win32/makedef.pl
-____________________________________________________________________________
-[   182] By: nick                                  on 1997/10/26  16:31:58
-        Log: Change dSP to imply dTHR for extension source compatibility
-             introduce djSP (Declare Just SP) for use in perl sources
-             and thread-aware extensions. Use latter.
-     Branch: oneperl
-	   ! XSUB.h doio.c doop.c ext/Thread/Thread.xs gv.c mg.c perl.c
-           ! pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c sv.c
-____________________________________________________________________________
-[   181] By: nick                                  on 1997/10/26  00:39:57
-        Log: More tests
-     Branch: oneperl
-           ! t/lib/thread.t
-____________________________________________________________________________
-[   180] By: nick                                  on 1997/10/25  22:18:27
-        Log: Use return of THREAD_CREATE() - add basic thread test
-     Branch: oneperl
-           + t/lib/thread.t
-           ! ext/Thread/Thread.xs
+[  2518] By: jhi                                   on 1998/12/29  11:36:19
+        Log: From: abigail@fnx.com
+             To: perl5-porters@perl.org (Perl Porters)
+             Subject: [PATCH 5.005_02; lib/fields.pm] Typos in pod.
+             Date: 28 Dec 1998 21:39:15 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! lib/fields.pm
 ____________________________________________________________________________
-[   179] By: nick                                  on 1997/10/25  21:25:23
-        Log: Builds with no thread/this
-     Branch: oneperl
-	   ! ext/Thread/Thread.xs t/lib/english.t win32/makedef.pl
-           ! win32/win32thread.c
+[  2517] By: jhi                                   on 1998/12/29  11:35:03
+        Log: Document change #2516.
+     Branch: cfgperl
+           ! pod/perldelta.pod
 ____________________________________________________________________________
-[   178] By: nick                                  on 1997/10/25  18:28:03
-        Log: Cleanup dead #ifdef branch introduced by scruffy merging.
-     Branch: oneperl
-           ! perl.c
+[  2516] By: jhi                                   on 1998/12/29  11:32:26
+        Log: From: Ilya Zakharevich 
+             To: perl5-porters@perl.org (Mailing list Perl5)
+             Subject: [PATCH 5.005_53] Warn on unrecognized alpha escapes.
+             Date: 9 Dec 1998 10:39:31 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! pod/perldiag.pod regcomp.c toke.c
 ____________________________________________________________________________
-[   177] By: nick                                  on 1997/10/25  18:11:33
-        Log: Basic integrate of oneperl with threads, passes 
-             tests THISPTR+THREADs - win32/win32thread.* needed
-             changes (where did they come from)?
-     Branch: oneperl
-	   ! embed.h ext/Thread/Thread.xs perl.h thread.h win32/Makefile
-           ! win32/makedef.pl win32/win32thread.c win32/win32thread.h
-____________________________________________________________________________
-[   176] By: nick                                  on 1997/10/25  17:05:52
-        Log: Onepel builds THISPTR no threads
-     Branch: oneperl
-           ! ext/Thread/Thread.xs thread.h win32/makedef.pl
-____________________________________________________________________________
-[   175] By: nick                                  on 1997/10/25  16:40:10
-        Log: Integrate oneperl with new style JOIN etc. macros
-     Branch: oneperl
-          +> win32/win32thread.c win32/win32thread.h
-	  !> Todo.5.005 ext/POSIX/POSIX.xs ext/Thread/Thread.xs fakethr.h
-	  !> global.sym gv.c hv.c mg.c op.c opcode.h opcode.pl perl.c
-	  !> perl.h pp.c pp_hot.c sv.h thread.h vms/descrip.mms
-	  !> vms/gen_shrfls.pl vms/vms.c vms/vmsish.h win32/Makefile
-          !> win32/makefile.mk
-____________________________________________________________________________
-[   174] By: mbeattie                              on 1997/10/24  17:14:00
-        Log: Remove xcv_condp CV field which is no longer used.
-     Branch: perl
-           ! sv.h
+[  2515] By: jhi                                   on 1998/12/29  11:27:11
+        Log: From: Ilya Zakharevich 
+             To: perl5-porters@perl.org (Mailing list Perl5)
+             Subject: [PATCH 5.005_53] Bugs in hairy interactions of feature in REx
+             Date: 8 Dec 1998 09:02:04 +0200
+             Message-ID: 
+             
+             \G fixes (wasn't working right with //g, s///, and $_ in (?{})).
+     Branch: cfgperl
+           ! pp_ctl.c pp_hot.c regexec.c regexp.h t/op/pat.t t/op/subst.t
 ____________________________________________________________________________
-[   173] By: mbeattie                              on 1997/10/24  14:36:09
-        Log: Patches for VMS [Dan Sugalski]
-     Branch: bugs
-           + vms2
-     Branch: perl
-	   ! ext/POSIX/POSIX.xs vms/descrip.mms vms/gen_shrfls.pl vms/vms.c
-           ! vms/vmsish.h
+[  2514] By: jhi                                   on 1998/12/29  11:21:31
+        Log: From: Ilya Zakharevich 
+             To: perl5-porters@perl.org (Mailing list Perl5)
+             Subject: [PATCH 5.005_53] Regexp tests and UTF8
+             Date: 8 Dec 1998 07:02:01 +0200
+             Message-ID: 
+     Branch: cfgperl
+           ! regcomp.c
 ____________________________________________________________________________
-[   172] By: mbeattie                              on 1997/10/24  13:50:59
-        Log: Improve internal threading API. Introduce win32/win32thread.[ch]
-             to use new API and patch win32 makefile stuff a little.
-     Branch: perl
-           + win32/win32thread.c win32/win32thread.h
-	   ! Todo.5.005 ext/Thread/Thread.xs fakethr.h global.sym gv.c hv.c
-           ! perl.c perl.h thread.h win32/Makefile win32/makefile.mk
+[  2513] By: jhi                                   on 1998/12/29  11:18:34
+        Log: From: Ilya Zakharevich 
+             Subject: [PATCH 5.005_*] Dumpvar.pm
+             To: perl5-porters@perl.org (Mailing list Perl5)
+             Date: 7 Dec 1998 10:17:35 +0200
+             Message-ID: 
+     Branch: cfgperl
+           + lib/Dumpvalue.pm
+           ! MANIFEST
 ____________________________________________________________________________
-[   171] By: mbeattie                              on 1997/10/23  14:00:27
-        Log: Fix pp_hot.c:get_db_sub core dump when perl debugger used.
-             
-             Jobs fixed ...
-             
-             get_db_sub fixed on 1997/10/23 by mbeattie@squash
+[  2511] By: gbarr                                 on 1998/12/28  14:55:28
+        Log: From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Tue, 01 Dec 1998 00:07:33 +0100
+             Message-ID: <366921b5.14512598@smtp1.ibm.net>
+             Subject: Re: 5.005_03-MAINT-TRIAL1, [PATCH] to compile on Win32
              
-             Subject: [perl5.004_53] Debugger crash (patch)
-             Date: Thu, 16 Oct 1997 22:03:09 -0400
-             From: Owen Taylor 
-     Branch: bugs
-           + get_db_sub
-     Branch: perl
-           ! pp_hot.c
+             From: jan.dubois@ibm.net (Jan Dubois)
+             Date: Wed, 02 Dec 1998 00:24:54 +0100
+             Message-ID: <366a77bb.19498126@smtp1.ibm.net>
+             Subject: Re: 5.005_03-MAINT-TRIAL1, [PATCH] spaces in filenames support
+     Branch: maint-5.005/perl
+	   ! perl.h proto.h taint.c win32/GenCAPI.pl win32/Makefile
+	   ! win32/config.bc win32/config.gc win32/config.vc
+           ! win32/config_sh.PL win32/makedef.pl
 ____________________________________________________________________________
-[   170] By: mbeattie                              on 1997/10/23  09:22:40
-        Log: Fix refcounts for lock/magic_mutexfree. Make OP_LOCK auto-ref
-             its argument using ck_rfun as OP_DEFINED. Make pp_lock return
-             a ref to its argument for AV, HV, CV. 
-     Branch: perl
-           ! mg.c op.c opcode.h opcode.pl pp.c pp_hot.c
-____________________________________________________________________________
-[   169] By: gsar                                  on 1997/10/21  03:49:25
-        Log: With these fixes, oneperl builds THISPTR && THREADS under both win32 compilers:
-             - Fixup static functions that were missing aTHIS.
-             - s/extern/EXT/ in dTHR macro, or Borland CC croaks.
-             - Removed static functions from global.sym.
-             - Typo in perl.h.
-             - Additions to makefile.mk.
-     Branch: oneperl
-	   ! embed.h embed.pl global.sym op.c perl.h pp_ctl.c toke.c
-           ! win32/makefile.mk
+[  2509] By: jhi                                   on 1998/12/28  13:00:31
+    Log: Kickstart AUTHORS and MAINTAIN.
+ Branch: cfgperl
+       + AUTHORS MAINTAIN
+       ! MANIFEST
+____________________________________________________________________________
+[  2508] By: jhi                                   on 1998/12/28  08:04:00
+    Log: From: Nathan Torkington 
+	 To: perlbug@perl.com
+	 Subject: [PATCH] perlxstut.pod fix
+	 Date: Sat, 26 Dec 1998 14:28:21 +1300 (NZDT)
+	 Message-ID: <13956.15285.933914.320849@localhost.frii.com>
+ Branch: cfgperl
+       ! pod/perlxstut.pod
+____________________________________________________________________________
+[  2507] By: jhi                                   on 1998/12/28  07:59:00
+    Log: From: abigail@fnx.com
+	 To: perlbug@perl.com
+	 Subject: [PATCH 5.005_02] Re: m// doc is buggy (was Re: m'$foo' is undocumented)
+	 Date: Wed, 23 Dec 1998 22:59:59 -0500 (EST)
+	 Message-ID: <19981224035959.16994.qmail@alexandra.wayne.fnx.com>
+	 (slightly modified, a part of the patch was rejected)
+	 (strange, I thought I had already submitted this one
+	 but Perforce disagrees with me...)
+ Branch: cfgperl
+       ! pod/perlop.pod
+____________________________________________________________________________
+[  2506] By: jhi                                   on 1998/12/28  07:56:59
+    Log: From: Artur 
+	 To: perlbug@perl.com
+	 Subject: PATCH: perlmodlib.pod
+	 Date: Fri, 25 Dec 1998 00:48:39 +0000
+	 Message-ID: <3682E0E7.EBFB5D65@vogon-solutions.com>
+ Branch: cfgperl
+       ! pod/perlmodlib.pod pod/perlop.pod
+____________________________________________________________________________
+[  2505] By: jhi                                   on 1998/12/28  07:46:06
+    Log: From: abigail@fnx.com
+	 To: perl5-porters@perl.org (Perl Porters)
+	 Subject: [PATCH 5.005_02] Typo in documentation of pod2html.
+	 Date: Wed, 23 Dec 1998 22:32:07 -0500 (EST)
+	 Message-ID: <19981224033207.16751.qmail@alexandra.wayne.fnx.com>
+ Branch: cfgperl
+       ! pod/pod2html.PL
+____________________________________________________________________________
+[  2504] By: jhi                                   on 1998/12/28  07:44:35
+    Log: From: Jim Avera 
+	 To: perlbug@perl.com
+	 Subject: perlbug bug - shows dates reversed
+	 Date: Wed, 23 Dec 1998 18:08:56 -0800 (PST)
+	 Message-Id: <199812240208.SAA27616@membrane.ssd.hal.com>
+ Branch: cfgperl
+       ! utils/perlbug.PL
+____________________________________________________________________________
+[  2503] By: jhi                                   on 1998/12/28  07:41:39
+    Log: From: jan.dubois@ibm.net (Jan Dubois)
+	 To: makemaker@franz.ww.TU-Berlin.DE, perl5-porters@perl.org
+	 Subject: [PATCH 5.005_03m1] subdirectory Makefiles should inherit CAPI setting from command line
+	 Date: Wed, 23 Dec 1998 21:26:38 +0100
+	 Message-ID: <36895086.8849224@smtp1.ibm.net>
+ Branch: cfgperl
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  2502] By: jhi                                   on 1998/12/28  07:39:20
+    Log: From: Blair Zajac 
+	 To: perl5-porters@perl.org
+	 Subject: Tie::SubstrHash patch
+	 Date: Wed, 23 Dec 1998 17:13:32 -0800
+	 Message-ID: <3681953C.8B6A90AA@geostaff.com>
+ Branch: cfgperl
+       ! lib/Tie/SubstrHash.pm
+____________________________________________________________________________
+[  2501] By: jhi                                   on 1998/12/28  07:37:16
+    Log: From: Alan.Harder@Ebay.Sun.COM (Alan Harder)
+	 To: perlbug@perl.com
+	 Subject: perlfaq9 minor error
+	 Date: Wed, 23 Dec 1998 14:54:19 -0800
+	 Message-Id: <199812232254.OAA05986@moshpit.EBay.Sun.COM>
+ Branch: cfgperl
+       ! pod/perlfaq9.pod
+____________________________________________________________________________
+[  2500] By: jhi                                   on 1998/12/23  10:38:18
+    Log: More porting notes about filesystems, AmigaOS, and MiNT.
+ Branch: cfgperl
+       ! pod/perlport.pod
+____________________________________________________________________________
+[  2499] By: jhi                                   on 1998/12/22  09:26:49
+    Log: Add few MSG_ and uio constants.
+ Branch: cfgperl
+       ! ext/Socket/Socket.pm ext/Socket/Socket.xs iperlsys.h
+____________________________________________________________________________
+[  2498] By: jhi                                   on 1998/12/22  08:39:30
+    Log: Slight recoding of util.c:repeatcpy() to circumnavigate
+	 a Digital C compiler optimizer bug that broke the 'x'
+	 operator under certain circumstances.  See t/op/repeat.t
+	 test #20 for graphic details.  Reported in
+	 
+	 From: Gisle Aas 
+	 To: Mark Martinec 
+	 Cc: ach@xray.mpe.mpg.de, cpan-testers@perl.org, perl5-porters@perl.org
+	 Subject: Re: Digest-MD5-2.00 test fails on DEC Alpha - a patch
+	 Date: 18 Dec 1998 14:27:40 +0100
+	 Message-ID: 
+	 
+	 and discussed further in the thread
+	 
+	 From: Jarkko Hietaniemi 
+	 To: Gisle Aas 
+	 Cc: Mark Martinec , ach@xray.mpe.mpg.de,
+	 cpan-testers@perl.org, perl5-porters@perl.org
+	 Subject: x operator broken in DEC Alpha for 8-bit characters (Re: Digest-MD5-2.00 test fails on DEC Alpha - a patch)
+	 Date: Fri, 18 Dec 1998 16:18:37 +0200 (EET)
+	 Message-ID: <13946.25661.193449.138023@alpha.hut.fi>
+ Branch: cfgperl
+       ! t/op/repeat.t util.c
+____________________________________________________________________________
+[  2497] By: jhi                                   on 1998/12/21  14:18:57
+    Log: Change #2483 update.
+ Branch: cfgperl
+       ! t/op/tr.t
+____________________________________________________________________________
+[  2496] By: jhi                                   on 1998/12/21  14:07:41
+    Log: Update on change #2493.
+ Branch: cfgperl
+       ! t/pragma/warn/op
+____________________________________________________________________________
+[  2495] By: jhi                                   on 1998/12/21  13:52:00
+    Log: Change #2487 aftershock.
+ Branch: cfgperl
+       ! warning.pl
+____________________________________________________________________________
+[  2494] By: jhi                                   on 1998/12/21  12:35:00
+    Log: From: Chris Nandor 
+	 To: perl5-porters@perl.org
+	 Subject: [PATCH] perlport.pod v1.37
+	 Date: Sat, 19 Dec 1998 12:54:34 -0500
+	 Message-Id: 
+ Branch: cfgperl
+       ! pod/perlport.pod
+____________________________________________________________________________
+[  2493] By: jhi                                   on 1998/12/21  12:22:44
+    Log: From: Mark-Jason Dominus 
+	 To: perl5-porters@perl.com
+	 Subject: PATCH (5.005_02): Dejargonizing
+	 Date: Sun, 20 Dec 1998 14:35:20 -0500
+	 Message-ID: <19981220193520.11230.qmail@plover.com>
+	 
+	 From: Mark-Jason Dominus 
+	 To: perl5-porters@perl.com
+	 Subject: PATCH (5.005_02): Spelling correction in warning message
+	 Date: Sun, 20 Dec 1998 13:51:30 -0500
+	 Message-ID: <19981220185130.11067.qmail@plover.com>
+ Branch: cfgperl
+       ! doio.c op.c
+____________________________________________________________________________
+[  2492] By: jhi                                   on 1998/12/21  09:00:05
+    Log: From: "Vishal Bhatia" 
+	 To: perl5-porters@perl.org
+	 Subject: [PATCH 5.005_54] pp_next/pp_last/pp_redo problems
+	 Date: Sun, 20 Dec 1998 19:03:25 PST
+	 Message-ID: <19981221030326.27660.qmail@hotmail.com>
+	 
+	 (slightly reformatted)
+ Branch: cfgperl
+       ! ext/B/B/CC.pm
+____________________________________________________________________________
+[  2491] By: nick                                  on 1998/12/20  14:21:29
+    Log: Save _all_ GV's which have SV, AV or HV set.
+ Branch: perl
+       ! ext/B/B/C.pm
+____________________________________________________________________________
+[  2490] By: jhi                                   on 1998/12/18  15:13:19
+    Log: Add idea about generalising cpp symbol probing of Errno.
+ Branch: cfgperl
+       ! Todo
+____________________________________________________________________________
+[  2489] By: jhi                                   on 1998/12/18  14:47:57
+    Log: Address some of the issues of:
+	 
+	 From: Tom Christiansen 
+	 To: perl-porters-active@jhereg.perl.com
+	 Subject: Undocumentation Issues for 5.005
+	 Date: Thu, 17 Dec 1998 14:46:24 -0700
+	 Message-Id: <199812172146.OAA05316@jhereg.perl.com>
+ Branch: cfgperl
+       ! pod/perl5005delta.pod
+____________________________________________________________________________
+[  2488] By: jhi                                   on 1998/12/18  11:26:32
+    Log: From: root 
+	 To: perlbug@perl.com
+	 Cc: k@dubravka.in-berlin.de
+	 Subject: Please add no_modify to PERL_POLLUTE
+	 Date: Fri, 18 Dec 1998 10:45:52 +0100
+	 Message-Id: <199812180945.KAA05275@dubravka.in-berlin.de>
+	 
+	 (Really from Andreas König)
+ Branch: cfgperl
+       ! embed.pl
+____________________________________________________________________________
+[  2487] By: jhi                                   on 1998/12/17  14:05:52
+    Log: Some (by far not all) issues of the below message addressed.
+	 
+	 From: Tom Christiansen 
+	 To: The Perl Porters Mailing List 
+	 Subject: important UNDOC issues for 5.005_54
+	 Date: Wed, 16 Dec 1998 21:14:53 -0700
+	 Message-Id: <199812170414.VAA25860@jhereg.perl.com>
+ Branch: cfgperl
+       ! lib/warning.pm pod/perl5005delta.pod pod/perldelta.pod
+____________________________________________________________________________
+[  2486] By: jhi                                   on 1998/12/17  12:47:15
+    Log: From: Ilya Zakharevich 
+	 To: domo@computer.org
+	 Cc: jhi@iki.fi, perl5-porters@perl.org
+	 Subject: Re: stuff related to malloc.c
+	 Date: Wed, 16 Dec 1998 16:40:27 -0500 (EST)
+	 Message-Id: <199812162140.QAA04925@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+       ! malloc.c
+____________________________________________________________________________
+[  2485] By: jhi                                   on 1998/12/17  12:17:19
+    Log: More porting notes.
+ Branch: cfgperl
+       ! Porting/pumpkin.pod
+____________________________________________________________________________
+[  2484] By: jhi                                   on 1998/12/15  08:38:05
+    Log: Undo #2386 and #2205.
+ Branch: cfgperl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2483] By: jhi                                   on 1998/12/14  17:58:35
+    Log: lib was missing from @INC.
+ Branch: cfgperl
+       ! t/op/tr.t
+____________________________________________________________________________
+[  2482] By: jhi                                   on 1998/12/14  17:52:42
+    Log: Was missing use Text::Wrap.
+ Branch: cfgperl
+       ! t/lib/textfill.t
+____________________________________________________________________________
+[  2481] By: jhi                                   on 1998/12/14  16:00:22
+    Log: nlist.h not yet Configure-probed but DynaLoader Linux-hinted.
+	 
+	 From: Jonathan Roy 
+	 To: perl5-porters@perl.org
+	 Subject: nlist.h add to Configure checks?
+	 Date: Sun, 13 Dec 1998 22:22:49 -0500
+	 Message-Id: <4.1.19981213221847.00a3e100@pop-server.tampabay.rr.com>
+ Branch: cfgperl
+       + ext/DynaLoader/hints/linux.pl
+       ! MANIFEST
+____________________________________________________________________________
+[  2480] By: jhi                                   on 1998/12/14  15:02:44
+    Log: Give up completely using nm in AIX.
+	 
+	 From: "Kurt D. Starsinic" 
+	 To: Gurusamy Sarathy , Jarkko Hietaniemi 
+	 Cc: perl5-porters@perl.org
+	 Subject: [PATCH 5.005_54] AIX 4.3.1.0 fails to locate some functions
+	 Date: Thu, 10 Dec 1998 00:51:46 -0500
+	 Message-ID: <19981210005146.B29986@O2.chapin.edu>
+ Branch: cfgperl
+       ! hints/aix.sh
+____________________________________________________________________________
+[  2479] By: jhi                                   on 1998/12/14  14:39:52
+    Log: AIX' error messages are different.
+	 
+	 From: "Kurt D. Starsinic" 
+	 To: Gurusamy Sarathy 
+	 Cc: perl5-porters@perl.org
+	 Subject: [PATCH 5.005_54] AIX 4.1.3.0 fails pragma/warning.t
+	 Date: Thu, 10 Dec 1998 00:42:36 -0500
+	 Message-ID: <19981210004236.A29986@O2.chapin.edu>
+	 
+	 From: Michael Engel 
+	 To: perlbug@perl.com
+	 Subject: erroes in installing perl5*53 on IBM RS6000, aix 4.1
+	 Date: Mon, 14 Dec 1998 16:15:20 +0200 (IST)
+	 Message-ID: 
+ Branch: cfgperl
+       ! t/pragma/warn/doio
+____________________________________________________________________________
+[  2475] By: jhi                                   on 1998/12/13  12:35:55
+    Log: From: Ilya Zakharevich 
+	 To: jhi@iki.fi
+	 Cc: Carl_Adler@idx.com, perl5-porters@perl.org
+	 Subject: Re: stuff related to malloc.c
+	 Date: Sat, 12 Dec 1998 19:39:44 -0500 (EST)
+	 Message-Id: <199812130039.TAA21704@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+       ! malloc.c
+____________________________________________________________________________
+[  2474] By: jhi                                   on 1998/12/13  12:32:42
+    Log: Some notes about porting issues.
+ Branch: cfgperl
+       ! Porting/pumpkin.pod
+____________________________________________________________________________
+[  2473] By: jhi                                   on 1998/12/13  12:03:58
+    Log: From: Laszlo Molnar 
+	 To: Perl 5 Porters 
+	 Subject: [patch 5.005_02] dos-djgpp update
+	 Date: Sun, 13 Dec 1998 00:08:44 +0100
+	 Message-ID: <19981213000844.C264@beeblebrox>
+ Branch: cfgperl
+       ! djgpp/config.over
 ____________________________________________________________________________
-[   168] By: nick                                  on 1997/10/20  02:47:18
-        Log: Passes expected tests with -DUSE_THREADS with/without -DUSE_THISPTR
-     Branch: oneperl
-	   ! embed.h ext/Thread/Thread.xs mg.c pp.c pp_hot.c proto.h
-           ! scope.h thread.h
-____________________________________________________________________________
-[   167] By: nick                                  on 1997/10/20  01:03:00
-        Log: Add missing aTHIS in cast
-     Branch: oneperl
-           ! win32/dl_win32.xs
-____________________________________________________________________________
-[   166] By: nick                                  on 1997/10/20  00:44:42
-        Log: Builds and passes test with -DUSE_THISPTR
-     Branch: oneperl
-	   ! ext/Thread/Thread.xs win32/Makefile win32/makedef.pl
-           ! win32/perllib.c
-____________________________________________________________________________
-[   165] By: nick                                  on 1997/10/19  21:45:36
-        Log: Oneperl runs miniperl with THISPTR (Win32 threading patch included)
-     Branch: oneperl
-	   ! embed.h ext/Thread/Thread.xs global.sym interp.sym perl.c
-	   ! perl.h t/TEST thread.h win32/Makefile win32/makedef.pl
-           ! win32/makefile.mk win32/perllib.c
-____________________________________________________________________________
-[   164] By: nick                                  on 1997/10/19  20:09:13
-        Log: oneperl compiles (but fails) with -DUSE_THISPTR
-     Branch: oneperl
-	   ! av.c embed.h mg.c perl.c perl.h pp.c pp_ctl.c pp_hot.c
-	   ! pp_sys.c proto.h regexec.c sv.c thread.h thread.sym util.c
-           ! win32/win32.c win32/win32.h
+[  2472] By: gbarr                                 on 1998/12/12  17:12:28
+    Log: undo changes to Exporter.pm from #2312
+ Branch: maint-5.005/perl
+       ! lib/Exporter.pm
+____________________________________________________________________________
+[  2465] By: jhi                                   on 1998/12/12  12:31:21
+    Log: Document that qw() taints.
+	 
+	 From: Christian Burger  
+	 To: perlbug@perl.com 
+	 Subject: taint problems
+	 Date: Sun, 1 Nov 1998 22:28:41 +0100 (MET) 
+	 Message-Id: <199811012128.WAA23381@terra.mpikg-teltow.mpg.de>
+ Branch: cfgperl
+       ! pod/perlop.pod
+____________________________________________________________________________
+[  2464] By: jhi                                   on 1998/12/11  14:09:51
+    Log: From: Horst von Brand 
+	 To: dist-users@foretune.co.jp
+	 Subject: (dist-users 871) dist-3.0@70 generates lots of main() without type
+	 Date: Mon, 07 Dec 1998 20:13:04 -0400
+	 Message-Id: <199812072313.UAA06181@sleipnir.valparaiso.cl>
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2463] By: jhi                                   on 1998/12/11  13:29:54
+    Log: MAXPATHLEN.
+ Branch: cfgperl
+       ! perl.h
+____________________________________________________________________________
+[  2462] By: jhi                                   on 1998/12/11  08:37:58
+    Log: From: Mark Kettenis 
+	 To: perl5-porters@perl.org
+	 Subject: [PATCH]5.005_54 (CONFIG) Added support for GNU/Hurd
+	 Date: Thu, 10 Dec 1998 22:00:57 +0100 (CET)
+	 Message-Id: <199812102100.WAA00097@delius.kettenis.nl>
+ Branch: cfgperl
+       + hints/gnu.sh
+____________________________________________________________________________
+[  2461] By: nick                                  on 1998/12/10  21:00:50
+    Log: Date: Wed, 09 Dec 1998 22:16:50 PST
+	 From: Vishal Bhatia 
+	 1. Fixes the bug  reported by  Robin Barker  
+	 2. Fixes the bug  regarding return value of c-functions generated out 
+	 of perl subs. ( Just includes the patch I sent earlier)
+	 3. Incorporates the other changes that need to be done to get CC.pm
+	 use ISA search for packages and methods on the same lines as C.pm
+	 
+	 Vishal would appreciate comments about B::Stackobj changes from 
+	 someone knowing that module well.
+ Branch: perl
+       ! ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm
+____________________________________________________________________________
+[  2460] By: jhi                                   on 1998/12/08  08:11:27
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> Changes ext/B/B.pm ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm
+      !> ext/B/B/Deparse.pm perl.h pod/perl.pod pod/perl5005delta.pod
+      !> pod/perldiag.pod pod/perlfunc.pod pp_sys.c t/lib/io_unix.t
+      !> toke.c util.c
+____________________________________________________________________________
+[  2459] By: jhi                                   on 1998/12/07  07:50:11
+    Log: From: hansm@icgroup.nl 
+	 Subject: Not OK: perl 5.00503 +MAINT_TRIAL_1 on OPENSTEP-Mach 4_1 (UNINSTALLED)
+	 Reply-To: hansmu@xs4all.nl 
+	 To: perlbug@perl.com 
+	 Date: Sun, 6 Dec 98 22:19:54 +0100 
+	 Message-Id: <9812062116.AA26445@icgned.icgroup.nl> 
+ Branch: cfgperl
+       ! util.c
+____________________________________________________________________________
+[  2458] By: gsar                                  on 1998/12/07  06:00:55
+    Log: fix dup lexical
+ Branch: perl
+       ! ext/B/B/Deparse.pm t/lib/io_unix.t
+____________________________________________________________________________
+[  2457] By: gsar                                  on 1998/12/06  14:38:59
+    Log: mention limit on line numbers reported by diagnostics
+ Branch: perl
+       ! pod/perl.pod toke.c
 ____________________________________________________________________________
-[   163] By: nick                                  on 1997/10/19  16:46:09
-        Log: Builds on NT4 without THISPTR or THREADS, passes all tests
-     Branch: oneperl
-           ! embed.h perl.h thread.h vars.h
-____________________________________________________________________________
-[   162] By: nick                                  on 1997/10/19  14:42:16
-        Log: Dubious merge of oneperl's variable and struct thread
-     Branch: oneperl
-          !> perl.h thread.h
-____________________________________________________________________________
-[   161] By: nick                                  on 1997/10/18  18:05:13
-        Log: integrate all but perl.h/thread.h
-     Branch: oneperl
-          +> Todo.5.005 perlio.sym
-          !> (integrate 98 files)
-____________________________________________________________________________
-[   160] By: nick                                  on 1997/10/18  03:49:27
-        Log: Integrate rest of sub-dirs into oneperl
-     Branch: oneperl
-	  +> ext/Thread/Makefile.PL ext/Thread/Notes ext/Thread/README
-	  +> ext/Thread/Thread.pm ext/Thread/Thread.xs
-	  +> ext/Thread/Thread/Queue.pm ext/Thread/Thread/Semaphore.pm
-	  +> ext/Thread/create.t ext/Thread/io.t ext/Thread/join.t
-	  +> ext/Thread/join2.t ext/Thread/list.t ext/Thread/lock.t
-	  +> ext/Thread/queue.t ext/Thread/sync.t ext/Thread/sync2.t
-	  +> ext/Thread/typemap ext/Thread/unsync.t ext/Thread/unsync2.t
-	  +> ext/Thread/unsync3.t ext/Thread/unsync4.t hints/newsos4.sh
-          +> hints/os390.sh
-           - ext/util/extliblist
-          !> (integrate 425 files)
-____________________________________________________________________________
-[   159] By: nick                                  on 1997/10/18  03:20:11
-        Log: Integrate (accept) t and win32 into oneperl
-     Branch: oneperl
-	  +> t/lib/dosglob.t win32/bin/pl2bat.pl win32/bin/runperl.pl
-	  +> win32/bin/search.pl win32/bin/webget.pl win32/config.bc
-	  +> win32/config.vc win32/config_H.bc win32/config_H.vc
-          +> win32/makefile.mk
-          !> (integrate 188 files)
-____________________________________________________________________________
-[   158] By: nick                                  on 1997/10/18  03:12:59
-        Log: Integrate lib/... into oneperl
-     Branch: oneperl
-          +> lib/File/DosGlob.pm lib/base.pm lib/chat2.pl
-          !> (integrate 138 files)
+[  2456] By: gsar                                  on 1998/12/06  13:49:02
+    Log: branch perldelta.pod
+ Branch: maint-5.005/perl
+      +> pod/perldelta.pod
+____________________________________________________________________________
+[  2455] By: gsar                                  on 1998/12/06  13:47:21
+    Log: clobber perldelta.pod to reestablish branch from perl5005delta.pod
+ Branch: maint-5.005/perl
+       - pod/perldelta.pod
+____________________________________________________________________________
+[  2454] By: gsar                                  on 1998/12/06  13:35:31
+    Log: fix outdated/incorrect info about arbitrary limits
+ Branch: perl
+       ! Changes perl.h pod/perl.pod pod/perl5005delta.pod
+       ! pod/perldiag.pod pod/perlfunc.pod pp_sys.c util.c
+____________________________________________________________________________
+[  2453] By: nick                                  on 1998/12/05  16:14:42
+    Log: Avoid hard-coding op numbers
+	 Update CC.pm to save %INC, and to co-exist with new C.pm
+ Branch: perl
+       ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm
+____________________________________________________________________________
+[  2452] By: nick                                  on 1998/12/05  10:44:28
+    Log: B.xs had its own code to calculate hash() which differed from
+	 PERL_HASH in hv.h - so all saved HV's were mangled - including %INC
+	 which meant that run-time require was re-done.
+	 Removed some debug from C.pm
+ Branch: perl
+       ! ext/B/B.xs ext/B/B/C.pm
+____________________________________________________________________________
+[  2451] By: nick                                  on 1998/12/04  21:58:49
+    Log: Snapshot of re-worked B::C which compiles Tk apps at least as
+	 well as _54, but with pre-scan for classes and save the ISA scheme.
+ Branch: perl
+       ! ext/B/B/C.pm
+____________________________________________________________________________
+[  2450] By: nick                                  on 1998/12/04  17:58:44
+    Log: Vishal Bhatia's patch as a basis.
+ Branch: perl
+       ! ext/B/B/C.pm ext/B/B/CC.pm
+____________________________________________________________________________
+[  2449] By: jhi                                   on 1998/12/04  16:39:21
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> t/op/goto.t t/op/tr.t
+____________________________________________________________________________
+[  2448] By: gsar                                  on 1998/12/04  06:06:49
+    Log: tweak test for UTEST
+ Branch: perl
+       ! t/op/tr.t
+____________________________________________________________________________
+[  2444] By: jhi                                   on 1998/12/03  14:37:22
+    Log: s/\bthe the\b/the/g *.pod
+ Branch: cfgperl
+       ! pod/perlfaq8.pod pod/perlfunc.pod pod/perlguts.pod
+____________________________________________________________________________
+[  2443] By: jhi                                   on 1998/12/03  13:39:53
+    Log: Change#2441 aftermath.
+ Branch: cfgperl
+       ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+       ! config_h.SH thread.h vms/subconfigure.com
+____________________________________________________________________________
+[  2441] By: jhi                                   on 1998/12/03  08:15:13
+    Log: From: Dan Sugalski 
+	 To: perl5-porters@perl.org, vmsperl@cor.newman.upenn.edu
+	 Subject: [PATCH 5.005_54]Initial VMS patches
+	 Date: 3 Dec 1998 01:05:55 +0200
+	 Message-ID: 
+	 
+	 The patch to config_h.SH requires more study because
+	 metaconfig needs to agree.
+ Branch: cfgperl
+       ! config_h.SH configure.com global.sym lib/ExtUtils/MM_VMS.pm
+       ! t/lib/textfill.t t/pragma/warning.t vms/descrip_mms.template
+       ! vms/gen_shrfls.pl vms/subconfigure.com vms/vmsish.h
+____________________________________________________________________________
+[  2440] By: gsar                                  on 1998/12/03  01:32:16
+    Log: add failed check-in of goto.t from change#1867
+ Branch: perl
+       ! t/op/goto.t
+____________________________________________________________________________
+[  2437] By: jhi                                   on 1998/12/02  18:03:51
+    Log: Fix most of the bad L<> links of
+	 
+	 From: Tom Christiansen  
+	 Subject: bad L<> links
+	 Reply-to: tchrist@perl.com 
+	 To: perlbug@jhereg.perl.com 
+	 Date: Tue, 11 Aug 1998 10:58:07 -0500 
+	 Message-Id: <199808111658.KAA00484@jhereg.perl.com> 
+	 
+	 The ones not fixed may require darker Pod::HTML magic,
+	 for example the perlguts.html#tags should work fine, IMHO.
+ Branch: cfgperl
+       ! pod/perl5005delta.pod pod/perlcall.pod pod/perldata.pod
+       ! pod/perldiag.pod pod/perlfaq5.pod pod/perlfaq7.pod
+       ! pod/perlfunc.pod pod/perlguts.pod pod/perllocale.pod
+       ! pod/perlobj.pod pod/perlport.pod pod/perlsub.pod
+       ! pod/perlvar.pod
+____________________________________________________________________________
+[  2436] By: jhi                                   on 1998/12/02  16:35:04
+    Log: One paste too many in #2345.
+ Branch: cfgperl
+       ! lib/Pod/Html.pm
+____________________________________________________________________________
+[  2435] By: jhi                                   on 1998/12/02  16:32:33
+    Log: Pod::Html and Pod::Text were not locale-savvy:
+	 for example in =head1 all non-ASCII-\w-runs were
+	 turned into underscores in NAME tags.  This could
+	 result in several NAME tags becoming identical.
+	 Reported by:
+	 
+	 From: Fyodor Krasnov  
+	 Subject: pod2html vs Russian Characters
+	 To: Tom.Christiansen@snn.aha.ru, tchrist@perl.com 
+	 Date: Tue, 24 Nov 1998 19:00:36 +0300 (MSK) 
+	 Message-Id: <199811241600.TAA05149@stat.aha.ru> 
+ Branch: cfgperl
+       ! lib/Pod/Html.pm lib/Pod/Text.pm
+____________________________________________________________________________
+[  2434] By: jhi                                   on 1998/12/02  10:29:00
+    Log: The real Mc5_54 integration.
+ Branch: cfgperl
+      !> Changes MANIFEST pod/perlhist.pod pp_hot.c
+____________________________________________________________________________
+[  2433] By: jhi                                   on 1998/12/02  08:52:13
+    Log: From: Andy Dougherty 
+	 To: Perl Porters 
+	 Subject: [PATCH 5.005_xx] Missing redirection of simple test program
+	 Date: Tue, 1 Dec 1998 13:40:12 -0500 (EST)
+	 Message-Id: 
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2432] By: jhi                                   on 1998/12/02  08:49:47
+    Log: From: Andy Dougherty 
+	 To: Perl Porters 
+	 Subject: [PATCH 5.005_xx] erroneous 'none' in lddlflags
+	 Date: Tue, 1 Dec 1998 12:50:27 -0500 (EST)
+	 Message-Id: 
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2431] By: jhi                                   on 1998/12/01  16:11:50
+    Log: From: achampio@lehman.com (Alan Champion)
+	 Subject: Not OK: perl 5.00503 +MAINT_TRIAL_1 on sun4-solaris 2.3 (UNINSTALLED)
+	 To: perlbug@perl.com
+	 Date: 1 Dec 1998 17:36:33 +0200
+	 Message-ID: 
+	 
+	 Skip NIS includes.
+ Branch: cfgperl
+       ! t/op/pwent.t
+____________________________________________________________________________
+[  2430] By: gsar                                  on 1998/12/01  12:12:50
+    Log: 5.005_54, as released
+ Branch: perl
+       ! Changes MANIFEST pod/perlhist.pod pp_hot.c
+____________________________________________________________________________
+[  2429] By: jhi                                   on 1998/12/01  11:28:39
+    Log: From: Anton Berezin 
+	 To: perl5-porters@perl.org
+	 Subject: [PATCH 5.005_54] Configure - hints/freebsd.sh signal handler type
+	 Date: 30 Nov 1998 19:46:24 +0100
+	 Message-ID: <864srhhvcv.fsf@lion.plab.ku.dk>
+ Branch: cfgperl
+       ! hints/freebsd.sh
+____________________________________________________________________________
+[  2428] By: jhi                                   on 1998/12/01  11:08:16
+    Log: Integrate from _54 mainperl modulo the NetBSD ifdef in util.c.
+ Branch: cfgperl
+      +> (branch 30 files)
+      !> (integrate 71 files)
+____________________________________________________________________________
+[  2427] By: jhi                                   on 1998/12/01  10:51:37
+    Log: Default to accepting a hinted $randfunc even when $csym
+	 does not find it.  (the previous defaylt behaviour was not
+	 to accept).
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2426] By: jhi                                   on 1998/12/01  10:13:03
+    Log: Separated the [:foo:] parsing to its own function.
+	 Passes all tests.
+ Branch: cfgperl
+       ! regcomp.c
+____________________________________________________________________________
+[  2425] By: jhi                                   on 1998/12/01  08:22:49
+    Log: Typo in comments.
+ Branch: cfgperl
+       ! regexec.c
+____________________________________________________________________________
+[  2424] By: jhi                                   on 1998/12/01  08:21:38
+    Log: From: Ilya Zakharevich 
+	 Subject: [PATCH 5.005_*] Debugger 'v' command
+	 To: perl5-porters@perl.org (Mailing list Perl5)
+	 Date: 1 Dec 1998 07:55:11 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! lib/perl5db.pl
+____________________________________________________________________________
+[  2423] By: jhi                                   on 1998/12/01  08:19:08
+    Log: From: pvhp@forte.com (Peter Prymmer)
+	 Subject: [PATCH 5.005_03t1 && 5.005_54]dll linkage side decks for OS/390
+	 To: perl5-porters@perl.org
+	 Date: 1 Dec 1998 07:27:11 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! hints/os390.sh
+____________________________________________________________________________
+[  2417] By: jhi                                   on 1998/11/30  08:14:00
+    Log: s/SCM_CREDENTIALSS/SCM_CREDENTIAL/
+ Branch: cfgperl
+       ! ext/Socket/Socket.xs
+____________________________________________________________________________
+[  2416] By: jhi                                   on 1998/11/30  08:00:15
+    Log: Undo #2395, seems more like a problem in netbsd-current.
+ Branch: cfgperl
+       ! util.c
+
+----------------
+Version 5.005_54
+----------------
+
 ____________________________________________________________________________
-[   157] By: nick                                  on 1997/10/18  02:55:53
-        Log: Make lib/Bundle/CPAN.pm text in oneperl too.
-     Branch: oneperl
-           ! lib/Bundle/CPAN.pm
+[  2414] By: gsar                                  on 1998/11/30  02:23:55
+    Log: more JPL tweaks
+ Branch: perl
+       - jpl/JNI/MANIFEST jpl/PerlInterpreter/Makefile
+       ! Changes MANIFEST jpl/JNI/JNI.pm jpl/README
+____________________________________________________________________________
+[  2413] By: gsar                                  on 1998/11/30  01:35:56
+    Log: stub bin/jpl that just runs JPL::Compile::files()
+ Branch: perl
+       + jpl/bin/jpl
+____________________________________________________________________________
+[  2412] By: gsar                                  on 1998/11/30  01:32:14
+    Log: delete symlink
+ Branch: perl
+       - jpl/bin/jpl
+____________________________________________________________________________
+[  2410] By: gsar                                  on 1998/11/30  01:30:44
+    Log: branch jpl from perlext to perl
+ Branch: perl
+      +> (branch 30 files)
+____________________________________________________________________________
+[  2407] By: gsar                                  on 1998/11/30  01:24:53
+    Log: JPL tweaks to build with 5.005
+ Branch: perlext
+       ! jpl/JNI/JNI.xs jpl/JNI/typemap jpl/JPL/Compile.pm
+       ! jpl/PerlInterpreter/PerlInterpreter.c jpl/README
+____________________________________________________________________________
+[  2406] By: gsar                                  on 1998/11/30  00:55:54
+    Log: integrate changes#2273,2274,2288,2291 from maint-5.004
+ Branch: perl
+       ! Porting/patchls doio.c lib/Sys/Syslog.pm t/op/die_exit.t
+____________________________________________________________________________
+[  2405] By: gsar                                  on 1998/11/30  00:28:55
+    Log: patchlevel up to 54
+ Branch: perl
+       ! patchlevel.h win32/Makefile win32/config_H.bc
+       ! win32/config_H.gc win32/config_H.vc win32/makefile.mk
+____________________________________________________________________________
+[  2403] By: gsar                                  on 1998/11/29  23:35:50
+    Log: integrate cfgperl changes into mainline
+ Branch: perl
+      !> Configure Porting/Glossary Porting/config.sh Porting/config_H
+      !> config_h.SH pod/perlfunc.pod t/op/grent.t t/op/pwent.t util.c
+____________________________________________________________________________
+[  2402] By: gsar                                  on 1998/11/29  23:08:42
+    Log: sync Text::Wrap version number
+ Branch: perl
+       ! lib/Text/Wrap.pm
+____________________________________________________________________________
+[  2401] By: gsar                                  on 1998/11/29  22:56:21
+    Log: textfill.t tweak
+ Branch: perl
+       ! t/lib/textfill.t
+____________________________________________________________________________
+[  2400] By: gsar                                  on 1998/11/29  22:50:41
+    Log: update to Text::Wrap 98.112901 from David Muir Sharnoff
+	 
+ Branch: perl
+       + t/lib/textfill.t
+       ! MANIFEST lib/Text/Wrap.pm
+____________________________________________________________________________
+[  2399] By: gsar                                  on 1998/11/29  22:28:05
+    Log: updated to Text::Wrap 98.112801 from CPAN; one published change
+	 has happened without the authors knowledge or consent; the subversive
+	 version (which is in 5.00502) breaks one of the tests in the
+	 authors testsuite; attempts are being made to find a fix that
+	 avoids breaking code already running with the 5.005_02 version
+	 From:    David Muir Sharnoff 
+	 Date:    Sat, 28 Nov 1998 04:34:17 PST
+	 Message-Id: <199811281234.EAA03082@idiom.com>
+	 Subject: Updated Text::Wrap, Time::ParseDate, File::Flock
+ Branch: perl
+       ! lib/Text/Wrap.pm t/lib/textwrap.t
+____________________________________________________________________________
+[  2397] By: nick                                  on 1998/11/29  20:13:58
+    Log: Update docs and English.pm for $^C
+ Branch: perl
+       ! lib/English.pm pod/perlvar.pod
+____________________________________________________________________________
+[  2396] By: jhi                                   on 1998/11/29  20:13:03
+    Log: Mirror #2384.
+ Branch: cfgperl
+       ! t/op/pwent.t
+____________________________________________________________________________
+[  2395] By: jhi                                   on 1998/11/29  19:59:12
+    Log: Newer NetBSDs don't have NSIG in , they need .
+ Branch: cfgperl
+       ! util.c
+____________________________________________________________________________
+[  2394] By: gsar                                  on 1998/11/29  19:49:08
+    Log: updated perlreftut.pod
+ Branch: perl
+       ! pod/perlreftut.pod
+____________________________________________________________________________
+[  2393] By: gsar                                  on 1998/11/29  19:31:56
+    Log: misc tweaks
+ Branch: perl
+       ! ext/IO/Makefile.PL lib/Test.pm t/lib/io_poll.t t/op/sort.t
+____________________________________________________________________________
+[  2392] By: gsar                                  on 1998/11/29  19:31:18
+    Log: notes about -DPERL_POLLUTE
+ Branch: perl
+       ! INSTALL pod/perldelta.pod win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  2391] By: gsar                                  on 1998/11/29  19:13:52
+    Log: explain various win32 build caveats more clearly
+ Branch: perl
+       ! README.win32 win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  2390] By: gsar                                  on 1998/11/29  16:51:59
+    Log: remove I_POLL detection (Configure will do that now)
+ Branch: perl
+       ! ext/IO/Makefile.PL
+____________________________________________________________________________
+[  2389] By: jhi                                   on 1998/11/29  16:39:16
+    Log: Add I_POLL for IO 1.20.
+ Branch: cfgperl
+       ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+       ! config_h.SH
+____________________________________________________________________________
+[  2388] By: gsar                                  on 1998/11/29  16:23:30
+    Log: add p4desc (augments 'p4 describe' output with diffs for new files)
+ Branch: perl
+       + Porting/p4desc
+       ! MANIFEST
+____________________________________________________________________________
+[  2387] By: gsar                                  on 1998/11/29  16:08:03
+    Log: another threads reliability fix: serialize writes to thr->threadsv
+	 avoid most uses of PL_na (which is much more inefficient than a
+	 simple local); update docs to suit; PL_na now being thr->Tna may
+	 be a minor compatibility issue for extensions--will require dTHR
+	 outside of XSUBs (those get automatic dTHR)
+ Branch: perl
+       ! XSUB.h djgpp/djgpp.c doio.c doop.c dump.c ext/B/B.xs
+       ! ext/DB_File/DB_File.xs ext/DynaLoader/dl_next.xs
+       ! ext/Opcode/Opcode.xs ext/POSIX/POSIX.xs ext/Thread/Thread.xs
+       ! ext/attrs/attrs.xs gv.c malloc.c mg.c op.c
+       ! os2/OS2/REXX/REXX.xs os2/os2.c perl.c perly.c perly.y
+       ! pod/perlcall.pod pod/perlembed.pod pod/perlguts.pod
+       ! pod/perlxs.pod pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c run.c sv.c
+       ! t/op/pwent.t taint.c toke.c universal.c vmesa/vmesa.c
+       ! vms/ext/Stdio/Stdio.xs vms/perly_c.vms vms/vms.c win32/win32.c
+____________________________________________________________________________
+[  2386] By: jhi                                   on 1998/11/29  15:40:42
+    Log: Tune the "if" entry.
+ Branch: cfgperl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2385] By: gsar                                  on 1998/11/29  12:40:28
+    Log: various fixes for race conditions under threads: mutex locks based
+	 on PL_threadnum were seriously flawed, since it means more than one
+	 thread could enter the critical region; PL_na was global instead of
+	 thread-local; child thread could finish and free thr structures
+	 before Thread->new() got around to creating the Thread object;
+	 cv_clone() needed locking, as it mucks with PL_comppad and other
+	 global data; new_struct_thread() needed to lock template-thread's
+	 mutex while copying its data
+ Branch: perl
+       ! embedvar.h ext/Thread/Thread.xs gv.c op.c perl.c perlvars.h
+       ! pp_hot.c thrdvar.h thread.h util.c win32/win32thread.c
+____________________________________________________________________________
+[  2384] By: gsar                                  on 1998/11/29  10:54:38
+    Log: s/warn/print/ on multiply defined groups
+ Branch: perl
+       ! t/op/grent.t
+____________________________________________________________________________
+[  2383] By: gsar                                  on 1998/11/29  10:48:39
+    Log: backout change#2334
+ Branch: perl
+       ! pod/perlfunc.pod pp_hot.c sv.c thrdvar.h
+____________________________________________________________________________
+[  2382] By: jhi                                   on 1998/11/29  10:33:40
+    Log: Better NetInfo behaviour.
+ Branch: cfgperl
+       ! t/op/grent.t t/op/pwent.t
+____________________________________________________________________________
+[  2381] By: jhi                                   on 1998/11/29  10:08:15
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      +> ext/IO/ChangeLog ext/IO/lib/IO/Dir.pm ext/IO/lib/IO/Poll.pm
+      +> ext/IO/lib/IO/Socket/INET.pm ext/IO/lib/IO/Socket/UNIX.pm
+      +> ext/IO/poll.c ext/IO/poll.h pod/perlreftut.pod
+      +> t/lib/io_const.t t/lib/io_dir.t t/lib/io_multihomed.t
+      +> t/lib/io_poll.t t/lib/io_unix.t
+      !> (integrate 58 files)
+____________________________________________________________________________
+[  2380] By: gsar                                  on 1998/11/29  08:22:49
+    Log: prefer IO::Handle for IO if FileHandle:: is empty (as suggested by
+	 Tim Bunce)
+ Branch: perl
+       ! gv.c
+____________________________________________________________________________
+[  2379] By: gsar                                  on 1998/11/29  07:06:43
+    Log: fix for pat.t failure under USE_THREADS
+ Branch: perl
+       ! pp_ctl.c regexec.c
+____________________________________________________________________________
+[  2378] By: nick                                  on 1998/11/28  22:46:57
+    Log: More C.pm tweaks
+	 Save globs even if we have saved cv itself before - may be imported.
+	 
+	 While we don't save "bootstrap" CV we need to provide a stub,
+	 so that if we require it later we don't fall through and attempt
+	 to DynaLoad module again.
+	 
+	 Attempt to save %INC so that "require" does not reload things
+	 we have compiled-in (does not work right yet - seems to be due
+	 to PL_incgv being created in perl_parse() current scheme setting 
+	 GvHV() is "better" than saving the glob, but still does not 
+	 work as I expect). 
+ Branch: perl
+       ! ext/B/B/C.pm
+____________________________________________________________________________
+[  2377] By: gsar                                  on 1998/11/28  22:30:38
+    Log: various tweaks; result passes all tests for normal build on Solaris;
+	 fails two pat.t tests under USE_THREADS; io_poll.t test#3 fails on
+	 win32 due to lack of select() that works on non-socket fds
+ Branch: perl
+       ! ext/IO/poll.c regcomp.c regexec.c scope.c
+       ! t/lib/io_multihomed.t win32/makefile.mk
+____________________________________________________________________________
+[  2376] By: gsar                                  on 1998/11/28  20:44:39
+    Log: add $config_args to perl -V display (suggested by Ilya Zakharevich)
+ Branch: perl
+       ! myconfig
+____________________________________________________________________________
+[  2375] By: gsar                                  on 1998/11/28  20:42:58
+    Log: integrate cfgperl changes into mainline
+ Branch: perl
+      !> Configure ext/POSIX/hints/dynixptx.pl myconfig t/op/grent.t
+      !> t/op/pwent.t t/op/undef.t t/pragma/locale.t util.c
+____________________________________________________________________________
+[  2374] By: gsar                                  on 1998/11/28  20:02:03
+    Log: From: Ilya Zakharevich 
+	 Date: Thu, 5 Nov 1998 02:21:12 -0500 (EST)
+	 Message-Id: <199811050721.CAA27998@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00553] Yet another OS/2 patch
+ Branch: perl
+       ! os2/Changes os2/Makefile.SHs os2/os2.c t/pragma/warn/op
+____________________________________________________________________________
+[  2373] By: gsar                                  on 1998/11/28  19:30:06
+    Log: From: Ilya Zakharevich 
+	 Date: Sat, 28 Nov 1998 01:51:56 -0500 (EST)
+	 Message-Id: <199811280651.BAA18095@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_53] Change $#+
+ Branch: perl
+       ! mg.c pod/perlvar.pod t/op/pat.t
+____________________________________________________________________________
+[  2372] By: gsar                                  on 1998/11/28  19:28:00
+    Log: From: Ilya Zakharevich 
+	 Date: Sat, 28 Nov 1998 00:33:17 -0500 (EST)
+	 Message-Id: <199811280533.AAA25654@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_53] Finishing off SNOBOL: $1 in (?{})
+ Branch: perl
+       ! embedvar.h mg.c objXSUB.h perl.c regexec.c t/op/pat.t
+       ! thrdvar.h
+____________________________________________________________________________
+[  2371] By: gsar                                  on 1998/11/28  19:23:53
+    Log: From: Ilya Zakharevich 
+	 Date: Fri, 27 Nov 1998 16:16:48 -0500 (EST)
+	 Message-Id: <199811272116.QAA03502@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_53] better -Mre=debugcolor
+ Branch: perl
+       ! embedvar.h objXSUB.h regexec.c thrdvar.h
+____________________________________________________________________________
+[  2370] By: gsar                                  on 1998/11/28  19:21:17
+    Log: From: Ilya Zakharevich 
+	 Date: Fri, 27 Nov 1998 15:22:19 -0500 (EST)
+	 Message-Id: <199811272022.PAA17874@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] regcolors
+ Branch: perl
+       ! embed.h global.sym objXSUB.h proto.h regcomp.c regexec.c
+____________________________________________________________________________
+[  2369] By: gsar                                  on 1998/11/28  19:00:15
+    Log: allow final period in a file (not followed by a newline) to
+	 terminate format spec
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  2368] By: gsar                                  on 1998/11/28  18:58:25
+    Log: Liblist tweak suggested by Swen Thuemmler ;
+	 add C<$Config{installarchlib}/CORE> to the default locations searched
+	 on win32
+ Branch: perl
+       ! lib/ExtUtils/Liblist.pm
+____________________________________________________________________________
+[  2367] By: gsar                                  on 1998/11/28  18:46:05
+    Log: applied suggested patch with PERL_OBJECT tweaks
+	 From: Ilya Zakharevich 
+	 Date: Thu, 26 Nov 1998 02:46:20 -0500 (EST)
+	 Message-Id: <199811260746.CAA23164@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_53] Enable $_ and pos() inside (?{ CODE }) in RExen
+ Branch: perl
+       ! embed.h embed.pl embedvar.h objXSUB.h pp_ctl.c proto.h
+       ! regexec.c t/op/pat.t thrdvar.h
+____________________________________________________________________________
+[  2366] By: gsar                                  on 1998/11/28  18:38:34
+    Log: additional documentation for qr//
+	 From: Ilya Zakharevich 
+	 Message-Id: <199811260751.CAA24560@monk.mps.ohio-state.edu>
+	 Date: Thu, 26 Nov 1998 02:51:09 -0500 (EST)
+	 Subject: [PATCH 5.005_*] Documentation (fwd)
+ Branch: perl
+       ! pod/perlfunc.pod pod/perlop.pod pod/perlpod.pod
+____________________________________________________________________________
+[  2365] By: gsar                                  on 1998/11/28  18:35:35
+    Log: From: Ilya Zakharevich 
+	 Date: Wed, 25 Nov 1998 23:33:45 -0500 (EST)
+	 Message-Id: <199811260433.XAA29281@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Fix \G in REx without //g
+ Branch: perl
+       ! cop.h embedvar.h objXSUB.h pp.c pp_ctl.c pp_hot.c regexec.c
+       ! regexp.h t/op/pat.t thrdvar.h
+____________________________________________________________________________
+[  2364] By: gsar                                  on 1998/11/28  18:24:20
+    Log: update Test.pm to Test-1.12; tweak 're' detection
+ Branch: perl
+       ! lib/Test.pm
+____________________________________________________________________________
+[  2363] By: gsar                                  on 1998/11/28  18:12:04
+    Log: avoid command-line quoting portability problems in lex_assign.t
+ Branch: perl
+       ! t/op/lex_assign.t
+____________________________________________________________________________
+[  2362] By: gsar                                  on 1998/11/28  18:08:50
+    Log: From: John Tobey 
+	 Date: Thu, 19 Nov 1998 14:14:15 -0500 (EST)
+	 Message-Id: 
+	 Subject: PATCH: document English.pm sawampersand and thread issues
+ Branch: perl
+       ! lib/English.pm pod/perlvar.pod
+____________________________________________________________________________
+[  2361] By: gsar                                  on 1998/11/28  18:03:04
+    Log: fix uninitialized warnings
+	 From: Brian Callaghan 
+	 Date: Thu, 19 Nov 1998 17:49:10 -0800
+	 Message-Id: <3654CA96.B64FCAEB@itginc.com>
+	 Subject: Complete.pm patch (version 1.1)
+ Branch: perl
+       ! lib/Term/Complete.pm
+____________________________________________________________________________
+[  2360] By: gsar                                  on 1998/11/28  17:59:16
+    Log: s/Array/List/ suggested by John Tobey
+ Branch: perl
+       ! pod/perldata.pod
+____________________________________________________________________________
+[  2359] By: gsar                                  on 1998/11/28  17:47:48
+    Log: update tie() entry in perlfunc to reflect TIEARRAY and TIEHANDLE
+ Branch: perl
+       ! lib/Tie/Handle.pm pod/perlfunc.pod
+____________________________________________________________________________
+[  2358] By: jhi                                   on 1998/11/28  17:23:15
+    Log: Revamp the locale tests.
+	 (0) Instead of rewiring a few locales scan for them.
+	 (1) Bogus test #101 removed.
+	 (2) All the locales are checked, the lists of failed
+	 and non-failed ones are displayed.
+	 (3) The test #103 is again 'active' so that it may fail.
+	 (4) To balance (3) a hopefully pacifying message is shown
+	 if the #103 fails.
+ Branch: cfgperl
+       ! t/pragma/locale.t
+____________________________________________________________________________
+[  2357] By: gsar                                  on 1998/11/28  17:21:07
+    Log: add perlreftut.pod
+ Branch: perl
+       + pod/perlreftut.pod
+       ! MANIFEST pod/Makefile pod/buildtoc pod/perl.pod
+       ! pod/perlref.pod pod/roffitall vms/descrip_mms.template
+       ! win32/pod.mak
+____________________________________________________________________________
+[  2356] By: jhi                                   on 1998/11/28  16:58:01
+    Log: Change #2346 fallout.
+ Branch: cfgperl
+       ! t/op/undef.t
+____________________________________________________________________________
+[  2355] By: gsar                                  on 1998/11/28  16:46:43
+    Log: IO.xs tweaks; avoid coredump in io_xs.t; remove newCONSTSUB();
+	 ANSI prototypes
+ Branch: perl
+       ! ext/IO/IO.xs
+____________________________________________________________________________
+[  2354] By: gsar                                  on 1998/11/28  16:08:07
+    Log: add IO-1.20; mess with t/lib/io_*.t in an attempt to
+	 keep platform hacks that aren't in the 1.20 dist; add new files
+	 to MANIFEST; hack Makefile.PL; result hasn't been tested
+	 anywhere
+ Branch: perl
+       + ext/IO/ChangeLog ext/IO/lib/IO/Dir.pm ext/IO/lib/IO/Poll.pm
+       + ext/IO/lib/IO/Socket/INET.pm ext/IO/lib/IO/Socket/UNIX.pm
+       + ext/IO/poll.c ext/IO/poll.h t/lib/io_const.t t/lib/io_dir.t
+       + t/lib/io_multihomed.t t/lib/io_poll.t t/lib/io_unix.t
+       ! MANIFEST ext/IO/IO.pm ext/IO/IO.xs ext/IO/Makefile.PL
+       ! ext/IO/README ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm
+       ! ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Seekable.pm
+       ! ext/IO/lib/IO/Select.pm ext/IO/lib/IO/Socket.pm
+       ! t/lib/io_sock.t t/lib/io_udp.t
+____________________________________________________________________________
+[  2353] By: jhi                                   on 1998/11/28  15:51:03
+    Log: Locale collation, ctype, and numeric, were initialized wrong
+	 (if LC_ALL or LANG were unset, so were the collation/ctype/numeric),
+	 as reported by
+	 
+	 From: Ilya.Sandler@etak.com (Ilya Sandler)
+	 Subject: a bug in locale handling: LC_COLLATE ignored sometimes
+	 To: perlbug@perl.com
+	 Date: 25 Nov 1998 04:53:52 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! util.c
+____________________________________________________________________________
+[  2352] By: nick                                  on 1998/11/28  15:21:59
+    Log: Implement $^C to allow perl access to -c flag - I think this 
+	 was agreed once...
+ Branch: perl
+       ! gv.c mg.c
+____________________________________________________________________________
+[  2351] By: jhi                                   on 1998/11/28  15:14:24
+    Log: Change #2251 fixup.
+ Branch: cfgperl
+       ! myconfig
+____________________________________________________________________________
+[  2350] By: jhi                                   on 1998/11/28  14:58:19
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      +> ext/Devel/Peek/Changes ext/Devel/Peek/Makefile.PL
+      +> ext/Devel/Peek/Peek.pm ext/Devel/Peek/Peek.xs
+      +> pod/perl5005delta.pod
+      !> (integrate 49 files)
+____________________________________________________________________________
+[  2349] By: jhi                                   on 1998/11/28  14:27:36
+    Log: Passwd and group file groveling.
+ Branch: cfgperl
+       ! t/op/grent.t t/op/pwent.t
+____________________________________________________________________________
+[  2348] By: gsar                                  on 1998/11/28  14:09:50
+    Log: more conservative version of changes#2345,2346,2347; those break
+	 C which seems to be extensively used in
+	 the libs :-(
+ Branch: perl
+       ! pp.c t/op/method.t
+____________________________________________________________________________
+[  2347] By: gsar                                  on 1998/11/28  13:36:08
+    Log: tweak bogus test
+ Branch: perl
+       ! t/op/method.t
+____________________________________________________________________________
+[  2346] By: gsar                                  on 1998/11/28  13:20:34
+    Log: test cases for previous change
+ Branch: perl
+       ! t/op/undef.t
+____________________________________________________________________________
+[  2345] By: gsar                                  on 1998/11/28  13:07:17
+    Log: fix typo in pp_defined() causing C to fail
+ Branch: perl
+       ! pp.c
+____________________________________________________________________________
+[  2344] By: gsar                                  on 1998/11/28  13:03:29
+    Log: s/comment/comment_t/ tweak (suggested by John Gorman
+	 )
+ Branch: perl
+       ! ext/B/B/Assembler.pm ext/B/B/Disassembler.pm
+____________________________________________________________________________
+[  2343] By: gsar                                  on 1998/11/28  12:52:40
+    Log: add (stub) perldelta.pod
+ Branch: perl
+       + pod/perldelta.pod
+____________________________________________________________________________
+[  2342] By: gsar                                  on 1998/11/28  12:49:26
+    Log: rename perldelta.pod to perl5005delta.pod in preparation for
+	 starting a new one
+ Branch: perl
+      +> pod/perl5005delta.pod
+       - pod/perldelta.pod
+       ! MANIFEST pod/perl.pod
+____________________________________________________________________________
+[  2341] By: gsar                                  on 1998/11/28  12:41:55
+    Log: fix MALLOC_LOCK #define
+ Branch: perl
+       ! malloc.c
+____________________________________________________________________________
+[  2340] By: gsar                                  on 1998/11/28  12:18:23
+    Log: From: Ilya Zakharevich 
+	 Date: Sun, 15 Nov 1998 20:25:50 -0500 (EST)
+	 Message-Id: <199811160125.UAA05268@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_53] OS/2 events get closer to Perl
+ Branch: perl
+       ! os2/Changes os2/os2.c os2/os2.sym os2/os2ish.h
+____________________________________________________________________________
+[  2339] By: jhi                                   on 1998/11/28  11:59:01
+    Log: Add -lm to dynix/ptx POSIX hints.
+	 From: "Martin J. Bligh" 
+	 To: jhi@iki.fi
+	 Subject: Re: Making Perl work on DYNIX/ptx
+	 Date: Wed, 25 Nov 1998 10:34:41 -0800
+	 Message-ID: <1457015007.911990081@w-186d219.rhe.sequent.com>
+ Branch: cfgperl
+       ! ext/POSIX/hints/dynixptx.pl
+____________________________________________________________________________
+[  2338] By: jhi                                   on 1998/11/28  11:57:19
+    Log: Detypo.
+ Branch: cfgperl
+       ! lib/filetest.pm
+____________________________________________________________________________
+[  2337] By: jhi                                   on 1998/11/28  11:56:29
+    Log: Better LD_LIBRARY_PATH instructions for Bourneists.
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2336] By: gsar                                  on 1998/11/28  11:41:14
+    Log: teach CPAN.pm to ignore beta perl distributions when looking for
+	 modules
+	 From: root@dogberry.rutgers.edu (root)
+	 Date: Thu, 12 Nov 1998 23:08:39 -0500
+	 Message-Id: <199811130408.XAA10578@dogberry.rutgers.edu>
+	 Subject: recompile tries getting a perl distribution
+ Branch: perl
+       ! lib/CPAN.pm
+____________________________________________________________________________
+[  2335] By: gsar                                  on 1998/11/28  11:27:46
+    Log: make $1 et al readonly under threads; make C fail like
+	 C<$1 = undef> does
+ Branch: perl
+       ! op.c pp.c t/op/undef.t
+____________________________________________________________________________
+[  2334] By: gsar                                  on 1998/11/28  10:24:52
+    Log: s/Regexp/re/ and clarify policy on lowercased object namespaces
+ Branch: perl
+       ! pod/perlfunc.pod pp_hot.c sv.c thrdvar.h
+____________________________________________________________________________
+[  2333] By: gsar                                  on 1998/11/28  09:36:40
+    Log: document changed PERL_HASH()
+ Branch: perl
+       ! pod/perlfunc.pod pod/perlguts.pod
+____________________________________________________________________________
+[  2332] By: nick                                  on 1998/11/27  21:10:27
+    Log: Handle INIT list in C.pm
+	 1. Provide init_av() from B.xs
+	 2. Export it in B.pm
+	 3. Use it in C.pm
+	 Also disable some pruning in savecv() which seems to undo
+	 my previous patch.
+	 Experimental feature - save pathnames of .so files in easily 
+	 grep-able form for use in wrapper to feed to linker.  
+ Branch: perl
+       ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm
+____________________________________________________________________________
+[  2327] By: gsar                                  on 1998/11/27  15:12:01
+    Log: integrate change#2315 from maint-5.005
+ Branch: perl
+       ! t/op/sort.t
+      !> op.c sv.c
+____________________________________________________________________________
+[  2326] By: gsar                                  on 1998/11/27  15:00:42
+    Log: integrate changes#2304,2305,2306,2308 from maint-5.005
+ Branch: perl
+      !> ext/DynaLoader/dl_mpeix.xs installperl lib/ExtUtils/MM_Unix.pm
+      !> lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm
+      !> lib/ExtUtils/typemap
+____________________________________________________________________________
+[  2325] By: gsar                                  on 1998/11/27  14:46:18
+    Log: malloc bugfix and documentation from Ilya Zakharevich
+	 Date: Tue, 24 Nov 1998 17:24:55 -0500 (EST)
+	 Message-Id: <199811242224.RAA22618@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Re: Internal coredump
+	 --
+	 Date: Thu, 26 Nov 1998 03:06:10 -0500 (EST)
+	 Message-Id: <199811260806.DAA28913@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] malloc.c documentation
+ Branch: perl
+       ! malloc.c
+____________________________________________________________________________
+[  2324] By: gsar                                  on 1998/11/27  14:41:38
+    Log: B::C tweaks to allow Tk compiles from Nick Ing-Simmons
+ Branch: perl
+       ! ext/B/B/C.pm
+____________________________________________________________________________
+[  2323] By: gsar                                  on 1998/11/27  14:33:44
+    Log: From: maeda@src.ricoh.co.jp
+	 Date: Tue, 24 Nov 1998 10:37:45 +0900
+	 Message-Id: <199811240137.KAA05867@luna.src.ricoh.co.jp>
+	 Subject: format "..." bug
+ Branch: perl
+       ! pp_ctl.c t/op/write.t
+____________________________________________________________________________
+[  2322] By: gsar                                  on 1998/11/27  14:20:12
+    Log: add ext/Devel/Peek
+	 From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Mon, 23 Nov 1998 00:48:11 +0100
+	 Message-ID: <36589ec9.49964585@smtp1.ibm.net>
+	 Subject: [PATCH 5.005_53] Devel::Peek integration
+ Branch: perl
+       + ext/Devel/Peek/Changes ext/Devel/Peek/Makefile.PL
+       + ext/Devel/Peek/Peek.pm ext/Devel/Peek/Peek.xs
+       ! MANIFEST dump.c embed.h embedvar.h global.sym intrpvar.h
+       ! objXSUB.h perl.c perl.h proto.h sv.c sv.h thrdvar.h
+       ! win32/GenCAPI.pl win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  2321] By: gsar                                  on 1998/11/27  13:03:08
+    Log: ensure 'make regen_headers' even without perl installed
+	 (suggested by Ilya Zakharevich)
+ Branch: perl
+       ! bytecode.pl warning.pl
+____________________________________________________________________________
+[  2320] By: gsar                                  on 1998/11/27  12:58:36
+    Log: From: Ilya Zakharevich 
+	 Date: Mon, 9 Nov 1998 19:03:25 -0500 (EST)
+	 Message-Id: <199811100003.TAA05815@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Cosmetic malloc patch
+ Branch: perl
+       ! malloc.c
+____________________________________________________________________________
+[  2319] By: gsar                                  on 1998/11/27  12:56:13
+    Log: eliminate dup hunk from integration
+ Branch: perl
+       ! lib/filetest.pm perl.h
+____________________________________________________________________________
+[  2318] By: gsar                                  on 1998/11/27  12:50:08
+    Log: integrate cfgperl changes into mainline
+ Branch: perl
+      +> ext/DB_File/hints/dynixptx.pl ext/POSIX/hints/dynixptx.pl
+       ! pod/perlfaq4.pod
+      !> (integrate 30 files)
+____________________________________________________________________________
+[  2317] By: jhi                                   on 1998/11/27  11:38:13
+    Log: C<-x>.
+ Branch: cfgperl
+       ! lib/filetest.pm
+____________________________________________________________________________
+[  2316] By: jhi                                   on 1998/11/27  11:10:22
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> XSUB.h embed.h embed.pl embedvar.h ext/Thread/Thread.xs
+      !> iperlsys.h mg.c objXSUB.h op.c pp_ctl.c pp_sys.c proto.h
+      !> t/comp/package.t t/lib/dumper.t t/pragma/warn/pp_ctl
+      !> universal.c util.c win32/GenCAPI.pl win32/win32.h
+      !> win32/win32sck.c
 ____________________________________________________________________________
-[   156] By: nick                                  on 1997/10/18  02:52:44
-        Log: Make lib/Bundle/CPAN.pm a text file
-     Branch: perl
-           ! lib/Bundle/CPAN.pm
+[  2315] By: gbarr                                 on 1998/11/27  05:16:50
+    Log: integrate change#2246 from mainline, while still allowing
+	 C
+	 
+	 allow C
+ Branch: maint-5.005/perl
+       ! op.c sv.c
+      !> t/op/sort.t
 ____________________________________________________________________________
-[   155] By: nick                                  on 1997/10/18  02:33:02
-        Log: Some weirdness in the intgrate process
-     Branch: oneperl
-	   - win32/bin/pl2bat.bat win32/bin/search.bat win32/bin/test.bat
-           - win32/bin/webget.bat win32/config.H win32/config.w32
+[  2308] By: gbarr                                 on 1998/11/27  00:11:44
+    Log: Updates for MPE/iX DynaLoader and installperl, via private mail
+	 forwarded by Jarkko Hietaniemi from Mark Bixby
+ Branch: maint-5.005/perl
+       ! ext/DynaLoader/dl_mpeix.xs installperl
 ____________________________________________________________________________
-[   153] By: nick                                  on 1997/10/18  02:29:16
-        Log: Let us try all the pure integrate stuff
-     Branch: oneperl
-          !> (integrate 647 files)
+[  2306] By: gbarr                                 on 1998/11/26  23:44:47
+    Log: Allow PL_FILES to have multiple targets from one source by allowing
+	 an array ref as the value in the hash
+ Branch: maint-5.005/perl
+       ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm
+       ! lib/ExtUtils/MakeMaker.pm
 ____________________________________________________________________________
-[   152] By: nick                                  on 1997/10/18  02:13:35
-        Log: Get more sub directories out of the way.
-     Branch: oneperl
-          !> (integrate 92 files)
+[  2305] By: gbarr                                 on 1998/11/26  23:38:06
+    Log: fix unsigned variables to use SvUV and sv_setuv
+ Branch: maint-5.005/perl
+       ! lib/ExtUtils/typemap
 ____________________________________________________________________________
-[   151] By: nick                                  on 1997/10/18  02:05:41
-        Log: Integrate hints 
-     Branch: oneperl
-          !> (integrate 68 files)
+[  2304] By: gbarr                                 on 1998/11/26  23:36:17
+    Log: Fix embeded \n in ABSTRACT and <> in AUTHOR
+ Branch: maint-5.005/perl
+       ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[  2301] By: gsar                                  on 1998/11/26  10:16:54
+    Log: fix PL_defoutgv leak under threads
+ Branch: perl
+       ! ext/Thread/Thread.xs
+____________________________________________________________________________
+[  2300] By: gsar                                  on 1998/11/26  09:04:44
+    Log: properly free temporaries created by threads
+ Branch: perl
+       ! ext/Thread/Thread.xs
+____________________________________________________________________________
+[  2299] By: gsar                                  on 1998/11/26  06:51:16
+    Log: fix C misoptimization that fails
+	 to set the package for the block properly
+ Branch: perl
+       ! op.c t/comp/package.t t/lib/dumper.t
+____________________________________________________________________________
+[  2298] By: nick                                  on 1998/11/24  22:04:20
+    Log: Part-1 of tweaks to allow Tk to be "compiled"
+	 Make XS_UNIVERSAL_xxx non-static so they can be found in libperl.
+	 (May also need attention to exports etc. - to follow.)
+ Branch: perl
+       ! universal.c
+____________________________________________________________________________
+[  2294] By: jhi                                   on 1998/11/23  10:44:26
+    Log: The new socket tests need in some platforms
+	 to #include .
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2293] By: jhi                                   on 1998/11/23  10:33:42
+    Log: From: Gerben Wierda 
+	 To: Jarkko Hietaniemi 
+	 Subject: Re: Test results for perl5.005_53 under NEXTSTEP 3.3 (intel)
+	 Date: Mon, 23 Nov 1998 10:07:04 +0100
+	 Message-Id: <9811230907.AA06484@AWT.nl>
+	 
+	 NeXTstep NetInfo uses nidump to get the user/group databases.
+ Branch: cfgperl
+       ! t/op/grent.t t/op/pwent.t
+____________________________________________________________________________
+[  2291] By: TimBunce                              on 1998/11/22  22:23:09
+    Log: Updated Porting/patchls utility.
+ Branch: maint-5.004/perl
+       ! Porting/patchls
+____________________________________________________________________________
+[  2288] By: TimBunce                              on 1998/11/22  21:46:11
+    Log: Title:  "Buglet in Sys::Syslog.pm (with fix)"
+	 From:  Henrik Tougaard 
+	 Msg-ID:  
+	 Files:  lib/Sys/Syslog.pm
+ Branch: maint-5.004/perl
+       ! lib/Sys/Syslog.pm
+____________________________________________________________________________
+[  2286] By: jhi                                   on 1998/11/22  19:08:42
+    Log: Change#2284 aid: allow also for plain old MSG_ and SCM_ #defines.
+ Branch: cfgperl
+       ! ext/Socket/Socket.xs
+____________________________________________________________________________
+[  2285] By: jhi                                   on 1998/11/22  18:21:07
+    Log: MSG_PROXY for GNU/Hurd (previously we believed that
+	 all GNU libc platforms have MSG_PROXY.  Untrue).
+	 In fact this ended up as a major MSG_* and SCM_*
+	 update.  The MSG_XXX known to be enums in some
+	 versions of the glibc are now probed for and respective
+	 HAS_MSG_XXX are defined.  While I was at it I noticed
+	 SCM_RIGHTS being similarly an enum.  This reminded me of
+	 an ancient discussion in perl5-porters:
+	 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/9612/msg01017.html
+	 The BSD socket interface has a nifty feature for passing
+	 file descriptors and credentials--via sockets.  It may be
+	 too late to add this functionality to the CORE but
+	 at least Configure now probes for the functions,
+	 structs, and includes, defining the appropriate
+	 HAS_YYY and I_ZZZ, and the Socket extension exports
+	 the constants, in case somebody wants to write an
+	 extension for this interface.
+ Branch: cfgperl
+       ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+       ! config_h.SH ext/Socket/Socket.pm ext/Socket/Socket.xs
+       ! iperlsys.h
+____________________________________________________________________________
+[  2284] By: jhi                                   on 1998/11/22  18:13:21
+    Log: perlhist.pod 1.54, containing 5_53.
+ Branch: cfgperl
+       ! pod/perlhist.pod
+____________________________________________________________________________
+[  2274] By: TimBunce                              on 1998/11/22  16:25:46
+    Log: Preserve errno around fcntl(fd,F_SETFD,fd > maxsysfd) in do_open()
+ Branch: maint-5.004/perl
+       ! doio.c
+____________________________________________________________________________
+[  2273] By: TimBunce                              on 1998/11/22  16:17:43
+    Log: Improve op/die_exit.t test for implicit close changing $!
+ Branch: maint-5.004/perl
+       ! t/op/die_exit.t
+____________________________________________________________________________
+[  2268] By: jhi                                   on 1998/11/22  14:44:11
+    Log: Fix thinko.
+ Branch: cfgperl
+       ! hints/dynixptx.sh
+____________________________________________________________________________
+[  2267] By: jhi                                   on 1998/11/22  13:19:41
+    Log: Document the d_socket override.
+ Branch: cfgperl
+       ! hints/dynixptx.sh
+____________________________________________________________________________
+[  2266] By: jhi                                   on 1998/11/22  12:12:29
+    Log: From: John Tobey 
+	 Subject: [PATCH] perlfaq typos
+	 To: perl5-porters@perl.com
+	 Date: 22 Nov 1998 04:25:15 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! pod/perlfaq3.pod pod/perlfaq4.pod pod/perlfaq5.pod
+       ! pod/perlfaq7.pod pod/perlfaq8.pod
+____________________________________________________________________________
+[  2265] By: jhi                                   on 1998/11/22  12:06:29
+    Log: From: pmarquess@bfsec.bt.co.uk (Paul Marquess)
+	 Subject: DB_File 1.61 patch for 5.005_53 & 5.005_02
+	 Newsgroups: hut.lists.perl5-porters
+	 To: gsar@engin.umich.edu (Gurusamy Sarathy)
+	 Cc: perl5-porters@perl.org (Perl5 Porters)
+	 Date: 20 Nov 1998 12:20:41 +0200
+ Branch: cfgperl
+       ! ext/DB_File/Changes ext/DB_File/DB_File.pm
+       ! ext/DB_File/DB_File.xs
+____________________________________________________________________________
+[  2264] By: jhi                                   on 1998/11/22  11:55:09
+    Log: NeXTstep /etc/group and /etc/passwd are used only at boot time,
+	 From: Gerben Wierda 
+	 Subject: Test results for perl5.005_53 under NEXTSTEP 3.3 (intel)
+	 To: perlbug@perl.com
+	 Date: 20 Nov 1998 18:39:06 +0200
+	 Lines: 47
+	 Message-ID: 
+ Branch: cfgperl
+       ! t/op/grent.t t/op/pwent.t
+____________________________________________________________________________
+[  2263] By: jhi                                   on 1998/11/22  11:42:59
+    Log: Permission testing is tricky when we have too much power.
+	 Problem reported in
+	 From: Gerben Wierda 
+	 Subject: Test results for perl5.005_53 under NEXTSTEP 3.3 (intel)
+	 To: perlbug@perl.com
+	 Date: 20 Nov 1998 18:39:06 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! t/op/filetest.t
+____________________________________________________________________________
+[  2262] By: gsar                                  on 1998/11/22  11:37:02
+    Log: fix broken CAPI generation
+ Branch: perl
+       ! win32/GenCAPI.pl
+____________________________________________________________________________
+[  2261] By: jhi                                   on 1998/11/22  11:17:00
+    Log: -x should be C<-x>, reported by Gerben Wierda.
+ Branch: cfgperl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2260] By: gsar                                  on 1998/11/22  11:12:02
+    Log: phase 2 of PERL_OBJECT cleanup; objXSUB.h autogeneration
+ Branch: perl
+       ! XSUB.h embed.h embed.pl embedvar.h iperlsys.h objXSUB.h
+       ! proto.h
+____________________________________________________________________________
+[  2259] By: jhi                                   on 1998/11/22  11:06:40
+    Log: From: "Kurt D. Starsinic" 
+	 Subject: Re: [PATCH] Re: pod2man bug in date generated line
+	 To: Albert Dvornik , "Larry W. Virden" 
+	 Cc: perlbug@perl.com
+	 Date: 20 Nov 1998 21:30:17 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! pod/pod2man.PL
+____________________________________________________________________________
+[  2256] By: jhi                                   on 1998/11/21  10:44:01
+    Log: From: Thomas Bowditch 
+	 Subject: Benchmark.pm suggestion
+	 To: jhi@iki.fi, Tim.Bunce@ig.co.uk
+	 Date: Fri, 20 Nov 1998 17:43:46 -0500
+	 Message-Id: <199811202243.RAA26252@harp.camb.inmet.com>
+	 
+	 Added timesum().
+ Branch: cfgperl
+       ! lib/Benchmark.pm
+____________________________________________________________________________
+[  2255] By: gsar                                  on 1998/11/21  08:45:06
+    Log: another win32 portability fix: make sysread() and syswrite()
+	 work on sockets
+ Branch: perl
+       ! pp_sys.c win32/win32.h
+____________________________________________________________________________
+[  2254] By: gsar                                  on 1998/11/21  07:49:06
+    Log: win32_recvfrom() compatibility fix
+ Branch: perl
+       ! win32/win32sck.c
+____________________________________________________________________________
+[  2253] By: jhi                                   on 1998/11/20  08:22:06
+    Log: From: Mark Bixby 
+	 To: jhi@iki.fi
+	 Subject: MPE/iX Perl 5.005_02 oops
+	 Date: Thu, 19 Nov 1998 17:10:45 -0800 (PST)
+	 Message-Id: <199811200110.RAA07395@spock.dis.cccd.edu>
+ Branch: cfgperl
+       ! ext/DynaLoader/dl_mpeix.xs installperl
+____________________________________________________________________________
+[  2252] By: gsar                                  on 1998/11/19  17:38:03
+    Log: mess_sv tweak for change#2249
+ Branch: perl
+       ! util.c
+____________________________________________________________________________
+[  2251] By: jhi                                   on 1998/11/18  12:32:19
+    Log: Display use64bits and usemultiplicity but only if necessary.
+ Branch: cfgperl
+       ! myconfig
+____________________________________________________________________________
+[  2250] By: jhi                                   on 1998/11/18  12:26:50
+    Log: From: Horst von Brand  
+	 Subject: pp.c uses 'unsigned Quad_t'
+	 To: perlbug@perl.com 
+	 Date: Sun, 15 Nov 1998 20:57:05 -0300 
+	 Message-Id: <199811152357.UAA12768@sleipnir.valparaiso.cl>
+ Branch: cfgperl
+       ! perl.h pp.c
+____________________________________________________________________________
+[  2249] By: gsar                                  on 1998/11/18  05:43:11
+    Log: use PL_mess_sv only during global destruction (fixes problems with
+	 overlapping invocations of form()/warn()/die()/croak() trampling on
+	 each other's messages)
+ Branch: perl
+       ! mg.c util.c
+____________________________________________________________________________
+[  2248] By: gsar                                  on 1998/11/18  05:39:36
+    Log: tweak change#2245 to skip previous message if any
+ Branch: perl
+       ! pp_ctl.c t/pragma/warn/pp_ctl
+____________________________________________________________________________
+[  2247] By: jhi                                   on 1998/11/17  11:46:56
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> (integrate 26 files)
+____________________________________________________________________________
+[  2246] By: gsar                                  on 1998/11/17  09:41:10
+    Log: allow C
+ Branch: perl
+       ! op.c t/op/sort.t t/pragma/overload.t
+____________________________________________________________________________
+[  2245] By: gsar                                  on 1998/11/17  08:28:26
+    Log: propagate failures in DESTROY() as (optional) warnings
+ Branch: perl
+       ! pod/perldiag.pod pp_ctl.c t/pragma/warn/pp_ctl
+____________________________________________________________________________
+[  2244] By: gsar                                  on 1998/11/17  07:43:08
+    Log: ensure PL_dirty is reinit-ed properly under -DMULTIPLICITY
+ Branch: perl
+       ! perl.c thrdvar.h
+____________________________________________________________________________
+[  2243] By: gsar                                  on 1998/11/17  07:40:09
+    Log: sort WARN_FOO symbols to avoid hash traversal order dependency
+ Branch: perl
+       ! lib/warning.pm warning.h warning.pl
+____________________________________________________________________________
+[  2242] By: gsar                                  on 1998/11/17  06:32:39
+    Log: fix skipspace() to properly account for newlines in eval''-ed
+	 strings (caused bogus line numbers in diagnostics and debugger)
+ Branch: perl
+       ! t/pragma/warn/pp_ctl t/pragma/warn/toke toke.c
+____________________________________________________________________________
+[  2241] By: gsar                                  on 1998/11/17  03:48:12
+    Log: s/Perl_utf8skip/PL_utf8skip/g
+ Branch: perl
+       ! embed.h embed.pl global.sym globvar.sym regexec.c utf8.h
+____________________________________________________________________________
+[  2240] By: gsar                                  on 1998/11/14  06:09:06
+    Log: rework op/groups.t
+ Branch: perl
+       ! t/op/filetest.t t/op/groups.t
+____________________________________________________________________________
+[  2235] By: gsar                                  on 1998/11/14  00:17:05
+    Log: catch a neophyte trap: open(), close() etc.
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  2234] By: gsar                                  on 1998/11/14  00:14:02
+    Log: update Changes
+ Branch: perl
+       ! Changes win32/config.bc win32/config.gc win32/config.vc
+____________________________________________________________________________
+[  2233] By: gsar                                  on 1998/11/13  09:43:03
+    Log: doc tweak
+ Branch: perl
+       ! README.win32
+____________________________________________________________________________
+[  2230] By: jhi                                   on 1998/11/12  17:07:45
+    Log: Allow hints file override for d_socket
+	 (based on Sequent-induced change #2229).
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2229] By: jhi                                   on 1998/11/12  16:32:33
+    Log: 
+	 From: "Martin J. Bligh" 
+	 To: jhi@iki.fi
+	 cc: gbarr@ti.com, gbarr@pobox.com, gsar@umich.edu
+	 Subject: Re: Making Perl work on DYNIX/ptx
+	 Date: Tue, 10 Nov 1998 16:24:26 -0800
+	 Message-ID: <181999655.910715066@w-186d219.rhe.sequent.com>
+ Branch: cfgperl
+       ! hints/dynixptx.sh
+____________________________________________________________________________
+[  2228] By: jhi                                   on 1998/11/12  11:40:37
+    Log: From: "Martin J. Bligh" 
+	 Message-ID: <187803647.910720870@w-186d219.rhe.sequent.com>
+	 To: jhi@iki.fi
+	 cc: gbarr@ti.com, gbarr@pobox.com, gsar@umich.edu
+	 Subject: Re: Making Perl work on DYNIX/ptx
+	 Date: Tue, 10 Nov 1998 18:01:10 -0800
+ Branch: cfgperl
+       + ext/DB_File/hints/dynixptx.pl ext/POSIX/hints/dynixptx.pl
+____________________________________________________________________________
+[  2227] By: jhi                                   on 1998/11/12  11:17:42
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> Changes XSUB.h av.c embed.h embed.pl embedvar.h
+      !> ext/IPC/SysV/Msg.pm global.sym hv.c lib/Text/Wrap.pm objXSUB.h
+      !> perl.c perl.h pod/perlfunc.pod pod/perlvar.pod pp_sys.c
+      !> proto.h regexec.c t/op/array.t util.c win32/makedef.pl
+      !> win32/win32.c x2p/s2p.PL
+____________________________________________________________________________
+[  2226] By: gsar                                  on 1998/11/11  21:05:42
+    Log: provide -DPERL_POLLUTE
+ Branch: perl
+       ! embed.pl embedvar.h
+____________________________________________________________________________
+[  2225] By: jhi                                   on 1998/11/09  07:45:12
+    Log: From: Hans Mulder 
+	 To: Ilya Zakharevich 
+	 Cc: gsar@engin.umich.edu (Gurusamy Sarathy), jhi@iki.fi,
+	 perl5-porters@perl.org
+	 Subject: Re: [PATCH] Re: Not OK: perl 5.00553 on OPENSTEP-Mach 4_1
+	 (UNINSTALLED)
+	 Date: Sun,  8 Nov 98 22:20:23 +0100
+	 Message-Id: <9811082119.AA11802@icgned.icgroup.nl>
+ Branch: cfgperl
+       ! malloc.c perl.h
+____________________________________________________________________________
+[  2224] By: gsar                                  on 1998/11/09  03:13:14
+    Log: avoid endless loops in Text::Wrap (from a suggestion by Lupe
+	 Christoph )
+ Branch: perl
+       ! lib/Text/Wrap.pm
+____________________________________________________________________________
+[  2223] By: gsar                                  on 1998/11/09  02:09:06
+    Log: fix misplaced brace in s2p (as suggested by Lionel Fourquaux
+	 )
+ Branch: perl
+       ! x2p/s2p.PL
+____________________________________________________________________________
+[  2222] By: gsar                                  on 1998/11/09  01:56:24
+    Log: patches from Hugo van der Sanden 
+	 Date: Wed, 04 Nov 1998 12:19:44 +0000
+	 Message-Id: <199811041219.MAA05451@crypt.compulink.co.uk>
+	 Subject: [PATCH] Re: [5.005_53] read overflow? 
+	 --
+	 Date: Wed, 04 Nov 1998 13:15:18 +0000
+	 Message-Id: <199811041315.NAA05711@crypt.compulink.co.uk>
+	 Subject: [PATCH 5.005_53] perl -V fix
+ Branch: perl
+       ! perl.c regexec.c
+____________________________________________________________________________
+[  2221] By: gsar                                  on 1998/11/09  01:34:56
+    Log: From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Sun, 01 Nov 1998 00:05:01 +0100
+	 Message-ID: <364294bd.18052307@smtp1.ibm.net>
+	 Subject: [PATCH v5.5.53, WIN32] PL_block_type undefined unless DEBUGGING
+ Branch: perl
+       ! Changes win32/makedef.pl
+____________________________________________________________________________
+[  2220] By: gsar                                  on 1998/11/08  21:13:07
+    Log: integrate changes#2120,2168,2218 from maint-5.005;
+	 add new vtbls; s/\bvtbl_/PL_vtbl_/; remove trailing comma in
+	 enum; make regen_headers
+ Branch: perl
+       ! XSUB.h embed.h embedvar.h ext/IPC/SysV/Msg.pm global.sym
+       ! objXSUB.h perl.h pod/perlfunc.pod proto.h util.c win32/win32.c
+____________________________________________________________________________
+[  2219] By: gsar                                  on 1998/11/08  19:42:57
+    Log: integrate cfgperl changes into mainline
+ Branch: perl
+      +> README.vmesa
+      !> Configure MANIFEST Porting/Glossary Porting/config.sh
+      !> Porting/config_H config_h.SH ext/Thread/Thread.xs
+      !> hints/hpux.sh hints/vmesa.sh lib/Math/Complex.pm malloc.c
+      !> perl.h pod/perlfunc.pod pod/perllocale.pod pod/perlport.pod
+      !> pp_sys.c sv.c t/lib/complex.t t/op/groups.t t/op/lex_assign.t
+      !> thread.h vms/subconfigure.com vos/config.h
 ____________________________________________________________________________
-[   150] By: nick                                  on 1997/10/18  01:57:20
-        Log: Try reopening some non-contravertial files
-     Branch: oneperl
-	  !> x2p/EXTERN.h x2p/INTERN.h x2p/Makefile.SH x2p/a2p.c x2p/a2p.h
-	  !> x2p/a2p.pod x2p/a2p.y x2p/a2py.c x2p/cflags.SH
-	  !> x2p/find2perl.PL x2p/hash.c x2p/hash.h x2p/proto.h x2p/s2p.PL
-          !> x2p/str.c x2p/str.h x2p/util.c x2p/util.h x2p/walk.c
-____________________________________________________________________________
-[   144] By: gsar                                  on 1997/10/16  22:26:07
-        Log: Merge changes to Thread and add makefile fixups to accomodate Thread
-             build.  Once again, builds and runs all	Thread tests using either
-             compiler.
-     Branch: win32/perl
-	   ! embed.h ext/Thread/Thread.xs interp.sym perl.c win32/Makefile
-           ! win32/makefile.mk
+[  2218] By: gbarr                                 on 1998/11/08  16:48:44
+    Log: From: Graham Barr 
+	 Date: Mon, 2 Nov 1998 07:38:52 -0600
+	 Message-ID: <19981102073852.A12751@asic.sc.ti.com>
+	 Subject: [PATCH 5.005_*] Re: IPC::Msg 1.03
+ Branch: maint-5.005/perl
+       ! ext/IPC/SysV/Msg.pm
+____________________________________________________________________________
+[  2215] By: gsar                                  on 1998/11/08  02:52:52
+    Log: set close-on-exec bit on pipe() FDs
+ Branch: perl
+       ! pod/perlfunc.pod pod/perlvar.pod pp_sys.c
+____________________________________________________________________________
+[  2214] By: gsar                                  on 1998/11/08  02:27:57
+    Log: typo in newHVhv()
+ Branch: perl
+       ! hv.c
+____________________________________________________________________________
+[  2211] By: jhi                                   on 1998/11/07  21:14:18
+    Log: Finalize the Mach CThreads support.
+	 
+	 From: Hans Mulder 
+	 Date: Sat,  7 Nov 98 22:06:20 +0100
+	 To: Gurusamy Sarathy 
+	 Cc: jhi@iki.fi, perl5-porters@perl.org
+	 Subject: [PATCH] Re: Not OK: perl 5.00553 on OPENSTEP-Mach 4_1 (UNINSTALLED) 
+	 Message-Id: <9811072105.AA07794@icgned.icgroup.nl>
+ Branch: cfgperl
+       ! malloc.c perl.h
+____________________________________________________________________________
+[  2210] By: gsar                                  on 1998/11/06  20:36:50
+    Log: fix AvREALISH bogusness
+ Branch: perl
+       ! av.c t/op/array.t
+____________________________________________________________________________
+[  2209] By: jhi                                   on 1998/11/06  08:05:31
+    Log: Renamed malloc.c ASSERT() macro to P_ASSERT() because
+	 ASSERT() causes problems in {NeXTStep,OpenStep}.
+	 
+	 From: Hans Mulder 
+	 To: Jarkko Hietaniemi 
+	 Subject: Re: Not OK: perl 5.00553 on OPENSTEP-Mach 4_1 (UNINSTALLED)
+	 Date: Fri,  6 Nov 98 01:27:41 +0100
+	 Message-Id: <9811060025.AA27389@icgned.icgroup.nl>
+	 
+	 and
+	 
+	 From: Ilya Zakharevich 
+	 Subject: Re: ASSERT() in malloc.c
+	 To: jhi@iki.fi
+	 Date: Fri, 6 Nov 1998 02:59:29 -0500 (EST)
+	 Message-Id: <199811060759.CAA18915@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+       ! malloc.c
+____________________________________________________________________________
+[  2208] By: jhi                                   on 1998/11/06  07:55:38
+    Log: Mach CThreads needs #include .
+ Branch: cfgperl
+       ! perl.h
+____________________________________________________________________________
+[  2206] By: jhi                                   on 1998/11/05  14:54:52
+    Log: PERL_BADLANG wrongly documented.
+	 
+	 From: ts 
+	 To: jhi@cc.hut.fi
+	 Subject: Re: Locale warning messages
+	 Date: Thu, 5 Nov 1998 14:34:19 +0100 (MET)
+	 Message-Id: <199811051334.OAA24863@moulon.inra.fr>
+	 
+	 and
+	 
+	 From: Ilya Zakharevich 
+	 Subject: Re: PERL_BADLANG
+	 To: jhi@iki.fi
+	 Subject: Re: PERL_BADLANG
+	 Date: Thu, 5 Nov 1998 09:49:00 -0500 (EST)
+	 Message-Id: <199811051449.JAA04238@monk.mps.ohio-state.edu>
+ Branch: cfgperl
+       ! pod/perllocale.pod
+____________________________________________________________________________
+[  2205] By: jhi                                   on 1998/11/05  14:24:33
+    Log: Document all the control flow keywords in perlfunc
+	 so that "perlfunc -f while" works.
+ Branch: cfgperl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2204] By: jhi                                   on 1998/11/05  12:46:02
+    Log: Configure update.  Remove last trace of PTHREADS_CREATED_JOINABLE
+	 (from vos/config.h).  Update Porting/{Glossary,config*}.
+ Branch: cfgperl
+       ! Configure Porting/Glossary Porting/config.sh Porting/config_H
+       ! config_h.SH vos/config.h
+____________________________________________________________________________
+[  2203] By: jhi                                   on 1998/11/05  08:34:39
+    Log: VM/ESA and VMS sig_num_init (change#2101) catchup.
+ Branch: cfgperl
+       ! hints/vmesa.sh vms/subconfigure.com
+____________________________________________________________________________
+[  2202] By: jhi                                   on 1998/11/05  08:03:20
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> Changes cop.h doop.c gv.c mg.c perl.c pp_ctl.c sv.c util.c
+      !> win32/Makefile win32/makefile.mk win32/win32.c
+____________________________________________________________________________
+[  2201] By: gsar                                  on 1998/11/05  04:40:44
+    Log: another POPSTACK victim
+ Branch: perl
+       ! cop.h sv.c
+____________________________________________________________________________
+[  2196] By: gsar                                  on 1998/11/05  02:07:54
+    Log: fix a location affected by change#2191, add note about POPSTACK
+ Branch: perl
+       ! cop.h gv.c pp_ctl.c
+____________________________________________________________________________
+[  2195] By: gsar                                  on 1998/11/05  02:04:45
+    Log: makefile notes
+ Branch: perl
+       ! win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  2192] By: gsar                                  on 1998/11/04  23:48:53
+    Log: indeterminate order-of-evaluation fixes
+ Branch: perl
+       ! mg.c
+____________________________________________________________________________
+[  2191] By: gsar                                  on 1998/11/04  23:02:16
+    Log: refetch local stack pointer in POPSTACK
+ Branch: perl
+       ! cop.h perl.c
+____________________________________________________________________________
+[  2190] By: jhi                                   on 1998/11/04  08:50:40
+    Log: Configure update.
+	 Sequent DYNIX/ptx updates: osvers=$4 (instead of $3) of uname -a,
+	 
+	 From: Andy Dougherty 
+	 To: Martin Bligh 
+	 Cc: Jarkko Hietaniemi 
+	 Subject: Re: Perl 5's configure on DYNIX/ptx
+	 Message-Id: 
+	 Date: Tue, 3 Nov 1998 09:35:26 -0500 (EST)
+	 
+	 find sockets also from libsocket, not just libnet.
+	 OS390: $compile_ok instead of $compile for ,
+	 
+	 From: pvhp@forte.com (Peter Prymmer)
+	 To: Thomas.Dorner@start.de, jhi@iki.fi, neale@VMA.TABNSW.COM.AU
+	 Subject: _53 not OK on os390 but looking better than ever
+	 Date: Tue, 3 Nov 98 17:33:22 PST
+	 Message-Id: <9811040133.AA09450@forte.com>
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2189] By: jhi                                   on 1998/11/04  07:43:58
+    Log: sysio.t failure: fix undefined order of evaluation, from
+	 
+	 From: Spider Boardman 
+	 Subject: Not OK: perl 5.00553 on alpha-thread 5.0 [PATCH]
+	 To: perlbug@perl.com
+	 Date: 4 Nov 1998 01:22:30 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! pp_sys.c
+____________________________________________________________________________
+[  2188] By: gsar                                  on 1998/11/04  02:59:16
+    Log: fix return value of win32_pclose()
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  2187] By: gsar                                  on 1998/11/04  02:56:34
+    Log: s/sv_upgrade/SvUPGRADE/ a couple of places
+ Branch: perl
+       ! Changes doop.c gv.c util.c
+____________________________________________________________________________
+[  2186] By: jhi                                   on 1998/11/03  08:17:52
+    Log: Document quads in pack.
+ Branch: cfgperl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2185] By: jhi                                   on 1998/11/03  07:49:35
+    Log: (IV) vs (I32) vs I_V()
+	 
+	 Subject: [PATCH 5.005_53] Reverting typecast in sv_upgrade()
+	 From: Anton Berezin  
+	 To: "p5p"  
+	 Date: 01 Nov 1998 15:09:11 +0100 
+	 Message-ID: <86hfwjtshk.fsf@lion.plab.ku.dk>
+	 
+	 and
+	 
+	 From: Andy Dougherty  
+	 Date: Mon, 2 Nov 1998 10:17:34 -0500 (EST) 
+	 Message-Id: 
+ Branch: cfgperl
+       ! sv.c
+____________________________________________________________________________
+[  2184] By: jhi                                   on 1998/11/03  07:42:46
+    Log: VM/ESA updates.
+ Branch: cfgperl
+       + README.vmesa
+       ! MANIFEST pod/perlfunc.pod pod/perlport.pod
+____________________________________________________________________________
+[  2183] By: jhi                                   on 1998/11/02  12:58:13
+    Log: The id(1)-parsing is real fun.
+ Branch: cfgperl
+       ! t/op/groups.t
+____________________________________________________________________________
+[  2182] By: jhi                                   on 1998/11/02  12:07:43
+    Log: Decommission the symlink test.
+ Branch: cfgperl
+       ! t/op/lex_assign.t
+____________________________________________________________________________
+[  2181] By: jhi                                   on 1998/11/02  12:03:08
+    Log: Replace ATTR_JOINABLE with true Configure probe
+	 for PTHREAD_CREATE_JOINABLE (or equivalent:
+	 PTHREAD_CREATE_UNDETACHED or __UNDETACHED).
+	 Remove ATTR_JOINABLE itself: Thread.xs uses
+	 PTHREAD_CREATE_JOINABLE (or equivalent) directly.
+	 
+	 Really scan for  only if usethreads.
+ Branch: cfgperl
+       ! Configure config_h.SH ext/Thread/Thread.xs thread.h
+____________________________________________________________________________
+[  2180] By: jhi                                   on 1998/11/02  11:07:34
+    Log: In HP-UX 10.X usethreads only if the required files are present.
+ Branch: cfgperl
+       ! hints/hpux.sh
+____________________________________________________________________________
+[  2179] By: jhi                                   on 1998/11/02  09:10:33
+    Log: Prefer groups(1).
+	 id -Gn can be broken.
+	 id -a can save the day.
+ Branch: cfgperl
+       ! t/op/groups.t
+____________________________________________________________________________
+[  2178] By: jhi                                   on 1998/11/02  08:35:29
+    Log: Detrail enum comma.
+ Branch: cfgperl
+       ! perl.h
+____________________________________________________________________________
+[  2177] By: jhi                                   on 1998/11/02  08:24:12
+    Log: 0**0 = 1, from
+	 
+	 From: d-lewart@uiuc.edu (Daniel S. Lewart)
+	 Subject: Math::Complex 0**0 patches
+	 Date: Sun, 1 Nov 1998 19:21:48 -0600 (CST)
+	 Message-Id: <199811020121.TAA28310@staff2.cso.uiuc.edu>
+	 To: jhi@iki.fi (Jarkko Hietaniemi),
+	 Raphael_Manfredi@grenoble.hp.com (Raphael Manfredi)
+ Branch: cfgperl
+       ! lib/Math/Complex.pm t/lib/complex.t
 ____________________________________________________________________________
-[   143] By: gsar                                  on 1997/10/16  20:45:58
-        Log: A quick merge of latest mainline.
-     Branch: win32/perl
-	  +> ext/Thread/Makefile.PL ext/Thread/Notes ext/Thread/README
-	  +> ext/Thread/Thread.pm ext/Thread/Thread.xs
-	  +> ext/Thread/Thread/Queue.pm ext/Thread/Thread/Semaphore.pm
-	  +> ext/Thread/create.t ext/Thread/io.t ext/Thread/join.t
-	  +> ext/Thread/join2.t ext/Thread/list.t ext/Thread/lock.t
-	  +> ext/Thread/queue.t ext/Thread/sync.t ext/Thread/sync2.t
-	  +> ext/Thread/typemap ext/Thread/unsync.t ext/Thread/unsync2.t
-	  +> ext/Thread/unsync3.t ext/Thread/unsync4.t hints/os390.sh
-          +> lib/base.pm t/lib/dosglob.t
-           - ext/util/extliblist
-          !> (integrate 134 files)
+[  2168] By: gbarr                                 on 1998/11/01  01:58:58
+    Log: From: jan.dubois@ibm.net (Jan Dubois)   
+	 Date: Fri, 09 Oct 1998 23:28:31 +0200
+	 Message-ID: <36217b7f.3193091@smtp1.ibm.net>
+	 Subject: [PATCH 5.005_02] Allow XS access to vtbl_*s when compiled with PERL_OBJECT
+ Branch: maint-5.005/perl
+       ! XSUB.h
+____________________________________________________________________________
+[  2164] By: jhi                                   on 1998/10/31  15:50:02
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      +> t/op/lex_assign.t
+      !> (integrate 45 files)
 
 ----------------
-Version 5.004_53
+Version 5.005_53
 ----------------
 
 ____________________________________________________________________________
-[   142] By: mbeattie                              on 1997/10/16  16:52:55
-        Log: Add newly moved perl/ext/Thread/... files to MANIFEST.
-     Branch: perl
-           ! MANIFEST
+[  2163] By: gsar                                  on 1998/10/31  11:31:12
+    Log: bump patchlevel; other minor fixes for clean build and test on
+	 Solaris and win32
+ Branch: perl
+       ! Changes ext/Data/Dumper/Dumper.xs patchlevel.h pp.h sv.c
+       ! t/lib/dumper.t t/op/groups.t t/op/lex_assign.t
+       ! t/pragma/warn/regexec win32/Makefile win32/config_H.bc
+       ! win32/config_H.gc win32/config_H.vc win32/makefile.mk
+       ! x2p/a2p.c
+____________________________________________________________________________
+[  2162] By: gsar                                  on 1998/10/31  09:40:31
+    Log: From: Ilya Zakharevich 
+	 Date: Fri, 30 Oct 1998 18:36:20 -0500 (EST)
+	 Message-Id: <199810302336.SAA17336@monk.mps.ohio-state.edu>
+	 Subject: Re: [PATCH 5.00552] Overloaded <> and deref again
+ Branch: perl
+       ! pp.h
+____________________________________________________________________________
+[  2161] By: gsar                                  on 1998/10/31  09:39:13
+    Log: From: Albert Dvornik 
+	 Date: 30 Oct 1998 17:50:04 -0500
+	 Message-Id: 
+	 Subject: [PATCH perl5.00[45]] a2p: make sprintf less greedy without -o
+ Branch: perl
+       ! x2p/Makefile.SH x2p/a2p.c x2p/a2p.pod x2p/a2p.y x2p/a2py.c
+____________________________________________________________________________
+[  2160] By: gsar                                  on 1998/10/31  09:35:03
+    Log: fix for bugs in -x mode
+	 From: Ilya Zakharevich 
+	 Date: Sat, 31 Oct 1998 00:30:57 -0500 (EST)
+	 Message-Id: <199810310530.AAA22277@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Fix h2xs
+ Branch: perl
+       ! utils/h2xs.PL
+____________________________________________________________________________
+[  2159] By: gsar                                  on 1998/10/31  09:31:36
+    Log: Data::Dumper update
+ Branch: perl
+       ! ext/Data/Dumper/Changes ext/Data/Dumper/Dumper.pm
+       ! ext/Data/Dumper/Dumper.xs ext/Data/Dumper/Todo
+____________________________________________________________________________
+[  2153] By: gsar                                  on 1998/10/30  21:40:09
+    Log: add testsuite portion of patch
+	 From: Ilya Zakharevich 
+	 Date: Thu, 29 Oct 1998 23:20:01 -0500 (EST)
+	 Message-Id: <199810300420.XAA25651@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00321 ;-)] 87% speedup
+ Branch: perl
+       + t/op/lex_assign.t
+       ! MANIFEST
+____________________________________________________________________________
+[  2152] By: gsar                                  on 1998/10/30  21:08:11
+    Log: mention the C<$SIG{CHLD} = 'IGNORE'> special case
+ Branch: perl
+       ! pod/perlfunc.pod pod/perlipc.pod pod/perlvar.pod
+____________________________________________________________________________
+[  2151] By: gsar                                  on 1998/10/30  20:18:09
+    Log: From: Mark-Jason Dominus 
+	 Date: Fri, 30 Oct 1998 14:24:23 EST
+	 Message-Id: <19981030192423.27276.qmail@plover.com>
+	 Subject: PATCH: (5.005_02)  a2p should use `chomp' instead of `chop'
+ Branch: perl
+       ! x2p/walk.c
+____________________________________________________________________________
+[  2150] By: gsar                                  on 1998/10/30  20:08:57
+    Log: From: Ilya Zakharevich 
+	 Date: Thu, 29 Oct 1998 22:04:54 -0500 (EST)
+	 Message-Id: <199810300304.WAA23291@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Overloaded <> and deref again
+ Branch: perl
+       ! gv.c lib/overload.pm perl.h pp.c pp.h pp_hot.c pp_sys.c sv.c
+       ! t/pragma/overload.t toke.c
+____________________________________________________________________________
+[  2149] By: gsar                                  on 1998/10/30  19:38:15
+    Log: From: Roderick Schertler 
+	 Date: Thu, 29 Oct 1998 14:50:18 -0500
+	 Message-ID: <17625.909690618@eeyore.ibcinc.com>
+	 Subject: patch for daemonization docs in perlipc
+ Branch: perl
+       ! pod/perlipc.pod
+____________________________________________________________________________
+[  2148] By: gsar                                  on 1998/10/30  19:36:07
+    Log: From: Anton Berezin 
+	 Date: 29 Oct 1998 17:06:25 +0100
+	 Message-ID: <86pvbbuzcu.fsf@lion.plab.ku.dk>
+	 Subject: [PATCH 5.005_52] win32_opendir() fails on empty drives
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  2147] By: gsar                                  on 1998/10/30  19:31:37
+    Log: tweaked version of suggested patch
+	 From: Anton Berezin 
+	 Date: 29 Oct 1998 14:48:54 +0100
+	 Message-ID: <86yapzv5q1.fsf@lion.plab.ku.dk>
+	 Subject: [PATCH 5.005_52] One more problem with win32_stat and MSVC
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  2146] By: gsar                                  on 1998/10/30  19:03:50
+    Log: hand-apply whitespace-mutiliated patch
+	 From: "vishal bhatia" 
+	 Date: Wed, 28 Oct 1998 23:45:32 PST
+	 Message-ID: <19981029074534.2334.qmail@hotmail.com>
+	 Subject: [PATCH 5.005_52]Compiling modules,more bugfixes for B
+ Branch: perl
+       ! ext/B/B/C.pm ext/B/B/CC.pm
+____________________________________________________________________________
+[  2145] By: gsar                                  on 1998/10/30  18:46:58
+    Log: remaining PL_foo stragglers
+ Branch: perl
+       ! doio.c ext/B/B.pm ext/IPC/SysV/SysV.xs ext/Opcode/Opcode.pm
+       ! op.h os2/os2.c vms/gen_shrfls.pl
+____________________________________________________________________________
+[  2144] By: gsar                                  on 1998/10/30  17:38:36
+    Log: integrate cfgperl tweaks into mainline
+ Branch: perl
+      !> Makefile.SH README.posix-bc doio.c ext/POSIX/POSIX.xs proto.h
+      !> t/op/misc.t t/pragma/subs.t t/pragma/warning.t
+____________________________________________________________________________
+[  2143] By: jhi                                   on 1998/10/30  13:27:39
+    Log: There can be multiple yacc/bison errors.
+ Branch: cfgperl
+       ! t/op/misc.t t/pragma/subs.t t/pragma/warning.t
+____________________________________________________________________________
+[  2142] By: jhi                                   on 1998/10/30  13:18:43
+    Log: README.posix-bc update.
+ Branch: cfgperl
+       ! README.posix-bc
+____________________________________________________________________________
+[  2141] By: jhi                                   on 1998/10/30  09:12:59
+    Log: #2133 fallout.
+ Branch: cfgperl
+       ! doio.c ext/POSIX/POSIX.xs
+____________________________________________________________________________
+[  2140] By: jhi                                   on 1998/10/30  08:43:18
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      +> globvar.sym pp.sym
+       - objpp.h thread.sym
+      !> (integrate 61 files)
+____________________________________________________________________________
+[  2133] By: gsar                                  on 1998/10/30  02:51:39
+    Log: phase 1 of somewhat major rearrangement of PERL_OBJECT stuff
+	 (objpp.h is gone, embed.pl now does some of that); objXSUB.h
+	 should soon be automated also; the global variables that
+	 escaped the PL_foo conversion are now reined in; renamed
+	 MAGIC in regcomp.h to REG_MAGIC to avoid collision with the
+	 type of same name; duplicated lists of pp_things in various
+	 places is now gone; result has only been tested on win32
+ Branch: perl
+       + globvar.sym pp.sym
+       - objpp.h thread.sym
+       ! MANIFEST Makefile.SH av.c bytecode.h byterun.h cop.h doio.c
+       ! doop.c dump.c embed.h embed.pl embedvar.h ext/B/B.xs
+       ! ext/POSIX/POSIX.xs ext/Thread/Thread.xs global.sym globals.c
+       ! gv.c malloc.c mg.c objXSUB.h op.c opcode.h opcode.pl perl.c
+       ! perl.h perl_exp.SH perlvars.h perly.c pod/perlguts.pod pp.c
+       ! pp.h pp_ctl.c pp_hot.c pp_proto.h pp_sys.c proto.h regcomp.c
+       ! regcomp.h regcomp.pl regcomp.sym regexec.c regnodes.h run.c
+       ! scope.c sv.c t/op/filetest.t taint.c thrdvar.h toke.c util.c
+       ! win32/Makefile win32/config.bc win32/config.gc win32/config.vc
+       ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+       ! win32/makedef.pl win32/makefile.mk win32/perlhost.h
+____________________________________________________________________________
+[  2130] By: jhi                                   on 1998/10/29  15:31:26
+    Log: Pure bison yylex() proto was broken.
+ Branch: cfgperl
+       ! proto.h
+____________________________________________________________________________
+[  2126] By: jhi                                   on 1998/10/29  08:35:54
+    Log: Integrate mainperl.
+ Branch: cfgperl
+      !> INSTALL README.cygwin32 cygwin32/gcc2 cygwin32/ld2
+      !> lib/ExtUtils/MakeMaker.pm lib/perl5db.pl malloc.c pp.c
+      !> pp_ctl.c proto.h regexec.c t/pragma/overload.t
+      !> t/pragma/warn/doio toke.c win32/makefile.mk
+____________________________________________________________________________
+[  2125] By: jhi                                   on 1998/10/29  08:32:38
+    Log: EBCDIC Makefile.SH iteration converges.  Hopefully.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2124] By: jhi                                   on 1998/10/29  08:06:44
+    Log: EBCDIC Makefile.SH tuneup.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2119] By: gsar                                  on 1998/10/28  23:24:04
+    Log: remove doubled hunk from integration
+ Branch: perl
+       ! pp.c
+____________________________________________________________________________
+[  2118] By: gsar                                  on 1998/10/28  22:03:31
+    Log: From: Ilya Zakharevich 
+	 Date: Wed, 28 Oct 1998 01:23:27 -0500 (EST)
+	 Message-Id: <199810280623.BAA06968@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Minor debugger tweaks
+ Branch: perl
+       ! lib/perl5db.pl
+____________________________________________________________________________
+[  2117] By: gsar                                  on 1998/10/28  22:02:30
+    Log: From: Ilya Zakharevich 
+	 Date: Wed, 28 Oct 1998 01:20:33 -0500 (EST)
+	 Message-Id: <199810280620.BAA06893@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Make sort respect overloading
+ Branch: perl
+       ! pp_ctl.c proto.h t/pragma/overload.t
+____________________________________________________________________________
+[  2116] By: gsar                                  on 1998/10/28  21:51:11
+    Log: MM patches from Ilya Zakharevich
+	 Date: Wed, 28 Oct 1998 01:27:04 -0500 (EST)
+	 Message-Id: <199810280627.BAA07053@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Make MakeMaker more verbose
+	 --
+	 Date: Wed, 28 Oct 1998 01:25:36 -0500 (EST)
+	 Message-Id: <199810280625.BAA06980@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Make MakeMaker ignore errors in kid Makefile.PL
+ Branch: perl
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  2115] By: gsar                                  on 1998/10/28  21:46:19
+    Log: add explicit references to perl source path in ld2 and gcc2
+ Branch: perl
+       ! README.cygwin32 cygwin32/gcc2 cygwin32/ld2
+____________________________________________________________________________
+[  2114] By: gsar                                  on 1998/10/28  21:39:56
+    Log: From: Andy Dougherty 
+	 Date: Tue, 27 Oct 1998 10:40:41 -0500 (EST)
+	 Message-Id: 
+	 Subject: [PATCH] Re: Problems with: Creating an installable tar archive
+ Branch: perl
+       ! INSTALL
+____________________________________________________________________________
+[  2113] By: gsar                                  on 1998/10/28  21:21:16
+    Log: integrate cfgperl into mainline
+ Branch: perl
+      +> t/op/filetest.t
+      !> Configure MANIFEST Makefile.SH config_h.SH perl.h perly.y
+      !> perly_c.diff pp.c proto.h t/comp/require.t t/io/pipe.t
+      !> t/op/groups.t t/op/misc.t t/pragma/subs.t t/pragma/warning.t
+      !> thread.h toke.c vmesa/Makefile
+____________________________________________________________________________
+[  2112] By: gsar                                  on 1998/10/28  21:14:18
+    Log: minor cleanup
+ Branch: perl
+       ! malloc.c regexec.c t/pragma/warn/doio win32/makefile.mk
+____________________________________________________________________________
+[  2111] By: gsar                                  on 1998/10/28  18:52:10
+    Log: smarter C<$SIG{FOO} = BAREWORD;> warning
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  2110] By: jhi                                   on 1998/10/28  15:07:54
+    Log: posix-bc doesn't want to regenerate a2p.h from a2p.y.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2109] By: jhi                                   on 1998/10/28  13:39:54
+    Log: a2p.y needs to generate also y.tab.h.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2108] By: jhi                                   on 1998/10/28  10:33:36
+    Log: The "parse error" must be converted to "syntax error",
+	 just matching it aint' enough.
+ Branch: cfgperl
+       ! t/comp/require.t t/op/misc.t t/pragma/subs.t
+       ! t/pragma/warning.t
+____________________________________________________________________________
+[  2107] By: jhi                                   on 1998/10/28  10:23:05
+    Log: Regen sig_n{ame,umber}* if slightest doubt.
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2106] By: jhi                                   on 1998/10/28  08:44:49
+    Log: Bison says 'parse error', not 'parser error'.
+ Branch: cfgperl
+       ! t/comp/require.t t/op/misc.t t/pragma/subs.t
+       ! t/pragma/warning.t
+____________________________________________________________________________
+[  2105] By: jhi                                   on 1998/10/28  08:42:09
+    Log: yylex() parametrization.
+ Branch: cfgperl
+       ! proto.h toke.c
+____________________________________________________________________________
+[  2104] By: jhi                                   on 1998/10/28  08:25:09
+    Log: Bring in #2102.
+ Branch: cfgperl
+       ! pp.c
+____________________________________________________________________________
+[  2103] By: jhi                                   on 1998/10/28  08:22:04
+    Log: From: Dominic Dunlop 
+	 Subject: [PATCH 5.005_02]  Re: perl5.004_04 testing problem
+	 Date: 27 Oct 1998 20:47:25 +0200
+	 Message-ID: 
+ Branch: cfgperl
+       ! t/op/groups.t
+____________________________________________________________________________
+[  2102] By: larry                                 on 1998/10/27  18:58:55
+    Log: utf8 change to quotemeta broke EBCDIC
+ Branch: perl
+       ! pp.c
+____________________________________________________________________________
+[  2101] By: jhi                                   on 1998/10/27  12:55:34
+    Log: $Config{sig_num_init}.
+	 Also, a new approach to the 'pthreads-created-joinable': drop
+	 it and use {PTHREAD_CREATE_{JOINABLE,UNDETACHED},__UNDETACHED}
+	 directly. (See also #2096).
+ Branch: cfgperl
+       ! Configure config_h.SH
+____________________________________________________________________________
+[  2100] By: jhi                                   on 1998/10/27  10:48:55
+    Log: Regenerated perly_c.diff.
+ Branch: cfgperl
+       ! perly_c.diff
+____________________________________________________________________________
+[  2099] By: jhi                                   on 1998/10/27  08:42:25
+    Log: First the mangler was Netscape, then it was me.
+ Branch: cfgperl
+       ! vmesa/Makefile
+____________________________________________________________________________
+[  2098] By: jhi                                   on 1998/10/27  08:34:40
+    Log: `id -Gn` might be available where `groups` is not.
+ Branch: cfgperl
+       ! t/op/groups.t
+____________________________________________________________________________
+[  2097] By: jhi                                   on 1998/10/27  08:05:17
+    Log: Netscape had mangled the tabs.
+ Branch: cfgperl
+       ! vmesa/Makefile
+____________________________________________________________________________
+[  2096] By: jhi                                   on 1998/10/27  08:03:05
+    Log: ATTR_JOINABLE logic, based on (private email)
+	 
+	 From: Neale Ferguson 
+	 Subject: Some little diffs
+	 Message-ID: <36350969.DA33E7B4@mailbox.tabnsw.com.au>
+	 Date: Tue, 27 Oct 1998 13:44:42 +1300
+ Branch: cfgperl
+       ! thread.h
+____________________________________________________________________________
+[  2095] By: jhi                                   on 1998/10/27  07:56:57
+    Log: Mach cthreads support based on:
+	 
+	 From: brie@corp.home.net (Brian Harrison)
+	 Subject: perl5.005_02 patch for mthreads
+	 To: perl5-porters@perl.org
+	 Date: 24 Oct 1998 01:01:55 +0300
+	 Message-ID: 
+	 
+	 Pthread yield probe (dejavu)
+	 Cosmetic nanochange for the union semun output.
+	 Better inttypes.h probe.
+	 Undo the 'void *' $selecttype probe from #1971 because
+	 it breaks the $selectminbits test.
+ Branch: cfgperl
+       ! Configure config_h.SH perl.h thread.h
+____________________________________________________________________________
+[  2094] By: jhi                                   on 1998/10/26  13:02:07
+    Log: Also posix-bc wants to reyacc.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2093] By: jhi                                   on 1998/10/26  10:17:21
+    Log: Removed !(*s & 0x80) from pp_quotemeta(), introduced after
+	 5_02 and really breaking things in non-ASCII worlds.
+ Branch: cfgperl
+       ! pp.c
+____________________________________________________________________________
+[  2092] By: jhi                                   on 1998/10/26  09:08:00
+    Log: More robustness.
+ Branch: cfgperl
+       ! t/comp/require.t t/op/misc.t t/pragma/subs.t
+       ! t/pragma/warning.t
+____________________________________________________________________________
+[  2091] By: jhi                                   on 1998/10/26  08:47:32
+    Log: s/YYLEXPARAM/PERL_YYLEX_PARAM_DECL/g
+	 Bison really wants YYLEX_PARAM.
+ Branch: cfgperl
+       ! perly.y proto.h toke.c
+____________________________________________________________________________
+[  2090] By: jhi                                   on 1998/10/26  08:21:25
+    Log: s/YYLEX_PARAM/YYLEXPARAM/
+ Branch: cfgperl
+       ! perly.y
+____________________________________________________________________________
+[  2089] By: jhi                                   on 1998/10/26  08:17:33
+    Log: Indicate skipped subtests.
+ Branch: cfgperl
+       ! t/io/pipe.t
+____________________________________________________________________________
+[  2088] By: jhi                                   on 1998/10/26  08:11:36
+    Log: Integrate from mainperl.
+ Branch: cfgperl
+      !> (integrate 54 files)
+____________________________________________________________________________
+[  2087] By: jhi                                   on 1998/10/26  08:08:02
+    Log: Add test for filetests.
+ Branch: cfgperl
+       + t/op/filetest.t
+       ! MANIFEST
+____________________________________________________________________________
+[  2086] By: gsar                                  on 1998/10/26  02:44:44
+    Log: various win32 tweaks; disable new xs_cpp section (it creates
+	 ambiguous inference graph for %.xs --> %.o)
+ Branch: perl
+       ! ext/Thread/Thread.xs gv.c lib/ExtUtils/MakeMaker.pm mg.c pp.c
+       ! pp_hot.c proto.h win32/GenCAPI.pl win32/Makefile
+       ! win32/config.gc win32/config_H.gc win32/makedef.pl
+       ! win32/makefile.mk win32/win32.h
+____________________________________________________________________________
+[  2085] By: gsar                                  on 1998/10/26  00:50:02
+    Log: sanity-check $Config{drand01} in rand.t
+ Branch: perl
+       ! t/op/rand.t win32/config.bc win32/config.gc win32/config.vc
+       ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+____________________________________________________________________________
+[  2078] By: gsar                                  on 1998/10/25  10:22:04
+    Log: update win32/config*.?c
+ Branch: perl
+       ! Changes win32/config.bc win32/config.gc win32/config.vc
+       ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+____________________________________________________________________________
+[  2077] By: gsar                                  on 1998/10/25  08:39:25
+    Log: From: Graham Barr 
+	 Date: Sat, 24 Oct 1998 21:45:50 -0500
+	 Message-ID: <19981024214550.C508@pobox.com>
+	 Subject: Re: die with a reference  should use overload "" operator
+ Branch: perl
+       ! pp_ctl.c
+____________________________________________________________________________
+[  2076] By: gsar                                  on 1998/10/25  08:37:49
+    Log: From: Graham Barr 
+	 Date: Sat, 24 Oct 1998 12:45:21 -0500
+	 Message-ID: <19981024124521.C512@pobox.com>
+	 Subject: [PATCH 5.005_02] Re: Auto-incrementing tied scalar causes SEGV
+ Branch: perl
+       ! sv.c
+____________________________________________________________________________
+[  2075] By: gsar                                  on 1998/10/25  08:24:09
+    Log: fix C etc.
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  2074] By: gsar                                  on 1998/10/25  08:12:28
+    Log: list builtins with portability caveats
+	 From: Jarkko Hietaniemi 
+	 Date: Fri, 23 Oct 1998 14:05:23 +0300 (EET DST)
+	 Message-Id: <199810231105.OAA02411@alpha.hut.fi>
+	 Subject: [PATCH] 5.005_02 and 5.005_52: perlfunc.pod and perlport.pod
+ Branch: perl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2073] By: gsar                                  on 1998/10/25  07:55:43
+    Log: fix stack overrun in file test operators
+ Branch: perl
+       ! pp_sys.c
+____________________________________________________________________________
+[  2072] By: gsar                                  on 1998/10/25  07:29:45
+    Log: implement C and other fixes (via private mail)
+	 From:    "vishal bhatia" 
+	 Date:    Wed, 21 Oct 1998 22:59:03 PDT
+	 Message-Id: <19981022055904.20083.qmail@hotmail.com>
+	 Subject: [PATCH 5.005_52] More fixes for B
+ Branch: perl
+       ! ext/B/B.pm ext/B/B.xs ext/B/B/C.pm ext/B/B/CC.pm
+____________________________________________________________________________
+[  2071] By: gsar                                  on 1998/10/25  07:14:41
+    Log: From: Graham Barr 
+	 Date: Sat, 17 Oct 1998 20:42:41 -0500
+	 Message-ID: <19981017204241.G510@pobox.com>
+	 Subject: Re: taint checking for: use lib "$ENV{'EVIL'}"
+ Branch: perl
+       ! pp_ctl.c
+____________________________________________________________________________
+[  2070] By: gsar                                  on 1998/10/25  07:07:29
+    Log: avoid bogus line number in XSUB redefined warnings
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  2069] By: gsar                                  on 1998/10/25  06:59:03
+    Log: From: Martijn Koster 
+	 Date: Wed, 21 Oct 1998 13:12:03 +0100
+	 Message-ID: <19981021131203.A15661@excitecorp.com>
+	 Subject: File::Path::mkpath reports the wrong error
+ Branch: perl
+       ! lib/File/Path.pm
+____________________________________________________________________________
+[  2068] By: gsar                                  on 1998/10/25  06:54:43
+    Log: From: Zachary Miller 
+	 Date: Tue, 20 Oct 1998 20:52:20 -0500
+	 Message-Id: <199810210152.UAA07792@simon.er.usgs.gov>
+	 Subject: Exporter.pm's export_to_level() argument handling buggy
+ Branch: perl
+       ! lib/Exporter.pm
+____________________________________________________________________________
+[  2067] By: gsar                                  on 1998/10/25  06:50:19
+    Log: From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Wed, 21 Oct 1998 00:55:51 +0200
+	 Message-ID: <36380269.55370608@smtp1.ibm.net>
+	 Subject: Make _really_ sure Dynaloader.xs code is initialized only once
+ Branch: perl
+       ! ext/DynaLoader/DynaLoader_pm.PL
+____________________________________________________________________________
+[  2066] By: gsar                                  on 1998/10/25  06:48:19
+    Log: recognize '%' as a shell metachar for win32
+	 From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Tue, 20 Oct 1998 21:57:35 +0200
+	 Message-ID: <3636ea31.49170453@smtp1.ibm.net>
+	 Subject: [PATCH 5.005_02, Win32]  Re: %ENV% not expanded in backquotes?
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  2065] By: gsar                                  on 1998/10/25  06:46:30
+    Log: remove FAST_SV_GETS remnant (as suggested by Gisle Aas)
+ Branch: perl
+       ! sv.c
+____________________________________________________________________________
+[  2064] By: gsar                                  on 1998/10/25  06:45:09
+    Log: From: Gisle Aas 
+	 Date: 20 Oct 1998 14:24:44 +0200
+	 Message-ID: 
+	 Subject: ord() and unpack("U*",...) should not be negative
+ Branch: perl
+       ! pp.c
+____________________________________________________________________________
+[  2063] By: gsar                                  on 1998/10/25  06:42:29
+    Log: From: Ilya Zakharevich 
+	 Date: Sun, 18 Oct 1998 23:20:57 -0400 (EDT)
+	 Message-Id: <199810190320.XAA28249@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Improve sbrk() on OS/2
+ Branch: perl
+       ! os2/os2.c
+____________________________________________________________________________
+[  2062] By: gsar                                  on 1998/10/25  06:41:26
+    Log: From: Ilya Zakharevich 
+	 Date: Sun, 18 Oct 1998 23:10:29 -0400 (EDT)
+	 Message-Id: <199810190310.XAA28102@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Speed up aassign
+ Branch: perl
+       ! pp_hot.c
+____________________________________________________________________________
+[  2061] By: gsar                                  on 1998/10/25  06:39:04
+    Log: From: Graham Barr 
+	 Date: Sat, 17 Oct 1998 22:22:02 -0500
+	 Message-ID: <19981017222202.J510@pobox.com>
+	 Subject: Re: '*' prototype does not allow bareword with strict
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  2060] By: gsar                                  on 1998/10/25  06:37:34
+    Log: handle '::' in section names properly
+	 From: Graham Barr 
+	 Date: Sat, 17 Oct 1998 12:57:54 -0500
+	 Message-ID: <19981017125754.C510@pobox.com>
+	 Subject: Re: pod2html
+ Branch: perl
+       ! lib/Pod/Html.pm
+____________________________________________________________________________
+[  2059] By: gsar                                  on 1998/10/25  06:33:43
+    Log: integrate changes#1982,2014,2021 (from maint-5.005)
+ Branch: perl
+      !> av.c doop.c ext/POSIX/POSIX.xs hv.c lib/ExtUtils/MakeMaker.pm
+      !> mg.c mg.h pp.c pp_hot.c pp_sys.c scope.c t/op/tie.t
+____________________________________________________________________________
+[  2058] By: gsar                                  on 1998/10/25  05:44:17
+    Log: allow more win32 symbol exports (suggested by Jan Dubois)
+ Branch: perl
+       ! win32/makedef.pl
+____________________________________________________________________________
+[  2057] By: gsar                                  on 1998/10/25  05:40:40
+    Log: integrate change#2053 from maint-5.005
+ Branch: perl
+      !> cop.h t/cmd/while.t
+____________________________________________________________________________
+[  2056] By: gsar                                  on 1998/10/25  05:16:41
+    Log: commented version of a patch suggested by Drago Goricanec
+	 From: Jarkko Hietaniemi 
+	 Date: 16 Oct 1998 15:24:45 +0300
+	 Message-ID: 
+	 Subject: Re: [PATCH 5.005_52] Linux select fails with more than 32 FDs
+ Branch: perl
+       ! pp_sys.c
+____________________________________________________________________________
+[  2055] By: gsar                                  on 1998/10/25  05:11:03
+    Log: include eof() in description of buffering caveats
+	 From: Anton Berezin 
+	 Date: Fri, 16 Oct 1998 19:22:41 +0200 (CEST)
+	 Message-Id: <199810161722.TAA28813@lion.plab.ku.dk>
+	 Subject: [DOCPATCH] pod/perlfunc.pod
+ Branch: perl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  2054] By: gsar                                  on 1998/10/25  05:07:42
+    Log: disallow 'x' in hex numbers (except leading '0x')
+	 From: Gisle Aas 
+	 Date: 16 Oct 1998 16:33:12 +0200
+	 Message-ID: 
+	 Subject: Re: [PATCH 5.005_52] 'x' is not a legal hex digit
+ Branch: perl
+       ! perlvars.h t/op/oct.t util.c
+____________________________________________________________________________
+[  2052] By: gsar                                  on 1998/10/25  04:49:04
+    Log: avoid the circular refcnt logic in magic_mutexfree()
+ Branch: perl
+       ! mg.c pp.c pp_hot.c
+____________________________________________________________________________
+[  2051] By: gsar                                  on 1998/10/25  04:35:07
+    Log: properly restore PL_rsfp_filters after require
+ Branch: perl
+       ! embed.h global.sym objXSUB.h objpp.h pp_ctl.c proto.h scope.c
+       ! scope.h
+____________________________________________________________________________
+[  2050] By: gsar                                  on 1998/10/25  02:42:32
+    Log: integrate cfgperl changes back into mainline
+ Branch: perl
+      +> README.posix-bc hints/posix-bc.sh hints/vmesa.sh
+      +> vmesa/Makefile vmesa/vmesa.c vmesa/vmesaish.h
+      !> (integrate 33 files)
+____________________________________________________________________________
+[  2049] By: gsar                                  on 1998/10/25  01:30:48
+    Log: avoid "mysterious" compile-time failures without messages
+ Branch: perl
+       ! gv.c
+____________________________________________________________________________
+[  2041] By: gsar                                  on 1998/10/23  21:11:56
+    Log: checkin jpl under //depot/perlext/jpl/...
+ Branch: perlext
+       + jpl/JNI/Changes jpl/JNI/JNI.pm jpl/JNI/JNI.xs jpl/JNI/MANIFEST
+       + jpl/JNI/Makefile.PL jpl/JNI/test.pl jpl/JNI/typemap
+       + jpl/JPL/AutoLoader.pm jpl/JPL/Class.pm jpl/JPL/Compile.pm
+       + jpl/JPL/Makefile.PL jpl/JPL_Rolo/JPL_Rolo.jpl
+       + jpl/JPL_Rolo/Makefile.PL jpl/JPL_Rolo/README
+       + jpl/JPL_Rolo/cardfile jpl/PerlInterpreter/Makefile
+       + jpl/PerlInterpreter/Makefile.PL
+       + jpl/PerlInterpreter/PerlInterpreter.c
+       + jpl/PerlInterpreter/PerlInterpreter.h
+       + jpl/PerlInterpreter/PerlInterpreter.java jpl/README
+       + jpl/Sample/Makefile.PL jpl/Sample/Sample.jpl
+       + jpl/Test/Makefile.PL jpl/Test/Test.jpl jpl/bin/jpl
+       + jpl/get_jdk/README jpl/get_jdk/get_jdk.pl
+       + jpl/get_jdk/jdk_hosts jpl/install-jpl
+____________________________________________________________________________
+[  2040] By: larry                                 on 1998/10/23  19:31:42
+    Log: chr(0xFFFFFFFF) didn't translate to utf8 character
+ Branch: perl
+       ! pp.c
+____________________________________________________________________________
+[  2039] By: larry                                 on 1998/10/23  18:48:34
+    Log: tr///d does not seem to work
+ Branch: perl
+       ! lib/utf8_heavy.pl
+____________________________________________________________________________
+[  2038] By: larry                                 on 1998/10/23  18:00:41
+    Log: Program with utf8 identifiers fails to compile
+ Branch: perl
+       ! doop.c gv.c op.c pp.c pp_hot.c toke.c
+____________________________________________________________________________
+[  2037] By: jhi                                   on 1998/10/23  14:04:51
+    Log: Test suite portability:
+	 - posix-bc does not write to broken pipes
+	 - filehand #11 only iff we have fork
+	 - warning.t can now match $expected using regular expressions
+ Branch: cfgperl
+       ! t/io/pipe.t t/lib/filehand.t t/pragma/warn/doio
+       ! t/pragma/warning.t
+____________________________________________________________________________
+[  2036] By: jhi                                   on 1998/10/23  12:12:07
+    Log: yacc clarification.
+ Branch: cfgperl
+       ! README.posix-bc
+____________________________________________________________________________
+[  2035] By: jhi                                   on 1998/10/23  12:09:59
+    Log: Some C compilers get upset about 8-bit characters in /* comments. */
+ Branch: cfgperl
+       ! mg.c
+____________________________________________________________________________
+[  2034] By: jhi                                   on 1998/10/22  09:11:52
+    Log: Configure update: both for pthread_yield more robust
+	 testing (all variants of pthread_attr_getdetachstate()) --
+	 and because Configure was broken in major way! About 1000
+	 last lines were truncated.
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2033] By: jhi                                   on 1998/10/22  07:47:10
+    Log: DJGPP feedback for #2028.
+ Branch: cfgperl
+       ! thread.h
+____________________________________________________________________________
+[  2032] By: jhi                                   on 1998/10/21  13:03:57
+    Log: yielding, the saga continues.
+ Branch: cfgperl
+       ! Configure config_h.SH
+      !> av.c lib/constant.pm op.c pod/perldiag.pod pp_ctl.c
+      !> t/op/goto.t t/pragma/constant.t
+____________________________________________________________________________
+[  2031] By: jhi                                   on 1998/10/21  09:15:42
+    Log: VM/ESA feedback for #2028.
+ Branch: cfgperl
+       ! Configure config_h.SH thread.h
+____________________________________________________________________________
+[  2030] By: gsar                                  on 1998/10/21  04:22:53
+    Log: fix handling of mayhaps-extended @_ in goto &sub
+ Branch: perl
+       ! av.c pp_ctl.c t/op/goto.t
+____________________________________________________________________________
+[  2029] By: gsar                                  on 1998/10/21  00:54:14
+    Log: restore sanity to "constant" references
+ Branch: perl
+       ! lib/constant.pm op.c pod/perldiag.pod t/pragma/constant.t
+____________________________________________________________________________
+[  2028] By: jhi                                   on 1998/10/20  15:01:20
+    Log: OLD_PTHREADS_API reorganizing.
+ Branch: cfgperl
+       ! dosish.h ext/Thread/Thread.xs perl.h thread.h util.c
+       ! vmesa/vmesaish.h
+____________________________________________________________________________
+[  2027] By: jhi                                   on 1998/10/20  14:14:51
+    Log: #2026 fallout.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2026] By: jhi                                   on 1998/10/20  11:47:21
+    Log: VM/ESA update.
+ Branch: cfgperl
+       ! Makefile.SH vmesa/vmesa.c vmesa/vmesaish.h
+____________________________________________________________________________
+[  2025] By: jhi                                   on 1998/10/20  08:20:56
+    Log: 64-bitness, based on
+	 
+	 From: Scott Henry 
+	 To: perl-64bit@perl.org
+	 Message-ID: 
+	 Subject: Re: Configure problems/questions...
+	 Date: 19 Oct 1998 22:38:06 -0700
+ Branch: cfgperl
+       ! hints/irix_6.sh perl.h
+____________________________________________________________________________
+[  2024] By: jhi                                   on 1998/10/20  08:09:07
+    Log: Add lseeksize.
+ Branch: cfgperl
+       ! config_h.SH
+____________________________________________________________________________
+[  2023] By: jhi                                   on 1998/10/20  08:08:33
+    Log: Mumble about _yields() only when threaded.
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2022] By: jhi                                   on 1998/10/20  07:46:26
+    Log: Thinko at PTHREADS_CREATED_JOINABLE.
+ Branch: cfgperl
+       ! thread.h
 ____________________________________________________________________________
-[   141] By: mbeattie                              on 1997/10/16  16:42:13
-        Log: Move perlext/Thread into perl/ext/Thread.
-     Branch: perl
-	  +> ext/Thread/Makefile.PL ext/Thread/Notes ext/Thread/README
-	  +> ext/Thread/Thread.pm ext/Thread/Thread.xs
-	  +> ext/Thread/Thread/Queue.pm ext/Thread/Thread/Semaphore.pm
-	  +> ext/Thread/create.t ext/Thread/io.t ext/Thread/join.t
-	  +> ext/Thread/join2.t ext/Thread/list.t ext/Thread/lock.t
-	  +> ext/Thread/queue.t ext/Thread/sync.t ext/Thread/sync2.t
-	  +> ext/Thread/typemap ext/Thread/unsync.t ext/Thread/unsync2.t
-          +> ext/Thread/unsync3.t ext/Thread/unsync4.t
-           ! Configure
-     Branch: perlext
-	   - Thread/Makefile.PL Thread/Notes Thread/README Thread/Thread.pm
-	   - Thread/Thread.xs Thread/Thread/Queue.pm
-	   - Thread/Thread/Semaphore.pm Thread/create.t Thread/io.t
-	   - Thread/join.t Thread/join2.t Thread/list.t Thread/lock.t
-	   - Thread/queue.t Thread/sync.t Thread/sync2.t Thread/typemap
-	   - Thread/unsync.t Thread/unsync2.t Thread/unsync3.t
-           - Thread/unsync4.t
-____________________________________________________________________________
-[   140] By: mbeattie                              on 1997/10/16  16:26:53
-        Log: Correct threads_mutex locking in main thread destruction.
-             Add per-interp thrsv to hold SV struct thread for main thread.
-             Move Thread.xs MUTEX_DESTROY from end of threadstart to remove_thread.
-             Add Thread/list.t test of Thread->list method.
-             Let Thread::Semaphore methods up and down take an extra argument.
-     Branch: perl
-           ! embed.h interp.sym perl.c perl.h thread.h
-     Branch: perlext
-           + Thread/list.t
-           ! Thread/Thread.xs Thread/Thread/Semaphore.pm
-____________________________________________________________________________
-[   139] By: mbeattie                              on 1997/10/16  14:01:11
-        Log: Fix up merge with 5.004_04.
-     Branch: perl
-           ! op.c perl.c t/lib/dosglob.t
-____________________________________________________________________________
-[   138] By: TimBunce                              on 1997/10/16  12:58:22
-        Log: Fix-up PerForce type for t/lib/dosglob.t from text to xtext
-     Branch: maint-5.004/perl
-           ! t/lib/dosglob.t
-____________________________________________________________________________
-[   137] By: mbeattie                              on 1997/10/16  11:09:25
-        Log: Merge maint-5.004 branch (5.004_04) with mainline.
-     Branch: perl
-          +> hints/os390.sh lib/base.pm t/lib/dosglob.t
-           - ext/util/extliblist
-          !> (integrate 132 files)
-____________________________________________________________________________
-[   135] By: gsar                                  on 1997/10/15  21:46:05
-        Log: Win32 changes over 5.004_52:
-             - rearranged MUTEX_LOCK()s in perl_destroy so that we don't call it
-             on an already locked mutex.
-             - other minor tweaks.
-             Now builds and runs win32-version of Thread_52, passing all tests.
-     Branch: win32/perl
-           ! perl.c proto.h thread.h
-____________________________________________________________________________
-[   134] By: gsar                                  on 1997/10/15  18:19:31
-        Log: fixup makefile.mk conflict.
-     Branch: win32/perl
-           ! win32/makefile.mk
+[  2021] By: gbarr                                 on 1998/10/20  01:25:23
+    Log: From: Chip Salzenberg 
+	 Date: Tue, 6 Oct 1998 13:33:05 -0400
+	 Message-ID: <19981006133305.A2348@perlsupport.com>
+	 Subject: [PATCH] 5.005_02: Eliminate leak on self-ties
+ Branch: maint-5.005/perl
+       ! av.c doop.c hv.c mg.c mg.h pp.c pp_hot.c pp_sys.c scope.c
+       ! t/op/tie.t
+____________________________________________________________________________
+[  2020] By: jhi                                   on 1998/10/19  09:15:53
+    Log: YIELD more robustly.
+ Branch: cfgperl
+       ! thread.h
+____________________________________________________________________________
+[  2019] By: jhi                                   on 1998/10/19  08:48:33
+    Log: VM/ESA (and OS390) are in between of OLD_PTHREADS_API and
+	 the 'new' one (just like DJGPP, it seems).
+ Branch: cfgperl
+       ! thread.h
+____________________________________________________________________________
+[  2018] By: jhi                                   on 1998/10/19  07:02:44
+    Log: vmesaish.h doesn't exclude unixish.h.
+ Branch: cfgperl
+       ! perl.h
+____________________________________________________________________________
+[  2017] By: jhi                                   on 1998/10/19  06:44:19
+    Log: 1<<$randbits is not good for randbits=48.
+ Branch: cfgperl
+       ! t/op/rand.t
+____________________________________________________________________________
+[  2016] By: jhi                                   on 1998/10/19  06:39:47
+    Log: Make #2012 glob pattern more portable.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2014] By: gbarr                                 on 1998/10/17  20:31:42
+    Log: Fix POSIX::sigprocmask not to check type of $old parameter
+	 as it is output only
+ Branch: maint-5.005/perl
+       ! ext/POSIX/POSIX.xs
+____________________________________________________________________________
+[  2012] By: jhi                                   on 1998/10/17  15:04:23
+    Log: clean numbered core dumps and t/tmp[0-9]*.
+ Branch: cfgperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  2011] By: jhi                                   on 1998/10/17  14:59:15
+    Log: More robust yacc/bison failure output handling.
+ Branch: cfgperl
+       ! t/comp/require.t t/op/misc.t t/pragma/subs.t
+____________________________________________________________________________
+[  2010] By: jhi                                   on 1998/10/17  14:51:05
+    Log: BC2000 POSIX update.
+ Branch: cfgperl
+       ! MANIFEST
+____________________________________________________________________________
+[  2009] By: jhi                                   on 1998/10/17  14:49:46
+    Log: POSIX BC2000 port from perl-mvs:
+	 
+	 Subject: Ported perl 5.005.02 to BS2000 / POSIX
+	 From: Dorner Thomas  
+	 Date: Tue, 29 Sep 1998 13:29:36 +0100 
+	 Message-ID: <9CE47B416A24D2118BC40000F84009B20B72C5@start.de> 
+ Branch: cfgperl
+       + README.posix-bc hints/posix-bc.sh
+       ! Configure MANIFEST perl.c perly.y proto.h t/lib/cgi-html.t
+       ! t/op/magic.t t/op/pack.t t/op/quotemeta.t t/op/subst.t toke.c
+       ! unixish.h
+____________________________________________________________________________
+[  2008] By: jhi                                   on 1998/10/17  14:07:49
+    Log: VM/ESA-update.
+ Branch: cfgperl
+       ! MANIFEST
+____________________________________________________________________________
+[  2007] By: jhi                                   on 1998/10/17  13:55:34
+    Log: Forgot few S_I* imports.
+ Branch: cfgperl
+       ! t/lib/ipc_sysv.t
+____________________________________________________________________________
+[  2006] By: jhi                                   on 1998/10/17  13:43:54
+    Log: The VM/ESA port essentials, based on
+	 
+	 perl-mvs:
+	 
+	 From: Neale Ferguson 
+	 Subject: Re: Can't find Data/Dumper.pm
+	 Date: Mon, 28 Sep 1998 07:40:49 +1300
+	 Message-ID: <360E86B0.23847AF4@mailbox.tabnsw.com.au>
+	 
+	 private email:
+	 
+	 From: Neale Ferguson 
+	 Subject: Re: Perl thread problems in VM/ESA
+	 Date: Thu, 15 Oct 1998 07:18:35 +1300
+	 Message-ID: <3624EAFA.16163A2B@mailbox.tabnsw.com.au>
+	 
+	 and private email:
+	 
+	 From: Neale Ferguson 
+	 Subject:  perl archive
+	 Date: 	Sun, 11 Oct 1998 19:28:54 EDT
+	 Message-Id: <19981011233112Z67215-26626+1513@outbound.Princeton.EDU>
+	 which gave a pointer to
+	 
+	 http://pucc.princeton.edu/~neale/perl.tar
+	 
+	 (based on Perl 5.005_51)
+ Branch: cfgperl
+       + hints/vmesa.sh vmesa/Makefile vmesa/vmesa.c vmesa/vmesaish.h
+       ! ext/Errno/Errno_pm.PL perl.c perl.h perly.y pp_sys.c
+       ! t/io/pipe.t t/lib/cgi-html.t t/lib/ipc_sysv.t t/op/magic.t
+       ! t/op/pack.t t/op/quotemeta.t t/op/subst.t util.c x2p/a2p.h
+____________________________________________________________________________
+[  2005] By: jhi                                   on 1998/10/17  13:17:19
+    Log: Integrate mainperl.
+ Branch: cfgperl
+      !> Porting/genlog ext/B/B/CC.pm ext/POSIX/POSIX.pm
+      !> lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm
+      !> lib/Term/Complete.pm op.c opcode.h opcode.pl os2/Makefile.SHs
+      !> os2/os2.c pod/perlfunc.pod pod/perlxs.pod pp.c sv.c
+      !> t/op/grent.t t/op/sysio.t t/op/tiehandle.t toke.c
+      !> utils/perldoc.PL vms/ext/Stdio/Stdio.pm win32/Makefile
+      !> win32/makefile.mk
+____________________________________________________________________________
+[  2004] By: jhi                                   on 1998/10/17  11:19:06
+    Log: Removed an extra ' from the int64_t test.
+ Branch: cfgperl
+       ! Configure
+____________________________________________________________________________
+[  2003] By: gsar                                  on 1998/10/17  04:11:40
+    Log: silence -w noises (suggested by Greg Bacon)
+ Branch: perl
+       ! lib/Term/Complete.pm
+____________________________________________________________________________
+[  2002] By: gsar                                  on 1998/10/17  04:07:48
+    Log: From: Gisle Aas 
+	 Date: 14 Oct 1998 15:53:14 +0200
+	 Message-ID: 
+	 Subject: Re: chr(0xFFFF_FFFF) and "\x{10_FFFF}" [PATCH 5.005_52]
+ Branch: perl
+       ! util.c
+____________________________________________________________________________
+[  2001] By: gsar                                  on 1998/10/17  04:06:10
+    Log: From: Gisle Aas 
+	 Date: 14 Oct 1998 15:17:44 +0200
+	 Message-ID: 
+	 Subject: [PATCH 5.005_52] Core dump from "Missing right brace on \x{}"
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  2000] By: gsar                                  on 1998/10/17  03:06:33
+    Log: From: Gisle Aas 
+	 Date: 14 Oct 1998 00:38:06 +0200
+	 Message-ID: 
+	 Subject: [PATCH 5.005_52] utf8 substr can access memory outside PVX buffer
+ Branch: perl
+       ! sv.c
+____________________________________________________________________________
+[  1999] By: gsar                                  on 1998/10/17  03:04:48
+    Log: From: Dan Sugalski 
+	 Date: Tue, 13 Oct 1998 15:10:57 -0700
+	 Message-Id: <3.0.6.32.19981013151057.00a947a0@ous.edu>
+	 Subject: [PATCH 5.004/5.005/5.006]Doc patch to VMS::Stdio module
+ Branch: perl
+       ! vms/ext/Stdio/Stdio.pm
+____________________________________________________________________________
+[  1998] By: gsar                                  on 1998/10/17  03:00:40
+    Log: skip readonly vars and unref references when doing a reset()
+ Branch: perl
+       ! sv.c
+____________________________________________________________________________
+[  1997] By: gsar                                  on 1998/10/17  02:49:19
+    Log: fix buggy treatment of large checksums on unicode strings
+	 From: Gisle Aas 
+	 Date: 13 Oct 1998 21:35:39 +0200
+	 Message-ID: 
+	 Subject: unpack("%48U*",...)  [PATCH 5.005_52]
+ Branch: perl
+       ! pp.c
+____________________________________________________________________________
+[  1996] By: gsar                                  on 1998/10/17  02:43:22
+    Log: From: Ilya Zakharevich 
+	 Date: Tue, 13 Oct 1998 04:46:00 -0400 (EDT)
+	 Message-Id: <199810130846.EAA00769@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_52] Memory overrun in os2.c
+ Branch: perl
+       ! os2/Makefile.SHs os2/os2.c
+____________________________________________________________________________
+[  1995] By: gsar                                  on 1998/10/17  02:42:01
+    Log: clarify section name rules for typemaps
+ Branch: perl
+       ! pod/perlxs.pod
+____________________________________________________________________________
+[  1994] By: gsar                                  on 1998/10/17  02:33:02
+    Log: whitespace-proof grent.t
+ Branch: perl
+       ! t/op/grent.t
+____________________________________________________________________________
+[  1993] By: gsar                                  on 1998/10/17  02:27:29
+    Log: fix bug in B::CC::pp_sassign()
+	 From: "vishal bhatia" 
+	 Date: Sun, 11 Oct 1998 18:41:38 PDT
+	 Message-ID: <19981012014139.19614.qmail@hotmail.com>
+	 Subject: B::CC problems with pp_sassign routine
+ Branch: perl
+       ! ext/B/B/CC.pm
+____________________________________________________________________________
+[  1992] By: gsar                                  on 1998/10/17  02:17:49
+    Log: applied suggested patch with small doc tweak
+	 From: Gisle Aas 
+	 Date: 11 Oct 1998 12:53:13 +0200
+	 Message-ID: 
+	 Subject: Re: [PATCH 5.005_52] Optional syswrite LENGTH argument
+ Branch: perl
+       ! opcode.h opcode.pl pod/perlfunc.pod pp_sys.c t/op/sysio.t
+       ! t/op/tiehandle.t
+____________________________________________________________________________
+[  1991] By: gsar                                  on 1998/10/17  02:08:30
+    Log: apply non-conflicting parts from suggested patch
+	 From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Sat, 10 Oct 1998 13:15:45 +0200
+	 Message-ID: <36223ed7.18279374@smtp1.ibm.net>
+	 Subject: [PATCH 5.005_52] Still more MakeMaker  patches
+ Branch: perl
+       ! lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1990] By: gsar                                  on 1998/10/17  02:01:24
+    Log: provide option to enable optimization with VC (suggested by Jan
+	 Dubois)
+ Branch: perl
+       ! win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  1989] By: gsar                                  on 1998/10/17  01:55:27
+    Log: Rhapsody DR2 has bsd/ctypes.h, not objc/NXCType.h (suggested by
+	 Dave Leppik 
+ Branch: perl
+       ! perl.h
+____________________________________________________________________________
+[  1988] By: gsar                                  on 1998/10/17  01:49:05
+    Log: stray typo found by Hugo van der Sanden
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  1987] By: gsar                                  on 1998/10/17  01:45:52
+    Log: perldoc pod update
+	 From: Daniel Grisinger 
+	 Date: 06 Oct 1998 23:56:51 -0600
+	 Message-ID: 
+	 Subject: [PATCH _02 and _52] perldoc
+ Branch: perl
+       ! utils/perldoc.PL
+____________________________________________________________________________
+[  1986] By: gsar                                  on 1998/10/17  01:41:40
+    Log: qualify names of builtins
+ Branch: perl
+       ! ext/POSIX/POSIX.pm
 ____________________________________________________________________________
-[   133] By: gsar                                  on 1997/10/15  18:02:46
-        Log: Integrated latest changes from mainline into win32.
-     Branch: win32/perl
-          +> fakethr.h
-	  !> MANIFEST Porting/makerel Porting/patchls README.threads
-	  !> Todo.5.005 perl.c pp_hot.c thread.h util.c win32/config.bc
-	  !> win32/config.vc win32/config_H.bc win32/config_H.vc
-          !> win32/makefile.mk
+[  1982] By: gbarr                                 on 1998/10/17  00:20:57
+    Log: From: Jochen Wiedmann 
+	 Date: Thu, 17 Sep 1998 17:16:06 +0200
+	 Message-ID: <360127B6.E44564A@ispsoft.de>
+	 Subject: [PATCH] ExtUtils::MakeMaker::prompt cannot return 0
+ Branch: maint-5.005/perl
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1978] By: gsar                                  on 1998/10/16  01:58:58
+    Log: integrate cfgperl mods into mainline
+ Branch: perl
+      +> ext/DynaLoader/dl_vmesa.xs
+       ! Porting/genlog
+      !> Configure MANIFEST Makefile.SH config_h.SH
+      !> ext/Thread/Thread.xs gv.c hints/hpux.sh hints/irix_6.sh
+      !> hints/linux.sh hints/os390.sh op.c t/op/pat.t thread.h
+      !> x2p/Makefile.SH
+____________________________________________________________________________
+[  1976] By: gsar                                  on 1998/10/16  00:10:52
+    Log: stray tweak
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  1975] By: gsar                                  on 1998/10/15  23:54:38
+    Log: propagate typeness of lexicals while cloning them
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  1974] By: gsar                                  on 1998/10/15  23:53:25
+    Log: s/last/first/ typo in append_list()
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  1973] By: gsar                                  on 1998/10/15  20:06:17
+    Log: nuke confperl branch and contents
+ Branch: confperl
+       - (delete 1284 files)
+____________________________________________________________________________
+[  1972] By: jhi                                   on 1998/10/15  07:07:35
+    Log: Test #162 had been added but the "print 1..161" had not been updated.
+ Branch: cfgperl
+       ! t/op/pat.t
+____________________________________________________________________________
+[  1971] By: gsar                                  on 1998/10/15  03:09:58
+    Log: check in all confperl changes as of change#1964 into cfgperl
+ Branch: cfgperl
+       + ext/DynaLoader/dl_vmesa.xs
+       ! Configure MANIFEST Makefile.SH config_h.SH
+       ! ext/Thread/Thread.xs gv.c hints/hpux.sh hints/irix_6.sh
+       ! hints/linux.sh hints/os390.sh op.c thread.h x2p/Makefile.SH
+____________________________________________________________________________
+[  1970] By: gsar                                  on 1998/10/15  03:05:59
+    Log: integrate mainline to get tr.t
+ Branch: cfgperl
+      +> t/op/tr.t
+____________________________________________________________________________
+[  1969] By: gsar                                  on 1998/10/15  03:04:17
+    Log: add missing tr.t to repository
+ Branch: perl
+       + t/op/tr.t
+____________________________________________________________________________
+[  1968] By: gsar                                  on 1998/10/15  03:02:43
+    Log: create cfgperl branch
+ Branch: cfgperl
+      +> (branch 1282 files)
+____________________________________________________________________________
+[  1967] By: gsar                                  on 1998/10/15  02:46:08
+    Log: correct bugs exposed in MM_Unix.pm by commenting out Selfloader
+	 (MAN3PODS cannot be set to ' '; stray stricture violation)
+ Branch: perl
+       ! ext/B/Makefile.PL ext/DB_File/Makefile.PL
+       ! ext/Data/Dumper/Makefile.PL ext/DynaLoader/Makefile.PL
+       ! ext/Errno/Makefile.PL ext/Fcntl/Makefile.PL
+       ! ext/GDBM_File/Makefile.PL ext/IO/Makefile.PL
+       ! ext/IPC/SysV/Makefile.PL ext/NDBM_File/Makefile.PL
+       ! ext/ODBM_File/Makefile.PL ext/Opcode/Makefile.PL
+       ! ext/POSIX/Makefile.PL ext/SDBM_File/Makefile.PL
+       ! ext/Socket/Makefile.PL ext/Thread/Makefile.PL
+       ! ext/attrs/Makefile.PL ext/re/Makefile.PL
+       ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[  1966] By: gsar                                  on 1998/10/15  02:19:03
+    Log: tweak to make fix in change#1944 behave correctly for closures
+	 created within eval''
+ Branch: perl
+       ! op.c t/op/eval.t
+____________________________________________________________________________
+[  1965] By: gsar                                  on 1998/10/14  23:22:41
+    Log: use better numbers for exitstatus test
+ Branch: perl
+       ! t/op/die_exit.t
+____________________________________________________________________________
+[  1964] By: jhi                                   on 1998/10/14  17:25:41
+    Log: Add VM/ESA dynaloading (uses ).
+ Branch: confperl
+       + ext/DynaLoader/dl_vmesa.xs
+       ! MANIFEST
+____________________________________________________________________________
+[  1963] By: jhi                                   on 1998/10/14  17:17:10
+    Log: Remove a2p.loadmap in 'clean' target.
+ Branch: confperl
+       ! x2p/Makefile.SH
+____________________________________________________________________________
+[  1962] By: jhi                                   on 1998/10/14  17:13:11
+    Log: VM/ESA produces also .prelmaps. (No, not .perlmaps...)
+ Branch: confperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  1961] By: jhi                                   on 1998/10/14  16:27:39
+    Log: VM/ESA creates executable.loadmaps.
+ Branch: confperl
+       ! Makefile.SH
+____________________________________________________________________________
+[  1960] By: jhi                                   on 1998/10/14  15:37:39
+    Log: Introduce SCHED_YIELD (one of sched_yield(),
+	 pthread_yield(), or pthread_yield(NULL)).
+	 YIELD is then defined using SCHED_YIELD unless
+	 a platform-specific YIELD has already been defined.
+	 
+	 Support pthread_attr_setdetachstate(pthread_attr_t*, int*).
+	 
+	 The need for pthread_yield(NULL) and pthread_attr_setdet...
+	 introduced by (private email)
+	 
+	 From: Neale Ferguson 
+	 Date: Sat, 10 Oct 1998 21:08:15 +1300
+	 Message-ID: <361F15EE.47376EC@mailbox.tabnsw.com.au>
+	 Subject: Re: Perl thread problems in VM/ESA
+	 
+	 Better select() protoprobe (for AIX), from (private email)
+	 From: Andy Dougherty 
+	 Date: Fri, 2 Oct 1998 14:52:25 -0400 (EDT)
+	 Message-Id: 
+	 Subject: AIX select (fwd)
+	 From: Lars Hecking 
+	 To: Andy Dougherty 
+	 Date: Fri, 2 Oct 1998 10:40:01 +0100
+	 Subject: AIX select
+	 
+	 Linux-avoid-so.X.Y, based on
+	 From: "Kurt D. Starsinic" 
+	 Date: Tue, 13 Oct 1998 15:55:07 -0400
+	 Message-ID: <19981013155507.B4004@O2.chapin.edu>
+	 Subject: Re: [PATCH 5.005_52] [Was: Re: How can Debian accomodate new installation ?]
+ Branch: confperl
+       ! Configure config_h.SH ext/Thread/Thread.xs hints/linux.sh
+       ! thread.h
+____________________________________________________________________________
+[  1959] By: jhi                                   on 1998/10/14  12:51:26
+    Log: Some old pthread implementations have
+	 pthread_attr_setdetachstate(pthread_attr_t*, int*).
+ Branch: confperl
+       ! ext/Thread/Thread.xs
+____________________________________________________________________________
+[  1958] By: jhi                                   on 1998/10/14  12:41:11
+    Log: SCHED_YIELD and ATTR_JOINABLE fixes.  Thread.xs and Configure
+	 counterparts will follow soon.
+ Branch: confperl
+       ! thread.h
+____________________________________________________________________________
+[  1957] By: jhi                                   on 1998/10/14  12:38:11
+    Log: Add tr.t (MANIFEST already knew about it, strange)
+ Branch: confperl
+       + t/op/tr.t
+____________________________________________________________________________
+[  1956] By: jhi                                   on 1998/10/14  12:24:35
+    Log: Mutexen should be initialized only once.
+ Branch: confperl
+       ! gv.c op.c
+____________________________________________________________________________
+[  1955] By: jhi                                   on 1998/10/14  12:19:38
+    Log: os390 has its own cppstdin.
+ Branch: confperl
+       ! hints/os390.sh
+____________________________________________________________________________
+[  1954] By: jhi                                   on 1998/10/14  12:15:06
+    Log: Integrate with mainperl.
+ Branch: confperl
+      !> (integrate 1280 files)
+____________________________________________________________________________
+[  1953] By: jhi                                   on 1998/10/14  11:48:08
+    Log: Removed duplicate CMA threads code for HPUX 10.X.
+	 (probably residue of patch(1) being too understanding)
+	 Enhanced 64-bit settings. (redo change#1940)
+ Branch: confperl
+       ! hints/hpux.sh
+____________________________________________________________________________
+[  1952] By: jhi                                   on 1998/10/14  11:45:16
+    Log: (redo change#1949) Detypo in the d_open64 warning about
+	 the impending WHOA.
+ Branch: confperl
+       ! hints/irix_6.sh
+____________________________________________________________________________
+[  1951] By: jhi                                   on 1998/10/14  10:54:16
+    Log: Mutexen should only be inited once, after they have been New()ed.
+ Branch: confperl
+       ! gv.c op.c
+____________________________________________________________________________
+[  1950] By: jhi                                   on 1998/10/14  10:41:43
+    Log: Own cppstdin.
+ Branch: confperl
+       ! hints/os390.sh
+____________________________________________________________________________
+[  1949] By: jhi                                   on 1998/10/14  10:34:23
+    Log: Detypo in the d_open64 warning about the impending WHOA.
+ Branch: confperl
+       ! hints/irix_6.sh
+____________________________________________________________________________
+[  1948] By: gsar                                  on 1998/10/14  05:38:01
+    Log: two typos
+ Branch: perl
+       ! pp_hot.c t/op/eval.t
+____________________________________________________________________________
+[  1947] By: gsar                                  on 1998/10/14  05:37:10
+    Log: let docatch() pass the buck when restartop turns out to be null,
+	 making exceptions in BEGIN{} propagate as expected
+ Branch: perl
+       ! pp_ctl.c t/op/misc.t
+____________________________________________________________________________
+[  1946] By: gsar                                  on 1998/10/13  03:41:49
+    Log: add missing file from change#1943
+ Branch: perl
+       ! proto.h
+____________________________________________________________________________
+[  1945] By: gsar                                  on 1998/10/13  03:32:02
+    Log: defer "deep recursion" warnings until CXt_SUB context is properly
+	 set up
+ Branch: perl
+       ! pp_hot.c t/pragma/warn/pp_hot
+____________________________________________________________________________
+[  1944] By: gsar                                  on 1998/10/13  03:15:50
+    Log: change#1614 merely disabled earlier fix (doh!); undo it and properly
+	 fixup the cop_seq value that must be seen by lexical lookups that
+	 emanate within eval''
+ Branch: perl
+       ! cop.h op.c pp_ctl.c pp_hot.c scope.c t/op/eval.t
+____________________________________________________________________________
+[  1943] By: gsar                                  on 1998/10/13  02:06:09
+    Log: ensure recursive attempts to findlex()icals know enough about where
+	 the last eval'' context was encountered
+ Branch: perl
+       ! op.c t/op/eval.t
+____________________________________________________________________________
+[  1942] By: gsar                                  on 1998/10/13  02:01:24
+    Log: force copy of substrings when matching against temporaries
+ Branch: perl
+       ! pp_hot.c t/op/pat.t
+____________________________________________________________________________
+[  1941] By: gsar                                  on 1998/10/13  01:49:16
+    Log: don't longjmp() in pp_goto() (regressive bug from old single-stack
+	 implementation)
+ Branch: perl
+       ! pp_ctl.c t/op/runlevel.t
+____________________________________________________________________________
+[  1940] By: jhi                                   on 1998/10/12  09:57:44
+    Log: Removed duplicate CMA threads code for HPUX 10.X.
+	 (probably residue of patch(1) being too understanding)
+	 Enhanced 64-bit settings.
+ Branch: confperl
+       ! hints/hpux.sh
+____________________________________________________________________________
+[  1939] By: jhi                                   on 1998/10/12  09:53:11
+    Log: Initial sync from mainline perl.
+ Branch: confperl
+       + (add 1282 files)
+____________________________________________________________________________
+[  1937] By: gsar                                  on 1998/10/06  21:16:34
+    Log: fix $/ init for USE_THREADS
+ Branch: perl
+       ! perl.c
+____________________________________________________________________________
+[  1936] By: gsar                                  on 1998/10/06  07:19:39
+    Log: fix globals caught by change#1927; builds and tests on Solaris
+ Branch: perl
+       ! Changes mg.c op.c perl.c pp_ctl.c regcomp.c utf8.c utf8.h
+       ! warning.h warning.pl
+____________________________________________________________________________
+[  1935] By: gsar                                  on 1998/10/06  06:50:35
+    Log: add test for previous fix
+ Branch: perl
+       ! ext/Thread/create.t
+____________________________________________________________________________
+[  1934] By: gsar                                  on 1998/10/06  06:37:36
+    Log: fix USE_THREADS coredump due to uninitialized PL_hv_fetch_ent_mh
+ Branch: perl
+       ! util.c
+____________________________________________________________________________
+[  1933] By: gsar                                  on 1998/10/06  05:04:20
+    Log: undo bogus part of change#1903 (as pointed out by Larry)
+ Branch: perl
+       ! pp_ctl.c
+____________________________________________________________________________
+[  1932] By: gsar                                  on 1998/10/06  04:21:31
+    Log: added tweaked version of suggested patch
+	 From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Sat, 03 Oct 1998 19:04:48 +0200
+	 Message-ID: <361d54b2.36841294@smtp1.ibm.net>
+	 Subject: [PATCH 5.005_52] More MakeMaker  patches
+ Branch: perl
+       ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
+       ! lib/ExtUtils/Mkbootstrap.pm lib/ExtUtils/Mksymlists.pm
+____________________________________________________________________________
+[  1931] By: gsar                                  on 1998/10/06  04:04:33
+    Log: use cpp symbols instead of hardwired constants
+	 From: Hugo van der Sanden 
+	 Date: Mon, 05 Oct 1998 09:23:33 +0100
+	 Message-Id: <199810050823.JAA00891@crypt.compulink.co.uk>
+	 Subject: [PATCH 5.005_52] By the numbers (resend)
+ Branch: perl
+       ! op.c
+____________________________________________________________________________
+[  1930] By: gsar                                  on 1998/10/06  04:01:55
+    Log: From: Ilya Zakharevich 
+	 Message-Id: <199810050637.CAA07781@monk.mps.ohio-state.edu>
+	 Date: Mon, 5 Oct 1998 02:37:43 -0400 (EDT)
+	 Subject: [PATCH 5.005_52] Cumulative OS/2-related patch
+ Branch: perl
+       ! Makefile.SH hints/os2.sh lib/ExtUtils/MM_OS2.pm mg.c
+       ! os2/Changes os2/Makefile.SHs os2/os2.c perl_exp.SH util.c
+____________________________________________________________________________
+[  1929] By: gsar                                  on 1998/10/06  03:50:36
+    Log: From: Ilya Zakharevich 
+	 Date: Mon, 5 Oct 1998 02:39:00 -0400 (EDT)
+	 Message-Id: <199810050639.CAA07803@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] Minor test improvement
+ Branch: perl
+       ! t/op/magic.t
+____________________________________________________________________________
+[  1928] By: gsar                                  on 1998/10/06  03:49:03
+    Log: From: Ilya Zakharevich 
+	 Date: Mon, 5 Oct 1998 02:38:23 -0400 (EDT)
+	 Message-Id: <199810050638.CAA07792@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.00552] emacs/ptags inprovements
+ Branch: perl
+       ! emacs/ptags
+____________________________________________________________________________
+[  1927] By: gsar                                  on 1998/10/06  03:47:44
+    Log: disable C<#define dirty PL_dirty> et al.
+ Branch: perl
+       ! embed.pl embedvar.h
+____________________________________________________________________________
+[  1926] By: gsar                                  on 1998/10/06  03:43:32
+    Log: From: Mark-Jason Dominus 
+	 Date: Sun, 04 Oct 1998 14:48:11 -0400
+	 Message-ID: <19981004184811.16048.qmail@plover.com>
+	 Subject: PATCH: perldoc -f does not locate -e, -r, -x, etc.
+ Branch: perl
+       ! utils/perldoc.PL
+____________________________________________________________________________
+[  1925] By: gsar                                  on 1998/10/06  03:27:35
+    Log: disable USE_THREADS when PERL_OBJECT is enabled
+ Branch: perl
+       ! win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  1924] By: gsar                                  on 1998/10/06  03:26:54
+    Log: remove spurious unused conflicting globals (PL_yy{v,s}sp)
+ Branch: perl
+       ! Makefile.SH Todo-5.005 embedvar.h perlvars.h perly.c toke.c
+       ! vms/perly_c.vms
+____________________________________________________________________________
+[  1923] By: gsar                                  on 1998/10/03  05:19:56
+    Log: make C recognize C overrides; allow C to be
+	 overridden
+ Branch: perl
+       ! embed.h global.sym objXSUB.h objpp.h op.c perly.c perly.y
+       ! proto.h vms/perly_c.vms
+____________________________________________________________________________
+[  1922] By: gsar                                  on 1998/10/03  03:59:50
+    Log: suppress manifypods leak in extensions
+ Branch: perl
+       ! ext/Errno/Makefile.PL ext/IPC/SysV/Makefile.PL pod/pod2man.PL
+____________________________________________________________________________
+[  1921] By: gsar                                  on 1998/10/02  22:30:15
+    Log: os390 fixes (suggested by Peter Prymmer)
+ Branch: perl
+       ! Makefile.SH regcomp.c
+____________________________________________________________________________
+[  1920] By: gsar                                  on 1998/10/02  21:41:19
+    Log: squelch undef warnings
+	 From: Hugo van der Sanden 
+	 Date: Fri, 02 Oct 1998 11:01:14 +0100
+	 Message-Id: <199810021001.LAA19214@crypt.compulink.co.uk>
+	 Subject: [PATCH] Re: Apparent bug in Math::BigInt 
+ Branch: perl
+       ! Changes lib/Math/BigInt.pm
+____________________________________________________________________________
+[  1919] By: gsar                                  on 1998/10/02  04:59:13
+    Log: add note to INSTALL about ANSI C
+ Branch: perl
+       ! INSTALL
+____________________________________________________________________________
+[  1918] By: gsar                                  on 1998/10/02  04:21:10
+    Log: tolerate spaces when fixing up __cplusplus output by old h2xs
+	 From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Wed, 30 Sep 1998 23:35:30 +0200
+	 Message-ID: <3619a1e8.12336659@smtp1.ibm.net>
+	 Subject: [PATCH 5.005_52]: xsubpp and PERL_OBJECT
+ Branch: perl
+       ! lib/ExtUtils/xsubpp
+____________________________________________________________________________
+[  1917] By: gsar                                  on 1998/10/02  04:16:02
+    Log: From: Jarkko Hietaniemi 
+	 Date: Thu, 1 Oct 1998 11:37:26 +0300 (EET DST)
+	 Message-Id: <199810010837.LAA31371@alpha.hut.fi>
+	 Subject: Re: Configure test for selectbits busted
+ Branch: perl
+       ! Configure
+____________________________________________________________________________
+[  1916] By: gsar                                  on 1998/10/02  04:14:17
+    Log: From: Dan Sugalski 
+	 Date: Wed, 30 Sep 1998 17:15:20 -0700
+	 Message-Id: <3.0.6.32.19980930171520.00b22eb0@ous.edu>
+	 Subject: [PATCH 5.005_02]VMS config tweaks
+ Branch: perl
+       ! vms/descrip_mms.template vms/subconfigure.com
+____________________________________________________________________________
+[  1915] By: gsar                                  on 1998/10/02  04:10:47
+    Log: use Off_t to permit 64-bit seek()
+	 From: Scott Henry 
+	 Date: 29 Sep 1998 17:38:46 -0700
+	 Message-ID: 
+	 Subject: Re: [PATCH] 5.005_02: Configure "Massive Attack"
+	 --
+	 Date: 28 Sep 1998 18:55:37 -0700
+	 Message-ID: 
+	 Subject: Re: [PATCH] 5.005_51: Configure "Massive Attack"
+ Branch: perl
+       ! doio.c pp_sys.c proto.h sv.c
+____________________________________________________________________________
+[  1914] By: gsar                                  on 1998/10/02  04:05:36
+    Log: normalize tm struct passed to strftime() with mktime()
+	 From: Spider Boardman 
+	 Date: Wed, 30 Sep 1998 15:12:09 -0400
+	 Message-Id: <199809301912.PAA26119@Orb.Nashua.NH.US>
+	 Subject: [PATCH 5.005_52] Re: POSIX::strftime returns incorrect date 
+ Branch: perl
+       ! ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs
+____________________________________________________________________________
+[  1913] By: gsar                                  on 1998/10/02  03:59:46
+    Log: don't try to run foo_SH.orig etc.
+ Branch: perl
+       ! Configure
+____________________________________________________________________________
+[  1912] By: gsar                                  on 1998/10/02  03:45:37
+    Log: make warning about glob process failure optional
+ Branch: perl
+       ! pod/perldiag.pod pp_hot.c
+____________________________________________________________________________
+[  1911] By: gsar                                  on 1998/10/02  02:52:21
+    Log: document yet another RE diagnostic, make it consistent with REG_INFTY
+	 From: Dominic Dunlop 
+	 Date: Tue, 29 Sep 1998 21:06:30 +0000
+	 Message-Id: 
+	 Subject: [PATCH 5.005_52] Fix hard-coded "matches null string many times" limit
+	 --
+	 Date: Wed, 30 Sep 1998 11:46:44 +0000
+	 Message-Id: 
+	 Subject: [PATCH 5.005_52] Add "Strange *+?{} ..." to perldiag
+ Branch: perl
+       ! pod/perldiag.pod regcomp.c
+____________________________________________________________________________
+[  1910] By: gsar                                  on 1998/10/02  02:48:48
+    Log: minor Configure tweaks (via private mail)
+	 From: Jarkko Hietaniemi 
+	 Date: Wed, 30 Sep 1998 02:25:06 +0300 (EET DST)
+	 Message-Id: <199809292325.CAA19737@alpha.hut.fi>
+	 Subject: [PATCH] 5.005_52: the drizzle continues
+ Branch: perl
+       ! Configure config_h.SH handy.h
+____________________________________________________________________________
+[  1909] By: gsar                                  on 1998/10/02  02:46:39
+    Log: update SCO hints for dynamic loading
+	 From: Andy Dougherty 
+	 Date: Mon, 28 Sep 1998 16:50:38 -0400 (EDT)
+	 Message-Id: 
+	 Subject: [PATCH 5.004_04-MAINT_TRIAL_5 and 5.005_xx] Re: Perl on SCO_SV
+	 --
+	 Date: Tue, 29 Sep 1998 16:48:55 -0400 (EDT)
+	 Message-Id: 
+	 Subject: Re: [PATCH 5.004_04-MAINT_TRIAL_5 and 5.005_xx] Re: Perl on SCO_SV
+ Branch: perl
+       ! hints/sco.sh
+____________________________________________________________________________
+[  1908] By: gsar                                  on 1998/10/02  02:33:39
+    Log: make File::Find work when wanted() is autoloaded or a symbolic ref
+ Branch: perl
+       ! lib/File/Find.pm
+____________________________________________________________________________
+[  1907] By: gsar                                  on 1998/10/02  02:21:52
+    Log: applied patches, but retained old behavior for win32 (where compilers
+	 can't read from stdin at all)
+	 From: Graham Barr 
+	 Date: Mon, 28 Sep 1998 09:41:49 -0500
+	 Message-ID: <19980928094149.B26576@asic.sc.ti.com>
+	 Subject: Re: 5.005_51 Errno invokes cpprun incorrectly
+	 --
+	 Date: Tue, 29 Sep 1998 12:35:43 -0500
+	 Message-ID: <19980929123543.Z26576@asic.sc.ti.com>
+	 Subject: Re: 5.005_51 Errno invokes cpprun incorrectly
+ Branch: perl
+       ! ext/Errno/Errno_pm.PL
+____________________________________________________________________________
+[  1906] By: gsar                                  on 1998/10/02  02:02:19
+    Log: tolerate whitespace in /etc/group entries (suggested by Jarkko
+	 Hietaniemi)
+ Branch: perl
+       ! t/op/grent.t
+____________________________________________________________________________
+[  1905] By: gsar                                  on 1998/10/02  01:59:56
+    Log: win32 caveats about truncate()
+ Branch: perl
+       ! pod/perlport.pod
+____________________________________________________________________________
+[  1904] By: gsar                                  on 1998/10/02  01:53:25
+    Log: various Configure and hints updates (prefer drand48() or random()
+	 over rand(); add -Dusemultiplicity; enhanced 64-bitness);  patch
+	 applied modulo SCO hints superceded by later patch
+	 From: Jarkko Hietaniemi 
+	 Date: Tue, 29 Sep 1998 00:56:33 +0300 (EET DST)
+	 Message-Id: <199809282156.AAA18615@alpha.hut.fi>
+	 Subject: [PATCH] 5.005_52: Configure et al:
+ Branch: perl
+       + ext/IPC/SysV/hints/next_3.pl
+       ! Configure INSTALL MANIFEST config_h.SH ext/IPC/SysV/SysV.xs
+       ! hints/dec_osf.sh hints/irix_6.sh hints/next_3.sh
+       ! hints/solaris_2.sh perl.h pod/perldiag.pod pp.c pp_sys.c
+____________________________________________________________________________
+[  1903] By: gsar                                  on 1998/10/02  01:42:37
+    Log: fixes for bugs in /RE/p	from Hugo van der Sanden
+	 Date: Mon, 28 Sep 1998 17:41:49 +0100
+	 Message-Id: <199809281641.RAA02450@crypt.compulink.co.uk>
+	 Subject: [PATCH 5.005_52] Re: More on ?p 
+	 --
+	 Date: Thu, 01 Oct 1998 09:10:58 +0100
+	 Message-Id: <199810010810.JAA16426@crypt.compulink.co.uk>
+	 Subject: [PATCH 5.005_52] ?p fix
+	 --
+	 Date: Thu, 01 Oct 1998 10:45:56 +0100
+	 Message-Id: <199810010945.KAA16733@crypt.compulink.co.uk>
+	 Subject: [PATCH 5.005_52] more on ?p
+ Branch: perl
+       ! pp_ctl.c
+____________________________________________________________________________
+[  1902] By: gsar                                  on 1998/10/02  01:36:14
+    Log: From: Kenneth Duda 
+	 Date: Sun, 27 Sep 1998 20:22:12 -0700 (PDT)
+	 Message-Id: <199809280322.UAA01261@scorpion.cisco.com>
+	 Subject: writemain dies when there are more than 4000 characters of extensions
+ Branch: perl
+       ! writemain.SH
+____________________________________________________________________________
+[  1901] By: gsar                                  on 1998/10/02  01:33:16
+    Log: tweak run_byacc recipe
+ Branch: perl
+       ! Makefile.SH Porting/pumpkin.pod
+____________________________________________________________________________
+[  1900] By: gsar                                  on 1998/10/02  01:02:09
+    Log: use SETERRNO() to reset errno (suggested by Charles Bailey)
+ Branch: perl
+       ! perl.h pp_ctl.c
+____________________________________________________________________________
+[  1899] By: gsar                                  on 1998/09/28  20:46:30
+    Log: fix various 5.00552 mishaps (fixes suggested by Jan Dubois,
+	 Kurt Starsinic, Spider Boardman, Dan Sugalski and Albert
+	 Dvornik)
+ Branch: perl
+       ! hints/irix_6.sh lib/ExtUtils/MakeMaker.pm mg.c scope.c
+____________________________________________________________________________
+[  1898] By: gsar                                  on 1998/09/28  20:42:52
+    Log: flush unsubmitted 5.00552 change
+ Branch: perl
+       ! MANIFEST
+____________________________________________________________________________
+[  1897] By: gsar                                  on 1998/09/27  04:43:06
+    Log: run vms_yfix.pl
+ Branch: perl
+       ! vms/perly_c.vms
+____________________________________________________________________________
+[  1896] By: gsar                                  on 1998/09/27  03:38:55
+    Log: small tweak on last change
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  1895] By: gsar                                  on 1998/09/27  03:17:17
+    Log: fix win32_stat() to do the right thing for share names
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  1891] By: larry                                 on 1998/09/25  18:50:40
+    Log: Fixed apostrophe problem from Mark Knutsen.
+ Branch: perl
+       ! sv.h
 
 ----------------
-Version 5.004_52
+Version 5.005_52
 ----------------
 
 ____________________________________________________________________________
-[   132] By: mbeattie                              on 1997/10/15  17:02:38
-        Log: Remove out-of-date test Thread/cond.t.
-     Branch: perlext
-           - Thread/cond.t
-____________________________________________________________________________
-[   131] By: mbeattie                              on 1997/10/15  16:57:45
-        Log: Finish thread state machine: fixes global destruction of threads,
-             detaching, joining etc. Alter FAKE_THREADS-specific fields to use
-             new HAVE_THREAD_INTERN stuff. Updates docs. Various fixes to
-             Thread.xs.
+[  1890] By: gsar                                  on 1998/09/25  10:25:00
+    Log: update template config.sh, add new config vars to win32 stuff
+ Branch: perl
+       ! Changes Porting/config.sh Porting/config_H config_h.SH objpp.h
+       ! pp_sys.c proto.h win32/config.bc win32/config.gc
+       ! win32/config.vc win32/config_H.bc win32/config_H.gc
+       ! win32/config_H.vc win32/win32.h
+____________________________________________________________________________
+[  1889] By: gsar                                  on 1998/09/25  07:13:13
+    Log: big Configure update from Jarkko: sync metaconfig units; d_statblks fix
+	 for Linux; hpux CMA-threads hints; ELF support for FreeBSD; beginnings
+	 of full-fledged 64-bit support (including support for: fseeko/ftello,
+	 Quad_t aka long long, hpux and irix 64-bits hints, new 64-bit constants
+	 in Fcntl)
+	 From: Jarkko Hietaniemi 
+	 Date: Fri, 11 Sep 1998 23:56:11 +0300 (EET DST)
+	 Message-Id: <199809112056.XAA04720@alpha.hut.fi>
+	 Subject: [PATCH] 5.005_51: Configure "Massive Attack"
+	 --
+	 From: Jarkko Hietaniemi 
+	 Date: 12 Sep 1998 09:44:25 +0300
+	 Message-ID: 
+	 Subject: Re: [PATCH] 5.005_51: Configure "Massive Attack"
+ Branch: perl
+       + lib/filetest.pm
+       ! Configure MANIFEST Makefile.SH config_h.SH doio.c embedvar.h
+       ! ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs handy.h hints/dec_osf.sh
+       ! hints/freebsd.sh hints/hpux.sh hints/irix_6.sh objXSUB.h
+       ! perl.c perl.h perl_exp.SH perlio.c perlvars.h pod/perldiag.pod
+       ! pod/perlfunc.pod pp_sys.c proto.h win32/GenCAPI.pl
+       ! win32/makedef.pl
+____________________________________________________________________________
+[  1888] By: gsar                                  on 1998/09/25  06:27:12
+    Log: bump patchlevel to 52; other little tweaks for threads, win32 builds
+ Branch: perl
+       ! doop.c mg.c patchlevel.h regexec.c win32/Makefile
+       ! win32/config_H.bc win32/config_H.gc win32/config_H.vc
+       ! win32/makedef.pl win32/makefile.mk win32/win32.c
+____________________________________________________________________________
+[  1887] By: gsar                                  on 1998/09/25  04:50:49
+    Log: win32.c tweak
+ Branch: perl
+       ! win32/win32.c
+____________________________________________________________________________
+[  1886] By: gsar                                  on 1998/09/25  04:47:32
+    Log: s/MAKEMAKEROPT/PERL_MM_OPT/
+ Branch: perl
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1885] By: gsar                                  on 1998/09/25  04:05:09
+    Log: From: Dominic Dunlop 
+	 Date: Thu, 10 Sep 1998 11:02:46 +0000
+	 Message-Id: 
+	 Subject: MM_Unix::canonpath erroneously turns leading // into /
+ Branch: perl
+       ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[  1884] By: gsar                                  on 1998/09/25  03:06:10
+    Log: temporarily disable perl malloc for a2p until we clean up
+	 conflicting malloc() declarations everywhere
+ Branch: perl
+       ! x2p/Makefile.SH
+____________________________________________________________________________
+[  1883] By: gsar                                  on 1998/09/25  02:27:00
+    Log: remove obsolete win32/bin/*.pl
+ Branch: perl
+       - win32/bin/network.pl win32/bin/webget.pl win32/bin/www.pl
+       ! Changes MANIFEST win32/Makefile win32/makefile.mk
+____________________________________________________________________________
+[  1882] By: gsar                                  on 1998/09/25  02:04:43
+    Log: missing file in last submit
+ Branch: perl
+       ! proto.h
+____________________________________________________________________________
+[  1881] By: gsar                                  on 1998/09/25  01:56:54
+    Log: serial access to PL_x[inpr]v_root for USE_THREADS
+ Branch: perl
+       ! sv.c
+____________________________________________________________________________
+[  1880] By: gsar                                  on 1998/09/25  01:19:38
+    Log: lock sv_mutex in new_he() and del_he() for USE_THREADS
+	 From: Drago Goricanec 
+	 Date: Thu, 24 Sep 1998 22:01:09 +0900
+	 Message-Id: <19980924220109J.drago@otsd.ts.fujitsu.co.jp>
+	 Subject: [PATCH 5.005_51] Re: Perl 5.005_51 not yet multi Thread safe 
+ Branch: perl
+       ! hv.c proto.h
+____________________________________________________________________________
+[  1879] By: gsar                                  on 1998/09/25  00:20:07
+    Log: tweaks to enable PERL_OBJECT to build & test on win32
+ Branch: perl
+       ! Changes doop.c mg.c objpp.h proto.h regexec.c util.c
+       ! win32/GenCAPI.pl
+____________________________________________________________________________
+[  1878] By: gsar                                  on 1998/09/25  00:13:36
+    Log: fix change#1861, which breaks default boot_xxx symbol generation
+ Branch: perl
+       ! lib/ExtUtils/Mksymlists.pm
+____________________________________________________________________________
+[  1877] By: gsar                                  on 1998/09/24  10:29:54
+    Log: two tweaks for clean build and test on Solaris
+ Branch: perl
+       ! op.c t/op/subst.t
+____________________________________________________________________________
+[  1876] By: gsar                                  on 1998/09/24  09:04:43
+    Log: From: Colin Kuskie 
+	 Date: Wed, 26 Aug 1998 14:53:01 -0700 (PDT)
+	 Message-ID: 
+	 Subject: [PATCH 5.005_51] perlform.pod
+ Branch: perl
+       ! pod/perlform.pod
+____________________________________________________________________________
+[  1875] By: gsar                                  on 1998/09/24  08:47:47
+    Log: From: Ilya Zakharevich 
+	 Date: Tue, 25 Aug 1998 15:35:58 -0400 (EDT)
+	 Message-Id: <199808251935.PAA11384@monk.mps.ohio-state.edu>
+	 Subject: Re: problem with (?p{}) [PATCH 5.005_5*]
+ Branch: perl
+       ! regexec.c
+____________________________________________________________________________
+[  1874] By: gsar                                  on 1998/09/24  08:44:55
+    Log: From: Ilya Zakharevich 
+	 Date: Tue, 25 Aug 1998 14:56:06 -0400 (EDT)
+	 Message-Id: <199808251856.OAA10825@monk.mps.ohio-state.edu>
+	 Subject: Re: your Regexp.patch dated 21.8 [PATCH]
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  1873] By: gsar                                  on 1998/09/24  08:39:41
+    Log: From: Ilya Zakharevich 
+	 Date: Tue, 25 Aug 1998 04:29:49 -0400 (EDT)
+	 Message-Id: <199808250829.EAA02470@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Extraneous warning for (?()A|B)
+ Branch: perl
+       ! Changes regcomp.c
+____________________________________________________________________________
+[  1872] By: gsar                                  on 1998/09/24  08:37:00
+    Log: From: Krishna Sethuraman 
+	 Date: Sun, 23 Aug 1998 23:18:38 PDT
+	 Message-Id: <199808240618.XAA05329@shamu.engr.sgi.com>
+	 Subject: new irix_6.sh hints file
+ Branch: perl
+       ! hints/irix_6.sh
+____________________________________________________________________________
+[  1871] By: gsar                                  on 1998/09/24  07:26:37
+    Log: correct FSF address in various places
+ Branch: perl
+       ! Copying README ext/B/README lib/Getopt/Long.pm
+____________________________________________________________________________
+[  1870] By: gsar                                  on 1998/09/24  07:11:56
+    Log: From:    Dan Sugalski 
+	 Date:    Fri, 14 Aug 1998 09:20:16 PDT
+	 Message-Id: <3.0.5.32.19980814092016.00b37dc0@ous.edu>
+	 Subject: [PATCH 5.005_02] (and _5x I expect) VMS config procedure patch
+ Branch: perl
+       ! configure.com
+____________________________________________________________________________
+[  1869] By: gsar                                  on 1998/09/24  06:55:59
+    Log: use STRICT_ALIGNMENT on IRIX to allow usemymalloc=y again
+	 From:    Scott Henry 
+	 Date:    13 Aug 1998 09:52:15 PDT
+	 Message-Id: 
+	 Subject: [PATCH] Irix USE_LONG_LONG/malloc.c incompatibility (was...)
+ Branch: perl
+       ! hints/irix_6.sh
+____________________________________________________________________________
+[  1868] By: gsar                                  on 1998/09/24  06:51:23
+    Log: From:    Nathan Torkington 
+	 Date:    Thu, 13 Aug 1998 10:59:48 MDT
+	 Message-Id: <199808131659.KAA06179@prometheus.frii.com>
+	 Subject: [PATCH] 5.005_02 perlfunc.pod, improve umask entry
+ Branch: perl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  1867] By: gsar                                  on 1998/09/24  06:45:13
+    Log: make C AUTOLOAD-aware (autouse now works for modules
+	 that are autoloaded)
+ Branch: perl
+       ! pp_ctl.c
+____________________________________________________________________________
+[  1866] By: gsar                                  on 1998/09/24  05:21:19
+    Log: grandfather deprecated "$$" no more
+ Branch: perl
+       ! pod/perldiag.pod toke.c
+____________________________________________________________________________
+[  1865] By: gsar                                  on 1998/09/24  04:52:48
+    Log: tweak PERL_HASH() to h=h+(h>>5) in order to improve distribution of
+	 low bits (suggested by Ilya Zakharevich)
+ Branch: perl
+       ! hv.h
+____________________________________________________________________________
+[  1864] By: gsar                                  on 1998/09/24  04:29:14
+    Log: move yyglobal decls from perly.c to perlvars.h, regen headers, tweak
+	 perly_c.diff
+ Branch: perl
+       ! embed.h embedvar.h global.sym perlvars.h perly.c perly.h
+       ! perly_c.diff toke.c
+____________________________________________________________________________
+[  1863] By: gsar                                  on 1998/09/24  03:36:30
+    Log: provide locked access to string table for USE_THREADS
+ Branch: perl
+       ! embedvar.h hv.c intrpvar.h objXSUB.h perl.c thread.h
+____________________________________________________________________________
+[  1862] By: gsar                                  on 1998/09/24  03:30:32
+    Log: remove bogus warn()
+ Branch: perl
+       ! embed.pl
+____________________________________________________________________________
+[  1861] By: gsar                                  on 1998/09/24  02:58:51
+    Log: applied suggested patch, adapted for all platforms
+	 From: jan.dubois@ibm.net (Jan Dubois)
+	 Date: Sun, 20 Sep 1998 12:56:38 +0200
+	 Message-ID: <3604de0c.12319885@smtp1.ibm.net>
+	 Subject: [New PATCH 5.005_02] Support Mksymlists FUNCLIST argument in MakeMaker
+ Branch: perl
+       ! lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm
+       ! lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MM_Win32.pm
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1860] By: gsar                                  on 1998/09/24  02:16:14
+    Log: upgrade to CPAN-1.40
+ Branch: perl
+       ! Changes lib/CPAN.pm lib/CPAN/FirstTime.pm
+____________________________________________________________________________
+[  1859] By: gsar                                  on 1998/09/24  02:08:59
+    Log: use $ENV{MAKEMAKEROPT} to set default command line args
+ Branch: perl
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1857] By: gsar                                  on 1998/09/23  10:58:36
+    Log: From: Ilya Zakharevich 
+	 Date: Tue, 22 Sep 1998 17:30:16 -0400 (EDT)
+	 Message-Id: <199809222130.RAA17034@monk.mps.ohio-state.edu>
+	 Subject: More verbose Test::Harness [PATCH]
+ Branch: perl
+       ! lib/Test/Harness.pm
+____________________________________________________________________________
+[  1856] By: gsar                                  on 1998/09/23  10:56:24
+    Log: update hints for OPENSTEP 4.2 on i386
+	 From: Gerben Wierda 
+	 Date: Sun, 20 Sep 1998 01:03:18 +0200
+	 Message-Id: <9809192303.AA29190@Spike>
+	 Subject: Perl 5.005_02 compilation problems
+ Branch: perl
+       ! hints/next_4.sh
+____________________________________________________________________________
+[  1855] By: gsar                                  on 1998/09/23  10:52:27
+    Log: reset errno after C search (as suggested by Larry)
+ Branch: perl
+       ! pp_ctl.c
+____________________________________________________________________________
+[  1854] By: gsar                                  on 1998/09/23  10:50:26
+    Log: misc pod tweaks
+ Branch: perl
+       ! pod/perldelta.pod pod/perldiag.pod pod/perlport.pod
+____________________________________________________________________________
+[  1853] By: gsar                                  on 1998/09/23  10:46:06
+    Log: make Pod/Html.pm handle the --title option properly (as suggested
+	 by gml4410@ggr.co.uk)
+ Branch: perl
+       ! lib/Pod/Html.pm
+____________________________________________________________________________
+[  1852] By: gsar                                  on 1998/09/23  10:41:39
+    Log: SSNEW() API for allocating memory on the savestack
+	 From: Albert Dvornik 
+	 Date: 17 Sep 1998 19:23:07 -0400
+	 Message-Id: 
+	 Subject: [PATCH 5.005_51] (was: why SAVEDESTRUCTOR()...)
+ Branch: perl
+       ! Changes Changes5.005 embed.h global.sym mg.c objXSUB.h objpp.h
+       ! perl.h proto.h scope.c scope.h t/io/tell.t
+____________________________________________________________________________
+[  1851] By: gsar                                  on 1998/09/23  10:37:05
+    Log: From: Jochen Wiedmann 
+	 Date: Thu, 17 Sep 1998 17:16:06 +0200
+	 Message-ID: <360127B6.E44564A@ispsoft.de>
+	 Subject: [PATCH] ExtUtils::MakeMaker::prompt cannot return 0
+ Branch: perl
+       ! lib/ExtUtils/MakeMaker.pm
+____________________________________________________________________________
+[  1850] By: gsar                                  on 1998/09/23  10:33:05
+    Log: From: andreas.koenig@kulturbox.de (Andreas J. Koenig)
+	 Date: 15 Sep 1998 01:32:31 +0200
+	 Message-ID: 
+	 Subject: Re: [PATCH] MakeMaker "test" target doesn't depend on "all"
+ Branch: perl
+       ! lib/ExtUtils/MM_Unix.pm
+____________________________________________________________________________
+[  1849] By: gsar                                  on 1998/09/23  10:29:04
+    Log: From: Charles Bailey 
+	 Date: Sat, 12 Sep 1998 19:25:32 -0400 (EDT)
+	 Message-id: <01J1QBJUAY1I002KOW@cor.newman.upenn.edu>
+	 Subject: Re: extralibs.ld problem in MM_VMS.pm
+ Branch: perl
+       ! lib/ExtUtils/MM_VMS.pm
+____________________________________________________________________________
+[  1848] By: gsar                                  on 1998/09/23  10:25:24
+    Log: From: Roderick Schertler 
+	 Date: 11 Sep 1998 16:19:21 -0400
+	 Message-ID: 
+	 Subject: Re: Open2 and memory leaks
+ Branch: perl
+       ! lib/IPC/Open3.pm
+____________________________________________________________________________
+[  1847] By: gsar                                  on 1998/09/23  10:18:31
+    Log: From: Roderick Schertler 
+	 Date: Wed, 09 Sep 1998 23:52:48 -0400
+	 Message-ID: <20567.905399568@eeyore.ibcinc.com>
+	 Subject: seed srand from /dev/urandom when possible
+ Branch: perl
+       ! pod/perlfunc.pod pp.c
+____________________________________________________________________________
+[  1846] By: gsar                                  on 1998/09/23  10:12:22
+    Log: From: Roderick Schertler 
+	 Date: Thu, 10 Sep 1998 00:32:17 -0400
+	 Message-ID: <21142.905401937@eeyore.ibcinc.com>
+	 Subject: doc update for crypt()'s salt
+ Branch: perl
+       ! pod/perlfunc.pod
+____________________________________________________________________________
+[  1845] By: gsar                                  on 1998/09/23  10:09:23
+    Log: fix h2ph handling of C<#error "foo">
+	 From: SAKAI Kiyotaka 
+	 Date: Thu, 10 Sep 1998 09:59:33 +0900
+	 Message-Id: <19980910095933N.ksakai@netwk.ntt-at.co.jp>
+	 Subject: [5.005_02] h2ph problem
+ Branch: perl
+       ! utils/h2ph.PL
+____________________________________________________________________________
+[  1844] By: gsar                                  on 1998/09/23  10:06:13
+    Log: plug strictly private function leaks in API listing
+ Branch: perl
+       ! pod/perlguts.pod
+____________________________________________________________________________
+[  1843] By: gsar                                  on 1998/09/23  10:02:57
+    Log: hide symbol for static build
+	 From: Dominic Dunlop 
+	 Date: Tue, 8 Sep 1998 21:40:46 +0000
+	 Message-Id: 
+	 Subject: Not OK: perl 5.00551 on powerpc-machten 4.1.1 [PATCH]
+ Branch: perl
+       ! regcomp.c
+____________________________________________________________________________
+[  1842] By: gsar                                  on 1998/09/23  09:52:46
+    Log: define PUT_svindex(), PUT_opindex()
+ Branch: perl
+       ! ext/B/B/Assembler.pm
+____________________________________________________________________________
+[  1841] By: gsar                                  on 1998/09/23  09:44:25
+    Log: From: Dominic Dunlop 
+	 Date: Tue, 8 Sep 1998 15:34:53 +0000
+	 Message-Id: 
+	 Subject: [PATCH 5.005_51] Eliminate pragma/warn-regexec test dependence on REG_INFTY value
+ Branch: perl
+       ! t/pragma/warn/regexec
+____________________________________________________________________________
+[  1840] By: gsar                                  on 1998/09/23  09:42:17
+    Log: pl2bat tweak from Tye McQueen 
+ Branch: perl
+       ! win32/bin/pl2bat.pl
+____________________________________________________________________________
+[  1839] By: gsar                                  on 1998/09/23  09:38:18
+    Log: From: Drago Goricanec 
+	 Date: Mon, 7 Sep 1998 17:36:09 +0900
+	 Message-Id: <199809070836.RAA14631@raptor.otsd.ts.fujitsu.co.jp>
+	 Subject: Thread::cond_wait bug in 5.005.51 causes deadlock
+ Branch: perl
+       ! ext/Thread/Thread.xs
+____________________________________________________________________________
+[  1838] By: gsar                                  on 1998/09/23  09:21:11
+    Log: From: "Green, Paul" 
+	 Date: Thu, 10 Sep 1998 00:02:07 -0400
+	 Message-ID: <646CD0392810D211B04A00A024BF26FB1022EB@terminator.sw.stratus.com>
+	 Subject: RE: [PATCH] 5.005_02 and 5.005_51: Stratus VOS port
+ Branch: perl
+       + README.vos vos/Changes vos/build.cm vos/compile_perl.cm
+       + vos/config.h vos/config_h.SH_orig vos/perl.bind
+       + vos/test_vos_dummies.c vos/vos_dummies.c vos/vosish.h
+       ! MANIFEST perl.c perl.h pod/perlport.pod
+____________________________________________________________________________
+[  1837] By: gsar                                  on 1998/09/23  08:45:58
+    Log: (via private mail)
+	 From: Charles Bailey 
+	 Date: Sat, 05 Sep 1998 01:23:58 -0400 (EDT)
+	 Message-id: <01J1FH7R43NS002F14@cor.newman.upenn.edu>
+	 Subject: [Patch 5.005_02] Miscellaneous VMS cleanup
+ Branch: perl
+       ! Changes Changes5.005 README.vms ext/DynaLoader/dl_vms.xs
+       ! lib/Cwd.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm
+       ! lib/ExtUtils/Mksymlists.pm lib/File/Copy.pm lib/File/Path.pm
+       ! lib/File/Spec.pm pod/perldiag.pod pod/perlfaq1.pod
+       ! pod/perlport.pod pod/perlrun.pod vms/ext/DCLsym/0README.txt
+       ! vms/ext/DCLsym/DCLsym.pm vms/ext/DCLsym/DCLsym.xs
+       ! vms/ext/Filespec.pm vms/ext/XSSymSet.pm vms/gen_shrfls.pl
+       ! vms/mms2make.pl vms/perly_c.vms vms/sockadapt.c
+       ! vms/sockadapt.h vms/test.com vms/vms.c vms/vms_yfix.pl
+       ! vms/writemain.pl
+____________________________________________________________________________
+[  1836] By: gsar                                  on 1998/09/23  08:17:42
+    Log: From: Ilya Zakharevich 
+	 Date: Sat, 5 Sep 1998 00:14:51 -0400 (EDT)
+	 Message-Id: <199809050414.AAA19801@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] OS/2 spawning typos
+ Branch: perl
+       ! os2/os2.c
+____________________________________________________________________________
+[  1835] By: gsar                                  on 1998/09/23  08:09:55
+    Log: warn on C
+ Branch: perl
+       ! op.c pod/perldiag.pod
+____________________________________________________________________________
+[  1834] By: gsar                                  on 1998/09/23  07:35:56
+    Log: From: pvhp@forte.com (Peter Prymmer)
+	 Date: Fri, 4 Sep 98 13:27:41 PDT
+	 Message-Id: <9809042027.AA04463@forte.com>
+	 Subject: [PATCH 5.005_02 && 5.005_51] general updates to README.vms
+ Branch: perl
+       ! README.vms
+____________________________________________________________________________
+[  1833] By: gsar                                  on 1998/09/23  07:27:34
+    Log: From: Jeff Okamoto 
+	 Date: Wed, 2 Sep 1998 10:06:49 -0700 (PDT)
+	 Message-Id: <199809021706.KAA26349@xfiles.intercon.hp.com>
+	 Subject: PATCH: 5.005_02 hint/hpux.sh
+ Branch: perl
+       ! hints/hpux.sh
+____________________________________________________________________________
+[  1832] By: gsar                                  on 1998/09/23  07:22:40
+    Log: fix (some) installhtml bugs
+	 From: Larry Parmelee 
+	 Date: Tue, 1 Sep 1998 12:43:40 -0400 (EDT)
+	 Message-Id: <199809011643.MAA05702@sundown.cs.cornell.edu>
+	 Subject: installhtml script needs work
+ Branch: perl
+       ! installhtml
+____________________________________________________________________________
+[  1831] By: gsar                                  on 1998/09/23  07:19:30
+    Log: document 'U' magic with examples
+	 From: Alan Burlison 
+	 Date: Tue, 1 Sep 1998 15:54:06 +0100 (BST)
+	 Message-Id: <199809011455.PAA00631@sale-wts>
+	 Subject: Re: Looking for some XS MAGIC examples...
+ Branch: perl
+       ! pod/perlguts.pod
+____________________________________________________________________________
+[  1830] By: gsar                                  on 1998/09/23  07:16:43
+    Log: From: pvhp@forte.com (Peter Prymmer)
+	 Date: Mon, 31 Aug 98 17:13:49 PDT
+	 Message-Id: <9809010013.AA06737@forte.com>
+	 Subject: [PATCH: 5.005_02; yet another system configuration tip for OS/390]
+ Branch: perl
+       ! README.os390
+____________________________________________________________________________
+[  1829] By: gsar                                  on 1998/09/23  07:15:08
+    Log: fix problematic typecast in filter_del()
+	 From: Mark P Lutz 
+	 Date: Mon, 31 Aug 1998 21:13:11 GMT
+	 Message-Id: <199808312113.VAA53356@triton.ca.boeing.com>
+	 Subject: perl5.005_02 does not build on Cray T90
+ Branch: perl
+       ! toke.c
+____________________________________________________________________________
+[  1828] By: gsar                                  on 1998/09/23  07:11:34
+    Log: From: Ilya Zakharevich 
+	 Date: Mon, 31 Aug 1998 14:52:10 -0400 (EDT)
+	 Message-Id: <199808311852.OAA24676@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_5*] (?>) broken in RE
+ Branch: perl
+       ! regexec.c t/op/re_tests
+____________________________________________________________________________
+[  1827] By: gsar                                  on 1998/09/23  07:09:50
+    Log: U/WIN testsuite patches from Joe Buehler 
+ Branch: perl
+       ! t/op/grent.t t/op/groups.t
+____________________________________________________________________________
+[  1826] By: gsar                                  on 1998/09/23  07:03:16
+    Log: From: Jarkko Hietaniemi 
+	 Date: Wed, 12 Aug 1998 22:41:37 +0300 (EET DST)
+	 Message-Id: <199808121941.WAA06263@alpha.hut.fi>
+	 Subject: [PATCH] 5.004_50 or 5.005_02: get rid of interp.sym because not even AIX needs it
+ Branch: perl
+       - interp.sym
+       ! MANIFEST Makefile.SH embed.pl perl_exp.SH
+____________________________________________________________________________
+[  1825] By: gsar                                  on 1998/09/23  06:56:40
+    Log: re-introduce change#1703
+ Branch: perl
+       ! ext/re/re.pm pod/perlre.pod regcomp.c regexec.c thrdvar.h
+____________________________________________________________________________
+[  1824] By: gsar                                  on 1998/09/23  06:44:19
+    Log: From: Ilya Zakharevich 
+	 Date: Sat, 29 Aug 1998 17:38:30 -0400 (EDT)
+	 Message-Id: <199808292138.RAA18359@monk.mps.ohio-state.edu>
+	 Subject: [PATCH 5.005_*] Protect debugger from nonlocal exits
+ Branch: perl
+       ! lib/perl5db.pl
+____________________________________________________________________________
+[  1823] By: gsar                                  on 1998/09/23  06:41:34
+        Log: From: Joe Buehler 
+             Date: 29 Aug 1998 17:13:28 -0400
+             Message-ID: 
+             Subject: patches for perl 5.005_51 under U/WIN
      Branch: perl
-           ! MANIFEST README.threads Todo.5.005 perl.c util.c
-     Branch: perlext
-           ! Thread/Thread.xs Thread/queue.t
+           + hints/uwin.sh
+	   ! Configure installman lib/ExtUtils/MM_Unix.pm makedepend.SH
+           ! t/lib/posix.t
 ____________________________________________________________________________
-[   130] By: mbeattie                              on 1997/10/15  16:55:10
-        Log: Add HAVE_THREAD_INTERN for platform-dependent struct thread additions.
-             Fix ThrSETSTATE not to lock t->mutex itself.
+[  1822] By: gsar                                  on 1998/09/23  06:36:59
+        Log: add missing C tweak from Larry
      Branch: perl
-           ! fakethr.h thread.h
+           ! t/op/subst.t
 ____________________________________________________________________________
-[   129] By: mbeattie                              on 1997/10/15  16:53:35
-        Log: Remove stale code from pp_entersub which breaks sub ownership locks.
+[  1821] By: gsar                                  on 1998/09/23  06:27:51
+        Log: s/runops/CALLRUNOPS/
+     Branch: perl
+           ! cc_runtime.h
+____________________________________________________________________________
+[  1820] By: gsar                                  on 1998/09/23  06:24:49
+        Log: rename t/pragma/warn-* to t/pragma/warn/*, be 8.3-friendly
+     Branch: perl
+	  +> t/pragma/warn/1global t/pragma/warn/2use t/pragma/warn/3both
+	  +> t/pragma/warn/4lint t/pragma/warn/5nolint t/pragma/warn/doio
+	  +> t/pragma/warn/gv t/pragma/warn/mg t/pragma/warn/op
+	  +> t/pragma/warn/perl t/pragma/warn/perly t/pragma/warn/pp
+	  +> t/pragma/warn/pp_ctl t/pragma/warn/pp_hot t/pragma/warn/pp_sys
+	  +> t/pragma/warn/regcomp t/pragma/warn/regexec t/pragma/warn/sv
+	  +> t/pragma/warn/taint t/pragma/warn/toke t/pragma/warn/universal
+          +> t/pragma/warn/util
+	   - t/pragma/warn-1global t/pragma/warn-2use t/pragma/warn-3both
+	   - t/pragma/warn-4lint t/pragma/warn-5nolint t/pragma/warn-doio
+	   - t/pragma/warn-gv t/pragma/warn-mg t/pragma/warn-op
+	   - t/pragma/warn-perl t/pragma/warn-perly t/pragma/warn-pp
+	   - t/pragma/warn-pp_ctl t/pragma/warn-pp_hot t/pragma/warn-pp_sys
+	   - t/pragma/warn-regcomp t/pragma/warn-regexec t/pragma/warn-sv
+	   - t/pragma/warn-taint t/pragma/warn-toke t/pragma/warn-universal
+           - t/pragma/warn-util
+           ! MANIFEST t/pragma/warning.t
+____________________________________________________________________________
+[  1819] By: gsar                                  on 1998/09/23  06:08:46
+        Log: make \(%foo) return refs to values (not copies of values)
+             From: Stephen McCamant 
+             Date: Fri, 28 Aug 1998 20:46:10 -0700 (PDT)
+             Message-ID: <13799.30680.47765.352558@fre-76-120.reshall.berkeley.edu>
+             --
+             From: Roderick Schertler 
+             Date: Sat, 29 Aug 1998 00:58:33 -0400
+             Message-ID: <29894.904366713@eeyore.ibcinc.com>
+             Subject: Re: \(%x) problems
      Branch: perl
-           ! pp_hot.c
-____________________________________________________________________________
-[   128] By: TimBunce                              on 1997/10/15  15:55:26
-        Log: Maintenance 5.004_04 changes
-     Branch: maint-5.004/perl
-           + hints/os390.sh lib/base.pm t/lib/dosglob.t
-           - ext/util/extliblist
-	   ! Changes Configure INSTALL MANIFEST Makefile.SH Porting/makerel
-	   ! Porting/patchls Porting/pumpkin.pod README.vms av.c configpm
-	   ! doop.c eg/sysvipc/ipcsem emacs/cperl-mode.el embed.h
-	   ! ext/DynaLoader/DynaLoader.pm ext/IO/lib/IO/Socket.pm
-	   ! ext/util/make_ext global.sym gv.c hints/bsdos.sh
-	   ! hints/dec_osf.sh hints/dynixptx.sh hints/irix_6.sh
-	   ! hints/linux.sh hints/machten.sh hints/os2.sh hints/qnx.sh hv.c
-	   ! installperl lib/AutoLoader.pm lib/CPAN.pm
-	   ! lib/CPAN/FirstTime.pm lib/Carp.pm lib/Cwd.pm lib/English.pm
-	   ! lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm
-	   ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/xsubpp
-	   ! lib/File/DosGlob.pm lib/File/Find.pm lib/FileHandle.pm
-	   ! lib/Getopt/Long.pm lib/Getopt/Std.pm lib/Math/Complex.pm
-	   ! lib/Sys/Hostname.pm lib/Sys/Syslog.pm lib/Test/Harness.pm
-	   ! lib/Time/Local.pm lib/autouse.pm lib/blib.pm
-	   ! lib/diagnostics.pm lib/getopt.pl lib/perl5db.pl lib/vars.pm
-	   ! makedepend.SH malloc.c mg.c miniperlmain.c myconfig op.c
-	   ! opcode.h os2/Changes os2/OS2/REXX/Makefile.PL
-	   ! os2/OS2/REXX/REXX.pm os2/os2.c patchlevel.h perl.c perl.h
-	   ! perly.c perly.fixer perly.y pod/perl.pod pod/perlapio.pod
-	   ! pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod
-	   ! pod/perlguts.pod pod/perlipc.pod pod/perlop.pod
-	   ! pod/perlrun.pod pod/perlsec.pod pod/perlsub.pod
-	   ! pod/perltrap.pod pod/perlvar.pod pod/perlxs.pod pp.c pp_ctl.c
-	   ! pp_hot.c pp_sys.c proto.h regcomp.c regexec.c scope.c sv.c
-	   ! t/TEST t/comp/proto.t t/lib/complex.t t/lib/io_sock.t
-	   ! t/lib/io_udp.t t/op/glob.t t/op/method.t t/op/misc.t
-	   ! t/op/ref.t t/op/runlevel.t t/op/split.t t/op/sprintf.t
-	   ! t/op/subst.t t/op/taint.t t/pragma/locale.t taint.c toke.c
-	   ! unixish.h util.c utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL
-	   ! utils/perldoc.PL vms/perly_c.vms vms/vms.c vms/vmsish.h
-	   ! win32/Makefile win32/config_H.bc win32/config_H.vc
-	   ! win32/makefile.mk win32/pod.mak win32/win32.c win32/win32io.c
-           ! win32/win32sck.c x2p/Makefile.SH x2p/util.c
-____________________________________________________________________________
-[   127] By: mbeattie                              on 1997/10/15  10:00:18
-        Log: Added fakethr.h.
-     Branch: perl
-           + fakethr.h
-____________________________________________________________________________
-[   126] By: mbeattie                              on 1997/10/15  09:50:57
-        Log: pthread_condattr_init in thread.h for OLD_PTHREADS_API.
-     Branch: perl
-           ! thread.h
-____________________________________________________________________________
-[   125] By: mbeattie                              on 1997/10/15  09:09:24
-        Log: Started rewriting thread state machine.
-     Branch: perl
-           ! perl.c thread.h
-     Branch: perlext
-           ! Thread/Thread.xs
-____________________________________________________________________________
-[   124] By: gsar                                  on 1997/10/14  00:23:15
-        Log: Remove spurious extra MUTEX_LOCK in pp_entersub().  Now builds and passes
-             tests in win32 version of latest perlext/Thread.
-     Branch: win32/perl
-           ! pp_hot.c
+           ! doop.c pod/perlref.pod
 ____________________________________________________________________________
-[   123] By: gsar                                  on 1997/10/13  23:18:38
-        Log: Initial merge of win32 threads patch.
-     Branch: win32/perl
-	   ! embed.h global.sym interp.sym perl.c perl.h pp_hot.c thread.h
-	   ! win32/Makefile win32/makedef.pl win32/makefile.mk
-           ! win32/perllib.c win32/pod.mak win32/win32.h
-____________________________________________________________________________
-[   122] By: gsar                                  on 1997/10/10  20:58:40
-        Log: Integrated changes on mainline into the win32 branch.  Had to set
-             P4USER=mbeattie for the resolve step (due to the presence of newly
-             branched files that had not been submitted?)
-     Branch: win32/perl
-	  +> Porting/makerel Porting/patchls README.threads Todo.5.005
-	  +> ext/attrs/Makefile.PL ext/attrs/attrs.pm ext/attrs/attrs.xs
-	  +> hints/newsos4.sh lib/File/DosGlob.pm lib/chat2.pl perlio.sym
-	  +> win32/bin/pl2bat.pl win32/bin/runperl.pl win32/bin/search.pl
-	  +> win32/bin/webget.pl win32/config.bc win32/config.vc
-          +> win32/config_H.bc win32/config_H.vc win32/makefile.mk
-	   - win32/bin/pl2bat.bat win32/bin/search.bat win32/bin/test.bat
-           - win32/bin/webget.bat win32/config.H win32/config.w32
-           ! thread.h
-          !> (integrate 858 files)
-____________________________________________________________________________
-[   121] By: mbeattie                              on 1997/10/10  17:23:41
-        Log: Tweak a few Thread tests.
-     Branch: perlext
-           + Thread/join2.t
-           ! Thread/io.t Thread/sync2.t
-____________________________________________________________________________
-[   120] By: mbeattie                              on 1997/10/10  17:22:46
-        Log: Rewrite thread destruction system using linked list of threads.
-             Still not completely done. Add methods self, equal, flags, list
-             to Thread.xs. Add Thread_MAGIC_SIGNATURE check to typemap.
-     Branch: perl
-           ! perl.c perl.h thread.h
-     Branch: perlext
-           ! Thread/Thread.xs Thread/typemap
-____________________________________________________________________________
-[   119] By: mbeattie                              on 1997/10/10  17:19:55
-        Log: Fix up locking/synchronisation for pp_entersub.
+[  1818] By: gsar                                  on 1998/09/23  06:05:08
+        Log: make h2xs generate ANSI prototypes
      Branch: perl
-           ! pp_hot.c
+           ! utils/h2xs.PL
 ____________________________________________________________________________
-[   118] By: mbeattie                              on 1997/10/10  09:55:32
-        Log: Put back entries in MANIFEST for the four now-returned win32/* files
+[  1817] By: gsar                                  on 1998/09/23  05:57:16
+        Log: updated usethreads hints for hpux 10.X
+             From: Matthew T Harden 
+             Date: Fri, 28 Aug 1998 14:10:42 GMT
+             Message-Id: <199808281410.AA11058@mthard1.monsanto.com>
+             Subject: Re: OK: perl 5.00502 on PA-RISC1.1-thread 10.20 (UNINSTALLED)
      Branch: perl
-           ! MANIFEST
+           ! hints/hpux.sh perl.h
 ____________________________________________________________________________
-[   117] By: mbeattie                              on 1997/10/10  08:12:23
-        Log: Took out mystack_foo for good, fixed up interp.sym and win32/makedef.pl
+[  1816] By: gsar                                  on 1998/09/23  05:53:31
+        Log: don't create empty directories in installperl
+             From: Robin Barker 
+             Date: Fri, 21 Aug 1998 11:29:24 +0100 (BST)
+             Message-Id: <199808211029.LAA00551@cyclone.cise.npl.co.uk>
+             Subject: [PATCH 5.005_02] install: empty dirs
      Branch: perl
-           ! Todo.5.005 embed.h interp.sym perl.h win32/makedef.pl
-____________________________________________________________________________
-[   116] By: mbeattie                              on 1997/10/08  15:41:08
-        Log: Add missing sig_pipe definition to Thread.xs.
-     Branch: perlext
-           ! Thread/Thread.xs
+           ! installperl
 ____________________________________________________________________________
-[   115] By: mbeattie                              on 1997/10/08  15:40:46
-        Log: Fix up 5.004_03 merge: remove missing win32 files from MANIFEST,
-             add missing dTHR; to new function unwind_handler_stack() in mg.c
-             and bump patchlevel.h to 5.004_52.
+[  1815] By: gsar                                  on 1998/09/23  05:50:36
+        Log: make behavior of /(a{3})+/ like /(aaa)+/ w.r.t where it matches
+             From: Ilya Zakharevich 
+             Date: Fri, 21 Aug 1998 05:41:02 -0400 (EDT)
+             Message-Id: <199808210941.FAA16467@monk.mps.ohio-state.edu>
+             Subject: Re: your mail
      Branch: perl
-           ! MANIFEST mg.c patchlevel.h
+           ! regexec.c t/op/re_tests
 ____________________________________________________________________________
-[   114] By: mbeattie                              on 1997/10/08  10:19:27
-        Log: Merge maint-5.004 branch (5.004_03) with mainline.
-             MANIFEST is out of sync.
+[  1814] By: gsar                                  on 1998/09/23  05:45:17
+        Log: From: "Kurt D. Starsinic" 
+             Date: Thu, 20 Aug 1998 20:59:03 -0400
+             Message-ID: <19980820205903.A12908@O2.chapin.edu>
+             Subject: [PATCH] h2ph misquotes #error directives
      Branch: perl
-	  +> win32/bin/pl2bat.pl win32/bin/runperl.pl win32/bin/search.pl
-          +> win32/bin/webget.pl
-	   - win32/bin/pl2bat.bat win32/bin/search.bat win32/bin/test.bat
-           - win32/bin/webget.bat
-          !> (integrate 168 files)
+           ! t/lib/h2ph.pht utils/h2ph.PL
 ____________________________________________________________________________
-[   113] By: mbeattie                              on 1997/10/05  17:52:49
-        Log: Move init of global mutexes/cond vars earlier.
+[  1813] By: gsar                                  on 1998/09/23  05:42:41
+        Log: patch to support computed regular subexpressions
+             From: Ilya Zakharevich 
+             Date: Thu, 20 Aug 1998 15:19:50 -0400 (EDT)
+             Message-Id: <199808201919.PAA04692@monk.mps.ohio-state.edu>
+             Subject: [5.005_5* PATCH] Postponed RE - now!
      Branch: perl
-           ! perl.c
+	   ! embedvar.h objXSUB.h pod/perlre.pod regcomp.c regexec.c
+           ! t/op/pat.t t/op/re_tests thrdvar.h toke.c
 ____________________________________________________________________________
-[   112] By: nick                                  on 1997/10/04  15:25:28
-        Log: Add perl.sym to MANIFEST
-     Branch: oneperl
-           ! MANIFEST
+[  1812] By: gsar                                  on 1998/09/23  05:26:26
+        Log: better CR-handling on shebang line and in formats (fixed variant of
+             patch suggested by Igor Sysoev )
+     Branch: perl
+           ! perl.c toke.c
 ____________________________________________________________________________
-[   111] By: nick                                  on 1997/10/04  15:23:37
-        Log: Missing file
-     Branch: oneperl
-           + perl.sym
-____________________________________________________________________________
-[   110] By: nick                                  on 1997/10/04  13:04:26
-        Log: Now builds the extensions as well
-             Passes all tests
-     Branch: oneperl
-	   ! XSUB.h embed.pl ext/DynaLoader/dlutils.c ext/Opcode/Opcode.xs
-	   ! mg.c op.c perl.c pp_ctl.c pp_hot.c pp_sys.c proto.h sv.c
-           ! toke.c util.c writemain.SH
-____________________________________________________________________________
-[   109] By: nick                                  on 1997/10/04  12:02:14
-        Log: Odd checkin issue
-     Branch: oneperl
-	   ! dump.c global.sym gv.c hv.c malloc.c mg.c op.c opcode.h perl.c
-	   ! perly.c perly.c.diff perly.h perly.y pp.c pp_hot.c pp_sys.c
-	   ! proto.h scope.c sv.c toke.c universal.c util.c vms/perly_c.vms
-           ! vms/perly_h.vms writemain.SH
-____________________________________________________________________________
-[   108] By: nick                                  on 1997/10/04  11:12:52
-        Log: Added lots of (missing) prototypes (ckprotos is util to check)
-             Fixed missing aTHIS flagged by above.
-             -DUSE_THISPTR passes minitest!
-     Branch: oneperl
-           + ckprotos
-	   ! dump.c global.sym gv.c hv.c malloc.c mg.c op.c opcode.h perl.c
-	   ! perly.c perly.c.diff perly.h perly.y pp.c pp_hot.c pp_sys.c
-	   ! proto.h scope.c sv.c toke.c universal.c util.c vms/perly_c.vms
-           ! vms/perly_h.vms
-____________________________________________________________________________
-[   107] By: nick                                  on 1997/10/03  22:36:52
-        Log: .y muddle fixup - will get this sorted oneday ...
-     Branch: oneperl
-	   ! miniperlmain.c perly.c perly.c.diff perly.h vms/perly_c.vms
-           ! vms/perly_h.vms
-____________________________________________________________________________
-[   106] By: mbeattie                              on 1997/10/03  17:12:33
-        Log: Remove last traces of "tokenbuf as temp buffer" and removed it
-             from struct thread. Added missing thr->Tfoo defines for statbuf
-             and timesbuf and removed unused Tbuf field.
-     Branch: perl
-           ! doio.c mg.c perl.c pp_sys.c sv.c thread.h
-____________________________________________________________________________
-[   105] By: nick                                  on 1997/10/03  15:56:50
-        Log: dTHIS -> hasTHIS, dTHR -> dTHR; builds without THISPTR with/without USE_THREADS
-     Branch: oneperl
-	   ! XSUB.h av.c deb.c doio.c doop.c dump.c embed.pl global.sym
-	   ! gv.c hv.c mg.c op.c perl.c perl.h perlio.c perly.c pp.c pp.h
-	   ! pp_ctl.c pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c
-           ! sv.c taint.c thread.h toke.c universal.c util.c
+[  1811] By: gsar                                  on 1998/09/23  04:35:46
+        Log: document non-loopish blocks better
+             From: "M.J.T. Guy" 
+             Date: Tue, 18 Aug 1998 12:28:36 +0100
+             Message-Id: 
+             Subject: Re: next in do {} while block gives error message
+     Branch: perl
+           ! pod/perlfunc.pod
 ____________________________________________________________________________
-[   104] By: mbeattie                              on 1997/10/03  15:23:25
-        Log: Back out sv_bless3 change which made pp_bless zap '~'-magic.
+[  1810] By: gsar                                  on 1998/09/23  04:12:05
+        Log: fix bogus integerization of pop()'s return value
+             From: Gurusamy Sarathy 
+             Date: Sat, 15 Aug 1998 23:27:54 -0400
+             Message-Id: <199808160327.XAA05186@aatma.engin.umich.edu>
+             Subject: Re: Complex expression does integer arithmetic 
      Branch: perl
-           ! global.sym pp.c proto.h sv.c
+           ! opcode.h opcode.pl
 ____________________________________________________________________________
-[   103] By: mbeattie                              on 1997/10/03  15:17:39
-        Log: Fixed sv_mutex locking for new_SV, del_SV and nice_chunks.
+[  1809] By: gsar                                  on 1998/09/23  04:09:43
+        Log: tweak README.win32
      Branch: perl
-           ! av.c hv.c perl.h sv.c
+           ! README.win32
 ____________________________________________________________________________
-[   102] By: mbeattie                              on 1997/10/03  11:53:51
-        Log: Reliable thread signal handling.
+[  1808] By: gsar                                  on 1998/09/23  03:40:57
+        Log: better diagnostic for do{} used as lvalue
      Branch: perl
-           ! global.sym mg.c perl.c perl.h
-     Branch: perlext
-           ! Thread/Thread.xs
+           ! op.c pod/perlport.pod
 ____________________________________________________________________________
-[   101] By: nick                                  on 1997/10/02  20:43:17
-        Log: Cleanup perly.y stuff
-     Branch: oneperl
-           ! embed.h perly.c perly.c.diff vms/perly_c.vms vms/perly_h.vms
+[  1807] By: gsar                                  on 1998/09/23  03:38:30
+        Log: enable PERL_SBRK_VIA_MALLOC on OPENSTEP-Mach
+             From: hansm@icgroup.nl
+             Date: Tue, 11 Aug 98 21:08:51 +0200
+             Message-Id: <9808111907.AA21903@icgned.icgroup.nl>
+             Subject: Not OK: perl 5.00551 on OPENSTEP-Mach 4_1 (UNINSTALLED)
+     Branch: perl
+           ! malloc.c
 ____________________________________________________________________________
-[   100] By: nick                                  on 1997/10/02  18:54:08
-        Log: Compiles with less invasive aTHIS adding
-     Branch: oneperl
-           + nothis.sym
-	   ! MANIFEST XSUB.h av.c cop.h deb.c doio.c doop.c dump.c embed.h
-	   ! embed.pl global.sym gv.c gv.h handy.h hv.c hv.h mg.c op.c op.h
-	   ! opcode.h perl.c perl.h perlio.c perlsdio.h perly.c
-	   ! perly.c.diff perly.y pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c
-	   ! proto.h regcomp.c regcomp.h regexec.c run.c scope.c scope.h
-	   ! sv.c sv.h t/op/sort.t taint.c thread.h toke.c universal.c
-           ! util.c vars.h
-
-----------------
-Version 5.004_51
-----------------
-
+[  1806] By: gsar                                  on 1998/09/23  03:36:08
+        Log: support make written in perl (aka "pmake") on win32
+     Branch: perl
+           ! lib/ExtUtils/MM_Win32.pm
 ____________________________________________________________________________
-[    99] By: mbeattie                              on 1997/10/02  17:23:48
-        Log: Added Thread/queue.t.
-     Branch: perlext
-           + Thread/queue.t
+[  1805] By: gsar                                  on 1998/09/23  03:30:07
+        Log: fix mismatched UV/U32 types for to_utf8_*()
+     Branch: perl
+           ! utf8.c
 ____________________________________________________________________________
-[    98] By: mbeattie                              on 1997/10/02  17:19:44
-        Log: Bumped patchlevel to 51. Updated Todo.5.005.
+[  1804] By: gsar                                  on 1998/09/23  03:22:22
+        Log: From: Laszlo Molnar 
+             Date: Sun, 9 Aug 1998 22:38:23 +0200
+             Message-ID: <19980809223823.A215@cdata.tvnet.hu>
+             Subject: [PATCH 5.5002] dos-djgpp update
      Branch: perl
-           ! Todo.5.005 patchlevel.h
+           ! t/io/fs.t
 ____________________________________________________________________________
-[    97] By: mbeattie                              on 1997/10/02  17:07:47
-        Log: Update README.threads amd Thread/README
+[  1803] By: gsar                                  on 1998/09/23  03:20:13
+        Log: apply minimal variant of patch (sent via private mail)
+             From: jarkko.hietaniemi@research.nokia.com (Jarkko Hietaniemi)
+             Date: Wed, 12 Aug 1998 15:42:35 +0300
+             Message-Id: <199808121242.PAA29761@comanche.spices>
+             Subject: [PATCH] 5.004_02 or 5.005_51: fix regexp and tr character ranges in non-ASCII lands
      Branch: perl
-           ! README.threads
-     Branch: perlext
-           ! Thread/README
+	   ! MANIFEST perl.h pod/perllocale.pod pod/perlop.pod
+           ! pod/perlre.pod regcomp.c t/pragma/locale.t toke.c
 ____________________________________________________________________________
-[    96] By: mbeattie                              on 1997/10/02  16:58:47
-        Log: Configure -Dusethreads hints for dec_osf and solaris_2 and
-             fix sv_bless3 prototype.
+[  1802] By: gsar                                  on 1998/09/23  03:03:39
+        Log: adjust searchdict.t for EBCDIC (still needs documenting)
+             From: pvhp@forte.com (Peter Prymmer)
+             Date: Thu, 6 Aug 98 18:09:39 PDT
+             Message-Id: <9808070109.AA06158@forte.com>
+             Subject: [PATCH 5.005_02-TRIAL2] potential modification to t/lib/searchdict.t
      Branch: perl
-           ! hints/dec_osf.sh hints/solaris_2.sh sv.c
+           ! README.os390 t/lib/searchdict.t
 ____________________________________________________________________________
-[    95] By: mbeattie                              on 1997/10/02  16:50:21
-        Log: Fixed broken typemap for Thread.
-     Branch: perlext
-           ! Thread/typemap
+[  1801] By: gsar                                  on 1998/09/23  02:54:15
+        Log: silence redefined warning for XS(INIT) {}
+     Branch: perl
+           ! op.c
 ____________________________________________________________________________
-[    94] By: mbeattie                              on 1997/10/02  16:34:03
-        Log: Fix pod text in Lint.pm for private-names option.
-     Branch: perlext
-           ! Compiler/B/Lint.pm
+[  1800] By: gsar                                  on 1998/09/23  02:42:23
+        Log: support match indices via special variables @- and @+
+             From: Ilya Zakharevich 
+             Date: Tue, 21 Jul 1998 23:00:35 -0400 (EDT)
+             Message-Id: <199807220300.XAA16081@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.004_76] @- and @+
+     Branch: perl
+	   ! av.c embed.h global.sym gv.c mg.c objXSUB.h objpp.h perl.h
+           ! pod/perlvar.pod proto.h regnodes.h sv.c t/op/pat.t toke.c
 ____________________________________________________________________________
-[    93] By: mbeattie                              on 1997/10/02  13:44:46
-        Log: Add Todo.5.005 to MANIFEST and submit remade embed.h.
+[  1799] By: gsar                                  on 1998/09/23  01:44:31
+        Log: From: Ilya Zakharevich 
+             Date: Tue, 11 Aug 1998 18:43:29 -0400 (EDT)
+             Message-Id: <199808112243.SAA14243@monk.mps.ohio-state.edu>
+             Subject: Re: Segmentation fault for /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
      Branch: perl
-           ! MANIFEST embed.h
+           ! regcomp.c t/op/re_tests
 ____________________________________________________________________________
-[    92] By: mbeattie                              on 1997/10/02  13:27:10
-        Log: Add Todo.5.005
+[  1798] By: gsar                                  on 1998/09/23  01:39:23
+        Log: integrate maint-5.005 changes (except conflicting change#1794)
      Branch: perl
-           + Todo.5.005
+           ! Changes
+	  !> objXSUB.h op.c pod/perlfunc.pod pp.c regcomp.c t/op/re_tests
+	  !> toke.c util.c win32/config.bc win32/config.gc win32/config.vc
+          !> win32/win32.h
 ____________________________________________________________________________
-[    91] By: nick                                  on 1997/10/01  20:23:38
-        Log: Raw _T# trial
-     Branch: oneperl
-           ! embed.h embed.pl proto.h sv.c
+[  1797] By: gsar                                  on 1998/09/23  01:32:36
+        Log: add note to win32/Makefile about setting CCHOME
+     Branch: perl
+           ! win32/Makefile win32/makefile.mk
 ____________________________________________________________________________
-[    90] By: nick                                  on 1997/10/01  18:22:03
-        Log: THIS + new sort stuff
-     Branch: oneperl
-           ! miniperlmain.c perl.c pp_ctl.c proto.h util.c
+[  1796] By: gsar                                  on 1998/09/23  01:31:32
+        Log: perl.pod tweak
+     Branch: perl
+           ! pod/perl.pod
 ____________________________________________________________________________
-[    89] By: nick                                  on 1997/10/01  18:03:05
-        Log: qsort cleanup - now tailored to perl's use and 'this' aware.
-     Branch: oneperl
-           ! pp_ctl.c proto.h util.c
+[  1795] By: gsar                                  on 1998/09/21  20:34:10
+        Log: make xsubpp generate well-formed code with CAPI && !PERL_OBJECT
+     Branch: perl
+           ! lib/ExtUtils/xsubpp
 ____________________________________________________________________________
-[    88] By: mbeattie                              on 1997/10/01  17:04:12
-        Log: Start of Configure support for -Dusethreads plus associated
-             Linux hints.
+[  1789] By: gsar                                  on 1998/09/18  18:01:37
+        Log: delay freeing itervar so C works
      Branch: perl
-           ! Configure hints/linux.sh
+           ! cop.h t/cmd/for.t
 ____________________________________________________________________________
-[    87] By: mbeattie                              on 1997/10/01  17:03:34
-        Log: Move runops_foo prototypes from proto.h to early in perl.h.
+[  1788] By: gsar                                  on 1998/09/17  02:19:11
+        Log: resync win32/config.?c with Porting/config.sh to pick up apiversion
      Branch: perl
-           ! perl.h proto.h
+           ! win32/config.bc win32/config.gc win32/config.vc
 ____________________________________________________________________________
-[    86] By: nick                                  on 1997/09/30  19:15:21
-        Log: Debug hackery to thread.h - temporary
-             Quick-fix qsort() replacement - more to come.
-     Branch: oneperl
-           ! thread.h util.c
+[  1787] By: gsar                                  on 1998/09/17  01:45:14
+        Log: suppress bogus warning on C
+     Branch: perl
+           ! toke.c
 ____________________________________________________________________________
-[    85] By: mbeattie                              on 1997/09/30  15:50:27
-        Log: Added Lint option regexp-variables.
-     Branch: perlext
-           ! Compiler/B/Lint.pm
+[  1786] By: gsar                                  on 1998/09/17  01:42:51
+        Log: ntohl typo in objXSUB.h
+     Branch: perl
+           ! objXSUB.h
 ____________________________________________________________________________
-[    84] By: mbeattie                              on 1997/09/30  15:11:07
-        Log: Merge maint-5.004 branch (5.004_01) with mainline.
+[  1785] By: gsar                                  on 1998/09/17  01:41:48
+        Log: fill gaps in sig_* entries in win32/config.?c
      Branch: perl
-	  +> Porting/makerel Porting/patchls hints/newsos4.sh
-	  +> lib/File/DosGlob.pm lib/chat2.pl perlio.sym win32/config.bc
-	  +> win32/config.vc win32/config_H.bc win32/config_H.vc
-          +> win32/makefile.mk
-           - win32/config.H win32/config.w32
-          !> (integrate 109 files)
+           ! win32/config.bc win32/config.gc win32/config.vc
 ____________________________________________________________________________
-[    83] By: TimBunce                              on 1997/09/30  14:27:09
-        Log: Maintenance 5.004_03 changes (addendum)
-     Branch: maint-5.004/perl
-           - win32/bin/search.bat
+[  1781] By: larry                                 on 1998/09/05  23:48:24
+        Log: tr/// logic was hosed under utf8
+     Branch: perl
+           ! doop.c op.c op.h pp.c proto.h
 ____________________________________________________________________________
-[    82] By: TimBunce                              on 1997/09/30  14:11:29
-        Log: Maintenance 5.004_03 changes
-     Branch: maint-5.004/perl
-	   + win32/bin/pl2bat.pl win32/bin/runperl.pl win32/bin/search.pl
-           + win32/bin/webget.pl
-	   - win32/bin/pl2bat.bat win32/bin/runperl.bat win32/bin/test.bat
-           - win32/bin/webget.bat
-	   ! Changes Configure MANIFEST Makefile.SH Porting/makerel
-	   ! ext/DynaLoader/DynaLoader.pm hints/hpux.sh hints/linux.sh
-	   ! hints/sco.sh hints/sunos_4_1.sh installhtml lib/CPAN.pm
-	   ! lib/ExtUtils/MM_Unix.pm lib/FileCache.pm lib/Math/Complex.pm
-	   ! lib/Math/Trig.pm lib/blib.pm os2/diff.configure patchlevel.h
-	   ! perl.c pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod
-	   ! pod/perlop.pod pod/perlre.pod pod/perlrun.pod pod/pod2man.PL
-	   ! pp_ctl.c pp_sys.c t/lib/complex.t t/pragma/locale.t toke.c
-	   ! utils/perlbug.PL win32/Makefile win32/makefile.mk
-           ! win32/win32.c
+[  1780] By: larry                                 on 1998/09/05  23:44:16
+        Log: several new tests needed tweaking to work under utf8
+     Branch: perl
+           ! t/comp/require.t t/op/pack.t t/op/substr.t
 ____________________________________________________________________________
-[    81] By: TimBunce                              on 1997/09/30  13:17:27
-        Log: Maintenance 5.004_02 changes
-     Branch: maint-5.004/perl
-           + win32/bin/runperl.bat
-	   ! Changes Configure INSTALL MANIFEST Makefile.SH Porting/patchls
-	   ! README.os2 README.win32 Todo XSUB.h av.c configpm doio.c
-	   ! dosish.h embed.h ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
-	   ! ext/DB_File/typemap ext/GDBM_File/typemap ext/IO/IO.xs
-	   ! ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm
-	   ! ext/IO/lib/IO/Socket.pm ext/NDBM_File/typemap
-	   ! ext/ODBM_File/ODBM_File.xs ext/POSIX/POSIX.xs
-	   ! ext/SDBM_File/typemap global.sym gv.c hints/cxux.sh
-	   ! hints/os2.sh hints/sunos_4_1.sh hints/svr4.sh installhtml
-	   ! lib/Bundle/CPAN.pm lib/CPAN.pm lib/CPAN/FirstTime.pm
-	   ! lib/CPAN/Nox.pm lib/Carp.pm lib/Class/Struct.pm
-	   ! lib/Exporter.pm lib/ExtUtils/Command.pm lib/ExtUtils/Embed.pm
-	   ! lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm
-	   ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm
-	   ! lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm
-	   ! lib/ExtUtils/xsubpp lib/File/Compare.pm lib/File/Copy.pm
-	   ! lib/File/Find.pm lib/File/Path.pm lib/FileHandle.pm
-	   ! lib/I18N/Collate.pm lib/IPC/Open3.pm lib/Net/hostent.pm
-	   ! lib/Pod/Html.pm lib/Shell.pm lib/Sys/Hostname.pm
-	   ! lib/Sys/Syslog.pm lib/Term/ReadLine.pm lib/Time/Local.pm
-	   ! lib/UNIVERSAL.pm lib/dumpvar.pl lib/ftp.pl lib/perl5db.pl
-	   ! malloc.c mg.c op.c opcode.pl os2/Changes os2/Makefile.SHs
-	   ! os2/diff.configure os2/os2.c os2/os2ish.h patchlevel.h perl.c
-	   ! perl.h pod/perlapio.pod pod/perlbook.pod pod/perldebug.pod
-	   ! pod/perldelta.pod pod/perldiag.pod pod/perlembed.pod
-	   ! pod/perlfunc.pod pod/perlguts.pod pod/perlop.pod
-	   ! pod/perlre.pod pod/perlrun.pod pod/perltoc.pod
-	   ! pod/perltrap.pod pod/perlvar.pod pod/perlxstut.pod
-	   ! pod/pod2man.PL pod/splitpod pp.c pp_ctl.c pp_hot.c pp_sys.c
-	   ! proto.h regcomp.c regexec.c scope.c sv.c t/TEST t/base/lex.t
-	   ! t/comp/cmdopt.t t/comp/term.t t/lib/db-btree.t t/lib/db-hash.t
-	   ! t/lib/db-recno.t t/lib/filehand.t t/lib/gdbm.t t/lib/ndbm.t
-	   ! t/lib/odbm.t t/lib/sdbm.t t/op/local.t t/op/magic.t
-	   ! t/op/pack.t t/op/re_tests t/op/ref.t t/op/regexp.t t/op/stat.t
-	   ! t/op/substr.t t/op/universal.t toke.c universal.c util.c
-	   ! utils/Makefile utils/h2ph.PL utils/perlbug.PL utils/perldoc.PL
-	   ! vms/config.vms vms/descrip.mms vms/ext/filespec.t
-	   ! vms/sockadapt.c vms/sockadapt.h vms/test.com vms/vms.c
-	   ! vms/vmsish.h win32/Makefile win32/bin/pl2bat.bat
-	   ! win32/config.bc win32/config.vc win32/config_H.bc
-	   ! win32/config_H.vc win32/config_h.PL win32/makedef.pl
-	   ! win32/makefile.mk win32/perllib.c win32/win32.c win32/win32.h
-	   ! win32/win32io.c win32/win32io.h win32/win32iop.h
-           ! win32/win32sck.c
+[  1779] By: larry                                 on 1998/09/05  23:41:42
+        Log: index() applied BM optimization to wrong argument
+     Branch: perl
+           ! op.c util.c
 ____________________________________________________________________________
-[    80] By: nick                                  on 1997/09/29  20:31:43
-        Log: Add some prototypes in attempt to flush out errors
-             Tidy up vars.h usage.
-     Branch: oneperl
-	   ! av.c embed.h hv.c opcode.h perl.c perl.h perlio.c pp_sys.c
-           ! proto.h util.c vars.h
-____________________________________________________________________________
-[    79] By: nick                                  on 1997/09/29  17:12:07
-        Log: Builds and passes tests without THISPTR
-     Branch: oneperl
-           ! MANIFEST global.sym perl.c perl.h vars.h
-____________________________________________________________________________
-[    78] By: mbeattie                              on 1997/09/29  16:57:23
-        Log: Re-introduce the changes from change 68 (runops becomes a
-             function pointer and sv_bless3 for '~'-magic) which got lost
-             during the preparation for the maint-merge.
-     Branch: perl
-           ! global.sym perl.h pp.c proto.h run.c sv.c
-____________________________________________________________________________
-[    77] By: mbeattie                              on 1997/09/29  16:44:16
-        Log: Start merge with maint-5.004 branch by creating an ancestral
-             branch point via a fake resolution with the maint-merge branch.
-             See Perforce Tech Note 9 for details.
-     Branch: perl
-          !> (integrate 864 files)
-____________________________________________________________________________
-[    76] By: nick                                  on 1997/09/28  19:04:42
-        Log: Code with this pointer compiles (but core dumps)
-     Branch: oneperl
-	   ! EXTERN.h INTERN.h XSUB.h av.c av.h cop.h cv.h deb.c doio.c
-	   ! doop.c dosish.h dump.c form.h gv.c gv.h handy.h hv.c hv.h
-	   ! keywords.h mg.c mg.h miniperlmain.c nostdio.h op.c op.h
-	   ! opcode.h patchlevel.h perl.c perl.h perlio.c perlio.h
-	   ! perlsdio.h perlsfio.h perly.c perly.c.diff perly.h perly.y
-	   ! pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c
-	   ! regcomp.h regexec.c regexp.h run.c scope.c scope.h sv.c sv.h
-	   ! taint.c thread.h toke.c universal.c unixish.h util.c util.h
-           ! vars.h
-____________________________________________________________________________
-[    75] By: nick                                  on 1997/09/28  15:45:35
-        Log: Quasi sensible starting point for aTHIS addition.
-     Branch: oneperl
-           ! perl.c perl.h pp_ctl.c sv.c thread.h toke.c util.c
-____________________________________________________________________________
-[    74] By: nick                                  on 1997/09/28  11:23:32
-        Log: Ooops - unwind perly.* stuff for now
-     Branch: oneperl
-           ! perly.c perly.h perly.y vms/perly_c.vms vms/perly_h.vms
-____________________________________________________________________________
-[    73] By: nick                                  on 1997/09/28  11:17:23
-        Log: Builds and passes all tests again
-     Branch: oneperl
-	   ! embed.pl ext/DB_File/DB_File.xs gv.c perl.c perl.h perly.y
-           ! pp.h proto.h thread.sym vms/perly_c.vms vms/perly_h.vms
-____________________________________________________________________________
-[    72] By: nick                                  on 1997/09/28  10:47:01
-        Log: Save "important things" before re-try
-     Branch: oneperl
-           + vars.h
-           ! embed.pl thread.h thread.sym
-____________________________________________________________________________
-[    71] By: nick                                  on 1997/09/26  17:47:31
-        Log: Basic hacks to build with USE_THISPTR, not yet useful
-             but builds miniperl and passes minitest with all thread 
-             variables via a _GLOBAL_ thr variable rather than globals.
-             Now for the local thr variable ...
-     Branch: oneperl
-           + thread.sym
-	   ! MANIFEST README.threads XSUB.h av.c cv.h deb.c doio.c doop.c
-	   ! dump.c embed.pl ext/DB_File/DB_File.xs gv.c hints/solaris_2.sh
-	   ! hv.c mg.c op.c perl.c perl.h pp.c pp_ctl.c pp_hot.c pp_sys.c
-	   ! proto.h regcomp.c regexec.c run.c scope.c sv.c thread.h toke.c
-           ! util.c vms/vms.c
-____________________________________________________________________________
-[    70] By: mbeattie                              on 1997/09/23  14:29:23
-        Log: Branch oneperl from mainline.
-     Branch: oneperl
-          +> (branch 871 files)
-____________________________________________________________________________
-[    69] By: mbeattie                              on 1997/09/22  16:02:37
-        Log: struct thread now stored in an SV and uses '~'-magic for access.
-     Branch: perl
-           ! thread.h
-     Branch: perlext
-           ! Thread/Thread.xs Thread/typemap
-____________________________________________________________________________
-[    68] By: mbeattie                              on 1997/09/22  16:01:48
-        Log: runops becomes a funtion pointer and sv_bless3 created
-             to avoid pointer forgery with '~'-magic.
-     Branch: perl
-           ! global.sym perl.c perl.h pp.c proto.h run.c sv.c
-____________________________________________________________________________
-[    67] By: mbeattie                              on 1997/09/22  15:45:56
-        Log: More fprintf -> PerlIO_printf changes.
-     Branch: perl
-           ! perl.c pp_hot.c util.c
-____________________________________________________________________________
-[    66] By: mbeattie                              on 1997/09/22  15:10:40
-        Log: Minor multi-threading patches for VMS.
-     Branch: perl
-           ! mg.c thread.h vms/vms.c
-____________________________________________________________________________
-[    65] By: mbeattie                              on 1997/09/15  14:09:11
-        Log: Add undefined-subs option to Lint.pm.
-     Branch: perlext
-           ! Compiler/B/Lint.pm
-____________________________________________________________________________
-[    64] By: mbeattie                              on 1997/09/10  16:39:41
-        Log: Debugging output for lock handling.
-     Branch: perl
-           ! mg.c pp.c pp_hot.c util.c
-____________________________________________________________________________
-[    63] By: mbeattie                              on 1997/09/10  14:49:00
-        Log: Move Thread/Semaphore.pm to Thread/Thread/Semaphore.pm
-     Branch: perlext
-          +> Thread/Thread/Semaphore.pm
-           - Thread/Semaphore.pm
-____________________________________________________________________________
-[    62] By: mbeattie                              on 1997/09/10  14:47:31
-        Log: Move Thread/Queue.pm to Thread/Thread/Queue.pm
-     Branch: perlext
-          +> Thread/Thread/Queue.pm
-           - Thread/Queue.pm
-____________________________________________________________________________
-[    61] By: mbeattie                              on 1997/09/10  13:56:50
-        Log: Solaris fixes: delete pad and padname from thread.h and remove
-             MUTEX_* stuff when malloc.c gets copied to x2p/malloc.c.
-     Branch: perl
-           ! thread.h x2p/Makefile.SH
+[  1778] By: larry                                 on 1998/09/05  23:38:29
+        Log: Implicit require during compile reset line numbering
+     Branch: perl
+           ! pp_ctl.c
 
 ----------------
-Version 5.004_50        First developer release towards 5.005
+Version 5.005_51
 ----------------
 
-Maintenance of the 5.004 version of perl continues with the 5.004_xx
-series, where 'xx' is <= 49.  Development of the next version, 5.005,
-starts with 5.004_50.
-
 ____________________________________________________________________________
-[    60] By: mbeattie                              on 1997/09/09  16:57:41
-        Log: Update README.threads to mention -DL.
+[  1777] By: gsar                                  on 1998/08/10  07:02:38
+        Log: various tweaks: fix signed vs. unsigned problems that prevented C++
+             builds; add sundry PERL_OBJECT scaffolding to get it to build; fix
+             lexical warning testsuite for win32
      Branch: perl
-           ! README.threads
-____________________________________________________________________________
-[    59] By: mbeattie                              on 1997/09/09  16:49:08
-        Log: Add Thread modules Queue.pm and Semaphore.pm
-     Branch: perlext
-           + Thread/Queue.pm Thread/Semaphore.pm
+	   ! Changes doop.c embed.h global.sym objXSUB.h objpp.h op.c
+	   ! pod/perlhist.pod pp.c pp_hot.c proto.h regcomp.c regexec.c
+	   ! sv.c t/pragma/warn-doio t/pragma/warn-mg t/pragma/warn-op
+	   ! t/pragma/warn-regexec toke.c utf8.c win32/GenCAPI.pl
+           ! win32/Makefile win32/makefile.mk
 ____________________________________________________________________________
-[    58] By: mbeattie                              on 1997/09/09  16:33:45
-        Log: Update README.threads
+[  1776] By: gsar                                  on 1998/08/09  17:53:48
+        Log: fix coredump with MULTIPLICITY (ckWARN() needs early curcop init)
      Branch: perl
-           ! README.threads
+           ! Changes MANIFEST perl.c pod/perlhist.pod
 ____________________________________________________________________________
-[    57] By: mbeattie                              on 1997/09/09  16:26:47
-        Log: Add debug info to Thread typemap.
-     Branch: perlext
-           ! Thread/typemap
+[  1775] By: gsar                                  on 1998/08/09  14:35:33
+        Log: tweak warning test
+     Branch: perl
+           ! t/pragma/warn-toke
 ____________________________________________________________________________
-[    56] By: mbeattie                              on 1997/09/09  15:04:26
-        Log: Rewrite synchronisation of subs/methods and add attrs
-             extension for specifying 'locked' and 'method' attributes.
+[  1774] By: gsar                                  on 1998/08/09  14:13:46
+        Log: add missing dTHR; notes for test failures due to small stacksize
      Branch: perl
-           + ext/attrs/Makefile.PL ext/attrs/attrs.pm ext/attrs/attrs.xs
-	   ! MANIFEST cv.h embed.h global.sym op.c perl.c pp.c pp_ctl.c
-           ! pp_hot.c proto.h sv.c sv.h toke.c
-     Branch: perlext
-	   ! Thread/Thread.pm Thread/Thread.xs Thread/sync.t Thread/sync2.t
+	   ! doio.c gv.c op.c sv.c t/pragma/warn-mg t/pragma/warn-regexec
+           ! toke.c universal.c util.c
 ____________________________________________________________________________
-[    55] By: mbeattie                              on 1997/09/03  16:34:47
-        Log: Add new keyword "lock" to Opcode.pm
+[  1773] By: gsar                                  on 1998/08/09  11:31:53
+        Log: lexical warnings; tweaks to places that didn't apply correctly
+             From:    pmarquess@bfsec.bt.co.uk (Paul Marquess)
+             Date:    Wed, 29 Jul 1998 09:28:45 BST
+             Message-Id: <9807290828.AA26286@claudius.bfsec.bt.co.uk>
+             Subject: lexical warnings patch for 5.005_50
      Branch: perl
-           ! ext/Opcode/Opcode.pm
+	   + README.lexwarn lib/warning.pm t/pragma/warn-2use
+	   + t/pragma/warn-3both t/pragma/warn-4lint t/pragma/warn-5nolint
+	   + t/pragma/warn-doio t/pragma/warn-gv t/pragma/warn-mg
+	   + t/pragma/warn-op t/pragma/warn-perl t/pragma/warn-perly
+	   + t/pragma/warn-pp t/pragma/warn-pp_ctl t/pragma/warn-pp_hot
+	   + t/pragma/warn-pp_sys t/pragma/warn-regcomp
+	   + t/pragma/warn-regexec t/pragma/warn-sv t/pragma/warn-taint
+	   + t/pragma/warn-toke t/pragma/warn-universal t/pragma/warn-util
+           + warning.h warning.pl
+	   ! Changes MANIFEST Makefile.SH cop.h doio.c global.sym gv.c
+	   ! lib/diagnostics.pm mg.c op.c op.h perl.c perl.h pp.c pp_ctl.c
+	   ! pp_hot.c pp_sys.c proto.h regcomp.c regexec.c sv.c t/op/tie.t
+	   ! t/pragma/warn-1global t/pragma/warning.t taint.c toke.c
+           ! universal.c util.c
 ____________________________________________________________________________
-[    54] By: mbeattie                              on 1997/09/03  14:44:44
-        Log: Run embed.pl and keywords.pl to complete RESTART -> INIT change
+[  1772] By: gsar                                  on 1998/08/08  23:06:00
+        Log: bump patchlevel to 5.005_51
      Branch: perl
-           ! embed.h keywords.h
+	   ! patchlevel.h win32/Makefile win32/config_H.bc
+           ! win32/config_H.gc win32/config_H.vc win32/makefile.mk
 ____________________________________________________________________________
-[    53] By: mbeattie                              on 1997/09/03  13:52:24
-        Log: Add to MANIFEST: README.threads, lib/ISA.pm, lib/Class/Fields.pm
+[  1771] By: gsar                                  on 1998/08/08  23:01:57
+        Log: fix bogus warning on "\x{123}"
+             From: pmarquess@claudius.bfsec.bt.co.uk (Paul Marquess)
+             Date: Mon, 27 Jul 1998 06:16:15 +0100 (BST)
+             Message-Id: <9807270534.AA11102@claudius.bfsec.bt.co.uk>
+             Subject: [5.005_50 PATCH] Some unicode problems
      Branch: perl
-           ! MANIFEST
+           ! regcomp.c toke.c
 ____________________________________________________________________________
-[    52] By: mbeattie                              on 1997/09/03  13:41:20
-        Log: Let Lint private_names catch out-of-package _foo methods.
-     Branch: perlext
-           ! Compiler/B/Lint.pm
+[  1770] By: gsar                                  on 1998/08/08  22:56:55
+        Log: hide dup symbol for static build of ext/re
+             From: Dominic Dunlop 
+             Date: Wed, 29 Jul 1998 11:09:56 +0100 (WET DST)
+             Message-Id: <199807291009.LAA08935@ppp72.vo.lu>
+             Subject: Not OK: perl 5.00550 on powerpc-machten 4.1 [BOGUS PATCH]
+     Branch: perl
+           ! regcomp.c
 ____________________________________________________________________________
-[    51] By: mbeattie                              on 1997/09/03  13:20:12
-        Log: Bump patchlevel.h to 5.004_50
+[  1769] By: gsar                                  on 1998/08/08  22:45:06
+        Log: fix double free on -Mutf8 -e '$b=uc("")'
+             From: larry@wall.org (Larry Wall)
+             Date: Fri, 7 Aug 1998 14:42:43 -0700
+             Message-Id: <199808072142.OAA14920@wall.org>
+             Subject: [PATCH 5.005_50]: uc("") and lc("") under utf8 fails
      Branch: perl
-           ! patchlevel.h
+           ! pp.c
 ____________________________________________________________________________
-[    50] By: mbeattie                              on 1997/09/03  12:31:48
-        Log: Make compiler build/work with devel 5.005
-     Branch: perlext
-	   ! Compiler/B.xs Compiler/B/Asmdata.pm Compiler/bytecode.h
-           ! Compiler/bytecode.pl Compiler/byterun.c Compiler/byterun.h
+[  1768] By: gsar                                  on 1998/08/08  22:42:29
+        Log: substr() assumes utf8 without say-so
+             From: larry@wall.org (Larry Wall)
+             Date: Fri, 7 Aug 1998 12:25:12 -0700
+             Message-Id: <199808071925.MAA13436@wall.org>
+             Subject: [PATCH 5.005_50] substr bug?
+     Branch: perl
+           ! pp.c
 ____________________________________________________________________________
-[    49] By: mbeattie                              on 1997/09/03  12:28:05
-        Log: Rename RESTART to INIT and associated changes
+[  1767] By: gsar                                  on 1998/08/08  22:38:25
+        Log: fix intolerance of SWASHes for blank lines
+             From: Gisle Aas 
+             Date: 06 Aug 1998 23:28:57 +0200
+             Message-ID: 
+             Subject: Re: Re[2]: another joyride begins
      Branch: perl
-	   ! interp.sym keywords.pl op.c perl.c perl.h perly.c perly.y
-           ! toke.c vms/perly_c.vms
+           ! lib/utf8_heavy.pl
 ____________________________________________________________________________
-[    48] By: mbeattie                              on 1997/09/02  15:54:27
-        Log: Added private-names option.
-     Branch: perlext
-           ! Compiler/B/Lint.pm
+[  1766] By: gsar                                  on 1998/08/08  22:33:10
+        Log: utf8 doc tweak
+             From: Gisle Aas 
+             Date: 05 Aug 1998 00:41:04 +0200
+             Message-ID: 
+             Subject: Matching clumps
+     Branch: perl
+           ! lib/utf8.pm
 ____________________________________________________________________________
-[    47] By: mbeattie                              on 1997/09/02  11:54:55
-        Log: For compiler's CC, make PP_EVAL, PP_ENTERTRY work with JMPENV.
-     Branch: perlext
-           ! Compiler/cc_runtime.h
+[  1765] By: gsar                                  on 1998/08/08  22:31:37
+        Log: kill bogus warning from -we 'use utf8; $_="\x{FF}"'
+             From: Gisle Aas 
+             Date: 04 Aug 1998 22:56:11 +0200
+             Message-ID: 
+             Subject: Re: another joyride begins
+     Branch: perl
+           ! lib/utf8_heavy.pl
 ____________________________________________________________________________
-[    46] By: mbeattie                              on 1997/08/28  19:40:08
-        Log: Missing sprintf in try_autoload.
-     Branch: perlext
-           ! Compiler/B/C.pm
+[  1764] By: gsar                                  on 1998/08/08  22:28:43
+        Log: From: larry@wall.org (Larry Wall)
+             Date: Tue, 4 Aug 1998 17:04:51 -0700
+             Message-Id: <199808050004.RAA22592@wall.org>
+             Subject: [PATCH 5.005_50] \pX not implemented!
+     Branch: perl
+           ! regcomp.c
 ____________________________________________________________________________
-[    45] By: mbeattie                              on 1997/08/13  16:15:25
-        Log: Threading fixups for Digital UNIX.
+[  1763] By: gsar                                  on 1998/08/08  22:27:15
+        Log: From: Stephen McCamant 
+             Date: Sun,  2 Aug 1998 16:33:18 -0500 (CDT)
+             Message-ID: <13764.55116.921952.837027@alias-2.pr.mcs.net>
+             Subject: [PATCH] Eliminate superfluous RV2p[AH]Vs in oops[AH]V()
      Branch: perl
-           ! README.threads malloc.c perl.h toke.c
+           ! op.c
 ____________________________________________________________________________
-[    44] By: mbeattie                              on 1997/08/11  15:46:29
-        Log: Assorted changes for multi-threading (now works rather more).
+[  1762] By: gsar                                  on 1998/08/08  22:26:09
+        Log: From: Jarkko Hietaniemi 
+             Date: Sun, 2 Aug 1998 22:05:28 +0300 (EET DST)
+             Message-Id: <199808021905.WAA10592@alpha.hut.fi>
+             Subject: [PATCH] 5.005_02-TRIAL1 or 5.004_05-MAINT_TRIAL_5: t/op/{pw,gr}ent.t
      Branch: perl
-           + README.threads
-	   ! gv.c mg.c op.c perl.c perl.h pp_ctl.c pp_hot.c sv.c thread.h
-           ! toke.c util.c
-     Branch: perlext
-	   ! Thread/Makefile.PL Thread/Thread.xs Thread/lock.t
-           ! Thread/unsync.t
-____________________________________________________________________________
-[    43] By: mbeattie                              on 1997/08/08  14:11:00
-        Log: Made Lint check subs (and -u packages).
-             Added support for dollar_underscore and implicit $_ in foreach.
-     Branch: perlext
-           ! Compiler/B/Lint.pm
-____________________________________________________________________________
-[    42] By: TimBunce                              on 1997/07/25  17:15:57
-        Log: Maintenance 5.004_01 changes
-     Branch: maint-5.004/perl
-	   + Porting/makerel Porting/patchls hints/newsos4.sh
-	   + lib/File/DosGlob.pm lib/chat2.pl perlio.sym win32/config.bc
-	   + win32/config.vc win32/config_H.bc win32/config_H.vc
-           + win32/makefile.mk
-           - win32/config.H win32/config.w32
-	   ! Changes Configure EXTERN.h INSTALL MANIFEST Makefile.SH
-	   ! Porting/pumpkin.pod README README.win32 doio.c embed.h
-	   ! ext/DynaLoader/dl_aix.xs ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs
-	   ! ext/SDBM_File/Makefile.PL ext/SDBM_File/sdbm/Makefile.PL
-	   ! global.sym hints/next_3.sh hints/next_4.sh hints/svr4.sh
-	   ! installhtml installman lib/AutoLoader.pm lib/AutoSplit.pm
-	   ! lib/CGI/Push.pm lib/CPAN.pm lib/ExtUtils/Install.pm
-	   ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm
-	   ! lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MM_Win32.pm
-	   ! lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm
-	   ! lib/ExtUtils/xsubpp lib/Pod/Html.pm lib/Pod/Text.pm
-	   ! lib/Sys/Syslog.pm lib/Term/ReadLine.pm lib/Test/Harness.pm
-	   ! lib/ftp.pl mg.c op.c patchlevel.h perl.c perl.h perl_exp.SH
-	   ! perlio.c pod/checkpods.PL pod/perlbook.pod pod/perldata.pod
-	   ! pod/perldebug.pod pod/perldelta.pod pod/perldiag.pod
-	   ! pod/perlembed.pod pod/perlfaq4.pod pod/perlfaq8.pod
-	   ! pod/perlfaq9.pod pod/perlfunc.pod pod/perlguts.pod
-	   ! pod/perllol.pod pod/perlop.pod pod/perlrun.pod pod/perlsub.pod
-	   ! pod/perltoc.pod pod/perltoot.pod pod/pod2man.PL pod/roffitall
-	   ! pod/splitpod pp.c pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c
-	   ! regcomp.h regexec.c sv.c t/lib/safe2.t t/op/flip.t
-	   ! t/op/groups.t t/op/magic.t t/op/mkdir.t t/op/re_tests
-	   ! t/op/regexp.t t/op/split.t t/op/stat.t t/op/subst.t
-	   ! t/op/taint.t util.c utils/Makefile utils/h2xs.PL
-	   ! utils/perlbug.PL vms/ext/DCLsym/DCLsym.pm
-	   ! vms/ext/Stdio/Stdio.pm vms/gen_shrfls.pl vms/perlvms.pod
-	   ! win32/Makefile win32/config_sh.PL win32/include/sys/socket.h
-	   ! win32/makedef.pl win32/makeperldef.pl win32/perlglob.c
-	   ! win32/perllib.c win32/win32.c win32/win32.h win32/win32io.c
-           ! win32/win32io.h win32/win32iop.h win32/win32sck.c
-____________________________________________________________________________
-[    41] By: mbeattie                              on 1997/07/24  14:57:53
-        Log: Start support for fake threads.
-             pp_lock now returns its argument.
-     Branch: perl
-	   ! MANIFEST Makefile.SH cv.h op.c opcode.h opcode.pl perl.c
-	   ! perl.h pp.c pp_ctl.c pp_hot.c proto.h sv.h thread.h toke.c
-           ! util.c
-     Branch: perlext
-           ! Thread/Thread.xs
+           + t/op/grent.t t/op/pwent.t
+           ! MANIFEST
 ____________________________________________________________________________
-[    40] By: mbeattie                              on 1997/07/24  14:55:07
-        Log: Add missing reset of eval_owner if doeval() fails to parse.
+[  1761] By: gsar                                  on 1998/08/08  22:21:52
+        Log: From: Ilya Zakharevich 
+             Date: Thu, 30 Jul 1998 19:23:56 -0400 (EDT)
+             Message-Id: <199807302323.TAA21175@monk.mps.ohio-state.edu>
+             Subject: [5.005_50 PATCH] misprint in RE engine
      Branch: perl
-           ! pp_ctl.c
+           ! regexec.c t/op/re_tests
 ____________________________________________________________________________
-[    39] By: mbeattie                              on 1997/07/17  13:35:51
-        Log: Fix multiple problems with lexical @_.
+[  1760] By: gsar                                  on 1998/08/08  22:18:54
+        Log: integrate maint-5.005 changes into mainline
      Branch: perl
-	   ! cop.h op.c perl.c pp.c pp_ctl.c pp_hot.c t/op/do.t thread.h
-           ! toke.c
+          +> Porting/fixCORE README.os390 ebcdic.c win32/des_fcrypt.patch
+          !> (integrate 138 files)
 ____________________________________________________________________________
-[    38] By: mbeattie                              on 1997/07/16  17:02:09
-        Log: Change %lx to %x in B::CV::save to prevent some CV
-             fields becoming 0 in the init section. Add missing
-             write_back in B::Stackobj::Padsv::load_double to fix
-             test 22 of op/my.t.
-     Branch: perlext
-           ! Compiler/B/C.pm Compiler/B/Stackobj.pm
-____________________________________________________________________________
-[    37] By: mbeattie                              on 1997/07/10  11:28:16
-        Log: Branch win32 developments from main perl branch.
-     Branch: win32/perl
-          +> (branch 867 files)
-____________________________________________________________________________
-[    36] By: mbeattie                              on 1997/07/05  11:58:05
-        Log: B::CC::pp_padsv must cope with vivify_ref (5.004)
-             as well as provide_ref (5.003).
-     Branch: perlext
-           ! Compiler/B/C.pm Compiler/B/CC.pm Compiler/NOTES
-____________________________________________________________________________
-[    35] By: mbeattie                              on 1997/07/05  11:55:18
-        Log: Introduce pp_lock.
-     Branch: perl
-	   ! embed.h global.sym keywords.h keywords.pl opcode.h opcode.pl
-           ! pp.c pp_ctl.c toke.c
-____________________________________________________________________________
-[    34] By: mbeattie                              on 1997/07/01  12:24:28
-        Log: Support for op in global register (still buggy)
-     Branch: perl
-	   ! embed.h global.sym gv.c op.c perl.c perl.h pp_ctl.c pp_sys.c
-           ! proto.h scope.c scope.h thread.h
-____________________________________________________________________________
-[    33] By: mbeattie                              on 1997/06/24  16:34:24
-        Log: Branch lexical warnings from perl branch.
-     Branch: lexwarn/perl
-          +> (branch 867 files)
-____________________________________________________________________________
-[    32] By: mbeattie                              on 1997/06/24  14:33:57
-        Log: Branch integration of maint-5.004 from relperl.
-     Branch: mainline/perl
-          +> (branch 600 files)
-     Branch: maint-5.004/perl
-          +> (branch 864 files)
+[  1672] By: gsar                                  on 1998/07/27  18:35:28
+        Log: create new Changes
+     Branch: perl
+           + Changes
+           ! Changes5.005 MANIFEST
 ____________________________________________________________________________
-[    31] By: mbeattie                              on 1997/06/20  11:46:50
-        Log: corrected bad_type() prototype. 
+[  1671] By: gsar                                  on 1998/07/27  18:30:57
+        Log: rename Changes --> Changes5.005
      Branch: perl
-           ! op.c
+          +> Changes5.005
+           - Changes
 ____________________________________________________________________________
-[    30] By: mbeattie                              on 1997/06/12  12:38:05
-        Log: Tweak README.
-     Branch: perlext
-           ! Thread/README
+[  1670] By: gsar                                  on 1998/07/27  18:10:14
+        Log: integrate 5.005_01 changes from maint
+     Branch: perl
+           ! Changes
+	  !> README.win32 pod/perldelta.pod proto.h toke.c win32/GenCAPI.pl
+          !> win32/win32.c
 ____________________________________________________________________________
-[    29] By: mbeattie                              on 1997/06/12  12:34:59
-        Log: Document -m option of CC backend.
-     Branch: perlext
-           ! Compiler/NOTES
+[  1667] By: nick                                  on 1998/07/26  14:31:01
+        Log: Add dTHR so that it compiles miniperl in threaded mode
+     Branch: perl
+           ! doop.c mg.c regcomp.c regexec.c
 ____________________________________________________________________________
-[    28] By: mbeattie                              on 1997/06/12  12:25:05
-        Log: Support sysseek introduced in 5.004.
-     Branch: perlext
-           ! Compiler/ccop.c Compiler/ccop.h
+[  1666] By: nick                                  on 1998/07/26  13:01:10
+        Log: Resolve ansiperl against mainline (@1648?)
+             Unclear that change number has "taken".
+     Branch: ansiperl
+          +> (branch 169 files)
+           - ObjXSub.h XSLock.h compat3.sym fixvars pod/perld4.pod
+          !> (integrate 131 files)
+
+----------------
+Version 5.005_50
+----------------
+
 ____________________________________________________________________________
-[    27] By: mbeattie                              on 1997/06/05  14:20:51
-        Log: More fixups for thrperl integration.
+[  1665] By: gsar                                  on 1998/07/26  05:38:48
+        Log: add trailing newline to file
      Branch: perl
-	   ! ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
-	   ! ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm
-	   ! ext/Opcode/Opcode.xs gv.c hv.c mg.c op.c perl.c perly.c
-	   ! perly.y pp.c pp_ctl.c run.c scope.c sv.c sv.h thread.h toke.c
-           ! util.c
+           ! Changes lib/unicode/blocks.txt
 ____________________________________________________________________________
-[    25] By: mbeattie                              on 1997/05/28  15:11:24
-        Log: Fixups for thrperl integration.
+[  1664] By: gsar                                  on 1998/07/26  05:08:48
+        Log: integrate proto.h additions from maint-5.005
      Branch: perl
-           ! embed.h keywords.h op.c opcode.h perl.c util.c
+          !> pod/perlhist.pod proto.h
 ____________________________________________________________________________
-[    24] By: mbeattie                              on 1997/05/26  20:10:42
-        Log: Integrate thrperl 5.003->5.004.
+[  1663] By: gsar                                  on 1998/07/26  05:07:05
+        Log: add new files to MANIFEST; add missing prototypes to proto.h;
+             s/PL_utf8skip/utf8skip/ for now, or we end up with Perl_PL_;
+             add typecasts to silence warnings; tweaks for win32 builds
      Branch: perl
-          +> thread.h
-          !> (integrate 33 files)
-____________________________________________________________________________
-[    23] By: mbeattie                              on 1997/05/26  11:45:39
-        Log: Fix ppname when saving subs.
-     Branch: perlext
-           ! Compiler/B/C.pm
+	   ! MANIFEST embed.h global.sym proto.h regexec.c toke.c utf8.h
+           ! win32/Makefile win32/makefile.mk
 ____________________________________________________________________________
-[    22] By: mbeattie                              on 1997/05/26  11:45:03
-        Log: -mFoo option now forces -uFoo.
-     Branch: perlext
-           ! Compiler/B/CC.pm
+[  1662] By: gsar                                  on 1998/07/26  05:01:52
+        Log: add missing sv_*_mg() prototypes in proto.h, update perlhist.pod
+     Branch: maint-5.005/perl
+           ! pod/perlhist.pod proto.h
 ____________________________________________________________________________
-[    21] By: mbeattie                              on 1997/05/26  11:43:37
-        Log: Put back objsym/savesym (used by walkoptree_exec).
-     Branch: perlext
-           ! Compiler/B.pm
+[  1661] By: gsar                                  on 1998/07/26  02:52:48
+        Log: up patchlevel to 5.005_50
+     Branch: perl
+	   ! Changes patchlevel.h win32/Makefile win32/config_H.bc
+           ! win32/config_H.gc win32/config_H.vc win32/makefile.mk
 ____________________________________________________________________________
-[    20] By: mbeattie                              on 1997/05/26  11:38:45
-        Log: Add avhv_store_ent. Add missing avhv_* to global.sym.
+[  1660] By: gsar                                  on 1998/07/26  02:43:57
+        Log: integrate utfperl
      Branch: perl
-           ! av.c global.sym
+          +> (branch 162 files)
+          !> (integrate 29 files)
 ____________________________________________________________________________
-[    19] By: mbeattie                              on 1997/05/25  21:19:38
-        Log: Fix up integration 5.003->5.004.
+[  1659] By: gsar                                  on 1998/07/26  02:38:22
+        Log: integrate maint-5.005 changes
      Branch: perl
-           + lib/Class/Fields.pm lib/ISA.pm
-	   ! av.c ext/DB_File/DB_File.xs perl.c pp.c pp_hot.c proto.h
-           ! toke.c
+	  !> Changes README.vms djgpp/fixpmain emacs/ptags hints/beos.sh
+	  !> lib/Math/BigInt.pm pod/perldelta.pod pod/perlmodinstall.pod
+	  !> pod/perltoc.pod pp_sys.c t/lib/bigintpm.t
+          !> vms/descrip_mms.template vms/subconfigure.com
 ____________________________________________________________________________
-[    18] By: mbeattie                              on 1997/05/25  10:31:21
-        Log: First stab at 5.003 -> 5.004 integration.
-     Branch: perl
-          +> (branch 291 files)
-	   - Changes.Conf ext/DynaLoader/dl_os2.xs
-	   - ext/FileHandle/FileHandle.pm ext/FileHandle/FileHandle.xs
-	   - ext/FileHandle/Makefile.PL ext/SDBM_File/sdbm/readme.ps
-	   - ext/Safe/Makefile.PL ext/Safe/Safe.pm ext/Safe/Safe.xs
-	   - hints/aux.sh hints/dnix.sh hints/irix_6_2.sh lib/chat2.inter
-	   - lib/chat2.pl lib/splain os2/README os2/README.old
-	   - os2/diff.db_file os2/notes pod/perlovl.pod t/lib/safe.t
-	   - t/op/overload.t t/re_tests vms/Makefile x2p/a2p.man
-           - x2p/handy.h x2p/s2p.man
-          !> (integrate 392 files)
-____________________________________________________________________________
-[    17] By: mbeattie                              on 1997/05/24  18:46:49
-        Log: Wholesale update to 5.004.
-     Branch: relperl
-	   + Changes5.000 Changes5.001 Changes5.002 Changes5.003
-	   + Porting/Glossary Porting/pumpkin.pod README.amiga
-	   + README.cygwin32 README.os2 README.plan9 README.qnx
-	   + README.win32 compat3.sym configure.gnu cygwin32/cw32imp.h
-	   + cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc cygwin32/perlld
-	   + eg/cgi/RunMeFirst eg/cgi/clickable_image.cgi eg/cgi/cookie.cgi
-	   + eg/cgi/crash.cgi eg/cgi/customize.cgi eg/cgi/diff_upload.cgi
-	   + eg/cgi/file_upload.cgi eg/cgi/frameset.cgi eg/cgi/index.html
-	   + eg/cgi/internal_links.cgi eg/cgi/javascript.cgi
-	   + eg/cgi/monty.cgi eg/cgi/multiple_forms.cgi
-	   + eg/cgi/nph-clock.cgi eg/cgi/popup.cgi eg/cgi/save_state.cgi
-	   + eg/cgi/tryit.cgi eg/cgi/wilogo.gif.uu
-	   + ext/DynaLoader/dl_cygwin32.xs ext/IO/IO.pm ext/IO/IO.xs
-	   + ext/IO/Makefile.PL ext/IO/README ext/IO/lib/IO/File.pm
-	   + ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Pipe.pm
-	   + ext/IO/lib/IO/Seekable.pm ext/IO/lib/IO/Select.pm
-	   + ext/IO/lib/IO/Socket.pm ext/NDBM_File/hints/dec_osf.pl
-	   + ext/NDBM_File/hints/dynixptx.pl ext/ODBM_File/hints/hpux.pl
-	   + ext/ODBM_File/hints/ultrix.pl ext/Opcode/Makefile.PL
-	   + ext/Opcode/Opcode.pm ext/Opcode/Opcode.xs ext/Opcode/Safe.pm
-	   + ext/Opcode/ops.pm ext/POSIX/hints/next_3.pl hints/amigaos.sh
-	   + hints/aux_3.sh hints/broken-db.msg hints/cygwin32.sh
-	   + hints/dcosx.sh hints/irix_6_0.sh hints/irix_6_1.sh
-	   + hints/lynxos.sh hints/next_4.sh hints/qnx.sh hints/umips.sh
-	   + hints/unicosmk.sh installhtml lib/Bundle/CPAN.pm lib/CGI.pm
-	   + lib/CGI/Apache.pm lib/CGI/Carp.pm lib/CGI/Fast.pm
-	   + lib/CGI/Push.pm lib/CGI/Switch.pm lib/CPAN.pm
-	   + lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm lib/Class/Struct.pm
-	   + lib/ExtUtils/Command.pm lib/ExtUtils/Embed.pm
-	   + lib/ExtUtils/MM_Win32.pm lib/File/Compare.pm lib/File/stat.pm
-	   + lib/FileHandle.pm lib/FindBin.pm lib/Math/Trig.pm
-	   + lib/Net/hostent.pm lib/Net/netent.pm lib/Net/protoent.pm
-	   + lib/Net/servent.pm lib/Pod/Html.pm lib/Tie/RefHash.pm
-	   + lib/Time/gmtime.pm lib/Time/localtime.pm lib/Time/tm.pm
-	   + lib/UNIVERSAL.pm lib/User/grent.pm lib/User/pwent.pm
-	   + lib/autouse.pm lib/blib.pm lib/constant.pm lib/locale.pm
-	   + nostdio.h os2/Changes os2/OS2/ExtAttr/Changes
-	   + os2/OS2/ExtAttr/ExtAttr.pm os2/OS2/ExtAttr/ExtAttr.xs
-	   + os2/OS2/ExtAttr/MANIFEST os2/OS2/ExtAttr/Makefile.PL
-	   + os2/OS2/ExtAttr/myea.h os2/OS2/ExtAttr/t/os2_ea.t
-	   + os2/OS2/ExtAttr/typemap os2/OS2/PrfDB/Changes
-	   + os2/OS2/PrfDB/MANIFEST os2/OS2/PrfDB/Makefile.PL
-	   + os2/OS2/PrfDB/PrfDB.pm os2/OS2/PrfDB/PrfDB.xs
-	   + os2/OS2/PrfDB/t/os2_prfdb.t os2/OS2/PrfDB/typemap
-	   + os2/OS2/Process/MANIFEST os2/OS2/Process/Makefile.PL
-	   + os2/OS2/Process/Process.pm os2/OS2/Process/Process.xs
-	   + os2/OS2/REXX/Changes os2/OS2/REXX/MANIFEST
-	   + os2/OS2/REXX/Makefile.PL os2/OS2/REXX/REXX.pm
-	   + os2/OS2/REXX/REXX.xs os2/OS2/REXX/t/rx_cmprt.t
-	   + os2/OS2/REXX/t/rx_dllld.t os2/OS2/REXX/t/rx_objcall.t
-	   + os2/OS2/REXX/t/rx_sql.test os2/OS2/REXX/t/rx_tiesql.test
-	   + os2/OS2/REXX/t/rx_tievar.t os2/OS2/REXX/t/rx_tieydb.t
-	   + os2/OS2/REXX/t/rx_varset.t os2/OS2/REXX/t/rx_vrexx.t
-	   + os2/dl_os2.c os2/dlfcn.h perlio.c perlio.h perlsdio.h
-	   + perlsfio.h plan9/aperl plan9/arpa/inet.h plan9/buildinfo
-	   + plan9/config.plan9 plan9/exclude plan9/fndvers
-	   + plan9/genconfig.pl plan9/mkfile plan9/myconfig.plan9
-	   + plan9/perlplan9.doc plan9/perlplan9.pod plan9/plan9.c
-	   + plan9/plan9ish.h plan9/setup.rc plan9/versnum pod/checkpods.PL
-	   + pod/perlapio.pod pod/perldelta.pod pod/perlfaq.pod
-	   + pod/perlfaq1.pod pod/perlfaq2.pod pod/perlfaq3.pod
-	   + pod/perlfaq4.pod pod/perlfaq5.pod pod/perlfaq6.pod
-	   + pod/perlfaq7.pod pod/perlfaq8.pod pod/perlfaq9.pod
-	   + pod/perllocale.pod pod/perlmodlib.pod pod/perltoot.pod
-	   + pod/rofftoc qnx/ar qnx/cpp t/comp/colon.t t/comp/proto.t
-	   + t/comp/redef.t t/comp/use.t t/io/read.t t/lib/abbrev.t
-	   + t/lib/autoloader.t t/lib/basename.t t/lib/checktree.t
-	   + t/lib/complex.t t/lib/env.t t/lib/filecache.t t/lib/filecopy.t
-	   + t/lib/filefind.t t/lib/filepath.t t/lib/findbin.t
-	   + t/lib/getopt.t t/lib/hostname.t t/lib/io_dup.t t/lib/io_pipe.t
-	   + t/lib/io_sel.t t/lib/io_sock.t t/lib/io_taint.t
-	   + t/lib/io_tell.t t/lib/io_udp.t t/lib/io_xs.t t/lib/opcode.t
-	   + t/lib/open2.t t/lib/open3.t t/lib/ops.t t/lib/parsewords.t
-	   + t/lib/safe1.t t/lib/safe2.t t/lib/searchdict.t
-	   + t/lib/selectsaver.t t/lib/symbol.t t/lib/texttabs.t
-	   + t/lib/textwrap.t t/lib/timelocal.t t/lib/trig.t t/op/arith.t
-	   + t/op/assignwarn.t t/op/bop.t t/op/closure.t t/op/cmp.t
-	   + t/op/gv.t t/op/inc.t t/op/method.t t/op/recurse.t
-	   + t/op/runlevel.t t/op/sysio.t t/op/taint.t t/op/tie.t
-	   + t/op/universal.t t/pragma/constant.t t/pragma/locale.t
-	   + t/pragma/overload.t t/pragma/strict-refs t/pragma/strict-subs
-	   + t/pragma/strict-vars t/pragma/strict.t t/pragma/subs.t
-	   + t/pragma/warn-1global t/pragma/warning.t universal.c
-	   + utils/splain.PL vms/ext/DCLsym/0README.txt
-	   + vms/ext/DCLsym/DCLsym.pm vms/ext/DCLsym/DCLsym.xs
-	   + vms/ext/DCLsym/Makefile.PL vms/ext/DCLsym/test.pl
-	   + vms/ext/XSSymSet.pm vms/ext/filespec.t vms/ext/vmsish.pm
-	   + vms/ext/vmsish.t win32/Makefile win32/TEST win32/autosplit.pl
-	   + win32/bin/network.pl win32/bin/pl2bat.bat win32/bin/search.bat
-	   + win32/bin/test.bat win32/bin/webget.bat win32/bin/www.pl
-	   + win32/config.H win32/config.w32 win32/config_h.PL
-	   + win32/config_sh.PL win32/dl_win32.xs win32/genxsdef.pl
-	   + win32/include/arpa/inet.h win32/include/dirent.h
-	   + win32/include/netdb.h win32/include/sys/socket.h
-	   + win32/makedef.pl win32/makemain.pl win32/makeperldef.pl
-	   + win32/perlglob.c win32/perllib.c win32/pod.mak win32/runperl.c
-	   + win32/splittree.pl win32/win32.c win32/win32.h win32/win32io.c
-	   + win32/win32io.h win32/win32iop.h win32/win32sck.c x2p/a2p.pod
-           + x2p/proto.h
-	   - Changes.Conf ext/DynaLoader/dl_os2.xs
-	   - ext/FileHandle/FileHandle.pm ext/FileHandle/FileHandle.xs
-	   - ext/FileHandle/Makefile.PL ext/SDBM_File/sdbm/readme.ps
-	   - ext/Safe/Makefile.PL ext/Safe/Safe.pm ext/Safe/Safe.xs
-	   - hints/aux.sh hints/dnix.sh hints/irix_6_2.sh lib/chat2.inter
-	   - lib/chat2.pl lib/splain os2/README os2/README.old
-	   - os2/diff.db_file os2/notes pod/perlovl.pod t/lib/safe.t
-	   - t/op/overload.t t/re_tests vms/Makefile x2p/a2p.man
-           - x2p/handy.h x2p/s2p.man
-	   ! Artistic Changes Configure EXTERN.h INSTALL INTERN.h MANIFEST
-	   ! Makefile.SH README README.vms Todo XSUB.h av.c av.h cflags.SH
-	   ! config_H config_h.SH configpm configure cop.h cv.h deb.c
-	   ! doio.c doop.c dosish.h dump.c eg/README eg/nih
-	   ! eg/sysvipc/ipcmsg eg/sysvipc/ipcsem eg/sysvipc/ipcshm
-	   ! emacs/cperl-mode.el embed.h embed.pl ext/DB_File/DB_File.pm
-	   ! ext/DB_File/DB_File.xs ext/DB_File/Makefile.PL
-	   ! ext/DB_File/typemap ext/DynaLoader/DynaLoader.pm
-	   ! ext/DynaLoader/Makefile.PL ext/DynaLoader/dl_aix.xs
-	   ! ext/DynaLoader/dl_dld.xs ext/DynaLoader/dl_dlopen.xs
-	   ! ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs
-	   ! ext/DynaLoader/dl_vms.xs ext/DynaLoader/dlutils.c
-	   ! ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs
-	   ! ext/GDBM_File/GDBM_File.pm ext/NDBM_File/NDBM_File.pm
-	   ! ext/ODBM_File/ODBM_File.pm ext/ODBM_File/ODBM_File.xs
-	   ! ext/ODBM_File/hints/dec_osf.pl ext/POSIX/POSIX.pm
-	   ! ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs
-	   ! ext/SDBM_File/Makefile.PL ext/SDBM_File/SDBM_File.pm
-	   ! ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/pair.c
-	   ! ext/SDBM_File/sdbm/pair.h ext/SDBM_File/sdbm/sdbm.3
-	   ! ext/SDBM_File/sdbm/sdbm.c ext/SDBM_File/sdbm/sdbm.h
-	   ! ext/Socket/Socket.pm ext/Socket/Socket.xs ext/util/make_ext
-	   ! form.h global.sym gv.c gv.h handy.h hints/3b1.sh
-	   ! hints/README.hints hints/aix.sh hints/apollo.sh hints/bsdos.sh
-	   ! hints/convexos.sh hints/cxux.sh hints/dec_osf.sh hints/dgux.sh
-	   ! hints/dynixptx.sh hints/epix.sh hints/esix4.sh
-	   ! hints/freebsd.sh hints/hpux.sh hints/irix_4.sh hints/irix_5.sh
-	   ! hints/irix_6.sh hints/isc.sh hints/linux.sh hints/machten.sh
-	   ! hints/machten_2.sh hints/mips.sh hints/mpeix.sh
-	   ! hints/netbsd.sh hints/next_3.sh hints/next_3_0.sh hints/os2.sh
-	   ! hints/powerux.sh hints/sco.sh hints/sco_2_3_3.sh
-	   ! hints/sco_2_3_4.sh hints/solaris_2.sh hints/sunos_4_0.sh
-	   ! hints/sunos_4_1.sh hints/svr4.sh hints/titanos.sh
-	   ! hints/ultrix_4.sh hints/unicos.sh hints/utekv.sh hv.c hv.h
-	   ! installman installperl interp.sym keywords.h keywords.pl
-	   ! lib/AnyDBM_File.pm lib/AutoLoader.pm lib/AutoSplit.pm
-	   ! lib/Benchmark.pm lib/Carp.pm lib/Cwd.pm
-	   ! lib/Devel/SelfStubber.pm lib/English.pm lib/Env.pm
-	   ! lib/Exporter.pm lib/ExtUtils/Install.pm
-	   ! lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_OS2.pm
-	   ! lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm
-	   ! lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Manifest.pm
-	   ! lib/ExtUtils/Mkbootstrap.pm lib/ExtUtils/Mksymlists.pm
-	   ! lib/ExtUtils/testlib.pm lib/ExtUtils/typemap
-	   ! lib/ExtUtils/xsubpp lib/File/Basename.pm lib/File/Copy.pm
-	   ! lib/File/Find.pm lib/File/Path.pm lib/FileCache.pm
-	   ! lib/Getopt/Long.pm lib/Getopt/Std.pm lib/I18N/Collate.pm
-	   ! lib/IPC/Open2.pm lib/IPC/Open3.pm lib/Math/BigInt.pm
-	   ! lib/Math/Complex.pm lib/Net/Ping.pm lib/Pod/Functions.pm
-	   ! lib/Pod/Text.pm lib/Search/Dict.pm lib/SelectSaver.pm
-	   ! lib/SelfLoader.pm lib/Symbol.pm lib/Sys/Hostname.pm
-	   ! lib/Sys/Syslog.pm lib/Term/Cap.pm lib/Term/Complete.pm
-	   ! lib/Term/ReadLine.pm lib/Test/Harness.pm lib/Text/Abbrev.pm
-	   ! lib/Text/ParseWords.pm lib/Text/Soundex.pm lib/Text/Tabs.pm
-	   ! lib/Text/Wrap.pm lib/Tie/Hash.pm lib/Tie/Scalar.pm
-	   ! lib/Tie/SubstrHash.pm lib/Time/Local.pm lib/abbrev.pl
-	   ! lib/bigfloat.pl lib/bigint.pl lib/cacheout.pl lib/complete.pl
-	   ! lib/diagnostics.pm lib/dotsh.pl lib/dumpvar.pl lib/find.pl
-	   ! lib/finddepth.pl lib/ftp.pl lib/getcwd.pl lib/getopts.pl
-	   ! lib/importenv.pl lib/lib.pm lib/look.pl lib/newgetopt.pl
-	   ! lib/open2.pl lib/open3.pl lib/overload.pm lib/perl5db.pl
-	   ! lib/sigtrap.pm lib/strict.pm lib/subs.pm lib/syslog.pl
-	   ! lib/termcap.pl lib/timelocal.pl lib/validate.pl lib/vars.pm
-	   ! makeaperl.SH makedepend.SH malloc.c mg.c mg.h minimod.pl
-	   ! miniperlmain.c myconfig op.c op.h opcode.h opcode.pl
-	   ! os2/Makefile.SHs os2/diff.configure os2/os2.c os2/os2ish.h
-	   ! os2/perl2cmd.pl patchlevel.h perl.c perl.h perl_exp.SH perlsh
-	   ! perly.c perly.c.diff perly.h perly.y pod/Makefile pod/buildtoc
-	   ! pod/perl.pod pod/perlbook.pod pod/perlbot.pod pod/perlcall.pod
-	   ! pod/perldata.pod pod/perldebug.pod pod/perldiag.pod
-	   ! pod/perldsc.pod pod/perlembed.pod pod/perlform.pod
-	   ! pod/perlfunc.pod pod/perlguts.pod pod/perlipc.pod
-	   ! pod/perllol.pod pod/perlmod.pod pod/perlobj.pod pod/perlop.pod
-	   ! pod/perlpod.pod pod/perlre.pod pod/perlref.pod pod/perlrun.pod
-	   ! pod/perlsec.pod pod/perlstyle.pod pod/perlsub.pod
-	   ! pod/perlsyn.pod pod/perltie.pod pod/perltoc.pod
-	   ! pod/perltrap.pod pod/perlvar.pod pod/perlxs.pod
-	   ! pod/perlxstut.pod pod/pod2html.PL pod/pod2latex.PL
-	   ! pod/pod2man.PL pod/pod2text.PL pod/roffitall pp.c pp.h
-	   ! pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c regcomp.h
-	   ! regexec.c regexp.h run.c scope.c scope.h sv.c sv.h t/README
-	   ! t/TEST t/base/lex.t t/base/term.t t/cmd/mod.t t/cmd/while.t
-	   ! t/comp/cpp.t t/comp/multiline.t t/comp/package.t
-	   ! t/comp/script.t t/harness t/io/argv.t t/io/dup.t t/io/fs.t
-	   ! t/io/inplace.t t/io/pipe.t t/io/tell.t t/lib/anydbm.t
-	   ! t/lib/bigintpm.t t/lib/db-btree.t t/lib/db-hash.t
-	   ! t/lib/db-recno.t t/lib/dirhand.t t/lib/filehand.t t/lib/gdbm.t
-	   ! t/lib/ndbm.t t/lib/odbm.t t/lib/posix.t t/lib/sdbm.t
-	   ! t/lib/socket.t t/op/chop.t t/op/delete.t t/op/each.t
-	   ! t/op/exec.t t/op/fork.t t/op/glob.t t/op/goto.t t/op/groups.t
-	   ! t/op/magic.t t/op/misc.t t/op/mkdir.t t/op/my.t t/op/oct.t
-	   ! t/op/pack.t t/op/pat.t t/op/quotemeta.t t/op/rand.t
-	   ! t/op/re_tests t/op/readdir.t t/op/ref.t t/op/regexp.t
-	   ! t/op/sleep.t t/op/sort.t t/op/split.t t/op/stat.t t/op/subst.t
-	   ! t/op/substr.t t/op/write.t taint.c toke.c unixish.h util.c
-	   ! util.h utils/Makefile utils/c2ph.PL utils/h2ph.PL
-	   ! utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL
-	   ! vms/config.vms vms/descrip.mms vms/ext/Filespec.pm
-	   ! vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs
-	   ! vms/ext/Stdio/test.pl vms/fndvers.com vms/gen_shrfls.pl
-	   ! vms/genconfig.pl vms/genopt.com vms/myconfig.com
-	   ! vms/perlvms.pod vms/perly_c.vms vms/perly_h.vms
-	   ! vms/sockadapt.c vms/sockadapt.h vms/test.com vms/vms.c
-	   ! vms/vms_yfix.pl vms/vmsish.h vms/writemain.pl writemain.SH
-	   ! x2p/EXTERN.h x2p/INTERN.h x2p/Makefile.SH x2p/a2p.c x2p/a2p.h
-	   ! x2p/a2p.y x2p/a2py.c x2p/cflags.SH x2p/find2perl.PL x2p/hash.c
-	   ! x2p/hash.h x2p/s2p.PL x2p/str.c x2p/str.h x2p/util.c
-           ! x2p/util.h x2p/walk.c
-____________________________________________________________________________
-[    16] By: mbeattie                              on 1997/05/23  22:42:08
-        Log: Initial integration of relperl from 5.003.
-     Branch: relperl
-          +> (branch 600 files)
-____________________________________________________________________________
-[    14] By: mbeattie                              on 1997/05/12  20:22:56
-        Log: Finish code generation rewrite. Clean up B::Section class and
-             handle symbol table translation internally. Simple .pm modules
-             now compile OK.
-     Branch: perlext
-	   ! Compiler/B.pm Compiler/B/Bblock.pm Compiler/B/C.pm
-           ! Compiler/B/CC.pm
-____________________________________________________________________________
-[    13] By: mbeattie                              on 1997/05/05  19:41:18
-        Log: Don't make pp_enter and pp_return trigger basic blocks.
-     Branch: perlext
-           ! Compiler/B/Bblock.pm
-____________________________________________________________________________
-[    12] By: mbeattie                              on 1997/05/05  19:40:16
-        Log: Rewrite code generation. Sections (de)multiplexed into a
-             temporary file instead of stored in arrays.
-     Branch: perlext
-           ! Compiler/B.pm Compiler/B/C.pm Compiler/B/CC.pm
-____________________________________________________________________________
-[    11] By: mbeattie                              on 1997/05/03  20:20:59
-        Log: Development to pre-alpha4
-     Branch: perlext
-	   + Compiler/B/Deparse.pm Compiler/B/Lint.pm Compiler/makeliblinks
-	   ! Compiler/B.pm Compiler/B.xs Compiler/B/Bblock.pm
-	   ! Compiler/B/Bytecode.pm Compiler/B/C.pm Compiler/B/CC.pm
-	   ! Compiler/B/Debug.pm Compiler/B/Terse.pm Compiler/B/Xref.pm
-	   ! Compiler/Makefile.PL Compiler/README Compiler/TESTS
-	   ! Compiler/assemble Compiler/bytecode.pl Compiler/byteperl.c
-	   ! Compiler/byterun.c Compiler/cc_runtime.h Compiler/disassemble
-           ! Compiler/test_harness Compiler/test_harness_cc
-____________________________________________________________________________
-[    10] By: mbeattie                              on 1997/05/03  14:47:06
-        Log: Initial check-in of perl compiler.
-     Branch: perlext
-	   + Compiler/Artistic Compiler/B.pm Compiler/B.xs
-	   + Compiler/B/Asmdata.pm Compiler/B/Assembler.pm
-	   + Compiler/B/Bblock.pm Compiler/B/Bytecode.pm Compiler/B/C.pm
-	   + Compiler/B/CC.pm Compiler/B/Debug.pm
-	   + Compiler/B/Disassembler.pm Compiler/B/Showlex.pm
-	   + Compiler/B/Stackobj.pm Compiler/B/Terse.pm Compiler/B/Xref.pm
-	   + Compiler/Copying Compiler/Makefile.PL Compiler/NOTES
-	   + Compiler/O.pm Compiler/README Compiler/TESTS
-	   + Compiler/TESTS.alpha2 Compiler/Todo Compiler/assemble
-	   + Compiler/bytecode.h Compiler/bytecode.pl Compiler/byteperl.c
-	   + Compiler/byterun.c Compiler/byterun.h Compiler/cc_harness
-	   + Compiler/cc_runtime.h Compiler/ccop.c Compiler/ccop.h
-	   + Compiler/disassemble Compiler/old/README.feb11
-	   + Compiler/old/TESTS.mar11 Compiler/old/TESTS.mar20
-	   + Compiler/old/TESTS.may11 Compiler/old/TESTS.pre-jul27
-	   + Compiler/op.patch Compiler/ramblings/cc.notes
-	   + Compiler/ramblings/curcop.runtime
-	   + Compiler/ramblings/dontparse.c Compiler/ramblings/flip-flop
-	   + Compiler/ramblings/foo.bench Compiler/ramblings/foo2.bench
-	   + Compiler/ramblings/foo3.bench Compiler/ramblings/magic
-	   + Compiler/ramblings/pp_i_add Compiler/ramblings/reg.alloc
-	   + Compiler/ramblings/runtime.porting
-	   + Compiler/ramblings/sort.notes Compiler/ramblings/sub.call
-	   + Compiler/ramblings/subst.notes Compiler/run_bytecode_test
-	   + Compiler/run_cc_test Compiler/run_test Compiler/test_harness
-	   + Compiler/test_harness_bytecode Compiler/test_harness_cc
-           + Compiler/typemap
-____________________________________________________________________________
-[     9] By: mbeattie                              on 1997/05/02  19:03:49
-        Log: Don't require CvDEPTH == 0 when bombing out of subs.
-     Branch: thrperl
-           ! pp_hot.c
+[  1658] By: gsar                                  on 1998/07/26  02:23:46
+        Log: VMS patches from Dan Sugalski 
+             Date: Fri, 24 Jul 1998 11:38:25 -0700
+             Message-Id: <3.0.5.32.19980724113825.00a067b0@ous.edu>
+             Subject: [PATCH 5.005] version number problem with VMS (Corrected)
+             --
+             Date: Fri, 24 Jul 1998 12:30:36 -0700
+             Message-Id: <3.0.5.32.19980724123036.009f0390@ous.edu>
+             Subject: [PATCH 5.005]Tweaks to README.vms
+             --
+             Date: Sat, 25 Jul 1998 17:56:55 -0700 (PDT)
+             Message-ID: 
+             Subject: [PATCH 5.005] Final build cleanup patch
+     Branch: maint-5.005/perl
+           ! README.vms vms/descrip_mms.template vms/subconfigure.com
 ____________________________________________________________________________
-[     8] By: mbeattie                              on 1997/04/23  19:06:45
-        Log: Added programmer-level condition variables via "condpair" magic.
-             Added support for detached threads and tweaked a few things.
-     Branch: thrperl
-	   ! embed.h global.sym keywords.h mg.c opcode.h perl.c perl.h
-	   ! pp_ctl.c pp_hot.c proto.h run.c scope.c sv.c sv.h thread.h
-           ! util.c
+[  1657] By: gsar                                  on 1998/07/26  02:19:50
+        Log: another platform where pp_sselect() needs a whole fd_set buffer
+             From: Lupe Christoph 
+             Date: Sat, 25 Jul 1998 19:49:33 +0200 (MET DST)
+             Message-Id: <199807251749.TAA22347@alanya.m.isar.de>
+             Subject: Patch for Not OK: perl 5.005 on i86pc-solaris-thread 2.6
+     Branch: maint-5.005/perl
+           ! pp_sys.c
+____________________________________________________________________________
+[  1656] By: gsar                                  on 1998/07/26  02:12:46
+        Log: fix problem building modules on dos-djgpp
+             From: Laszlo Molnar 
+             Date: Sat, 25 Jul 1998 00:53:39 +0200
+             Message-ID: <19980725005339.C222@cdata.tvnet.hu>
+             Subject: [PATCH 5.005] dos-djgpp and modules problem
+     Branch: maint-5.005/perl
+           ! djgpp/fixpmain
+____________________________________________________________________________
+[  1655] By: gsar                                  on 1998/07/26  02:11:09
+        Log: From: Tom Spindler 
+             Date: Wed, 22 Jul 1998 16:11:07 -0400
+             Message-ID: <19980722161107.A16813@home.merit.edu>
+             Subject: [PATCH 5.005] BeOS tweak
+     Branch: maint-5.005/perl
+           ! hints/beos.sh
+____________________________________________________________________________
+[  1654] By: gsar                                  on 1998/07/26  02:09:29
+        Log: various pod tweaks
+     Branch: maint-5.005/perl
+	   ! Changes pod/perldelta.pod pod/perlmodinstall.pod
+           ! pod/perltoc.pod
+____________________________________________________________________________
+[  1653] By: gsar                                  on 1998/07/26  02:05:46
+        Log: fix emacs/ptags for PL_* changes
+             From: Ilya Zakharevich 
+             Date: Fri, 24 Jul 1998 03:12:35 -0400 (EDT)
+             Message-Id: <199807240712.DAA04204@monk.mps.ohio-state.edu>
+             Subject: [PATCH 5.004_76] Yet better ptags
+     Branch: maint-5.005/perl
+           ! emacs/ptags
+____________________________________________________________________________
+[  1652] By: gsar                                  on 1998/07/26  02:03:01
+        Log: fix behavior of <=> on bigints
+             From: "M.J.T. Guy" 
+             Message-Id: 
+             Date: Fri, 24 Jul 1998 18:29:53 +0100
+             Subject: [PATCH] Re: Math::BigInt <=> op is not correct.
+     Branch: maint-5.005/perl
+           ! lib/Math/BigInt.pm t/lib/bigintpm.t
+____________________________________________________________________________
+[  1651] By: larry                                 on 1998/07/24  05:44:33
+        Log: Here are the long-expected Unicode/UTF-8 modifications.
+     Branch: utfperl
+	   + lib/unicode/ArabLink.pl lib/unicode/ArabLnkGrp.pl
+	   + lib/unicode/Bidirectional.pl lib/unicode/Block.pl
+	   + lib/unicode/Category.pl lib/unicode/CombiningClass.pl
+	   + lib/unicode/Decomposition.pl
+	   + lib/unicode/In/AlphabeticPresentationForms.pl
+	   + lib/unicode/In/Arabic.pl
+	   + lib/unicode/In/ArabicPresentationForms-A.pl
+	   + lib/unicode/In/ArabicPresentationForms-B.pl
+	   + lib/unicode/In/Armenian.pl lib/unicode/In/Arrows.pl
+	   + lib/unicode/In/BasicLatin.pl lib/unicode/In/Bengali.pl
+	   + lib/unicode/In/BlockElements.pl lib/unicode/In/Bopomofo.pl
+	   + lib/unicode/In/BoxDrawing.pl
+	   + lib/unicode/In/CJKCompatibility.pl
+	   + lib/unicode/In/CJKCompatibilityForms.pl
+	   + lib/unicode/In/CJKCompatibilityIdeographs.pl
+	   + lib/unicode/In/CJKSymbolsandPunctuation.pl
+	   + lib/unicode/In/CJKUnifiedIdeographs.pl
+	   + lib/unicode/In/CombiningDiacriticalMarks.pl
+	   + lib/unicode/In/CombiningHalfMarks.pl
+	   + lib/unicode/In/CombiningMarksforSymbols.pl
+	   + lib/unicode/In/ControlPictures.pl
+	   + lib/unicode/In/CurrencySymbols.pl lib/unicode/In/Cyrillic.pl
+	   + lib/unicode/In/Devanagari.pl lib/unicode/In/Dingbats.pl
+	   + lib/unicode/In/EnclosedAlphanumerics.pl
+	   + lib/unicode/In/EnclosedCJKLettersandMonths.pl
+	   + lib/unicode/In/GeneralPunctuation.pl
+	   + lib/unicode/In/GeometricShapes.pl lib/unicode/In/Georgian.pl
+	   + lib/unicode/In/Greek.pl lib/unicode/In/GreekExtended.pl
+	   + lib/unicode/In/Gujarati.pl lib/unicode/In/Gurmukhi.pl
+	   + lib/unicode/In/HalfwidthandFullwidthForms.pl
+	   + lib/unicode/In/HangulCompatibilityJamo.pl
+	   + lib/unicode/In/HangulJamo.pl lib/unicode/In/HangulSyllables.pl
+	   + lib/unicode/In/Hebrew.pl
+	   + lib/unicode/In/HighPrivateUseSurrogates.pl
+	   + lib/unicode/In/HighSurrogates.pl lib/unicode/In/Hiragana.pl
+	   + lib/unicode/In/IPAExtensions.pl lib/unicode/In/Kanbun.pl
+	   + lib/unicode/In/Kannada.pl lib/unicode/In/Katakana.pl
+	   + lib/unicode/In/Lao.pl lib/unicode/In/Latin-1Supplement.pl
+	   + lib/unicode/In/LatinExtended-A.pl
+	   + lib/unicode/In/LatinExtended-B.pl
+	   + lib/unicode/In/LatinExtendedAdditional.pl
+	   + lib/unicode/In/LetterlikeSymbols.pl
+	   + lib/unicode/In/LowSurrogates.pl lib/unicode/In/Malayalam.pl
+	   + lib/unicode/In/MathematicalOperators.pl
+	   + lib/unicode/In/MiscellaneousSymbols.pl
+	   + lib/unicode/In/MiscellaneousTechnical.pl
+	   + lib/unicode/In/NumberForms.pl
+	   + lib/unicode/In/OpticalCharacterRecognition.pl
+	   + lib/unicode/In/Oriya.pl lib/unicode/In/PrivateUse.pl
+	   + lib/unicode/In/SmallFormVariants.pl
+	   + lib/unicode/In/SpacingModifierLetters.pl
+	   + lib/unicode/In/Specials.pl
+	   + lib/unicode/In/SuperscriptsandSubscripts.pl
+	   + lib/unicode/In/Tamil.pl lib/unicode/In/Telugu.pl
+	   + lib/unicode/In/Thai.pl lib/unicode/In/Tibetan.pl
+	   + lib/unicode/Is/Alnum.pl lib/unicode/Is/Alpha.pl
+	   + lib/unicode/Is/BidiAN.pl lib/unicode/Is/BidiB.pl
+	   + lib/unicode/Is/BidiCS.pl lib/unicode/Is/BidiEN.pl
+	   + lib/unicode/Is/BidiES.pl lib/unicode/Is/BidiET.pl
+	   + lib/unicode/Is/BidiL.pl lib/unicode/Is/BidiON.pl
+	   + lib/unicode/Is/BidiR.pl lib/unicode/Is/BidiS.pl
+	   + lib/unicode/Is/BidiWS.pl lib/unicode/Is/C.pl
+	   + lib/unicode/Is/Cc.pl lib/unicode/Is/Cn.pl lib/unicode/Is/Co.pl
+	   + lib/unicode/Is/DCcircle.pl lib/unicode/Is/DCcompat.pl
+	   + lib/unicode/Is/DCfinal.pl lib/unicode/Is/DCfont.pl
+	   + lib/unicode/Is/DCinital.pl lib/unicode/Is/DCinitial.pl
+	   + lib/unicode/Is/DCisolated.pl lib/unicode/Is/DCnarrow.pl
+	   + lib/unicode/Is/DCnoBreak.pl lib/unicode/Is/DCsmall.pl
+	   + lib/unicode/Is/DCsquare.pl lib/unicode/Is/DCsub.pl
+	   + lib/unicode/Is/DCsuper.pl lib/unicode/Is/DCvertical.pl
+	   + lib/unicode/Is/DCwide.pl lib/unicode/Is/DecoCanon.pl
+	   + lib/unicode/Is/DecoCompat.pl lib/unicode/Is/Digit.pl
+	   + lib/unicode/Is/L.pl lib/unicode/Is/Ll.pl lib/unicode/Is/Lm.pl
+	   + lib/unicode/Is/Lo.pl lib/unicode/Is/Lower.pl
+	   + lib/unicode/Is/Lt.pl lib/unicode/Is/Lu.pl lib/unicode/Is/M.pl
+	   + lib/unicode/Is/Mc.pl lib/unicode/Is/Mirrored.pl
+	   + lib/unicode/Is/Mn.pl lib/unicode/Is/N.pl lib/unicode/Is/Nd.pl
+	   + lib/unicode/Is/No.pl lib/unicode/Is/P.pl lib/unicode/Is/Pd.pl
+	   + lib/unicode/Is/Pe.pl lib/unicode/Is/Po.pl
+	   + lib/unicode/Is/Print.pl lib/unicode/Is/Ps.pl
+	   + lib/unicode/Is/S.pl lib/unicode/Is/Sc.pl lib/unicode/Is/Sm.pl
+	   + lib/unicode/Is/So.pl lib/unicode/Is/Space.pl
+	   + lib/unicode/Is/Upper.pl lib/unicode/Is/Z.pl
+	   + lib/unicode/Is/Zl.pl lib/unicode/Is/Zp.pl lib/unicode/Is/Zs.pl
+	   + lib/unicode/JamoShort.pl lib/unicode/Makefile
+	   + lib/unicode/Name.pl lib/unicode/Number.pl
+	   + lib/unicode/To/Digit.pl lib/unicode/To/Lower.pl
+	   + lib/unicode/To/Title.pl lib/unicode/To/Upper.pl
+	   + lib/unicode/UnicodeData-Latest.txt lib/unicode/arabshp.txt
+	   + lib/unicode/blocks.txt lib/unicode/index2.txt
+	   + lib/unicode/jamo2.txt lib/unicode/mktables.PL
+	   + lib/unicode/names2.txt lib/unicode/props2.txt
+	   + lib/unicode/readme.txt lib/utf8.pm lib/utf8_heavy.pl t/UTEST
+           + utf8.c utf8.h
+	   ! Makefile.SH doop.c embed.h embedvar.h global.sym handy.h mg.c
+	   ! op.c op.h perl.h perlvars.h pod/perlfunc.pod pod/perlop.pod
+	   ! pod/perlre.pod pp.c pp_ctl.c pp_hot.c proto.h regcomp.c
+	   ! regcomp.h regcomp.sym regexec.c regexp.h regnodes.h sv.c
+           ! t/op/vec.t toke.c util.c vms/vmsish.h
+____________________________________________________________________________
+[  1650] By: gsar                                  on 1998/07/24  04:06:48
+        Log: create utfperl branch
+     Branch: utfperl
+          +> (branch 1079 files)
+____________________________________________________________________________
+[  1649] By: gsar                                  on 1998/07/24  03:56:56
+        Log: create maint-5.005 branch
+     Branch: maint-5.005/perl
+          +> (branch 1079 files)
 ____________________________________________________________________________
-[     7] By: mbeattie                              on 1997/04/23  19:04:18
-        Log: Rewrote programmer-level condition variables from scratch. Added
-             support for detaching threads. Fixed handling for arguments
-             passed in to threads and return values for joined threads.
-     Branch: perlext
-           + Thread/lock.t
-	   ! Thread/README Thread/Thread.pm Thread/Thread.xs Thread/cond.t
-           ! Thread/typemap
-____________________________________________________________________________
-[     6] By: mbeattie                              on 1997/04/10  20:17:26
-        Log: Initial check-in of Thread module.
-     Branch: perlext
-	   + Thread/Makefile.PL Thread/Notes Thread/README Thread/Thread.pm
-	   + Thread/Thread.xs Thread/cond.t Thread/create.t Thread/io.t
-	   + Thread/join.t Thread/sync.t Thread/sync2.t Thread/typemap
-	   + Thread/unsync.t Thread/unsync2.t Thread/unsync3.t
-           + Thread/unsync4.t
-____________________________________________________________________________
-[     5] By: mbeattie                              on 1997/04/10  20:05:52
-        Log: Tweaks to allow compilation without -DUSE_THREADS and fix
-             missing parens (pad allocation) in the tokener.
-     Branch: thrperl
-           ! op.c pp_ctl.c toke.c
-____________________________________________________________________________
-[     4] By: mbeattie                              on 1997/03/28  18:40:44
-        Log: Initial 3-way merge from (5.001m, thr1m, 5.003) plus fixups.
-     Branch: thrperl
-           + thread.h
-	   ! XSUB.h av.c cv.h deb.c doio.c doop.c dump.c global.sym gv.c
-	   ! hv.c malloc.c mg.c op.c op.h opcode.h opcode.pl perl.c perl.h
-	   ! pp.h pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c regexec.c
-           ! run.c scope.c sv.c sv.h toke.c util.c
-____________________________________________________________________________
-[     3] By: mbeattie                              on 1997/03/28  13:36:23
-        Log: Branch 5.003 -> thrperl
-     Branch: thrperl
-          +> (branch 600 files)
-____________________________________________________________________________
-[     2] By: mbeattie                              on 1997/03/28  13:32:21
-        Log: Initial devel changes.
-             Pseudo-hashes. Optional strong typing. RESTART {}.
-     Branch: perl
-	   ! av.c doop.c embed.h ext/DB_File/DB_File.xs global.sym
-	   ! interp.sym keywords.h keywords.pl lib/ExtUtils/xsubpp op.c
-           ! perl.c perl.h pp.c pp_hot.c proto.h t/op/groups.t toke.c
-____________________________________________________________________________
-[     1] By: mbeattie                              on 1997/03/28  13:17:33
-        Log: Perl 5.003 check-in
-     Branch: perl
-	   + Artistic Changes Changes.Conf Configure Copying EXTERN.h
-	   + INSTALL INTERN.h MANIFEST Makefile.SH README README.vms Todo
-	   + XSUB.h av.c av.h cflags.SH config_H config_h.SH configpm
-	   + configure cop.h cv.h deb.c doio.c doop.c dosish.h dump.c
-	   + eg/ADB eg/README eg/changes eg/client eg/down eg/dus eg/findcp
-	   + eg/findtar eg/g/gcp eg/g/gcp.man eg/g/ged eg/g/ghosts eg/g/gsh
-	   + eg/g/gsh.man eg/muck eg/muck.man eg/myrup eg/nih eg/relink
-	   + eg/rename eg/rmfrom eg/scan/scan_df eg/scan/scan_last
-	   + eg/scan/scan_messages eg/scan/scan_passwd eg/scan/scan_ps
-	   + eg/scan/scan_sudo eg/scan/scan_suid eg/scan/scanner eg/server
-	   + eg/shmkill eg/sysvipc/README eg/sysvipc/ipcmsg
-	   + eg/sysvipc/ipcsem eg/sysvipc/ipcshm eg/travesty eg/unuc
-	   + eg/uudecode eg/van/empty eg/van/unvanish eg/van/vanexp
-	   + eg/van/vanish eg/who eg/wrapsuid emacs/cperl-mode.el embed.h
-	   + embed.pl ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
-	   + ext/DB_File/DB_File_BS ext/DB_File/Makefile.PL
-	   + ext/DB_File/typemap ext/DynaLoader/DynaLoader.pm
-	   + ext/DynaLoader/Makefile.PL ext/DynaLoader/README
-	   + ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_dld.xs
-	   + ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_hpux.xs
-	   + ext/DynaLoader/dl_next.xs ext/DynaLoader/dl_none.xs
-	   + ext/DynaLoader/dl_os2.xs ext/DynaLoader/dl_vms.xs
-	   + ext/DynaLoader/dlutils.c ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs
-	   + ext/Fcntl/Makefile.PL ext/FileHandle/FileHandle.pm
-	   + ext/FileHandle/FileHandle.xs ext/FileHandle/Makefile.PL
-	   + ext/GDBM_File/GDBM_File.pm ext/GDBM_File/GDBM_File.xs
-	   + ext/GDBM_File/Makefile.PL ext/GDBM_File/typemap
-	   + ext/NDBM_File/Makefile.PL ext/NDBM_File/NDBM_File.pm
-	   + ext/NDBM_File/NDBM_File.xs ext/NDBM_File/hints/solaris.pl
-	   + ext/NDBM_File/hints/svr4.pl ext/NDBM_File/typemap
-	   + ext/ODBM_File/Makefile.PL ext/ODBM_File/ODBM_File.pm
-	   + ext/ODBM_File/ODBM_File.xs ext/ODBM_File/hints/dec_osf.pl
-	   + ext/ODBM_File/hints/sco.pl ext/ODBM_File/hints/solaris.pl
-	   + ext/ODBM_File/hints/svr4.pl ext/ODBM_File/typemap
-	   + ext/POSIX/Makefile.PL ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod
-	   + ext/POSIX/POSIX.xs ext/POSIX/typemap ext/SDBM_File/Makefile.PL
-	   + ext/SDBM_File/SDBM_File.pm ext/SDBM_File/SDBM_File.xs
-	   + ext/SDBM_File/sdbm/CHANGES ext/SDBM_File/sdbm/COMPARE
-	   + ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/README
-	   + ext/SDBM_File/sdbm/README.too ext/SDBM_File/sdbm/biblio
-	   + ext/SDBM_File/sdbm/dba.c ext/SDBM_File/sdbm/dbd.c
-	   + ext/SDBM_File/sdbm/dbe.1 ext/SDBM_File/sdbm/dbe.c
-	   + ext/SDBM_File/sdbm/dbm.c ext/SDBM_File/sdbm/dbm.h
-	   + ext/SDBM_File/sdbm/dbu.c ext/SDBM_File/sdbm/grind
-	   + ext/SDBM_File/sdbm/hash.c ext/SDBM_File/sdbm/linux.patches
-	   + ext/SDBM_File/sdbm/makefile.sdbm ext/SDBM_File/sdbm/pair.c
-	   + ext/SDBM_File/sdbm/pair.h ext/SDBM_File/sdbm/readme.ms
-	   + ext/SDBM_File/sdbm/readme.ps ext/SDBM_File/sdbm/sdbm.3
-	   + ext/SDBM_File/sdbm/sdbm.c ext/SDBM_File/sdbm/sdbm.h
-	   + ext/SDBM_File/sdbm/tune.h ext/SDBM_File/sdbm/util.c
-	   + ext/SDBM_File/typemap ext/Safe/Makefile.PL ext/Safe/Safe.pm
-	   + ext/Safe/Safe.xs ext/Socket/Makefile.PL ext/Socket/Socket.pm
-	   + ext/Socket/Socket.xs ext/util/extliblist ext/util/make_ext
-	   + ext/util/mkbootstrap form.h global.sym globals.c gv.c gv.h
-	   + h2pl/README h2pl/cbreak.pl h2pl/cbreak2.pl h2pl/eg/sizeof.ph
-	   + h2pl/eg/sys/errno.pl h2pl/eg/sys/ioctl.pl h2pl/eg/sysexits.pl
-	   + h2pl/getioctlsizes h2pl/mksizes h2pl/mkvars h2pl/tcbreak
-	   + h2pl/tcbreak2 handy.h hints/3b1.sh hints/3b1cc
-	   + hints/README.hints hints/aix.sh hints/altos486.sh
-	   + hints/apollo.sh hints/aux.sh hints/bsdos.sh hints/convexos.sh
-	   + hints/cxux.sh hints/dec_osf.sh hints/dgux.sh hints/dnix.sh
-	   + hints/dynix.sh hints/dynixptx.sh hints/epix.sh hints/esix4.sh
-	   + hints/fps.sh hints/freebsd.sh hints/genix.sh
-	   + hints/greenhills.sh hints/hpux.sh hints/i386.sh
-	   + hints/irix_4.sh hints/irix_5.sh hints/irix_6.sh
-	   + hints/irix_6_2.sh hints/isc.sh hints/isc_2.sh hints/linux.sh
-	   + hints/machten.sh hints/machten_2.sh hints/mips.sh hints/mpc.sh
-	   + hints/mpeix.sh hints/ncr_tower.sh hints/netbsd.sh
-	   + hints/next_3.sh hints/next_3_0.sh hints/opus.sh hints/os2.sh
-	   + hints/powerux.sh hints/sco.sh hints/sco_2_3_0.sh
-	   + hints/sco_2_3_1.sh hints/sco_2_3_2.sh hints/sco_2_3_3.sh
-	   + hints/sco_2_3_4.sh hints/solaris_2.sh hints/stellar.sh
-	   + hints/sunos_4_0.sh hints/sunos_4_1.sh hints/svr4.sh
-	   + hints/ti1500.sh hints/titanos.sh hints/ultrix_4.sh
-	   + hints/unicos.sh hints/unisysdynix.sh hints/utekv.sh
-	   + hints/uts.sh hv.c hv.h installman installperl interp.sym
-	   + keywords.h keywords.pl lib/AnyDBM_File.pm lib/AutoLoader.pm
-	   + lib/AutoSplit.pm lib/Benchmark.pm lib/Carp.pm lib/Cwd.pm
-	   + lib/Devel/SelfStubber.pm lib/DirHandle.pm lib/English.pm
-	   + lib/Env.pm lib/Exporter.pm lib/ExtUtils/Install.pm
-	   + lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_OS2.pm
-	   + lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm
-	   + lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Manifest.pm
-	   + lib/ExtUtils/Mkbootstrap.pm lib/ExtUtils/Mksymlists.pm
-	   + lib/ExtUtils/testlib.pm lib/ExtUtils/typemap
-	   + lib/ExtUtils/xsubpp lib/File/Basename.pm lib/File/CheckTree.pm
-	   + lib/File/Copy.pm lib/File/Find.pm lib/File/Path.pm
-	   + lib/FileCache.pm lib/Getopt/Long.pm lib/Getopt/Std.pm
-	   + lib/I18N/Collate.pm lib/IPC/Open2.pm lib/IPC/Open3.pm
-	   + lib/Math/BigFloat.pm lib/Math/BigInt.pm lib/Math/Complex.pm
-	   + lib/Net/Ping.pm lib/Pod/Functions.pm lib/Pod/Text.pm
-	   + lib/Search/Dict.pm lib/SelectSaver.pm lib/SelfLoader.pm
-	   + lib/Shell.pm lib/Symbol.pm lib/Sys/Hostname.pm
-	   + lib/Sys/Syslog.pm lib/Term/Cap.pm lib/Term/Complete.pm
-	   + lib/Term/ReadLine.pm lib/Test/Harness.pm lib/Text/Abbrev.pm
-	   + lib/Text/ParseWords.pm lib/Text/Soundex.pm lib/Text/Tabs.pm
-	   + lib/Text/Wrap.pm lib/Tie/Hash.pm lib/Tie/Scalar.pm
-	   + lib/Tie/SubstrHash.pm lib/Time/Local.pm lib/abbrev.pl
-	   + lib/assert.pl lib/bigfloat.pl lib/bigint.pl lib/bigrat.pl
-	   + lib/cacheout.pl lib/chat2.inter lib/chat2.pl lib/complete.pl
-	   + lib/ctime.pl lib/diagnostics.pm lib/dotsh.pl lib/dumpvar.pl
-	   + lib/exceptions.pl lib/fastcwd.pl lib/find.pl lib/finddepth.pl
-	   + lib/flush.pl lib/ftp.pl lib/getcwd.pl lib/getopt.pl
-	   + lib/getopts.pl lib/hostname.pl lib/importenv.pl lib/integer.pm
-	   + lib/less.pm lib/lib.pm lib/look.pl lib/newgetopt.pl
-	   + lib/open2.pl lib/open3.pl lib/overload.pm lib/perl5db.pl
-	   + lib/pwd.pl lib/shellwords.pl lib/sigtrap.pm lib/splain
-	   + lib/stat.pl lib/strict.pm lib/subs.pm lib/syslog.pl
-	   + lib/tainted.pl lib/termcap.pl lib/timelocal.pl lib/validate.pl
-	   + lib/vars.pm makeaperl.SH makedepend.SH makedir.SH malloc.c
-	   + mg.c mg.h minimod.pl miniperlmain.c mv-if-diff myconfig op.c
-	   + op.h opcode.h opcode.pl os2/Makefile.SHs os2/POSIX.mkfifo
-	   + os2/README os2/README.old os2/diff.configure os2/diff.db_file
-	   + os2/notes os2/os2.c os2/os2ish.h os2/perl2cmd.pl patchlevel.h
-	   + perl.c perl.h perl_exp.SH perlsh perly.c perly.c.diff
-	   + perly.fixer perly.h perly.y pod/Makefile pod/buildtoc
-	   + pod/perl.pod pod/perlbook.pod pod/perlbot.pod pod/perlcall.pod
-	   + pod/perldata.pod pod/perldebug.pod pod/perldiag.pod
-	   + pod/perldsc.pod pod/perlembed.pod pod/perlform.pod
-	   + pod/perlfunc.pod pod/perlguts.pod pod/perlipc.pod
-	   + pod/perllol.pod pod/perlmod.pod pod/perlobj.pod pod/perlop.pod
-	   + pod/perlovl.pod pod/perlpod.pod pod/perlre.pod pod/perlref.pod
-	   + pod/perlrun.pod pod/perlsec.pod pod/perlstyle.pod
-	   + pod/perlsub.pod pod/perlsyn.pod pod/perltie.pod
-	   + pod/perltoc.pod pod/perltrap.pod pod/perlvar.pod
-	   + pod/perlxs.pod pod/perlxstut.pod pod/pod2html.PL
-	   + pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL pod/roffitall
-	   + pod/splitman pod/splitpod pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c
-	   + proto.h regcomp.c regcomp.h regexec.c regexp.h run.c scope.c
-	   + scope.h sv.c sv.h t/README t/TEST t/base/cond.t t/base/if.t
-	   + t/base/lex.t t/base/pat.t t/base/term.t t/cmd/elsif.t
-	   + t/cmd/for.t t/cmd/mod.t t/cmd/subval.t t/cmd/switch.t
-	   + t/cmd/while.t t/comp/cmdopt.t t/comp/cpp.aux t/comp/cpp.t
-	   + t/comp/decl.t t/comp/multiline.t t/comp/package.t
-	   + t/comp/script.t t/comp/term.t t/harness t/io/argv.t t/io/dup.t
-	   + t/io/fs.t t/io/inplace.t t/io/pipe.t t/io/print.t t/io/tell.t
-	   + t/lib/anydbm.t t/lib/bigint.t t/lib/bigintpm.t
-	   + t/lib/db-btree.t t/lib/db-hash.t t/lib/db-recno.t
-	   + t/lib/dirhand.t t/lib/english.t t/lib/filehand.t t/lib/gdbm.t
-	   + t/lib/ndbm.t t/lib/odbm.t t/lib/posix.t t/lib/safe.t
-	   + t/lib/sdbm.t t/lib/socket.t t/lib/soundex.t t/op/append.t
-	   + t/op/array.t t/op/auto.t t/op/chop.t t/op/cond.t t/op/delete.t
-	   + t/op/do.t t/op/each.t t/op/eval.t t/op/exec.t t/op/exp.t
-	   + t/op/flip.t t/op/fork.t t/op/glob.t t/op/goto.t t/op/groups.t
-	   + t/op/index.t t/op/int.t t/op/join.t t/op/list.t t/op/local.t
-	   + t/op/magic.t t/op/misc.t t/op/mkdir.t t/op/my.t t/op/oct.t
-	   + t/op/ord.t t/op/overload.t t/op/pack.t t/op/pat.t t/op/push.t
-	   + t/op/quotemeta.t t/op/rand.t t/op/range.t t/op/re_tests
-	   + t/op/read.t t/op/readdir.t t/op/ref.t t/op/regexp.t
-	   + t/op/repeat.t t/op/sleep.t t/op/sort.t t/op/split.t
-	   + t/op/sprintf.t t/op/stat.t t/op/study.t t/op/subst.t
-	   + t/op/substr.t t/op/time.t t/op/undef.t t/op/unshift.t
-	   + t/op/vec.t t/op/write.t t/re_tests taint.c toke.c unixish.h
-	   + util.c util.h utils/Makefile utils/c2ph.PL utils/h2ph.PL
-	   + utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL
-	   + vms/Makefile vms/config.vms vms/descrip.mms
-	   + vms/ext/Filespec.pm vms/ext/Stdio/0README.txt
-	   + vms/ext/Stdio/Makefile.PL vms/ext/Stdio/Stdio.pm
-	   + vms/ext/Stdio/Stdio.xs vms/ext/Stdio/test.pl vms/fndvers.com
-	   + vms/gen_shrfls.pl vms/genconfig.pl vms/genopt.com
-	   + vms/make_command.com vms/mms2make.pl vms/myconfig.com
-	   + vms/perlvms.pod vms/perly_c.vms vms/perly_h.vms
-	   + vms/sockadapt.c vms/sockadapt.h vms/test.com vms/vms.c
-	   + vms/vms_yfix.pl vms/vmsish.h vms/writemain.pl writemain.SH
-	   + x2p/EXTERN.h x2p/INTERN.h x2p/Makefile.SH x2p/a2p.c x2p/a2p.h
-	   + x2p/a2p.man x2p/a2p.y x2p/a2py.c x2p/cflags.SH
-	   + x2p/find2perl.PL x2p/handy.h x2p/hash.c x2p/hash.h x2p/s2p.PL
-	   + x2p/s2p.man x2p/str.c x2p/str.h x2p/util.c x2p/util.h
-           + x2p/walk.c
+[  1648] By: gsar                                  on 1998/07/24  03:36:35
+        Log: un-checked-in 5.005 Changes  (this is 5.005 *exactly*)
+     Branch: perl
+           ! Changes
+
diff --git a/gnu/usr.bin/perl/Configure b/gnu/usr.bin/perl/Configure
index 4496e4a6421..341705a85ab 100644
--- a/gnu/usr.bin/perl/Configure
+++ b/gnu/usr.bin/perl/Configure
@@ -18,10 +18,10 @@
 # you may fetch it yourself from your nearest archive site.)
 #
 
-# $Id: Configure,v 1.5 1999/04/29 22:50:50 millert Exp $
+# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Tue Jul  7 10:10:21 EDT 1998 [metaconfig 3.0 PL70]
-# (with additional metaconfig patches by jhi@iki.fi)
+# Generated on Wed Mar 22 19:13:31 EET 2000 [metaconfig 3.0 PL70]
+# (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <options.awk <<'EOF'
 BEGIN {
-	optstr = "dD:eEf:hKOrsSU:V";	# getopt-style specification
+	optstr = "A:dD:eEf:hKOrsSU:V";	# getopt-style specification
 
 	len = length(optstr);
 	for (i = 1; i <= len; i++) {
@@ -1045,7 +1184,7 @@ silent=''
 extractsh=''
 override=''
 knowitall=''
-rm -f optdef.sh
+rm -f optdef.sh posthint.sh
 cat >optdef.sh <> posthint.sh ;;
+	    clear)
+		echo "$yyy=''"			>> posthint.sh ;;
+	    define)
+	        case "$zzz" in
+		'') zzz=define ;;
+		esac
+		echo "$yyy='$zzz'"		>> posthint.sh ;;
+	    eval)
+		echo "eval \"$yyy=$zzz\""	>> posthint.sh ;;
+	    prepend)
+		echo "$yyy=\"$zzz\${$yyy}\""	>> posthint.sh ;;
+	    undef)
+	        case "$zzz" in
+		'') zzz="$uuu" ;;
+		esac
+		echo "$yyy=$zzz"		>> posthint.sh ;;
+            *)  echo "$me: unknown -A command '$xxx', ignoring -A $1" >&2 ;;
+	    esac
+	    shift
+	    ;;
 	-V) echo "$me generated by metaconfig 3.0 PL70." >&2
-		exit 0;;
+	    exit 0;;
 	--) break;;
 	-*) echo "$me: unknown option $1" >&2; shift; error=true;;
 	*) break;;
@@ -1111,7 +1300,7 @@ case "$error" in
 true)
 	cat >&2 <extract <<'EOS'
-CONFIG=true
+CONFIGDOTSH=true
 echo "Doing variable substitutions on .SH files..."
 if test -f $src/MANIFEST; then
 	set x `awk '{print $1}' <$src/MANIFEST | grep '\.SH$'`
@@ -1368,7 +1574,7 @@ THIS PACKAGE SEEMS TO BE INCOMPLETE.
 You have the option of continuing the configuration process, despite the
 distinct possibility that your kit is damaged, by typing 'y'es.  If you
 do, don't blame me if something goes wrong.  I advise you to type 'n'o
-and then contact perlbug@perl.com.
+and contact the author (perlbug@perl.com).
 
 EOM
 		echo $n "Continue? [n] $c" >&4
@@ -1593,7 +1799,7 @@ Much effort has been expended to ensure that this shell script will run on any
 Unix system.  If despite that it blows up on yours, your best bet is to edit
 Configure and run it again.  If you can't run Configure for some reason,
 you'll have to generate a config.sh file by hand.  Whatever problems you
-have, let perlbug@perl.com know how I blew it.
+have, let me (perlbug@perl.com) know how I blew it.
 
 This installation script affects things in two ways:
 
@@ -1665,7 +1871,6 @@ comm
 cp
 echo
 expr
-find
 grep
 ls
 make
@@ -1687,15 +1892,11 @@ date
 egrep
 gzip
 less
-line
 ln
 more
 nm
 nroff
-perl
 pg
-sendmail
-tee
 test
 uname
 zip
@@ -1902,7 +2103,8 @@ $eunicefix tr
 : Try to determine whether config.sh was made on this system
 case "$config_sh" in
 '')
-myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1`
+myuname=`$uname -a 2>/dev/null`
+$test -z "$myuname" && myuname=`hostname 2>/dev/null`
 # tr '[A-Z]' '[a-z]' would not work in EBCDIC
 # because the A-Z/a-z are not consecutive.
 myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \
@@ -1968,6 +2170,7 @@ EOM
 	$test -f /dnix && osname=dnix
 	$test -f /lynx.os && osname=lynxos
 	$test -f /unicos && osname=unicos && osvers=`$uname -r`
+	$test -f /unicosmk && osname=unicosmk && osvers=`$uname -r`
 	$test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r`
 	$test -f /bin/mips && /bin/mips && osname=mips
 	$test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \
@@ -1987,12 +2190,14 @@ EOM
 			osvers="$2.$3"
 		fi
 	fi
+
 	$test -f /sys/posix.dll &&
 		$test -f /usr/bin/what &&
 		set X `/usr/bin/what /sys/posix.dll` &&
 		$test "$3" = UWIN &&
 		osname=uwin &&
 		osvers="$5"
+
 	if $test -f $uname; then
 		set X $myuname
 		shift
@@ -2013,7 +2218,7 @@ EOM
 				osvers=$tmp
 			elif $test -f /etc/kconfig; then
 				osname=isc
-				if test "$lns" = "ln -s"; then
+				if test "$lns" = "$ln -s"; then
 					osvers=4
 				elif $contains _SYSV3 /usr/include/stdio.h > /dev/null 2>&1 ; then
 					osvers=3
@@ -2021,7 +2226,7 @@ EOM
 					osvers=2
 				fi
 			fi
-			unset tmp
+			tmp=''
 			;;
 		pc*)
 			if test -n "$DJGPP"; then
@@ -2042,6 +2247,12 @@ EOM
 			*) osvers=$tmp;;
 			esac
 			;;
+		bsd386) osname=bsd386
+			osvers=`$uname -r`
+			;;
+		cygwin*) osname=cygwin
+			osvers="$3"
+			;;
 		*dc.osx) osname=dcosx
 			osvers="$3"
 			;;
@@ -2055,7 +2266,7 @@ EOM
 			osvers="$3"
 			;;
 		dynixptx*) osname=dynixptx
-			osvers=`echo "$4" | $sed 's/^v//'`
+			osvers=`echo "$4"|sed 's/^v//'`
 			;;
 		freebsd) osname=freebsd 
 			osvers="$3" ;;
@@ -2086,14 +2297,17 @@ EOM
 			*) osname=newsos ;;
 			esac
 			;;
-		bsd386) osname=bsd386
-			osvers=`$uname -r`
+		next*) osname=next ;;
+		POSIX-BC | posix-bc ) osname=posix-bc
+			osvers="$3"
 			;;
 		powerux | power_ux | powermax_os | powermaxos | \
 		powerunix | power_unix) osname=powerux
 			osvers="$3"
 			;;
-		next*) osname=next ;;
+		qnx) osname=qnx
+			osvers="$4"
+			;;
 		solaris) osname=solaris
 			case "$3" in
 			5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;;
@@ -2128,12 +2342,12 @@ EOM
 			mips)	osname=mips_osf1 ;;
 			esac
 			;;
-		uts) osname=uts 
-			osvers="$3"
-			;;
-		qnx) osname=qnx
+		unixware) osname=svr5
 			osvers="$4"
 			;;
+		uts) osname=uts
+			osvers="$3"
+			;;
 		$2) case "$osname" in
 			*isc*) ;;
 			*freebsd*) ;;
@@ -2207,12 +2421,12 @@ EOM
 	: specified already.
 	case "$hintfile" in
 	''|' ')
-		file=`echo "${osname}_${osvers}" | $sed -e 's@\.@_@g' -e 's@_$@@'`
+		file=`echo "${osname}_${osvers}" | $sed -e 's%\.%_%g' -e 's%_$%%'`
 		: Also try without trailing minor version numbers.
-		xfile=`echo $file | $sed -e 's@_[^_]*$@@'`
-		xxfile=`echo $xfile | $sed -e 's@_[^_]*$@@'`
-		xxxfile=`echo $xxfile | $sed -e 's@_[^_]*$@@'`
-		xxxxfile=`echo $xxxfile | $sed -e 's@_[^_]*$@@'`
+		xfile=`echo $file | $sed -e 's%_[^_]*$%%'`
+		xxfile=`echo $xfile | $sed -e 's%_[^_]*$%%'`
+		xxxfile=`echo $xxfile | $sed -e 's%_[^_]*$%%'`
+		xxxxfile=`echo $xxxfile | $sed -e 's%_[^_]*$%%'`
 		case "$file" in
 		'') dflt=none ;;
 		*)  case "$osvers" in
@@ -2263,7 +2477,7 @@ EOM
 
 You may give one or more space-separated answers, or "none" if appropriate.
 A well-behaved OS will have no hints, so answering "none" or just "Policy"
-is a good thing.  DO NOT give a wrong version.
+is a good thing.  DO NOT give a wrong version or a wrong OS.
 
 EOM
 
@@ -2377,8 +2591,11 @@ none)  osvers='' ;;
 *) osvers="$ans" ;;
 esac
 
+
+. ./posthint.sh
+
 : who configured the system
-cf_time=`LC_ALL=C; export LC_ALL; $date 2>&1`
+cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
 cf_by=`(logname) 2>/dev/null`
 case "$cf_by" in
 "")
@@ -2412,29 +2629,76 @@ $undef$define) . ./whoa; eval "$var=\$tu";;
 *) eval "$var=$val";;
 esac'
 
+case "$usethreads" in
+$define|true|[yY]*)     dflt='y';;
+*) dflt='n';;
+esac
 cat <&4 < tmparch 2>&1 ; then
-		tarch=`$sed -e 's/ *$//' -e 's/ /_/g' \
-			-e 's/$/'"-$osname/" tmparch`
-	else
-		tarch="$osname"
-	fi
-	$rm -f tmparch
-else
-	tarch="$osname"
-fi
-case "$myarchname" in
-''|"$tarch") ;;
-*)
-	echo "(Your architecture name used to be $myarchname.)"
-	archname=''
+case "$useithreads" in
+$define)
+	cat <&4
-          case "$ans" in
-          *-thread) echo "...and architecture name already ends in -thread." >&4
-                    archname="$ans"
-                    ;;
-          *)        archname="$ans-thread"
-                    echo "...setting architecture name to $archname." >&4
-                    ;;
-          esac
-          ;;
-*)        archname="$ans" ;;
-esac
-myarchname="$tarch"
-: is AFS running?
+set usemultiplicity
+eval $setvar
+
+: determine where manual pages are on this system
 echo " "
-case "$afs" in
-$define|true)	afs=true ;;
-$undef|false)	afs=false ;;
-*)	if test -d /afs; then
-		afs=true
-	else
-		afs=false
-	fi
+case "$sysman" in
+'') 
+	syspath='/usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1'
+	syspath="$syspath /usr/man/u_man/man1 /usr/share/man/man1"
+	syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
+	syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
+	syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
+	sysman=`./loc . /usr/man/man1 $syspath`
 	;;
 esac
-if test $afs = "true"; then
-	echo "AFS may be running... I'll be extra cautious then..." >&4
+if $test -d "$sysman"; then
+	echo "System manual is in $sysman." >&4
 else
-	echo "AFS does not seem to be running..." >&4
+	echo "Could not find manual pages in source form." >&4
 fi
 
-: decide how portable to be.  Allow command line overrides.
-case "$d_portable" in
-"$undef") ;;
-*)	d_portable="$define" ;;
-esac
-
-: set up shell script to do ~ expansion
-cat >filexp <pdp11.c <<'EOP'
+int main() {
+#ifdef pdp11
+	exit(0);
+#else
+	exit(1);
+#endif
+}
+EOP
+	( cc -o pdp11 pdp11.c ) >/dev/null 2>&1
+	if $test -f pdp11 && ./pdp11 2>/dev/null; then
+		dflt='unsplit split'
 	else
-		name=\`$expr x\$1 : '..\([^/]*\)'\`
-		dir=\`$sed -n -e "/^\${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'\$'"/\1/" -e p -e q -e '}' &2
+		tans=`./loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge`
+		case "$tans" in
+		X) dflt='none';;
+		*) if $test -d /lib/small || $test -d /usr/lib/small; then
+				dflt='small'
+			else
+				dflt=''
+			fi
+			if $test -d /lib/medium || $test -d /usr/lib/medium; then
+				dflt="$dflt medium"
+			fi
+			if $test -d /lib/large || $test -d /usr/lib/large; then
+				dflt="$dflt large"
+			fi
+			if $test -d /lib/huge || $test -d /usr/lib/huge; then
+				dflt="$dflt huge"
+			fi
+		esac
+	fi;;
+*) dflt="$models";;
+esac
+$cat </dev/null 2>&1 || \
+			 $contains '\-i' $sysman/cc.1 >/dev/null 2>&1; then
+			dflt='-i'
+		else
+			dflt='none'
+		fi;;
+	*) dflt="$split";;
+	esac
+	rp="What flag indicates separate I and D space?"
+	. ./myread
+	tans="$ans"
+	case "$tans" in
+	none) tans='';;
+	esac
+	split="$tans"
+	unsplit='';;
+*large*|*small*|*medium*|*huge*)
+	case "$models" in
+	*large*)
+		case "$large" in
+		'') dflt='-Ml';;
+		*) dflt="$large";;
+		esac
+	rp="What flag indicates large model?"
+	. ./myread
+	tans="$ans"
+	case "$tans" in
+	none) tans='';
+	esac
+	large="$tans";;
+	*) large='';;
+	esac
+	case "$models" in
+	*huge*) case "$huge" in
+		'') dflt='-Mh';;
+		*) dflt="$huge";;
+		esac
+		rp="What flag indicates huge model?"
+		. ./myread
+		tans="$ans"
+		case "$tans" in
+		none) tans='';
+		esac
+		huge="$tans";;
+	*) huge="$large";;
+	esac
+	case "$models" in
+	*medium*) case "$medium" in
+		'') dflt='-Mm';;
+		*) dflt="$medium";;
+		esac
+		rp="What flag indicates medium model?"
+		. ./myread
+		tans="$ans"
+		case "$tans" in
+		none) tans='';
+		esac
+		medium="$tans";;
+	*) medium="$large";;
+	esac
+	case "$models" in
+	*small*) case "$small" in
+		'') dflt='none';;
+		*) dflt="$small";;
+		esac
+		rp="What flag indicates small model?"
+		. ./myread
+		tans="$ans"
+		case "$tans" in
+		none) tans='';
+		esac
+		small="$tans";;
+	*) small='';;
+	esac
+	;;
+*)
+	echo "Unrecognized memory models--you may have to edit Makefile.SH" >&4
+	;;
+esac
+$rm -f pdp11.* pdp11
+
+: make some quick guesses about what we are up against
+echo " "
+$echo $n "Hmm...  $c"
+echo exit 1 >bsd
+echo exit 1 >usg
+echo exit 1 >v7
+echo exit 1 >osf1
+echo exit 1 >eunice
+echo exit 1 >xenix
+echo exit 1 >venix
+echo exit 1 >os2
+d_bsd="$undef"
+$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null
+if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
+then
+	echo "Looks kind of like an OSF/1 system, but we'll see..."
+	echo exit 0 >osf1
+elif test `echo abc | tr a-z A-Z` = Abc ; then
+	xxx=`./loc addbib blurfl $pth`
+	if $test -f $xxx; then
+	echo "Looks kind of like a USG system with BSD features, but we'll see..."
+		echo exit 0 >bsd
+		echo exit 0 >usg
+	else
+		if $contains SIGTSTP foo >/dev/null 2>&1 ; then
+			echo "Looks kind of like an extended USG system, but we'll see..."
+		else
+			echo "Looks kind of like a USG system, but we'll see..."
+		fi
+		echo exit 0 >usg
+	fi
+elif $contains SIGTSTP foo >/dev/null 2>&1 ; then
+	echo "Looks kind of like a BSD system, but we'll see..."
+	d_bsd="$define"
+	echo exit 0 >bsd
+else
+	echo "Looks kind of like a Version 7 system, but we'll see..."
+	echo exit 0 >v7
+fi
+case "$eunicefix" in
+*unixtovms*)
+	$cat <<'EOI'
+There is, however, a strange, musty smell in the air that reminds me of
+something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
+EOI
+	echo exit 0 >eunice
+	d_eunice="$define"
+: it so happens the Eunice I know will not run shell scripts in Unix format
+	;;
+*)
+	echo " "
+	echo "Congratulations.  You aren't running Eunice."
+	d_eunice="$undef"
+	;;
+esac
+: Detect OS2.  The p_ variable is set above in the Head.U unit.
+case "$p_" in
+:) ;;
+*)
+	$cat <<'EOI'
+I have the feeling something is not exactly right, however...don't tell me...
+lemme think...does HAL ring a bell?...no, of course, you're only running OS/2!
+EOI
+	echo exit 0 >os2
+	;;
+esac
+if test -f /xenix; then
+	echo "Actually, this looks more like a XENIX system..."
+	echo exit 0 >xenix
+	d_xenix="$define"
+else
+	echo " "
+	echo "It's not Xenix..."
+	d_xenix="$undef"
+fi
+chmod +x xenix
+$eunicefix xenix
+if test -f /venix; then
+	echo "Actually, this looks more like a VENIX system..."
+	echo exit 0 >venix
+else
+	echo " "
+	if ./xenix; then
+		: null
+	else
+		echo "Nor is it Venix..."
+	fi
+fi
+chmod +x bsd usg v7 osf1 eunice xenix venix os2
+$eunicefix bsd usg v7 osf1 eunice xenix venix os2
+$rm -f foo
+
+: see if we need a special compiler
+echo " "
+if ./usg; then
+	case "$cc" in
+	'') case "$Mcc" in
+		/*) dflt='Mcc';;
+		*) case "$large" in
+			-M*) dflt='cc';;
+			*)	if $contains '\-M' $sysman/cc.1 >/dev/null 2>&1 ; then
+					if $contains '\-M' $sysman/cpp.1 >/dev/null 2>&1; then
+						dflt='cc'
+					else
+						dflt='cc -M'
+					fi
+				else
+					dflt='cc'
+				fi;;
+			esac;;
+		esac;;
+	*)  dflt="$cc";;
+	esac
+	case "$dflt" in
+	*M*)	$cat <<'EOM'
+On some older systems the default C compiler will not resolve multiple global
+references that happen to have the same name.  On some such systems the "Mcc"
+command may be used to force these to be resolved.  On other systems a "cc -M"
+command is required.  (Note that the -M flag on other systems indicates a
+memory model to use!) If you have the Gnu C compiler, you might wish to use
+that instead.
+
+EOM
+	;;
+	esac
+	rp="Use which C compiler?"
+	. ./myread
+	cc="$ans"
+else
+	case "$cc" in
+	'') dflt=cc;;
+	*) dflt="$cc";;
+	esac
+	rp="Use which C compiler?"
+	. ./myread
+	cc="$ans"
+fi
+: Look for a hint-file generated 'call-back-unit'.  Now that the
+: user has specified the compiler, we may need to set or change some
+: other defaults.
+if $test -f cc.cbu; then
+    . ./cc.cbu
+fi
+echo " "
+echo "Checking for GNU cc in disguise and/or its version number..." >&4
+$cat >gccvers.c <
+int main() {
+#ifdef __GNUC__
+#ifdef __VERSION__
+	printf("%s\n", __VERSION__);
+#else
+	printf("%s\n", "1");
+#endif
+#endif
+	exit(0);
+}
+EOM
+if $cc $ldflags -o gccvers gccvers.c; then
+	gccversion=`./gccvers`
+	case "$gccversion" in
+	'') echo "You are not using GNU cc." ;;
+	*)  echo "You are using GNU cc $gccversion."
+	    ;;
+	esac
+else
+	echo " "
+	echo "*** WHOA THERE!!! ***" >&4
+	echo "    Your C compiler \"$cc\" doesn't seem to be working!" >&4
+	case "$knowitall" in
+	'')
+	echo "    You'd better start hunting for one and let me know about it." >&4
+		exit 1
+		;;
+	esac
+fi
+$rm -f gccvers*
+case "$gccversion" in
+1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
+esac
+
+: decide how portable to be.  Allow command line overrides.
+case "$d_portable" in
+"$undef") ;;
+*)	d_portable="$define" ;;
+esac
+
+: set up shell script to do ~ expansion
+cat >filexp <&2
 			exit 1
 		fi
 		case "\$1" in
@@ -2590,6 +3161,9 @@ exp_file=''
 nopath_ok=''
 orig_rp="$rp"
 orig_dflt="$dflt"
+case "$gfpth" in
+'') gfpth='.' ;;
+esac
 
 case "$fn" in
 *\(*)
@@ -2716,18 +3290,40 @@ while test "$type"; do
 		'')
 			case "$type" in
 			File)
-				if test -f "$ansexp"; then
-					type=''
-				elif test -r "$ansexp" || (test -h "$ansexp") >/dev/null 2>&1
-				then
-					echo "($value is not a plain file, but that's ok.)"
-					type=''
-				fi
+				for fp in $gfpth; do
+					if test "X$fp" = X.; then
+					    pf="$ansexp"
+					else    
+					    pf="$fp/$ansexp"
+					fi
+					if test -f "$pf"; then
+						type=''
+					elif test -r "$pf" || (test -h "$pf") >/dev/null 2>&1
+					then
+						echo "($value is not a plain file, but that's ok.)"
+						type=''
+					fi
+					if test X"$type" = X; then
+					    value="$pf"
+					    break
+					fi
+				done
 				;;
 			Directory)
-				if test -d "$ansexp"; then
-					type=''
-				fi
+				for fp in $gfpth; do
+					if test "X$fp" = X.; then
+					    dir="$ans"
+					    direxp="$ansexp"
+					else    
+					    dir="$fp/$ansexp"
+					    direxp="$fp/$ansexp"
+					fi
+					if test -d "$direxp"; then
+						type=''
+						value="$dir"
+						break
+					fi
+				done
 				;;
 			Locate)
 				if test -d "$ansexp"; then
@@ -2781,1336 +3377,1684 @@ ans="$value"
 rp="$orig_rp"
 dflt="$orig_dflt"
 rm -f getfile.ok
+test "X$gfpthkeep" != Xy && gfpth=""
 EOSC
 
-: determine root of directory hierarchy where package will be installed.
-case "$prefix" in
-'')
-	dflt=`./loc . /usr/local /usr/local /local /opt /usr`
+: What should the include directory be ?
+echo " "
+$echo $n "Hmm...  $c"
+dflt='/usr/include'
+incpath=''
+mips_type=''
+if $test -f /bin/mips && /bin/mips; then
+	echo "Looks like a MIPS system..."
+	$cat >usr.c <<'EOCP'
+#ifdef SYSTYPE_BSD43
+/bsd43
+#endif
+EOCP
+	if $cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then
+		dflt='/bsd43/usr/include'
+		incpath='/bsd43'
+		mips_type='BSD 4.3'
+	else
+		mips_type='System V'
+	fi
+	$rm -f usr.c usr.out
+	echo "and you're compiling with the $mips_type compiler and libraries."
+	xxx_prompt=y
+	echo "exit 0" >mips
+else
+	echo "Doesn't look like a MIPS system."
+	xxx_prompt=n
+	echo "exit 1" >mips
+fi
+chmod +x mips
+$eunicefix mips
+case "$usrinc" in
+'') ;;
+*) dflt="$usrinc";;
+esac
+case "$xxx_prompt" in
+y)	fn=d/
+	echo " "
+	rp='Where are the include files you want to use?'
+	. ./getfile
+	usrinc="$ans"
+	;;
+*)	usrinc="$dflt"
+	;;
+esac
+
+: see how we invoke the C preprocessor
+echo " "
+echo "Now, how can we feed standard input to your C preprocessor..." >&4
+cat <<'EOT' >testcpp.c
+#define ABC abc
+#define XYZ xyz
+ABC.XYZ
+EOT
+cd ..
+if test ! -f cppstdin; then
+	if test "X$osname" = "Xaix" -a "X$gccversion" = X; then
+		# AIX cc -E doesn't show the absolute headerfile
+		# locations but we'll cheat by using the -M flag.
+		echo 'cat >.$$.c; rm -f .$$.u; '"$cc"' ${1+"$@"} -M -c .$$.c 2>/dev/null; test -s .$$.u && awk '"'"'$2 ~ /\.h$/ { print "# 0 \""$2"\"" }'"'"' .$$.u; rm -f .$$.o .$$.u; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
+	else
+		echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin
+	fi
+else
+	echo "Keeping your $hint cppstdin wrapper."
+fi
+chmod 755 cppstdin
+wrapper=`pwd`/cppstdin
+ok='false'
+cd UU
+
+if $test "X$cppstdin" != "X" && \
+	$cppstdin $cppminus testcpp.out 2>&1 && \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
+then
+	echo "You used to use $cppstdin $cppminus so we'll use that again."
+	case "$cpprun" in
+	'') echo "But let's see if we can live without a wrapper..." ;;
+	*)
+		if $cpprun $cpplast testcpp.out 2>&1 && \
+			$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
+		then
+			echo "(And we'll use $cpprun $cpplast to preprocess directly.)"
+			ok='true'
+		else
+			echo "(However, $cpprun $cpplast does not work, let's see...)"
+		fi
+		;;
+	esac
+else
+	case "$cppstdin" in
+	'') ;;
+	*)
+		echo "Good old $cppstdin $cppminus does not seem to be of any help..."
+		;;
+	esac
+fi
+
+if $ok; then
+	: nothing
+elif echo 'Maybe "'"$cc"' -E" will work...'; \
+	$cc -E testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	echo "Yup, it does."
+	x_cpp="$cc -E"
+	x_minus='';
+elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \
+	$cc -E - testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	echo "Yup, it does."
+	x_cpp="$cc -E"
+	x_minus='-';
+elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \
+	$cc -P testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	echo "Yipee, that works!"
+	x_cpp="$cc -P"
+	x_minus='';
+elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \
+	$cc -P - testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	echo "At long last!"
+	x_cpp="$cc -P"
+	x_minus='-';
+elif echo 'No such luck, maybe "'$cpp'" will work...'; \
+	$cpp testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	echo "It works!"
+	x_cpp="$cpp"
+	x_minus='';
+elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \
+	$cpp - testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	echo "Hooray, it works!  I was beginning to wonder."
+	x_cpp="$cpp"
+	x_minus='-';
+elif echo 'Uh-uh.  Time to get fancy.  Trying a wrapper...'; \
+	$wrapper testcpp.out 2>&1; \
+	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+	x_cpp="$wrapper"
+	x_minus=''
+	echo "Eureka!"
+else
+	dflt=''
+	rp="No dice.  I can't find a C preprocessor.  Name one:"
+	. ./myread
+	x_cpp="$ans"
+	x_minus=''
+	$x_cpp testcpp.out 2>&1
+	if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+		echo "OK, that will do." >&4
+	else
+echo "Sorry, I can't get that to work.  Go find one and rerun Configure." >&4
+		exit 1
+	fi
+fi
+
+case "$ok" in
+false)
+	cppstdin="$x_cpp"
+	cppminus="$x_minus"
+	cpprun="$x_cpp"
+	cpplast="$x_minus"
+	set X $x_cpp
+	shift
+	case "$1" in
+	"$cpp")
+		echo "Perhaps can we force $cc -E using a wrapper..."
+		if $wrapper testcpp.out 2>&1; \
+			$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
+		then
+			echo "Yup, we can."
+			cppstdin="$wrapper"
+			cppminus='';
+		else
+			echo "Nope, we'll have to live without it..."
+		fi
+		;;
+	esac
+	case "$cpprun" in
+	"$wrapper")
+		cpprun=''
+		cpplast=''
+		;;
+	esac
 	;;
+esac
+
+case "$cppstdin" in
+"$wrapper"|'cppstdin') ;;
+*) $rm -f $wrapper;;
+esac
+$rm -f testcpp.c testcpp.out
+
+: Set private lib path
+case "$plibpth" in
+'') if ./mips; then
+		plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib"
+	fi;;
+esac
+case "$libpth" in
+' ') dlist='';;
+'') dlist="$loclibpth $plibpth $glibpth";;
+*) dlist="$libpth";;
+esac
+
+: Now check and see which directories actually exist, avoiding duplicates
+libpth=''
+for xxx in $dlist
+do
+    if $test -d $xxx; then
+		case " $libpth " in
+		*" $xxx "*) ;;
+		*) libpth="$libpth $xxx";;
+		esac
+    fi
+done
+$cat <<'EOM'
+
+Some systems have incompatible or broken versions of libraries.  Among
+the directories listed in the question below, please remove any you
+know not to be holding relevant libraries, and add any that are needed.
+Say "none" for none.
+
+EOM
+case "$libpth" in
+'') dflt='none';;
 *)
-	dflt="$prefix"
+	set X $libpth
+	shift
+	dflt=${1+"$@"}
+	;;
+esac
+rp="Directories to use for library searches?"
+. ./myread
+case "$ans" in
+none) libpth=' ';;
+*) libpth="$ans";;
+esac
+
+: compute shared library extension
+case "$so" in
+'')
+	if xxx=`./loc libc.sl X $libpth`; $test -f "$xxx"; then
+		dflt='sl'
+	else
+		dflt='so'
+	fi
 	;;
+*) dflt="$so";;
 esac
 $cat <&4
-if $test -r $rsrc/patchlevel.h;then
-	patchlevel=`awk '/define[ 	]+PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h`
-	subversion=`awk '/define[ 	]+SUBVERSION/ {print $3}' $rsrc/patchlevel.h`
-else
-	patchlevel=0
-	subversion=0
-fi
-$echo $n "(You have $package" $c
-case "$package" in
-"*$baserev")	;;
-*)		$echo $n " $baserev" $c ;;
+case "$_a" in
+'')	case "$lib_ext" in
+    '')	_a='.a';;
+	*)	_a="$lib_ext" ;;
+	esac
+	;;
 esac
-$echo $n " patchlevel $patchlevel" $c
-test 0 -eq "$subversion" || $echo $n " subversion $subversion" $c
-echo ".)"
-
-if test 0 -eq "$subversion"; then
-	version=`LC_ALL=C; export LC_ALL; \
-		 echo $baserev $patchlevel | \
-		 $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'`
-else
-	version=`LC_ALL=C; export LC_ALL; \
-		 echo $baserev $patchlevel $subversion | \
-		 $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'`
-fi
-: Figure out perl API version.  Perhaps this should be in patchlevel.h
-if test "$subversion" -lt 50; then
-	apiversion=`LC_ALL=C; export LC_ALL; \
-		 echo $baserev $patchlevel | \
-		 $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'`
-else
-	apiversion="$version"
-fi
-
-: determine where private library files go
-: Usual default is /usr/local/lib/perl5/$version.
-: Also allow things like /opt/perl/lib/$version, since 
-: /opt/perl/lib/perl5... would be redundant.
-case "$prefix" in
-*perl*) set dflt privlib lib/$version ;;
-*)	 set dflt privlib lib/$package/$version ;;
+case "$_o" in
+'') case "$obj_ext" in
+	'')	_o='.o';;
+	*)	_o="$obj_ext";;
+	esac
+	;;
 esac
-eval $prefixit
-$cat <bsd
-echo exit 1 >usg
-echo exit 1 >v7
-echo exit 1 >osf1
-echo exit 1 >eunice
-echo exit 1 >xenix
-echo exit 1 >venix
-echo exit 1 >os2
-d_bsd="$undef"
-$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null
-if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
-then
-	echo "Looks kind of like an OSF/1 system, but we'll see..."
-	echo exit 0 >osf1
-elif test `echo abc | tr a-z A-Z` = Abc ; then
-	xxx=`./loc addbib blurfl $pth`
-	if $test -f $xxx; then
-	echo "Looks kind of like a USG system with BSD features, but we'll see..."
-		echo exit 0 >bsd
-		echo exit 0 >usg
-	else
-		if $contains SIGTSTP foo >/dev/null 2>&1 ; then
-			echo "Looks kind of like an extended USG system, but we'll see..."
-		else
-			echo "Looks kind of like a USG system, but we'll see..."
-		fi
-		echo exit 0 >usg
+echo "Checking for optional libraries..." >&4
+case "$libs" in
+' '|'') dflt='';;
+*) dflt="$libs";;
+esac
+case "$libswanted" in
+'') libswanted='c_s';;
+esac
+case "$usesocks" in
+"$define") libswanted="$libswanted socks5 socks5_sh" ;;
+esac
+libsfound=''
+libsfiles=''
+libsdirs=''
+libspath=''
+for thisdir in $libpth $xlibpth; do
+  test -d $thisdir && libspath="$libspath $thisdir"
+done
+for thislib in $libswanted; do
+	for thisdir in $libspath; do
+	    xxx=''
+	    if $test ! -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then
+		xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|tail -1`
+	        $test -f "$xxx" && eval $libscheck
+		$test -f "$xxx" && libstyle=shared
+	    fi
+	    if test ! -f "$xxx"; then
+		xxx=$thisdir/lib$thislib.$so
+	        $test -f "$xxx" && eval $libscheck
+		$test -f "$xxx" && libstyle=shared
+	    fi	
+	    if test ! -f "$xxx"; then
+		xxx=$thisdir/lib$thislib$_a
+	        $test -f "$xxx" && eval $libscheck
+		$test -f "$xxx" && libstyle=static
+	    fi
+	    if test ! -f "$xxx"; then
+		xxx=$thisdir/$thislib$_a
+	        $test -f "$xxx" && eval $libscheck
+		$test -f "$xxx" && libstyle=static
+	    fi
+	    if test ! -f "$xxx"; then
+		xxx=$thisdir/lib${thislib}_s$_a
+	        $test -f "$xxx" && eval $libscheck
+		$test -f "$xxx" && libstyle=static
+		$test -f "$xxx" && thislib=${thislib}_s
+	    fi
+	    if test ! -f "$xxx"; then
+		xxx=$thisdir/Slib$thislib$_a
+	        $test -f "$xxx" && eval $libscheck
+		$test -f "$xxx" && libstyle=static
+	    fi
+	    if $test -f "$xxx"; then
+		case "$libstyle" in
+		shared) echo "Found -l$thislib (shared)." ;;
+		static) echo "Found -l$thislib." ;;
+		*)      echo "Found -l$thislib ($libstyle)." ;;
+		esac
+		case " $dflt " in
+		*"-l$thislib "*);;
+		*) dflt="$dflt -l$thislib"
+                   libsfound="$libsfound $xxx"
+                   yyy=`basename $xxx`
+                   libsfiles="$libsfiles $yyy"
+                   yyy=`echo $xxx|$sed -e "s%/$yyy\\$%%"`
+                   case " $libsdirs " in
+                   *" $yyy "*) ;;
+                   *) libsdirs="$libsdirs $yyy" ;;
+                   esac
+		   ;;
+		esac
+		break
+	    fi	
+	done
+	if $test ! -f "$xxx"; then
+	    echo "No -l$thislib."
 	fi
-elif $contains SIGTSTP foo >/dev/null 2>&1 ; then
-	echo "Looks kind of like a BSD system, but we'll see..."
-	d_bsd="$define"
-	echo exit 0 >bsd
-else
-	echo "Looks kind of like a Version 7 system, but we'll see..."
-	echo exit 0 >v7
-fi
-case "$eunicefix" in
-*unixtovms*)
-	$cat <<'EOI'
-There is, however, a strange, musty smell in the air that reminds me of
-something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
-EOI
-	echo exit 0 >eunice
-	d_eunice="$define"
-: it so happens the Eunice I know will not run shell scripts in Unix format
-	;;
-*)
-	echo " "
-	echo "Congratulations.  You aren't running Eunice."
-	d_eunice="$undef"
-	;;
+done
+set X $dflt
+shift
+dflt="$*"
+case "$libs" in
+'') dflt="$dflt";;
+*) dflt="$libs";;
 esac
-: Detect OS2.  The p_ variable is set above in the Head.U unit.
-case "$p_" in
-:) ;;
-*)
-	$cat <<'EOI'
-I have the feeling something is not exactly right, however...don't tell me...
-lemme think...does HAL ring a bell?...no, of course, you're only running OS/2!
-EOI
-	echo exit 0 >os2
-	;;
+case "$dflt" in
+' '|'') dflt='none';;
 esac
-if test -f /xenix; then
-	echo "Actually, this looks more like a XENIX system..."
-	echo exit 0 >xenix
-	d_xenix="$define"
-else
-	echo " "
-	echo "It's not Xenix..."
-	d_xenix="$undef"
-fi
-chmod +x xenix
-$eunicefix xenix
-if test -f /venix; then
-	echo "Actually, this looks more like a VENIX system..."
-	echo exit 0 >venix
-else
-	echo " "
-	if ./xenix; then
-		: null
-	else
-		echo "Nor is it Venix..."
-	fi
-fi
-chmod +x bsd usg v7 osf1 eunice xenix venix os2
-$eunicefix bsd usg v7 osf1 eunice xenix venix os2
-$rm -f foo
 
-: see if setuid scripts can be secure
 $cat <reflect
-	chmod +x,u+s reflect
-	./reflect >flect 2>&1
-	if $contains "/dev/fd" flect >/dev/null; then
-		echo "Congratulations, your kernel has secure setuid scripts!" >&4
-		val="$define"
-	else
-		$cat <&4
-				dflt=n;;
-			"$undef")
-				echo "Well, the $hint value is *not* secure." >&4
-				dflt=n;;
-			*)	echo "Well, the $hint value *is* secure." >&4
-				dflt=y;;
+EOH
+rp="What optimizer/debugger flag should be used?"
+. ./myread
+optimize="$ans"
+case "$optimize" in
+'none') optimize=" ";;
+esac
+
+dflt=''
+: We will not override a previous value, but we might want to
+: augment a hint file
+case "$hint" in
+default|recommended)
+	case "$gccversion" in
+	1*) dflt='-fpcc-struct-return' ;;
+	esac
+	case "$optimize" in
+	*-g*) dflt="$dflt -DDEBUGGING";;
+	esac
+	case "$gccversion" in
+	2*) if test -d /etc/conf/kconfig.d &&
+			$contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1
+		then
+			dflt="$dflt -posix"
+		fi
+		;;
+	esac
+	case "$gccversion" in
+	1*) ;;
+	2.[0-8]*) ;;
+	?*) 	echo " "
+		echo "Checking if your compiler accepts -fno-strict-aliasing" 2>&1
+		echo 'int main(void) { return 0; }' > gcctest.c
+		if $cc -O2 -fno-strict-aliasing -o gcctest gcctest.c; then
+			echo "Yes, it does." 2>&1
+			case "$ccflags" in
+			*strict-aliasing*) 
+				echo "Leaving current flags $ccflags alone." 2>&1
+				;;
+			*) dflt="$dflt -fno-strict-aliasing" ;;
 			esac
-			;;
-		*)
-			$rm -f reflect flect
-			echo "#!$ls" >reflect
-			chmod +x,u+s reflect
-			echo >flect
-			chmod a+w flect
-			echo '"su" will (probably) prompt you for '"$ans's password."
-			su $ans -c './reflect >flect'
-			if $contains "/dev/fd" flect >/dev/null; then
-				echo "Okay, it looks like setuid scripts are secure." >&4
-				dflt=y
-			else
-				echo "I don't think setuid scripts are secure." >&4
-				dflt=n
-			fi
-			;;
-		esac
-		rp='Does your kernel have *secure* setuid scripts?'
-		. ./myread
-		case "$ans" in
-		[yY]*)	val="$define";;
-		*)	val="$undef";;
-		esac
+		else
+			echo "Nope, it doesn't, but that's ok." 2>&1
+		fi
+		;;
+	esac
+	;;
+esac
+
+case "$mips_type" in
+*BSD*|'') inclwanted="$locincpth $usrinc";;
+*) inclwanted="$locincpth $inclwanted $usrinc/bsd";;
+esac
+for thisincl in $inclwanted; do
+	if $test -d $thisincl; then
+		if $test x$thisincl != x$usrinc; then
+			case "$dflt" in
+			*$thisincl*);;
+			*) dflt="$dflt -I$thisincl";;
+			esac
+		fi
 	fi
+done
+
+inctest='if $contains $2 $usrinc/$1 >/dev/null 2>&1; then
+	xxx=true;
+elif $contains $2 $usrinc/sys/$1 >/dev/null 2>&1; then
+	xxx=true;
 else
-	echo "I don't think setuid scripts are secure (no /dev/fd directory)." >&4
-	echo "(That's for file descriptors, not floppy disks.)"
-	val="$undef"
-fi
-set d_suidsafe
-eval $setvar
+	xxx=false;
+fi;
+if $xxx; then
+	case "$dflt" in
+	*$2*);;
+	*) dflt="$dflt -D$2";;
+	esac;
+fi'
 
-$rm -f reflect flect
+set signal.h LANGUAGE_C; eval $inctest
 
-: now see if they want to do setuid emulation
-echo " "
-val="$undef"
-case "$d_suidsafe" in
-"$define")
-	val="$undef"
-	echo "No need to emulate SUID scripts since they are secure here." >& 4
+case "$usesocks" in
+$define)
+	ccflags="$ccflags -DSOCKS"
 	;;
-*)
-	$cat <&4
+	set X $cppflags
+	shift
+	cppflags=''
+	$cat >cpp.c <<'EOM'
+#define BLURFL foo
+
+BLURFL xx LFRULB
+EOM
+	previous=''
+	for flag in $*
+	do
+		case "$flag" in
+		-*) ftry="$flag";;
+		*) ftry="$previous $flag";;
+		esac
+		if $cppstdin -DLFRULB=bar $cppflags $ftry $cppminus cpp1.out 2>/dev/null && \
+			$cpprun -DLFRULB=bar $cppflags $ftry $cpplast cpp2.out 2>/dev/null && \
+			$contains 'foo.*xx.*bar' cpp1.out >/dev/null 2>&1 && \
+			$contains 'foo.*xx.*bar' cpp2.out >/dev/null 2>&1
+		then
+			cppflags="$cppflags $ftry"
+			previous=''
+		else
+			previous="$flag"
+		fi
+	done
+	set X $cppflags
+	shift
+	cppflags=${1+"$@"}
+	case "$cppflags" in
+	*-*)  echo "They appear to be: $cppflags";;
 	esac
+	$rm -f cpp.c cpp?.out
 	;;
 esac
-set d_dosuid
-eval $setvar
 
-: determine where manual pages are on this system
-echo " "
-case "$sysman" in
-'') 
-	syspath='/usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1'
-	syspath="$syspath /usr/man/u_man/man1 /usr/share/man/man1"
-	syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
-	syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
-	syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
-	sysman=`./loc . /usr/man/man1 $syspath`
+: flags used in final linking phase
+case "$ldflags" in
+'') if ./venix; then
+		dflt='-i -z'
+	else
+		dflt=''
+	fi
+	case "$ccflags" in
+	*-posix*) dflt="$dflt -posix" ;;
+	esac
 	;;
+*) dflt="$ldflags";;
 esac
-if $test -d "$sysman"; then
-	echo "System manual is in $sysman." >&4
-else
-	echo "Could not find manual pages in source form." >&4
-fi
 
-: see what memory models we can support
-case "$models" in
-'')
-	$cat >pdp11.c <<'EOP'
-int main() {
-#ifdef pdp11
-	exit(0);
-#else
-	exit(1);
-#endif
-}
-EOP
-	( cc -o pdp11 pdp11.c ) >/dev/null 2>&1
-	if $test -f pdp11 && ./pdp11 2>/dev/null; then
-		dflt='unsplit split'
-	else
-		tans=`./loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge`
-		case "$tans" in
-		X) dflt='none';;
-		*) if $test -d /lib/small || $test -d /usr/lib/small; then
-				dflt='small'
-			else
-				dflt=''
-			fi
-			if $test -d /lib/medium || $test -d /usr/lib/medium; then
-				dflt="$dflt medium"
-			fi
-			if $test -d /lib/large || $test -d /usr/lib/large; then
-				dflt="$dflt large"
-			fi
-			if $test -d /lib/huge || $test -d /usr/lib/huge; then
-				dflt="$dflt huge"
-			fi
+: Try to guess additional flags to pick up local libraries.
+for thislibdir in $libpth; do
+	case " $loclibpth " in
+	*" $thislibdir "*)
+		case "$dflt " in 
+		*"-L$thislibdir "*) ;;
+		*)  dflt="$dflt -L$thislibdir" ;;
 		esac
-	fi;;
-*) dflt="$models";;
+		;;
+	esac
+done
+
+case "$dflt" in
+'') dflt='none' ;;
 esac
-$cat </dev/null 2>&1 || \
-			 $contains '\-i' $sysman/cc.1 >/dev/null 2>&1; then
-			dflt='-i'
-		else
-			dflt='none'
-		fi;;
-	*) dflt="$split";;
-	esac
-	rp="What flag indicates separate I and D space?"
-	. ./myread
-	tans="$ans"
-	case "$tans" in
-	none) tans='';;
-	esac
-	split="$tans"
-	unsplit='';;
-*large*|*small*|*medium*|*huge*)
-	case "$models" in
-	*large*)
-		case "$large" in
-		'') dflt='-Ml';;
-		*) dflt="$large";;
-		esac
-	rp="What flag indicates large model?"
-	. ./myread
-	tans="$ans"
-	case "$tans" in
-	none) tans='';
-	esac
-	large="$tans";;
-	*) large='';;
-	esac
-	case "$models" in
-	*huge*) case "$huge" in
-		'') dflt='-Mh';;
-		*) dflt="$huge";;
-		esac
-		rp="What flag indicates huge model?"
-		. ./myread
-		tans="$ans"
-		case "$tans" in
-		none) tans='';
-		esac
-		huge="$tans";;
-	*) huge="$large";;
-	esac
-	case "$models" in
-	*medium*) case "$medium" in
-		'') dflt='-Mm';;
-		*) dflt="$medium";;
-		esac
-		rp="What flag indicates medium model?"
-		. ./myread
-		tans="$ans"
-		case "$tans" in
-		none) tans='';
-		esac
-		medium="$tans";;
-	*) medium="$large";;
-	esac
-	case "$models" in
-	*small*) case "$small" in
-		'') dflt='none';;
-		*) dflt="$small";;
-		esac
-		rp="What flag indicates small model?"
-		. ./myread
-		tans="$ans"
-		case "$tans" in
-		none) tans='';
-		esac
-		small="$tans";;
-	*) small='';;
-	esac
-	;;
-*)
-	echo "Unrecognized memory models--you may have to edit Makefile.SH" >&4
-	;;
-esac
-$rm -f pdp11.* pdp11
+Make sure you include the appropriate -L/path flags if your C linker
+does not normally search all of the directories you specified above,
+namely
+	$libpth
+To use no flags, specify the word "none".
 
-: see if we need a special compiler
-echo " "
-if ./usg; then
-	case "$cc" in
-	'') case "$Mcc" in
-		/*) dflt='Mcc';;
-		*) case "$large" in
-			-M*) dflt='cc';;
-			*)	if $contains '\-M' $sysman/cc.1 >/dev/null 2>&1 ; then
-					if $contains '\-M' $sysman/cpp.1 >/dev/null 2>&1; then
-						dflt='cc'
-					else
-						dflt='cc -M'
-					fi
-				else
-					dflt='cc'
-				fi;;
-			esac;;
-		esac;;
-	*)  dflt="$cc";;
-	esac
-	case "$dflt" in
-	*M*)	$cat <<'EOM'
-On some older systems the default C compiler will not resolve multiple global
-references that happen to have the same name.  On some such systems the "Mcc"
-command may be used to force these to be resolved.  On other systems a "cc -M"
-command is required.  (Note that the -M flag on other systems indicates a
-memory model to use!) If you have the Gnu C compiler, you might wish to use
-that instead.
+EOH
+
+rp="Any additional ld flags (NOT including libraries)?"
+. ./myread
+case "$ans" in
+none) ldflags='';;
+*) ldflags="$ans";;
+esac
+rmlist="$rmlist pdp11"
 
-EOM
-	;;
-	esac
-	rp="Use which C compiler?"
-	. ./myread
-	cc="$ans"
-else
-	case "$cc" in
-	'') dflt=cc;;
-	*) dflt="$cc";;
-	esac
-	rp="Use which C compiler?"
-	. ./myread
-	cc="$ans"
-fi
-: Look for a hint-file generated 'call-back-unit'.  Now that the
-: user has specified the compiler, we may need to set or change some
-: other defaults.
-if $test -f cc.cbu; then
-    . ./cc.cbu
-fi
+: coherency check
 echo " "
-echo "Checking for GNU cc in disguise and/or its version number..." >&4
-$cat >gccvers.c <&4
+$cat > try.c <<'EOF'
 #include 
-int main() {
-#ifdef __GNUC__
-#ifdef __VERSION__
-	printf("%s\n", __VERSION__);
-#else
-	printf("%s\n", "1");
-#endif
-#endif
-	exit(0);
-}
+int main() { printf("Ok\n"); exit(0); }
+EOF
+set X $cc $optimize $ccflags -o try $ldflags try.c $libs
+shift
+$cat >try.msg <<'EOM'
+I've tried to compile and run the following simple program:
+
 EOM
-if $cc -o gccvers gccvers.c >/dev/null 2>&1; then
-	gccversion=`./gccvers`
-	case "$gccversion" in
-	'') echo "You are not using GNU cc." ;;
-	*)  echo "You are using GNU cc $gccversion." ;;
-	esac
+$cat try.c >> try.msg
+
+$cat >> try.msg <>try.msg 2>&1; then
+	if sh -c './try' >>try.msg 2>&1; then
+		xxx=`./try`
+		case "$xxx" in
+		"Ok") dflt=n ;;
+		*)	echo 'The program compiled OK, but produced no output.' >> try.msg
+			case " $libs " in
+			*" -lsfio "*)
+				cat >> try.msg <<'EOQS'
+If $libs contains -lsfio, and sfio is mis-configured, then it
+sometimes (apparently) runs and exits with a 0 status, but with no
+output!  It may have to do with sfio's use of _exit vs. exit.
+
+EOQS
+				rp="You have a big problem.  Shall I abort Configure"
+				dflt=y
+				;;
+			esac
+			;;
+		esac
+	else
+		echo "The program compiled OK, but exited with status $?." >>try.msg
+		rp="You have a problem.  Shall I abort Configure"
+		dflt=y
+	fi
 else
-	echo " "
-	echo "*** WHOA THERE!!! ***" >&4
-	echo "    Your C compiler \"$cc\" doesn't seem to be working!" >&4
+	echo "I can't compile the test program." >>try.msg
+	rp="You have a BIG problem.  Shall I abort Configure"
+	dflt=y
+fi
+case "$dflt" in
+y)
+	$cat try.msg >&4
 	case "$knowitall" in
 	'')
-	echo "    You'd better start hunting for one and let me know about it." >&4
+		echo "(The supplied flags or libraries might be incorrect.)"
+		;;
+	*) dflt=n;;
+	esac
+	echo " "
+	. ./myread
+	case "$ans" in
+	n*|N*) ;;
+	*)	echo "Ok.  Stopping Configure." >&4
 		exit 1
 		;;
 	esac
-fi
-$rm -f gccvers*
-case "$gccversion" in
-1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
+	;;
+n) echo "OK, that should do.";;
 esac
+$rm -f try try.* core
 
-: What should the include directory be ?
+: define an is-a-typedef? function
+typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
+case "$inclist" in
+"") inclist="sys/types.h";;
+esac;
+eval "varval=\$$var";
+case "$varval" in
+"")
+	$rm -f temp.c;
+	for inc in $inclist; do
+		echo "#include <$inc>" >>temp.c;
+	done;
+	echo "#ifdef $type" >> temp.c;
+	echo "printf(\"We have $type\");" >> temp.c;
+	echo "#endif" >> temp.c;
+	$cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null;
+	if $contains $type temp.E >/dev/null 2>&1; then
+		eval "$var=\$type";
+	else
+		eval "$var=\$def";
+	fi;
+	$rm -f temp.?;;
+*) eval "$var=\$varval";;
+esac'
+
+: define an is-a-typedef? function that prompts if the type is not available.
+typedef_ask='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
+case "$inclist" in
+"") inclist="sys/types.h";;
+esac;
+eval "varval=\$$var";
+case "$varval" in
+"")
+	$rm -f temp.c;
+	for inc in $inclist; do
+		echo "#include <$inc>" >>temp.c;
+	done;
+	echo "#ifdef $type" >> temp.c;
+	echo "printf(\"We have $type\");" >> temp.c;
+	echo "#endif" >> temp.c;
+	$cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null;
+	echo " " ;
+	echo "$rp" | $sed -e "s/What is/Looking for/" -e "s/?/./";
+	if $contains $type temp.E >/dev/null 2>&1; then
+		echo "$type found." >&4;
+		eval "$var=\$type";
+	else
+		echo "$type NOT found." >&4;
+		dflt="$def";
+		. ./myread ;
+		eval "$var=\$ans";
+	fi;
+	$rm -f temp.?;;
+*) eval "$var=\$varval";;
+esac'
+
+: define a shorthand compile call
+compile='
+mc_file=$1;
+shift;
+$cc $optimize $ccflags $ldflags -o ${mc_file} $* ${mc_file}.c $libs > /dev/null 2>&1;'
+: define a shorthand compile call for compilations that should be ok.
+compile_ok='
+mc_file=$1;
+shift;
+$cc $optimize $ccflags $ldflags -o ${mc_file} $* ${mc_file}.c $libs;'
+
+: check for lengths of integral types
 echo " "
-$echo $n "Hmm...  $c"
-dflt='/usr/include'
-incpath=''
-mips_type=''
-if $test -f /bin/mips && /bin/mips; then
-	echo "Looks like a MIPS system..."
-	$cat >usr.c <<'EOCP'
-#ifdef SYSTYPE_BSD43
-/bsd43
-#endif
+case "$intsize" in
+'')
+	echo "Checking to see how big your integers are..." >&4
+	$cat >intsize.c <<'EOCP'
+#include 
+int main()
+{
+	printf("intsize=%d;\n", (int)sizeof(int));
+	printf("longsize=%d;\n", (int)sizeof(long));
+	printf("shortsize=%d;\n", (int)sizeof(short));
+	exit(0);
+}
 EOCP
-	if $cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then
-		dflt='/bsd43/usr/include'
-		incpath='/bsd43'
-		mips_type='BSD 4.3'
+	set intsize
+	if eval $compile_ok && ./intsize > /dev/null; then
+		eval `./intsize`
+		echo "Your integers are $intsize bytes long."
+		echo "Your long integers are $longsize bytes long."
+		echo "Your short integers are $shortsize bytes long."
 	else
-		mips_type='System V'
+		$cat >&4 <mips
-else
-	echo "Doesn't look like a MIPS system."
-	xxx_prompt=n
-	echo "exit 1" >mips
-fi
-chmod +x mips
-$eunicefix mips
-case "$usrinc" in
-'') ;;
-*) dflt="$usrinc";;
-esac
-case "$xxx_prompt" in
-y)	fn=d/
-	echo " "
-	rp='Where are the include files you want to use?'
-	. ./getfile
-	usrinc="$ans"
-	;;
-*)	usrinc="$dflt"
 	;;
 esac
+$rm -f intsize intsize.*
+
+: see what type lseek is declared as in the kernel
+rp="What is the type used for lseek's offset on this system?"
+set off_t lseektype long stdio.h sys/types.h
+eval $typedef_ask
 
-: see how we invoke the C preprocessor
 echo " "
-echo "Now, how can we feed standard input to your C preprocessor..." >&4
-cat <<'EOT' >testcpp.c
-#define ABC abc
-#define XYZ xyz
-ABC.XYZ
-EOT
-cd ..
-if test ! -f cppstdin; then
-echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin
+echo "Checking to see how big your file offsets are..." >&4
+$cat >try.c <
+#include 
+int main()
+{
+    printf("%d\n", (int)sizeof($lseektype));
+    return(0); 
+}
+EOCP
+set try
+if eval $compile_ok; then
+	lseeksize=`./try`
+	echo "Your file offsets are $lseeksize bytes long."
 else
-	echo "Keeping your $hint cppstdin wrapper."
+	dflt=$longsize
+	echo " "
+	echo "(I can't seem to compile the test program.  Guessing...)"
+	rp="What is the size of your file offsets (in bytes)?"
+	. ./myread
+	lseeksize="$ans"
 fi
-chmod 755 cppstdin
-wrapper=`pwd`/cppstdin
-ok='false'
-cd UU
+$rm -f try.c try
 
-if $test "X$cppstdin" != "X" && \
-	$cppstdin $cppminus testcpp.out 2>&1 && \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
-then
-	echo "You used to use $cppstdin $cppminus so we'll use that again."
-	case "$cpprun" in
-	'') echo "But let's see if we can live without a wrapper..." ;;
-	*)
-		if $cpprun $cpplast testcpp.out 2>&1 && \
-			$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
-		then
-			echo "(And we'll use $cpprun $cpplast to preprocess directly.)"
-			ok='true'
-		else
-			echo "(However, $cpprun $cpplast does not work, let's see...)"
-		fi
+: see what type file positions are declared as in the library
+rp="What is the type for file position used by fsetpos()?"
+set fpos_t fpostype long stdio.h sys/types.h
+eval $typedef_ask
+
+echo " "
+case "$fpostype" in
+*_t) zzz="$fpostype"	;;
+*)   zzz="fpos_t"	;;
+esac
+echo "Checking the size of $zzz..." >&4 
+cat > try.c <
+#include 
+int main() {
+    printf("%d\n", (int)sizeof($fpostype));
+    exit(0);
+}
+EOCP
+set try
+if eval $compile_ok; then
+	yyy=`./try`
+	case "$yyy" in
+	'')	fpossize=4
+		echo "(I can't execute the test program--guessing $fpossize.)" >&4
 		;;
-	esac
-else
-	case "$cppstdin" in
-	'') ;;
-	*)
-		echo "Good old $cppstdin $cppminus does not seem to be of any help..."
+	*)	fpossize=$yyy
+		echo "Your $zzz is $fpossize bytes long."
 		;;
 	esac
-fi
-
-if $ok; then
-	: nothing
-elif echo 'Maybe "'"$cc"' -E" will work...'; \
-	$cc -E testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	echo "Yup, it does."
-	x_cpp="$cc -E"
-	x_minus='';
-elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \
-	$cc -E - testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	echo "Yup, it does."
-	x_cpp="$cc -E"
-	x_minus='-';
-elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \
-	$cc -P testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	echo "Yipee, that works!"
-	x_cpp="$cc -P"
-	x_minus='';
-elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \
-	$cc -P - testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	echo "At long last!"
-	x_cpp="$cc -P"
-	x_minus='-';
-elif echo 'No such luck, maybe "'$cpp'" will work...'; \
-	$cpp testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	echo "It works!"
-	x_cpp="$cpp"
-	x_minus='';
-elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \
-	$cpp - testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	echo "Hooray, it works!  I was beginning to wonder."
-	x_cpp="$cpp"
-	x_minus='-';
-elif echo 'Uh-uh.  Time to get fancy.  Trying a wrapper...'; \
-	$wrapper testcpp.out 2>&1; \
-	$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-	x_cpp="$wrapper"
-	x_minus=''
-	echo "Eureka!"
 else
-	dflt=''
-	rp="No dice.  I can't find a C preprocessor.  Name one:"
+	dflt="$longsize"
+	echo " " >&4
+	echo "(I can't compile the test program.  Guessing...)" >&4
+	rp="What is the size of your file positions (in bytes)?"
 	. ./myread
-	x_cpp="$ans"
-	x_minus=''
-	$x_cpp testcpp.out 2>&1
-	if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
-		echo "OK, that will do." >&4
-	else
-echo "Sorry, I can't get that to work.  Go find one and rerun Configure." >&4
-		exit 1
-	fi
+	fpossize="$ans"
 fi
 
-case "$ok" in
-false)
-	cppstdin="$x_cpp"
-	cppminus="$x_minus"
-	cpprun="$x_cpp"
-	cpplast="$x_minus"
-	set X $x_cpp
-	shift
-	case "$1" in
-	"$cpp")
-		echo "Perhaps can we force $cc -E using a wrapper..."
-		if $wrapper testcpp.out 2>&1; \
-			$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
-		then
-			echo "Yup, we can."
-			cppstdin="$wrapper"
-			cppminus='';
-		else
-			echo "Nope, we'll have to live without it..."
-		fi
-		;;
-	esac
-	case "$cpprun" in
-	"$wrapper")
-		cpprun=''
-		cpplast=''
-		;;
-	esac
-	;;
-esac
 
-case "$cppstdin" in
-"$wrapper"|'cppstdin') ;;
-*) $rm -f $wrapper;;
-esac
-$rm -f testcpp.c testcpp.out
 
-: Set private lib path
-case "$plibpth" in
-'') if ./mips; then
-		plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib"
-	fi;;
-esac
-case "$libpth" in
-' ') dlist='';;
-'') dlist="$loclibpth $plibpth $glibpth";;
-*) dlist="$libpth";;
-esac
+# Backward compatibility (uselfs is deprecated).
+case "$uselfs" in
+"$define"|true|[yY]*)
+	cat <&4
 
-: Now check and see which directories actually exist, avoiding duplicates
-libpth=''
-for xxx in $dlist
-do
-    if $test -d $xxx; then
-		case " $libpth " in
-		*" $xxx "*) ;;
-		*) libpth="$libpth $xxx";;
-		esac
-    fi
-done
-$cat <<'EOM'
+*** Configure -Duselfs is deprecated, using -Duselargefiles instead.
+EOM
+	uselargefiles="$define"
+	;;
+esac                          
 
-Some systems have incompatible or broken versions of libraries.  Among
-the directories listed in the question below, please remove any you
-know not to be holding relevant libraries, and add any that are needed.
-Say "none" for none.
+case "$lseeksize:$fpossize" in
+8:8) cat <&4
+		$cat >try.c <
+#include 
+int main()
+{
+    printf("%d\n", (int)sizeof($lseektype));
+    return(0); 
+}
+EOCP
+		set try
+		if eval $compile_ok; then
+			lseeksize=`./try`
+			$echo "Your file offsets are now $lseeksize bytes long."
+		else
+			dflt="$lseeksize"
+			echo " "
+			echo "(I can't seem to compile the test program.  Guessing...)"
+			rp="What is the size of your file offsets (in bytes)?"
+			. ./myread
+			lseeksize="$ans"
+		fi
+		case "$fpostype" in
+		*_t) zzz="$fpostype"	;;
+		*)   zzz="fpos_t"	;;
+		esac
+		$echo $n "Rechecking the size of $zzz...$c" >&4 
+		$cat > try.c <
+#include 
+int main() {
+    printf("%d\n", (int)sizeof($fpostype));
+    exit(0);
+}
+EOCP
+		set try
+		if eval $compile_ok; then
+			yyy=`./try`
+			dflt="$lseeksize"
+			case "$yyy" in
+			'')	echo " "
+				echo "(I can't execute the test program--guessing $fpossize.)" >&4
+				;;
+			*)	fpossize=$yyy
+				echo " $fpossize bytes." >&4
+				;;
+			esac
+		else
+			dflt="$fpossize"
+			echo " "
+			echo "(I can't compile the test program.  Guessing...)" >&4
+			rp="What is the size of your file positions (in bytes)?"
+			. ./myread
+			fpossize="$ans"
+		fi
+		$rm -f try.c try
+	fi
 	;;
 esac
-rp="Directories to use for library searches?"
-. ./myread
-case "$ans" in
-none) libpth=' ';;
-*) libpth="$ans";;
-esac
 
-: compute shared library extension
-case "$so" in
-'')
-	if xxx=`./loc libc.sl X $libpth`; $test -f "$xxx"; then
-		dflt='sl'
-	else
-		dflt='so'
-	fi
+
+case "$usemorebits" in
+"$define"|true|[yY]*)
+	use64bitint="$define"
+	uselongdouble="$define"
+	usemorebits="$define"
+	;;
+*)	usemorebits="$undef"
 	;;
-*) dflt="$so";;
 esac
-$cat <&4
+
+*** Configure -Duselonglong is deprecated, using -Duse64bitint instead.
 EOM
-rp='What is the file extension used for shared libraries?'
-. ./myread
-so="$ans"
+	use64bitint="$define"
+	;;
+esac                          
+case "$use64bits" in
+"$define"|true|[yY]*)
+	cat <&4
 
-: Define several unixisms.
-: Hints files or command line option can be used to override them.
-: The convoluted testing is in case hints files set either the old
-: or the new name.
-case "$_exe" in
-'')	case "$exe_ext" in
-    '')	;;
-	*)	_exe="$exe_ext" ;;
-	esac
+*** Configure -Duse64bits is deprecated, using -Duse64bitint instead.
+EOM
+	use64bitint="$define"
 	;;
-esac
-case "$_a" in
-'')	case "$lib_ext" in
-    '')	_a='.a';;
-	*)	_a="$lib_ext" ;;
-	esac
+esac                          
+case "$use64bitints" in
+"$define"|true|[yY]*)
+	cat <&4
+
+*** There is no Configure -Duse64bitints, using -Duse64bitint instead.
+EOM
+	use64bitint="$define"
 	;;
-esac
-case "$_o" in
-'') case "$obj_ext" in
-	'')	_o='.o';;
-	*)	_o="$obj_ext";;
-	esac
+esac                          
+case "$use64bitsint" in
+"$define"|true|[yY]*)
+	cat <&4
+
+*** There is no Configure -Duse64bitsint, using -Duse64bitint instead.
+EOM
+	use64bitint="$define"
 	;;
-esac
-case "$p_" in
-'') case "$path_sep" in
-	'')	p_=':';;
-	*)	p_="$path_sep";;
-	esac
+esac                          
+case "$uselonglongs" in
+"$define"|true|[yY]*)
+	cat <&4
+
+*** There is no Configure -Duselonglongs, using -Duse64bitint instead.
+EOM
+	use64bitint="$define"
 	;;
-esac
-exe_ext=$_exe
-lib_ext=$_a
-obj_ext=$_o
-path_sep=$p_
+esac                          
+case "$use64bitsall" in
+"$define"|true|[yY]*)
+	cat <&4
 
-: Which makefile gets called first.  This is used by make depend.
-case "$firstmakefile" in
-'') firstmakefile='makefile';;
-esac
+*** There is no Configure -Duse64bitsall, using -Duse64bitall instead.
+EOM
+	use64bitall="$define"
+	;;
+esac                          
 
-: Looking for optional libraries
-echo " "
-echo "Checking for optional libraries..." >&4
-case "$libs" in
-' '|'') dflt='';;
-*) dflt="$libs";;
-esac
-case "$libswanted" in
-'') libswanted='c_s';;
-esac
-for thislib in $libswanted; do
-	
-	if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`;
-		$test -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then
-		echo "Found -l$thislib (shared)."
-		case " $dflt " in
-		*"-l$thislib "*);;
-		*) dflt="$dflt -l$thislib";;
-		esac
-	elif xxx=`./loc lib$thislib.$so X $libpth` ; $test -f "$xxx"; then
-		echo "Found -l$thislib (shared)."
-		case " $dflt " in
-		*"-l$thislib "*);;
-		*) dflt="$dflt -l$thislib";;
-		esac
-	elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then
-		echo "Found -l$thislib."
-		case " $dflt " in
-		*"-l$thislib "*);;
-		*) dflt="$dflt -l$thislib";;
-		esac
-	elif xxx=`./loc $thislib$_a X $libpth`; $test -f "$xxx"; then
-		echo "Found -l$thislib."
-		case " $dflt " in
-		*"-l$thislib "*);;
-		*) dflt="$dflt -l$thislib";;
-		esac
-	elif xxx=`./loc lib${thislib}_s$_a X $libpth`; $test -f "$xxx"; then
-		echo "Found -l${thislib}_s."
-		case " $dflt " in
-		*"-l$thislib "*);;
-		*) dflt="$dflt -l${thislib}_s";;
-		esac
-	elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then
-		echo "Found -l$thislib."
-		case " $dflt " in
-		*"-l$thislib "*);;
-		*) dflt="$dflt -l$thislib";;
-		esac
-	else
-		echo "No -l$thislib."
-	fi
-done
-set X $dflt
-shift
-dflt="$*"
-case "$libs" in
-'') dflt="$dflt";;
-*) dflt="$libs";;
+case "$ccflags" in
+*-DUSE_LONG_LONG*|*-DUSE_64_BIT_INT*|*-DUSE_64_BIT_ALL*) use64bitint="$define";;
 esac
-case "$dflt" in
-' '|'') dflt='none';;
+case "$use64bitall" in
+"$define"|true|[yY]*) use64bitint="$define" ;;
 esac
 
-$cat </dev/null 2>&1
-		then
-			dflt="$dflt -posix"
-		fi
-		;;
+case "$use64bitall" in
+"$define"|true|[yY]*)
+: Look for a hint-file generated 'call-back-unit'.  If the
+: user has specified that a maximally 64-bit perl is to be built,
+: we may need to set or change some other defaults.
+	if $test -f use64bitall.cbu; then
+		echo "Your platform has some specific hints for 64-bit builds, using them..."
+		. ./use64bitall.cbu
+	fi
+	case "$longsize" in
+	4) case "$archname64" in
+	   ''|64int) archname64=64all ;;
+	   esac
+	   ;;
 	esac
 	;;
 esac
 
-case "$mips_type" in
-*BSD*|'') inclwanted="$locincpth $usrinc";;
-*) inclwanted="$locincpth $inclwanted $usrinc/bsd";;
-esac
-for thisincl in $inclwanted; do
-	if $test -d $thisincl; then
-		if $test x$thisincl != x$usrinc; then
-			case "$dflt" in
-			*$thisincl*);;
-			*) dflt="$dflt -I$thisincl";;
-			esac
-		fi
+: determine the architecture name
+echo " "
+if xxx=`./loc arch blurfl $pth`; $test -f "$xxx"; then
+	tarch=`arch`"-$osname"
+elif xxx=`./loc uname blurfl $pth`; $test -f "$xxx" ; then
+	if uname -m > tmparch 2>&1 ; then
+		tarch=`$sed -e 's/ *$//' -e 's/ /_/g' \
+			-e 's/$/'"-$osname/" tmparch`
+	else
+		tarch="$osname"
 	fi
-done
-
-inctest='if $contains $2 $usrinc/$1 >/dev/null 2>&1; then
-	xxx=true;
-elif $contains $2 $usrinc/sys/$1 >/dev/null 2>&1; then
-	xxx=true;
+	$rm -f tmparch
 else
-	xxx=false;
-fi;
-if $xxx; then
-	case "$dflt" in
-	*$2*);;
-	*) dflt="$dflt -D$2";;
-	esac;
-fi'
-
-set signal.h LANGUAGE_C; eval $inctest
-
-case "$hint" in
-none|recommended) dflt="$ccflags $dflt" ;;
-*) dflt="$ccflags";;
+	tarch="$osname"
+fi
+case "$myarchname" in
+''|"$tarch") ;;
+*)
+	echo "(Your architecture name used to be $myarchname.)"
+	archname=''
+	;;
 esac
-
-case "$dflt" in
-''|' ') dflt=none;;
+myarchname="$tarch"
+case "$archname" in
+'') dflt="$tarch";;
+*) dflt="$archname";;
 esac
-$cat <&4
+	case "$archname" in
+        *-thread*) echo "...and architecture name already has -thread." >&4
+                ;;
+        *)      archname="$archname-thread"
+                echo "...setting architecture name to $archname." >&4
+                ;;
+        esac
+	;;
 esac
-
-: the following weeds options from ccflags that are of no interest to cpp
-cppflags="$ccflags"
-case "$gccversion" in
-1*) cppflags="$cppflags -D__GNUC__"
+case "$usemultiplicity" in
+$define)
+	echo "Multiplicity selected." >&4
+	case "$archname" in
+        *-multi*) echo "...and architecture name already has -multi." >&4
+                ;;
+        *)      archname="$archname-multi"
+                echo "...setting architecture name to $archname." >&4
+                ;;
+        esac
+	;;
 esac
-case "$mips_type" in
-'');;
-*BSD*) cppflags="$cppflags -DSYSTYPE_BSD43";;
+case "$use64bitint" in
+$define)
+	case "$archname64" in
+	'')
+		;;
+	*)
+		case "$archname" in
+	        *-$archname64*) echo "...and architecture name already has $archname64." >&4
+	                ;;
+	        *)      archname="$archname-$archname64"
+	                echo "...setting architecture name to $archname." >&4
+	                ;;
+	        esac
+		;;
+	esac
 esac
-case "$cppflags" in
-'');;
+
+: determine root of directory hierarchy where package will be installed.
+case "$prefix" in
+'')
+	dflt=`./loc . /usr/local /usr/local /local /opt /usr`
+	;;
 *)
-	echo " "
-	echo "Let me guess what the preprocessor flags are..." >&4
-	set X $cppflags
-	shift
-	cppflags=''
-	$cat >cpp.c <<'EOM'
-#define BLURFL foo
+	dflt="$prefix"
+	;;
+esac
+$cat <cpp1.out 2>/dev/null && \
-			$cpprun -DLFRULB=bar $cppflags $ftry $cpplast cpp2.out 2>/dev/null && \
-			$contains 'foo.*xx.*bar' cpp1.out >/dev/null 2>&1 && \
-			$contains 'foo.*xx.*bar' cpp2.out >/dev/null 2>&1
-		then
-			cppflags="$cppflags $ftry"
-			previous=''
-		else
-			previous="$flag"
-		fi
-	done
-	set X $cppflags
-	shift
-	cppflags=${1+"$@"}
-	case "$cppflags" in
-	*-*)  echo "They appear to be: $cppflags";;
+fn=d~
+rp='Installation prefix to use?'
+. ./getfile
+oldprefix=''
+case "$prefix" in
+'') ;;
+*)
+	case "$ans" in
+	"$prefix") ;;
+	*) oldprefix="$prefix";;
 	esac
-	$rm -f cpp.c cpp?.out
 	;;
 esac
+prefix="$ans"
+prefixexp="$ansexp"
 
-: flags used in final linking phase
-case "$ldflags" in
-'') if ./venix; then
-		dflt='-i -z'
+: is AFS running?
+echo " "
+case "$afs" in
+$define|true)	afs=true ;;
+$undef|false)	afs=false ;;
+*)	if test -d /afs; then
+		afs=true
 	else
-		dflt=''
+		afs=false
 	fi
-	case "$ccflags" in
-	*-posix*) dflt="$dflt -posix" ;;
-	esac
 	;;
-*) dflt="$ldflags";;
 esac
+if test $afs = "true"; then
+	echo "AFS may be running... I'll be extra cautious then..." >&4
+else
+	echo "AFS does not seem to be running..." >&4
+fi
 
-: Try to guess additional flags to pick up local libraries.
-for thislibdir in $libpth; do
-	case " $loclibpth " in
-	*" $thislibdir "*)
-		case "$dflt " in 
-		*"-L$thislibdir "*) ;;
-		*)  dflt="$dflt -L$thislibdir" ;;
-		esac
-		;;
+: determine installation prefix for where package is to be installed.
+if $afs; then 
+$cat <&4
+if $test -r $rsrc/patchlevel.h;then
+	revision=`awk '/define[ 	]+PERL_REVISION/ {print $3}' $rsrc/patchlevel.h`
+	patchlevel=`awk '/define[ 	]+PERL_VERSION/ {print $3}' $rsrc/patchlevel.h`
+	subversion=`awk '/define[ 	]+PERL_SUBVERSION/ {print $3}' $rsrc/patchlevel.h`
+	api_revision=`awk '/define[ 	]+PERL_API_REVISION/ {print $3}' $rsrc/patchlevel.h`
+	api_version=`awk '/define[ 	]+PERL_API_VERSION/ {print $3}' $rsrc/patchlevel.h`
+	api_subversion=`awk '/define[ 	]+PERL_API_SUBVERSION/ {print $3}' $rsrc/patchlevel.h`
+else
+	revision=0
+	patchlevel=0
+	subversion=0
+	api_revision=0
+	api_version=0
+	api_subversion=0
+fi
+$echo $n "(You have $package revision $revision" $c
+$echo $n " patchlevel $patchlevel" $c
+test 0 -eq "$subversion" || $echo $n " subversion $subversion" $c
+echo ".)"
+case "$osname" in
+dos|vms)
+	: XXX Should be a Configure test for double-dots in filenames.
+	version=`echo $revision $patchlevel $subversion | \
+		 $awk '{ printf "%d_%d_%d\n", $1, $2, $3 }'`
+	api_versionstring=`echo $api_revision $api_version $api_subversion | \
+		 $awk '{ printf "%d_%d_%d\n", $1, $2, $3 }'`
+	;;
+*)
+	version=`echo $revision $patchlevel $subversion | \
+		 $awk '{ printf "%d.%d.%d\n", $1, $2, $3 }'`
+	api_versionstring=`echo $api_revision $api_version $api_subversion | \
+		 $awk '{ printf "%d.%d.%d\n", $1, $2, $3 }'`
+	;;
 esac
+: Special case the 5.005_xx maintenance series, which used 5.005
+: without any subversion label as a subdirectory in $sitelib
+if test "${api_revision}${api_version}${api_subversion}" = "550"; then
+	api_versionstring='5.005'
+fi
 
-$cat <&4
-$cat > try.c <<'EOF'
-#include 
-int main() { printf("Ok\n"); exit(0); }
-EOF
-set X $cc $optimize $ccflags -o try $ldflags try.c $libs
-shift
-$cat >try.msg <<'EOM'
-I've tried to compile and run the following simple program:
+$spackage contains architecture-dependent library files.  If you are
+sharing libraries in a heterogeneous environment, you might store
+these files in a separate location.  Otherwise, you can just include
+them with the rest of the public library files.
 
 EOM
-$cat try.c >> try.msg
+fn=d+~
+rp='Where do you want to put the public architecture-dependent libraries?'
+. ./getfile
+archlib="$ans"
+archlibexp="$ansexp"
+if $test X"$archlib" = X"$privlib"; then
+	d_archlib="$undef"
+else
+	d_archlib="$define"
+fi
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+	installarchlib=`echo $archlibexp | sed "s#^$prefix#$installprefix#"`
+else
+	installarchlib="$archlibexp"
+fi
+
+
+: Binary compatibility with 5.005 is not possible for builds
+: with advanced features
+case "$usethreads$usemultiplicity" in
+*define*)
+	bincompat5005="$undef"
+	d_bincompat5005="$undef"
+	;;
+*)	$cat <> try.msg <>try.msg 2>&1; then
-	if sh -c './try' >>try.msg 2>&1; then
-		xxx=`./try`
-		case "$xxx" in
-		"Ok") dflt=n ;;
-		*)	echo 'The program compiled OK, but produced no output.' >> try.msg
-			case " $libs " in
-			*" -lsfio "*)
-				cat >> try.msg <<'EOQS'
-If $libs contains -lsfio, and sfio is mis-configured, then it
-sometimes (apparently) runs and exits with a 0 status, but with no
-output!  It may have to do with sfio's use of _exit vs. exit.
 
-EOQS
-				rp="You have a big problem.  Shall I abort Configure"
-				dflt=y
-				;;
+val="$undef"
+if $test -d /dev/fd; then
+	echo "#!$ls" >reflect
+	chmod +x,u+s reflect
+	./reflect >flect 2>&1
+	if $contains "/dev/fd" flect >/dev/null; then
+		echo "Congratulations, your kernel has secure setuid scripts!" >&4
+		val="$define"
+	else
+		$cat <&4
+				dflt=n;;
+			"$undef")
+				echo "Well, the $hint value is *not* secure." >&4
+				dflt=n;;
+			*)	echo "Well, the $hint value *is* secure." >&4
+				dflt=y;;
 			esac
 			;;
+		*)
+			$rm -f reflect flect
+			echo "#!$ls" >reflect
+			chmod +x,u+s reflect
+			echo >flect
+			chmod a+w flect
+			echo '"su" will (probably) prompt you for '"$ans's password."
+			su $ans -c './reflect >flect'
+			if $contains "/dev/fd" flect >/dev/null; then
+				echo "Okay, it looks like setuid scripts are secure." >&4
+				dflt=y
+			else
+				echo "I don't think setuid scripts are secure." >&4
+				dflt=n
+			fi
+			;;
+		esac
+		rp='Does your kernel have *secure* setuid scripts?'
+		. ./myread
+		case "$ans" in
+		[yY]*)	val="$define";;
+		*)	val="$undef";;
 		esac
-	else
-		echo "The program compiled OK, but exited with status $?." >>try.msg
-		rp="You have a problem.  Shall I abort Configure"
-		dflt=y
 	fi
 else
-	echo "I can't compile the test program." >>try.msg
-	rp="You have a BIG problem.  Shall I abort Configure"
-	dflt=y
+	echo "I don't think setuid scripts are secure (no /dev/fd directory)." >&4
+	echo "(That's for file descriptors, not floppy disks.)"
+	val="$undef"
 fi
-case "$dflt" in
-y)
-	$cat try.msg >&4
-	case "$knowitall" in
-	'')
-		echo "(The supplied flags or libraries might be incorrect.)"
-		;;
-	*) dflt=n;;
+set d_suidsafe
+eval $setvar
+
+$rm -f reflect flect
+
+: now see if they want to do setuid emulation
+echo " "
+val="$undef"
+case "$d_suidsafe" in
+"$define")
+	val="$undef"
+	echo "No need to emulate SUID scripts since they are secure here." >& 4
+	;;
+*)
+	$cat <&4
-		exit 1
-		;;
+	[yY]*)	val="$define";;
+	*)	val="$undef";;
 	esac
 	;;
-n) echo "OK, that should do.";;
 esac
-$rm -f try try.* core
+set d_dosuid
+eval $setvar
 
 : determine filename position in cpp output
 echo " "
@@ -4150,10 +5094,13 @@ $cat >findhdr <" > foo\$\$.c
 $cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \
@@ -4161,14 +5108,22 @@ $grep "^[ 	]*#.*\$wanted" | \
 while read cline; do
 	name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\`
 	case "\$name" in
-	*/\$wanted) echo "\$name"; exit 0;;
-	*) name='';;
+	*[/\\\\]\$wanted) echo "\$name"; exit 1;;
+	*[\\\\/]\$wanted) echo "\$name"; exit 1;;
+	*) exit 2;;
 	esac;
 done;
+#
+# status = 0: grep returned 0 lines, case statement not executed
+# status = 1: headerfile found
+# status = 2: while loop executed, no headerfile found
+#
+status=\$?
 $rm -f foo\$\$.c;
-case "\$name" in
-'') exit 1;;
-esac
+if test \$status -eq 1; then
+	exit 0;
+fi
+exit 1
 EOF
 chmod +x findhdr
 
@@ -4286,6 +5241,126 @@ case "$freetype" in
 esac
 echo "Your system uses $freetype free(), it would seem." >&4
 $rm -f malloc.[co]
+$cat <&4
@@ -4318,51 +5393,228 @@ doesn't seem to understand them.  Sorry about that.
 
 If GNU cc is available for your system, perhaps you could try that instead.  
 
-Eventually, we hope to support building Perl with pre-ANSI compilers.
-If you would like to help in that effort, please contact .
+Eventually, we hope to support building Perl with pre-ANSI compilers.
+If you would like to help in that effort, please contact .
+
+Aborting Configure now.
+EOM
+	exit 2
+	;;
+esac
+
+: determine where public executables go
+echo " "
+set dflt bin bin
+eval $prefixit
+fn=d~
+rp='Pathname where the public executables will reside?'
+. ./getfile
+if $test "X$ansexp" != "X$binexp"; then
+	installbin=''
+fi
+bin="$ans"
+binexp="$ansexp"
+: Change installation prefix, if necessary.
+: XXX Bug? -- ignores Configure -Dinstallprefix setting.
+if $test X"$prefix" != X"$installprefix"; then
+	installbin=`echo $binexp | sed "s#^$prefix#$installprefix#"`
+else
+	installbin="$binexp"
+fi
+
+: Find perl5.005 or later.
+echo "Looking for a previously installed perl5.005 or later... "
+case "$perl5" in
+'')	for tdir in `echo "$binexp:$PATH" | $sed "s/$path_sep/ /g"`; do
+		: Check if this perl is recent and can load a simple module
+		if $test -x $tdir/perl && $tdir/perl -Mless -e 'use 5.005;' >/dev/null 2>&1; then
+			perl5=$tdir/perl
+			break;
+		elif $test -x $tdir/perl5 && $tdir/perl5 -Mless -e 'use 5.005;' >/dev/null 2>&1; then
+			perl5=$tdir/perl
+			break;
+		fi
+	done
+	;;
+*)	perl5="$perl5"
+	;;
+esac
+case "$perl5" in
+'')	echo "None found.  That's ok.";;
+*)	echo "Using $perl5." ;;
+esac
+
+$cat < getverlist <> getverlist <<'EOPL'
+# Can't have leading @ because metaconfig interprets it as a command!
+;@inc_version_list=();
+$stem=dirname($sitelib);
+# XXX Redo to do opendir/readdir? 
+if (-d $stem) {
+    chdir($stem);
+    ;@candidates = glob("5.*");
+}
+else {
+    ;@candidates = ();
+}
+
+# XXX ToDo:  These comparisons must be reworked when two-digit
+# subversions come along, so that 5.7.10 compares as greater than
+# 5.7.3!  By that time, hope that 5.6.x is sufficiently
+# widespread that we can use the built-in version vectors rather
+# than reinventing them here.  For 5.6.0, however, we must
+# assume this script will likely be run by 5.005_0x.  --AD 1/2000.
+foreach $d (@candidates) {
+    if ($d lt $version) {
+	if ($d ge $api_versionstring) {
+	    unshift(@inc_version_list, grep { -d } "$d/$archname", $d);
+	}
+	elsif ($d ge "5.005") {
+	    unshift(@inc_version_list, grep { -d } $d);
+	}
+    }
+    else {
+	# Skip newer version.  I.e. don't look in
+	# 5.7.0 if we're installing 5.6.1.
+    }
+}
 
-Aborting Configure now.
-EOM
-	exit 2
+if (@inc_version_list) {
+    print join(' ', @inc_version_list);
+}
+else {
+    # Blank space to preserve value for next Configure run.
+    print " ";
+}
+EOPL
+chmod +x getverlist
+case "$inc_version_list" in
+'')	if test -x "$perl5"; then
+		dflt=`$perl5 getverlist`
+	else
+		dflt='none'
+	fi
 	;;
+$undef) dflt='none' ;;
+*)  dflt="$inc_version_list" ;;
 esac
+case "$dflt" in
+''|' ') dflt=none ;;
+esac
+$cat <<'EOM'
 
-: determine where public executables go
-echo " "
-set dflt bin bin
-eval $prefixit
-fn=d~
-rp='Pathname where the public executables will reside?'
-. ./getfile
-if $test "X$ansexp" != "X$binexp"; then
-	installbin=''
-fi
-bin="$ans"
-binexp="$ansexp"
-if $afs; then
-	$cat <&4
 cat >gnulibc.c <&4 <$first) 2>/dev/null; then
 	if $test -f 123456789abcde; then
 		echo 'You cannot have filenames longer than 14 characters.  Sigh.' >&4
 		val="$undef"
 	else
-		if (echo hi >$second) 2>/dev/null; then
-			if $test -f /tmp/cf$$/123456789abcde; then
-				$cat <<'EOM'
-That's peculiar... You can have filenames longer than 14 characters, but only
-on some of the filesystems.  Maybe you are using NFS.  Anyway, to avoid problems
-I shall consider your system cannot support long filenames at all.
-EOM
-				val="$undef"
-			else
-				echo 'You can have filenames longer than 14 characters.' >&4
-				val="$define"
-			fi
-		else
-			$cat <<'EOM'
-How confusing! Some of your filesystems are sane enough to allow filenames
-longer than 14 characters but some others like /tmp can't even think about them.
-So, for now on, I shall assume your kernel does not allow them at all.
-EOM
-			val="$undef"
-		fi
+ 		echo 'You can have filenames longer than 14 characters.'>&4
+ 		val="$define"
 	fi
 else
 	$cat <<'EOM'
-You can't have filenames longer than 14 chars.  You can't even think about them!
+You can't have filenames longer than 14 chars.
+You can't even think about them!
 EOM
 	val="$undef"
 fi 
 set d_flexfnam
 eval $setvar
-$rm -rf /tmp/cf$$ 123456789abcde*
+$rm -rf 123456789abcde*
 
 : determine where library module manual pages go
 set man3dir man3dir none
@@ -5450,52 +6671,48 @@ esac
 echo "If you don't want the manual sources installed, answer 'none'."
 prog=`echo $package | $sed 's/-*[0-9.]*$//'`
 case "$man3dir" in
-'')	case "$prefix" in 
-	*$prog*) dflt=`echo $man1dir | 
-			$sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'` ;;
-	*)	dflt="$privlib/man/man3" ;;
-	esac
+'')	dflt=`echo "$man1dir" | $sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'`
+	if $test -d "$privlib/man/man3"; then
+		cat <&4
+
+WARNING:  Previous versions of perl installed man3 pages into
+$privlib/man/man3.  This version will suggest a 
+new default of $dflt.  
+EOM
+		tdflt=$dflt
+		dflt='n'
+		rp='Do you wish to preserve the old behavior?(y/n)'
+		. ./myread
+		case "$ans" in
+		y*) dflt="$privlib/man/man3" ;;
+		*)  dflt=$tdflt ;;
+		esac
+    fi
 	;;
-' ') dflt=none;;
 *)	dflt="$man3dir" ;;
 esac
+case "$dflt" in
+' ') dflt=none ;;
+esac
 echo " "
-
 fn=dn+~
 rp="Where do the $package library man pages (source) go?"
 . ./getfile
-if test "X$man3direxp" != "X$ansexp"; then
-	installman3dir=''
-fi
-
 man3dir="$ans"
 man3direxp="$ansexp"
 case "$man3dir" in
-'') man3dir=' '
+'')	man3dir=' '
 	installman3dir='';;
 esac
-if $afs; then
-	$cat < hosts && \
 			$test -s hosts
 		} || {
+			test "X$hostcat" != "X" &&
 		     	$hostcat | $sed -n -e "s/[	 ]*#.*//; s/\$/ /
 					/[	 ]$myhostname[	. ]/p" > hosts
 		}
@@ -5773,7 +6991,7 @@ $cat <&4
+
+*** You requested the use of long doubles but you do not seem to have
+*** the mathematic functions for long doubles.  I'm disabling the use
+*** of long doubles.
+
+EOM
+	uselongdouble=$undef
+	;;
+esac
+
+case "$useperlio" in
+$define|true|[yY]*)	dflt='y';;
+*) dflt='n';;
+esac
+cat <.  Versions 5.003_02 and later of perl allow alternate IO
+mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still
+the default.  This abstraction layer can use AT&T's sfio (if you already
+have sfio installed) or regular stdio.  Using PerlIO with sfio may cause
+problems with some extension modules.  Using PerlIO with stdio is safe,
+but it is slower than plain stdio and therefore is not the default.
 
+If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
-	case "$installscript" in
-	'') dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;;
-	*) dflt="$installscript";;
+rp='Use the experimental PerlIO abstraction layer?'
+. ./myread
+case "$ans" in
+y|Y) 
+	val="$define"
+	;;     
+*)      
+	echo "Ok, doing things the stdio way"
+	val="$undef"
+	;;
+esac
+set useperlio
+eval $setvar 
+
+case "$vendorprefix" in
+'')	d_vendorbin="$undef"
+	vendorbin=''
+	vendorbinexp=''
+	;;
+*)	d_vendorbin="$define"
+	: determine where vendor-supplied executables go.
+	case "$vendorbin" in
+	'') dflt=$vendorprefix/bin ;;
+	*)	dflt="$vendorbin" ;;
 	esac
-	fn=de~
-	rp='Where will public scripts be installed?'
+	fn=d~+
+	rp='Pathname for the vendor-supplied executables directory?'
 	. ./getfile
-	installscript="$ans"
+	vendorbin="$ans"
+	vendorbinexp="$ansexp"
+	;;
+esac
+: Change installation prefix, if necessary.
+if $test X"$prefix" != X"$installprefix"; then
+	installvendorbin=`echo $vendorbinexp | $sed "s#^$prefix#$installprefix#"`
 else
-	installscript="$scriptdirexp"
+	installvendorbin="$vendorbinexp"
 fi
 
-: determine where site specific libraries go.
-: Usual default is /usr/local/lib/perl5/site_perl/$apiversion
-prog=`echo $package | $sed 's/-*[0-9.]*$//'`
-case "$prefix" in
-*perl*) set dflt sitelib lib/site_$prog/$apiversion ;;
-*)	 set dflt sitelib lib/$package/site_$prog/$apiversion ;;
+: see if qgcvt exists
+set qgcvt d_qgcvt
+eval $inlibc
+
+: check for length of double
+echo " "
+case "$doublesize" in
+'')
+	echo "Checking to see how big your double precision numbers are..." >&4
+	$cat >try.c <<'EOCP'
+#include 
+int main()
+{
+    printf("%d\n", (int)sizeof(double));
+    exit(0);
+}
+EOCP
+	set try
+	if eval $compile_ok; then
+		doublesize=`./try`
+		echo "Your double is $doublesize bytes long."
+	else
+		dflt='8'
+		echo "(I can't seem to compile the test program.  Guessing...)"
+		rp="What is the size of a double precision number (in bytes)?"
+		. ./myread
+		doublesize="$ans"
+	fi
+	;;
+esac
+$rm -f try.c try
+
+: check for long doubles
+echo " "
+echo "Checking to see if you have long double..." >&4
+echo 'int main() { long double x = 7.0; }' > try.c
+set try
+if eval $compile; then
+	val="$define"
+	echo "You have long double."
+else
+	val="$undef"
+	echo "You do not have long double."
+fi
+$rm try.*
+set d_longdbl
+eval $setvar
+
+: check for length of long double
+case "${d_longdbl}${longdblsize}" in
+$define)
+	echo " "
+	echo "Checking to see how big your long doubles are..." >&4
+	$cat >try.c <<'EOCP'
+#include 
+int main()
+{
+	printf("%d\n", sizeof(long double));
+}
+EOCP
+	set try
+	set try
+	if eval $compile; then
+		longdblsize=`./try$exe_ext`
+		echo "Your long doubles are $longdblsize bytes long."
+	else
+		dflt='8'
+		echo " "
+		echo "(I can't seem to compile the test program.  Guessing...)" >&4
+		rp="What is the size of a long double (in bytes)?"
+		. ./myread
+		longdblsize="$ans"
+	fi
+	if $test "X$doublesize" = "X$longdblsize"; then
+		echo "(That isn't any different from an ordinary double.)"
+	fi	
+	;;
 esac
-eval $prefixit
-$cat <&4
 
-EOM
-	case "$installsitelib" in
-	'') dflt=`echo $sitelibexp | sed 's#^/afs/#/afs/.#'`;;
-	*) dflt="$installsitelib";;
-	esac
-	fn=de~
-	rp='Where will site-specific files be installed?'
-	. ./getfile
-	installsitelib="$ans"
-else
-	installsitelib="$sitelibexp"
+if $test X"$sPRIfldbl" = X -a X"$doublesize" = X"$longdblsize"; then
+	$cat >try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  double d = 123.456;
+  printf("%.3f\n", d);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		123.456)
+			sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"';
+                	sPRIFldbl='"F"'; sPRIGldbl='"G"'; sPRIEldbl='"E"';
+			echo "We will use %f."
+			;;
+		esac
+	fi
 fi
 
-: determine where site specific architecture-dependent libraries go.
-: sitelib  default is /usr/local/lib/perl5/site_perl/$apiversion
-: sitearch default is /usr/local/lib/perl5/site_perl/$apiversion/$archname
-: sitelib may have an optional trailing /share.
-tdflt=`echo $sitelib | $sed 's,/share$,,'`
-tdflt="$tdflt/$archname"
-set sitearch sitearch none
-eval $prefixit
-case "$sitearch" in
-'')	dflt="$tdflt" ;;
-*)	dflt="$sitearch" ;;
-esac
-$cat <try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  long double d = 123.456;
+  printf("%.3llf\n", d);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		123.456)
+			sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"';
+                	sPRIFldbl='"llF"'; sPRIGldbl='"llG"'; sPRIEldbl='"llE"';
+			echo "We will use %llf."
+			;;
+		esac
+	fi
+fi
 
-EOM
-fn=nd~+
-rp='Pathname for the site-specific architecture-dependent library files?'
-. ./getfile
-if $test "X$sitearchexp" != "X$ansexp"; then
-	installsitearch=''
+if $test X"$sPRIfldbl" = X; then
+	$cat >try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  long double d = 123.456;
+  printf("%.3Lf\n", d);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		123.456)
+			sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"';
+                	sPRIFldbl='"LF"'; sPRIGldbl='"LG"'; sPRIEldbl='"LE"';
+			echo "We will use %Lf."
+			;;
+		esac
+	fi
 fi
-sitearch="$ans"
-sitearchexp="$ansexp"
-if $afs; then
-	$cat <try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  long double d = 123.456;
+  printf("%.3lf\n", d);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		123.456)
+			sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"';
+                	sPRIFldbl='"lF"'; sPRIGldbl='"lG"'; sPRIEldbl='"lE"';
+			echo "We will use %lf."
+			;;
+		esac
+	fi
+fi
 
-EOM
-	case "$installsitearch" in
-	'') dflt=`echo $sitearchexp | sed 's#^/afs/#/afs/.#'`;;
-	*) dflt="$installsitearch";;
-	esac
-	fn=de~
-	rp='Where will site-specific architecture-dependent files be installed?'
-	. ./getfile
-	installsitearch="$ans"
-else
-	installsitearch="$sitearchexp"
+if $test X"$sPRIfldbl" = X; then
+	echo "Cannot figure out how to print long doubles." >&4
 fi
 
-cat <.  Versions 5.003_02 and later of perl allow alternate IO
-mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still
-the default.  This abstraction layer can use AT&T's sfio (if you already
-have sfio installed) or regular stdio.  Using PerlIO with sfio may cause
-problems with some extension modules.  Using PerlIO with stdio is safe,
-but it is slower than plain stdio and therefore is not the default.
+fi # d_longdbl
 
-If this doesn't make any sense to you, just accept the default 'n'.
-EOM
-case "$useperlio" in
-$define|true|[yY]*)	dflt='y';;
-*) dflt='n';;
-esac
-rp='Use the experimental PerlIO abstraction layer?'
-. ./myread
-case "$ans" in
-y|Y) 
-	val="$define"
-	;;     
-*)      
-	echo "Ok, doing things the stdio way"
-	val="$undef"
+case "$sPRIfldbl" in
+'')	d_PRIfldbl="$undef"; d_PRIgldbl="$undef"; d_PRIeldbl="$undef"; 
+	d_PRIFldbl="$undef"; d_PRIGldbl="$undef"; d_PRIEldbl="$undef"; 
+	;;
+*)	d_PRIfldbl="$define"; d_PRIgldbl="$define"; d_PRIeldbl="$define"; 
+	d_PRIFldbl="$define"; d_PRIGldbl="$define"; d_PRIEldbl="$define"; 
 	;;
 esac
-set useperlio
-eval $setvar 
 
 : Check how to convert floats to strings.
 if test "X$d_Gconvert" = X; then
-    echo " "
-    echo "Checking for an efficient way to convert floats to strings."
-    $cat >try.c <<'EOP'
+	echo " "
+	echo "Checking for an efficient way to convert floats to strings."
+	echo " " > try.c
+	case "$uselongdouble" in
+	"$define") echo "#define USE_LONG_DOUBLE" >>try.c ;;
+	esac
+	case "$d_longdbl" in
+	"$define") echo "#define HAS_LONG_DOUBLE" >>try.c ;;
+	esac
+	case "$d_PRIgldbl" in
+	"$define") echo "#define HAS_PRIgldbl"    >>try.c ;;
+	esac
+	$cat >>try.c <
 
+#define I_STDLIB $i_stdlib
+#ifdef I_STDLIB
+#include 
+#endif
+
 int
 checkit(expect, got)
 char *expect;
@@ -6100,58 +7571,86 @@ int main()
 
 	/* This must be 1st test on (which?) platform */
 	/* Alan Burlison  */
-	Gconvert(0.1, 8, 0, buf);
+	Gconvert((DOUBLETYPE)0.1, 8, 0, buf);
 	checkit("0.1", buf);
 
-	Gconvert(1.0, 8, 0, buf); 
+	Gconvert((DOUBLETYPE)1.0, 8, 0, buf); 
 	checkit("1", buf);
 
-	Gconvert(0.0, 8, 0, buf); 
+	Gconvert((DOUBLETYPE)1.1, 8, 0, buf); 
+	checkit("1.1", buf);
+
+	Gconvert((DOUBLETYPE)1.01, 8, 0, buf); 
+	checkit("1.01", buf);
+
+	Gconvert((DOUBLETYPE)1.001, 8, 0, buf); 
+	checkit("1.001", buf);
+
+	Gconvert((DOUBLETYPE)1.0001, 8, 0, buf); 
+	checkit("1.0001", buf);
+
+	Gconvert((DOUBLETYPE)1.00001, 8, 0, buf); 
+	checkit("1.00001", buf);
+
+	Gconvert((DOUBLETYPE)1.000001, 8, 0, buf); 
+	checkit("1.000001", buf);
+
+	Gconvert((DOUBLETYPE)0.0, 8, 0, buf); 
 	checkit("0", buf);
 
-	Gconvert(-1.0, 8, 0, buf); 
+	Gconvert((DOUBLETYPE)-1.0, 8, 0, buf); 
 	checkit("-1", buf);
 
 	/* Some Linux gcvt's give 1.e+5 here. */
-	Gconvert(100000.0, 8, 0, buf); 
+	Gconvert((DOUBLETYPE)100000.0, 8, 0, buf); 
 	checkit("100000", buf);
 	
 	/* Some Linux gcvt's give -1.e+5 here. */
-	Gconvert(-100000.0, 8, 0, buf); 
+	Gconvert((DOUBLETYPE)-100000.0, 8, 0, buf); 
 	checkit("-100000", buf);
 
 	exit(0);
 }
 EOP
-    case "$d_Gconvert" in
-    gconvert*) xxx_list='gconvert gcvt sprintf' ;;
-    gcvt*) xxx_list='gcvt gconvert sprintf' ;;
-    sprintf*) xxx_list='sprintf gconvert gcvt' ;;
-    *) xxx_list='gconvert gcvt sprintf' ;;
-    esac
+	case "$d_Gconvert" in
+	gconvert*) xxx_list='gconvert gcvt sprintf' ;;
+	gcvt*) xxx_list='gcvt gconvert sprintf' ;;
+	sprintf*) xxx_list='sprintf gconvert gcvt' ;;
+	*) xxx_list='gconvert gcvt sprintf' ;;
+	esac
 
-    for xxx_convert in $xxx_list; do
-	echo "Trying $xxx_convert"
-	$rm -f try try$_o
-	set try -DTRY_$xxx_convert
-	if eval $compile; then
-		echo "$xxx_convert" found. >&4
-		if ./try; then
-			echo "I'll use $xxx_convert to convert floats into a string." >&4
-			break;
+        case "$d_longdbl$uselongdouble$d_qgcvt" in
+        "$define$define$define") xxx_list="`echo $xxx_list|sed 's/gcvt/qgcvt gcvt/'`" ;;
+	esac
+
+	for xxx_convert in $xxx_list; do
+		echo "Trying $xxx_convert..."
+		$rm -f try try$_o
+		set try -DTRY_$xxx_convert
+		if eval $compile; then
+			echo "$xxx_convert() found." >&4
+			if ./try; then
+				echo "I'll use $xxx_convert to convert floats into a string." >&4
+				break;
+			else
+				echo "...But $xxx_convert didn't work as I expected."
+			fi
 		else
-			echo "...But $xxx_convert didn't work as I expected."
+			echo "$xxx_convert NOT found." >&4
 		fi
-	else
-		echo "$xxx_convert NOT found." >&4
-	fi
-    done
+	done
 		
-    case "$xxx_convert" in
-    gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;;
-    gcvt) d_Gconvert='gcvt((x),(n),(b))' ;;
-    *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;;
-    esac
+	case "$xxx_convert" in
+	gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;;
+	gcvt) d_Gconvert='gcvt((x),(n),(b))' ;;
+	qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;;
+	*) case "$uselongdouble$d_longdbl$d_PRIgldbl" in
+	   "$define$define$define")
+	      d_Gconvert="sprintf((b),\"%.*$sPRIgldbl\",(n),(x))" ;;
+	   *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;;
+	   esac
+	   ;;  
+	esac
 fi
 
 : Initialize h_fcntl
@@ -6202,10 +7701,22 @@ EOCP
 esac
 $rm -f access*
 
+: see if accessx exists
+set accessx d_accessx
+eval $inlibc
+
 : see if alarm exists
 set alarm d_alarm
 eval $inlibc
 
+: see if atolf exists
+set atolf d_atolf
+eval $inlibc
+
+: see if atoll exists
+set atoll d_atoll
+eval $inlibc
+
 : Look for GNU-cc style attribute checking
 echo " "
 echo "Checking whether your compiler can handle __attribute__ ..." >&4
@@ -6368,52 +7879,6 @@ $rm -f set set.c
 set bzero d_bzero
 eval $inlibc
 
-: check for lengths of integral types
-echo " "
-case "$intsize" in
-'')
-	echo "Checking to see how big your integers are..." >&4
-	$cat >intsize.c <<'EOCP'
-#include 
-int main()
-{
-	printf("intsize=%d;\n", sizeof(int));
-	printf("longsize=%d;\n", sizeof(long));
-	printf("shortsize=%d;\n", sizeof(short));
-	exit(0);
-}
-EOCP
-	set intsize
-	if eval $compile_ok && ./intsize > /dev/null; then
-		eval `./intsize`
-		echo "Your integers are $intsize bytes long."
-		echo "Your long integers are $longsize bytes long."
-		echo "Your short integers are $shortsize bytes long."
-	else
-		$cat >&4 </dev/null 2>&1; then
 	echo "Good, your directory entry keeps length information in d_namlen." >&4
 	val="$define"
 else
-	echo "Your directory entry does not know about the d_namlen field." >&4
-	val="$undef"
-fi
-set d_dirnamlen
-eval $setvar
-$rm -f try.c
-
-hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
-while $test $# -ge 2; do
-	case "$1" in
-	$define) echo "#include <$2>";;
-	esac ;
-    shift 2;
-done > try.c;
-echo "int main () { struct $struct foo; foo.$field = 0; }" >> try.c;
-if eval $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
-	val="$define";
-else
-	val="$undef";
-fi;
-set $varname;
-eval $setvar;
-$rm -f try.c try.o'
+	echo "Your directory entry does not know about the d_namlen field." >&4
+	val="$undef"
+fi
+set d_dirnamlen
+eval $setvar
+$rm -f try.c
 
 : see if dlerror exists
 xxx_runnm="$runnm"
@@ -6957,6 +8413,7 @@ EOM
 		esac
 	else
 		echo "I can't compile and run the test program." >&4
+                echo "I'm guessing that dlsym doesn't need a leading underscore." >&4
 	fi
 	;;
 esac
@@ -6966,10 +8423,42 @@ $rm -f fred fred.? dyna.$dlext dyna.? tmp-dyna.?
 set d_dlsymun
 eval $setvar
 
+hasproto='varname=$1; func=$2; shift; shift;
+while $test $# -ge 2; do
+	case "$1" in
+	$define) echo "#include <$2>";;
+	esac ;
+    shift 2;
+done > try.c;
+$cppstdin $cppflags $cppminus < try.c > tryout.c 2>/dev/null;
+if $contains "$func.*(" tryout.c >/dev/null 2>&1; then
+	echo "$func() prototype found.";
+	val="$define";
+else
+	echo "$func() prototype NOT found.";
+	val="$undef";
+fi;
+set $varname;
+eval $setvar;
+$rm -f try.c tryout.c'
+
+: see if prototype for drand48 is available
+echo " "
+set d_drand48proto drand48 $i_stdlib stdlib.h $i_unistd unistd.h
+eval $hasproto
+
 : see if dup2 exists
 set dup2 d_dup2
 eval $inlibc
 
+: see if eaccess exists
+set eaccess d_eaccess
+eval $inlibc
+
+: see if endgrent exists
+set endgrent d_endgrent
+eval $inlibc
+
 : see if endhostent exists
 set endhostent d_endhent
 eval $inlibc
@@ -6982,10 +8471,18 @@ eval $inlibc
 set endprotoent d_endpent
 eval $inlibc
 
+: see if endpwent exists
+set endpwent d_endpwent
+eval $inlibc
+
 : see if endservent exists
 set endservent d_endsent
 eval $inlibc
 
+: see if endspent exists
+set endspent d_endspent
+eval $inlibc
+
 : Locate the flags for 'open()'
 echo " "
 $cat >open3.c <<'EOCP'
@@ -7036,6 +8533,28 @@ set d_open3
 eval $setvar
 $rm -f open3*
 
+: see which of string.h or strings.h is needed
+echo " "
+strings=`./findhdr string.h`
+if $test "$strings" && $test -r "$strings"; then
+	echo "Using  instead of ." >&4
+	val="$define"
+else
+	val="$undef"
+	strings=`./findhdr strings.h`
+	if $test "$strings" && $test -r "$strings"; then
+		echo "Using  instead of ." >&4
+	else
+		echo "No string header found -- You'll surely have problems." >&4
+	fi
+fi
+set i_string
+eval $setvar
+case "$i_string" in
+"$undef") strings=`./findhdr strings.h`;;
+*)	  strings=`./findhdr string.h`;;
+esac
+
 : check for non-blocking I/O stuff
 case "$h_sysfile" in
 true) echo "#include " > head.c;;
@@ -7052,6 +8571,7 @@ case "$o_nonblock" in
 '')
 	$cat head.c > try.c
 	$cat >>try.c <<'EOCP'
+#include 
 int main() {
 #ifdef O_NONBLOCK
 	printf("O_NONBLOCK\n");
@@ -7092,10 +8612,21 @@ case "$eagain" in
 #include 
 #include 
 #include 
+#include  
 #define MY_O_NONBLOCK $o_nonblock
 #ifndef errno  /* XXX need better Configure test */
 extern int errno;
 #endif
+#$i_unistd I_UNISTD
+#ifdef I_UNISTD
+#include 
+#endif
+#$i_string I_STRING
+#ifdef I_STRING
+#include 
+#else
+#include 
+#endif
 $signal_t blech(x) int x; { exit(3); }
 EOCP
 	$cat >> try.c <<'EOCP'
@@ -7225,6 +8756,269 @@ eval $inlibc
 set fcntl d_fcntl
 eval $inlibc
 
+hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
+while $test $# -ge 2; do
+	case "$1" in
+	$define) echo "#include <$2>";;
+	esac ;
+    shift 2;
+done > try.c;
+echo "int main () { struct $struct foo; char* bar; bar = (char*)foo.$field; }" >> try.c;
+set try;
+if eval $compile; then
+	val="$define";
+else
+	val="$undef";
+fi;
+set $varname;
+eval $setvar;
+$rm -f try.c try.o'
+
+socketlib=''
+sockethdr=''
+: see whether socket exists
+echo " "
+$echo $n "Hmm... $c" >&4
+if set socket val -f d_socket; eval $csym; $val; then
+	echo "Looks like you have Berkeley networking support." >&4
+	d_socket="$define"
+	if set setsockopt val -f; eval $csym; $val; then
+		d_oldsock="$undef"
+	else
+		echo "...but it uses the old BSD 4.1c interface, rather than 4.2." >&4
+		d_oldsock="$define"
+	fi
+else
+	if $contains socklib libc.list >/dev/null 2>&1; then
+		echo "Looks like you have Berkeley networking support." >&4
+		d_socket="$define"
+		: we will have to assume that it supports the 4.2 BSD interface
+		d_oldsock="$undef"
+	else
+		echo "You don't have Berkeley networking in libc$_a..." >&4
+		if test "X$d_socket" = "X$define"; then
+		   echo "...but you seem to believe that you have sockets." >&4
+		else
+			for net in net socket
+			do
+				if test -f /usr/lib/lib$net$_a; then
+					( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) ||  \
+					$ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list
+					if $contains socket libc.list >/dev/null 2>&1; then
+						d_socket="$define"
+						socketlib="-l$net"
+						case "$net" in
+						net)
+							echo "...but the Wollongong group seems to have hacked it in." >&4
+							sockethdr="-I/usr/netinclude"
+							;;
+						esac
+						echo "Found Berkeley sockets interface in lib$net." >& 4 
+						if $contains setsockopt libc.list >/dev/null 2>&1; then
+							d_oldsock="$undef"
+						else
+							echo "...using the old BSD 4.1c interface, rather than 4.2." >&4
+							d_oldsock="$define"
+						fi
+						break
+					fi
+				fi
+			done
+			if test "X$d_socket" != "X$define"; then
+			   echo "or anywhere else I see." >&4
+			   d_socket="$undef"
+			   d_oldsock="$undef"
+			fi
+		fi
+	fi
+fi
+
+: see if socketpair exists
+set socketpair d_sockpair
+eval $inlibc
+
+
+echo " "
+echo "Checking the availability of certain socket constants..." >& 4
+for ENUM in MSG_CTRUNC MSG_DONTROUTE MSG_OOB MSG_PEEK MSG_PROXY SCM_RIGHTS; do
+	enum=`$echo $ENUM|./tr '[A-Z]' '[a-z]'`
+	$cat >try.c <
+#include 
+int main() {
+    int i = $ENUM;
+}
+EOF
+	val="$undef"
+	set try; if eval $compile; then
+		val="$define"
+	fi
+	set d_${enum}; eval $setvar
+	$rm -f try.c try
+done
+
+: see if sys/select.h has to be included
+set sys/select.h i_sysselct
+eval $inhdr
+
+: see if we should include time.h, sys/time.h, or both
+echo " "
+if test "X$timeincl" = X; then
+	echo "Testing to see if we should include ,  or both." >&4
+	$echo $n "I'm now running the test program...$c"
+	$cat >try.c <<'EOCP'
+#include 
+#ifdef I_TIME
+#include 
+#endif
+#ifdef I_SYSTIME
+#ifdef SYSTIMEKERNEL
+#define KERNEL
+#endif
+#include 
+#endif
+#ifdef I_SYSSELECT
+#include 
+#endif
+int main()
+{
+	struct tm foo;
+#ifdef S_TIMEVAL
+	struct timeval bar;
+#endif
+#ifdef S_TIMEZONE
+	struct timezone tzp;
+#endif
+	if (foo.tm_sec == foo.tm_sec)
+		exit(0);
+#ifdef S_TIMEVAL
+	if (bar.tv_sec == bar.tv_sec)
+		exit(0);
+#endif
+	exit(1);
+}
+EOCP
+	flags=''
+	for s_timezone in '-DS_TIMEZONE' ''; do
+	sysselect=''
+	for s_timeval in '-DS_TIMEVAL' ''; do
+	for i_systimek in '' '-DSYSTIMEKERNEL'; do
+	for i_time in '' '-DI_TIME'; do
+	for i_systime in '-DI_SYSTIME' ''; do
+		case "$flags" in
+		'') $echo $n ".$c"
+			set try $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone
+			if eval $compile; then
+				set X $i_time $i_systime $i_systimek $sysselect $s_timeval
+				shift
+				flags="$*"
+				echo " "
+				$echo $n "Succeeded with $flags$c"
+			fi
+			;;
+		esac
+	done
+	done
+	done
+	done
+	done
+	timeincl=''
+	echo " "
+	case "$flags" in
+	*SYSTIMEKERNEL*) i_systimek="$define"
+		timeincl=`./findhdr sys/time.h`
+		echo "We'll include  with KERNEL defined." >&4;;
+	*) i_systimek="$undef";;
+	esac
+	case "$flags" in
+	*I_TIME*) i_time="$define"
+		timeincl=`./findhdr time.h`" $timeincl"
+		echo "We'll include ." >&4;;
+	*) i_time="$undef";;
+	esac
+	case "$flags" in
+	*I_SYSTIME*) i_systime="$define"
+		timeincl=`./findhdr sys/time.h`" $timeincl"
+		echo "We'll include ." >&4;;
+	*) i_systime="$undef";;
+	esac
+	$rm -f try.c try
+fi
+
+: check for fd_set items
+$cat <fd_set.c <
+#ifdef HAS_SOCKET
+#include  /* Might include  */
+#endif
+#ifdef I_SYS_TIME
+#include 
+#endif
+#ifdef I_SYS_SELECT
+#include 
+#endif
+int main() {
+	fd_set fds;
+
+#ifdef TRYBITS
+	if(fds.fds_bits);
+#endif
+
+#if defined(FD_SET) && defined(FD_CLR) && defined(FD_ISSET) && defined(FD_ZERO)
+	exit(0);
+#else
+	exit(1);
+#endif
+}
+EOCP
+set fd_set -DTRYBITS
+if eval $compile; then
+	d_fds_bits="$define"
+	d_fd_set="$define"
+	echo "Well, your system knows about the normal fd_set typedef..." >&4
+	if ./fd_set; then
+		echo "and you have the normal fd_set macros (just as I'd expect)." >&4
+		d_fd_macros="$define"
+	else
+		$cat >&4 <<'EOM'
+but not the normal fd_set macros!  Gaaack!  I'll have to cover for you.
+EOM
+		d_fd_macros="$undef"
+	fi
+else
+	$cat <<'EOM'
+Hmm, your compiler has some difficulty with fd_set.  Checking further...
+EOM
+	set fd_set
+	if eval $compile; then
+		d_fds_bits="$undef"
+		d_fd_set="$define"
+		echo "Well, your system has some sort of fd_set available..." >&4
+		if ./fd_set; then
+			echo "and you have the normal fd_set macros." >&4
+			d_fd_macros="$define"
+		else
+			$cat <<'EOM'
+but not the normal fd_set macros!  Gross!  More work for me...
+EOM
+			d_fd_macros="$undef"
+		fi
+	else
+	echo "Well, you got zip.  That's OK, I can roll my own fd_set stuff." >&4
+		d_fd_set="$undef"
+		d_fds_bits="$undef"
+		d_fd_macros="$undef"
+	fi
+fi
+$rm -f fd_set*
+
 : see if fgetpos exists
 set fgetpos d_fgetpos
 eval $inlibc
@@ -7245,17 +9039,46 @@ eval $inlibc
 set fpathconf d_fpathconf
 eval $inlibc
 
-: see if fsetpos exists
-set fsetpos d_fsetpos
-eval $inlibc
 
-: see if gethostbyaddr exists
-set gethostbyaddr d_gethbyaddr
-eval $inlibc
+: check for fpos64_t
+echo " "
+echo "Checking to see if you have fpos64_t..." >&4
+$cat >try.c <
+int main() { fpos64_t x = 7; }
+EOCP
+set try
+if eval $compile; then
+	val="$define"
+	echo "You have fpos64_t."
+else
+	val="$undef"
+	echo "You do not have fpos64_t."
+	case "$fpossize" in
+	8) echo "(Your fpos_t is 64 bits, so you could use that.)" ;;
+	esac
+fi
+$rm -f try.* try
+set d_fpos64_t
+eval $setvar
 
-: see if gethostbyname exists
-set gethostbyname d_gethbyname
-eval $inlibc
+hasstruct='varname=$1; struct=$2; shift; shift;
+while $test $# -ge 2; do
+	case "$1" in
+	$define) echo "#include <$2>";;
+	esac ;
+    shift 2;
+done > try.c;
+echo "int main () { struct $struct foo; }" >> try.c;
+set try;
+if eval $compile; then
+	val="$define";
+else
+	val="$undef";
+fi;
+set $varname;
+eval $setvar;
+$rm -f try.c try.o'
 
 : see if this is a sys/param system
 set sys/param.h i_sysparam
@@ -7265,45 +9088,162 @@ eval $inhdr
 set sys/mount.h i_sysmount
 eval $inhdr
 
+: see if sys/types.h has to be included
+set sys/types.h i_systypes
+eval $inhdr
+
+
+echo " "
+echo "Checking to see if your system supports struct fs_data..." >&4
+set d_fs_data_s fs_data $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h
+eval $hasstruct
+case "$d_fs_data_s" in
+"$define")      echo "Yes, it does."   ;;
+*)              echo "No, it doesn't." ;;
+esac
+
+: see if fseeko exists
+set fseeko d_fseeko
+eval $inlibc
+case "$longsize" in
+8) echo "(Your long is 64 bits, so you could use fseek.)" ;;
+esac
+
+: see if fsetpos exists
+set fsetpos d_fsetpos
+eval $inlibc
+
+
 : see if fstatfs exists
 set fstatfs d_fstatfs
 eval $inlibc
 
-: see if statfs knows about mount flags
-echo " "
-set d_statfsflags statfs f_flags $i_sysparam sys/param.h $i_sysmount sys/mount.h
-eval $hasfield
 
-: see if this is a sysstatvfs.h system
-set sys/statvfs.h i_sysstatvfs
-eval $inhdr
+: see if statvfs exists
+set statvfs d_statvfs
+eval $inlibc
 
 : see if fstatvfs exists
 set fstatvfs d_fstatvfs
 eval $inlibc
 
+
+: see if ftello exists
+set ftello d_ftello
+eval $inlibc
+case "$longsize" in
+8) echo "(Your long is 64 bits, so you could use ftell.)" ;;
+esac
+
+: see if getcwd exists
+set getcwd d_getcwd
+eval $inlibc
+
+
+: see if getfsstat exists
+set getfsstat d_getfsstat
+eval $inlibc
+
+: see if getgrent exists
+set getgrent d_getgrent
+eval $inlibc
+
+: see if gethostbyaddr exists
+set gethostbyaddr d_gethbyaddr
+eval $inlibc
+
+: see if gethostbyname exists
+set gethostbyname d_gethbyname
+eval $inlibc
+
 : see if gethostent exists
 set gethostent d_gethent
 eval $inlibc
 
-hasproto='varname=$1; func=$2; shift; shift;
-while $test $# -ge 2; do
-	case "$1" in
-	$define) echo "#include <$2>";;
-	esac ;
-    shift 2;
-done > try.c;
-$cppstdin $cppflags $cppminus < try.c > tryout.c 2>/dev/null;
-if $contains "$func.*(" tryout.c >/dev/null 2>&1; then
-	echo "$func() prototype found.";
-	val="$define";
-else
-	echo "$func() prototype NOT found.";
-	val="$undef";
-fi;
-set $varname;
-eval $setvar;
-$rm -f try.c tryout.c'
+: see how we will look up host name
+echo " "
+call=''
+if set gethostname val -f d_gethname; eval $csym; $val; then
+	echo 'gethostname() found.' >&4
+	d_gethname="$define"
+	call=gethostname
+fi
+if set uname val -f d_uname; eval $csym; $val; then
+	if ./xenix; then
+		$cat <<'EOM'
+uname() was found, but you're running xenix, and older versions of xenix
+have a broken uname(). If you don't really know whether your xenix is old
+enough to have a broken system call, use the default answer.
+
+EOM
+		dflt=y
+		case "$d_uname" in
+		"$define") dflt=n;;
+		esac
+		rp='Is your uname() broken?'
+		. ./myread
+		case "$ans" in
+		n*) d_uname="$define"; call=uname;;
+		esac
+	else
+		echo 'uname() found.' >&4
+		d_uname="$define"
+		case "$call" in
+		'') call=uname ;;
+		esac
+	fi
+fi
+case "$d_gethname" in
+'') d_gethname="$undef";;
+esac
+case "$d_uname" in
+'') d_uname="$undef";;
+esac
+case "$d_uname$d_gethname" in
+*define*)
+	dflt=n
+	cat <&4;;
+	*)
+	echo "I'll use 'popen("'"'$aphostname'", "r")'"' to get your hostname." >&4
+		;;
+	esac;;
+esac
+case "$d_phostname" in
+'') d_phostname="$undef";;
+esac
 
 : see if this is a netdb.h system
 set netdb.h i_netdb
@@ -7318,6 +9258,14 @@ eval $hasproto
 set getlogin d_getlogin
 eval $inlibc
 
+: see if getmnt exists
+set getmnt d_getmnt
+eval $inlibc
+
+: see if getmntent exists
+set getmntent d_getmntent
+eval $inlibc
+
 : see if getnetbyaddr exists
 set getnetbyaddr d_getnbyaddr
 eval $inlibc
@@ -7348,18 +9296,6 @@ eval $inlibc
 set getprotoent d_getpent
 eval $inlibc
 
-: see if this is a mntent.h system
-set mntent.h i_mntent
-eval $inhdr
-
-: see if getmntent exists
-set getmntent d_getmntent
-eval $inlibc
-
-: see if hasmntopt exists
-set hasmntopt d_hasmntopt
-eval $inlibc
-
 : see if getpgid exists
 set getpgid d_getpgid
 eval $inlibc
@@ -7381,6 +9317,11 @@ echo " "
 set d_getprotoprotos getprotoent $i_netdb netdb.h
 eval $hasproto
 
+: see if getpwent exists
+set getpwent d_getpwent
+eval $inlibc
+
+
 : see if getservbyname exists
 set getservbyname d_getsbyname
 eval $inlibc
@@ -7398,6 +9339,14 @@ echo " "
 set d_getservprotos getservent $i_netdb netdb.h
 eval $hasproto
 
+: see if getspent exists
+set getspent d_getspent
+eval $inlibc
+
+: see if getspnam exists
+set getspnam d_getspnam
+eval $inlibc
+
 : see if gettimeofday or ftime exists
 set gettimeofday d_gettimeod
 eval $inlibc
@@ -7417,6 +9366,35 @@ case "$d_gettimeod$d_ftime" in
 	;;
 esac
 
+: see if this is an grp system
+set grp.h i_grp
+eval $inhdr
+
+case "$i_grp" in
+$define)
+	xxx=`./findhdr grp.h`
+	$cppstdin $cppflags $cppminus < $xxx >$$.h
+
+	if $contains 'gr_passwd' $$.h >/dev/null 2>&1; then
+		val="$define"
+	else
+		val="$undef"
+	fi
+	set d_grpasswd
+	eval $setvar
+
+	$rm -f $$.h
+	;;
+*)
+	val="$undef";
+	set d_grpasswd; eval $setvar
+	;;
+esac
+
+: see if hasmntopt exists
+set hasmntopt d_hasmntopt
+eval $inlibc
+
 : see if this is a netinet/in.h or sys/in.h system
 set netinet/in.h i_niin sys/in.h i_sysin
 eval $inhdr
@@ -7463,27 +9441,9 @@ esac
 set d_htonl
 eval $setvar
 
-: see which of string.h or strings.h is needed
-echo " "
-strings=`./findhdr string.h`
-if $test "$strings" && $test -r "$strings"; then
-	echo "Using  instead of ." >&4
-	val="$define"
-else
-	val="$undef"
-	strings=`./findhdr strings.h`
-	if $test "$strings" && $test -r "$strings"; then
-		echo "Using  instead of ." >&4
-	else
-		echo "No string header found -- You'll surely have problems." >&4
-	fi
-fi
-set i_string
-eval $setvar
-case "$i_string" in
-"$undef") strings=`./findhdr strings.h`;;
-*)	  strings=`./findhdr string.h`;;
-esac
+: see if iconv exists
+set iconv d_iconv
+eval $inlibc
 
 : index or strchr
 echo " "
@@ -7522,6 +9482,51 @@ set d_index; eval $setvar
 set inet_aton d_inetaton
 eval $inlibc
 
+: see if inttypes.h is available
+: we want a real compile instead of Inhdr because some systems
+: have an inttypes.h which includes non-existent headers
+echo " "
+$cat >try.c <
+int main() {
+	static int32_t foo32 = 0x12345678;
+}
+EOCP
+set try
+if eval $compile; then
+	echo " found." >&4
+	val="$define"
+else
+	echo " NOT found." >&4
+	val="$undef"
+fi
+$rm -f try.c try
+set i_inttypes
+eval $setvar
+
+: check for int64_t
+echo " "
+echo "Checking to see if you have int64_t..." >&4
+$cat >try.c <
+#$i_inttypes I_INTTYPES
+#ifdef I_INTTYPES
+#include 
+#endif
+int main() { int64_t x = 7; }
+EOCP
+set try
+if eval $compile; then
+	val="$define"
+	echo "You have int64_t."
+else
+	val="$undef"
+	echo "You do not have int64_t."
+fi
+$rm -f try try.*
+set d_int64_t
+eval $setvar
+
 : Look for isascii
 echo " "
 $cat >isascii.c <<'EOCP'
@@ -7583,6 +9588,33 @@ fi
 set d_lchown
 eval $setvar
 
+: See if number of significant digits in a double precision number is known
+echo " "
+$cat >ldbl_dig.c <
+#endif
+#ifdef I_FLOAT
+#include 
+#endif
+#ifdef LDBL_DIG
+printf("Contains LDBL_DIG");
+#endif
+EOM
+$cppstdin $cppflags $cppminus < ldbl_dig.c >ldbl_dig.E 2>/dev/null
+if $contains 'LDBL_DIG' ldbl_dig.E >/dev/null 2>&1; then
+	echo "LDBL_DIG found." >&4
+	val="$define"
+else
+	echo "LDBL_DIG NOT found." >&4
+	val="$undef"
+fi
+$rm -f ldbl_dig.?
+set d_ldbl_dig
+eval $setvar
+
 : see if link exists
 set link d_link
 eval $inlibc
@@ -7595,62 +9627,17 @@ eval $inlibc
 set lockf d_lockf
 eval $inlibc
 
-: check for long doubles
-echo " "
-echo $n "Checking to see if your system supports long doubles...$c" >&4
-echo 'long double foo() { long double x; x = 7.0; return x; }' > try.c
-if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
-	val="$define"
-	echo " Yup, it does." >&4
-else
-	val="$undef"
-	echo " Nope, it doesn't." >&4
-fi
-$rm try.*
-set d_longdbl
-eval $setvar
-
-: check for length of long double
-case "${d_longdbl}${longdblsize}" in
-$define)
-	echo " "
-	$echo $n "Checking to see how big your long doubles are...$c" >&4
-	$cat >try.c <<'EOCP'
-#include 
-int main()
-{
-	printf("%d\n", sizeof(long double));
-}
-EOCP
-	set try
-	if eval $compile; then
-		longdblsize=`./try`
-		$echo " $longdblsize bytes." >&4
-	else
-		dflt='8'
-		echo " "
-		echo "(I can't seem to compile the test program.  Guessing...)" >&4
-		rp="What is the size of a long double (in bytes)?"
-		. ./myread
-		longdblsize="$ans"
-	fi
-	if $test "X$doublesize" = "X$longdblsize"; then
-		echo "(That isn't any different from an ordinary double.)"
-	fi	
-	;;
-esac
-$rm -f try.c try
-
 : check for long long
 echo " "
-echo $n "Checking to see if your system supports long long...$c" >&4
-echo 'long long foo() { long long x; x = 7; return x; }' > try.c
-if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+echo "Checking to see if you have long long..." >&4
+echo 'int main() { long long x = 7; return 0; }' > try.c
+set try
+if eval $compile; then
 	val="$define"
-	echo " Yup, it does." >&4
+	echo "You have have long long."
 else
 	val="$undef"
-	echo " Nope, it doesn't." >&4
+	echo "You do not have long long."
 fi
 $rm try.*
 set d_longlong
@@ -7660,18 +9647,19 @@ eval $setvar
 case "${d_longlong}${longlongsize}" in
 $define)
 	echo " "
-	$echo $n "Checking to see how big your long longs are...$c" >&4
+	echo "Checking to see how big your long longs are..." >&4
 	$cat >try.c <<'EOCP'
 #include 
 int main()
 {
-	printf("%d\n", sizeof(long long));
+    printf("%d\n", (int)sizeof(long long));
+    return(0);
 }
 EOCP
 	set try
 	if eval $compile_ok; then
-		longlongsize=`./try`
-		$echo " $longlongsize bytes." >&4
+		longlongsize=`./try$exe_ext`
+		echo "Your long longs are $longlongsize bytes long."
 	else
 		dflt='8'
 		echo " "
@@ -7685,12 +9673,21 @@ EOCP
 	fi	
 	;;
 esac
-$rm -f try.c try
+$rm -f try.* try
+
+: see if prototype for lseek is available
+echo " "
+set d_lseekproto lseek $i_systypes sys/types.h $i_unistd unistd.h
+eval $hasproto
 
 : see if lstat exists
 set lstat d_lstat
 eval $inlibc
 
+: see if madvise exists
+set madvise d_madvise
+eval $inlibc
+
 : see if mblen exists
 set mblen d_mblen
 eval $inlibc
@@ -7703,6 +9700,10 @@ eval $inlibc
 set mbtowc d_mbtowc
 eval $inlibc
 
+: see if memchr exists
+set memchr d_memchr
+eval $inlibc
+
 : see if memcmp exists
 set memcmp d_memcmp
 eval $inlibc
@@ -7723,14 +9724,57 @@ eval $inlibc
 set mkdir d_mkdir
 eval $inlibc
 
+: see if mkdtemp exists
+set mkdtemp d_mkdtemp
+eval $inlibc
+
 : see if mkfifo exists
 set mkfifo d_mkfifo
 eval $inlibc
 
+: see if mkstemp exists
+set mkstemp d_mkstemp
+eval $inlibc
+
+: see if mkstemps exists
+set mkstemps d_mkstemps
+eval $inlibc
+
 : see if mktime exists
 set mktime d_mktime
 eval $inlibc
 
+: see if this is a sys/mman.h system
+set sys/mman.h i_sysmman
+eval $inhdr
+
+: see if mmap exists
+set mmap d_mmap
+eval $inlibc
+: see what shmat returns
+: default to something harmless
+mmaptype='void *'
+case "$i_sysmman$d_mmap" in
+"$define$define")
+	$cat >mmap.c <<'END'
+#include 
+void *mmap();
+END
+	if $cc $ccflags -c mmap.c >/dev/null 2>&1; then
+		mmaptype='void *'
+	else
+		mmaptype='caddr_t'
+	fi
+	echo "and it returns ($mmaptype)." >&4
+	;;
+esac
+
+
+
+: see if mprotect exists
+set mprotect d_mprotect
+eval $inlibc
+
 : see if msgctl exists
 set msgctl d_msgctl
 eval $inlibc
@@ -7783,10 +9827,406 @@ fi
 set d_msg
 eval $setvar
 
+: see if msync exists
+set msync d_msync
+eval $inlibc
+
+: see if munmap exists
+set munmap d_munmap
+eval $inlibc
+
 : see if nice exists
 set nice d_nice
 eval $inlibc
 
+
+echo " "
+echo "Checking which 64-bit integer type we could use..." >&4
+
+case "$intsize" in
+8) val=int
+   set quadtype
+   eval $setvar
+   val='"unsigned int"'
+   set uquadtype
+   eval $setvar
+   quadkind=1
+   ;;
+*) case "$longsize" in
+   8) val=long
+      set quadtype
+      eval $setvar
+      val='"unsigned long"'
+      set uquadtype
+      eval $setvar
+      quadkind=2
+      ;;
+   *) case "$d_longlong:$longlongsize" in
+      define:8)
+        val='"long long"'
+        set quadtype
+        eval $setvar
+        val='"unsigned long long"'
+        set uquadtype
+        eval $setvar
+        quadkind=3
+        ;;
+      *) case "$d_int64_t" in
+         define)
+           val=int64_t
+           set quadtype
+           eval $setvar
+           val=uint64_t
+           set uquadtype
+           eval $setvar
+           quadkind=4
+           ;;
+         esac
+         ;;
+      esac
+      ;;
+   esac
+   ;;
+esac
+
+case "$quadtype" in
+'')	echo "Alas, no 64-bit integer types in sight." >&4
+	d_quad="$undef"
+	;;
+*)	if test X"$use64bitint" = Xdefine -o X"$longsize" = X8; then
+	    verb="will"
+	else
+	    verb="could"
+	fi
+	echo "We $verb use '$quadtype' for 64-bit integers." >&4
+	d_quad="$define"
+	;;
+esac
+
+: check for length of character
+echo " "
+case "$charsize" in
+'')
+	echo "Checking to see how big your characters are (hey, you never know)..." >&4
+	$cat >try.c <<'EOCP'
+#include 
+int main()
+{
+    printf("%d\n", (int)sizeof(char));
+    exit(0);
+}
+EOCP
+	set try
+	if eval $compile_ok; then
+		dflt=`./try`
+	else
+		dflt='1'
+		echo "(I can't seem to compile the test program.  Guessing...)"
+	fi
+	;;
+*)
+	dflt="$charsize"
+	;;
+esac
+rp="What is the size of a character (in bytes)?"
+. ./myread
+charsize="$ans"
+$rm -f try.c try
+
+
+echo " "
+$echo "Choosing the C types to be used for Perl's internal types..." >&4
+
+case "$use64bitint:$d_quad:$quadtype" in
+define:define:?*)
+	ivtype="$quadtype"
+	uvtype="$uquadtype"
+	ivsize=8
+	uvsize=8
+	;;
+*)	ivtype="long"
+	uvtype="unsigned long"
+	ivsize=$longsize
+	uvsize=$longsize
+	;;
+esac
+
+case "$uselongdouble:$d_longdbl" in
+define:define)
+	nvtype="long double"
+	nvsize=$longdblsize
+	;;
+*)	nvtype=double
+	nvsize=$doublesize
+	;;
+esac
+
+$echo "(IV will be "$ivtype", $ivsize bytes)"
+$echo "(UV will be "$uvtype", $uvsize bytes)"
+$echo "(NV will be "$nvtype", $nvsize bytes)"
+
+$cat >try.c <
+#endif
+#include 
+int main() {
+#ifdef INT8
+   int8_t i =  INT8_MAX;
+  uint8_t u = UINT8_MAX;
+  printf("int8_t\n");
+#endif
+#ifdef INT16
+   int16_t i =  INT16_MAX;
+  uint16_t i = UINT16_MAX;
+  printf("int16_t\n");
+#endif
+#ifdef INT32
+   int32_t i =  INT32_MAX;
+  uint32_t u = UINT32_MAX;
+  printf("int32_t\n");
+#endif
+}
+EOCP
+
+case "$i8type" in
+'')	case "$charsize" in
+	1)	i8type=char
+		u8type="unsigned char"
+		i8size=$charsize
+		u8size=$charsize
+		;;
+	esac
+	;;
+esac
+case "$i8type" in
+'')	set try -DINT8
+	if eval $compile; then
+		case "`./try$exe_ext`" in
+		int8_t)	i8type=int8_t
+			u8type=uint8_t
+			i8size=1
+			u8size=1
+			;;
+		esac
+	fi
+	;;
+esac
+case "$i8type" in
+'')	if $test $charsize -ge 1; then
+		i8type=char
+		u8type="unsigned char"
+		i8size=$charsize
+		u8size=$charsize
+	fi
+	;;
+esac
+
+case "$i16type" in
+'')	case "$shortsize" in
+	2)	i16type=short
+		u16type="unsigned short"
+		i16size=$shortsize
+		u16size=$shortsize
+		;;
+	esac
+	;;
+esac
+case "$i16type" in
+'')	set try -DINT16
+	if eval $compile; then
+		case "`./try$exe_ext`" in
+		int16_t)
+			i16type=int16_t
+			u16type=uint16_t
+			i16size=2
+			u16size=2
+			;;
+		esac
+	fi
+	;;
+esac
+case "$i16type" in
+'')	if $test $shortsize -ge 2; then
+		i16type=short
+		u16type="unsigned short"
+		i16size=$shortsize
+		u16size=$shortsize
+	fi
+	;;
+esac
+
+case "$i32type" in
+'')	case "$longsize" in
+	4)	i32type=long
+		u32type="unsigned long"
+		i32size=$longsize
+		u32size=$longsize
+		;;
+	*)	case "$intsize" in
+		4)	i32type=int
+			u32type="unsigned int"
+			i32size=$intsize
+			u32size=$intsize
+			;;
+		esac
+		;;
+	esac
+	;;
+esac
+case "$i32type" in
+'')	set try -DINT32
+	if eval $compile; then
+		case "`./try$exe_ext`" in
+		int32_t)
+			i32type=int32_t
+			u32type=uint32_t
+			i32size=4
+			u32size=4
+			;;
+		esac
+	fi
+	;;
+esac
+case "$i32type" in
+'')	if $test $intsize -ge 4; then
+		i32type=int
+		u32type="unsigned int"
+		i32size=$intsize
+		u32size=$intsize
+	fi
+	;;
+esac
+
+case "$i64type" in
+'')	case "$d_quad:$quadtype" in
+	define:?*)
+		i64type="$quadtype"
+		u64type="$uquadtype"
+		i64size=8
+		u64size=8
+		;;
+	esac
+	;;
+esac
+
+$echo "Checking whether your NVs can preserve your UVs..." >&4
+$cat <try.c
+#include 
+int main() {
+    $uvtype k = ($uvtype)~0, l;
+    $nvtype d;
+    l = k;
+    d = ($nvtype)l;
+    l = ($uvtype)d;
+    if (l == k)
+       printf("preserve\n");
+    exit(0);
+}
+EOP
+set try
+if eval $compile; then
+	case "`./try$exe_ext`" in
+	preserve) d_nv_preserves_uv="$define" ;;
+	esac
+fi	
+case "$d_nv_preserves_uv" in
+$define) $echo "Yes, they can."  2>&1 ;;
+*)	 $echo "No, they can't." 2>&1
+	 d_nv_preserves_uv="$undef"
+	 ;;
+esac
+
+$rm -f try.* try
+
+
+: check for off64_t
+echo " "
+echo "Checking to see if you have off64_t..." >&4
+$cat >try.c <
+#include 
+int main() { off64_t x = 7; }
+EOCP
+set try
+if eval $compile; then
+	val="$define"
+	echo "You have off64_t."
+else
+	val="$undef"
+	echo "You do not have off64_t."
+	case "$lseeksize" in
+	8) echo "(Your off_t is 64 bits, so you could use that.)" ;;
+	esac
+fi
+$rm -f try.* try
+set d_off64_t
+eval $setvar
+
+: see if POSIX threads are available
+set pthread.h i_pthread
+eval $inhdr
+
+
+
+
+: how to create joinable pthreads
+if test "X$usethreads" = "X$define" -a "X$i_pthread" = "X$define"; then
+	echo " "
+	echo "Checking what constant to use for creating joinable pthreads..." >&4 
+	$cat >try.c <<'EOCP'
+#include 
+int main() {
+    int detachstate = JOINABLE;
+}
+EOCP
+	set try -DJOINABLE=PTHREAD_CREATE_JOINABLE
+	if eval $compile; then
+		echo "You seem to use PTHREAD_CREATE_JOINABLE." >&4
+		val="$undef" # Yes, undef.
+		set d_old_pthread_create_joinable
+		eval $setvar
+		val=""
+		set old_pthread_create_joinable
+		eval $setvar
+	else
+		set try -DJOINABLE=PTHREAD_CREATE_UNDETACHED
+		if eval $compile; then
+			echo "You seem to use PTHREAD_CREATE_UNDETACHED." >&4
+			val="$define"
+			set d_old_pthread_create_joinable
+			eval $setvar
+			val=PTHREAD_CREATE_UNDETACHED
+			set old_pthread_create_joinable
+			eval $setvar
+		else		
+			set try -DJOINABLE=__UNDETACHED
+			if eval $compile; then
+				echo "You seem to use __UNDETACHED." >&4
+				val="$define"
+				set d_old_pthread_create_joinable
+				eval $setvar
+				val=__UNDETACHED
+				set old_pthread_create_joinable
+				eval $setvar
+			else
+				echo "Egads, nothing obvious found.  Guessing that you use 0." >&4
+				val="$define"
+				set d_old_pthread_create_joinable
+				eval $setvar
+				val=0
+				set old_pthread_create_joinable
+				eval $setvar
+			fi
+		fi
+	fi
+	$rm -f try try.*
+else
+    d_old_pthread_create_joinable="$undef"
+    old_pthread_create_joinable=""
+fi
+
 : see if pause exists
 set pause d_pause
 eval $inlibc
@@ -7803,85 +10243,73 @@ eval $inlibc
 : see whether the various POSIXish _yields exist
 $cat >try.c <
+#include 
 int main() {
-	YIELD();
-	exit(0);
+#ifdef SCHED_YIELD
+	sched_yield();
+#else
+#ifdef PTHREAD_YIELD
+	pthread_yield();
+#else
+#ifdef PTHREAD_YIELD_NULL
+	pthread_yield(NULL);
+#endif
+#endif
+#endif
 }
 EOP
-: see if pthread_yield exists within given cccmd,
-: if we do not usethreads this may well end up undef.
-set try -DYIELD=pthread_yield
+: see if sched_yield exists
+set try -DSCHED_YIELD
 if eval $compile; then
     val="$define"
-    echo 'pthread_yield() found.' >&4
+    sched_yield='sched_yield()'
 else
     val="$undef"
-    echo 'pthread_yield() NOT found.' >&4
 fi
-set d_pthread_yield
+case "$usethreads" in
+$define)
+	case "$val" in
+	$define) echo 'sched_yield() found.' >&4	;;
+	*)	 echo 'sched_yield() NOT found.' >&4	;;
+	esac
+esac
+set d_sched_yield
 eval $setvar
 
-: see if sched_yield exists within given cccmd,
-: if we do not usethreads this may well end up undef.
-set try -DYIELD=sched_yield
+: see if pthread_yield exists
+set try -DPTHREAD_YIELD
 if eval $compile; then
     val="$define"
-    echo 'sched_yield() found.' >&4
+    case "$sched_yield" in
+    '') sched_yield='pthread_yield()' ;;
+    esac
 else
-    val="$undef"
-    echo 'sched_yield() NOT found.' >&4
+    set try -DPTHREAD_YIELD_NULL
+    if eval $compile; then
+	val="$define"
+	case "$sched_yield" in
+	'') sched_yield='pthread_yield(NULL)' ;;
+	esac
+    else
+	val="$undef"
+    fi
 fi
-set d_sched_yield
+case "$usethreads" in
+$define)
+	case "$val" in
+	$define) echo 'pthread_yield() found.' >&4	;;
+	*)	 echo 'pthread_yield() NOT found.' >&4	;;
+	esac
+	;;
+esac
+set d_pthread_yield
 eval $setvar
-$rm -f try try.*
-
-: see if this is a pthread.h system
-set pthread.h i_pthread
-eval $inhdr
 
-: see if this is a mach/cthreads.h system
-set mach/cthreads.h i_machcthreads
-eval $inhdr
+case "$sched_yield" in
+'') sched_yield=undef ;;
+esac
 
-: test whether pthreads are created in joinable -- aka undetached -- state
-if test "X$usethreads" = "X$define" -a "X$i_pthread" = "X$define"; then
-	echo $n "Checking whether pthreads are created joinable. $c" >&4 
-	$cat >try.c <
-#include 
-int main() {
-    pthread_attr_t attr;
-    int detachstate;
-    printf("%s\n",
-	pthread_attr_init(&attr) == 0 &&
-        pthread_attr_getdetachstate(&attr, &detachstate) == 0 &&
-        detachstate == PTHREAD_CREATE_DETACHED ?
-        "detached" : "joinable");
-    exit(0);
-}
-EOCP
-	set try
-	if eval $compile; then
-		yyy=`./try`
-		case "$yyy" in
-			detached) echo "Nope, they aren't." >&4 ;;
-			*) echo "Yup, they are." >&4 ;;
-		esac
-	else
-		echo " "
-		echo "(I can't execute the test program--assuming they are.)" >&4
-		yyy=joinable
-	fi
-	$rm -f try try.*
-	case "$yyy" in
-		detached) val="$undef" ;;
-		*) val="$define" ;;
-	esac
-	set d_pthreads_created_joinable
-	eval $setvar
-else
-    d_pthreads_created_joinable="$undef"
-fi
+$rm -f try try.*
 
 : see if this is a pwd.h system
 set pwd.h i_pwd
@@ -7889,18 +10317,6 @@ eval $inhdr
 
 case "$i_pwd" in
 $define)
-	: see if setpwent exists
-	set setpwent d_setpwent
-	eval $inlibc
-
-	: see if getpwent exists
-	set getpwent d_getpwent
-	eval $inlibc
-
-	: see if endpwent exists
-	set endpwent d_endpwent
-	eval $inlibc
-
 	xxx=`./findhdr pwd.h`
 	$cppstdin $cppflags $cppminus < $xxx >$$.h
 
@@ -7970,11 +10386,8 @@ $define)
 
 	$rm -f $$.h
 	;;
-*)	# Assume all is lost as far as the d_*pw* go.
+*)
 	val="$undef"; 
-	set d_setpwent; eval $setvar
-	set d_getpwent; eval $setvar
-	set d_endpwent; eval $setvar
 	set d_pwquota; eval $setvar
 	set d_pwage; eval $setvar
 	set d_pwchange; eval $setvar
@@ -8306,7 +10719,7 @@ else
     echo "You do not have union semun in ." >&4
     val="$undef"
 fi
-$rm -f try try.c
+$rm -f try try.c try.h
 set d_union_semun
 eval $setvar
 
@@ -8347,6 +10760,7 @@ END
 #include 
 #include 
 #include 
+#include "try.h"
 #ifndef errno
 extern int errno;
 #endif
@@ -8399,7 +10813,7 @@ END
     case "$d_semctl_semun" in
     $define)
         echo "You can use union semun for semctl IPC_STAT." >&4
-	also='also '
+	also='also'
         ;;
     *)  echo "You cannot use union semun for semctl IPC_STAT." >&4
 	also=''
@@ -8412,9 +10826,9 @@ END
 #include 
 #include 
 #include 
+#include "try.h"
 #include 
 #include 
-#include "try.h"
 #ifndef errno
 extern int errno;
 #endif
@@ -8456,7 +10870,7 @@ END
     eval $setvar
     case "$d_semctl_semid_ds" in
     $define)
-        echo "You can ${also}use struct semid_ds* for semctl IPC_STAT." >&4
+        echo "You can $also use struct semid_ds* for semctl IPC_STAT." >&4
         ;;
     *)  echo "You cannot use struct semid_ds* for semctl IPC_STAT." >&4
         ;;
@@ -8484,6 +10898,10 @@ eval $inlibc
 set seteuid d_seteuid
 eval $inlibc
 
+: see if setgrent exists
+set setgrent d_setgrent
+eval $inlibc
+
 : see if sethostent exists
 set sethostent d_sethent
 eval $inlibc
@@ -8516,6 +10934,10 @@ eval $inlibc
 set setpriority d_setprior
 eval $inlibc
 
+: see if setpwent exists
+set setpwent d_setpwent
+eval $inlibc
+
 : see if setregid exists
 set setregid d_setregid
 eval $inlibc
@@ -8544,6 +10966,10 @@ eval $inlibc
 set setsid d_setsid
 eval $inlibc
 
+: see if setspent exists
+set setspent d_setspent
+eval $inlibc
+
 : see if setvbuf exists
 set setvbuf d_setvbuf
 eval $inlibc
@@ -8656,7 +11082,7 @@ case "$osname" in
 freebsd)
     case "`ipcs 2>&1`" in
     "SVID shared memory"*"not configured"*)
-	echo "But your $osname does not have the shm*(2) configured." >&4
+	echo "Your $osname does not have the shm*(2) configured." >&4
         h_shm=false
 	val="$undef"
 	set shmctl d_shmctl
@@ -8693,6 +11119,10 @@ if set sigaction val -f d_sigaction; eval $csym; $val; then
 int main()
 {
     struct sigaction act, oact;
+    act.sa_flags = 0;
+    oact.sa_handler = 0;
+    /* so that act and oact are used */
+    exit(act.sa_flags == 0 &&  oact.sa_handler == 0);
 }
 EOP
 	set try
@@ -8754,73 +11184,60 @@ set d_sigsetjmp
 eval $setvar
 $rm -f try.c try
 
-socketlib=''
-sockethdr=''
-: see whether socket exists
-echo " "
-$echo $n "Hmm... $c" >&4
-if set socket val -f d_socket; eval $csym; $val; then
-	echo "Looks like you have Berkeley networking support." >&4
-	d_socket="$define"
-	if set setsockopt val -f; eval $csym; $val; then
-		d_oldsock="$undef"
-	else
-		echo "...but it uses the old 4.1c interface, rather than 4.2" >&4
-		d_oldsock="$define"
-	fi
-else
-	if $contains socklib libc.list >/dev/null 2>&1; then
-		echo "Looks like you have Berkeley networking support." >&4
-		d_socket="$define"
-		: we will have to assume that it supports the 4.2 BSD interface
-		d_oldsock="$undef"
-	else
-		echo "You don't have Berkeley networking in libc$_a..." >&4
-		for net in net socket
-		do
-			if test -f /usr/lib/lib$net$_a; then
-				( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) ||  \
-				$ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list
-				if $contains socket libc.list >/dev/null 2>&1; then
-					d_socket="$define"
-					case "$net" in
-					net)
-						echo "...but the Wollongong group seems to have hacked it in." >&4
-						socketlib="-lnet"
-						sockethdr="-I/usr/netinclude"
-						;;
-					esac
-					echo "Found Berkeley sockets interface in lib$net." >& 4 
-					if $contains setsockopt libc.list >/dev/null 2>&1; then
-						d_oldsock="$undef"
-					else
-						echo "...using the old 4.1c interface, rather than 4.2" >&4
-						d_oldsock="$define"
-					fi
-					break
-				fi
-			fi
-		done
-		if test "X$d_socket" != "X$define"; then
-			echo "or anywhere else I see." >&4
-			d_socket="$undef"
-			d_oldsock="$undef"
-		fi
-	fi
-fi
+: see if sys/stat.h is available
+set sys/stat.h i_sysstat
+eval $inhdr
 
-: see if socketpair exists
-set socketpair d_sockpair
-eval $inlibc
 
 : see if stat knows about block sizes
 echo " "
+echo "Checking to see if your struct stat has st_blocks field..." >&4
 set d_statblks stat st_blocks $i_sysstat sys/stat.h
 eval $hasfield
 
+
+: see if this is a sys/vfs.h system
+set sys/vfs.h i_sysvfs
+eval $inhdr
+
+
+: see if this is a sys/statfs.h system
+set sys/statfs.h i_sysstatfs
+eval $inhdr
+
+
+echo " "
+echo "Checking to see if your system supports struct statfs..." >&4
+set d_statfs_s statfs $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h $i_sysvfs sys/vfs.h $i_sysstatfs sys/statfs.h
+eval $hasstruct
+case "$d_statfs_s" in
+"$define")      echo "Yes, it does."   ;;
+*)              echo "No, it doesn't." ;;
+esac
+
+
+
+: see if struct statfs knows about f_flags
+case "$d_statfs_s" in
+define)	
+	echo " "
+	echo "Checking to see if your struct statfs has f_flags field..." >&4
+	set d_statfs_f_flags statfs f_flags $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h $i_sysvfs sys/vfs.h $i_sysstatfs sys/statfs.h
+	eval $hasfield
+	;;
+*)	val="$undef"
+	set d_statfs_f_flags
+	eval $setvar
+	;;
+esac
+case "$d_statfs_f_flags" in
+"$define")      echo "Yes, it does."   ;;
+*)              echo "No, it doesn't." ;;
+esac
+
 : see if _ptr and _cnt from stdio act std
 echo " "
-if $contains '_IO_fpos_t' `./findhdr stdio.h` >/dev/null 2>&1 ; then
+if $contains '_IO_fpos_t' `./findhdr stdio.h` `./findhdr libio.h` >/dev/null 2>&1 ; then
 	echo "(Looks like you have stdio.h from Linux.)"
 	case "$stdio_ptr" in
 	'') stdio_ptr='((fp)->_IO_read_ptr)'
@@ -8945,6 +11362,41 @@ esac
 set d_stdiobase
 eval $setvar
 
+$cat >&4 <try.c <
+int main() {
+  if (&STDIO_STREAM_ARRAY[fileno(stdin)] == stdin)
+    printf("yes\n");
+}
+EOCP
+	for s in _iob __iob __sF
+	do
+	        set try -DSTDIO_STREAM_ARRAY=$s
+		if eval $compile; then
+		    	case "`./try$exe_ext`" in
+			yes)	stdio_stream_array=$s; break ;;
+			esac
+		fi
+	done
+	$rm -f try.* try$exe_ext
+esac
+case "$stdio_stream_array" in
+'')	$cat >&4 <&4 <&4
-	d_strerror="$define"
-	d_strerrm='strerror(e)'
-	if set sys_errlist val -a d_syserrlst; eval $csym; $val; then	
-	    echo "(You also have sys_errlist[], so we could roll our own strerror.)" 
-	    d_syserrlst="$define"
-	else
-	    echo "(Since you don't have sys_errlist[], sterror() is welcome.)"
-	    d_syserrlst="$undef"
-	fi
+		echo 'strerror() found.' >&4
+		d_strerror="$define"
+		d_strerrm='strerror(e)'
+		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then	
+			echo "(You also have sys_errlist[], so we could roll our own strerror.)" 
+			d_syserrlst="$define"
+		else
+			echo "(Since you don't have sys_errlist[], sterror() is welcome.)"
+			d_syserrlst="$undef"
+		fi
     elif xxx=`./findhdr string.h`; test "$xxx" || xxx=`./findhdr strings.h`; \
-	$contains '#[ 	]*define.*strerror' "$xxx" >/dev/null 2>&1; then
-	echo 'strerror() found in string header.' >&4
-	d_strerror="$define"
-	d_strerrm='strerror(e)'
-	if set sys_errlist val -a d_syserrlst; eval $csym; $val; then	
-	echo "(Most probably, strerror() uses sys_errlist[] for descriptions.)"
-	    d_syserrlst="$define"
-	else
-	    echo "(You don't appear to have any sys_errlist[], how can this be?)"
-	d_syserrlst="$undef"
-	fi
+			$contains '#[ 	]*define.*strerror' "$xxx" >/dev/null 2>&1; then
+		echo 'strerror() found in string header.' >&4
+		d_strerror="$define"
+		d_strerrm='strerror(e)'
+		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then	
+			echo "(Most probably, strerror() uses sys_errlist[] for descriptions.)"
+				d_syserrlst="$define"
+		else
+			echo "(You don't appear to have any sys_errlist[], how can this be?)"
+			d_syserrlst="$undef"
+		fi
     elif set sys_errlist val -a d_syserrlst; eval $csym; $val; then
-echo "strerror() not found, but you have sys_errlist[] so we'll use that." >&4
-	d_strerror="$undef"
-	d_syserrlst="$define"
-	d_strerrm='((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e])'
+		echo "strerror() not found, but you have sys_errlist[] so we'll use that." >&4
+		d_strerror="$undef"
+		d_syserrlst="$define"
+		d_strerrm='((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e])'
     else
-	echo 'strerror() and sys_errlist[] NOT found.' >&4
-	d_strerror="$undef"
-	d_syserrlst="$undef"
-	d_strerrm='"unknown"'
+		echo 'strerror() and sys_errlist[] NOT found.' >&4
+		d_strerror="$undef"
+		d_syserrlst="$undef"
+		d_strerrm='"unknown"'
     fi
 fi
 
@@ -9020,10 +11472,117 @@ eval $inlibc
 set strtol d_strtol
 eval $inlibc
 
+: see if strtold exists
+set strtold d_strtold
+eval $inlibc
+
+: see if strtoll exists
+set strtoll d_strtoll
+eval $inlibc
+
+case "$d_longlong-$d_strtoll" in
+"$define-$define")
+	$cat <try.c <<'EOCP'
+#include 
+#ifdef __hpux
+#define strtoll __strtoll
+#endif
+#include 
+extern long long int strtoll(char *s, char **, int); 
+static int bad = 0;
+int check(char *s, long long ell, int een) {
+	long long gll;
+	errno = 0;
+	gll = strtoll(s, 0, 10);
+	if (!((gll == ell) && (errno == een)))
+		bad++;
+}
+int main() {
+	check(" 1",                                      1LL, 0);
+	check(" 0",                                      0LL, 0);
+	check("-1",                                     -1LL, 0);
+	check("-9223372036854775808", -9223372036854775808LL, 0);
+	check("-9223372036854775808", -9223372036854775808LL, 0);
+	check(" 9223372036854775807",  9223372036854775807LL, 0);
+	check("-9223372036854775808", -9223372036854775808LL, 0);
+	check(" 9223372036854775808",  9223372036854775807LL, ERANGE);
+	check("-9223372036854775809", -9223372036854775808LL, ERANGE);
+	if (!bad)
+		printf("ok\n");
+}
+EOCP
+	set try
+	if eval $compile; then
+		case "`./try`" in
+		ok) echo "Your strtoll() seems to be working okay." ;;
+		*) cat <&4
+Your strtoll() doesn't seem to be working okay.
+EOM
+		   d_strtoll="$undef"
+		   ;;
+		esac
+	fi
+	;;
+esac
+
 : see if strtoul exists
 set strtoul d_strtoul
 eval $inlibc
 
+: see if strtoull exists
+set strtoull d_strtoull
+eval $inlibc
+
+case "$d_longlong-$d_strtoull" in
+"$define-$define")
+	$cat <try.c <<'EOCP'
+#include 
+#ifdef __hpux
+#define strtoull __strtoull
+#endif
+#include 
+extern unsigned long long int strtoull(char *s, char **, int); 
+static int bad = 0;
+int check(char *s, long long eull, int een) {
+	long long gull;
+	errno = 0;
+	gull = strtoull(s, 0, 10);
+	if (!((gull == eull) && (errno == een)))
+		bad++;
+}
+int main() {
+	check(" 1",                                       1LL, 0);
+	check(" 0",                                       0LL, 0);
+	check("18446744073709551615", 18446744073709551615ULL, 0);
+	check("18446744073709551616", 18446744073709551615ULL, ERANGE);
+	if (!bad)
+		printf("ok\n");
+}
+EOCP
+	set try
+	if eval $compile; then
+		case "`./try`" in
+		ok) echo "Your strtoull() seems to be working okay." ;;
+		*) cat <&4
+Your strtoull() doesn't seem to be working okay.
+EOM
+		   d_strtoull="$undef"
+		   ;;
+		esac
+	fi
+	;;
+esac
+
+: see if strtouq exists
+set strtouq d_strtouq
+eval $inlibc
+
 : see if strxfrm exists
 set strxfrm d_strxfrm
 eval $inlibc
@@ -9052,62 +11611,11 @@ eval $inlibc
 set tcsetpgrp d_tcsetpgrp
 eval $inlibc
 
-: define an is-a-typedef? function
-typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
-case "$inclist" in
-"") inclist="sys/types.h";;
-esac;
-eval "varval=\$$var";
-case "$varval" in
-"")
-	$rm -f temp.c;
-	for inc in $inclist; do
-		echo "#include <$inc>" >>temp.c;
-	done;
-	echo "#ifdef $type" >> temp.c;
-	echo "printf(\"We have $type\");" >> temp.c;
-	echo "#endif" >> temp.c;
-	$cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null;
-	if $contains $type temp.E >/dev/null 2>&1; then
-		eval "$var=\$type";
-	else
-		eval "$var=\$def";
-	fi;
-	$rm -f temp.?;;
-*) eval "$var=\$varval";;
-esac'
-
-: define an is-a-typedef? function that prompts if the type is not available.
-typedef_ask='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
-case "$inclist" in
-"") inclist="sys/types.h";;
-esac;
-eval "varval=\$$var";
-case "$varval" in
-"")
-	$rm -f temp.c;
-	for inc in $inclist; do
-		echo "#include <$inc>" >>temp.c;
-	done;
-	echo "#ifdef $type" >> temp.c;
-	echo "printf(\"We have $type\");" >> temp.c;
-	echo "#endif" >> temp.c;
-	$cppstdin $cppflags $cppminus < temp.c >temp.E 2>/dev/null;
-	echo " " ;
-	echo "$rp" | $sed -e "s/What is/Looking for/" -e "s/?/./";
-	if $contains $type temp.E >/dev/null 2>&1; then
-		echo "$type found." >&4;
-		eval "$var=\$type";
-	else
-		echo "$type NOT found." >&4;
-		dflt="$def";
-		. ./myread ;
-		eval "$var=\$ans";
-	fi;
-	$rm -f temp.?;;
-*) eval "$var=\$varval";;
-esac'
-
+: see if prototype for telldir is available
+echo " "
+set d_telldirproto telldir $i_systypes sys/types.h $i_dirent dirent.h
+eval $hasproto
+
 : see if this is a sys/times.h system
 set sys/times.h i_systimes
 eval $inhdr
@@ -9150,42 +11658,9 @@ eval $setvar
 set umask d_umask
 eval $inlibc
 
-: see how we will look up host name
-echo " "
-if false; then
-	: dummy stub to allow use of elif
-elif set uname val -f d_uname; eval $csym; $val; then
-	if ./xenix; then
-		$cat <<'EOM'
-uname() was found, but you're running xenix, and older versions of xenix
-have a broken uname(). If you don't really know whether your xenix is old
-enough to have a broken system call, use the default answer.
-
-EOM
-		dflt=y
-		case "$d_uname" in
-		"$define") dflt=n;;
-		esac
-		rp='Is your uname() broken?'
-		. ./myread
-		case "$ans" in
-		n*) d_uname="$define"; call=uname;;
-		esac
-	else
-		echo 'uname() found.' >&4
-		d_uname="$define"
-		call=uname
-	fi
-fi
-case "$d_gethname" in
-'') d_gethname="$undef";;
-esac
-case "$d_uname" in
-'') d_uname="$undef";;
-esac
-case "$d_phostname" in
-'') d_phostname="$undef";;
-esac
+: see if ustat exists
+set ustat d_ustat
+eval $inlibc
 
 : backward compatibility for d_hvfork
 if test X$d_hvfork != X; then
@@ -9241,10 +11716,6 @@ eval $inhdr
 set sys/ndir.h i_sysndir
 eval $inhdr
 
-: see if sys/types.h has to be included
-set sys/types.h i_systypes
-eval $inhdr
-
 : see if closedir exists
 set closedir d_closedir
 eval $inlibc
@@ -9357,49 +11828,100 @@ Log='$Log'
 RCSfile='$RCSfile'
 Revision='$Revision'
 
+case "$crosscompile" in
+''|[nN]*) crosscompile="$undef" ;;
+esac
+
+case "$osname" in
+next|rhapsody|darwin) multiarch="$define" ;;
+esac
+case "$multiarch" in
+''|[nN]*) multiarch="$undef" ;;
+esac
+
 : check for alignment requirements
 echo " "
-case "$alignbytes" in
-'') echo "Checking alignment constraints..." >&4
-	$cat >try.c <<'EOCP'
+case "$crosscompile$multiarch" in
+*$define*)
+	$cat <&4
+		if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then
+			$cat >try.c <<'EOCP'
+typedef long double NV;
+EOCP
+		else
+			$cat >try.c <<'EOCP'
+typedef double NV;
+EOCP
+		fi
+		$cat >>try.c <<'EOCP'
+#include 
 struct foobar {
 	char foo;
-	double bar;
-} try;
+	NV bar;
+} try_algn;
 int main()
 {
-	printf("%d\n", (char *)&try.bar - (char *)&try.foo);
+    printf("%d\n", (int)((char *)&try_algn.bar - (char *)&try_algn.foo));
+    return(0);
 }
 EOCP
-	set try
-	if eval $compile_ok; then
-		dflt=`./try`
-	else
-		dflt='8'
-		echo "(I can't seem to compile the test program...)"
-	fi
-	;;
-*) dflt="$alignbytes"
+		set try
+		if eval $compile_ok; then
+			dflt=`./try`
+		else
+			dflt='8'
+			echo "(I can't seem to compile the test program...)"
+		fi
+		;;
+	*) dflt="$alignbytes"
+		;;
+	esac
+	rp="Doubles must be aligned on a how-many-byte boundary?"
+	. ./myread
+	alignbytes="$ans"
+	$rm -f try.c try
 	;;
 esac
-rp="Doubles must be aligned on a how-many-byte boundary?"
-. ./myread
-alignbytes="$ans"
-$rm -f try.c try
+
+
+: set the base revision
+baserev=5.0
 
 : check for ordering of bytes in a long
-case "$byteorder" in
-'')
-	$cat <<'EOM'
-  
+echo " "
+case "$crosscompile$multiarch" in
+*$define*)
+	$cat <try.c <<'EOCP'
+		$cat >try.c <<'EOCP'
 #include 
 int main()
 {
@@ -9419,37 +11941,40 @@ int main()
 	exit(0);
 }
 EOCP
-	xxx_prompt=y
-	set try
-	if eval $compile && ./try > /dev/null; then
-		dflt=`./try`
-		case "$dflt" in
-		[1-4][1-4][1-4][1-4]|12345678|87654321)
-			echo "(The test program ran ok.)"
-			echo "byteorder=$dflt"
-			xxx_prompt=n
+		xxx_prompt=y
+		set try
+		if eval $compile && ./try > /dev/null; then
+			dflt=`./try`
+			case "$dflt" in
+			[1-4][1-4][1-4][1-4]|12345678|87654321)
+				echo "(The test program ran ok.)"
+				echo "byteorder=$dflt"
+				xxx_prompt=n
 			;;
-		????|????????) echo "(The test program ran ok.)" ;;
-		*) echo "(The test program didn't run right for some reason.)" ;;
-		esac
-	else
-		dflt='4321'
-		cat <<'EOM'
+			????|????????) echo "(The test program ran ok.)" ;;
+			*) echo "(The test program didn't run right for some reason.)" ;;
+			esac
+		else
+			dflt='4321'
+			cat <<'EOM'
 (I can't seem to compile the test program.  Guessing big-endian...)
 EOM
-	fi
-	case "$xxx_prompt" in
-	y)
-		rp="What is the order of bytes in a long?"
-		. ./myread
-		byteorder="$ans"
-		;;
-	*)	byteorder=$dflt
+		fi
+		case "$xxx_prompt" in
+		y)
+			rp="What is the order of bytes in a long?"
+			. ./myread
+			byteorder="$ans"
+			;;
+		*)	byteorder=$dflt
+			;;
+		esac
 		;;
 	esac
+	$rm -f try.c try
 	;;
 esac
-$rm -f try.c try
+
 
 : how do we catenate cpp tokens here?
 echo " "
@@ -9539,7 +12064,7 @@ int main()
 }
 EOCP
 	set try
-	if eval $compile && ./try; then
+	if eval $compile_ok && ./try; then
 		echo 'Looks OK.' >&4
 	else
 		echo "I can't use Berkeley DB with your .  I'll disable Berkeley DB." >&4
@@ -9742,85 +12267,453 @@ EOM
 esac
 $rm -f try.* .out
 
-: check for length of double
+
+: How can we generate normalized random numbers ?
 echo " "
-case "$doublesize" in
+echo "Looking for a random number function..." >&4
+case "$randfunc" in
 '')
-	$echo $n "Checking to see how big your double precision numbers are...$c" >&4
-	$cat >try.c <<'EOCP'
+	if set drand48 val -f; eval $csym; $val; then
+		dflt="drand48"
+		echo "Good, found drand48()." >&4
+	elif set random val -f; eval $csym; $val; then
+		dflt="random"
+		echo "OK, found random()." >&4
+	else
+		dflt="rand"
+		echo "Yick, looks like I have to use rand()." >&4
+	fi
+	echo " "
+	;;
+*)
+	dflt="$randfunc"
+	;;
+esac
+cont=true
+
+case "$ccflags" in
+*-Dmy_rand=*|*-Dmy_srand=*)
+	echo "Removing obsolete -Dmy_rand, -Dmy_srand, and -Drandbits from ccflags." >&4
+	ccflags="`echo $ccflags | sed -e 's/-Dmy_rand=random/ /'`"
+	ccflags="`echo $ccflags | sed -e 's/-Dmy_srand=srandom/ /'`"
+	ccflags="`echo $ccflags | sed -e 's/-Drandbits=[0-9][0-9]*/ /'`"
+	;;
+esac
+
+while $test "$cont"; do
+	rp="Use which function to generate random numbers?"
+	. ./myread
+	if $test "$ans" = "$dflt"; then
+		: null
+	else
+		randbits=''
+	fi
+	randfunc="$ans"
+	if set $ans val -f; eval $csym; $val; then
+		cont=''
+	else
+		dflt=y
+		rp="I cannot find function $ans. Use that name anyway?"
+		. ./myread
+		dflt=rand
+		case "$ans" in
+			[yY]*) cont='';;
+		esac
+	fi
+	case "$cont" in
+	'')
+		case "$randfunc" in
+		drand48)
+			drand01="drand48()"
+			seedfunc="srand48"
+			randbits=48
+			randseedtype=long
+			;;
+		rand|random)
+			case "$randbits" in
+			'')
+echo "Checking to see how many bits your $randfunc() function produces..." >&4
+				$cat >try.c <
+#ifdef I_UNISTD
+#  include 
+#endif
+#ifdef I_STDLIB
+#  include 
+#endif
+int main()
+{
+	register int i;
+	register unsigned long tmp;
+	register unsigned long max = 0L;
+
+	for (i = 1000; i; i--) {
+		tmp = (unsigned long) $randfunc();
+		if (tmp > max) max = tmp;
+	}
+	for (i = 0; max; i++)
+		max /= 2;
+	printf("%d\n",i);
+}
+EOCP
+				set try
+				if eval $compile_ok; then
+					dflt=`try`
+				else
+					dflt='?'
+					echo "(I can't seem to compile the test program...)"
+				fi
+				;;
+			*)
+				dflt="$randbits"
+				;;
+			esac
+			rp="How many bits does your $randfunc() function produce?"
+			. ./myread
+			randbits="$ans"
+			$rm -f try.c try
+			drand01="($randfunc() / (double) ((unsigned long)1 << $randbits))"
+			seedfunc="s$randfunc"
+			randseedtype=unsigned
+			;;
+		*)
+			dflt="31"
+			rp="How many bits does your $randfunc() function produce?"
+			. ./myread
+			randbits="$ans"
+			seedfunc="s$randfunc"
+			drand01="($randfunc() / (double) ((unsigned long)1 << $randbits))"
+			if set $seedfunc val -f; eval $csym; $val; then
+				echo "(Using $seedfunc() to seed random generator)"
+			else
+				echo "(Warning: no $seedfunc() to seed random generator)"
+				seedfunc=rand
+			fi
+			randseedtype=unsigned
+			;;
+		esac
+		;;
+	esac
+done
+
+echo " "
+echo "Determining whether or not we are on an EBCDIC system..." >&4
+$cat >tebcdic.c <<'EOM'
+int main()
+{
+  if ('M'==0xd4) return 0;
+  return 1;
+}
+EOM
+
+val=$undef
+set tebcdic
+if eval $compile_ok; then
+	if ./tebcdic; then
+		echo "You have EBCDIC." >&4
+		val="$define"
+	else
+		echo "Nope, no EBCDIC, probably ASCII or some ISO Latin." >&4
+	fi
+else
+	echo "I'm unable to compile the test program." >&4
+	echo "I'll assume ASCII or some ISO Latin." >&4
+fi
+$rm -f tebcdic.c tebcdic
+set ebcdic
+eval $setvar
+
+echo " "
+$cat >&4 < try.c ;;
+esac
+$cat >>try.c <
+#$i_unistd I_UNISTD
+#ifdef I_UNISTD
+# include 
+#endif
+#$d_sysconf HAS_SYSCONF
+#$d_stdio_stream_array HAS_STDIO_STREAM_ARRAY
+#ifdef HAS_STDIO_STREAM_ARRAY
+# define STDIO_STREAM_ARRAY $stdio_stream_array
+#endif
+int main() {
+  FILE* p = fopen("try.out", "w");
+#ifdef TRY_FPUTC
+  fputc('x', p);
+#else
+# ifdef TRY_FPRINTF
+  fprintf(p, "x");
+# endif
+#endif
+#ifdef TRY_FFLUSH_NULL
+  fflush(NULL);
+#endif
+#ifdef TRY_FFLUSH_ALL
+  {
+    long open_max = -1;
+# ifdef PERL_FFLUSH_ALL_FOPEN_MAX
+    open_max = PERL_FFLUSH_ALL_FOPEN_MAX;
+# else
+#  if defined(HAS_SYSCONF) && defined(_SC_OPEN_MAX)
+    open_max = sysconf(_SC_OPEN_MAX);
+#  else
+#   ifdef FOPEN_MAX
+    open_max = FOPEN_MAX;
+#   else
+#    ifdef OPEN_MAX
+    open_max = OPEN_MAX;
+#    else
+#     ifdef _NFILE
+    open_max = _NFILE;
+#     endif
+#    endif
+#   endif
+#  endif
+# endif 
+# ifdef HAS_STDIO_STREAM_ARRAY
+    if (open_max > 0) {
+      long i;
+      for (i = 0; i < open_max; i++)
+	    if (STDIO_STREAM_ARRAY[i]._file >= 0 &&
+		STDIO_STREAM_ARRAY[i]._file < open_max &&
+		STDIO_STREAM_ARRAY[i]._flag)
+		fflush(&STDIO_STREAM_ARRAY[i]);
+    }	
+  }
+# endif
+#endif
+  _exit(42);
+}
+EOCP
+: first we have to find out how _not_ to flush
+if $test "X$fflushNULL" = X -o "X$fflushall" = X; then
+    output=''
+    set try -DTRY_FPUTC
+    if eval $compile; then
+	    $rm -f try.out
+ 	    ./try$exe_ext 2>/dev/null
+	    if $test ! -s try.out -a "X$?" = X42; then
+		output=-DTRY_FPUTC
+	    fi
+    fi
+    case "$output" in
+    '')
+	    set try -DTRY_FPRINTF
+	    $rm -f try.out
+	    if eval $compile; then
+		    $rm -f try.out
+ 		    ./try$exe_ext 2>/dev/null
+		    if $test ! -s try.out -a "X$?" = X42; then
+			output=-DTRY_FPRINTF
+		    fi
+	    fi
+	;;
+    esac
+fi
+: check for fflush NULL behaviour
+case "$fflushNULL" in
+'') 	set try -DTRY_FFLUSH_NULL $output
+	if eval $compile; then
+	        $rm -f try.out
+	    	./try$exe_ext 2>/dev/null
+		code="$?"
+		if $test -s try.out -a "X$code" = X42; then
+			fflushNULL="`$cat try.out`"
+		else
+			if $test "X$code" != X42; then
+				$cat >&4 <&4 <tryp.c <
+int
+main(int argc, char **argv)
+{
+    char buf[1024];
+    int i;
+    char *bp = buf;
+    while (1) {
+        while ((i = getc(stdin)) != -1
+               && (*bp++ = i) != '\n'
+               && bp < &buf[1024])
+    	/* DO NOTHING */ ;
+        *bp = '\0';
+        fprintf(stdout, "%s", buf);
+        fflush(NULL);
+        if (i == -1)
+	    return 0;
+        bp = buf;
+    }
+}
+EOCP
+                fflushNULL="$define"
+                set tryp
+                if eval $compile; then
+                    $rm -f tryp.out
+                    $cat tryp.c | ./tryp$exe_ext 2>/dev/null > tryp.out
+                    if cmp tryp.c tryp.out >/dev/null 2>&1; then
+                       $cat >&4 <&4 <&4 <&4 <tryp.c <
-int main()
+int
+main(int argc, char **argv)
 {
-	printf("%d\n", sizeof(double));
+    char buf[1024];
+    int i;
+    char *bp = buf;
+    while (1) {
+	while ((i = getc(stdin)) != -1
+	       && (*bp++ = i) != '\n'
+	       && bp < &buf[1024])
+	/* DO NOTHING */ ;
+	*bp = '\0';
+	fprintf(stdout, "%s", buf);
+	fflush(stdin);
+	if (i == -1)
+	    return 0;
+	bp = buf;
+    }
 }
 EOCP
-	set try
-	if eval $compile_ok; then
-		doublesize=`./try`
-		$echo " $doublesize bytes." >&4
+	set tryp
+	if eval $compile; then
+	    $rm -f tryp.out
+	    $cat tryp.c | ./tryp$exe_ext 2>/dev/null > tryp.out
+	    if cmp tryp.c tryp.out >/dev/null 2>&1; then
+	       $cat >&4 <&4 </dev/null
+				if $test -s try.out -a "X$?" = X42; then
+					fflushall="`$cat try.out`"
+				fi
+			fi
+			$rm -f core try.core core.try.*
+			case "$fflushall" in
+			x)	$cat >&4 <&4 <&4 <&4 <&4
-$cat >tebcdic.c <&4
-		val="$define"
-	else
-		echo "Nope, no EBCDIC.  Assuming ASCII or some ISO Latin." >&4
-	fi
-else
-	echo "I'm unable to compile the test program." >&4
-	echo "I'll assume ASCII or some ISO Latin." >&4
-fi
-$rm -f tebcdic.c tebcdic
-set ebcdic
-eval $setvar
-
-: see what type file positions are declared as in the library
-rp="What is the type for file position used by fsetpos()?"
-set fpos_t fpostype long stdio.h sys/types.h
-eval $typedef_ask
-
-: get csh whereabouts
-case "$csh" in
-'csh') val="$undef" ;;
-*) val="$define" ;;
-esac
-set d_csh
-eval $setvar
-: Respect a hint or command line value for full_csh.
-case "$full_csh" in
-'') full_csh=$csh ;;
+	;;
 esac
+$rm -f try.* try$exe_ext
 
-: Store the full pathname to the sed program for use in the C program
-full_sed=$sed
-
-: Store the full pathname to the ar program for use in the Makefile.SH
+: Store the full pathname to the ar program for use in the C program
 : Respect a hint or command line value for full_ar.
 case "$full_ar" in
 '') full_ar=$ar ;;
 esac
 
+: Store the full pathname to the sed program for use in the C program
+full_sed=$sed
+
 : see what type gids are declared as in the kernel
 echo " "
 echo "Looking for the type for group ids returned by getgid()."
@@ -9845,6 +12738,308 @@ gid_t) echo "gid_t found." ;;
 	;;
 esac
 
+echo " "
+case "$gidtype" in
+*_t) zzz="$gidtype"	;;
+*)   zzz="gid"		;;
+esac
+echo "Checking the size of $zzz..." >&4 
+cat > try.c <
+#include 
+int main() {
+    printf("%d\n", (int)sizeof($gidtype));
+    exit(0);
+}
+EOCP
+set try
+if eval $compile_ok; then
+	yyy=`./try`
+	case "$yyy" in
+	'')	gidsize=4
+		echo "(I can't execute the test program--guessing $gidsize.)" >&4
+		;;
+	*)	gidsize=$yyy
+		echo "Your $zzz is $gidsize bytes long."
+		;;
+	esac
+else
+	gidsize=4
+	echo "(I can't compile the test program--guessing $gidsize.)" >&4
+fi
+
+
+echo " "
+case "$gidtype" in
+*_t) zzz="$gidtype"	;;
+*)   zzz="gid"		;;
+esac
+echo "Checking the sign of $zzz..." >&4 
+cat > try.c <
+#include 
+int main() {
+	$gidtype foo = -1;
+	if (foo < 0)
+		printf("-1\n");
+	else
+		printf("1\n");
+}
+EOCP
+set try
+if eval $compile; then
+	yyy=`./try`
+	case "$yyy" in
+	'')	gidsign=1
+		echo "(I can't execute the test program--guessing unsigned.)" >&4
+		;;
+	*)	gidsign=$yyy
+		case "$gidsign" in
+		 1) echo "Your $zzz is unsigned." ;;
+		-1) echo "Your $zzz is signed."   ;;
+		esac
+		;;
+	esac
+else
+	gidsign=1
+	echo "(I can't compile the test program--guessing unsigned.)" >&4
+fi
+
+
+echo " "
+
+if $test X"$quadtype" != X; then
+
+echo "Checking how to print 64-bit integers..." >&4
+
+if $test X"$sPRId64" = X -a X"$quadtype" = Xint; then
+	$cat >try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  int q = 12345678901;
+  printf("%ld\n", q);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		12345678901)
+			sPRId64='"d"'; sPRIi64='"i"'; sPRIu64='"u"';
+                	sPRIo64='"o"'; sPRIx64='"x"'; sPRIX64='"X"';
+			echo "We will use %d."
+			;;
+		esac
+	fi
+fi
+
+if $test X"$sPRId64" = X -a X"$quadtype" = Xlong; then
+	$cat >try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  long q = 12345678901;
+  printf("%ld\n", q);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		12345678901)
+			sPRId64='"ld"'; sPRIi64='"li"'; sPRIu64='"lu"';
+                	sPRIo64='"lo"'; sPRIx64='"lx"'; sPRIX64='"lX"';
+			echo "We will use %ld."
+			;;
+		esac
+	fi
+fi
+
+if $test X"$sPRId64" = X -a X"$i_inttypes" = X"$define" -a X"$quadtype" = Xint64_t; then
+	$cat >try.c <<'EOCP'
+#include 
+#include 
+#include 
+int main() {
+  int64_t q = 12345678901;
+  printf("%" PRId64 "\n", q);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		12345678901)
+			sPRId64=PRId64; sPRIi64=PRIi64; sPRIu64=PRIu64;
+                	sPRIo64=PRIo64; sPRIx64=PRIx64; sPRIX64=PRIX64;
+			echo "We will use the C9X style."
+			;;
+		esac
+	fi
+fi
+
+if $test X"$sPRId64" = X -a X"$quadtype" = X"long long"; then
+	$cat >try.c <<'EOCP'
+#include 
+#include 
+int main() {
+  long long q = 12345678901LL; /* AIX cc requires the LL prefix. */
+  printf("%lld\n", q);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		12345678901)
+			sPRId64='"lld"'; sPRIi64='"lli"'; sPRIu64='"llu"';
+                	sPRIo64='"llo"'; sPRIx64='"llx"'; sPRIX64='"llX"';
+			echo "We will use the %lld style."
+			;;
+		esac
+	fi
+fi
+
+if $test X"$sPRId64" = X -a X"$quadtype" != X; then
+	$cat >try.c <
+#include 
+int main() {
+  $quadtype q = 12345678901;
+  printf("%Ld\n", q);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		12345678901)
+			sPRId64='"Ld"'; sPRIi64='"Li"'; sPRIu64='"Lu"';
+                	sPRIo64='"Lo"'; sPRIx64='"Lx"'; sPRIX64='"LX"';
+			echo "We will use %Ld."
+			;;
+		esac
+	fi
+fi
+
+if $test X"$sPRId64" = X -a X"$quadtype" != X; then
+	$cat >try.c <
+#include 
+int main() {
+  $quadtype q = 12345678901;
+  printf("%qd\n", q);
+}
+EOCP
+	set try
+	if eval $compile; then
+		yyy=`./try$exe_ext`
+		case "$yyy" in
+		12345678901)
+			sPRId64='"qd"'; sPRIi64='"qi"'; sPRIu64='"qu"';
+                	sPRIo64='"qo"'; sPRIx64='"qx"'; sPRIX64='"qX"';
+			echo "We will use %qd."
+			;;
+		esac
+	fi
+fi
+
+if $test X"$sPRId64" = X; then
+	echo "Cannot figure out how to print 64-bit integers." >&4
+fi
+
+$rm -f try try.*
+
+fi
+
+case "$sPRId64" in
+'')	d_PRId64="$undef"; d_PRIi64="$undef"; d_PRIu64="$undef"; 
+	d_PRIo64="$undef"; d_PRIx64="$undef"; d_PRIX64="$undef"; 
+	;;
+*)	d_PRId64="$define"; d_PRIi64="$define"; d_PRIu64="$define"; 
+	d_PRIo64="$define"; d_PRIx64="$define"; d_PRIX64="$define"; 
+	;;
+esac
+
+
+echo " "
+$echo "Checking the format strings to be used for Perl's internal types..." >&4
+
+if $test X"$ivsize" = X8; then
+	ivdformat="$sPRId64"
+	uvuformat="$sPRIu64"
+	uvoformat="$sPRIo64"
+	uvxformat="$sPRIx64"
+else
+	if $test X"$ivsize" = X"$longsize"; then
+		ivdformat='"ld"'
+		uvuformat='"lu"'
+		uvoformat='"lo"'
+		uvxformat='"lx"'
+	else
+		if $test X"$ivsize" = X"$intsize"; then
+			ivdformat='"d"'
+			uvuformat='"u"'
+			uvoformat='"o"'
+			uvxformat='"x"'
+		else
+			: far out
+			if $test X"$ivsize" = X"$shortsize"; then
+				ivdformat='"hd"'
+				uvuformat='"hu"'
+				uvoformat='"ho"'
+				uvxformat='"hx"'
+			fi
+		fi
+	fi
+fi
+
+case "$ivdformat" in
+'') echo "$0: Fatal: failed to find format strings, cannot continue." >& 4
+    exit 1
+    ;;
+esac
+
+
+echo " "
+$echo "Checking the format string to be used for gids..." >&4
+
+case "$gidsign" in
+-1)	if $test X"$gidsize" = X"$ivsize"; then
+		gidformat="$ivdformat"
+	else
+		if $test X"$gidsize" = X"$longsize"; then
+			gidformat='"ld"'
+		else
+			if $test X"$gidsize" = X"$intsize"; then
+				gidformat='"d"'
+			else
+				if $test X"$gidsize" = X"$shortsize"; then
+					gidformat='"hd"'
+				fi
+			fi
+		fi
+	fi
+	;;
+*)	if $test X"$gidsize" = X"$uvsize"; then
+		gidformat="$uvuformat"
+	else
+		if $test X"$gidsize" = X"$longsize"; then
+			gidformat='"lu"'
+		else
+			if $test X"$gidsize" = X"$intsize"; then
+				gidformat='"u"'
+			else
+				if $test X"$gidsize" = X"$shortsize"; then
+					gidformat='"hu"'
+				fi
+			fi
+		fi
+	fi
+	;;
+esac
+
 : see if getgroups exists
 set getgroups d_getgrps
 eval $inlibc
@@ -9874,11 +13069,6 @@ EOM
 *)  groupstype="$gidtype";;
 esac
 
-: see what type lseek is declared as in the kernel
-rp="What is the type used for lseek's offset on this system?"
-set off_t lseektype long stdio.h sys/types.h
-eval $typedef_ask
-
 echo " "
 echo "Checking if your $make program sets \$(MAKE)..." >&4
 case "$make_set_make" in
@@ -10107,11 +13297,20 @@ rp="What is the type of process ids on this system?"
 set pid_t pidtype int stdio.h sys/types.h
 eval $typedef_ask
 
+: Find earliest binary compatible site_perl subdirectory perl can use.
+case "$bincompat5005" in
+"$define") xs_apiversion='5.005' ;;
+*) xs_apiversion=$version ;;   # The current site_perl version.
+esac
+: Find earliest pure perl site_perl subdirectory perl can use.
+: The versioned directories started at 5.005.
+pm_apiversion='5.005'
+
 : check for length of pointer
 echo " "
 case "$ptrsize" in
 '')
-	$echo $n "Checking to see how big your pointers are...$c" >&4
+	echo "Checking to see how big your pointers are..." >&4
 	if test "$voidflags" -gt 7; then
 		echo '#define VOID_PTR char *' > try.c
 	else
@@ -10121,14 +13320,14 @@ case "$ptrsize" in
 #include 
 int main()
 {
-	printf("%d\n", sizeof(VOID_PTR));
-	exit(0);
+    printf("%d\n", (int)sizeof(VOID_PTR));
+    exit(0);
 }
 EOCP
 	set try
 	if eval $compile_ok; then
 		ptrsize=`./try`
-		$echo " $ptrsize bytes." >&4
+		echo "Your pointers are $ptrsize bytes long."
 	else
 		dflt='4'
 		echo "(I can't seem to compile the test program.  Guessing...)" >&4
@@ -10140,55 +13339,6 @@ EOCP
 esac
 $rm -f try.c try
 
-: check for size of random number generator
-echo " "
-case "$randbits" in
-'')
-	echo "Checking to see how many bits your rand function produces..." >&4
-	$cat >try.c <
-#ifdef I_UNISTD
-#  include 
-#endif
-#ifdef I_STDLIB
-#  include 
-#endif
-EOCP
-	$cat >>try.c <<'EOCP'
-int main()
-{
-	register int i;
-	register unsigned long tmp;
-	register unsigned long max = 0L;
-
-	for (i = 1000; i; i--) {
-		tmp = (unsigned long)rand();
-		if (tmp > max) max = tmp;
-	}
-	for (i = 0; max; i++)
-		max /= 2;
-	printf("%d\n",i);
-}
-EOCP
-	set try
-	if eval $compile_ok; then
-		dflt=`./try$_exe`
-	else
-		dflt='?'
-		echo "(I can't seem to compile the test program...)"
-	fi
-	;;
-*)
-	dflt="$randbits"
-	;;
-esac
-rp='How many bits does your rand() function produce?'
-. ./myread
-randbits="$ans"
-$rm -f try.* try
-
 : see if ar generates random libraries by itself
 echo " "
 echo "Checking how to generate random libraries on your machine..." >&4
@@ -10232,172 +13382,11 @@ else
 fi
 $rm -f foo* bar* 
 
-: see if sys/select.h has to be included
-set sys/select.h i_sysselct
-eval $inhdr
-
-: see if we should include time.h, sys/time.h, or both
-echo " "
-if test "X$timeincl" = X; then
-    echo "Testing to see if we should include ,  or both." >&4
-    $echo $n "I'm now running the test program...$c"
-    $cat >try.c <<'EOCP'
-#include 
-#ifdef I_TIME
-#include 
-#endif
-#ifdef I_SYSTIME
-#ifdef SYSTIMEKERNEL
-#define KERNEL
-#endif
-#include 
-#endif
-#ifdef I_SYSSELECT
-#include 
-#endif
-int main()
-{
-	struct tm foo;
-#ifdef S_TIMEVAL
-	struct timeval bar;
-#endif
-#ifdef S_TIMEZONE
-	struct timezone tzp;
-#endif
-	if (foo.tm_sec == foo.tm_sec)
-		exit(0);
-#ifdef S_TIMEVAL
-	if (bar.tv_sec == bar.tv_sec)
-		exit(0);
-#endif
-	exit(1);
-}
-EOCP
-    flags=''
-    for s_timezone in '-DS_TIMEZONE' ''; do
-    sysselect=''
-    for s_timeval in '-DS_TIMEVAL' ''; do
-    for i_systimek in '' '-DSYSTIMEKERNEL'; do
-    for i_time in '' '-DI_TIME'; do
-    for i_systime in '-DI_SYSTIME' ''; do
-	case "$flags" in
-	'') $echo $n ".$c"
-		set try $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone
-		if eval $compile; then
-				set X $i_time $i_systime $i_systimek $sysselect $s_timeval
-			shift
-			flags="$*"
-			echo " "
-			$echo $n "Succeeded with $flags$c"
-		fi
-		;;
-	esac
-    done
-    done
-    done
-    done
-    done
-    timeincl=''
-    echo " "
-    case "$flags" in
-    *SYSTIMEKERNEL*) i_systimek="$define"
-	timeincl=`./findhdr sys/time.h`
-	echo "We'll include  with KERNEL defined." >&4;;
-    *) i_systimek="$undef";;
-    esac
-    case "$flags" in
-    *I_TIME*) i_time="$define"
-	timeincl=`./findhdr time.h`" $timeincl"
-	echo "We'll include ." >&4;;
-    *) i_time="$undef";;
-    esac
-    case "$flags" in
-    *I_SYSTIME*) i_systime="$define"
-	timeincl=`./findhdr sys/time.h`" $timeincl"
-	echo "We'll include ." >&4;;
-    *) i_systime="$undef";;
-    esac
-    $rm -f try.c try
-fi
-
-: check for fd_set items
-$cat <fd_set.c <
-#ifdef HAS_SOCKET
-#include  /* Might include  */
-#endif
-#ifdef I_SYS_TIME
-#include 
-#endif
-#ifdef I_SYS_SELECT
-#include 
-#endif
-int main() {
-	fd_set fds;
-
-#ifdef TRYBITS
-	if(fds.fds_bits);
-#endif
-
-#if defined(FD_SET) && defined(FD_CLR) && defined(FD_ISSET) && defined(FD_ZERO)
-	exit(0);
-#else
-	exit(1);
-#endif
-}
-EOCP
-set fd_set -DTRYBITS
-if eval $compile; then
-	d_fds_bits="$define"
-	d_fd_set="$define"
-	echo "Well, your system knows about the normal fd_set typedef..." >&4
-	if ./fd_set; then
-		echo "and you have the normal fd_set macros (just as I'd expect)." >&4
-		d_fd_macros="$define"
-	else
-		$cat >&4 <<'EOM'
-but not the normal fd_set macros!  Gaaack!  I'll have to cover for you.
-EOM
-		d_fd_macros="$undef"
-	fi
-else
-	$cat <<'EOM'
-Hmm, your compiler has some difficulty with fd_set.  Checking further...
-EOM
-	set fd_set
-	if eval $compile; then
-		d_fds_bits="$undef"
-		d_fd_set="$define"
-		echo "Well, your system has some sort of fd_set available..." >&4
-		if ./fd_set; then
-			echo "and you have the normal fd_set macros." >&4
-			d_fd_macros="$define"
-		else
-			$cat <<'EOM'
-but not the normal fd_set macros!  Gross!  More work for me...
-EOM
-			d_fd_macros="$undef"
-		fi
-	else
-	echo "Well, you got zip.  That's OK, I can roll my own fd_set stuff." >&4
-		d_fd_set="$undef"
-		d_fds_bits="$undef"
-		d_fd_macros="$undef"
-	fi
-fi
-$rm -f fd_set*
-
 : check for type of arguments to select. 
 case "$selecttype" in
 '') case "$d_select" in
 	$define)
+		echo " "
 		$cat <
 #endif
+#$d_socket HAS_SOCKET
+#ifdef HAS_SOCKET
+#   include  /* Might include  */
+#endif
 #include 
 $selecttype b;
 #define S sizeof(*(b))
@@ -10539,11 +13532,19 @@ esac
 
 : Trace out the files included by signal.h, then look for SIGxxx names.
 : Remove SIGARRAYSIZE used by HPUX.
+: Remove SIGSTKSIZE used by Linux.
+: Remove SIGSTKSZ used by Posix.
 : Remove SIGTYP void lines used by OS2.
-xxx=`echo '#include ' |
+: Some cpps, like os390, dont give the file name anywhere
+if [ "X$fieldn" = X ]; then
+	: Just make some guesses.  We check them later.
+	xxx='/usr/include/signal.h /usr/include/sys/signal.h'
+else
+	xxx=`echo '#include ' |
 	$cppstdin $cppminus $cppflags 2>/dev/null |
 	$grep '^[ 	]*#.*include' | 
 	$awk "{print \\$$fieldn}" | $sed 's!"!!g' | $sort | $uniq`
+fi
 : Check this list of files to be sure we have parsed the cpp output ok.
 : This will also avoid potentially non-existent files, such 
 : as ../foo/bar.h
@@ -10556,17 +13557,19 @@ case "$xxxfiles" in
 '')	xxxfiles=`./findhdr signal.h` ;;
 esac
 xxx=`awk '
-$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $2 !~ /SIGARRAYSIZE/ && $3 !~ /void/ {
+$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $2 !~ /SIGARRAYSIZE/ && $2 !~ /SIGSTKSIZE/ && $2 !~ /SIGSTKSZ/ && $3 !~ /void/ {
 	print substr($2, 4, 20)
 }
 $1 == "#" && $2 ~ /^define$/ && $3 ~ /^SIG[A-Z0-9]*$/ && $3 !~ /SIGARRAYSIZE/ && $4 !~ /void/ {
 	print substr($3, 4, 20)
 }' $xxxfiles`
 : Append some common names just in case the awk scan failed.
-xxx="$xxx ABRT ALRM BUS CHLD CLD CONT DIL EMT FPE HUP ILL INT IO IOT KILL"
-xxx="$xxx LOST PHONE PIPE POLL PROF PWR QUIT SEGV STKFLT STOP SYS TERM TRAP"
-xxx="$xxx TSTP TTIN TTOU URG USR1 USR2 USR3 USR4 VTALRM"
-xxx="$xxx WINCH WIND WINDOW XCPU XFSZ"
+xxx="$xxx ABRT ALRM BUS CANCEL CHLD CLD CONT DIL EMT FPE"
+xxx="$xxx FREEZE HUP ILL INT IO IOT KILL LOST LWP PHONE"
+xxx="$xxx PIPE POLL PROF PWR QUIT RTMAX RTMIN SEGV STKFLT STOP"
+xxx="$xxx SYS TERM THAW TRAP TSTP TTIN TTOU URG USR1 USR2"
+xxx="$xxx USR3 USR4 VTALRM WAITING WINCH WIND WINDOW XCPU XFSZ"
+
 : generate a few handy files for later
 $cat > signal.c <<'EOCP'
 #include 
@@ -10639,7 +13642,7 @@ echo $xxx | $tr ' ' $trnl | $sort | $uniq | $awk '
 }
 END {
 	printf "#endif /* JUST_NSIG */\n";
-	printf "}\n";
+	printf "exit(0);\n}\n";
 }
 ' >>signal.c
 $cat >signal.awk <<'EOP'
@@ -10656,20 +13659,22 @@ $1 ~ /^NSIG$/ { nsig = $2 }
 	sig_name[$2] = $1
 	sig_num[$2] = $2
     }
-
 }
 END { 
-    if (nsig == 0) { nsig = maxsig + 1 }
-	for (n = 1; n < nsig; n++) {
-		if (sig_name[n]) {
-			printf("%s %d\n", sig_name[n], sig_num[n])
-		}
-		else {
-			printf("NUM%d %d\n", n, n) 
-		}
+    if (nsig == 0) {
+    	nsig = maxsig + 1
+    }
+    printf("NSIG %d\n", nsig);
+    for (n = 1; n < nsig; n++) {
+ 	if (sig_name[n]) {
+ 	    printf("%s %d\n", sig_name[n], sig_num[n])
 	}
+ 	else {
+ 	    printf("NUM%d %d\n", n, n) 
+ 	}
+    }
     for (n = 0; n < ndups; n++) {
-		printf("%s %d\n", dup_name[n], dup_num[n])
+ 	printf("%s %d\n", dup_name[n], dup_num[n])
     }
 }
 EOP
@@ -10734,55 +13739,151 @@ else
 	case $# in
 	0) set HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM;;
 	esac
-	echo $@ | $tr ' ' $trnl | \
-		$awk '{ printf $1; printf " %d\n", ++s; }' >signal.lst
+	echo $@ | $tr ' ' $trnl | \
+ 	    $awk '{ printf "%s %d\n", $1, ++s; }
+ 		  END { printf "NSIG %d\n", ++s }' >signal.lst
+fi
+$rm -f signal.c signal$_exe signal$_o signal.nsg signal.ls1
+EOS
+chmod a+x signal_cmd
+$eunicefix signal_cmd
+
+: generate list of signal names
+echo " "
+case "$sig_name_init" in
+'') doinit=yes ;;
+*)  case "$sig_num_init" in
+    ''|*,*) doinit=yes ;;
+    esac ;;
+esac
+case "$doinit" in
+yes)
+	echo "Generating a list of signal names and numbers..." >&4
+	. ./signal_cmd
+ 	sig_count=`$awk '/^NSIG/ { printf "%d", $2 }' signal.lst`
+ 	sig_name=`$awk 'BEGIN { printf "ZERO " }
+ 			!/^NSIG/ { printf "%s ", $1 }' signal.lst`
+ 	sig_num=`$awk  'BEGIN { printf "0 " }
+ 			!/^NSIG/ { printf "%d ", $2 }' signal.lst`
+ 	sig_name_init=`$awk 'BEGIN	{ printf "\"ZERO\", " }
+ 			     !/^NSIG/	{ printf "\"%s\", ", $1 }
+ 			     END	{ printf "0\n" }' signal.lst`
+ 	sig_num_init=`$awk  'BEGIN	{ printf "0, " }
+ 			     !/^NSIG/	{ printf "%d, ", $2}
+ 			     END	{ printf "0\n"}' signal.lst`
+	;;
+esac
+echo "The following $sig_count signals are available:"
+echo " "
+echo $sig_name | $awk \
+'BEGIN { linelen = 0 }
+{
+	for (i = 1; i <= NF; i++) {
+		name = "SIG" $i " "
+		linelen = linelen + length(name)
+		if (linelen > 70) {
+			printf "\n"
+			linelen = length(name)
+		}
+		printf "%s", name
+	}
+	printf "\n"
+}'
+$rm -f signal signal.c signal.awk signal.lst signal_cmd 
+
+echo " "
+case "$sizetype" in
+*_t) zzz="$sizetype"	;;
+*)   zzz="filesize"	;;
+esac
+echo "Checking the size of $zzz..." >&4 
+cat > try.c <
+#include 
+int main() {
+    printf("%d\n", (int)sizeof($sizetype));
+    exit(0);
+}
+EOCP
+set try
+if eval $compile_ok; then
+	yyy=`./try`
+	case "$yyy" in
+	'')	sizesize=4
+		echo "(I can't execute the test program--guessing $sizesize.)" >&4
+		;;
+	*)	sizesize=$yyy
+		echo "Your $zzz size is $sizesize bytes."
+		;;
+	esac
+else
+	sizesize=4
+	echo "(I can't compile the test program--guessing $sizesize.)" >&4
+fi
+
+
+: check for socklen_t
+echo " "
+echo "Checking to see if you have socklen_t..." >&4
+$cat >try.c <
+#$d_socket HAS_SOCKET
+#ifdef HAS_SOCKET
+#include 
+#endif
+int main() { socklen_t x = 16; }
+EOCP
+set try
+if eval $compile; then
+	val="$define"
+	echo "You have socklen_t."
+else
+	val="$undef"
+	echo "You do not have socklen_t."
+	case "$sizetype" in
+	size_t) echo "(You do have size_t, that might work. Some people are happy with just an int.)" ;;
+	esac
 fi
-$rm -f signal.c signal$_exe signal$_o signal.nsg signal.ls1
-EOS
-chmod a+x signal_cmd
-$eunicefix signal_cmd
+$rm -f try try.*
+set d_socklen_t
+eval $setvar
 
-: generate list of signal names
-echo " "
-case "$sig_name_init" in
-'') doinit=yes ;;
-*)  case "$sig_num_init" in
-    ''|*,*) doinit=yes ;;
-    esac ;;
-esac
-case "$doinit" in
-yes)
-	echo "Generating a list of signal names and numbers..." >&4
-	. ./signal_cmd
-	sig_name=`$awk '{printf "%s ", $1}' signal.lst`
-	sig_name="ZERO $sig_name"
-	sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " }
-						{ printf "\"%s\", ", $1 }
-						END { printf "0\n" }' signal.lst`
-	sig_num=`$awk '{printf "%d ", $2}' signal.lst`
-	sig_num="0 $sig_num"
-	sig_num_init=`$awk 'BEGIN { printf "0, " }
-					{ printf "%d, ", $2}
-					END { printf "0\n"}' signal.lst`
+: check for type of the size argument to socket calls
+case "$d_socket" in
+"$define")
+	$cat < 70) {
-			printf "\n"
-			linelen = length(name)
-		}
-		printf "%s", name
-	}
-	printf "\n"
-}'
-$rm -f signal signal.c signal.awk signal.lst signal_cmd 
 
 : see what type is used for signed size_t
 set ssize_t ssizetype int stdio.h sys/types.h
@@ -10839,15 +13940,15 @@ fi
 echo " "
 if test "X$d_time" = X -o X"$timetype" = X; then
     if set time val -f d_time; eval $csym; $val; then
-	echo 'time() found.' >&4
-	val="$define"
-	rp="What is the type returned by time() on this system?"
-	set time_t timetype long stdio.h sys/types.h
-	eval $typedef_ask
+		echo 'time() found.' >&4
+		val="$define"
+		rp="What is the type returned by time() on this system?"
+		set time_t timetype long stdio.h sys/types.h
+		eval $typedef_ask
     else
-	echo 'time() not found, hope that will do.' >&4
-	val="$undef"
-	timetype='int';
+		echo 'time() not found, hope that will do.' >&4
+		val="$undef"
+		timetype='int';
     fi
     set d_time
     eval $setvar
@@ -10877,6 +13978,112 @@ uid_t)	echo "uid_t found." ;;
 	;;
 esac
 
+echo " "
+case "$uidtype" in
+*_t) zzz="$uidtype"	;;
+*)   zzz="uid"		;;
+esac
+echo "Checking the size of $zzz..." >&4 
+cat > try.c <
+#include 
+int main() {
+    printf("%d\n", (int)sizeof($uidtype));
+    exit(0);
+}
+EOCP
+set try
+if eval $compile_ok; then
+	yyy=`./try`
+	case "$yyy" in
+	'')	uidsize=4
+		echo "(I can't execute the test program--guessing $uidsize.)" >&4
+		;;
+	*)	uidsize=$yyy
+		echo "Your $zzz is $uidsize bytes long."
+		;;
+	esac
+else
+	uidsize=4
+	echo "(I can't compile the test program--guessing $uidsize.)" >&4
+fi
+
+echo " "
+case "$uidtype" in
+*_t) zzz="$uidtype"	;;
+*)   zzz="uid"		;;
+esac
+echo "Checking the sign of $zzz..." >&4
+cat > try.c <
+#include 
+int main() {
+	$uidtype foo = -1;
+	if (foo < 0)
+		printf("-1\n");
+	else
+		printf("1\n");
+}
+EOCP
+set try
+if eval $compile; then
+	yyy=`./try`
+	case "$yyy" in
+	'')	uidsign=1
+		echo "(I can't execute the test program--guessing unsigned.)" >&4
+		;;
+	*)	uidsign=$yyy
+		case "$uidsign" in
+		 1) echo "Your $zzz is unsigned." ;;
+		-1) echo "Your $zzz is signed."   ;;
+		esac
+		;;
+	esac
+else
+	uidsign=1
+	echo "(I can't compile the test program--guessing unsigned.)" >&4
+fi
+
+
+
+echo " "
+$echo "Checking the format string to be used for uids..." >&4
+
+case "$uidsign" in
+-1)	if $test X"$uidsize" = X"$ivsize"; then
+		uidformat="$ivdformat"
+	else
+		if $test X"$uidsize" = X"$longsize"; then
+			uidformat='"ld"'
+		else
+			if $test X"$uidsize" = X"$intsize"; then
+				uidformat='"d"'
+			else
+				if $test X"$uidsize" = X"$shortsize"; then
+					uidformat='"hd"'
+				fi
+			fi
+		fi
+	fi
+	;;
+*)	if $test X"$uidsize" = X"$uvsize"; then
+		uidformat="$uvuformat"
+	else
+		if $test X"$uidsize" = X"$longsize"; then
+			uidformat='"lu"'
+		else
+			if $test X"$uidsize" = X"$intsize"; then
+				uidformat='"u"'
+			else
+				if $test X"$uidsize" = X"$shortsize"; then
+					uidformat='"hu"'
+				fi
+			fi
+		fi
+	fi
+	;;
+esac
+
 : see if dbm.h is available
 : see if dbmclose exists
 set dbmclose d_dbmclose
@@ -10960,54 +14167,36 @@ esac
 set i_fcntl
 eval $setvar
 
-: see if this is an grp system
-set grp.h i_grp
+: see if this is a iconv.h system
+set iconv.h i_iconv
 eval $inhdr
 
-case "$i_grp" in
-$define)
-	: see if setgrent exists
-	set setgrent d_setgrent
-	eval $inlibc
-
-	: see if getgrent exists
-	set getgrent d_getgrent
-	eval $inlibc
-
-	: see if endgrent exists
-	set endgrent d_endgrent
-	eval $inlibc
-
-	xxx=`./findhdr grp.h`
-	$cppstdin $cppflags $cppminus < $xxx >$$.h
-
-	if $contains 'gr_passwd' $$.h >/dev/null 2>&1; then
-		val="$define"
-	else
-		val="$undef"
-	fi
-	set d_grpasswd
-	eval $setvar
-
-	$rm -f $$.h
-	;;
-*)	# Assume all is lost as far as the d_*gr* go.
-	val="$undef"; 
-	set d_setgrent; eval $setvar
-	set d_getgrent; eval $setvar
-	set d_endgrent; eval $setvar
-	set d_grpasswd; eval $setvar
-	;;
-esac
+: see if this is a ieeefp.h system
+set ieeefp.h i_ieeefp
+eval $inhdr
 
 : see if locale.h is available
 set locale.h i_locale
 eval $inhdr
 
+: see if mach cthreads are available
+if test "X$usethreads" = "X$define"; then
+	set mach/cthreads.h i_machcthr
+	eval $inhdr
+else
+	i_machcthr="$undef"
+fi
+
+
+
 : see if this is a math.h system
 set math.h i_math
 eval $inhdr
 
+: see if this is a mntent.h system
+set mntent.h i_mntent
+eval $inhdr
+
 : see if ndbm.h is available
 set ndbm.h t_ndbm
 eval $inhdr
@@ -11057,57 +14246,128 @@ esac
 set i_neterrno
 eval $setvar
 
-: get C preprocessor symbols handy
+: see if netinet/tcp.h is available
+set netinet/tcp.h i_netinettcp
+eval $inhdr
+
+: see if this is a poll.h system
+set poll.h i_poll
+eval $inhdr
+
 echo " "
-$echo $n "Hmm... $c"
-echo $al | $tr ' ' $trnl >Cppsym.know
-$cat <Cppsym
+$echo "Guessing which symbols your C compiler and preprocessor define..." >&4 
+$cat <<'EOSH' > Cppsym.know
+a29k ABI64 aegis AES_SOURCE AIX AIX32 AIX370
+AIX41 AIX42 AIX43 AIX_SOURCE aixpc ALL_SOURCE
+alliant alpha am29000 AM29000 amiga AMIGAOS AMIX
+ansi ANSI_C_SOURCE apollo ardent atarist att386 att3b BeOS
+BIG_ENDIAN BIT_MSF bsd BSD bsd43 bsd4_2 bsd4_3 BSD4_3 bsd4_4
+BSD_4_3 BSD_4_4 BSD_NET2 BSD_TIME BSD_TYPES BSDCOMPAT bsdi
+bull c cadmus clipper CMU COFF COMPILER_VERSION
+concurrent convex cpu cray CRAY CRAYMPP ctix CX_UX
+CYGWIN DGUX DGUX_SOURCE DJGPP dmert DOLPHIN DPX2 DSO
+Dynix DynixPTX ELF encore EPI EXTENSIONS FILE_OFFSET_BITS
+FreeBSD GCC_NEW_VARARGS gcos gcx gimpel
+GNU_SOURCE GNUC GNUC_MINOR GO32 gould GOULD_PN
+H3050R H3050RX hbullx20 hcx host_mips
+hp200 hp300 hp700 HP700 hp800 hp9000
+hp9000s200 hp9000s300 hp9000s400 hp9000s500
+hp9000s700 hp9000s800 hp9k8 hp_osf hppa hpux HPUX_SOURCE
+i186 i286 i386 i486 i586 i686 i8086 i80960 i860 I960
+iAPX286 ibm ibm032 ibmesa IBMR2 ibmrt ILP32 ILP64
+INLINE_INTRINSICS INTRINSICS INT64 interdata is68k ksr1
+LANGUAGE_C LARGE_FILE_API LARGEFILE64_SOURCE
+LARGEFILE_SOURCE LFS64_LARGEFILE LFS_LARGEFILE
+Linux LITTLE_ENDIAN LONG64 LONG_DOUBLE LONG_LONG
+LONGDOUBLE LONGLONG LP64 luna luna88k Lynx
+M68000 m68k m88100 m88k M88KBCS_TARGET M_COFF
+M_I186 M_I286 M_I386 M_I8086 M_I86 M_I86SM M_SYS3
+M_SYS5 M_SYSIII M_SYSV M_UNIX M_XENIX MACH machine MachTen
+MATH_HAS_NO_SIDE_EFFECTS
+mc300 mc500 mc68000 mc68010 mc68020 mc68030 mc68040
+mc68060 mc68k mc68k32 mc700 mc88000 mc88100 merlin
+mert MiNT mips MIPS_FPSET MIPS_ISA MIPS_SIM MIPS_SZINT
+MIPS_SZLONG MIPS_SZPTR MIPSEB MIPSEL MODERN_C motorola
+mpeix MSDOS MTXINU MULTIMAX mvs MVS n16 ncl_el ncl_mr
+NetBSD news1500 news1700 news1800 news1900 news3700
+news700 news800 news900 NeXT NLS ns16000 ns32000
+ns32016 ns32332 ns32k nsc32000
+OCS88 OEMVS OpenBSD os OS2 OS390 osf OSF1 OSF_SOURCE
+pa_risc PA_RISC1_1 PA_RISC2_0 PARAGON parisc
+pc532 pdp11 PGC PIC plexus PORTAR posix
+POSIX1B_SOURCE POSIX2_SOURCE POSIX4_SOURCE
+POSIX_C_SOURCE POSIX_SOURCE POWER
+PROTOTYPES PWB pyr QNX R3000 REENTRANT RES Rhapsody RISC6000
+riscix riscos RT scs SCO sequent sgi SGI_SOURCE sinix
+SIZE_INT SIZE_LONG SIZE_PTR SOCKET_SOURCE SOCKETS_SOURCE
+sony sony_news sonyrisc sparc sparclite spectrum
+stardent stdc STDC_EXT stratos sun sun3 sun386
+Sun386i svr3 svr4 SVR4_2 SVR4_SOURCE svr5
+SX system SYSTYPE_BSD SYSTYPE_BSD43 SYSTYPE_BSD44
+SYSTYPE_SVR4 SYSTYPE_SVR5 SYSTYPE_SYSV SYSV SYSV3 SYSV4 SYSV5
+sysV68 sysV88 Tek4132 Tek4300 titan
+tower tower32 tower32_200 tower32_600 tower32_700
+tower32_800 tower32_850 tss
+u370 u3b u3b2 u3b20 u3b200 u3b20d u3b5
+ultrix UMAXV UnicomPBB UnicomPBD UNICOS UNICOSMK
+unix UNIX95 UNIX99 unixpc unos USGr4 USGr4_2
+Utek UTek UTS UWIN uxpm uxps vax venix VMESA vms xenix Xenix286
+XOPEN_SOURCE XOPEN_SOURCE_EXTENDED XPG2 XPG2_EXTENDED
+XPG3 XPG3_EXTENDED XPG4 XPG4_EXTENDED
+z8000
+EOSH
+# Maybe put other stuff here too.
+cat <>Cppsym.know
+$osname
+EOSH
+./tr '[a-z]' '[A-Z]' < Cppsym.know > Cppsym.a
+./tr '[A-Z]' '[a-z]' < Cppsym.know > Cppsym.b
+$cat Cppsym.a Cppsym.b | $tr ' ' $trnl | sort | uniq > Cppsym.know
+$rm -f Cppsym.a Cppsym.b
+cat < Cppsym
 $startsh
-case "\$1" in
--l) list=true
-	shift
-	;;
-esac
-unknown=''
-case "\$list\$#" in
-1|2)
-	for sym do
-		if $contains "^\$1$" Cppsym.true >/dev/null 2>&1; then
-			exit 0
-		elif $contains "^\$1$" Cppsym.know >/dev/null 2>&1; then
-			:
-		else
-			unknown="\$unknown \$sym"
-		fi
-	done
-	set X \$unknown
-	shift
-	;;
-esac
-case \$# in
-0) exit 1;;
-esac
-echo \$* | $tr ' ' '$trnl' | $sed -e 's/\(.*\)/\\
-#ifdef \1\\
-exit 0; _ _ _ _\1\\	 \1\\
-#endif\\
-/' >Cppsym\$\$
-echo "exit 1; _ _ _" >>Cppsym\$\$
-$cppstdin $cppminus Cppsym2\$\$
-case "\$list" in
-true) $awk 'NF > 5 {print substr(\$6,2,100)}'  Cppsym.got
+    if $test -s Cppsym.got; then
+        $rm -f Cppsym.got
+        exit 0
+    fi
+    $rm -f Cppsym.got
+    exit 1
+else
+    $tr " " "$trnl" | ./Cppsym.try
+    exit 0
+fi
+EOSH
 chmod +x Cppsym
 $eunicefix Cppsym
-./Cppsym -l $al | $sort | $grep -v '^$' >Cppsym.true
-
+cat < Cppsym.try
+$startsh
+cat <<'EOCP' > try.c
+#include 
+int main() {
+EOCP
+$awk \\
+EOSH
+cat <<'EOSH' >> Cppsym.try
+'length($1) > 0 {
+    printf "#ifdef %s\n#if %s+0\nprintf(\"%s=%%ld\\n\", %s);\n#else\nprintf(\"%s\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1
+    printf "#ifdef _%s\n#if _%s+0\nprintf(\"_%s=%%ld\\n\", _%s);\n#else\nprintf(\"_%s\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1
+    printf "#ifdef __%s\n#if __%s+0\nprintf(\"__%s=%%ld\\n\", __%s);\n#else\nprintf(\"__%s\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1
+    printf "#ifdef __%s__\n#if __%s__+0\nprintf(\"__%s__=%%ld\\n\", __%s__);\n#else\nprintf(\"__%s__\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1
+}'	 >> try.c
+echo '}' >> try.c
+EOSH
+cat <> Cppsym.try
+ccflags="$ccflags"
+case "$osname-$gccversion" in
+irix-) ccflags="\$ccflags -woff 1178" ;;
+esac
+$cc $optimize \$ccflags $ldflags -o try try.c $libs && ./try$exe_ext
+EOSH
+chmod +x Cppsym.try
+$eunicefix Cppsym.try
+./Cppsym < Cppsym.know > Cppsym.true
 : now check the C compiler for additional symbols
 postprocess_cc_v=''
 case "$osname" in
@@ -11127,7 +14387,7 @@ do
 done
 $rm -f try.c
 EOS
-unset postprocess_cc_v
+postprocess_cc_v=''
 chmod +x ccsym
 $eunicefix ccsym
 ./ccsym > ccsym1.raw
@@ -11139,15 +14399,16 @@ fi
 
 $awk '/\=/ { print $0; next }
 	{ print $0"=1" }' ccsym.raw >ccsym.list
-$awk '{ print $0"=1" }' Cppsym.true >ccsym.true
+$awk '/\=/ { print $0; next }
+	{ print $0"=1" }' Cppsym.true >ccsym.true
 $comm -13 ccsym.true ccsym.list >ccsym.own
 $comm -12 ccsym.true ccsym.list >ccsym.com
 $comm -23 ccsym.true ccsym.list >ccsym.cpp
 also=''
 if $test -z ccsym.raw; then
-	echo "Your C compiler doesn't seem to define any symbol!" >&4
+	echo "Your C compiler doesn't seem to define any symbols!" >&4
 	echo " "
-	echo "However, your C preprocessor defines the following ones:"
+	echo "However, your C preprocessor defines the following symbols:"
 	$cat Cppsym.true
     	ccsymbols=''
 	cppsymbols=`$cat Cppsym.true`
@@ -11159,27 +14420,27 @@ else
 		$sed -e 's/\(.*\)=.*/\1/' ccsym.com
 		also='also '
 		symbols='ones'
-		$test "$silent" || sleep 1
 		cppccsymbols=`$cat ccsym.com`
 		cppccsymbols=`echo $cppccsymbols`
+		$test "$silent" || sleep 1
 	fi
 	if $test -s ccsym.cpp; then
 		$test "$also" && echo " "
 		echo "Your C pre-processor ${also}defines the following symbols:"
 		$sed -e 's/\(.*\)=.*/\1/' ccsym.cpp
 		also='further '
-		$test "$silent" || sleep 1
 		cppsymbols=`$cat ccsym.cpp`
 		cppsymbols=`echo $cppsymbols`
+		$test "$silent" || sleep 1
 	fi
 	if $test -s ccsym.own; then
 		$test "$also" && echo " "
 		echo "Your C compiler ${also}defines the following cpp symbols:"
 		$sed -e 's/\(.*\)=1/\1/' ccsym.own
 		$sed -e 's/\(.*\)=.*/\1/' ccsym.own | $uniq >>Cppsym.true
-		$test "$silent" || sleep 1
 	        ccsymbols=`$cat ccsym.own`
 	        ccsymbols=`echo $ccsymbols`
+		$test "$silent" || sleep 1
 	fi
 fi
 $rm -f ccsym*
@@ -11239,6 +14500,14 @@ set i_termio; eval $setvar
 val=$val2; set i_sgtty; eval $setvar
 val=$val3; set i_termios; eval $setvar
 
+: see if this is a shadow.h system
+set shadow.h i_shadow
+eval $inhdr
+
+: see if this is a socks.h system
+set socks.h i_socks
+eval $inhdr
+
 : see if stdarg is available
 echo " "
 if $test `./findhdr stdarg.h`; then
@@ -11341,6 +14610,14 @@ $rm -f varargs*
 set stddef.h i_stddef
 eval $inhdr
 
+: see if this is a sunmath.h system
+set sunmath.h i_sunmath
+eval $inhdr
+
+: see if sys/access.h is available
+set sys/access.h i_sysaccess
+eval $inhdr
+
 : see if ioctl defs are in sgtty, termio, sys/filio or sys/ioctl
 set sys/filio.h i_sysfilio
 eval $inhdr
@@ -11362,18 +14639,49 @@ fi
 set i_sysioctl
 eval $setvar
 
+
+: see if this is a syslog.h system
+set syslog.h i_syslog
+eval $inhdr
+
+
+: see if this is a sys/mode.h system
+set sys/mode.h i_sysmode
+eval $inhdr
+
 : see if sys/resource.h has to be included
 set sys/resource.h i_sysresrc
 eval $inhdr
 
+: see if sys/security.h is available
+set sys/security.h i_syssecrt
+eval $inhdr
+
+: see if this is a sys/statvfs.h system
+set sys/statvfs.h i_sysstatvfs
+eval $inhdr
+
+: see if this is a sys/uio.h system
+set sys/uio.h i_sysuio
+eval $inhdr
+
 : see if this is a sys/un.h system
 set sys/un.h i_sysun
 eval $inhdr
 
+
+: see if this is a sys/utsname.h system
+set sys/utsname.h i_sysutsname
+eval $inhdr
+
 : see if this is a syswait system
 set sys/wait.h i_syswait
 eval $inhdr
 
+: see if this is a ustat.h system
+set ustat.h i_ustat
+eval $inhdr
+
 : see if this is an utime system
 set utime.h i_utime
 eval $inhdr
@@ -11415,8 +14723,6 @@ eval $setvar
 
 echo " "
 echo "Looking for extensions..." >&4
-tdir=`pwd`
-cd $rsrc/ext
 : If we are using the old config.sh, known_extensions may contain
 : old or inaccurate or duplicate values.
 known_extensions=''
@@ -11425,30 +14731,35 @@ nonxs_extensions=''
 : We do not just use MANIFEST because the user may have dropped
 : some additional extensions into the source tree and expect them
 : to be built.
-for xxx in * ; do
-	case "$xxx" in
-	DynaLoader|dynaload) ;;
-	*)	if $test -f $xxx/$xxx.xs; then
-			known_extensions="$known_extensions $xxx"
-		elif $test -f $xxx/Makefile.PL; then
-			nonxs_extensions="$nonxs_extensions $xxx"
-		else
-			if $test -d $xxx; then
-				# Look for nested extensions, eg. Devel/Dprof.
-				cd $xxx
-				for yyy in * ; do
-				if $test -f $yyy/$yyy.xs; then
-					known_extensions="$known_extensions $xxx/$yyy"
-				elif $test -f $yyy/Makefile.PL; then
-					nonxs_extensions="$nonxs_extensions $xxx/$yyy"
-				fi
-				done
-				cd ..
-			fi
-		fi 
-		;;
-	esac
-done
+
+: Function to recursively find available extensions, ignoring DynaLoader
+: NOTE: recursion limit of 10 to prevent runaway in case of symlink madness
+find_extensions='
+    for xxx in *; do
+       case "$xxx" in
+           DynaLoader|dynaload) ;;
+           *)
+           if $test -f $xxx/$xxx.xs; then
+               known_extensions="$known_extensions $1$xxx";
+           elif $test -f $xxx/Makefile.PL; then
+               nonxs_extensions="$nonxs_extensions $1$xxx";
+           else
+               if $test -d $xxx -a $# -lt 10; then
+                   set $1$xxx/ $*;
+                   cd $xxx;
+                   eval $find_extensions;
+                   cd ..;
+                   shift;
+               fi;
+           fi
+           ;;
+       esac;
+    done'
+tdir=`pwd`
+cd $rsrc/ext
+set X
+shift
+eval $find_extensions
 set X $nonxs_extensions
 shift
 nonxs_extensions="$*"
@@ -11473,12 +14784,30 @@ for xxx in $known_extensions ; do
 		;;
 	NDBM_File|ndbm_fil)
 		case "$i_ndbm" in
-		$define) avail_ext="$avail_ext $xxx" ;;
+		$define)
+		    case "$osname-$use64bitint" in
+		    hpux-define)
+			case "$libs" in
+			*-lndbm*) avail_ext="$avail_ext $xxx" ;;
+			esac
+			;;
+		    *) avail_ext="$avail_ext $xxx" ;;
+		    esac
+		    ;;
 		esac
 		;;
 	ODBM_File|odbm_fil) 
 		case "${i_dbm}${i_rpcsvcdbm}" in
-		*"${define}"*) avail_ext="$avail_ext $xxx" ;;
+		*"${define}"*)
+		    case "$osname-$use64bitint" in
+		    hpux-define)
+			case "$libs" in
+			*-ldbm*) avail_ext="$avail_ext $xxx" ;;
+			esac
+			;;
+		    *) avail_ext="$avail_ext $xxx" ;;
+		    esac
+		    ;;
 		esac
 		;;
 	POSIX|posix)
@@ -11685,9 +15014,8 @@ case "$d_portable" in
 	echo " "
 	echo "Stripping down executable paths..." >&4
 	for file in $loclist $trylist; do
-		if test X$file != Xln -a X$file != Xar -o X$osname != Xos2; then
-			eval $file="\$file"
-		fi
+		eval temp=\$$file
+		eval $file=`basename $temp`
 	done
 	;;
 esac
@@ -11728,16 +15056,21 @@ afs='$afs'
 alignbytes='$alignbytes'
 ansi2knr='$ansi2knr'
 aphostname='$aphostname'
-apiversion='$apiversion'
+api_revision='$api_revision'
+api_subversion='$api_subversion'
+api_version='$api_version'
+api_versionstring='$api_versionstring'
 ar='$ar'
 archlib='$archlib'
 archlibexp='$archlibexp'
+archname64='$archname64'
 archname='$archname'
 archobjs='$archobjs'
 awk='$awk'
 baserev='$baserev'
 bash='$bash'
 bin='$bin'
+bincompat5005='$bincompat5005'
 binexp='$binexp'
 bison='$bison'
 byacc='$byacc'
@@ -11753,6 +15086,7 @@ ccsymbols='$ccsymbols'
 cf_by='$cf_by'
 cf_email='$cf_email'
 cf_time='$cf_time'
+charsize='$charsize'
 chgrp='$chgrp'
 chmod='$chmod'
 chown='$chown'
@@ -11764,22 +15098,39 @@ cp='$cp'
 cpio='$cpio'
 cpp='$cpp'
 cpp_stuff='$cpp_stuff'
+cppccsymbols='$cppccsymbols'
 cppflags='$cppflags'
 cpplast='$cpplast'
 cppminus='$cppminus'
 cpprun='$cpprun'
 cppstdin='$cppstdin'
 cppsymbols='$cppsymbols'
-cppccsymbols='$cppccsymbols'
+crosscompile='$crosscompile'
 cryptlib='$cryptlib'
 csh='$csh'
 d_Gconvert='$d_Gconvert'
+d_PRIEldbl='$d_PRIEldbl'
+d_PRIFldbl='$d_PRIFldbl'
+d_PRIGldbl='$d_PRIGldbl'
+d_PRIX64='$d_PRIX64'
+d_PRId64='$d_PRId64'
+d_PRIeldbl='$d_PRIeldbl'
+d_PRIfldbl='$d_PRIfldbl'
+d_PRIgldbl='$d_PRIgldbl'
+d_PRIi64='$d_PRIi64'
+d_PRIo64='$d_PRIo64'
+d_PRIu64='$d_PRIu64'
+d_PRIx64='$d_PRIx64'
 d_access='$d_access'
+d_accessx='$d_accessx'
 d_alarm='$d_alarm'
 d_archlib='$d_archlib'
+d_atolf='$d_atolf'
+d_atoll='$d_atoll'
 d_attribut='$d_attribut'
 d_bcmp='$d_bcmp'
 d_bcopy='$d_bcopy'
+d_bincompat5005='$d_bincompat5005'
 d_bsd='$d_bsd'
 d_bsdgetpgrp='$d_bsdgetpgrp'
 d_bsdsetpgrp='$d_bsdsetpgrp'
@@ -11802,13 +15153,16 @@ d_dlerror='$d_dlerror'
 d_dlopen='$d_dlopen'
 d_dlsymun='$d_dlsymun'
 d_dosuid='$d_dosuid'
+d_drand48proto='$d_drand48proto'
 d_dup2='$d_dup2'
+d_eaccess='$d_eaccess'
 d_endgrent='$d_endgrent'
 d_endhent='$d_endhent'
 d_endnent='$d_endnent'
 d_endpent='$d_endpent'
 d_endpwent='$d_endpwent'
 d_endsent='$d_endsent'
+d_endspent='$d_endspent'
 d_eofnblk='$d_eofnblk'
 d_eunice='$d_eunice'
 d_fchmod='$d_fchmod'
@@ -11822,13 +15176,16 @@ d_flexfnam='$d_flexfnam'
 d_flock='$d_flock'
 d_fork='$d_fork'
 d_fpathconf='$d_fpathconf'
+d_fpos64_t='$d_fpos64_t'
+d_fs_data_s='$d_fs_data_s'
+d_fseeko='$d_fseeko'
 d_fsetpos='$d_fsetpos'
 d_fstatfs='$d_fstatfs'
-d_statfsflags='$d_statfsflags'
 d_fstatvfs='$d_fstatvfs'
-d_getmntent='$d_getmntent'
-d_hasmntopt='$d_hasmntopt'
+d_ftello='$d_ftello'
 d_ftime='$d_ftime'
+d_getcwd='$d_getcwd'
+d_getfsstat='$d_getfsstat'
 d_getgrent='$d_getgrent'
 d_getgrps='$d_getgrps'
 d_gethbyaddr='$d_gethbyaddr'
@@ -11837,6 +15194,8 @@ d_gethent='$d_gethent'
 d_gethname='$d_gethname'
 d_gethostprotos='$d_gethostprotos'
 d_getlogin='$d_getlogin'
+d_getmnt='$d_getmnt'
+d_getmntent='$d_getmntent'
 d_getnbyaddr='$d_getnbyaddr'
 d_getnbyname='$d_getnbyname'
 d_getnent='$d_getnent'
@@ -11855,38 +15214,62 @@ d_getsbyname='$d_getsbyname'
 d_getsbyport='$d_getsbyport'
 d_getsent='$d_getsent'
 d_getservprotos='$d_getservprotos'
+d_getspent='$d_getspent'
+d_getspnam='$d_getspnam'
 d_gettimeod='$d_gettimeod'
 d_gnulibc='$d_gnulibc'
 d_grpasswd='$d_grpasswd'
+d_hasmntopt='$d_hasmntopt'
 d_htonl='$d_htonl'
+d_iconv='$d_iconv'
 d_index='$d_index'
 d_inetaton='$d_inetaton'
+d_int64_t='$d_int64_t'
 d_isascii='$d_isascii'
 d_killpg='$d_killpg'
 d_lchown='$d_lchown'
+d_ldbl_dig='$d_ldbl_dig'
 d_link='$d_link'
 d_locconv='$d_locconv'
 d_lockf='$d_lockf'
 d_longdbl='$d_longdbl'
 d_longlong='$d_longlong'
+d_lseekproto='$d_lseekproto'
 d_lstat='$d_lstat'
+d_madvise='$d_madvise'
 d_mblen='$d_mblen'
 d_mbstowcs='$d_mbstowcs'
 d_mbtowc='$d_mbtowc'
+d_memchr='$d_memchr'
 d_memcmp='$d_memcmp'
 d_memcpy='$d_memcpy'
 d_memmove='$d_memmove'
 d_memset='$d_memset'
 d_mkdir='$d_mkdir'
+d_mkdtemp='$d_mkdtemp'
 d_mkfifo='$d_mkfifo'
+d_mkstemp='$d_mkstemp'
+d_mkstemps='$d_mkstemps'
 d_mktime='$d_mktime'
+d_mmap='$d_mmap'
+d_mprotect='$d_mprotect'
 d_msg='$d_msg'
+d_msg_ctrunc='$d_msg_ctrunc'
+d_msg_dontroute='$d_msg_dontroute'
+d_msg_oob='$d_msg_oob'
+d_msg_peek='$d_msg_peek'
+d_msg_proxy='$d_msg_proxy'
 d_msgctl='$d_msgctl'
 d_msgget='$d_msgget'
 d_msgrcv='$d_msgrcv'
 d_msgsnd='$d_msgsnd'
+d_msync='$d_msync'
+d_munmap='$d_munmap'
 d_mymalloc='$d_mymalloc'
 d_nice='$d_nice'
+d_nv_preserves_uv='$d_nv_preserves_uv'
+d_off64_t='$d_off64_t'
+d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
 d_oldpthreads='$d_oldpthreads'
 d_oldsock='$d_oldsock'
 d_open3='$d_open3'
@@ -11897,15 +15280,16 @@ d_pipe='$d_pipe'
 d_poll='$d_poll'
 d_portable='$d_portable'
 d_pthread_yield='$d_pthread_yield'
-d_pthreads_created_joinable='$d_pthreads_created_joinable'
 d_pwage='$d_pwage'
 d_pwchange='$d_pwchange'
 d_pwclass='$d_pwclass'
 d_pwcomment='$d_pwcomment'
 d_pwexpire='$d_pwexpire'
 d_pwgecos='$d_pwgecos'
-d_pwquota='$d_pwquota'
 d_pwpasswd='$d_pwpasswd'
+d_pwquota='$d_pwquota'
+d_qgcvt='$d_qgcvt'
+d_quad='$d_quad'
 d_readdir='$d_readdir'
 d_readlink='$d_readlink'
 d_rename='$d_rename'
@@ -11915,6 +15299,7 @@ d_safebcpy='$d_safebcpy'
 d_safemcpy='$d_safemcpy'
 d_sanemcmp='$d_sanemcmp'
 d_sched_yield='$d_sched_yield'
+d_scm_rights='$d_scm_rights'
 d_seekdir='$d_seekdir'
 d_select='$d_select'
 d_sem='$d_sem'
@@ -11945,6 +15330,7 @@ d_setrgid='$d_setrgid'
 d_setruid='$d_setruid'
 d_setsent='$d_setsent'
 d_setsid='$d_setsid'
+d_setspent='$d_setspent'
 d_setvbuf='$d_setvbuf'
 d_sfio='$d_sfio'
 d_shm='$d_shm'
@@ -11956,10 +15342,16 @@ d_shmget='$d_shmget'
 d_sigaction='$d_sigaction'
 d_sigsetjmp='$d_sigsetjmp'
 d_socket='$d_socket'
+d_socklen_t='$d_socklen_t'
 d_sockpair='$d_sockpair'
+d_sqrtl='$d_sqrtl'
 d_statblks='$d_statblks'
+d_statfs_f_flags='$d_statfs_f_flags'
+d_statfs_s='$d_statfs_s'
+d_statvfs='$d_statvfs'
 d_stdio_cnt_lval='$d_stdio_cnt_lval'
 d_stdio_ptr_lval='$d_stdio_ptr_lval'
+d_stdio_stream_array='$d_stdio_stream_array'
 d_stdiobase='$d_stdiobase'
 d_stdstdio='$d_stdstdio'
 d_strchr='$d_strchr'
@@ -11969,7 +15361,11 @@ d_strerrm='$d_strerrm'
 d_strerror='$d_strerror'
 d_strtod='$d_strtod'
 d_strtol='$d_strtol'
+d_strtold='$d_strtold'
+d_strtoll='$d_strtoll'
 d_strtoul='$d_strtoul'
+d_strtoull='$d_strtoull'
+d_strtouq='$d_strtouq'
 d_strxfrm='$d_strxfrm'
 d_suidsafe='$d_suidsafe'
 d_symlink='$d_symlink'
@@ -11981,6 +15377,7 @@ d_system='$d_system'
 d_tcgetpgrp='$d_tcgetpgrp'
 d_tcsetpgrp='$d_tcsetpgrp'
 d_telldir='$d_telldir'
+d_telldirproto='$d_telldirproto'
 d_time='$d_time'
 d_times='$d_times'
 d_truncate='$d_truncate'
@@ -11988,6 +15385,10 @@ d_tzname='$d_tzname'
 d_umask='$d_umask'
 d_uname='$d_uname'
 d_union_semun='$d_union_semun'
+d_ustat='$d_ustat'
+d_vendorarch='$d_vendorarch'
+d_vendorbin='$d_vendorbin'
+d_vendorlib='$d_vendorlib'
 d_vfork='$d_vfork'
 d_void_closedir='$d_void_closedir'
 d_voidsig='$d_voidsig'
@@ -12007,6 +15408,7 @@ direntrytype='$direntrytype'
 dlext='$dlext'
 dlsrc='$dlsrc'
 doublesize='$doublesize'
+drand01='$drand01'
 dynamic_ext='$dynamic_ext'
 eagain='$eagain'
 ebcdic='$ebcdic'
@@ -12017,15 +15419,21 @@ eunicefix='$eunicefix'
 exe_ext='$exe_ext'
 expr='$expr'
 extensions='$extensions'
+fflushNULL='$fflushNULL'
+fflushall='$fflushall'
 find='$find'
 firstmakefile='$firstmakefile'
 flex='$flex'
+fpossize='$fpossize'
 fpostype='$fpostype'
 freetype='$freetype'
 full_ar='$full_ar'
 full_csh='$full_csh'
 full_sed='$full_sed'
 gccversion='$gccversion'
+gidformat='$gidformat'
+gidsign='$gidsign'
+gidsize='$gidsize'
 gidtype='$gidtype'
 glibpth='$glibpth'
 grep='$grep'
@@ -12037,6 +15445,14 @@ h_sysfile='$h_sysfile'
 hint='$hint'
 hostcat='$hostcat'
 huge='$huge'
+i16size='$i16size'
+i16type='$i16type'
+i32size='$i32size'
+i32type='$i32type'
+i64size='$i64size'
+i64type='$i64type'
+i8size='$i8size'
+i8type='$i8type'
 i_arpainet='$i_arpainet'
 i_bsdioctl='$i_bsdioctl'
 i_db='$i_db'
@@ -12048,79 +15464,114 @@ i_fcntl='$i_fcntl'
 i_float='$i_float'
 i_gdbm='$i_gdbm'
 i_grp='$i_grp'
+i_iconv='$i_iconv'
+i_ieeefp='$i_ieeefp'
+i_inttypes='$i_inttypes'
 i_limits='$i_limits'
 i_locale='$i_locale'
+i_machcthr='$i_machcthr'
 i_malloc='$i_malloc'
-i_machcthreads='$i_machcthreads'
 i_math='$i_math'
 i_memory='$i_memory'
 i_mntent='$i_mntent'
 i_ndbm='$i_ndbm'
 i_netdb='$i_netdb'
 i_neterrno='$i_neterrno'
+i_netinettcp='$i_netinettcp'
 i_niin='$i_niin'
-i_pwd='$i_pwd'
+i_poll='$i_poll'
 i_pthread='$i_pthread'
+i_pwd='$i_pwd'
 i_rpcsvcdbm='$i_rpcsvcdbm'
 i_sfio='$i_sfio'
 i_sgtty='$i_sgtty'
+i_shadow='$i_shadow'
+i_socks='$i_socks'
 i_stdarg='$i_stdarg'
 i_stddef='$i_stddef'
 i_stdlib='$i_stdlib'
 i_string='$i_string'
+i_sunmath='$i_sunmath'
+i_sysaccess='$i_sysaccess'
 i_sysdir='$i_sysdir'
 i_sysfile='$i_sysfile'
 i_sysfilio='$i_sysfilio'
 i_sysin='$i_sysin'
 i_sysioctl='$i_sysioctl'
+i_syslog='$i_syslog'
+i_sysmman='$i_sysmman'
+i_sysmode='$i_sysmode'
 i_sysmount='$i_sysmount'
 i_sysndir='$i_sysndir'
 i_sysparam='$i_sysparam'
 i_sysresrc='$i_sysresrc'
+i_syssecrt='$i_syssecrt'
 i_sysselct='$i_sysselct'
 i_syssockio='$i_syssockio'
 i_sysstat='$i_sysstat'
+i_sysstatfs='$i_sysstatfs'
 i_sysstatvfs='$i_sysstatvfs'
 i_systime='$i_systime'
 i_systimek='$i_systimek'
 i_systimes='$i_systimes'
 i_systypes='$i_systypes'
+i_sysuio='$i_sysuio'
 i_sysun='$i_sysun'
+i_sysutsname='$i_sysutsname'
+i_sysvfs='$i_sysvfs'
 i_syswait='$i_syswait'
 i_termio='$i_termio'
 i_termios='$i_termios'
 i_time='$i_time'
 i_unistd='$i_unistd'
+i_ustat='$i_ustat'
 i_utime='$i_utime'
 i_values='$i_values'
 i_varargs='$i_varargs'
 i_varhdr='$i_varhdr'
 i_vfork='$i_vfork'
 ignore_versioned_solibs='$ignore_versioned_solibs'
+inc_version_list='$inc_version_list'
+inc_version_list_init='$inc_version_list_init'
 incpath='$incpath'
 inews='$inews'
 installarchlib='$installarchlib'
 installbin='$installbin'
 installman1dir='$installman1dir'
 installman3dir='$installman3dir'
+installprefix='$installprefix'
+installprefixexp='$installprefixexp'
 installprivlib='$installprivlib'
 installscript='$installscript'
 installsitearch='$installsitearch'
+installsitebin='$installsitebin'
 installsitelib='$installsitelib'
+installstyle='$installstyle'
 installusrbinperl='$installusrbinperl'
+installvendorarch='$installvendorarch'
+installvendorbin='$installvendorbin'
+installvendorlib='$installvendorlib'
 intsize='$intsize'
+ivdformat='$ivdformat'
+ivsize='$ivsize'
+ivtype='$ivtype'
 known_extensions='$known_extensions'
 ksh='$ksh'
 large='$large'
 ld='$ld'
 lddlflags='$lddlflags'
 ldflags='$ldflags'
+ldlibpthname='$ldlibpthname'
 less='$less'
 lib_ext='$lib_ext'
 libc='$libc'
 libperl='$libperl'
 libpth='$libpth'
 libs='$libs'
+libsdirs='$libsdirs'
+libsfiles='$libsfiles'
+libsfound='$libsfound'
+libspath='$libspath'
 libswanted='$libswanted'
 line='$line'
 lint='$lint'
@@ -12135,6 +15586,7 @@ longsize='$longsize'
 lp='$lp'
 lpr='$lpr'
 ls='$ls'
+lseeksize='$lseeksize'
 lseektype='$lseektype'
 mail='$mail'
 mailx='$mailx'
@@ -12150,12 +15602,13 @@ man3dir='$man3dir'
 man3direxp='$man3direxp'
 man3ext='$man3ext'
 medium='$medium'
-mips='$mips'
 mips_type='$mips_type'
 mkdir='$mkdir'
+mmaptype='$mmaptype'
 models='$models'
 modetype='$modetype'
 more='$more'
+multiarch='$multiarch'
 mv='$mv'
 myarchname='$myarchname'
 mydomain='$mydomain'
@@ -12171,8 +15624,11 @@ nm_opt='$nm_opt'
 nm_so_opt='$nm_so_opt'
 nonxs_ext='$nonxs_ext'
 nroff='$nroff'
+nvsize='$nvsize'
+nvtype='$nvtype'
 o_nonblock='$o_nonblock'
 obj_ext='$obj_ext'
+old_pthread_create_joinable='$old_pthread_create_joinable'
 optimize='$optimize'
 orderlib='$orderlib'
 osname='$osname'
@@ -12182,6 +15638,7 @@ pager='$pager'
 passcat='$passcat'
 patchlevel='$patchlevel'
 path_sep='$path_sep'
+perl5='$perl5'
 perl='$perl'
 perladmin='$perladmin'
 perlpath='$perlpath'
@@ -12189,6 +15646,7 @@ pg='$pg'
 phostname='$phostname'
 pidtype='$pidtype'
 plibpth='$plibpth'
+pm_apiversion='$pm_apiversion'
 pmake='$pmake'
 pr='$pr'
 prefix='$prefix'
@@ -12197,15 +15655,34 @@ privlib='$privlib'
 privlibexp='$privlibexp'
 prototype='$prototype'
 ptrsize='$ptrsize'
+quadkind='$quadkind'
+quadtype='$quadtype'
 randbits='$randbits'
+randfunc='$randfunc'
+randseedtype='$randseedtype'
 ranlib='$ranlib'
 rd_nodata='$rd_nodata'
+revision='$revision'
 rm='$rm'
 rmail='$rmail'
 runnm='$runnm'
+sPRIEldbl='$sPRIEldbl'
+sPRIFldbl='$sPRIFldbl'
+sPRIGldbl='$sPRIGldbl'
+sPRIX64='$sPRIX64'
+sPRId64='$sPRId64'
+sPRIeldbl='$sPRIeldbl'
+sPRIfldbl='$sPRIfldbl'
+sPRIgldbl='$sPRIgldbl'
+sPRIi64='$sPRIi64'
+sPRIo64='$sPRIo64'
+sPRIu64='$sPRIu64'
+sPRIx64='$sPRIx64'
+sched_yield='$sched_yield'
 scriptdir='$scriptdir'
 scriptdirexp='$scriptdirexp'
 sed='$sed'
+seedfunc='$seedfunc'
 selectminbits='$selectminbits'
 selecttype='$selecttype'
 sendmail='$sendmail'
@@ -12216,6 +15693,7 @@ shmattype='$shmattype'
 shortsize='$shortsize'
 shrpenv='$shrpenv'
 shsharp='$shsharp'
+sig_count='$sig_count'
 sig_name='$sig_name'
 sig_name_init='$sig_name_init'
 sig_num='$sig_num'
@@ -12223,8 +15701,14 @@ sig_num_init='$sig_num_init'
 signal_t='$signal_t'
 sitearch='$sitearch'
 sitearchexp='$sitearchexp'
+sitebin='$sitebin'
+sitebinexp='$sitebinexp'
 sitelib='$sitelib'
+sitelib_stem='$sitelib_stem'
 sitelibexp='$sitelibexp'
+siteprefix='$siteprefix'
+siteprefixexp='$siteprefixexp'
+sizesize='$sizesize'
 sizetype='$sizetype'
 sleep='$sleep'
 smail='$smail'
@@ -12232,6 +15716,7 @@ small='$small'
 so='$so'
 sockethdr='$sockethdr'
 socketlib='$socketlib'
+socksizetype='$socksizetype'
 sort='$sort'
 spackage='$spackage'
 spitshell='$spitshell'
@@ -12247,6 +15732,7 @@ stdio_bufsiz='$stdio_bufsiz'
 stdio_cnt='$stdio_cnt'
 stdio_filbuf='$stdio_filbuf'
 stdio_ptr='$stdio_ptr'
+stdio_stream_array='$stdio_stream_array'
 strings='$strings'
 submit='$submit'
 subversion='$subversion'
@@ -12262,10 +15748,30 @@ touch='$touch'
 tr='$tr'
 trnl='$trnl'
 troff='$troff'
+u16size='$u16size'
+u16type='$u16type'
+u32size='$u32size'
+u32type='$u32type'
+u64size='$u64size'
+u64type='$u64type'
+u8size='$u8size'
+u8type='$u8type'
+uidformat='$uidformat'
+uidsign='$uidsign'
+uidsize='$uidsize'
 uidtype='$uidtype'
 uname='$uname'
 uniq='$uniq'
+uquadtype='$uquadtype'
+use5005threads='$use5005threads'
+use64bitall='$use64bitall'
+use64bitint='$use64bitint'
 usedl='$usedl'
+useithreads='$useithreads'
+uselargefiles='$uselargefiles'
+uselongdouble='$uselongdouble'
+usemorebits='$usemorebits'
+usemultiplicity='$usemultiplicity'
 usemymalloc='$usemymalloc'
 usenm='$usenm'
 useopcode='$useopcode'
@@ -12273,14 +15779,31 @@ useperlio='$useperlio'
 useposix='$useposix'
 usesfio='$usesfio'
 useshrplib='$useshrplib'
+usesocks='$usesocks'
 usethreads='$usethreads'
+usevendorprefix='$usevendorprefix'
 usevfork='$usevfork'
 usrinc='$usrinc'
 uuname='$uuname'
+uvoformat='$uvoformat'
+uvsize='$uvsize'
+uvtype='$uvtype'
+uvuformat='$uvuformat'
+uvxformat='$uvxformat'
+vendorarch='$vendorarch'
+vendorarchexp='$vendorarchexp'
+vendorbin='$vendorbin'
+vendorbinexp='$vendorbinexp'
+vendorlib='$vendorlib'
+vendorlib_stem='$vendorlib_stem'
+vendorlibexp='$vendorlibexp'
+vendorprefix='$vendorprefix'
+vendorprefixexp='$vendorprefixexp'
 version='$version'
 vi='$vi'
 voidflags='$voidflags'
 xlibpth='$xlibpth'
+xs_apiversion='$xs_apiversion'
 zcat='$zcat'
 zip='$zip'
 EOT
@@ -12290,8 +15813,8 @@ $test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
 
 : add special variables
 $test -f $src/patchlevel.h && \
-awk '/^#define/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
-echo "CONFIG=true" >>config.sh
+awk '/^#define[ 	]+PERL_/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
+echo "CONFIGDOTSH=true" >>config.sh
 
 : propagate old symbols
 if $test -f UU/config.sh; then
@@ -12360,26 +15883,26 @@ if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then
 	*)
 		$cat < makedepend.out &"
+Now you need to generate make dependencies by running "$make depend".
+You might prefer to run it in background: "$make depend > makedepend.out &"
 It can take a while, so you might not want to run it right now.
 
 EOM
 		;;
 	esac
-	rp="Run make depend now?"
+	rp="Run $make depend now?"
 	. UU/myread
 	case "$ans" in
 	y*)
-		make depend && echo "Now you must run a make."
+		$make depend && echo "Now you must run a $make."
 		;;
 	*)
-		echo "You must run 'make depend' then 'make'."
+		echo "You must run '$make depend' then '$make'."
 		;;
 	esac
 elif test -f [Mm]akefile; then
 	echo " "
-	echo "Now you must run a make."
+	echo "Now you must run a $make."
 else
 	echo "Done."
 fi
diff --git a/gnu/usr.bin/perl/EXTERN.h b/gnu/usr.bin/perl/EXTERN.h
index 66aeb9f6521..897fae63b07 100644
--- a/gnu/usr.bin/perl/EXTERN.h
+++ b/gnu/usr.bin/perl/EXTERN.h
@@ -1,6 +1,6 @@
 /*    EXTERN.h
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -27,7 +27,7 @@
 #  define EXTCONST globalref
 #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #else
-#  if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(__GNUC__) && !defined(PERL_OBJECT)
+#  if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(PERL_OBJECT)
 #    ifdef PERLDLL
 #      define EXT extern __declspec(dllexport)
 #      define dEXT 
@@ -40,10 +40,17 @@
 #      define dEXTCONST const
 #    endif
 #  else
-#    define EXT extern
-#    define dEXT
-#    define EXTCONST extern const
-#    define dEXTCONST const
+#    if defined(__CYGWIN__) && defined(USEIMPORTLIB)
+#      define EXT extern __declspec(dllimport)
+#      define dEXT 
+#      define EXTCONST extern __declspec(dllimport) const
+#      define dEXTCONST const
+#    else
+#      define EXT extern
+#      define dEXT
+#      define EXTCONST extern const
+#      define dEXTCONST const
+#    endif
 #  endif
 #endif
 
diff --git a/gnu/usr.bin/perl/INSTALL b/gnu/usr.bin/perl/INSTALL
index c5e04cb4c57..552c8702013 100644
--- a/gnu/usr.bin/perl/INSTALL
+++ b/gnu/usr.bin/perl/INSTALL
@@ -4,10 +4,15 @@ Install - Build and Installation guide for perl5.
 
 =head1 SYNOPSIS
 
-The basic steps to build and install perl5 on a Unix system are:
+First, make sure you are installing an up-to-date version of Perl.   If
+you didn't get your Perl source from CPAN, check the latest version at
+.
+
+The basic steps to build and install perl5 on a Unix system
+with all the defaults are:
 
 	rm -f config.sh Policy.sh
-	sh Configure
+	sh Configure -de
 	make
 	make test
 	make install
@@ -19,9 +24,21 @@ The basic steps to build and install perl5 on a Unix system are:
 
 Each of these is explained in further detail below.
 
+The above commands will install Perl to /usr/local or /opt, depending
+on the platform.  If that's not okay with you, use
+
+	rm -f config.sh Policy.sh
+	sh Configure
+	make
+	make test
+	make install
+
 For information on non-Unix systems, see the section on
 L<"Porting information"> below.
 
+If you have problems, corrections, or questions, please see
+L<"Reporting Problems"> below.
+
 For information on what's new in this release, see the
 pod/perldelta.pod file.  For more detailed information about specific
 changes, see the Changes file.
@@ -37,7 +54,8 @@ by lines beginning with '='.  The other mark-up used is
     C	literal code
     L     A link (cross reference) to name
 
-You should probably at least skim through this entire document before
+Although most of the defaults are probably fine for most users,
+you should probably at least skim through this entire document before
 proceeding.
 
 If you're building Perl on a non-Unix system, you should also read
@@ -46,34 +64,63 @@ provide additional or different instructions for building Perl.
 
 If there is a hint file for your system (in the hints/ directory) you
 should also read that hint file for specific information for your
-system.  (Unixware users should use the svr4.sh hint file.)
+system.  (Unixware users should use the svr4.sh hint file.)  If
+there is a README file for your platform, then you should read
+that too.  Additional information is in the Porting/ directory.
+
+=head1 WARNING:  This version requires an extra step to build old extensions.
 
-=head1 WARNING:  This version is not binary compatible with Perl 5.004.
+5.005_53 and later releases do not export unadorned
+global symbols anymore.  This means you may need to build older
+extensions that have not been updated for the new naming convention
+with:
 
-Starting with Perl 5.004_50 there were many deep and far-reaching changes
-to the language internals.  If you have dynamically loaded extensions
-that you built under perl 5.003 or 5.004, you can continue to use them
-with 5.004, but you will need to rebuild and reinstall those extensions
-to use them 5.005.  See the discussions below on
+	perl Makefile.PL POLLUTE=1
+	
+Alternatively, you can enable CPP symbol pollution wholesale by
+building perl itself with:
+
+	sh Configure -Accflags=-DPERL_POLLUTE
+
+pod/perldelta.pod contains more details about this.
+
+=head1 WARNING:  This version may not be binary compatible with Perl 5.005.
+
+Using the default Configure options for building perl should get you
+a perl that will be binary compatible with the 5.005 release.
+
+However, if you run Configure with any custom options, such as
+-Dusethreads, -Dusemultiplicity, -Dusemymalloc, -Ubincompat5005 etc.,
+the resulting perl will not be binary compatible.  Under these
+circumstances, if you have dynamically loaded extensions that were
+built under perl 5.005, you will need to rebuild and reinstall all
+those extensions to use them with 5.6.
+
+Pure perl modules without XS or C code should continue to work fine
+without reinstallation.  See the discussions below on
 L<"Coexistence with earlier versions of perl5"> and
-L<"Upgrading from 5.004 to 5.005"> for more details.
+L<"Upgrading from 5.005 to 5.6"> for more details.
 
 The standard extensions supplied with Perl will be handled automatically.
 
-In a related issue, old extensions may possibly be affected by the
+On a related issue, old modules may possibly be affected by the
 changes in the Perl language in the current release.  Please see
-pod/perldelta.pod for a description of what's changed.
+pod/perldelta.pod (and pod/perl500Xdelta.pod) for a description of
+what's changed.  See your installed copy of the perllocal.pod
+file for a (possibly incomplete) list of locally installed modules.
+Also see CPAN::autobundle for one way to make a "bundle" of your
+currently installed modules.
 
 =head1 WARNING:  This version requires a compiler that supports ANSI C.
 
 If you find that your C compiler is not ANSI-capable, try obtaining
 GCC, available from GNU mirrors worldwide (e.g. ftp://ftp.gnu.org/pub/gnu).
-Another alternative may be to use a tool like C to convert the
+Another alternative may be to use a tool like ansi2knr to convert the
 sources back to K&R style, but there is no guarantee this route will get
 you anywhere, since the prototypes are not the only ANSI features used
-in the Perl sources.  C is usually found as part of the freely
-available C distribution.  Another similar tool is
-C, distributed with GCC.  Since C requires GCC to
+in the Perl sources.  ansi2knr is usually found as part of the freely
+available Ghostscript distribution.  Another similar tool is
+unprotoize, distributed with GCC.  Since unprotoize requires GCC to
 run, you may have to run it on a platform where GCC is available, and move
 the sources back to the platform without GCC.
 
@@ -81,12 +128,15 @@ If you succeed in automatically converting the sources to a K&R compatible
 form, be sure to email perlbug@perl.com to let us know the steps you
 followed.  This will enable us to officially support this option.
 
+Although Perl can be compiled using a C++ compiler, the Configure script
+does not work with some C++ compilers.
+
 =head1 Space Requirements
 
-The complete perl5 source tree takes up about 10 MB of disk space.  The
-complete tree after completing make takes roughly 20 MB, though the
-actual total is likely to be quite system-dependent.  The installation
-directories need something on the order of 10 MB, though again that
+The complete perl5 source tree takes up about 20 MB of disk space.
+After completing make, it takes up roughly 30 MB, though the actual
+total is likely to be quite system-dependent.  The installation
+directories need something on the order of 20 MB, though again that
 value is system-dependent.
 
 =head1 Start with a Fresh Distribution
@@ -107,9 +157,9 @@ The results of a Configure run are stored in the config.sh and Policy.sh
 files.  If you are upgrading from a previous version of perl, or if you
 change systems or compilers or make other significant changes, or if
 you are experiencing difficulties building perl, you should probably
-not re-use your old config.sh.  Simply remove it or rename it, e.g.
+not re-use your old config.sh.  Simply remove it
 
-	mv config.sh config.sh.old
+	rm -f config.sh
 
 If you wish to use your old config.sh, be especially attentive to the
 version and architecture-specific questions and answers.  For example,
@@ -121,76 +171,120 @@ probably check and correct for this, but it doesn't, presently.
 Similarly, if you used a shared libperl.so (see below) with version
 numbers, you will probably want to adjust them as well.
 
-Also, be careful to check your architecture name.  Some Linux systems
-(such as Debian) use i386, while others may use i486, i586, or i686.
-If you pick up a precompiled binary, it might not use the same name.
+Also, be careful to check your architecture name.  For example, some
+Linux distributions use i386, while others may use i486.  If you build
+it yourself, Configure uses the output of the arch command, which
+might be i586 or i686 instead.  If you pick up a precompiled binary, or
+compile extensions on different systems, they might not all agree on
+the architecture name.
 
 In short, if you wish to use your old config.sh, I recommend running
 Configure interactively rather than blindly accepting the defaults.
 
-If your reason to reuse your old config.sh is to save your
-particular installation choices, then you can probably achieve the
-same effect by using the new Policy.sh file.  See the section on
-L<"Site-wide Policy settings"> below.
+If your reason to reuse your old config.sh is to save your particular
+installation choices, then you can probably achieve the same effect by
+using the Policy.sh file.  See the section on L<"Site-wide Policy
+settings"> below.  If you wish to start with a fresh distribution, you
+also need to remove any old Policy.sh files you may have with
+
+	rm -f Policy.sh
 
 =head1 Run Configure
 
 Configure will figure out various things about your system.  Some
 things Configure will figure out for itself, other things it will ask
-you about.  To accept the default, just press RETURN.   The default
-is almost always okay.  At any Configure prompt, you can type  &-d
-and Configure will use the defaults from then on.
+you about.  To accept the default, just press RETURN.   The default is
+almost always okay.  It is normal for some things to be "NOT found",
+since Configure often searches for many different ways of performing
+the same function.
+
+At any Configure prompt, you can type  &-d and Configure will use the
+defaults from then on.
 
 After it runs, Configure will perform variable substitution on all the
 *.SH files and offer to run make depend.
 
+=head2 Altering config.sh variables for C compiler switches etc.
+
+For most users, all of the Configure defaults are fine.  Configure
+also has several convenient options which are all described below.
+However, if Configure doesn't have an option to do what you want,
+you can change Configure variables after the platform hints have been
+run, by using Configure's -A switch.  For example, here's how to add
+a couple of extra flags to C compiler invocations:
+
+	sh Configure -Accflags="-DPERL_Y2KWARN -DPERL_POLLUTE_MALLOC"
+
+For more help on Configure switches, run:
+
+	sh Configure -h
+
+=head2 Common Configure options
+
 Configure supports a number of useful options.  Run B to
 get a listing.  See the Porting/Glossary file for a complete list of
 Configure variables you can set and their definitions.
 
-To compile with gcc, for example, you should run
+=over 4
+
+=item gcc
+
+To compile with gcc you should run
 
 	sh Configure -Dcc=gcc
 
 This is the preferred way to specify gcc (or another alternative
 compiler) so that the hints files can set appropriate defaults.
 
-If you want to use your old config.sh but override some of the items
-with command line options, you need to use B.
+=item Installation prefix
 
 By default, for most systems, perl will be installed in
-/usr/local/{bin, lib, man}.  You can specify a different 'prefix' for
-the default installation directory, when Configure prompts you or by
-using the Configure command line option -Dprefix='/some/directory',
-e.g.
+/usr/local/{bin, lib, man}.  (See L<"Installation Directories">
+and L<"Coexistence with earlier versions of perl5"> below for
+further details.)
+
+You can specify a different 'prefix' for the default installation
+directory, when Configure prompts you or by using the Configure command
+line option -Dprefix='/some/directory', e.g.
 
 	sh Configure -Dprefix=/opt/perl
 
-If your prefix contains the string "perl", then the directories
-are simplified.  For example, if you use prefix=/opt/perl,
-then Configure will suggest /opt/perl/lib instead of
-/opt/perl/lib/perl5/.
+If your prefix contains the string "perl", then the suggested
+directory structure is simplified.  For example, if you use
+prefix=/opt/perl, then Configure will suggest /opt/perl/lib instead of
+/opt/perl/lib/perl5/.  Again, see L<"Installation Directories"> below
+for more details.
+
+NOTE:  You must not specify an installation directory that is the same
+as or below your perl source directory.  If you do, installperl will
+attempt infinite recursion.
 
-NOTE:  You must not specify an installation directory that is below
-your perl source directory.  If you do, installperl will attempt
-infinite recursion.
+=item /usr/bin/perl
 
-It may seem obvious to say, but Perl is useful only when users can
-easily find it.  It's often a good idea to have both /usr/bin/perl and
+It may seem obvious, but Perl is useful only when users can easily
+find it.  It's often a good idea to have both /usr/bin/perl and
 /usr/local/bin/perl be symlinks to the actual binary.  Be especially
-careful, however, of overwriting a version of perl supplied by your
-vendor.  In any case, system administrators are strongly encouraged to
+careful, however, not to overwrite a version of perl supplied by your
+vendor unless you are sure you know what you are doing.
+
+By default, Configure will arrange for /usr/bin/perl to be linked to
+the current version of perl.  You can turn off that behavior by running
+
+	Configure -Uinstallusrbinperl
+
+or by answering 'no' to the appropriate Configure prompt.
+
+In any case, system administrators are strongly encouraged to
 put (symlinks to) perl and its accompanying utilities, such as perldoc,
 into a directory typically found along a user's PATH, or in another
 obvious and convenient place.
 
-You can use "Configure -Uinstallusrbinperl" which causes installperl
-to skip installing perl also as /usr/bin/perl.
+=item Overriding an old config.sh
 
-By default, Configure will compile perl to use dynamic loading if
-your system supports it.  If you want to force perl to be compiled
-statically, you can either choose this when Configure prompts you or
-you can use the Configure command line option -Uusedl.
+If you want to use your old config.sh but override some of the items
+with command line options, you need to use B.
+
+=back
 
 If you are willing to accept all the defaults, and you want terse
 output, you can run
@@ -215,236 +309,217 @@ options.  Try
 
 for a listing.
 
-Cross compiling is not supported.
+Cross compiling and compiling in a different directory are not supported.
 
 (The file is called configure.gnu to avoid problems on systems
 that would not distinguish the files "Configure" and "configure".)
 
-=head2 Extensions
-
-By default, Configure will offer to build every extension which appears
-to be supported.  For example, Configure will offer to build GDBM_File
-only if it is able to find the gdbm library.  (See examples below.)
-B, DynaLoader, Fcntl, IO, and attrs are always built by default.
-Configure does not contain code to test for POSIX compliance, so POSIX
-is always built by default as well.  If you wish to skip POSIX, you can
-set the Configure variable useposix=false either in a hint file or from
-the Configure command line.  Similarly, the Opcode extension is always
-built by default, but you can skip it by setting the Configure variable
-useopcode=false either in a hint file for from the command line.
-
-You can learn more about each of these extensions by consulting the
-documentation in the individual .pm modules, located under the
-ext/ subdirectory.
-
-Even if you do not have dynamic loading, you must still build the
-DynaLoader extension; you should just build the stub dl_none.xs
-version.  (Configure will suggest this as the default.)
-
-In summary, here are the Configure command-line variables you can set
-to turn off each extension:
-
-    B			(Always included by default)
-    DB_File		i_db
-    DynaLoader		(Must always be included as a static extension)
-    Fcntl		(Always included by default)
-    GDBM_File		i_gdbm
-    IO			(Always included by default)
-    NDBM_File		i_ndbm
-    ODBM_File		i_dbm
-    POSIX		useposix
-    SDBM_File		(Always included by default)
-    Opcode		useopcode
-    Socket		d_socket
-    Threads		usethreads
-    attrs		(Always included by default)
-
-Thus to skip the NDBM_File extension, you can use
-
-	sh Configure -Ui_ndbm
-
-Again, this is taken care of automatically if you don't have the ndbm
-library.
-
-Of course, you may always run Configure interactively and select only
-the extensions you want.
-
-Note:  The DB_File module will only work with version 1.x of Berkeley
-DB or newer releases of version 2.  Configure will automatically detect
-this for you and refuse to try to build DB_File with version 2.
-
-If you re-use your old config.sh but change your system (e.g. by
-adding libgdbm) Configure will still offer your old choices of extensions
-for the default answer, but it will also point out the discrepancy to
-you.
-
-Finally, if you have dynamic loading (most modern Unix systems do)
-remember that these extensions do not increase the size of your perl
-executable, nor do they impact start-up time, so you probably might as
-well build all the ones that will work on your system.
-
-=head2 Including locally-installed libraries
-
-Perl5 comes with interfaces to number of database extensions, including
-dbm, ndbm, gdbm, and Berkeley db.  For each extension, if
-Configure can find the appropriate header files and libraries, it will
-automatically include that extension.  The gdbm and db libraries
-are not included with perl.  See the library documentation for
-how to obtain the libraries.
-
-Note:  If your database header (.h) files are not in a
-directory normally searched by your C compiler, then you will need to
-include the appropriate -I/your/directory option when prompted by
-Configure.  If your database library (.a) files are not in a directory
-normally searched by your C compiler and linker, then you will need to
-include the appropriate -L/your/directory option when prompted by
-Configure.  See the examples below.
-
-=head2 Examples
-
-=over 4
-
-=item gdbm in /usr/local
-
-Suppose you have gdbm and want Configure to find it and build the
-GDBM_File extension.  This examples assumes you have gdbm.h
-installed in /usr/local/include/gdbm.h and libgdbm.a installed in
-/usr/local/lib/libgdbm.a.  Configure should figure all the
-necessary steps out automatically.
-
-Specifically, when Configure prompts you for flags for
-your C compiler, you should include  -I/usr/local/include.
-
-When Configure prompts you for linker flags, you should include
--L/usr/local/lib.
-
-If you are using dynamic loading, then when Configure prompts you for
-linker flags for dynamic loading, you should again include
--L/usr/local/lib.
-
-Again, this should all happen automatically.  If you want to accept the
-defaults for all the questions and have Configure print out only terse
-messages, then you can just run
-
-	sh Configure -des
-
-and Configure should include the GDBM_File extension automatically.
-
-This should actually work if you have gdbm installed in any of
-(/usr/local, /opt/local, /usr/gnu, /opt/gnu, /usr/GNU, or /opt/GNU).
-
-=item gdbm in /usr/you
-
-Suppose you have gdbm installed in some place other than /usr/local/,
-but you still want Configure to find it.  To be specific, assume you
-have /usr/you/include/gdbm.h and /usr/you/lib/libgdbm.a.  You
-still have to add -I/usr/you/include to cc flags, but you have to take
-an extra step to help Configure find libgdbm.a.  Specifically, when
-Configure prompts you for library directories, you have to add
-/usr/you/lib to the list.
-
-It is possible to specify this from the command line too (all on one
-line):
-
-	sh Configure -des \
-		-Dlocincpth="/usr/you/include" \
-		-Dloclibpth="/usr/you/lib"
-
-locincpth is a space-separated list of include directories to search.
-Configure will automatically add the appropriate -I directives.
-
-loclibpth is a space-separated list of library directories to search.
-Configure will automatically add the appropriate -L directives.  If
-you have some libraries under /usr/local/ and others under
-/usr/you, then you have to include both, namely
-
-	sh Configure -des \
-		-Dlocincpth="/usr/you/include /usr/local/include" \
-		-Dloclibpth="/usr/you/lib /usr/local/lib"
-
-=back
-
 =head2 Installation Directories
 
 The installation directories can all be changed by answering the
 appropriate questions in Configure.  For convenience, all the
 installation questions are near the beginning of Configure.
+Further, there are a number of additions to the installation
+directories since 5.005, so reusing your old config.sh may not
+be sufficient to put everything where you want it.
 
 I highly recommend running Configure interactively to be sure it puts
 everything where you want it.  At any point during the Configure
-process, you can answer a question with  &-d  and Configure
-will use the defaults from then on.
+process, you can answer a question with  &-d  and Configure will use
+the defaults from then on.
 
-By default, Configure will use the following directories for library files
-for 5.005 (archname is a string like sun4-sunos, determined by Configure).
+The defaults are intended to be reasonable and sensible for most
+people building from sources.  Those who build and distribute binary
+distributions or who export perl to a range of systems will probably
+need to alter them.  If you are content to just accept the defaults,
+you can safely skip the next section.
 
-    Configure variable		Default value
-	$archlib 	/usr/local/lib/perl5/5.005/archname
-	$privlib	/usr/local/lib/perl5/5.005
-	$sitearch	/usr/local/lib/perl5/site_perl/5.005/archname
-	$sitelib	/usr/local/lib/perl5/site_perl/5.005
+The directories set up by Configure fall into three broad categories.
 
-Some users prefer to append a "/share" to $privlib and $sitelib
-to emphasize that those directories can be shared among different
-architectures.
-
-By default, Configure will use the following directories for manual pages:
-
-    Configure variable		Default value
-	$man1dir	/usr/local/man/man1
-	$man3dir	/usr/local/lib/perl5/man/man3
+=over 4
 
-(Actually, Configure recognizes the SVR3-style
+=item Directories for the perl distribution
+
+By default, Configure will use the following directories for 5.6.0.
+$version is the full perl version number, including subversion, e.g.
+5.6.0 or 5.6.1, and $archname is a string like sun4-sunos,
+determined by Configure.  The full definitions of all Configure
+variables are in the file Porting/Glossary.
+
+    Configure variable	Default value
+    $prefix		/usr/local
+    $bin		$prefix/bin
+    $scriptdir		$prefix/bin
+    $privlib		$prefix/lib/perl5/$version
+    $archlib 		$prefix/lib/perl5/$version/$archname
+    $man1dir		$prefix/man/man1
+    $man3dir		$prefix/man/man3
+    $html1dir		(none)
+    $html3dir		(none)
+
+Actually, Configure recognizes the SVR3-style
 /usr/local/man/l_man/man1 directories, if present, and uses those
-instead.)
-
-The module man pages are stuck in that strange spot so that
-they don't collide with other man pages stored in /usr/local/man/man3,
-and so that Perl's man pages don't hide system man pages.  On some
-systems, B would end up calling up Perl's less.pm module man
-page, rather than the less program.  (This default location will likely
-change to /usr/local/man/man3 in a future release of perl.)
-
-Note:  Many users prefer to store the module man pages in
-/usr/local/man/man3.  You can do this from the command line with
-
-	sh Configure -Dman3dir=/usr/local/man/man3
+instead.  Also, if $prefix contains the string "perl", the library
+directories are simplified as described below.  For simplicity, only
+the common style is shown here.
+
+=item Directories for site-specific add-on files
+
+After perl is installed, you may later wish to add modules (e.g. from
+CPAN) or scripts.  Configure will set up the following directories to
+be used for installing those add-on modules and scripts.
+
+    Configure variable	Default value
+    $siteprefix		$prefix
+    $sitebin		$siteprefix/bin
+    $sitescript		$siteprefix/bin
+    $sitelib		$siteprefix/lib/perl5/site_perl/$version
+    $sitearch		$siteprefix/lib/perl5/site_perl/$version/$archname
+    $siteman1		$siteprefix/man/man1
+    $siteman3		$siteprefix/man/man3
+    $sitehtml1		(none)
+    $sitehtml3		(none)
+
+By default, ExtUtils::MakeMaker will install architecture-independent
+modules into $sitelib and architecture-dependent modules into $sitearch.
+
+NOTE:  As of 5.6.0, ExtUtils::MakeMaker will use $sitelib and $sitearch,
+but will not use the other site-specific directories.  Volunteers to
+fix this are needed.
+
+=item Directories for vendor-supplied add-on files
+
+Lastly, if you are building a binary distribution of perl for
+distribution, Configure can optionally set up the following directories
+for you to use to distribute add-on modules.
+
+    Configure variable	Default value
+    $vendorprefix	(none)
+    (The next ones are set only if vendorprefix is set.)
+    $vendorbin		$vendorprefix/bin
+    $vendorscript	$vendorprefix/bin
+    $vendorlib		$vendorprefix/lib/perl5/vendor_perl/$version
+    $vendorarch		$vendorprefix/lib/perl5/vendor_perl/$version/$archname
+    $vendorman1		$vendorprefix/man/man1
+    $vendorman3		$vendorprefix/man/man3
+    $vendorhtml1	(none)
+    $vendorhtml3	(none)
+
+These are normally empty, but may be set as needed.  For example,
+a vendor might choose the following settings:
+
+	$prefix		/usr/bin
+	$siteprefix	/usr/local/bin
+	$vendorprefix	/usr/bin
+
+This would have the effect of setting the following:
+
+	$bin		/usr/bin
+	$scriptdir	/usr/bin
+	$privlib	/usr/lib/perl5/$version
+	$archlib 	/usr/lib/perl5/$version/$archname
+	$man1dir	/usr/man/man1
+	$man3dir	/usr/man/man3
+
+	$sitebin	/usr/local/bin
+	$sitescript	/usr/local/bin
+	$sitelib	/usr/local/lib/perl5/site_perl/$version
+	$sitearch	/usr/local/lib/perl5/site_perl/$version/$archname
+	$siteman1	/usr/local/man/man1
+	$siteman3	/usr/local/man/man3
+
+	$vendorbin	/usr/bin
+	$vendorscript	/usr/bin
+	$vendorlib	/usr/lib/perl5/vendor_perl/$version
+	$vendorarch	/usr/lib/perl5/vendor_perl/$version/$archname
+	$vendorman1	/usr/man/man1
+	$vendorman3	/usr/man/man3
+
+Note how in this example, the vendor-supplied directories are in the
+/usr hierarchy, while the directories reserved for the end-user are in
+the /usr/local hierarchy.
+
+NOTE:  As of 5.6.0, ExtUtils::MakeMaker does not use these directories.
+Volunteers to fix this are needed.
+
+The entire installed library hierarchy is installed in locations with
+version numbers, keeping the installations of different versions distinct.
+However, later installations of Perl can still be configured to search the
+installed libraries corresponding to compatible earlier versions.
+See L<"Coexistence with earlier versions of perl5"> below for more details
+on how Perl can be made to search older version directories.
+
+Of course you may use these directories however you see fit.  For
+example, you may wish to use $siteprefix for site-specific files that
+are stored locally on your own disk and use $vendorprefix for
+site-specific files that are stored elsewhere on your organization's
+network.  One way to do that would be something like
+
+	sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl
+
+=item otherlibdirs
+
+As a final catch-all, Configure also offers an $otherlibdirs
+variable.  This variable contains a colon-separated list of additional
+directories to add to @INC.  By default, it will be set to
+$prefix/site_perl if Configure detects that you have 5.004-era modules
+installed there.  However, you can set it to anything you like.
+
+=item Man Pages
+
+In versions 5.005_57 and earlier, the default was to store module man
+pages in a version-specific directory, such as
+/usr/local/lib/perl5/$version/man/man3.  The default for 5.005_58 and
+after is /usr/local/man/man3 so that most users can find the man pages
+without resetting MANPATH.
+
+You can continue to use the old default from the command line with
+
+	sh Configure -Dman3dir=/usr/local/lib/perl5/5.6.0/man/man3
 
 Some users also prefer to use a .3pm suffix.  You can do that with
 
 	sh Configure -Dman3ext=3pm
 
-If you specify a prefix that contains the string "perl", then the
-directory structure is simplified.  For example, if you Configure with
--Dprefix=/opt/perl, then the defaults for 5.005 are
+Again, these are just the defaults, and can be changed as you run
+Configure.
 
-    Configure variable		Default value
-	$archlib	/opt/perl/lib/5.005/archname
-	$privlib	/opt/perl/lib/5.005
-	$sitearch	/opt/perl/lib/site_perl/5.005/archname
-	$sitelib	/opt/perl/lib/site_perl/5.005
+=item HTML pages
 
-	$man1dir	/opt/perl/man/man1
-	$man3dir	/opt/perl/man/man3
+As of perl5.005_57, the standard perl installation does not do
+anything with HTML documentation, but that may change in the future.
+Further, some add-on modules may wish to install HTML documents.  The
+html Configure variables listed above are provided if you wish to
+specify where such documents should be placed.  The default is "none",
+but will likely eventually change to something useful based on user
+feedback.
 
-The perl executable will search the libraries in the order given
-above.
+=back
 
-The directories under site_perl are empty, but are intended to be used
-for installing local or site-wide extensions.  Perl will automatically
-look in these directories.
+Some users prefer to append a "/share" to $privlib and $sitelib
+to emphasize that those directories can be shared among different
+architectures.
 
-In order to support using things like #!/usr/local/bin/perl5.005 after
-a later version is released, architecture-dependent libraries are
-stored in a version-specific directory, such as
-/usr/local/lib/perl5/archname/5.005/.
+Note that these are just the defaults.  You can actually structure the
+directories any way you like.  They don't even have to be on the same
+filesystem.
 
 Further details about the installation directories, maintenance and
 development subversions, and about supporting multiple versions are
 discussed in L<"Coexistence with earlier versions of perl5"> below.
 
-Again, these are just the defaults, and can be changed as you run
-Configure.
+If you specify a prefix that contains the string "perl", then the
+library directory structure is slightly simplified.  Instead of
+suggesting $prefix/lib/perl5/, Configure will suggest $prefix/lib.
+
+Thus, for example, if you Configure with
+-Dprefix=/opt/perl, then the default library directories for 5.6.0 are
+
+    Configure variable	Default value
+	$privlib	/opt/perl/lib/5.6.0
+	$archlib	/opt/perl/lib/5.6.0/$archname
+	$sitelib	/opt/perl/lib/site_perl/5.6.0
+	$sitearch	/opt/perl/lib/site_perl/5.6.0/$archname
 
 =head2 Changing the installation directory
 
@@ -453,38 +528,22 @@ associated files) should be installed and the directory in which it
 will eventually reside.  For most sites, these two are the same; for
 sites that use AFS, this distinction is handled automatically.
 However, sites that use software such as depot to manage software
-packages may also wish to install perl into a different directory and
-use that management software to move perl to its final destination.
-This section describes how to do this.  Someday, Configure may support
-an option -Dinstallprefix=/foo to simplify this.
+packages, or users building binary packages for distribution may also
+wish to install perl into a different directory and use that
+management software to move perl to its final destination.  This
+section describes how to do that.
 
 Suppose you want to install perl under the /tmp/perl5 directory.  You
-can edit config.sh and change all the install* variables to point to
-/tmp/perl5 instead of /usr/local/wherever.  Or, you can automate this
-process by placing the following lines in a file config.over before you
-run Configure (replace /tmp/perl5 by a directory of your choice):
-
-    installprefix=/tmp/perl5
-    test -d $installprefix || mkdir $installprefix
-    test -d $installprefix/bin || mkdir $installprefix/bin
-    installarchlib=`echo $installarchlib | sed "s!$prefix!$installprefix!"`
-    installbin=`echo $installbin | sed "s!$prefix!$installprefix!"`
-    installman1dir=`echo $installman1dir | sed "s!$prefix!$installprefix!"`
-    installman3dir=`echo $installman3dir | sed "s!$prefix!$installprefix!"`
-    installprivlib=`echo $installprivlib | sed "s!$prefix!$installprefix!"`
-    installscript=`echo $installscript | sed "s!$prefix!$installprefix!"`
-    installsitelib=`echo $installsitelib | sed "s!$prefix!$installprefix!"`
-    installsitearch=`echo $installsitearch | sed "s!$prefix!$installprefix!"`
-
-Then, you can Configure and install in the usual way:
-
-    sh Configure -des
-    make
-    make test
-    make install
+could edit config.sh and change all the install* variables to point to
+/tmp/perl5 instead of /usr/local, or you could simply use the
+following command line:
+
+	sh Configure -Dinstallprefix=/tmp/perl5
+
+(replace /tmp/perl5 by a directory of your choice).
 
 Beware, though, that if you go to try to install new add-on
-extensions, they too will get installed in under '/tmp/perl5' if you
+modules, they too will get installed in under '/tmp/perl5' if you
 follow this example.  The next section shows one way of dealing with
 that problem.
 
@@ -496,9 +555,9 @@ installed on multiple systems.  Suppose, for example, that you want to
 create an archive that can be installed in /opt/perl.
 Here's one way to do that:
 
-    # Set up config.over to install perl into a different directory,
+    # Set up to install perl into a different directory,
     # e.g. /tmp/perl5 (see previous part).
-    sh Configure -Dprefix=/opt/perl -des
+    sh Configure -Dinstallprefix=/tmp/perl5 -Dprefix=/opt/perl -des
     make
     make test
     make install   # This will install everything into /tmp/perl5.
@@ -532,6 +591,15 @@ to ensure that Configure doesn't re-use them.
 
 Further information is in the Policy_sh.SH file itself.
 
+If the generated Policy.sh file is unsuitable, you may freely edit it
+to contain any valid shell commands.  It will be run just after the
+platform-specific hints files.
+
+Note:  Since the directory hierarchy for 5.6.0 contains a number of
+new vendor* and site* entries, your Policy.sh file will probably not
+set them to your desired values.  I encourage you to run Configure
+interactively to be sure it puts things where you want them.
+
 =head2 Configure-time Options
 
 There are several different ways to Configure and build perl for your
@@ -541,9 +609,9 @@ some of the main things you can change.
 
 =head2 Threads
 
-On some platforms, perl5.005 can be compiled with experimental support
-for threads.  To enable this, read the file README.threads, and then
-try:
+On some platforms, perl5.005 and later can be compiled with
+experimental support for threads.  To enable this, read the file
+README.threads, and then try:
 
 	sh Configure -Dusethreads
 
@@ -552,6 +620,20 @@ line so that the hint files can make appropriate adjustments.
 
 The default is to compile without thread support.
 
+As of v5.5.64, perl has two different internal threads implementations.
+The 5.005 version (5005threads) and an interpreter-based implementation
+(ithreads) with one interpreter per thread.  By default, Configure selects
+ithreads if -Dusethreads is specified.  However, you can select the old
+5005threads behavior instead by either
+
+	sh Configure -Dusethreads -Duse5005threads
+
+or by
+	sh Configure -Dusethreads -Uuseithreads
+
+Eventually (by perl v5.6.0) this internal confusion ought to disappear,
+and these options may disappear as well.
+
 =head2 Selecting File IO mechanisms
 
 Previous versions of perl used the standard IO mechanisms as defined in
@@ -593,30 +675,12 @@ If you have already selected -Duseperlio, and if Configure detects
 that you have sfio, then sfio will be the default suggested by
 Configure.
 
-Note:  On some systems, sfio's iffe configuration script fails
-to detect that you have an atexit function (or equivalent).
-Apparently, this is a problem at least for some versions of Linux
-and SunOS 4.
-
-You can test if you have this problem by trying the following shell
-script.  (You may have to add some extra cflags and libraries.  A
-portable version of this may eventually make its way into Configure.)
-
-    #!/bin/sh
-    cat > try.c <<'EOCP'
-    #include 
-    main() { printf("42\n"); }
-    EOCP
-    cc -o try try.c -lsfio
-    val=`./try`
-    if test X$val = X42; then
-	echo "Your sfio looks ok"
-    else
-	echo "Your sfio has the exit problem."
-    fi
-
-If you have this problem, the fix is to go back to your sfio sources
-and correct iffe's guess about atexit.
+Note:  On some systems, sfio's iffe configuration script fails to
+detect that you have an atexit function (or equivalent).  Apparently,
+this is a problem at least for some versions of Linux and SunOS 4.
+Configure should detect this problem and warn you about problems with
+_exit vs. exit.  If you have this problem, the fix is to go back to
+your sfio sources and correct iffe's guess about atexit.
 
 There also might be a more recent release of Sfio that fixes your
 problem.
@@ -639,6 +703,13 @@ detect sfio, then this will be the default suggested by Configure.
 
 =back
 
+=head2 Dynamic Loading
+
+By default, Configure will compile perl to use dynamic loading if
+your system supports it.  If you want to force perl to be compiled
+statically, you can either choose this when Configure prompts you or
+you can use the Configure command line option -Uusedl.
+
 =head2 Building a shared libperl.so Perl library
 
 Currently, for most systems, the main perl executable is built by
@@ -679,9 +750,10 @@ You can elect to build a shared libperl by
 
 To build a shared libperl, the environment variable controlling shared
 library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
-NeXTSTEP/OPENSTEP, LIBRARY_PATH for BeOS) must be set up to include
+NeXTSTEP/OPENSTEP/Darwin, LIBRARY_PATH for BeOS, SHLIB_PATH for
+HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
 the Perl build directory because that's where the shared libperl will
-be created.   Configure arranges Makefile to have the correct shared
+be created.  Configure arranges makefile to have the correct shared
 library search settings.
 
 However, there are some special cases where manually setting the
@@ -703,7 +775,7 @@ for Bourne-style shells, or
    setenv LD_LIBRARY_PATH `pwd`
 
 for Csh-style shells.  (This procedure may also be needed if for some
-unexpected reason Configure fails to set up Makefile correctly.)
+unexpected reason Configure fails to set up makefile correctly.)
 
 You can often recognize failures to build/use a shared libperl from error
 messages complaining about a missing libperl.so (or libperl.sl in HP-UX),
@@ -728,30 +800,25 @@ to point to the perl build directory.
 The only reliable answer is that you should specify a different
 directory for the architecture-dependent library for your -DDEBUGGING
 version of perl.  You can do this by changing all the *archlib*
-variables in config.sh, namely archlib, archlib_exp, and
-installarchlib, to point to your new architecture-dependent library.
+variables in config.sh to point to your new architecture-dependent library.
 
 =head2 Malloc Issues
 
-Perl relies heavily on malloc(3) to grow data structures as needed, so
-perl's performance can be noticeably affected by the performance of
-the malloc function on your system.
-
-The perl source is shipped with a version of malloc that is very fast but
-somewhat wasteful of space.  On the other hand, your system's malloc
-function may be a bit slower but also a bit more frugal.  However,
-as of 5.004_68, perl's malloc has been optimized for the typical
-requests from perl, so there's a chance that it may be both faster and
-use less memory.
-
-For many uses, speed is probably the most important consideration, so
-the default behavior (for most systems) is to use the malloc supplied
-with perl.  However, if you will be running very large applications
-(e.g. Tk or PDL) or if your system already has an excellent malloc, or
-if you are experiencing difficulties with extensions that use
-third-party libraries that call malloc, then you might wish to use
-your system's malloc.  (Or, you might wish to explore the malloc flags
-discussed below.)
+Perl relies heavily on malloc(3) to grow data structures as needed,
+so perl's performance can be noticeably affected by the performance of
+the malloc function on your system.  The perl source is shipped with a
+version of malloc that has been optimized for the typical requests from
+perl, so there's a chance that it may be both faster and use less memory
+than your system malloc.
+
+However, if your system already has an excellent malloc, or if you are
+experiencing difficulties with extensions that use third-party libraries
+that call malloc, then you should probably use your system's malloc.
+(Or, you might wish to explore the malloc flags discussed below.)
+
+=over 4
+
+=item Using the system malloc
 
 To build without perl's malloc, you can use the Configure command
 
@@ -759,25 +826,32 @@ To build without perl's malloc, you can use the Configure command
 
 or you can answer 'n' at the appropriate interactive Configure prompt.
 
-=head2 Malloc Performance Flags
+=item -DPERL_POLLUTE_MALLOC
 
-If you are using Perl's malloc, you may add one or more of the following
-items to your ccflags config.sh variable to change its behavior.  You can
-find out more about these and other flags by reading the commentary near
-the top of the malloc.c source.  The defaults should be fine for
-nearly everyone.
+NOTE: This flag is enabled automatically on some platforms if you
+asked for binary compatibility with version 5.005, or if you just
+run Configure to accept all the defaults on those platforms.  You
+can refuse the automatic binary compatibility flags wholesale by
+running:
 
-=over 4
+	sh Configure -Ubincompat5005
 
-=item -DNO_FANCY_MALLOC
+or by answering 'n' at the appropriate prompt.
 
-Undefined by default.  Defining it returns malloc to the version used
-in Perl 5.004.
+Perl's malloc family of functions are called Perl_malloc(),
+Perl_realloc(), Perl_calloc() and Perl_mfree().  When this flag is
+not enabled, the names do not clash with the system versions of
+these functions.
 
-=item -DPLAIN_MALLOC
+If enabled, Perl's malloc family of functions will have the same
+names as the system versions.  This may be sometimes required when you
+have libraries that like to free() data that may have been allocated
+by Perl_malloc() and vice versa.
 
-Undefined by default.  Defining it in addition to NO_FANCY_MALLOC returns
-malloc to the version used in Perl version 5.000.
+Note that enabling this option may sometimes lead to duplicate symbols
+from the linker for malloc et al.  In such cases, the system probably
+does not allow its malloc functions to be fully replaced with custom
+versions.
 
 =back
 
@@ -792,14 +866,14 @@ you probably want to do
 This will do two independent things:  First, it will force compilation
 to use cc -g so that you can use your system's debugger on the
 executable.  (Note:  Your system may actually require something like
-cc -g2.  Check your man pages for cc(1) and also any hint file for your
-system.)  Second, it will add -DDEBUGGING to your ccflags variable in
-config.sh so that you can use B to access perl's internal
-state.  (Note: Configure will only add -DDEBUGGING by
-default if you are not reusing your old config.sh.  If you want to
-reuse your old config.sh, then you can just edit it and change the
-optimize and ccflags variables by hand and then propagate your changes
-as shown in L<"Propagating your changes to config.sh"> below.)
+cc -g2.  Check your man pages for cc(1) and also any hint file for
+your system.)  Second, it will add -DDEBUGGING to your ccflags
+variable in config.sh so that you can use B to access perl's
+internal state.  (Note: Configure will only add -DDEBUGGING by default
+if you are not reusing your old config.sh.  If you want to reuse your
+old config.sh, then you can just edit it and change the optimize and
+ccflags variables by hand and then propagate your changes as shown in
+L<"Propagating your changes to config.sh"> below.)
 
 You can actually specify -g and -DDEBUGGING independently, but usually
 it's convenient to have both.
@@ -807,19 +881,159 @@ it's convenient to have both.
 If you are using a shared libperl, see the warnings about multiple
 versions of perl under L.
 
-=head2 Other Compiler Flags
+=head2 Extensions
 
-For most users, all of the Configure defaults are fine.  However,
-you can change a number of factors in the way perl is built
-by adding appropriate -D directives to your ccflags variable in
-config.sh.
+By default, Configure will offer to build every extension which appears
+to be supported.  For example, Configure will offer to build GDBM_File
+only if it is able to find the gdbm library.  (See examples below.)
+B, DynaLoader, Fcntl, IO, and attrs are always built by default.
+Configure does not contain code to test for POSIX compliance, so POSIX
+is always built by default as well.  If you wish to skip POSIX, you can
+set the Configure variable useposix=false either in a hint file or from
+the Configure command line.  Similarly, the Opcode extension is always
+built by default, but you can skip it by setting the Configure variable
+useopcode=false either in a hint file for from the command line.
+
+If you unpack any additional extensions in the ext/ directory before
+running Configure, then Configure will offer to build those additional
+extensions as well.  Most users probably shouldn't have to do this --
+it is usually easier to build additional extensions later after perl
+has been installed.  However, if you wish to have those additional
+extensions statically linked into the perl binary, then this offers a
+convenient way to do that in one step.  (It is not necessary, however;
+you can build and install extensions just fine even if you don't have
+dynamic loading.  See lib/ExtUtils/MakeMaker.pm for more details.)
+
+You can learn more about each of the supplied extensions by consulting the
+documentation in the individual .pm modules, located under the
+ext/ subdirectory.
+
+Even if you do not have dynamic loading, you must still build the
+DynaLoader extension; you should just build the stub dl_none.xs
+version.  (Configure will suggest this as the default.)
+
+In summary, here are the Configure command-line variables you can set
+to turn off each extension:
+
+    B			(Always included by default)
+    DB_File		i_db
+    DynaLoader		(Must always be included as a static extension)
+    Fcntl		(Always included by default)
+    GDBM_File		i_gdbm
+    IO			(Always included by default)
+    NDBM_File		i_ndbm
+    ODBM_File		i_dbm
+    POSIX		useposix
+    SDBM_File		(Always included by default)
+    Opcode		useopcode
+    Socket		d_socket
+    Threads		use5005threads
+    attrs		(Always included by default)
+
+Thus to skip the NDBM_File extension, you can use
+
+	sh Configure -Ui_ndbm
+
+Again, this is taken care of automatically if you don't have the ndbm
+library.
+
+Of course, you may always run Configure interactively and select only
+the extensions you want.
+
+Note:  The DB_File module will only work with version 1.x of Berkeley
+DB or newer releases of version 2.  Configure will automatically detect
+this for you and refuse to try to build DB_File with earlier
+releases of version 2.
+
+If you re-use your old config.sh but change your system (e.g. by
+adding libgdbm) Configure will still offer your old choices of extensions
+for the default answer, but it will also point out the discrepancy to
+you.
+
+Finally, if you have dynamic loading (most modern Unix systems do)
+remember that these extensions do not increase the size of your perl
+executable, nor do they impact start-up time, so you probably might as
+well build all the ones that will work on your system.
+
+=head2 Including locally-installed libraries
 
-You should also run Configure interactively to verify that a hint file
-doesn't inadvertently override your ccflags setting.  (Hints files
-shouldn't do that, but some might.)
+Perl5 comes with interfaces to number of database extensions, including
+dbm, ndbm, gdbm, and Berkeley db.  For each extension, if
+Configure can find the appropriate header files and libraries, it will
+automatically include that extension.  The gdbm and db libraries
+are not included with perl.  See the library documentation for
+how to obtain the libraries.
+
+If your database header (.h) files are not in a directory normally
+searched by your C compiler, then you will need to include the
+appropriate -I/your/directory option when prompted by Configure.  If
+your database library (.a) files are not in a directory normally
+searched by your C compiler and linker, then you will need to include
+the appropriate -L/your/directory option when prompted by Configure.
+See the examples below.
+
+=head2 Examples
+
+=over 4
+
+=item gdbm in /usr/local
+
+Suppose you have gdbm and want Configure to find it and build the
+GDBM_File extension.  This example assumes you have gdbm.h
+installed in /usr/local/include/gdbm.h and libgdbm.a installed in
+/usr/local/lib/libgdbm.a.  Configure should figure all the
+necessary steps out automatically.
+
+Specifically, when Configure prompts you for flags for
+your C compiler, you should include  -I/usr/local/include.
+
+When Configure prompts you for linker flags, you should include
+-L/usr/local/lib.
+
+If you are using dynamic loading, then when Configure prompts you for
+linker flags for dynamic loading, you should again include
+-L/usr/local/lib.
+
+Again, this should all happen automatically.  This should also work if
+you have gdbm installed in any of (/usr/local, /opt/local, /usr/gnu,
+/opt/gnu, /usr/GNU, or /opt/GNU).
+
+=item gdbm in /usr/you
+
+Suppose you have gdbm installed in some place other than /usr/local/,
+but you still want Configure to find it.  To be specific, assume you
+have /usr/you/include/gdbm.h and /usr/you/lib/libgdbm.a.  You
+still have to add -I/usr/you/include to cc flags, but you have to take
+an extra step to help Configure find libgdbm.a.  Specifically, when
+Configure prompts you for library directories, you have to add
+/usr/you/lib to the list.
+
+It is possible to specify this from the command line too (all on one
+line):
+
+	sh Configure -de \
+		-Dlocincpth="/usr/you/include" \
+		-Dloclibpth="/usr/you/lib"
+
+locincpth is a space-separated list of include directories to search.
+Configure will automatically add the appropriate -I directives.
+
+loclibpth is a space-separated list of library directories to search.
+Configure will automatically add the appropriate -L directives.  If
+you have some libraries under /usr/local/ and others under
+/usr/you, then you have to include both, namely
+
+	sh Configure -de \
+		-Dlocincpth="/usr/you/include /usr/local/include" \
+		-Dloclibpth="/usr/you/lib /usr/local/lib"
+
+=back
 
 =head2 What if it doesn't work?
 
+If you run into problems, try some of the following ideas.
+If none of them help, then see L<"Reporting Problems"> below.
+
 =over 4
 
 =item Running Configure Interactively
@@ -910,8 +1124,7 @@ You will then have to rebuild by running
 You can also supply a shell script config.over to over-ride Configure's
 guesses.  It will get loaded up at the very end, just before config.sh
 is created.  You have to be careful with this, however, as Configure
-does no checking that your changes make sense.  See the section on
-L<"Changing the installation directory"> for an example.
+does no checking that your changes make sense.
 
 =item config.h
 
@@ -943,8 +1156,9 @@ $ccflags or $optimize, and then re-run
 
 =item No sh
 
-If you don't have sh, you'll have to copy the sample file Porting/config_H
-to config.h and edit the config.h to reflect your system's peculiarities.
+If you don't have sh, you'll have to copy the sample file
+Porting/config.sh to config.sh and edit your config.sh to reflect your
+system's peculiarities.  See Porting/pumpkin.pod for more information.
 You'll probably also have to extensively modify the extension building
 mechanism.
 
@@ -957,7 +1171,7 @@ be fixed to avoid polluting the namespace of the environment.
 
 =item Digital UNIX/Tru64 UNIX and BIN_SH
 
-In Digital UNIX/Tru64 UNIX Configure might abort with
+In Digital UNIX/Tru64 UNIX, Configure might abort with
 
 Build a threading Perl? [n]
 Configure[2437]: Syntax error at line 1 : `config.sh' is not expected.
@@ -989,12 +1203,17 @@ libgdbm under HP-UX 11.
 Specific information for the OS/2, Plan9, VMS and Win32 ports is in the
 corresponding README files and subdirectories.  Additional information,
 including a glossary of all those config.sh variables, is in the Porting
-subdirectory.
+subdirectory.  Especially Porting/Glossary should come in handy.
 
 Ports for other systems may also be available.  You should check out
 http://www.perl.com/CPAN/ports for current information on ports to
 various other operating systems.
 
+If you plan to port Perl to a new architecture study carefully the
+section titled "Philosophical Issues in Patching and Porting Perl"
+in the file Porting/pumpkin.pod and the file Porting/patching.pod.
+Study also how other non-UNIX ports have solved problems.
+
 =back
 
 =head1 make depend
@@ -1013,12 +1232,12 @@ explicitly above.
 
 This will attempt to make perl in the current directory.
 
+=head2 What if it doesn't work?
+
 If you can't compile successfully, try some of the following ideas.
 If none of them help, and careful reading of the error message and
-the relevant manual pages on your system doesn't help, you can
-send a message to either the comp.lang.perl.misc newsgroup or to
-perlbug@perl.com with an accurate description of your problem.
-See L<"Reporting Problems"> below.
+the relevant manual pages on your system doesn't help,
+then see L<"Reporting Problems"> below.
 
 =over 4
 
@@ -1054,11 +1273,6 @@ The latter is especially useful if you see something like this
 
 at Perl startup.
 
-=item malloc duplicates
-
-If you get duplicates upon linking for malloc et al, add -DEMBEDMYMALLOC
-to your ccflags variable in config.sh.
-
 =item varargs
 
 If you get varargs problems with gcc, be sure that gcc is installed
@@ -1184,6 +1398,14 @@ updated resolver library provided with BIND 8.1 or rename
 /usr/local/bin/arpa/inet.h during the Perl build and test process to
 avoid the problem.
 
+=item #error "No DATAMODEL_NATIVE specified"
+
+This is a common error when trying to build perl on Solaris 2.6 with a
+gcc installation from Solaris 2.5 or 2.5.1.  The Solaris header files
+changed, so you need to update your gcc installation.  You can either
+rerun the fixincludes script from gcc or take the opportunity to
+update your gcc installation.
+
 =item Optimizer
 
 If you can't compile successfully, try turning off your compiler's
@@ -1200,10 +1422,13 @@ with B.
 
 =item CRIPPLED_CC
 
-If you still can't compile successfully, try adding a -DCRIPPLED_CC
-flag.  (Just because you get no errors doesn't mean it compiled right!)
-This simplifies some complicated expressions for compilers that get
-indigestion easily.
+If you still can't compile successfully, try:
+
+	sh Configure -Accflags=-DCRIPPLED_CC
+
+This flag simplifies some complicated expressions for compilers that get
+indigestion easily.  (Just because you get no errors doesn't mean it
+compiled right!)
 
 =item Missing functions
 
@@ -1316,15 +1541,14 @@ Patch Bundle" has been reported to break the io/fs test #18 which
 tests whether utime() can change timestamps.  The Y2K patch seems to
 break utime() so that over NFS the timestamps do not get changed
 (on local filesystems utime() still works).
- 
+
 =back
 
 =head1 make test
 
-This will run the regression tests on the perl you just made (you
-should run plain 'make' before 'make test' otherwise you won't have a
-complete build).  If 'make test' doesn't say "All tests successful"
-then something went wrong.  See the file t/README in the t subdirectory.
+This will run the regression tests on the perl you just made.  If
+'make test' doesn't say "All tests successful" then something went
+wrong.  See the file t/README in the t subdirectory.
 
 Note that you can't run the tests in background if this disables
 opening of /dev/tty. You can use 'make test-notty' in that case but
@@ -1380,10 +1604,8 @@ external program.
 
 On some systems, particularly those with smaller amounts of RAM, some
 of the tests in t/op/pat.t may fail with an "Out of memory" message.
-Specifically, in perl5.004_64, tests 74 and 78 have been reported to
-fail on some systems.  On my SparcStation IPC with 8 MB of RAM, test 78
-will fail if the system is running any other significant tasks at the
-same time.
+For example, on my SparcStation IPC with 12 MB of RAM, in perl5.5.670,
+test 85 will fail if run under either t/TEST or t/harness.
 
 Try stopping other jobs on the system and then running the test by itself:
 
@@ -1413,6 +1635,15 @@ indicate the alternate name on the "make install" line, such as:
 
     make install PERLNAME=myperl
 
+You can separately change the base used for versioned names (like
+"perl5.005") by setting PERLNAME_VERBASE, like
+
+    make install PERLNAME=perl5 PERLNAME_VERBASE=perl
+
+This can be useful if you have to install perl as "perl5" (due to an
+ancient version in /usr/bin supplied by your vendor, eg).  Without this
+the versioned binary would be called "perl55.005".
+
 =head2 Installed files
 
 If you want to see exactly what will happen without installing
@@ -1444,34 +1675,25 @@ make install will install the following:
 	pod2man, and
 	pod2text
 	splain		Describe Perl warnings and errors
+	dprofpp		Perl code profile post-processor
 
 	library files	in $privlib and $archlib specified to
 			Configure, usually under /usr/local/lib/perl5/.
-	man pages	in the location specified to Configure, usually
-			something like /usr/local/man/man1.
-	module		in the location specified to Configure, usually
-	man pages	under /usr/local/lib/perl5/man/man3.
+	man pages	in $man1dir, usually /usr/local/man/man1.
+	module man
+	pages		in $man3dir, usually /usr/local/man/man3.
 	pod/*.pod	in $privlib/pod/.
 
-Installperl will also create the library directories $siteperl and
-$sitearch listed in config.sh.  Usually, these are something like
-
-	/usr/local/lib/perl5/site_perl/5.005
-	/usr/local/lib/perl5/site_perl/5.005/archname
-
-where archname is something like sun4-sunos.  These directories
-will be used for installing extensions.
+Installperl will also create the directories listed above
+in L<"Installation Directories">.
 
 Perl's *.h header files and the libperl.a library are also installed
-under $archlib so that any user may later build new extensions, run the
+under $archlib so that any user may later build new modules, run the
 optional Perl compiler, or embed the perl interpreter into another
 program even if the Perl source is no longer available.
 
 =head1 Coexistence with earlier versions of perl5
 
-WARNING:  The upgrade from 5.004_0x to 5.005 is going to be a bit
-tricky.  See L<"Upgrading from 5.004 to 5.005">  below.
-
 In general, you can usually safely upgrade from one version of Perl (e.g.
 5.004_04) to another similar version (e.g. 5.004_05) without re-compiling
 all of your add-on extensions.  You can also safely leave the old version
@@ -1485,48 +1707,76 @@ Most extensions will probably not need to be recompiled to use
 with a newer version of perl.   Here is how it is supposed to work.
 (These examples assume you accept all the Configure defaults.)
 
-The directories searched by version 5.005 will be
-
-    Configure variable		Default value
-	$archlib 	/usr/local/lib/perl5/5.005/archname
-	$privlib	/usr/local/lib/perl5/5.005
-	$sitearch	/usr/local/lib/perl5/site_perl/5.005/archname
-	$sitelib	/usr/local/lib/perl5/site_perl/5.005
-
-while the directories searched by version 5.005_01 will be
-
-	$archlib 	/usr/local/lib/perl5/5.00501/archname
-	$privlib	/usr/local/lib/perl5/5.00501
-	$sitearch	/usr/local/lib/perl5/site_perl/5.005/archname
-	$sitelib	/usr/local/lib/perl5/site_perl/5.005
-
-When you install an add-on extension, it gets installed into $sitelib (or
-$sitearch if it is architecture-specific).  This directory deliberately
-does NOT include the sub-version number (01) so that both 5.005 and
-5.005_01 can use the extension.  Only when a perl version changes to
-break backwards compatibility will the default suggestions for the
-$sitearch and $sitelib version numbers be increased.
-
-However, if you do run into problems, and you want to continue to use the
-old version of perl along with your extension, move those extension files
-to the appropriate version directory, such as $privlib (or $archlib).
-(The extension's .packlist file lists the files installed with that
-extension.  For the Tk extension, for example, the list of files installed
-is in $sitearch/auto/Tk/.packlist.)  Then use your newer version of perl
-to rebuild and re-install the extension into $sitelib.  This way, Perl
-5.005 will find your files in the 5.005 directory, and newer versions
-of perl will find your newer extension in the $sitelib directory.
-(This is also why perl searches the site-specific libraries last.)
-
-Alternatively, if you are willing to reinstall all your extensions
-every time you upgrade perl, then you can include the subversion
-number in $sitearch and $sitelib when you run Configure.
+Suppose you already have version 5.005_03 installed.  The directories
+searched by 5.005_03 are
+
+	/usr/local/lib/perl5/5.00503/$archname
+	/usr/local/lib/perl5/5.00503
+	/usr/local/lib/perl5/site_perl/5.005/$archname
+	/usr/local/lib/perl5/site_perl/5.005
+
+Beginning with 5.6.0 the version number in the site libraries are
+fully versioned.  Now, suppose you install version 5.6.0.  The directories
+searched by version 5.6.0 will be
+
+	/usr/local/lib/perl5/5.6.0/$archname
+	/usr/local/lib/perl5/5.6.0
+	/usr/local/lib/perl5/site_perl/5.6.0/$archname
+	/usr/local/lib/perl5/site_perl/5.6.0
+
+	/usr/local/lib/perl5/site_perl/5.005/$archname
+	/usr/local/lib/perl5/site_perl/5.005
+	/usr/local/lib/perl5/site_perl/
+
+Notice the last three entries -- Perl understands the default structure
+of the $sitelib directories and will look back in older, compatible
+directories.  This way, modules installed under 5.005_03 will continue
+to be usable by 5.005_03 but will also accessible to 5.6.0.  Further,
+suppose that you upgrade a module to one which requires features
+present only in 5.6.0.  That new module will get installed into
+/usr/local/lib/perl5/site_perl/5.6.0 and will be available to 5.6.0,
+but will not interfere with the 5.005_03 version.
+
+The last entry, /usr/local/lib/perl5/site_perl/, is there so that
+5.6.0 will look for 5.004-era pure perl modules.
+
+Lastly, suppose you now install version 5.6.1, which we'll assume is
+binary compatible with 5.6.0 and 5.005.  The directories searched
+by 5.6.1 (if you don't change the Configure defaults) will be:
+
+	/usr/local/lib/perl5/5.6.1/$archname
+	/usr/local/lib/perl5/5.6.1
+	/usr/local/lib/perl5/site_perl/5.6.1/$archname
+	/usr/local/lib/perl5/site_perl/5.6.1
+
+	/usr/local/lib/perl5/site_perl/5.6.0/$archname
+	/usr/local/lib/perl5/site_perl/5.6.0
+
+	/usr/local/lib/perl5/site_perl/5.005/$archname
+	/usr/local/lib/perl5/site_perl/5.005
+	/usr/local/lib/perl5/site_perl/
+
+Assuming the users in your site are still actively using perl 5.6.0 and
+5.005 after you installed 5.6.1, you can continue to install add-on
+extensions using any of perl 5.6.1, 5.6.0, or 5.005.  The installations
+of these different versions remain distinct, but remember that the newer
+versions of perl are automatically set up to search the site libraries of
+the older ones.  This means that installing a new extension with 5.005
+will make it visible to all three versions.  Later, if you install the
+same extension using, say, perl 5.6.1, it will override the 5.005-installed
+version, but only for perl 5.6.1.
+
+This way, you can choose to share compatible extensions, but also upgrade
+to a newer version of an extension that may be incompatible with earlier
+versions, without breaking the earlier versions' installations.
 
 =head2 Maintaining completely separate versions
 
 Many users prefer to keep all versions of perl in completely
-separate directories.  One convenient way to do this is by
-using a separate prefix for each version, such as
+separate directories.  This guarantees that an update to one version
+won't interfere with another version.  (The defaults guarantee this for
+libraries after 5.6.0, but not for executables. TODO?)  One convenient
+way to do this is by using a separate prefix for each version, such as
 
 	sh Configure -Dprefix=/opt/perl5.004
 
@@ -1543,14 +1793,17 @@ seriously consider using a separate directory, since development
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.004 to 5.005
+=head2 Upgrading from 5.005 to 5.6.0
+
+Most extensions built and installed with versions of perl
+prior to 5.005_50 will not need to be recompiled to be used with
+5.6.0.  If you find you do need to rebuild an extension with 5.6.0,
+you may safely do so without disturbing the 5.005 installation.
+(See L<"Coexistence with earlier versions of perl5"> above.)
 
-Extensions built and installed with versions of perl prior to 5.004_50
-will need to be recompiled to be used with 5.004_50 and later.  You will,
-however, be able to continue using 5.004 even after you install 5.005.
-The 5.004 binary will still be able to find the extensions built under
-5.004; the 5.005 binary will look in the new $sitearch and $sitelib
-directories, and will not find them.
+See your installed copy of the perllocal.pod file for a (possibly
+incomplete) list of locally installed modules.  Note that you want
+perllocal.pod not perllocale.pod for installed module information.
 
 =head1 Coexistence with perl4
 
@@ -1563,23 +1816,23 @@ In your /usr/local/bin directory, you should have a binary named
 perl4.036.  That will not be touched by the perl5 installation
 process.  Most perl4 scripts should run just fine under perl5.
 However, if you have any scripts that require perl4, you can replace
-the #! line at the top of them by #!/usr/local/bin/perl4.036
-(or whatever the appropriate pathname is).  See pod/perltrap.pod
-for possible problems running perl4 scripts under perl5.
+the #! line at the top of them by #!/usr/local/bin/perl4.036 (or
+whatever the appropriate pathname is).  See pod/perltrap.pod for
+possible problems running perl4 scripts under perl5.
 
 =head1 cd /usr/include; h2ph *.h sys/*.h
 
-Some perl scripts need to be able to obtain information from
-the system header files.  This command will convert the most commonly used
+Some perl scripts need to be able to obtain information from the
+system header files.  This command will convert the most commonly used
 header files in /usr/include into files that can be easily interpreted
-by perl.  These files will be placed in the architecture-dependent library
-($archlib) directory you specified to Configure.
+by perl.  These files will be placed in the architecture-dependent
+library ($archlib) directory you specified to Configure.
 
-Note:  Due to differences in the C and perl languages, the
-conversion of the header files is not perfect.  You will probably have
-to hand-edit some of the converted files to get them to parse
-correctly.  For example, h2ph breaks spectacularly on type casting and
-certain structures.
+Note:  Due to differences in the C and perl languages, the conversion
+of the header files is not perfect.  You will probably have to
+hand-edit some of the converted files to get them to parse correctly.
+For example, h2ph breaks spectacularly on type casting and certain
+structures.
 
 =head1 installhtml --help
 
@@ -1587,6 +1840,9 @@ Some sites may wish to make perl documentation available in HTML
 format.  The installhtml utility can be used to convert pod
 documentation into linked HTML files and install them.
 
+Currently, the supplied ./installhtml script does not make use of the
+html Configure variables.  This should be fixed in a future release.
+
 The following command-line is an example of one used to convert
 perl documentation:
 
@@ -1631,8 +1887,16 @@ comes with the perl distribution, but you need to have perl compiled
 before you can use it.  (If you have not installed it yet, you need to
 run C<./perl -Ilib utils/perlbug> instead of a plain C.)
 
-You might also find helpful information in the Porting directory of the
-perl distribution.
+Please try to make your message brief but clear.  Trim out unnecessary
+information.  Do not include large files (such as config.sh or a complete
+Configure or make log) unless absolutely necessary.  Do not include a
+complete transcript of your build session.  Just include the failing
+commands, the relevant error messages, and whatever preceding commands
+are necessary to give the appropriate context.  Plain text should
+usually be sufficient--fancy attachments or encodings may actually
+reduce the number of people who read your message.  Your message
+will get relayed to over 400 subscribers around the world so please
+try to keep it brief but clear.
 
 =head1 DOCUMENTATION
 
@@ -1669,12 +1933,11 @@ L<"Reporting Problems"> above.
 =head1 REDISTRIBUTION
 
 This document is part of the Perl package and may be distributed under
-the same terms as perl itself.
-
+the same terms as perl itself, with the following additional request:
 If you are distributing a modified version of perl (perhaps as part of
-a larger package) please do modify these installation instructions and
-the contact information to match your distribution.
+a larger package) please B modify these installation instructions
+and the contact information to match your distribution.
 
 =head1 LAST MODIFIED
 
-$Id: INSTALL,v 1.42 1998/07/15 18:04:44 doughera Released $
+$Id: INSTALL,v 1.58 1999/07/23 14:43:00 doughera Exp $
diff --git a/gnu/usr.bin/perl/INTERN.h b/gnu/usr.bin/perl/INTERN.h
index 118e47ca185..286cc46fd8c 100644
--- a/gnu/usr.bin/perl/INTERN.h
+++ b/gnu/usr.bin/perl/INTERN.h
@@ -1,6 +1,6 @@
 /*    INTERN.h
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -27,11 +27,17 @@
 #  define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #else
-#  ifdef __cplusplus
-#   define EXT
-#   define dEXT
-#   define EXTCONST extern const
-#   define dEXTCONST const
+#if defined(WIN32) && defined(__MINGW32__)
+#  define EXT		__declspec(dllexport)
+#  define dEXT
+#  define EXTCONST	__declspec(dllexport) const
+#  define dEXTCONST	const
+#else
+#ifdef __cplusplus
+#  define EXT
+#  define dEXT
+#  define EXTCONST extern const
+#  define dEXTCONST const
 #else
 #  define EXT
 #  define dEXT
@@ -39,6 +45,7 @@
 #  define dEXTCONST const
 #endif
 #endif
+#endif
 
 #undef INIT
 #define INIT(x) = x
diff --git a/gnu/usr.bin/perl/MANIFEST b/gnu/usr.bin/perl/MANIFEST
index 3314f46cce7..0a4ed093a10 100644
--- a/gnu/usr.bin/perl/MANIFEST
+++ b/gnu/usr.bin/perl/MANIFEST
@@ -1,3 +1,4 @@
+AUTHORS			Contact info for contributors
 Artistic		The "Artistic License"
 Changes			Differences from previous version
 Changes5.000		Differences between 4.x and 5.000
@@ -5,14 +6,15 @@ Changes5.001		Differences between 5.000 and 5.001
 Changes5.002		Differences between 5.001 and 5.002
 Changes5.003		Differences between 5.002 and 5.003
 Changes5.004		Differences between 5.003 and 5.004
+Changes5.005		Differences between 5.004 and 5.005
 Configure		Portability tool
 Copying			The GNU General Public License
 EXTERN.h		Included before foreign .h files
 INSTALL			Detailed installation instructions
 INTERN.h		Included before domestic .h files
+MAINTAIN		Who maintains which files
 MANIFEST		This list of files
 Makefile.SH		A script that generates Makefile
-objXSUB.h		Scoping macros for Perl Object in extensions
 Policy_sh.SH		Hold site-wide preferences between Configure runs.
 Porting/Contract	Social contract for contributed modules in Perl core
 Porting/Glossary	Glossary of config.sh variables
@@ -24,39 +26,41 @@ Porting/fixvars		Find undeclared variables with C compiler and fix em
 Porting/genlog		Generate formatted changelogs by querying p4d
 Porting/makerel		Release making utility
 Porting/p4d2p		Generate standard patches from p4 diffs
+Porting/p4desc		Smarter 'p4 describe', outputs diffs for new files
 Porting/patching.pod	How to report changes made to Perl
 Porting/patchls		Flexible patch file listing utility
 Porting/pumpkin.pod	Guidelines and hints for Perl maintainers
 README			The Instructions
+README.Y2K		Notes about Year 2000 concerns
 README.amiga		Notes about AmigaOS port
 README.apollo		Notes about Apollo DomainOS port
 README.beos		Notes about BeOS port
-README.cygwin32		Notes about Cygwin32 port
+README.cygwin		Notes about Cygwin port
 README.dos		Notes about dos/djgpp port
+README.epoc		Notes about EPOC port
 README.hpux		Notes about HP-UX port
 README.hurd		Notes about GNU/Hurd port
+README.machten		Notes about Power MachTen port
 README.mint		Notes about Atari MiNT port
 README.mpeix		Notes about MPE/iX port
 README.os2		Notes about OS/2 port
 README.os390		Notes about OS/390 (nee MVS) port
 README.plan9		Notes about Plan9 port
+README.posix-bc		Notes about BS2000 POSIX port
 README.qnx		Notes about QNX port
 README.threads		Notes about multithreading
-README.vms		Notes about VMS port
+README.vmesa		Notes about VM/ESA port
+README.vms		Notes about installing the VMS port
 README.vos		Notes about Stratus VOS port
 README.win32		Notes about Win32 port
 Todo			The Wishlist
-Todo-5.005		What needs doing before 5.005 release
-XSlock.h		Include file for extensions built with PERL_OBJECT defined
+Todo-5.6		What needs doing before/during the 5.6.x release cycle
 XSUB.h			Include file for extension subroutines
 apollo/netinet/in.h	Apollo DomainOS port: C header file frontend
 av.c			Array value code
 av.h			Array value header
 beos/nm.c		BeOS port
-bytecode.h		Bytecode header for compiler
-bytecode.pl		Produces byterun.h, byterun.c and ext/B/Asmdata.pm
-byterun.c		Runtime support for compiler-generated bytecode
-byterun.h		Header for byterun.c
+bytecode.pl		Produces ext/ByteLoader/byterun.h, ext/ByteLoader/byterun.c and ext/B/Asmdata.pm
 cc_runtime.h		Macros need by runtime of compiler-generated code
 cflags.SH		A script that emits C compilation flags per file
 config_h.SH		Produces config.h
@@ -65,14 +69,13 @@ configure.com		Configure-equivalent for VMS
 configure.gnu		Crude emulation of GNU configure
 cop.h			Control operator header
 cv.h			Code value header
-cygwin32/cw32imp.h	Cygwin32 port
-cygwin32/gcc2		Cygwin32 port
-cygwin32/ld2		Cygwin32 port
-cygwin32/perlgcc	Cygwin32 port
-cygwin32/perlld		Cygwin32 port
+cygwin/cygwin.c		Additional code for Cygwin port
+cygwin/Makefile.SHs	Shared library generation for Cygwin port
+cygwin/ld2.in		ld wrapper template for Cygwin port
+cygwin/perlld.in	dll generator template for Cygwin port
 deb.c			Debugging routines
-djgpp/config.over	DOS/DJGPP port
-djgpp/configure.bat	DOS/DJGPP port
+djgpp/config.over       DOS/DJGPP port
+djgpp/configure.bat     DOS/DJGPP port
 djgpp/djgpp.c		DOS/DJGPP port
 djgpp/djgppsed.sh	DOS/DJGPP port
 djgpp/fixpmain		DOS/DJGPP port
@@ -90,7 +93,7 @@ eg/cgi/cookie.cgi		CGI example
 eg/cgi/crash.cgi		CGI example
 eg/cgi/customize.cgi		CGI example
 eg/cgi/diff_upload.cgi		CGI example
-eg/cgi/dna.small.gif.uu		Small image for CGI examples
+eg/cgi/dna_small_gif.uu		Small image for CGI examples
 eg/cgi/file_upload.cgi		CGI example
 eg/cgi/frameset.cgi		CGI example
 eg/cgi/index.html		Index page for CGI examples
@@ -103,7 +106,7 @@ eg/cgi/nph-multipart.cgi	CGI example
 eg/cgi/popup.cgi		CGI example
 eg/cgi/save_state.cgi		CGI example
 eg/cgi/tryit.cgi		CGI example
-eg/cgi/wilogo.gif.uu		Small image for CGI examples
+eg/cgi/wilogo_gif.uu		Small image for CGI examples
 eg/changes		A program to list recently changed files
 eg/client		A sample client
 eg/down			A program to do things to subdirectories
@@ -147,10 +150,18 @@ eg/van/vanish		A program to put files in a trashcan
 eg/who			A sample who program
 eg/wrapsuid		A setuid script wrapper generator
 emacs/cperl-mode.el	An alternate perl-mode
+emacs/e2ctags.pl	etags to ctags converter
 emacs/ptags		Creates smart TAGS file
 embed.h			Maps symbols to safer names
-embed.pl		Produces embed.h
+embed.pl		Produces {embed,embedvar,objXSUB,proto}.h, global.sym
 embedvar.h		C namespace management
+epoc/config.sh		EPOC port config.sh template
+epoc/createpkg.pl	EPOC port generate PKG file
+epoc/epoc.c		EPOC port
+epoc/epoc_stubs.c	EPOC port
+epoc/epocish.c		EPOC port
+epoc/epocish.h		EPOC port
+epoc/link.pl            EPOC port link a exe
 ext/B/B.pm		Compiler backend support functions and methods
 ext/B/B.xs		Compiler backend external subroutines
 ext/B/B/Asmdata.pm	Compiler backend data for assembler
@@ -165,6 +176,7 @@ ext/B/B/Disassembler.pm	Compiler Disassembler backend
 ext/B/B/Lint.pm		Compiler Lint backend
 ext/B/B/Showlex.pm	Compiler Showlex backend
 ext/B/B/Stackobj.pm	Compiler stack objects support functions
+ext/B/B/Stash.pm	Compiler module to identify stashes
 ext/B/B/Terse.pm	Compiler Terse backend
 ext/B/B/Xref.pm		Compiler Xref backend
 ext/B/B/assemble	Assemble compiler bytecode
@@ -177,7 +189,7 @@ ext/B/O.pm		Compiler front-end module (-MO=...)
 ext/B/README		Compiler backend README
 ext/B/TESTS		Compiler backend test data
 ext/B/Todo		Compiler backend Todo list
-ext/B/byteperl.c	Bytecode runner
+ext/B/defsubs_h.PL	Generator for constant subroutines
 ext/B/ramblings/cc.notes	Compiler ramblings: notes on CC backend
 ext/B/ramblings/curcop.runtime	Compiler ramblings: notes on curcop use
 ext/B/ramblings/flip-flop	Compiler ramblings: notes on flip-flop
@@ -185,54 +197,91 @@ 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/typemap		Compiler backend interface types
+ext/ByteLoader/ByteLoader.pm	Bytecode loader Perl module
+ext/ByteLoader/ByteLoader.xs	Bytecode loader external subroutines
+ext/ByteLoader/Makefile.PL	Bytecode loader makefile writer
+ext/ByteLoader/bytecode.h	Bytecode header for bytecode loader
+ext/ByteLoader/byterun.c	Runtime support for bytecode loader
+ext/ByteLoader/byterun.h	Header for byterun.c
+ext/ByteLoader/hints/sunos.pl	Hints for named architecture
 ext/DB_File/Changes		Berkeley DB extension change log
 ext/DB_File/DB_File.pm		Berkeley DB extension Perl module
 ext/DB_File/DB_File.xs		Berkeley DB extension external subroutines
 ext/DB_File/DB_File_BS		Berkeley DB extension mkbootstrap fodder
 ext/DB_File/Makefile.PL		Berkeley DB extension makefile writer
 ext/DB_File/dbinfo		Berkeley DB database version checker
-ext/DB_File/hints/dynixptx.pl	Hints for DB_File for named architecture
+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/typemap		Berkeley DB extension interface types
+ext/DB_File/version.c		Berkeley DB extension interface version check
 ext/Data/Dumper/Changes		Data pretty printer, changelog
 ext/Data/Dumper/Dumper.pm	Data pretty printer, module
 ext/Data/Dumper/Dumper.xs	Data pretty printer, externals
 ext/Data/Dumper/Makefile.PL	Data pretty printer, makefile writer
 ext/Data/Dumper/Todo		Data pretty printer, futures
+ext/Devel/DProf/Changes		Perl code profiler changelog
+ext/Devel/DProf/DProf.pm	Perl code profiler
+ext/Devel/DProf/DProf.xs	Perl code profiler
+ext/Devel/DProf/Makefile.PL	Perl code profiler makefile writer
+ext/Devel/DProf/Todo		Perl code profiler todo list
+ext/Devel/Peek/Changes		Data debugging tool, changelog
+ext/Devel/Peek/Makefile.PL	Data debugging tool, makefile writer
+ext/Devel/Peek/Peek.pm		Data debugging tool, module and pod
+ext/Devel/Peek/Peek.xs		Data debugging tool, externals
 ext/DynaLoader/DynaLoader_pm.PL	Dynamic Loader perl module
 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
 ext/DynaLoader/dl_aix.xs	AIX implementation
 ext/DynaLoader/dl_beos.xs	BeOS implementation
-ext/DynaLoader/dl_cygwin32.xs	Cygwin32 implementation
 ext/DynaLoader/dl_dld.xs	GNU dld style implementation
 ext/DynaLoader/dl_dlopen.xs	BSD/SunOS4&5 dlopen() style implementation
+ext/DynaLoader/dl_dyld.xs	NeXT/Apple dyld implementation
 ext/DynaLoader/dl_hpux.xs	HP-UX implementation
 ext/DynaLoader/dl_mpeix.xs	MPE/iX implementation
-ext/DynaLoader/dl_next.xs	Next implementation
+ext/DynaLoader/dl_next.xs	NeXT implementation
 ext/DynaLoader/dl_none.xs	Stub implementation
+ext/DynaLoader/dl_vmesa.xs	VM/ESA implementation
 ext/DynaLoader/dl_vms.xs	VMS implementation
 ext/DynaLoader/dlutils.c	Dynamic loader utilities for dl_*.xs files
+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/openbsd.pl	Hint for DynaLoader for named architecture
 ext/Errno/ChangeLog		Errno perl module change log
 ext/Errno/Errno_pm.PL		Errno perl module create script
 ext/Errno/Makefile.PL		Errno extension makefile writer
 ext/Fcntl/Fcntl.pm		Fcntl extension Perl module
 ext/Fcntl/Fcntl.xs		Fcntl extension external subroutines
 ext/Fcntl/Makefile.PL		Fcntl extension makefile writer
+ext/File/Glob/Changes		File::Glob extension changelog
+ext/File/Glob/Glob.pm		File::Glob extension module
+ext/File/Glob/Glob.xs		File::Glob extension external subroutines
+ext/File/Glob/Makefile.PL	File::Glob extension makefile writer
+ext/File/Glob/TODO		File::Glob extension todo list
+ext/File/Glob/bsd_glob.c	File::Glob extension run time code
+ext/File/Glob/bsd_glob.h	File::Glob extension header file
 ext/GDBM_File/GDBM_File.pm	GDBM extension Perl module
 ext/GDBM_File/GDBM_File.xs	GDBM extension external subroutines
 ext/GDBM_File/Makefile.PL	GDBM extension makefile writer
 ext/GDBM_File/hints/sco.pl	Hint for GDBM_File for named architecture
 ext/GDBM_File/typemap		GDBM extension interface types
+ext/IO/ChangeLog		IO perl module change log
 ext/IO/IO.pm			Top-level interface to IO::* classes
 ext/IO/IO.xs			IO extension external subroutines
 ext/IO/Makefile.PL		IO extension makefile writer
 ext/IO/README			IO extension maintenance notice
-ext/IO/lib/IO/File.pm		IO::File extension Perl module
-ext/IO/lib/IO/Handle.pm		IO::Handle extension Perl module
-ext/IO/lib/IO/Pipe.pm		IO::Pipe extension Perl module
-ext/IO/lib/IO/Seekable.pm	IO::Seekable extension Perl module
-ext/IO/lib/IO/Select.pm		IO::Select extension Perl module
-ext/IO/lib/IO/Socket.pm		IO::Socket extension Perl module
+ext/IO/lib/IO/Dir.pm		IO directory reading package
+ext/IO/lib/IO/File.pm		IO file handle package
+ext/IO/lib/IO/Handle.pm		IO base handle package
+ext/IO/lib/IO/Pipe.pm		IO pipe package
+ext/IO/lib/IO/Poll.pm		IO system poll() interface
+ext/IO/lib/IO/Seekable.pm	IO methods for seekable handles
+ext/IO/lib/IO/Select.pm		IO system select() interface
+ext/IO/lib/IO/Socket.pm		IO socket handle package
+ext/IO/lib/IO/Socket/INET.pm	IO INET specific socket methods
+ext/IO/lib/IO/Socket/UNIX.pm	IO UNIX specific socket methods
+ext/IO/poll.c			IO poll() emulation using select()
+ext/IO/poll.h			IO poll() emulation using select()
 ext/IPC/SysV/ChangeLog		IPC::SysV extension Perl module
 ext/IPC/SysV/MANIFEST		IPC::SysV extension Perl module
 ext/IPC/SysV/Makefile.PL	IPC::SysV extension Perl module
@@ -241,19 +290,24 @@ ext/IPC/SysV/README		IPC::SysV extension Perl module
 ext/IPC/SysV/Semaphore.pm	IPC::SysV extension Perl module
 ext/IPC/SysV/SysV.pm		IPC::SysV extension Perl module
 ext/IPC/SysV/SysV.xs		IPC::SysV extension Perl module
+ext/IPC/SysV/hints/cygwin.pl	Hint for IPC::SysV for named architecture
+ext/IPC/SysV/hints/next_3.pl	Hint for IPC::SysV for named architecture
 ext/IPC/SysV/t/msg.t		IPC::SysV extension Perl module
 ext/IPC/SysV/t/sem.t		IPC::SysV extension Perl module
 ext/NDBM_File/Makefile.PL	NDBM extension makefile writer
 ext/NDBM_File/NDBM_File.pm	NDBM extension Perl module
 ext/NDBM_File/NDBM_File.xs	NDBM extension external subroutines
+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/solaris.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/svr4.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/typemap		NDBM extension interface types
 ext/ODBM_File/Makefile.PL	ODBM extension makefile writer
 ext/ODBM_File/ODBM_File.pm	ODBM extension Perl module
 ext/ODBM_File/ODBM_File.xs	ODBM extension external subroutines
+ext/ODBM_File/hints/cygwin.pl	Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/dec_osf.pl	Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/hpux.pl	Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/sco.pl	Hint for ODBM_File for named architecture
@@ -272,11 +326,11 @@ ext/POSIX/POSIX.pod		POSIX extension documentation
 ext/POSIX/POSIX.xs		POSIX extension external subroutines
 ext/POSIX/hints/bsdos.pl	Hint for POSIX for named architecture
 ext/POSIX/hints/dynixptx.pl	Hint for POSIX for named architecture
-ext/POSIX/hints/freebsd.pl	Hint for POSIX for named architecture
-ext/POSIX/hints/linux.pl	Hint for POSIX for named architecture
-ext/POSIX/hints/mint.pl		Hint for POSIX for named architecture
-ext/POSIX/hints/netbsd.pl	Hint for POSIX for named architecture
-ext/POSIX/hints/next_3.pl	Hint for POSIX for named architecture
+ext/POSIX/hints/freebsd.pl      Hint for POSIX for named architecture
+ext/POSIX/hints/linux.pl        Hint for POSIX for named architecture
+ext/POSIX/hints/mint.pl         Hint for POSIX for named architecture
+ext/POSIX/hints/netbsd.pl       Hint for POSIX for named architecture
+ext/POSIX/hints/next_3.pl       Hint for POSIX for named architecture
 ext/POSIX/hints/openbsd.pl	Hint for POSIX for named architecture
 ext/POSIX/hints/sunos_4.pl	Hint for POSIX for named architecture
 ext/POSIX/typemap		POSIX extension interface types
@@ -312,6 +366,12 @@ ext/SDBM_File/typemap		SDBM extension interface types
 ext/Socket/Makefile.PL	Socket extension makefile writer
 ext/Socket/Socket.pm	Socket extension Perl module
 ext/Socket/Socket.xs	Socket extension external subroutines
+ext/Sys/Hostname/Makefile.PL	Sys::Hostname extension makefile writer
+ext/Sys/Hostname/Hostname.pm	Sys::Hostname extension Perl module
+ext/Sys/Hostname/Hostname.xs	Sys::Hostname extension external subroutines
+ext/Sys/Syslog/Makefile.PL	Sys::Syslog extension makefile writer
+ext/Sys/Syslog/Syslog.pm	Sys::Syslog extension Perl module
+ext/Sys/Syslog/Syslog.xs	Sys::Syslog extension external subroutines
 ext/Thread/Makefile.PL	Thread extension makefile writer
 ext/Thread/Notes	Thread notes
 ext/Thread/README	Thread README
@@ -351,6 +411,7 @@ fakethr.h		Fake threads header
 form.h			Public declarations for the above
 global.sym		Symbols that need hiding when embedded
 globals.c		File to declare global symbols (for shared library)
+globvar.sym		Global variables that need hiding when embedded
 gv.c			Glob value code
 gv.h			Glob value header
 h2pl/README		How to turn .ph files into .pl files
@@ -379,7 +440,8 @@ hints/broken-db.msg	Warning message for systems with broken DB library
 hints/bsdos.sh		Hints for named architecture
 hints/convexos.sh	Hints for named architecture
 hints/cxux.sh		Hints for named architecture
-hints/cygwin32.sh	Hints for named architecture
+hints/cygwin.sh		Hints for named architecture
+hints/darwin.sh		Hints for named architecture
 hints/dcosx.sh		Hints for named architecture
 hints/dec_osf.sh	Hints for named architecture
 hints/dgux.sh		Hints for named architecture
@@ -420,8 +482,10 @@ hints/openbsd.sh	Hints for named architecture
 hints/opus.sh		Hints for named architecture
 hints/os2.sh		Hints for named architecture
 hints/os390.sh		Hints for named architecture
+hints/posix-bc.sh	Hints for named architecture
 hints/powerux.sh	Hints for named architecture
 hints/qnx.sh		Hints for named architecture
+hints/rhapsody.sh	Hints for named architecture
 hints/sco.sh		Hints for named architecture
 hints/sco_2_3_0.sh	Hints for named architecture
 hints/sco_2_3_1.sh	Hints for named architecture
@@ -433,6 +497,7 @@ hints/stellar.sh	Hints for named architecture
 hints/sunos_4_0.sh	Hints for named architecture
 hints/sunos_4_1.sh	Hints for named architecture
 hints/svr4.sh		Hints for named architecture
+hints/svr5.sh		Hints for named architecture
 hints/ti1500.sh		Hints for named architecture
 hints/titanos.sh	Hints for named architecture
 hints/ultrix_4.sh	Hints for named architecture
@@ -443,6 +508,7 @@ hints/unisysdynix.sh	Hints for named architecture
 hints/utekv.sh		Hints for named architecture
 hints/uts.sh		Hints for named architecture
 hints/uwin.sh		Hints for named architecture
+hints/vmesa.sh		Hints for named architecture
 hv.c			Hash value code
 hv.h			Hash value header
 installhtml		Perl script to install html files for pods
@@ -450,6 +516,43 @@ installman		Perl script to install man pages for pods
 installperl		Perl script to do "make install" dirty work
 intrpvar.h		Variables held in each interpreter instance
 iperlsys.h		Perl's interface to the system
+jpl/JNI/Changes		Java Native Interface changes
+jpl/JNI/Closer.java	Java Native Interface example
+jpl/JNI/JNI.pm		Java Native Interface module
+jpl/JNI/JNI.xs		Java Native Interface module
+jpl/JNI/JNIConfig	Java Native Interface config
+jpl/JNI/JNIConfig.Win32	Java Native Interface config
+jpl/JNI/JNIConfig.kaffe	Java Native Interface config
+jpl/JNI/JNIConfig.noembed	Java Native Interface config
+jpl/JNI/JNIConfig.standard	Java Native Interface config
+jpl/JNI/Makefile.PL	Java Native Interface makefile generator
+jpl/JNI/test.pl		Java Native Interface tests
+jpl/JNI/typemap		Java/Perl interface typemap
+jpl/JNI/typemap.gcc	Java/Perl interface typemap
+jpl/JNI/typemap.win32	Java/Perl interface typemap
+jpl/JPL/AutoLoader.pm	Java/Perl compiler module
+jpl/JPL/Class.pm	Java/Perl compiler module
+jpl/JPL/Compile.pm	Java/Perl compiler module
+jpl/JPL/Makefile.PL	Java/Perl makefile generator
+jpl/JPL_Rolo/JPL_Rolo.jpl			Rolodex sample application
+jpl/JPL_Rolo/Makefile.PL			Makefile generator
+jpl/JPL_Rolo/README				Instructions
+jpl/JPL_Rolo/cardfile				Rolodex sample application
+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
+jpl/README					JPL instructions
+jpl/SETVARS.PL					JPL setup
+jpl/Sample/Makefile.PL				JPL sample makefile generator
+jpl/Sample/Sample.jpl				JPL sample
+jpl/Test/Makefile.PL				JPL tests makefile generator
+jpl/Test/Test.jpl				JPL tests
+jpl/bin/jpl					JPL compiler
+jpl/get_jdk/README	Instructions for using get_jdk.pl
+jpl/get_jdk/get_jdk.pl	JDK download tool
+jpl/get_jdk/jdk_hosts	JDK availability list
+jpl/install-jpl		JPL install utility
 keywords.h		The keyword numbers
 keywords.pl		Program to write keywords.h
 lib/AnyDBM_File.pm	Perl module to emulate dbmopen
@@ -461,25 +564,30 @@ lib/CGI/Apache.pm	Support for Apache's Perl module
 lib/CGI/Carp.pm		Log server errors with helpful context
 lib/CGI/Cookie.pm	Interface to Netscape Cookies
 lib/CGI/Fast.pm		Support for FastCGI (persistent server process)
+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/CPAN.pm		Interface to Comprehensive Perl Archive Network
 lib/CPAN/FirstTime.pm	Utility for creating CPAN config files
 lib/CPAN/Nox.pm		Runs CPAN while avoiding compiled extensions
 lib/Carp.pm		Error message base class
+lib/Carp/Heavy.pm	Error message workhorse
 lib/Class/Struct.pm	Declare struct-like datatypes as Perl classes
 lib/Cwd.pm		Various cwd routines (getcwd, fastcwd, chdir)
-lib/Devel/SelfStubber.pm	Generate stubs for SelfLoader.pm
+lib/DB.pm		Debugger API (draft)
+lib/Devel/SelfStubber.pm Generate stubs for SelfLoader.pm
 lib/DirHandle.pm	like FileHandle only for directories
 lib/Dumpvalue.pm	Screen dump of perl values
 lib/English.pm		Readable aliases for short variables
 lib/Env.pm		Map environment into ordinary variables
 lib/Exporter.pm		Exporter base class
+lib/Exporter/Heavy.pm	Complicated routines for Exporter
 lib/ExtUtils/Command.pm	Utilities for Make on non-UNIX platforms
 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/Liblist.pm	Locates libraries
+lib/ExtUtils/MM_Cygwin.pm	MakeMaker methods for Cygwin
 lib/ExtUtils/MM_OS2.pm		MakeMaker methods for OS/2
 lib/ExtUtils/MM_Unix.pm		MakeMaker base class for Unix
 lib/ExtUtils/MM_VMS.pm		MakeMaker methods for VMS
@@ -502,6 +610,7 @@ lib/File/DosGlob.pm	Win32 DOS-globbing module
 lib/File/Find.pm	Routines to do a find
 lib/File/Path.pm	Do things like `mkdir -p' and `rm -r'
 lib/File/Spec.pm	portable operations on file names
+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/Unix.pm	portable operations on Unix file names
@@ -525,16 +634,26 @@ lib/Net/hostent.pm	By-name interface to Perl's builtin gethost*
 lib/Net/netent.pm	By-name interface to Perl's builtin getnet*
 lib/Net/protoent.pm	By-name interface to Perl's builtin getproto*
 lib/Net/servent.pm	By-name interface to Perl's builtin getserv*
+lib/Pod/Checker.pm	Pod-Parser - check POD documents for syntax errors
+lib/Pod/Find.pm		used by pod/splitpod
 lib/Pod/Functions.pm	used by pod/splitpod
 lib/Pod/Html.pm		Convert POD data to HTML
-lib/Pod/Text.pm		Convert POD data to formatted ASCII text
+lib/Pod/InputObjects.pm	Pod-Parser - define objects for input streams
+lib/Pod/Man.pm		Convert POD data to *roff
+lib/Pod/ParseUtils.pm	Pod-Parser - pod utility functions
+lib/Pod/Parser.pm	Pod-Parser - define base class for parsing POD
+lib/Pod/Plainer.pm	Pod migration utility module
+lib/Pod/Select.pm	Pod-Parser - select portions of POD docs
+lib/Pod/Text.pm		Pod-Parser - convert POD data to formatted ASCII text
+lib/Pod/Text/Color.pm	Convert POD data to color ASCII text
+lib/Pod/Text/Termcap.pm	Convert POD data to ASCII text with format escapes
+lib/Pod/Usage.pm	Pod-Parser - print usage messages
 lib/Search/Dict.pm	Perform binary search on dictionaries
 lib/SelectSaver.pm	Enforce proper select scoping
 lib/SelfLoader.pm	Load functions only on demand
 lib/Shell.pm		Make AUTOLOADed system() calls
 lib/Symbol.pm		Symbol table manipulation routines
-lib/Sys/Hostname.pm	Hostname methods
-lib/Sys/Syslog.pm	Perl module supporting syslogging
+lib/Term/ANSIColor.pm	Perl module supporting termcap usage
 lib/Term/Cap.pm		Perl module supporting termcap usage
 lib/Term/Complete.pm	A command completion subroutine
 lib/Term/ReadLine.pm	Stub readline library
@@ -560,14 +679,18 @@ lib/User/grent.pm	By-name interface to Perl's builtin getgr*
 lib/User/pwent.pm	By-name interface to Perl's builtin getpw*
 lib/abbrev.pl		An abbreviation table builder
 lib/assert.pl		assertion and panic with stack trace
+lib/attributes.pm	For "sub foo : attrlist"
 lib/autouse.pm		Load and call a function only when it's used
 lib/base.pm		Establish IS-A relationship at compile time
 lib/bigfloat.pl		An arbitrary precision floating point package
 lib/bigint.pl		An arbitrary precision integer arithmetic package
 lib/bigrat.pl		An arbitrary precision rational arithmetic package
 lib/blib.pm		For "use blib"
+lib/bytes.pm		Pragma to enable byte operations
+lib/bytes_heavy.pl	Support routines for byte pragma
 lib/cacheout.pl		Manages output filehandles when you need too many
-lib/chat2.pl		Obsolete ipc library (use Comm.pm etc instead)
+lib/charnames.pm	Character names
+lib/chat2.pl            Obsolete ipc library (use Comm.pm etc instead)
 lib/complete.pl		A command completion subroutine
 lib/constant.pm		For "use constant"
 lib/ctime.pl		A ctime workalike
@@ -577,6 +700,7 @@ lib/dumpvar.pl		A variable dumper
 lib/exceptions.pl	catch and throw routines
 lib/fastcwd.pl		a faster but more dangerous getcwd
 lib/fields.pm		Set up object field names for pseudo-hash-using classes
+lib/filetest.pm		For "use filetest"
 lib/find.pl		A find emulator--used by find2perl
 lib/finddepth.pl	A depth-first find emulator--used by find2perl
 lib/flush.pl		Routines to do single flush
@@ -592,6 +716,7 @@ lib/lib.pm		For "use lib"
 lib/locale.pm		For "use locale"
 lib/look.pl		A "look" equivalent
 lib/newgetopt.pl	A perl library supporting long option parsing
+lib/open.pm		Pragma to specify default I/O disciplines
 lib/open2.pl		Open a two-ended pipe (uses IPC::Open2)
 lib/open3.pl		Open a three-ended pipe (uses IPC::Open3)
 lib/overload.pm		Module for overloading perl operators
@@ -606,9 +731,218 @@ lib/syslog.pl		Perl library supporting syslogging
 lib/tainted.pl		Old code for tainting
 lib/termcap.pl		Perl library supporting termcap usage
 lib/timelocal.pl	Perl library supporting inverse of localtime, gmtime
+lib/unicode/ArabLink.pl				Unicode character database
+lib/unicode/ArabLnkGrp.pl			Unicode character database
+lib/unicode/ArabShap.txt			Unicode character database
+lib/unicode/Bidirectional.pl			Unicode character database
+lib/unicode/Block.pl				Unicode character database
+lib/unicode/Blocks.txt				Unicode character database
+lib/unicode/Category.pl				Unicode character database
+lib/unicode/CombiningClass.pl			Unicode character database
+lib/unicode/CompExcl.txt			Unicode character database
+lib/unicode/Decomposition.pl			Unicode character database
+lib/unicode/EAWidth.txt				Unicode character database
+lib/unicode/In/AlphabeticPresentationForms.pl	Unicode character database
+lib/unicode/In/Arabic.pl			Unicode character database
+lib/unicode/In/ArabicPresentationForms-A.pl	Unicode character database
+lib/unicode/In/ArabicPresentationForms-B.pl	Unicode character database
+lib/unicode/In/Armenian.pl			Unicode character database
+lib/unicode/In/Arrows.pl			Unicode character database
+lib/unicode/In/BasicLatin.pl			Unicode character database
+lib/unicode/In/Bengali.pl			Unicode character database
+lib/unicode/In/BlockElements.pl			Unicode character database
+lib/unicode/In/Bopomofo.pl			Unicode character database
+lib/unicode/In/BopomofoExtended.pl		Unicode character database
+lib/unicode/In/BoxDrawing.pl			Unicode character database
+lib/unicode/In/BraillePatterns.pl		Unicode character database
+lib/unicode/In/CJKCompatibility.pl		Unicode character database
+lib/unicode/In/CJKCompatibilityForms.pl		Unicode character database
+lib/unicode/In/CJKCompatibilityIdeographs.pl	Unicode character database
+lib/unicode/In/CJKRadicalsSupplement.pl		Unicode character database
+lib/unicode/In/CJKSymbolsandPunctuation.pl	Unicode character database
+lib/unicode/In/CJKUnifiedIdeographs.pl		Unicode character database
+lib/unicode/In/CJKUnifiedIdeographsExtensionA.pl	Unicode character database
+lib/unicode/In/Cherokee.pl			Unicode character database
+lib/unicode/In/CombiningDiacriticalMarks.pl	Unicode character database
+lib/unicode/In/CombiningHalfMarks.pl		Unicode character database
+lib/unicode/In/CombiningMarksforSymbols.pl	Unicode character database
+lib/unicode/In/ControlPictures.pl		Unicode character database
+lib/unicode/In/CurrencySymbols.pl		Unicode character database
+lib/unicode/In/Cyrillic.pl			Unicode character database
+lib/unicode/In/Devanagari.pl			Unicode character database
+lib/unicode/In/Dingbats.pl			Unicode character database
+lib/unicode/In/EnclosedAlphanumerics.pl		Unicode character database
+lib/unicode/In/EnclosedCJKLettersandMonths.pl	Unicode character database
+lib/unicode/In/Ethiopic.pl			Unicode character database
+lib/unicode/In/GeneralPunctuation.pl		Unicode character database
+lib/unicode/In/GeometricShapes.pl		Unicode character database
+lib/unicode/In/Georgian.pl			Unicode character database
+lib/unicode/In/Greek.pl				Unicode character database
+lib/unicode/In/GreekExtended.pl			Unicode character database
+lib/unicode/In/Gujarati.pl			Unicode character database
+lib/unicode/In/Gurmukhi.pl			Unicode character database
+lib/unicode/In/HalfwidthandFullwidthForms.pl	Unicode character database
+lib/unicode/In/HangulCompatibilityJamo.pl	Unicode character database
+lib/unicode/In/HangulJamo.pl			Unicode character database
+lib/unicode/In/HangulSyllables.pl		Unicode character database
+lib/unicode/In/Hebrew.pl			Unicode character database
+lib/unicode/In/HighPrivateUseSurrogates.pl	Unicode character database
+lib/unicode/In/HighSurrogates.pl		Unicode character database
+lib/unicode/In/Hiragana.pl			Unicode character database
+lib/unicode/In/IPAExtensions.pl			Unicode character database
+lib/unicode/In/IdeographicDescriptionCharacters.pl	Unicode character database
+lib/unicode/In/Kanbun.pl			Unicode character database
+lib/unicode/In/KangxiRadicals.pl		Unicode character database
+lib/unicode/In/Kannada.pl			Unicode character database
+lib/unicode/In/Katakana.pl			Unicode character database
+lib/unicode/In/Khmer.pl				Unicode character database
+lib/unicode/In/Lao.pl				Unicode character database
+lib/unicode/In/Latin-1Supplement.pl		Unicode character database
+lib/unicode/In/LatinExtended-A.pl		Unicode character database
+lib/unicode/In/LatinExtended-B.pl		Unicode character database
+lib/unicode/In/LatinExtendedAdditional.pl	Unicode character database
+lib/unicode/In/LetterlikeSymbols.pl		Unicode character database
+lib/unicode/In/LowSurrogates.pl			Unicode character database
+lib/unicode/In/Malayalam.pl			Unicode character database
+lib/unicode/In/MathematicalOperators.pl		Unicode character database
+lib/unicode/In/MiscellaneousSymbols.pl		Unicode character database
+lib/unicode/In/MiscellaneousTechnical.pl	Unicode character database
+lib/unicode/In/Mongolian.pl			Unicode character database
+lib/unicode/In/Myanmar.pl			Unicode character database
+lib/unicode/In/NumberForms.pl			Unicode character database
+lib/unicode/In/Ogham.pl				Unicode character database
+lib/unicode/In/OpticalCharacterRecognition.pl	Unicode character database
+lib/unicode/In/Oriya.pl				Unicode character database
+lib/unicode/In/PrivateUse.pl			Unicode character database
+lib/unicode/In/Runic.pl				Unicode character database
+lib/unicode/In/Sinhala.pl			Unicode character database
+lib/unicode/In/SmallFormVariants.pl		Unicode character database
+lib/unicode/In/SpacingModifierLetters.pl	Unicode character database
+lib/unicode/In/Specials.pl			Unicode character database
+lib/unicode/In/SuperscriptsandSubscripts.pl	Unicode character database
+lib/unicode/In/Syriac.pl			Unicode character database
+lib/unicode/In/Tamil.pl				Unicode character database
+lib/unicode/In/Telugu.pl			Unicode character database
+lib/unicode/In/Thaana.pl			Unicode character database
+lib/unicode/In/Thai.pl				Unicode character database
+lib/unicode/In/Tibetan.pl			Unicode character database
+lib/unicode/In/UnifiedCanadianAboriginalSyllabics.pl	Unicode character database
+lib/unicode/In/YiRadicals.pl			Unicode character database
+lib/unicode/In/YiSyllables.pl			Unicode character database
+lib/unicode/Index.txt				Unicode character database
+lib/unicode/Is/ASCII.pl				Unicode character database
+lib/unicode/Is/Alnum.pl				Unicode character database
+lib/unicode/Is/Alpha.pl				Unicode character database
+lib/unicode/Is/BidiAN.pl			Unicode character database
+lib/unicode/Is/BidiB.pl				Unicode character database
+lib/unicode/Is/BidiCS.pl			Unicode character database
+lib/unicode/Is/BidiEN.pl			Unicode character database
+lib/unicode/Is/BidiES.pl			Unicode character database
+lib/unicode/Is/BidiET.pl			Unicode character database
+lib/unicode/Is/BidiL.pl				Unicode character database
+lib/unicode/Is/BidiON.pl			Unicode character database
+lib/unicode/Is/BidiR.pl				Unicode character database
+lib/unicode/Is/BidiS.pl				Unicode character database
+lib/unicode/Is/BidiWS.pl			Unicode character database
+lib/unicode/Is/C.pl				Unicode character database
+lib/unicode/Is/Cc.pl				Unicode character database
+lib/unicode/Is/Cn.pl				Unicode character database
+lib/unicode/Is/Cntrl.pl				Unicode character database
+lib/unicode/Is/Co.pl				Unicode character database
+lib/unicode/Is/DCcircle.pl			Unicode character database
+lib/unicode/Is/DCcompat.pl			Unicode character database
+lib/unicode/Is/DCfinal.pl			Unicode character database
+lib/unicode/Is/DCfont.pl			Unicode character database
+lib/unicode/Is/DCinital.pl			Unicode character database
+lib/unicode/Is/DCinitial.pl			Unicode character database
+lib/unicode/Is/DCisolated.pl			Unicode character database
+lib/unicode/Is/DCnarrow.pl			Unicode character database
+lib/unicode/Is/DCnoBreak.pl			Unicode character database
+lib/unicode/Is/DCsmall.pl			Unicode character database
+lib/unicode/Is/DCsquare.pl			Unicode character database
+lib/unicode/Is/DCsub.pl				Unicode character database
+lib/unicode/Is/DCsuper.pl			Unicode character database
+lib/unicode/Is/DCvertical.pl			Unicode character database
+lib/unicode/Is/DCwide.pl			Unicode character database
+lib/unicode/Is/DecoCanon.pl			Unicode character database
+lib/unicode/Is/DecoCompat.pl			Unicode character database
+lib/unicode/Is/Digit.pl				Unicode character database
+lib/unicode/Is/Graph.pl				Unicode character database
+lib/unicode/Is/L.pl				Unicode character database
+lib/unicode/Is/Ll.pl				Unicode character database
+lib/unicode/Is/Lm.pl				Unicode character database
+lib/unicode/Is/Lo.pl				Unicode character database
+lib/unicode/Is/Lower.pl				Unicode character database
+lib/unicode/Is/Lt.pl				Unicode character database
+lib/unicode/Is/Lu.pl				Unicode character database
+lib/unicode/Is/M.pl				Unicode character database
+lib/unicode/Is/Mc.pl				Unicode character database
+lib/unicode/Is/Mirrored.pl			Unicode character database
+lib/unicode/Is/Mn.pl				Unicode character database
+lib/unicode/Is/N.pl				Unicode character database
+lib/unicode/Is/Nd.pl				Unicode character database
+lib/unicode/Is/No.pl				Unicode character database
+lib/unicode/Is/P.pl				Unicode character database
+lib/unicode/Is/Pd.pl				Unicode character database
+lib/unicode/Is/Pe.pl				Unicode character database
+lib/unicode/Is/Po.pl				Unicode character database
+lib/unicode/Is/Print.pl				Unicode character database
+lib/unicode/Is/Ps.pl				Unicode character database
+lib/unicode/Is/Punct.pl				Unicode character database
+lib/unicode/Is/S.pl				Unicode character database
+lib/unicode/Is/Sc.pl				Unicode character database
+lib/unicode/Is/Sm.pl				Unicode character database
+lib/unicode/Is/So.pl				Unicode character database
+lib/unicode/Is/Space.pl				Unicode character database
+lib/unicode/Is/SylA.pl				Unicode character database
+lib/unicode/Is/SylC.pl				Unicode character database
+lib/unicode/Is/SylE.pl				Unicode character database
+lib/unicode/Is/SylI.pl				Unicode character database
+lib/unicode/Is/SylO.pl				Unicode character database
+lib/unicode/Is/SylU.pl				Unicode character database
+lib/unicode/Is/SylV.pl				Unicode character database
+lib/unicode/Is/SylWA.pl				Unicode character database
+lib/unicode/Is/SylWC.pl				Unicode character database
+lib/unicode/Is/SylWE.pl				Unicode character database
+lib/unicode/Is/SylWI.pl				Unicode character database
+lib/unicode/Is/SylWV.pl				Unicode character database
+lib/unicode/Is/Syllable.pl			Unicode character database
+lib/unicode/Is/Upper.pl				Unicode character database
+lib/unicode/Is/Word.pl				Unicode character database
+lib/unicode/Is/XDigit.pl			Unicode character database
+lib/unicode/Is/Z.pl				Unicode character database
+lib/unicode/Is/Zl.pl				Unicode character database
+lib/unicode/Is/Zp.pl				Unicode character database
+lib/unicode/Is/Zs.pl				Unicode character database
+lib/unicode/Jamo.txt				Unicode character database
+lib/unicode/JamoShort.pl			Unicode character database
+lib/unicode/LineBrk.txt				Unicode character database
+lib/unicode/Makefile				Unicode character database
+lib/unicode/Name.pl				Unicode character database
+lib/unicode/Names.txt				Unicode character database
+lib/unicode/NamesList.html			Unicode character database
+lib/unicode/Number.pl				Unicode character database
+lib/unicode/Props.txt				Unicode character database
+lib/unicode/README.Ethiopic			Unicode character database
+lib/unicode/ReadMe.txt				Unicode character database info
+lib/unicode/SpecCase.txt			Unicode character database
+lib/unicode/To/Digit.pl				Unicode character database
+lib/unicode/To/Lower.pl				Unicode character database
+lib/unicode/To/Title.pl				Unicode character database
+lib/unicode/To/Upper.pl				Unicode character database
+lib/unicode/UCD300.html				Unicode character database
+lib/unicode/Unicode.300				Unicode character database
+lib/unicode/Unicode3.html			Unicode character database
+lib/unicode/mktables.PL				Unicode character database generator
+lib/unicode/syllables.txt			Unicode character database
+lib/utf8.pm					Pragma to control Unicode support
+lib/utf8_heavy.pl				Support routines for utf8 pragma
 lib/validate.pl		Perl library supporting wholesale file mode validation
 lib/vars.pm		Declare pseudo-imported global variables
+lib/warnings.pm		For "use warnings"
+lib/warnings/register.pm	For "use warnings::register"
 makeaperl.SH		perl script that produces a new perl binary
+makedef.pl		Create symbol export lists for linking
 makedepend.SH		Precursor to makedepend
 makedir.SH		Precursor to makedir
 malloc.c		A version of malloc you might not want
@@ -616,10 +950,10 @@ mg.c			Magic code
 mg.h			Magic header
 minimod.pl		Writes lib/ExtUtils/Miniperl.pm
 miniperlmain.c		Basic perl w/o dynamic loading or extensions
-mint/errno.h		MiNT port
 mint/Makefile		MiNT port
-mint/pwd.c		MiNT port
 mint/README		MiNT port
+mint/errno.h		MiNT port
+mint/pwd.c		MiNT port
 mint/stdio.h		MiNT port
 mint/sys/time.h		MiNT port
 mint/time.h		MiNT port
@@ -627,13 +961,14 @@ mpeix/mpeixish.h	MPE/iX port
 mpeix/nm		MPE/iX port
 mpeix/relink		MPE/iX port
 mv-if-diff		Script to mv a file if it changed
-myconfig		Prints summary of the current configuration
+myconfig.SH		Prints summary of the current configuration
 nostdio.h		Cause compile error on stdio calls
-objpp.h			Scoping macros for Perl Object
+objXSUB.h		Scoping macros for Perl Object in extensions
 op.c			Opcode syntax tree code
 op.h			Opcode syntax tree header
 opcode.h		Automatically generated opcode header
 opcode.pl		Opcode header generatore
+opnames.h		Automatically generated opcode header
 os2/Changes		Changelog for OS/2 port
 os2/Makefile.SHs	Shared library generation for OS/2
 os2/OS2/ExtAttr/Changes		EA access module
@@ -657,11 +992,17 @@ os2/OS2/Process/Process.pm	system() constants in a module
 os2/OS2/Process/Process.xs	system() constants in a module
 os2/OS2/REXX/Changes		DLL access module
 os2/OS2/REXX/MANIFEST		DLL access module
+os2/OS2/REXX/DLL/Changes		DLL access module
+os2/OS2/REXX/DLL/DLL.pm		DLL access module
+os2/OS2/REXX/DLL/DLL.xs		DLL access module
+os2/OS2/REXX/DLL/MANIFEST	DLL access module
+os2/OS2/REXX/DLL/Makefile.PL	DLL access module
 os2/OS2/REXX/Makefile.PL	DLL access module
 os2/OS2/REXX/REXX.pm		DLL access module
 os2/OS2/REXX/REXX.xs		DLL access module
 os2/OS2/REXX/t/rx_cmprt.t	DLL access module
 os2/OS2/REXX/t/rx_dllld.t	DLL access module
+os2/OS2/REXX/t/rx_emxrv.t	DLL access module
 os2/OS2/REXX/t/rx_objcall.t	DLL access module
 os2/OS2/REXX/t/rx_sql.test	DLL access module
 os2/OS2/REXX/t/rx_tiesql.test	DLL access module
@@ -669,7 +1010,6 @@ os2/OS2/REXX/t/rx_tievar.t	DLL access module
 os2/OS2/REXX/t/rx_tieydb.t	DLL access module
 os2/OS2/REXX/t/rx_varset.t	DLL access module
 os2/OS2/REXX/t/rx_vrexx.t	DLL access module
-os2/POSIX.mkfifo	POSIX.xs patch
 os2/diff.configure	Patches to Configure
 os2/dl_os2.c		Addon for dl_open
 os2/dlfcn.h		Addon for dl_open
@@ -681,7 +1021,8 @@ os2/perl2cmd.pl		Corrects installed binaries under OS/2
 patchlevel.h		The current patch level of perl
 perl.c			main()
 perl.h			Global declarations
-perl_exp.SH		Creates list of exported symbols for AIX
+perlapi.c		Perl API functions
+perlapi.h		Perl API function declarations
 perlio.c		C code for PerlIO abstraction
 perlio.h		compatibility stub
 perlio.sym		Symbols for PerlIO abstraction
@@ -690,9 +1031,10 @@ perlsfio.h		Prototype sfio mapping for PerlIO
 perlsh			A poor man's perl shell
 perlvars.h		Global variables
 perly.c			A byacc'ed perly.y
-perly_c.diff		Fixup perly.c to allow recursion
 perly.fixer		A program to remove yacc stack limitations
 perly.h			The header file for perly.c
+perly.y			Yacc grammar for perl
+perly_c.diff		Fixup perly.c to allow recursion
 plan9/aperl		Shell to make Perl error messages Acme-friendly
 plan9/arpa/inet.h	Plan9 port: replacement C header file
 plan9/buildinfo		Plan9 port: configuration information
@@ -709,17 +1051,24 @@ plan9/plan9ish.h	Plan9 port: Plan9-specific C header file
 plan9/setup.rc		Plan9 port: script for easy build+install
 plan9/versnum		Plan9 port: script to print version number
 pod/Makefile		Make pods into something else
+pod/Win32.pod		Documentation for Win32 extras
 pod/buildtoc		generate perltoc.pod
 pod/checkpods.PL	Tool to check for common errors in pods
 pod/perl.pod		Top level perl man page
+pod/perl5004delta.pod	Changes from 5.003 to 5.004
+pod/perl5005delta.pod	Changes from 5.004 to 5.005
+pod/perlapi.pod         Perl API documentation (autogenerated)
 pod/perlapio.pod	IO API info
 pod/perlbook.pod	Book info
+pod/perlboot.pod	Beginner's Object-oriented Tutorial
 pod/perlbot.pod		Object-oriented Bag o' Tricks
 pod/perlcall.pod	Callback info
+pod/perlcompile.pod	Info on using the Compiler suite
 pod/perldata.pod	Data structure info
+pod/perldbmfilter.pod	Info about DBM Filters
+pod/perldebguts.pod	Debugger guts info
 pod/perldebug.pod	Debugger info
 pod/perldelta.pod	Changes since last version
-pod/perl5004delta.pod	Changes from 5.003 to 5.004
 pod/perldiag.pod	Diagnostic info
 pod/perldsc.pod		Data Structures Cookbook
 pod/perlembed.pod	Embedding info
@@ -733,16 +1082,22 @@ pod/perlfaq6.pod	Frequently Asked Questions, Part 6
 pod/perlfaq7.pod	Frequently Asked Questions, Part 7
 pod/perlfaq8.pod	Frequently Asked Questions, Part 8
 pod/perlfaq9.pod	Frequently Asked Questions, Part 9
+pod/perlfilter.pod	Source filters info
+pod/perlfork.pod	Info about fork()
 pod/perlform.pod	Format info
 pod/perlfunc.pod	Function info
 pod/perlguts.pod	Internals info
+pod/perlhack.pod	Perl hackers guide
 pod/perlhist.pod	Perl history info
+pod/perlintern.pod      Perl internal function docs (autogenrated)
 pod/perlipc.pod		IPC info
+pod/perllexwarn.pod	Lexical Warnings info
 pod/perllocale.pod	Locale support info
 pod/perllol.pod		How to use lists of lists
 pod/perlmod.pod		Module mechanism info
 pod/perlmodinstall.pod	Installing CPAN Modules
 pod/perlmodlib.pod	Module policy info
+pod/perlnumber.pod	Semantics of numbers and numeric operations
 pod/perlobj.pod		Object info
 pod/perlop.pod		Operator info
 pod/perlopentut.pod	open() tutorial
@@ -750,7 +1105,7 @@ pod/perlpod.pod		Pod info
 pod/perlport.pod	Portability guide
 pod/perlre.pod		Regular expression info
 pod/perlref.pod		References info
-pod/perlreftut.pod	References tutorial
+pod/perlreftut.pod	Mark's references tutorial
 pod/perlrun.pod		Execution info
 pod/perlsec.pod		Security info
 pod/perlstyle.pod	Style info
@@ -759,8 +1114,11 @@ pod/perlsyn.pod		Syntax info
 pod/perlthrtut.pod	Threads tutorial
 pod/perltie.pod		Tieing an object class into a simple variable
 pod/perltoc.pod		Table of Contents info
+pod/perltodo.pod	Todo list explained
 pod/perltoot.pod	Tom's object-oriented tutorial
+pod/perltootc.pod	Tom's object-oriented tutorial (more on class data)
 pod/perltrap.pod	Trap info
+pod/perlunicode.pod	Unicode support info
 pod/perlvar.pod		Variable info
 pod/perlxs.pod		XS api info
 pod/perlxstut.pod	XS tutorial
@@ -768,12 +1126,16 @@ pod/pod2html.PL		Precursor for translator to turn pod into HTML
 pod/pod2latex.PL	Precursor for translator to turn pod into LaTeX
 pod/pod2man.PL		Precursor for translator to turn pod into manpage
 pod/pod2text.PL		Precursor for translator to turn pod into text
+pod/pod2usage.PL	Pod-Parser - print usage messages from POD docs
+pod/podchecker.PL	Pod-Parser - Pod::Checker::podchecker() CLI
+pod/podselect.PL	Pod-Parser - Pod::Select::podselect() CLI
 pod/roffitall		troff the whole man page set
 pod/rofftoc		Generate a table of contents in troff format
 pod/splitman		Splits perlfunc into multiple man pages
 pod/splitpod		Splits perlfunc into multiple pod pages
 pp.c			Push/Pop code
 pp.h			Push/Pop code defs
+pp.sym			Push/Pop code symbols
 pp_ctl.c		Push/Pop code for control flow
 pp_hot.c		Push/Pop code for heavily used opcodes
 pp_proto.h		C++ definitions for Push/Pop code
@@ -795,6 +1157,7 @@ sv.c			Scalar value code
 sv.h			Scalar value header
 t/README		Instructions for regression tests
 t/TEST			The regression tester
+t/UTEST			Run regression tests with -Mutf8
 t/base/cond.t		See if conditionals work
 t/base/if.t		See if if works
 t/base/lex.t		See if lexical items work
@@ -807,6 +1170,7 @@ t/cmd/mod.t		See if statement modifiers work
 t/cmd/subval.t		See if subroutine values work
 t/cmd/switch.t		See if switch optimizations work
 t/cmd/while.t		See if while loops work
+t/comp/bproto.t		See if builtins conform to their prototypes
 t/comp/cmdopt.t		See if command optimization works
 t/comp/colon.t		See if colons are parsed correctly
 t/comp/cpp.aux		main file for cpp.t
@@ -826,20 +1190,28 @@ t/io/dup.t		See if >& works right
 t/io/fs.t		See if directory manipulations work
 t/io/inplace.t		See if inplace editing works
 t/io/iprefix.t		See if inplace editing works with prefixes
+t/io/nargv.t		See if nested ARGV stuff works
+t/io/open.t		See if open works
+t/io/openpid.t		See if open works for subprocesses
 t/io/pipe.t		See if secure pipes work
 t/io/print.t		See if print commands work
 t/io/read.t		See if read works
 t/io/tell.t		See if file seeking works
 t/lib/abbrev.t		See if Text::Abbrev works
+t/lib/ansicolor.t	See if Term::ANSIColor works
 t/lib/anydbm.t		See if AnyDBM_File works
+t/lib/attrs.t		See if attrs works with C
 t/lib/autoloader.t	See if AutoLoader works
 t/lib/basename.t	See if File::Basename works
+t/lib/bigfloat.t	See if bigfloat.pl works
+t/lib/bigfltpm.t	See if BigFloat.pm works
 t/lib/bigint.t		See if bigint.pl works
 t/lib/bigintpm.t	See if BigInt.pm works
 t/lib/cgi-form.t	See if CGI.pm works
 t/lib/cgi-function.t	See if CGI.pm works
 t/lib/cgi-html.t	See if CGI.pm works
 t/lib/cgi-request.t	See if CGI.pm works
+t/lib/charnames.t	See if character names work
 t/lib/checktree.t	See if File::CheckTree works
 t/lib/complex.t		See if Math::Complex works
 t/lib/db-btree.t	See if DB_File works
@@ -847,33 +1219,62 @@ t/lib/db-hash.t		See if DB_File works
 t/lib/db-recno.t	See if DB_File works
 t/lib/dirhand.t		See if DirHandle works
 t/lib/dosglob.t		See if File::DosGlob works
+t/lib/dprof.t		Perl code profiler testsuite driver
+t/lib/dprof/V.pm	Perl code profiler tests
+t/lib/dprof/test1_t	Perl code profiler tests
+t/lib/dprof/test1_v	Perl code profiler tests
+t/lib/dprof/test2_t	Perl code profiler tests
+t/lib/dprof/test2_v	Perl code profiler tests
+t/lib/dprof/test3_t	Perl code profiler tests
+t/lib/dprof/test3_v	Perl code profiler tests
+t/lib/dprof/test4_t	Perl code profiler tests
+t/lib/dprof/test4_v	Perl code profiler tests
+t/lib/dprof/test5_t	Perl code profiler tests
+t/lib/dprof/test5_v	Perl code profiler tests
+t/lib/dprof/test6_t	Perl code profiler tests
+t/lib/dprof/test6_v	Perl code profiler tests
 t/lib/dumper-ovl.t	See if Data::Dumper works for overloaded data
 t/lib/dumper.t		See if Data::Dumper works
 t/lib/english.t		See if English works
 t/lib/env.t		See if Env works
+t/lib/env-array.t	See if Env works for arrays
 t/lib/errno.t		See if Errno works
 t/lib/fatal.t           See if Fatal works
 t/lib/fields.t          See if base/fields works
 t/lib/filecache.t	See if FileCache works
 t/lib/filecopy.t	See if File::Copy works
 t/lib/filefind.t	See if File::Find works
+t/lib/filefunc.t	See if File::Spec::Functions works
 t/lib/filehand.t	See if FileHandle works
 t/lib/filepath.t	See if File::Path works
 t/lib/filespec.t	See if File::Spec works
 t/lib/findbin.t		See if FindBin works
 t/lib/gdbm.t		See if GDBM_File works
-t/lib/getopt.t		See if Getopt::Std and Getopt::Long works
+t/lib/getopt.t		See if Getopt::Std and Getopt::Long work
+t/lib/glob-basic.t	See if File::Glob works
+t/lib/glob-case.t	See if File::Glob works
+t/lib/glob-global.t	See if File::Glob works
+t/lib/glob-taint.t	See if File::Glob works
+t/lib/gol-basic.t	See if Getopt::Long works
+t/lib/gol-compat.t	See if Getopt::Long works
+t/lib/gol-linkage.t	See if Getopt::Long works
 t/lib/h2ph.h		Test header file for h2ph
 t/lib/h2ph.pht		Generated output from h2ph.h by h2ph, for comparison
 t/lib/h2ph.t		See if h2ph works like it should
 t/lib/hostname.t	See if Sys::Hostname works
+t/lib/io_const.t	See if constants from IO work
+t/lib/io_dir.t		See if directory-related methods from IO work
 t/lib/io_dup.t		See if dup()-related methods from IO work
+t/lib/io_linenum.t	See if I/O line numbers are tracked correctly
+t/lib/io_multihomed.t	See if INET sockets work with multi-homed hosts
 t/lib/io_pipe.t		See if pipe()-related methods from IO work
+t/lib/io_poll.t		See if poll()-related methods from IO work
 t/lib/io_sel.t		See if select()-related methods from IO work
 t/lib/io_sock.t		See if INET socket-related methods from IO work
 t/lib/io_taint.t	See if the untaint method from IO works
 t/lib/io_tell.t		See if seek()/tell()-related methods from IO work
 t/lib/io_udp.t		See if UDP socket-related methods from IO work
+t/lib/io_unix.t		See if UNIX socket-related methods from IO work
 t/lib/io_xs.t		See if XSUB methods from IO work
 t/lib/ipc_sysv.t	See if IPC::SysV works
 t/lib/ndbm.t		See if NDBM_File works
@@ -893,22 +1294,28 @@ t/lib/selectsaver.t	See if SelectSaver works
 t/lib/socket.t		See if Socket works
 t/lib/soundex.t		See if Soundex works
 t/lib/symbol.t		See if Symbol works
-t/lib/texttabs.t	See if Text::Tabs works
+t/lib/syslfs.t		See if large files work for sysio
 t/lib/textfill.t	See if Text::Wrap::fill works
+t/lib/texttabs.t	See if Text::Tabs works
 t/lib/textwrap.t	See if Text::Wrap::wrap works
-t/lib/thread.t		Basic test of threading (skipped if no threads) 
+t/lib/thr5005.t		Test 5.005-style threading (skipped if no use5005threads) 
 t/lib/tie-push.t	Test for Tie::Array
 t/lib/tie-stdarray.t	Test for Tie::StdArray
+t/lib/tie-stdhandle.t	Test for Tie::StdHandle
 t/lib/tie-stdpush.t	Test for Tie::StdArray
 t/lib/timelocal.t	See if Time::Local works
 t/lib/trig.t		See if Math::Trig works
+t/op/64bitint.t		See if 64 bit integers work
 t/op/append.t		See if . works
+t/op/args.t		See if operations on @_ work
 t/op/arith.t		See if arithmetic works
 t/op/array.t		See if array operations work
 t/op/assignwarn.t	See if OP= operators warn correctly for undef targets
+t/op/attrs.t		See if attributes on declarations work
 t/op/auto.t		See if autoincrement et all work
 t/op/avhv.t		See if pseudo-hashes work
 t/op/bop.t		See if bitops work
+t/op/chars.t		See if character escapes work
 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
@@ -922,12 +1329,16 @@ t/op/do.t		See if subroutines work
 t/op/each.t		See if hash iterators work
 t/op/eval.t		See if eval operator works
 t/op/exec.t		See if exec and system work
+t/op/exists_sub.t	See if exists(&sub) works
 t/op/exp.t		See if math functions work
+t/op/fh.t		See if filehandles work
+t/op/filetest.t		See if file tests work
 t/op/flip.t		See if range operator works
 t/op/fork.t		See if fork works
 t/op/glob.t		See if <*> works
 t/op/goto.t		See if goto works
 t/op/goto_xs.t		See if "goto &sub" works on XSUBs
+t/op/grent.t		See if getgr*() functions work
 t/op/grep.t		See if grep() and map() work
 t/op/groups.t		See if $( works
 t/op/gv.t		See if typeglobs work
@@ -936,20 +1347,25 @@ t/op/inc.t		See if inc/dec of integers near 32 bit limit work
 t/op/index.t		See if index works
 t/op/int.t		See if int works
 t/op/join.t		See if join works
+t/op/lex_assign.t	See if ops involving lexicals or pad temps work
+t/op/lfs.t		See if large files work for perlio
 t/op/list.t		See if array lists work
 t/op/local.t		See if local works
+t/op/lop.t		See if logical operators work
 t/op/magic.t		See if magic variables work
 t/op/method.t		See if method calls work
 t/op/misc.t		See if miscellaneous bugs have been fixed
 t/op/mkdir.t		See if mkdir works
 t/op/my.t		See if lexical scoping works
-t/op/nothread.t		local @_ test which does not work threaded 
+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/ord.t		See if ord works
 t/op/pack.t		See if pack and unpack work
 t/op/pat.t		See if esoteric patterns work
 t/op/pos.t		See if pos works
 t/op/push.t		See if push and pop work
+t/op/pwent.t		See if getpw*() functions work
 t/op/quotemeta.t	See if quotemeta works
 t/op/rand.t		See if rand works
 t/op/range.t		See if .. works
@@ -964,12 +1380,14 @@ t/op/repeat.t		See if x operator works
 t/op/runlevel.t		See if die() works from perl_call_*()
 t/op/sleep.t		See if sleep works
 t/op/sort.t		See if sort works
-t/op/splice.t		See if splice works
+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/stat.t		See if stat works
 t/op/study.t		See if study works
 t/op/subst.t		See if substitution works
+t/op/subst_amp.t	See if $&-related substitution works
+t/op/subst_wamp.t	See if substitution works with $& present
 t/op/substr.t		See if substr works
 t/op/sysio.t		See if sysread and syswrite work
 t/op/taint.t		See if tainting works
@@ -982,36 +1400,111 @@ t/op/undef.t		See if undef works
 t/op/universal.t	See if UNIVERSAL class works
 t/op/unshift.t		See if unshift works
 t/op/vec.t		See if vectors work
+t/op/ver.t		See if v-strings and the %v format flag work
 t/op/wantarray.t	See if wantarray works
 t/op/write.t		See if write works
+t/pod/emptycmd.t	Test empty pod directives
+t/pod/emptycmd.xr	Expected results for emptycmd.t
+t/pod/for.t		Test =for directive
+t/pod/for.xr		Expected results for for.t
+t/pod/headings.t	Test =head directives
+t/pod/headings.xr	Expected results for headings.t
+t/pod/include.t		Test =include directive
+t/pod/include.xr	Expected results for include.t
+t/pod/included.t	Test =include directive
+t/pod/included.xr	Expected results for included.t
+t/pod/lref.t		Test L<...> sequences
+t/pod/lref.xr		Expected results for lref.t
+t/pod/multiline_items.t	Test multiline =items
+t/pod/multiline_items.xr	Test multiline =items
+t/pod/nested_items.t	Test nested =items
+t/pod/nested_items.xr	Expected results for nested_items.t
+t/pod/nested_seqs.t	Test nested interior sequences
+t/pod/nested_seqs.xr	Expected results for nested_seqs.t
+t/pod/oneline_cmds.t	Test single paragraph ==cmds
+t/pod/oneline_cmds.xr	Expected results for oneline_cmds.t
+t/pod/pod2usage.t	Test Pod::Usage
+t/pod/pod2usage.xr	Expected results for pod2usage.t
+t/pod/poderrs.t		Test POD errors
+t/pod/poderrs.xr	Expected results for emptycmd.t
+t/pod/podselect.t	Test Pod::Select
+t/pod/podselect.xr	Expected results for podselect.t
+t/pod/special_seqs.t	Test "special" interior sequences
+t/pod/special_seqs.xr	Expected results for emptycmd.t
+t/pod/testcmp.pl	Module to compare output against expected results
+t/pod/testp2pt.pl	Module to test Pod::PlainText for a given file
+t/pod/testpchk.pl	Module to test Pod::Checker for a given file
 t/pragma/constant.t	See if compile-time constants work
-t/pragma/locale.t	See if locale support (i18n and l10n) works
+t/pragma/diagnostics.t	See if diagnostics.pm works
+t/pragma/locale.t	See if locale support works
+t/pragma/locale/latin1	Part of locale.t in Latin 1
+t/pragma/locale/utf8	Part of locale.t in UTF8
 t/pragma/overload.t	See if operator overloading works
 t/pragma/strict-refs	Tests of "use strict 'refs'" for strict.t
 t/pragma/strict-subs	Tests of "use strict 'subs'" for strict.t
 t/pragma/strict-vars	Tests of "use strict 'vars'" for strict.t
 t/pragma/strict.t	See if strictures work
 t/pragma/subs.t		See if subroutine pseudo-importation works
-t/pragma/warn-1global	Tests of global warnings for warning.t
-t/pragma/warning.t	See if warning controls work
+t/pragma/sub_lval.t	See if lvalue subroutines work
+t/pragma/utf8.t		See if utf8 operations work
+t/pragma/warn/1global	Tests of global warnings for warnings.t
+t/pragma/warn/2use	Tests for "use warnings" for warnings.t
+t/pragma/warn/3both	Tests for interaction of $^W and "use warnings"
+t/pragma/warn/4lint	Tests for -W switch
+t/pragma/warn/5nolint	Tests for -X switch
+t/pragma/warn/6default	Tests default warnings
+t/pragma/warn/7fatal	Tests fatal warnings
+t/pragma/warn/8signal	Tests warnings + __WARN__ and __DIE__
+t/pragma/warn/9enabled	Tests warnings
+t/pragma/warn/av	Tests for av.c for warnings.t
+t/pragma/warn/doio	Tests for doio.c for warnings.t
+t/pragma/warn/doop	Tests for doop.c for warnings.t
+t/pragma/warn/gv	Tests for gv.c for warnings.t
+t/pragma/warn/hv	Tests for hv.c for warnings.t
+t/pragma/warn/malloc	Tests for malloc.c for warnings.t
+t/pragma/warn/mg	Tests for mg.c for warnings.t
+t/pragma/warn/op	Tests for op.c for warnings.t
+t/pragma/warn/perl	Tests for perl.c for warnings.t
+t/pragma/warn/perlio	Tests for perlio.c for warnings.t
+t/pragma/warn/perly	Tests for perly.y for warnings.t
+t/pragma/warn/pp	Tests for pp.c for warnings.t
+t/pragma/warn/pp_ctl	Tests for pp_ctl.c for warnings.t
+t/pragma/warn/pp_hot	Tests for pp_hot.c for warnings.t
+t/pragma/warn/pp_sys	Tests for pp_sys.c for warnings.t
+t/pragma/warn/regcomp	Tests for regcomp.c for warnings.t
+t/pragma/warn/regexec	Tests for regexec.c for warnings.t
+t/pragma/warn/run	Tests for run.c for warnings.t
+t/pragma/warn/sv	Tests for sv.c for warnings.t
+t/pragma/warn/taint	Tests for taint.c for warnings.t
+t/pragma/warn/toke	Tests for toke.c for warnings.t
+t/pragma/warn/universal	Tests for universal.c for warnings.t
+t/pragma/warn/utf8	Tests for utf8.c for warnings.t
+t/pragma/warn/util	Tests for util.c for warnings.t
+t/pragma/warnings.t	See if warning controls work
 taint.c			Tainting code
 thrdvar.h		Per-thread variables
 thread.h		Threading header
-thread.sym		Symbols for threads
 toke.c			The tokener
 universal.c		The default UNIVERSAL package methods
 unixish.h		Defines that are assumed on Unix
+utf8.c			Unicode routines
+utf8.h			Unicode header
 util.c			Utility routines
 util.h			Dummy header
 utils/Makefile		Extract the utility scripts
 utils/c2ph.PL		program to translate dbx stabs to perl
+utils/dprofpp.PL	Perl code profile post-processor
 utils/h2ph.PL		A thing to turn C .h files into perl .ph files
 utils/h2xs.PL		Program to make .xs files from C header files
+utils/perlbc.PL		Front-end for byte compiler
 utils/perlbug.PL	A simple tool to submit a bug report
 utils/perlcc.PL		Front-end for compiler
 utils/perldoc.PL	A simple tool to find & display perl's documentation
 utils/pl2pm.PL		A pl to pm translator
 utils/splain.PL		Stand-alone version of diagnostics.pm
+vmesa/Makefile		VM/ESA Makefile
+vmesa/vmesa.c		VM/ESA-specific C code for Perl core
+vmesa/vmesaish.h	VM/ESA-specific C header for Perl core
 vms/descrip_mms.template		Template MM[SK] description file for build
 vms/ext/DCLsym/0README.txt	ReadMe file for VMS::DCLsym
 vms/ext/DCLsym/DCLsym.pm	Perl access to CLI symbols
@@ -1040,33 +1533,31 @@ vms/perly_c.vms		perly.c with fixed declarations for global syms
 vms/perly_h.vms		perly.h with fixed declarations for global syms
 vms/sockadapt.c		glue for SockshShr socket support
 vms/sockadapt.h		glue for SockshShr socket support
-vms/subconfigure.com	performs compiler checks and writes config.sh, config.h, and descrip.mms
+vms/subconfigure.com    performs compiler checks and writes config.sh, config.h, and descrip.mms
 vms/test.com		DCL driver for regression tests
 vms/vms.c		VMS-specific C code for Perl core
 vms/vms_yfix.pl		convert Unix perly.[ch] to VMS perly_[ch].vms
 vms/vmsish.h		VMS-specific C header for Perl core
 vms/writemain.pl	Generate perlmain.c from miniperlmain.c+extensions
-vos/build.cm		VOS command macro to build Perl   
 vos/Changes		Changes made to port Perl to the VOS operating system
-vos/compile_perl.cm	VOS commnad macro to build multiple version of Perl
+vos/build.cm		VOS command macro to build Perl
+vos/compile_perl.cm	VOS command macro to build multiple version of Perl
+vos/config.def		input for config.pl
 vos/config.h		config.h for VOS
+vos/config.pl		script to convert a config_h.SH to a config.h
 vos/config_h.SH_orig	config_h.SH at the time config.h was created
 vos/perl.bind		VOS bind control file
 vos/test_vos_dummies.c	Test program for "vos_dummies.c"
-vos/vos_accept.c	Wrapper to fixup nonstandard VOS _accept function
 vos/vos_dummies.c	Wrappers to soak up undefined functions
-vos/vosish.h		VOS-specific header file                
-win32/GenCAPI.pl	Win32 port for C API with PERL_OBJECT
+vos/vosish.h		VOS-specific header file
+warnings.h		The warning numbers
+warnings.pl		Program to write warnings.h and lib/warnings.pm
 win32/Makefile		Win32 makefile for NMAKE (Visual C++ build)
-win32/TEST		Win32 port
-win32/autosplit.pl	Win32 port
-win32/bin/network.pl	Win32 port
+win32/bin/exetype.pl	Set executable type to CONSOLE or WINDOWS
 win32/bin/perlglob.pl	Win32 globbing
 win32/bin/pl2bat.pl	wrap perl scripts into batch files
 win32/bin/runperl.pl	run perl script via batch file namesake
 win32/bin/search.pl	Win32 port
-win32/bin/webget.pl	Win32 port
-win32/bin/www.pl	Win32 port
 win32/config.bc		Win32 base line config.sh (Borland C++ build)
 win32/config.gc		Win32 base line config.sh (mingw32/gcc build)
 win32/config.vc		Win32 base line config.sh (Visual C++ build)
@@ -1077,21 +1568,20 @@ win32/config_h.PL	Perl code to convert Win32 config.sh to config.h
 win32/config_sh.PL	Perl code to update Win32 config.sh from Makefile 
 win32/des_fcrypt.patch	Win32 port
 win32/dl_win32.xs	Win32 port
-win32/genxsdef.pl	Win32 port
+win32/genmk95.pl        Perl code to generate command.com-usable makefile.95
 win32/include/arpa/inet.h	Win32 port
 win32/include/dirent.h		Win32 port
 win32/include/netdb.h		Win32 port
 win32/include/sys/socket.h	Win32 port
-win32/makedef.pl	Win32 port
-win32/makefile.mk	Win32 makefile for DMAKE (BC++, VC++ builds)
-win32/makemain.pl	Win32 port
-win32/makeperldef.pl	Win32 port
+win32/makefile.mk       Win32 makefile for DMAKE (BC++, VC++ builds)
 win32/perlglob.c	Win32 port
-win32/perlhost.h	Perl host implementation
+win32/perlhost.h	Perl "host" implementation
 win32/perllib.c		Win32 port
 win32/pod.mak		Win32 port
 win32/runperl.c		Win32 port
 win32/splittree.pl	Win32 port
+win32/vdir.h		Perl "host" virtual directory manager
+win32/vmem.h		Perl "host" memory manager
 win32/win32.c		Win32 port
 win32/win32.h		Win32 port
 win32/win32iop.h	Win32 port
@@ -1118,3 +1608,4 @@ x2p/str.h		Public declarations for the above
 x2p/util.c		Utility routines
 x2p/util.h		Public declarations for the above
 x2p/walk.c		Parse tree walker
+xsutils.c		Additional bundled package methods not in UNIVERSAL::
diff --git a/gnu/usr.bin/perl/Makefile.SH b/gnu/usr.bin/perl/Makefile.SH
index 15616d63098..285269de442 100644
--- a/gnu/usr.bin/perl/Makefile.SH
+++ b/gnu/usr.bin/perl/Makefile.SH
@@ -1,5 +1,5 @@
 #! /bin/sh
-case $CONFIG in
+case $CONFIGDOTSH in
 '')
 	if test -f config.sh; then TOP=.;
 	elif test -f ../config.sh; then TOP=..;
@@ -29,24 +29,32 @@ ldlibpth=''
 case "$useshrplib" in
 true)
 	# Prefix all runs of 'miniperl' and 'perl' with 
-	# $ldlibpth so that ./perl finds *this* libperl.so.
-	ldlibpth="LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH"
+	# $ldlibpth so that ./perl finds *this* shared libperl.
+	case "$LD_LIBRARY_PATH" in
+	'')
+		ldlibpth="LD_LIBRARY_PATH=`pwd`";;
+	*)
+		ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
+	esac
 
 	pldlflags="$cccdlflags"
-	# NeXT-4 specific stuff.  Can't we do this in the hint file?
 	case "${osname}${osvers}" in
 	next4*)
 		ld=libtool
 		lddlflags="-dynamic -undefined warning -framework System \
 		-compatibility_version 1 -current_version $patchlevel \
 		-prebind -seg1addr 0x27000000 -install_name \$(shrpdir)/\$@"
-		# NeXT uses a different name.
-		ldlibpth="DYLD_LIBRARY_PATH=`pwd`:$DYLD_LIBRARY_PATH"
 		;;
-	beos*)	ldlibpth="LIBRARY_PATH=`pwd`:$LIBRARY_PATH"
+	rhapsody*|darwin*)
+		shrpldflags="${ldflags} -dynamiclib \
+			     -compatibility_version 1 \
+			     -current_version \
+				${api_version}.${api_subversion} \
+			     -image_base 0x4be00000 \
+			     -install_name \$(shrpdir)/\$@"
 		;;
-	os2*)	# OS/2 doesn't need anything special for LD_LIBRARY_PATH.
-		ldlibpth=''
+	cygwin*)
+		linklibperl="-lperl"
 		;;
 	sunos*)
 		linklibperl="-lperl"
@@ -57,20 +65,33 @@ true)
 	aix*)
 		shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
 		case "$osvers" in
-		3*)
-			shrpldflags="$shrpldflags -e _nostart $ldflags $libs $cryptlib"
+		3*)	shrpldflags="$shrpldflags -e _nostart"
 			;;
-		*)
-			shrpldflags="$shrpldflags -b noentry $ldflags $libs $cryptlib"
+		*)	shrpldflags="$shrpldflags -b noentry"
 			;;
 		esac
-		aixinstdir=`pwd | sed 's/\/UU$//'`
-		linklibperl="-L $archlibexp/CORE -L $aixinstdir -lperl"
+	        shrpldflags="$shrpldflags $ldflags $libs $cryptlib"
+		linklibperl="-L $archlibexp/CORE -L `pwd | sed 's/\/UU$//'` -lperl"
 		;;
-	hpux10*)
-		linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+b$archlibexp/CORE -lperl"
+	hpux*)
+		linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s -Wl,+b$archlibexp/CORE -lperl"
 		;;
 	esac
+	case "$ldlibpthname" in
+	'') ;;
+	*)
+	    case "$osname" in
+	    os2)
+	        ldlibpth=''
+	        ;;
+	    *)
+		eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
+		;;
+	    esac
+	    # Strip off any trailing :'s
+	    ldlibpth=`echo $ldlibpth | sed 's/:*$//'`
+	    ;;
+        esac
 	;;
 *)	pldlflags=''
 	;;
@@ -146,7 +167,7 @@ LLIBPERL= $linklibperl
 SHRPENV = $shrpenv
 
 # The following is used to include the current directory in
-# LD_LIBRARY_PATH if you are building a shared libperl.so.
+# the dynamic loader path you are building a shared libperl.
 LDLIBPTH = $ldlibpth
 
 dynamic_ext = $dynamic_list
@@ -185,6 +206,10 @@ SHELL = $sh
 # how to tr(anslate) newlines
 TRNL = '$trnl'
 
+# not used by Makefile but by installperl;
+# mentioned here so that metaconfig picks it up
+INSTALL_USR_BIN_PERL = $installusrbinperl
+
 !GROK!THIS!
 
 ## In the following dollars and backticks do not need the extra backslash.
@@ -197,36 +222,39 @@ private = preplibrary lib/ExtUtils/Miniperl.pm lib/Config.pm
 # Files to be built with variable substitution before miniperl
 # is available.
 sh = Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH \
-	makedir.SH perl_exp.SH writemain.SH
+	makedir.SH myconfig.SH writemain.SH
 
 shextract = Makefile cflags config.h makeaperl makedepend \
-	makedir perl.exp writemain
+	makedir myconfig writemain
 
 # Files to be built with variable substitution after miniperl is
 # available.  Dependencies handled manually below (for now).
 
-pl = pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL
+pl = pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL \
+	pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL
 
-plextract = pod/pod2html pod/pod2latex pod/pod2man pod/pod2text
+plextract = pod/pod2html pod/pod2latex pod/pod2man pod/pod2text \
+	pod/pod2usage pod/podchecker pod/podselect
 
 addedbyconf = UU $(shextract) $(plextract) pstruct
 
 h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h
 h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h
-h3 = opcode.h patchlevel.h perl.h perly.h pp.h proto.h regcomp.h
+h3 = opcode.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h
 h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
-h5 = bytecode.h byterun.h
+h5 = utf8.h warnings.h
 h = $(h1) $(h2) $(h3) $(h4) $(h5)
 
-c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c byterun.c
-c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c
-c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c globals.c perlio.c
+c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c
+c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c
+c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c
+c4 = globals.c perlio.c perlapi.c
 
-c = $(c1) $(c2) $(c3) miniperlmain.c perlmain.c
+c = $(c1) $(c2) $(c3) $(c4) miniperlmain.c perlmain.c
 
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) byterun$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT)
 obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
-obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT)
+obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT)
 
 obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 
@@ -245,7 +273,7 @@ lintflags = -hbvxac
 .c$(OBJ_EXT):
 	$(CCCMD) $(PLDLFLAGS) $*.c
 
-all: $(FIRSTMAKEFILE) miniperl $(private) $(plextract) $(public) $(dynamic_ext) $(nonxs_ext)
+all: $(FIRSTMAKEFILE) miniperl extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext)
 	@echo " ";
 	@echo "	Everything is up to date. 'make test' to run test suite."
 
@@ -258,7 +286,7 @@ compile: all
 translators:	miniperl lib/Config.pm FORCE
 	@echo " "; echo "	Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
 
-utilities:	miniperl lib/Config.pm FORCE
+utilities:	miniperl lib/Config.pm $(plextract) FORCE
 	@echo " "; echo "	Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
 
 
@@ -270,12 +298,18 @@ utilities:	miniperl lib/Config.pm FORCE
 FORCE:
 	@sh -c true
 
+opmini$(OBJ_EXT): op.c
+	$(RMS) opmini.c
+	$(LNS) op.c opmini.c
+	$(CCCMD) $(PLDLFLAGS) -DPERL_EXTERNAL_GLOB opmini.c
+	$(RMS) opmini.c
+
 miniperlmain$(OBJ_EXT): miniperlmain.c
 	$(CCCMD) $(PLDLFLAGS) $*.c
 
 perlmain.c: miniperlmain.c config.sh $(FIRSTMAKEFILE)
-	sh writemain $(DYNALOADER) $(static_ext) > tmp
-	sh mv-if-diff tmp perlmain.c
+	sh writemain $(DYNALOADER) $(static_ext) > writemain.tmp
+	sh mv-if-diff writemain.tmp perlmain.c
 
 perlmain$(OBJ_EXT): perlmain.c
 	$(CCCMD) $(PLDLFLAGS) $*.c
@@ -290,15 +324,81 @@ ext.libs: $(static_ext)
 
 # How to build libperl.  This is still rather convoluted.
 # Load up custom Makefile.SH fragment for shared loading and executables:
-if test -r $osname/Makefile.SHs ; then
-	. $osname/Makefile.SHs
+case "$osname" in
+*)
+	Makefile_s="$osname/Makefile.SHs"
+	;;
+esac
+
+case "$osname" in
+aix)
+	$spitshell >>Makefile <>Makefile <<'!NO!SUBS!'
+
+LIBPERL_NONSHR		= libperl_nonshr$(LIB_EXT)
+MINIPERL_NONSHR		= miniperl_nonshr$(EXE_EXT)
+
+$(LIBPERL_NONSHR): perl$(OBJ_EXT) $(obj)
+	$(RMS) $(LIBPERL_NONSHR)
+	$(AR) rcu $(LIBPERL_NONSHR) perl$(OBJ_EXT) $(obj)
+
+$(MINIPERL_NONSHR): $(LIBPERL_NONSHR) miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT)
+	$(CC) $(LDFLAGS) -o $(MINIPERL_NONSHR) miniperlmain$(OBJ_EXT) \
+	    opmini$(OBJ_EXT) $(LIBPERL_NONSHR) $(LIBS)
+
+MINIPERLEXP		= $(MINIPERL_NONSHR)
+
+LIBPERLEXPORT		= perl.exp
+
+!NO!SUBS!
+		
+		;;
+	*)	
+		$spitshell >>Makefile <<'!NO!SUBS!'
+MINIPERLEXP		= miniperl$(EXE_EXT)
+
+PERLEXPORT		= perl.exp
+
+!NO!SUBS!
+	;;
+	esac
+	$spitshell >>Makefile <<'!NO!SUBS!'
+perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH)
+	./$(MINIPERLEXP) makedef.pl PLATFORM=aix | sort -u | sort -f > perl.exp.tmp
+	sh mv-if-diff perl.exp.tmp perl.exp
+
+!NO!SUBS!
+	;;
+os2)
+	$spitshell >>Makefile <<'!NO!SUBS!'
+MINIPERLEXP		= miniperl
+
+perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map
+	./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) > perl.exp.tmp
+	sh mv-if-diff perl.exp.tmp perl5.def
+
+!NO!SUBS!
+	;;
+esac
+
+if test -r $Makefile_s ; then
+	. $Makefile_s
 	$spitshell >>Makefile <>Makefile <<'!NO!SUBS!'
-$(LIBPERL): $& perl$(OBJ_EXT) $(obj)
+$(LIBPERL): $& perl$(OBJ_EXT) $(obj) $(LIBPERLEXPORT)
 !NO!SUBS!
 	case "$useshrplib" in
 	true)
@@ -335,20 +435,48 @@ $(LIBPERL): $& perl$(OBJ_EXT) $(obj)
 # build problems but that's not obvious to the novice.
 # The Module used here must not depend on Config or any extensions.
 
-miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL)
-	$(LDLIBPTH) $(CC) $(LARGE) $(CLDFLAGS) -o miniperl miniperlmain$(OBJ_EXT) $(LLIBPERL) $(libs)
-	$(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e 0 || $(MAKE) minitest
+!NO!SUBS!
+
+	case "${osname}${osvers}" in
+	next4*)
+		$spitshell >>Makefile <<'!NO!SUBS!'
+miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+	$(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+	$(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest
+!NO!SUBS!
+		;;
+	aix*)
+		$spitshell >>Makefile <<'!NO!SUBS!'
+miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+	$(CC) -o miniperl $(CLDFLAGS) \
+	    `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+	$(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest
+!NO!SUBS!
+		;;
+	*)
+		$spitshell >>Makefile <<'!NO!SUBS!'
+miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+	$(LDLIBPTH) $(CC) $(LARGE) $(CLDFLAGS) -o miniperl \
+	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
+	$(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest
+!NO!SUBS!
+		;;
+	esac
+
+	$spitshell >>Makefile <<'!NO!SUBS!'
 
-perl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
+perl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
 	$(SHRPENV) $(LDLIBPTH) $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
-pureperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
+pureperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
 	$(SHRPENV) $(LDLIBPTH) purify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
-purecovperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
+purecovperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
 	$(SHRPENV) $(LDLIBPTH) purecov $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o purecovperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
-quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
+quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
 	$(SHRPENV) $(LDLIBPTH) quantify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 # This version, if specified in Configure, does ONLY those scripts which need
@@ -356,7 +484,7 @@ quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
 # checks as well as the special code to validate that the script in question
 # has been invoked correctly.
 
-suidperl: $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
+suidperl: $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT)
 	$(SHRPENV) $(LDLIBPTH) $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o suidperl perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 !NO!SUBS!
@@ -374,7 +502,7 @@ sperl$(OBJ_EXT): perl.c perly.h patchlevel.h $(h)
 # We have to call our ./makedir because Ultrix 4.3 make can't handle the line
 #	test -d lib/auto || mkdir lib/auto
 #
-preplibrary: miniperl lib/Config.pm $(plextract)
+preplibrary: miniperl lib/Config.pm
 	@sh ./makedir lib/auto
 	@echo "	AutoSplitting perl library"
 	$(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
@@ -383,21 +511,34 @@ preplibrary: miniperl lib/Config.pm $(plextract)
 # Take care to avoid modifying lib/Config.pm without reason
 # (If trying to create a new port and having problems with the configpm script, 
 # try 'make minitest' and/or commenting out the tests at the end of configpm.)
-lib/Config.pm: config.sh miniperl configpm
-	$(LDLIBPTH) ./miniperl configpm tmp
-	sh mv-if-diff tmp $@
+lib/Config.pm: config.sh miniperl configpm lib/re.pm
+	$(LDLIBPTH) ./miniperl configpm configpm.tmp
+	sh mv-if-diff configpm.tmp $@
 
 lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl minimod.pl lib/Config.pm
-	$(LDLIBPTH) ./miniperl minimod.pl > tmp
-	sh mv-if-diff tmp $@
+	$(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
+	sh mv-if-diff minimod.tmp $@
 
 lib/re.pm: ext/re/re.pm
 	rm -f $@
 	cat ext/re/re.pm > $@
 
-$(plextract):	miniperl lib/Config.pm lib/re.pm
+$(plextract):	miniperl lib/Config.pm
 	$(LDLIBPTH) ./miniperl -Ilib $@.PL
-	
+
+extra.pods: miniperl
+	-@test -f extra.pods && rm -f `cat extra.pods`
+	-@rm -f extra.pods
+	-@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+	    nx=`echo $$x | sed -e "s/README\.//"`; \
+	    $(LNS) ../$$x "pod/perl"$$nx".pod" ; \
+	    echo "pod/perl"$$nx".pod" >> extra.pods ; \
+	done
+	-@test -f vms/perlvms.pod && $(LNS) ../vms/perlvms.pod pod/perlvms.pod && echo "pod/perlvms.pod" >> extra.pods
+
+install-strip:
+	$(MAKE) STRIPFLAGS=-s install
+
 install: all install.perl install.man
 
 install.perl:	all installperl
@@ -408,7 +549,7 @@ install.perl:	all installperl
 		cd ../pod; $(MAKE) compile; \
 	else :; \
 	fi
-	$(LDLIBPTH) ./perl installperl
+	$(LDLIBPTH) ./perl installperl $(STRIPFLAGS)
 
 install.man:	all installman
 	$(LDLIBPTH) ./perl installman
@@ -416,6 +557,7 @@ install.man:	all installman
 # XXX Experimental. Hardwired values, but useful for testing.
 # Eventually Configure could ask for some of these values.
 install.html: all installhtml
+	-@test -f README.vms && $(LNS) ../README.vms vms/README_vms.pod
 	$(LDLIBPTH) ./perl installhtml                   \
       --podroot=. --podpath=. --recurse  \
       --htmldir=$(privlib)/html     \
@@ -434,13 +576,12 @@ install.html: all installhtml
 # normally shouldn't remake perly.[ch].
 
 run_byacc:	FORCE
-	@ echo 'Expect' 113 shift/reduce and 1 reduce/reduce conflict
 	$(BYACC) -d perly.y
-	chmod 664 perly.c
+	-chmod 664 perly.c
 	sh $(shellflags) ./perly.fixer y.tab.c perly.c
 	sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
 	    -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
-	echo 'extern YYSTYPE yylval;' >>y.tab.h
+	sed -e '/^extern YYSTYPE yy/D' y.tab.h >yh.tmp && mv yh.tmp y.tab.h
 	cmp -s y.tab.h perly.h && rm -f y.tab.h || mv y.tab.h perly.h
 	chmod 664 vms/perly_c.vms vms/perly_h.vms
 	perl vms/vms_yfix.pl perly.c perly.h vms/perly_c.vms vms/perly_h.vms
@@ -448,36 +589,51 @@ run_byacc:	FORCE
 # We don't want to regenerate perly.c and perly.h, but they might
 # appear out-of-date after a patch is applied or a new distribution is
 # made.
-perly.c:
+perly.c: perly.y
 	-@sh -c true
 
-perly.h:
+perly.h: perly.y
 	-@sh -c true
 
 # No compat3.sym here since and including the 5.004_50.
 # No interp.sym since 5.005_03.
-SYM  = global.sym perlio.sym thread.sym
+SYM  = global.sym globvar.sym perlio.sym pp.sym
 
-SYMH = perlvars.h thrdvar.h
+SYMH = perlvars.h intrpvar.h thrdvar.h
+
+CHMOD_W = chmod +w
 
 # The following files are generated automatically
-#	keywords.h:	keywords.pl
-#	opcode.h:	opcode.pl
-#	embed.h:  	embed.pl global.sym
-#	byterun.h:	bytecode.pl
-#	byterun.c:	bytecode.pl
-#	lib/B/Asmdata.pm:	bytecode.pl
-#	regnodes.h:	regcomp.pl
+#	keywords.pl:	keywords.h
+#	opcode.pl:	opcode.h opnames.h pp_proto.h pp.sym
+# [* embed.pl needs pp.sym generated by opcode.pl! *]
+#	embed.pl:	proto.h embed.h embedvar.h global.sym objXSUB.h
+#			perlapi.h perlapi.c pod/perlintern.pod
+#			pod/perlapi.pod
+#	bytecode.pl:	ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c
+#			ext/B/B/Asmdata.pm
+#	regcomp.pl:	regnodes.h
+#	warnings.pl:	warnings.h lib/warnings.pm
 # The correct versions should be already supplied with the perl kit,
 # in case you don't have perl available.
-# To force them to run, type
+# To force them to be regenerated, type
 #	make regen_headers
+
+AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \
+		embed.h embedvar.h global.sym \
+		pod/perlintern.pod pod/perlapi.pod \
+		objXSUB.h perlapi.h perlapi.c ext/ByteLoader/byterun.h \
+		ext/ByteLoader/byterun.c ext/B/B/Asmdata.pm regnodes.h \
+		warnings.h lib/warnings.pm
+
 regen_headers:	FORCE
-	perl keywords.pl
-	perl opcode.pl
-	perl embed.pl
-	perl bytecode.pl
-	perl regcomp.pl
+	-$(CHMOD_W) $(AUTOGEN_FILES)
+	-perl keywords.pl
+	-perl opcode.pl
+	-perl embed.pl
+	-perl bytecode.pl
+	-perl regcomp.pl
+	-perl warnings.pl
 
 # Extensions:
 # Names added to $(dynamic_ext) or $(static_ext) or $(nonxs_ext) will
@@ -514,38 +670,42 @@ distclean:	clobber
 # Do not 'make _mopup' directly.
 _mopup:
 	rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c
-	rm -f perl.exp ext.libs
+	-@test -f extra.pods && rm -f `cat extra.pods`
+	-@test -f vms/README_vms.pod && rm -f vms/README_vms.pod
+	-rm -f perl.exp ext.libs extra.pods
 	-rm -f perl.export perl.dll perl.libexp perl.map perl.def
+	-rm -f perl.loadmap miniperl.loadmap perl.prelmap miniperl.prelmap
 	rm -f perl suidperl miniperl $(LIBPERL)
 
 # Do not 'make _tidy' directly.
 _tidy:
-	-cd pod; $(MAKE) clean
-	-cd utils; $(MAKE) clean
-	-cd x2p; $(MAKE) clean
+	-cd pod; $(LDLIBPTH) $(MAKE) clean
+	-cd utils; $(LDLIBPTH) $(MAKE) clean
+	-cd x2p; $(LDLIBPTH) $(MAKE) clean
 	-@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
-	sh ext/util/make_ext clean $$x MAKE=$(MAKE) ; \
+	$(LDLIBPTH) sh ext/util/make_ext clean $$x MAKE=$(MAKE) ; \
 	done
 	rm -f testcompile compilelog
 
 # Do not 'make _cleaner' directly.
 _cleaner:
 	-cd os2; rm -f Makefile
-	-cd pod; $(MAKE) realclean
-	-cd utils; $(MAKE) realclean
-	-cd x2p; $(MAKE) realclean
+	-cd pod; $(LDLIBPTH) $(MAKE) realclean
+	-cd utils; $(LDLIBPTH) $(MAKE) realclean
+	-cd x2p; $(LDLIBPTH) $(MAKE) realclean
 	-@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
-	sh ext/util/make_ext realclean $$x MAKE=$(MAKE) ; \
+	$(LDLIBPTH) sh ext/util/make_ext realclean $$x MAKE=$(MAKE) ; \
 	done
-	rm -f *.orig */*.orig *~ */*~ core t/core t/c t/perl
+	rm -f *.orig */*.orig *~ */*~ core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/tmp* t/c t/perl .?*.c so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
 	rm -rf $(addedbyconf)
 	rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old
 	rm -f $(private)
 	rm -rf lib/auto
-	rm -f lib/.exists
+	rm -f lib/.exists lib/*/.exists
 	rm -f h2ph.man pstruct
 	rm -rf .config
 	rm -f testcompile compilelog
+	-rmdir lib/B lib/Data lib/IO/Socket lib/IO
 
 # The following lint has practically everything turned on.  Unfortunately,
 # you have to wade through a lot of mumbo jumbo that can't be suppressed.
@@ -567,10 +727,6 @@ $(FIRSTMAKEFILE):	README $(MAKEDEPEND)
 config.h: config_h.SH config.sh
 	$(SHELL) config_h.SH
 
-# This is an AIXism.
-perl.exp: perl_exp.SH config.sh $(SYM) $(SYMH)
-	$(SHELL) perl_exp.SH
-
 # When done, touch perlmain.c so that it doesn't get remade each time.
 depend: makedepend
 	sh ./makedepend MAKE=$(MAKE)
@@ -581,11 +737,26 @@ depend: makedepend
 makedepend: makedepend.SH config.sh
 	sh ./makedepend.SH
 
-test-prep: miniperl perl preplibrary utilities $(dynamic_ext) $(nonxs_ext)
+# Cannot delegate rebuilding of t/perl to make to allow interlaced
+# test and minitest
+test-prep: miniperl perl preplibrary utilities $(dynamic_ext) $(nonxs_ext) $(TEST_PERL_DLL)
 	cd t && (rm -f perl$(EXE_EXT); $(LNS) ../perl$(EXE_EXT) perl$(EXE_EXT))
 
+# Second branch is for testing without a tty or controling terminal.
+# See t/op/stat.t
 test check: test-prep
-	cd t && $(LDLIBPTH) ./perl TEST /dev/null 2>&1; then \
+	  cd t && $(LDLIBPTH) ./perl TEST /dev/null 2>&1; then \
+	  cd t && $(LDLIBPTH) ./perl UTEST .clist
 
@@ -635,9 +809,19 @@ elc:	emacs/cperl-mode.elc
 emacs/cperl-mode.elc: emacs/cperl-mode.el
 	-cd emacs; emacs -batch -q -no-site-file -f batch-byte-compile cperl-mode.el
 
-etags:	emacs/cperl-mode.elc
+etags:	TAGS
+
+TAGS: emacs/cperl-mode.elc
 	sh emacs/ptags
 
+ctags:	tags
+
+# Let's hope make will not go into an infinite loop on case-unsensitive systems
+# This may also fail if . is in the head of the path, since perl will
+# require -Ilib
+tags:	TAGS
+	perl emacs/e2ctags.pl TAGS > tags
+
 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
 # If this runs make out of memory, delete /usr/include lines.
 !NO!SUBS!
@@ -658,8 +842,9 @@ $define)
     xxx=''
     echo "This is an EBCDIC system, checking if any parser files need regenerating." >&4
 case "$osname" in
-os390)
+os390|posix-bc)
     rm -f y.tab.c y.tab.h
+    # yacc must be a reentrant ("pure") Bison in BS2000 Posix!
     yacc -d perly.y >/dev/null 2>&1
     if cmp -s y.tab.c perly.c; then
         rm -f y.tab.c
@@ -667,8 +852,21 @@ os390)
         echo "perly.y -> perly.c" >&2
         mv -f y.tab.c perly.c
         chmod u+w perly.c
-	sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
-	    -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
+        sed -e '/^#include "perl\.h"/a\
+\
+#define yydebug    PL_yydebug\
+#define yynerrs    PL_yynerrs\
+#define yyerrflag  PL_yyerrflag\
+#define yychar     PL_yychar\
+#define yyval      PL_yyval\
+#define yylval     PL_yylval'				\
+            -e '/YYSTYPE *yyval;/D'			\
+            -e '/YYSTYPE *yylval;/D'			\
+            -e '/int  yychar,/,/yynerrs;/D'		\
+            -e 's/int yydebug = 0;/yydebug = 0;/'	\
+            -e 's/[^_]realloc(/PerlMem_realloc(/g'	\
+            -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
+            -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
         xxx="$xxx perly.c"
     fi
     if cmp -s y.tab.h perly.h; then
@@ -681,7 +879,15 @@ os390)
     if cd x2p
     then
         rm -f y.tab.c y.tab.h
-        yacc a2p.y >/dev/null 2>&1
+        case "$osname" in
+        posix-bc)
+           # we are using two different yaccs in BS2000 Posix!
+           byacc a2p.y >/dev/null 2>&1
+           ;;
+        *) # e.g. os390
+           yacc  a2p.y >/dev/null 2>&1
+           ;;
+        esac
         if cmp -s y.tab.c a2p.c
         then
             rm -f y.tab.c
@@ -708,6 +914,9 @@ os390)
         cd ..
     fi
     ;;
+vmesa)
+    # Do nothing in VM/ESA.
+    ;;
 *)
     echo "'$osname' is an EBCDIC system I don't know that well." >&4
     ;;
@@ -717,3 +926,4 @@ esac
     esac
     ;;
 esac
+
diff --git a/gnu/usr.bin/perl/Makefile.bsd-wrapper b/gnu/usr.bin/perl/Makefile.bsd-wrapper
index 4fb38548ecc..52d0b1b4fca 100644
--- a/gnu/usr.bin/perl/Makefile.bsd-wrapper
+++ b/gnu/usr.bin/perl/Makefile.bsd-wrapper
@@ -1,8 +1,11 @@
-#	$OpenBSD: Makefile.bsd-wrapper,v 1.32 2000/04/05 22:03:33 millert Exp $
+# $OpenBSD: Makefile.bsd-wrapper,v 1.33 2000/04/06 17:03:36 millert Exp $
 #
-# Build wrapper for Perl 5.005_03.
+# Build wrapper for Perl 5.6.0
 #
 
+# To build a threaded perl, uncomment this.  Currently, there are bugs...
+#THREADED=-Dusethreads
+
 # For ``NOMAN''
 .include 
 
@@ -10,70 +13,98 @@
 # with the one installed with X11.
 LNDIR=		/usr/bin/lndir
 
-# Note: using the in-tree version means you must already have a perl installed
-H2PH=		/usr/bin/h2ph
+# We use the pod2man we just built since we don't know what's in the tree.
+# This will be wrong for cross builds.  In that case, just use in-tree one.
+TARGET_MACHINE_ARCH?=	$(MACHINE_ARCH)
+.if ($(TARGET_MACHINE_ARCH) != $(MACHINE_ARCH))
 POD2MAN=	/usr/bin/pod2man
+.else
+POD2MAN=	./perl -I ./lib ./pod/pod2man
+.endif
+H2PH=		/usr/bin/h2ph
 
 .ifndef NOMAN
-MANALL=	perl.cat1 perlapio.cat1 perlbook.cat1 perlbot.cat1 perlcall.cat1 \
-	perldata.cat1 perldebug.cat1 perldelta.cat1 perldiag.cat1 \
-	perldsc.cat1 perlembed.cat1 perlfaq.cat1 perlfaq1.cat1 perlfaq2.cat1 \
-	perlfaq3.cat1 perlfaq4.cat1 perlfaq5.cat1 perlipc.cat1 perlfaq6.cat1 \
-	perlfaq7.cat1 perlfaq8.cat1 perlfaq9.cat1 perlform.cat1 perlfunc.cat1 \
-	perlguts.cat1 perllocale.cat1 perllol.cat1 perlmod.cat1 \
-	perlmodlib.cat1 perlobj.cat1 perlop.cat1 perlpod.cat1 perlre.cat1 \
-	perlref.cat1 perlrun.cat1 perlsec.cat1 perlstyle.cat1 perlsub.cat1 \
-	perlsyn.cat1 perltie.cat1 perltoc.cat1 perltoot.cat1 perltrap.cat1 \
-	perlvar.cat1 perlxs.cat1 perlxstut.cat1 perl5004delta.cat1 \
-	perlhist.cat1 perlmodinstall.cat1 perlopentut.cat1 perlport.cat1 \
-	perlreftut.cat1 perlthrtut.cat1 CGI.cat3p CGI::Apache.cat3p \
-	CGI::Carp.cat3p CGI::Fast.cat3p CGI::Push.cat3p CGI::Switch.cat3p \
-	CGI::Cookie.cat3p CPAN::FirstTime.cat3p CPAN::Nox.cat3p \
-	Class::Struct.cat3p Devel::SelfStubber.cat3p ExtUtils::Command.cat3p \
-	ExtUtils::Embed.cat3p ExtUtils::Install.cat3p ExtUtils::Liblist.cat3p \
-	ExtUtils::MM_OS2.cat3p ExtUtils::MM_Unix.cat3p ExtUtils::MM_VMS.cat3p \
-	ExtUtils::MM_Win32.cat3p ExtUtils::MakeMaker.cat3p \
-	ExtUtils::Manifest.cat3p ExtUtils::Mkbootstrap.cat3p \
-	ExtUtils::Mksymlists.cat3p ExtUtils::testlib.cat3p \
-	ExtUtils::Installed.cat3p ExtUtils::Packlist.cat3p \
-	ExtUtils::Miniperl.cat3p IPC::Open2.cat3p IPC::Open3.cat3p \
-	IPC::SysV.cat3p IPC::Msg.cat3p IPC::Semaphore.cat3p \
-	File::Basename.cat3p File::CheckTree.cat3p File::Compare.cat3p \
-	File::Copy.cat3p File::DosGlob.cat3p File::Find.cat3p \
-	File::Path.cat3p File::stat.cat3p File::Spec::Unix.cat3p \
-	File::Spec::Mac.cat3p File::Spec::OS2.cat3p File::Spec::Win32.cat3p \
-	File::Spec::VMS.cat3p File::Spec.cat3p Getopt::Long.cat3p \
-	Getopt::Std.cat3p I18N::Collate.cat3p Math::BigFloat.cat3p \
-	Math::BigInt.cat3p Math::Complex.cat3p Math::Trig.cat3p \
-	Net::Ping.cat3p Net::hostent.cat3p Net::netent.cat3p \
-	Net::protoent.cat3p Net::servent.cat3p Pod::Html.cat3p \
-	Pod::Text.cat3p Search::Dict.cat3p Sys::Hostname.cat3p \
-	Sys::Syslog.cat3p Term::Cap.cat3p Term::Complete.cat3p \
-	Term::ReadLine.cat3p Test::Harness.cat3p Text::Abbrev.cat3p \
-	Text::ParseWords.cat3p Text::Soundex.cat3p Text::Tabs.cat3p \
-	Text::Wrap.cat3p Tie::Hash.cat3p Tie::RefHash.cat3p Tie::Scalar.cat3p \
-	Tie::SubstrHash.cat3p Tie::Array.cat3p Tie::Handle.cat3p \
-	Time::Local.cat3p Time::gmtime.cat3p Time::localtime.cat3p \
-	Time::tm.cat3p User::grent.cat3p User::pwent.cat3p AnyDBM_File.cat3p \
-	AutoLoader.cat3p AutoSplit.cat3p Benchmark.cat3p CPAN.cat3p \
-	Carp.cat3p Cwd.cat3p Env.cat3p B::Deparse.cat3p B::CC.cat3p \
-	B::Debug.cat3p B::Showlex.cat3p B::Bblock.cat3p B::Bytecode.cat3p \
-	B::Stackobj.cat3p B::Xref.cat3p B::Lint.cat3p B::Asmdata.cat3p \
-	B::Assembler.cat3p B::Disassembler.cat3p B::Terse.cat3p B::C.cat3p \
-	DirHandle.cat3p English.cat3p base.cat3p Exporter.cat3p \
-	FileCache.cat3p FileHandle.cat3p FindBin.cat3p SelectSaver.cat3p \
-	SelfLoader.cat3p Shell.cat3p Symbol.cat3p UNIVERSAL.cat3p blib.cat3p \
-	autouse.cat3p constant.cat3p diagnostics.cat3p lib.cat3p \
-	integer.cat3p less.cat3p locale.cat3p overload.cat3p subs.cat3p \
-	sigtrap.cat3p strict.cat3p vars.cat3p Dumpvalue.cat3p Fatal.cat3p \
-	Test.cat3p fields.cat3p Config.cat3p re.cat3p DynaLoader.cat3p \
-	B.cat3p O.cat3p DB_File.cat3p Data::Dumper.cat3p Fcntl.cat3p \
-	IO::File.cat3p IO::Select.cat3p IO::Socket.cat3p IO::Handle.cat3p \
-	IO::Seekable.cat3p IO::Pipe.cat3p IO.cat3p NDBM_File.cat3p Safe.cat3p \
-	ODBM_File.cat3p Opcode.cat3p ops.cat3p POSIX.cat3p SDBM_File.cat3p \
-	Socket.cat3p attrs.cat3p Errno.cat3p c2ph.cat1 h2ph.cat1 h2xs.cat1 \
-	perldoc.cat1 perlbug.cat1 pl2pm.cat1 splain.cat1 s2p.cat1 a2p.cat1 \
-	pod2man.cat1 pod2html.cat1 xsubpp.cat1
+MANALL=	Win32.cat1 a2p.cat1 c2ph.cat1 dprofpp.cat1 find2perl.cat1 \
+        h2ph.cat1 h2xs.cat1 perl.cat1 perl5004delta.cat1 \
+        perl5005delta.cat1 perlamiga.cat1 perlapi.cat1 perlapio.cat1 \
+        perlbook.cat1 perlboot.cat1 perlbot.cat1 perlbug.cat1 \
+        perlcall.cat1 perlcc.cat1 perlcompile.cat1 perlcygwin.cat1 \
+        perldata.cat1 perldbmfilter.cat1 perldebguts.cat1 perldebug.cat1 \
+        perldelta.cat1 perldiag.cat1 perldoc.cat1 perldos.cat1 \
+        perldsc.cat1 perlembed.cat1 perlfaq.cat1 perlfaq1.cat1 \
+        perlfaq2.cat1 perlfaq3.cat1 perlfaq4.cat1 perlfaq5.cat1 \
+        perlfaq6.cat1 perlfaq7.cat1 perlfaq8.cat1 perlfaq9.cat1 \
+        perlfilter.cat1 perlfork.cat1 perlform.cat1 perlfunc.cat1 \
+        perlguts.cat1 perlhack.cat1 perlhist.cat1 perlhpux.cat1 \
+        perlintern.cat1 perlipc.cat1 perllexwarn.cat1 perllocale.cat1 \
+        perllol.cat1 perlmachten.cat1 perlmod.cat1 perlmodinstall.cat1 \
+        perlmodlib.cat1 perlnumber.cat1 perlobj.cat1 perlop.cat1 \
+        perlopentut.cat1 perlos2.cat1 perlos390.cat1 perlpod.cat1 \
+        perlport.cat1 perlre.cat1 perlref.cat1 perlreftut.cat1 \
+        perlrun.cat1 perlsec.cat1 perlstyle.cat1 perlsub.cat1 \
+        perlsyn.cat1 perlthrtut.cat1 perltie.cat1 perltoc.cat1 \
+        perltodo.cat1 perltoot.cat1 perltootc.cat1 perltrap.cat1 \
+        perlunicode.cat1 perlvar.cat1 perlvms.cat1 perlwin32.cat1 \
+        perlxs.cat1 perlxstut.cat1 pl2pm.cat1 pod2html.cat1 \
+        pod2man.cat1 pod2text.cat1 pod2usage.cat1 podchecker.cat1 \
+        podselect.cat1 pstruct.cat1 s2p.cat1 splain.cat1 xsubpp.cat1 \
+        AnyDBM_File.cat3p AutoLoader.cat3p AutoSplit.cat3p B.cat3p \
+        B::Asmdata.cat3p B::Assembler.cat3p B::Bblock.cat3p B::Bytecode.cat3p \
+        B::C.cat3p B::CC.cat3p B::Debug.cat3p B::Deparse.cat3p \
+        B::Disassembler.cat3p B::Lint.cat3p B::Showlex.cat3p \
+        B::Stackobj.cat3p B::Terse.cat3p B::Xref.cat3p \
+        Benchmark.cat3p ByteLoader.cat3p CGI.cat3p CGI::Apache.cat3p \
+        CGI::Carp.cat3p CGI::Cookie.cat3p CGI::Fast.cat3p CGI::Pretty.cat3p \
+        CGI::Push.cat3p CGI::Switch.cat3p CPAN.cat3p CPAN::FirstTime.cat3p \
+        CPAN::Nox.cat3p Carp.cat3p Carp::Heavy.cat3p Class::Struct.cat3p \
+        Config.cat3p Cwd.cat3p DB.cat3p DB_File.cat3p Data::Dumper.cat3p \
+        Devel::DProf.cat3p Devel::Peek.cat3p Devel::SelfStubber.cat3p \
+        DirHandle.cat3p Dumpvalue.cat3p DynaLoader.cat3p English.cat3p \
+        Env.cat3p Errno.cat3p Exporter.cat3p Exporter::Heavy.cat3p \
+        ExtUtils::Command.cat3p ExtUtils::Embed.cat3p ExtUtils::Install.cat3p \
+        ExtUtils::Installed.cat3p ExtUtils::Liblist.cat3p \
+        ExtUtils::MM_Cygwin.cat3p ExtUtils::MM_OS2.cat3p \
+        ExtUtils::MM_Unix.cat3p ExtUtils::MM_VMS.cat3p \
+        ExtUtils::MM_Win32.cat3p ExtUtils::MakeMaker.cat3p \
+        ExtUtils::Manifest.cat3p ExtUtils::Miniperl.cat3p \
+        ExtUtils::Mkbootstrap.cat3p ExtUtils::Mksymlists.cat3p \
+        ExtUtils::Packlist.cat3p ExtUtils::testlib.cat3p Fatal.cat3p \
+        Fcntl.cat3p File::Basename.cat3p File::CheckTree.cat3p \
+        File::Compare.cat3p File::Copy.cat3p File::DosGlob.cat3p \
+        File::Find.cat3p File::Glob.cat3p File::Path.cat3p File::Spec.cat3p \
+        File::Spec::Functions.cat3p File::Spec::Mac.cat3p \
+        File::Spec::OS2.cat3p File::Spec::Unix.cat3p File::Spec::VMS.cat3p \
+        File::Spec::Win32.cat3p File::stat.cat3p FileCache.cat3p \
+        FileHandle.cat3p FindBin.cat3p Getopt::Long.cat3p \
+        Getopt::Std.cat3p I18N::Collate.cat3p IO.cat3p IO::Dir.cat3p \
+        IO::File.cat3p IO::Handle.cat3p IO::Pipe.cat3p IO::Poll.cat3p \
+        IO::Seekable.cat3p IO::Select.cat3p IO::Socket.cat3p \
+        IO::Socket::INET.cat3p IO::Socket::UNIX.cat3p IPC::Msg.cat3p \
+        IPC::Open2.cat3p IPC::Open3.cat3p IPC::Semaphore.cat3p \
+        IPC::SysV.cat3p Math::BigFloat.cat3p Math::BigInt.cat3p \
+        Math::Complex.cat3p Math::Trig.cat3p NDBM_File.cat3p Net::Ping.cat3p \
+        Net::hostent.cat3p Net::netent.cat3p Net::protoent.cat3p \
+        Net::servent.cat3p O.cat3p ODBM_File.cat3p Opcode.cat3p POSIX.cat3p \
+        Pod::Checker.cat3p Pod::Find.cat3p Pod::Html.cat3p \
+        Pod::InputObjects.cat3p Pod::Man.cat3p Pod::ParseUtils.cat3p \
+        Pod::Parser.cat3p Pod::Plainer.cat3p Pod::Select.cat3p \
+        Pod::Text.cat3p Pod::Text::Color.cat3p Pod::Text::Termcap.cat3p \
+        Pod::Usage.cat3p SDBM_File.cat3p Safe.cat3p Search::Dict.cat3p \
+        SelectSaver.cat3p SelfLoader.cat3p Shell.cat3p Socket.cat3p \
+        Symbol.cat3p Sys::Hostname.cat3p Sys::Syslog.cat3p \
+        Term::ANSIColor.cat3p Term::Cap.cat3p Term::Complete.cat3p \
+        Term::ReadLine.cat3p Test.cat3p Test::Harness.cat3p Text::Abbrev.cat3p \
+        Text::ParseWords.cat3p Text::Soundex.cat3p Text::Tabs.cat3p \
+        Text::Wrap.cat3p Tie::Array.cat3p Tie::Handle.cat3p Tie::Hash.cat3p \
+        Tie::RefHash.cat3p Tie::Scalar.cat3p Tie::SubstrHash.cat3p \
+        Time::Local.cat3p Time::gmtime.cat3p Time::localtime.cat3p \
+        Time::tm.cat3p UNIVERSAL.cat3p User::grent.cat3p User::pwent.cat3p \
+        XSLoader.cat3p attributes.cat3p attrs.cat3p autouse.cat3p \
+        base.cat3p blib.cat3p bytes.cat3p charnames.cat3p constant.cat3p \
+        diagnostics.cat3p fields.cat3p filetest.cat3p integer.cat3p \
+        less.cat3p lib.cat3p locale.cat3p open.cat3p ops.cat3p overload.cat3p \
+        re.cat3p sigtrap.cat3p strict.cat3p subs.cat3p utf8.cat3p vars.cat3p \
+        warnings.cat3p
 .else
 MANALL=
 .endif
@@ -82,9 +113,10 @@ MANLOCALBUILD=	yes
 
 LIB=	perl
 
-SRCS=	gv.c toke.c perly.c op.c regcomp.c dump.c util.c mg.c byterun.c hv.c \
-	av.c run.c pp_hot.c sv.c pp.c scope.c pp_ctl.c pp_sys.c doop.c doio.c \
-	regexec.c taint.c deb.c universal.c globals.c perl.c perlio.c
+SRCS=	gv.c toke.c perly.c op.c regcomp.c dump.c util.c mg.c hv.c av.c run.c \
+	pp_hot.c sv.c pp.c scope.c pp_ctl.c pp_sys.c doop.c doio.c regexec.c \
+	utf8.c taint.c deb.c universal.c xsutils.c globals.c perl.c perlio.c \
+	perlapi.c
 
 CFLAGS+= -DPERL_CORE -DPERL_RANDOM_DEVICE=\"/dev/arandom\" -I.
 
@@ -96,8 +128,8 @@ INST_PROG='/usr/bin/install -c'
 
 MLINKS=		c2ph.1 pstruct.1
 
-GENERATED=	config.sh Makefile cflags config.h makeaperl makedepend \
-		makedir perl.exp writemain x2p/Makefile x2p/cflags
+GENERATED=	cflags config.h config.sh makeaperl makedepend makedir \
+		myconfig writemain Makefile Policy.sh x2p/Makefile x2p/cflags
 
 CLEANFILES=	config.sh Policy.sh ${MANALL}
 
@@ -115,7 +147,10 @@ perl.build:	perl.lib
 
 config.sh:
 	(cd ${.OBJDIR}; /usr/bin/env PATH="/bin:/usr/bin:/sbin:/usr/sbin" \
-	 /bin/sh Configure -Dopenbsd_distribution=defined -dsE)
+	 /bin/sh Configure -Dopenbsd_distribution=defined ${THREADED} -dsE)
+
+Policy.sh:
+	(cd ${.OBJDIR}; /bin/sh Policy_sh.SH)
 
 Makefile:
 	(cd ${.OBJDIR}; /bin/sh Makefile.SH)
@@ -135,8 +170,8 @@ makedepend:
 makedir:
 	(cd ${.OBJDIR}; /bin/sh makedir.SH)
 
-perl.exp:
-	(cd ${.OBJDIR}; /bin/sh perl_exp.SH)
+myconfig:
+	(cd ${.OBJDIR}; /bin/sh myconfig.SH)
 
 writemain:
 	(cd ${.OBJDIR}; /bin/sh writemain.SH)
@@ -147,19 +182,38 @@ x2p/Makefile:
 x2p/cflags:
 	(cd ${.OBJDIR}/x2p; /bin/sh cflags.SH)
 
-# Dependecies generated by the ``gen_openbsd_mandep'' script
+# Never try to regenerate perly.c or perly.h
+perly.c perly.h: perly.y
+	-@true
+
+Win32.cat1: pod/Win32.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perl.cat1: pod/perl.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perl5004delta.cat1: pod/perl5004delta.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perl5005delta.cat1: pod/perl5005delta.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlapi.cat1: pod/perlapi.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlapio.cat1: pod/perlapio.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlbook.cat1: pod/perlbook.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlboot.cat1: pod/perlboot.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlbot.cat1: pod/perlbot.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlcall.cat1: pod/perlcall.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlcompile.cat1: pod/perlcompile.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perldata.cat1: pod/perldata.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perldbmfilter.cat1: pod/perldbmfilter.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perldebguts.cat1: pod/perldebguts.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perldebug.cat1: pod/perldebug.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perldelta.cat1: pod/perldelta.pod
@@ -182,8 +236,6 @@ perlfaq4.cat1: pod/perlfaq4.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlfaq5.cat1: pod/perlfaq5.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlipc.cat1: pod/perlipc.pod
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlfaq6.cat1: pod/perlfaq6.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlfaq7.cat1: pod/perlfaq7.pod
@@ -192,30 +244,54 @@ perlfaq8.cat1: pod/perlfaq8.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlfaq9.cat1: pod/perlfaq9.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlfilter.cat1: pod/perlfilter.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlfork.cat1: pod/perlfork.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlform.cat1: pod/perlform.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlfunc.cat1: pod/perlfunc.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlguts.cat1: pod/perlguts.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlhack.cat1: pod/perlhack.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlhist.cat1: pod/perlhist.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlintern.cat1: pod/perlintern.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlipc.cat1: pod/perlipc.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perllexwarn.cat1: pod/perllexwarn.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perllocale.cat1: pod/perllocale.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perllol.cat1: pod/perllol.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlmod.cat1: pod/perlmod.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlmodinstall.cat1: pod/perlmodinstall.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlmodlib.cat1: pod/perlmodlib.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlnumber.cat1: pod/perlnumber.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlobj.cat1: pod/perlobj.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlop.cat1: pod/perlop.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlopentut.cat1: pod/perlopentut.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlpod.cat1: pod/perlpod.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlport.cat1: pod/perlport.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlre.cat1: pod/perlre.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlref.cat1: pod/perlref.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlreftut.cat1: pod/perlreftut.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlrun.cat1: pod/perlrun.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlsec.cat1: pod/perlsec.pod
@@ -226,64 +302,199 @@ perlsub.cat1: pod/perlsub.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlsyn.cat1: pod/perlsyn.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlthrtut.cat1: pod/perlthrtut.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perltie.cat1: pod/perltie.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perltoc.cat1: pod/perltoc.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perltodo.cat1: pod/perltodo.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perltoot.cat1: pod/perltoot.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perltootc.cat1: pod/perltootc.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perltrap.cat1: pod/perltrap.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlunicode.cat1: pod/perlunicode.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlvar.cat1: pod/perlvar.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlxs.cat1: pod/perlxs.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 perlxstut.cat1: pod/perlxstut.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perl5004delta.cat1: pod/perl5004delta.pod
+perlamiga.cat1: pod/perlamiga.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlhist.cat1: pod/perlhist.pod
+perlcygwin.cat1: pod/perlcygwin.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlmodinstall.cat1: pod/perlmodinstall.pod
+perldos.cat1: pod/perldos.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlopentut.cat1: pod/perlopentut.pod
+perlhpux.cat1: pod/perlhpux.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlport.cat1: pod/perlport.pod
+perlos2.cat1: pod/perlos2.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlreftut.cat1: pod/perlreftut.pod
+perlmachten.cat1: pod/perlmachten.pod
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlthrtut.cat1: pod/perlthrtut.pod
+perlos390.cat1: pod/perlos390.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlwin32.cat1: pod/perlwin32.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlvms.cat1: vms/perlvms.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+c2ph.cat1: utils/c2ph
 	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+h2ph.cat1: utils/h2ph
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+h2xs.cat1: utils/h2xs
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlcc.cat1: utils/perlcc
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perldoc.cat1: utils/perldoc
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+perlbug.cat1: utils/perlbug
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+pl2pm.cat1: utils/pl2pm
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+splain.cat1: utils/splain
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+dprofpp.cat1: utils/dprofpp
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+s2p.cat1: x2p/s2p
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+a2p.cat1: x2p/a2p.pod
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+find2perl.cat1: x2p/find2perl
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+pod2man.cat1: pod/pod2man
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+pod2html.cat1: pod/pod2html
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+pod2text.cat1: pod/pod2text
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+pod2usage.cat1: pod/pod2usage
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+podchecker.cat1: pod/podchecker
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+podselect.cat1: pod/podselect
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+pstruct.cat1: utils/pstruct
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+xsubpp.cat1: lib/ExtUtils/xsubpp
+	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+
+AnyDBM_File.cat3p: lib/AnyDBM_File.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+AutoLoader.cat3p: lib/AutoLoader.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+AutoSplit.cat3p: lib/AutoSplit.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B.cat3p: lib/B.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Asmdata.cat3p: lib/B/Asmdata.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Assembler.cat3p: lib/B/Assembler.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Bblock.cat3p: lib/B/Bblock.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Bytecode.cat3p: lib/B/Bytecode.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::C.cat3p: lib/B/C.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::CC.cat3p: lib/B/CC.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Debug.cat3p: lib/B/Debug.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Deparse.cat3p: lib/B/Deparse.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Disassembler.cat3p: lib/B/Disassembler.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Lint.cat3p: lib/B/Lint.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Showlex.cat3p: lib/B/Showlex.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Stackobj.cat3p: lib/B/Stackobj.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Terse.cat3p: lib/B/Terse.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+B::Xref.cat3p: lib/B/Xref.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Benchmark.cat3p: lib/Benchmark.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+ByteLoader.cat3p: lib/ByteLoader.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CGI.cat3p: lib/CGI.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CGI::Apache.cat3p: lib/CGI/Apache.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CGI::Carp.cat3p: lib/CGI/Carp.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+CGI::Cookie.cat3p: lib/CGI/Cookie.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CGI::Fast.cat3p: lib/CGI/Fast.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+CGI::Pretty.cat3p: lib/CGI/Pretty.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CGI::Push.cat3p: lib/CGI/Push.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CGI::Switch.cat3p: lib/CGI/Switch.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-CGI::Cookie.cat3p: lib/CGI/Cookie.pm
+CPAN.cat3p: lib/CPAN.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CPAN::FirstTime.cat3p: lib/CPAN/FirstTime.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 CPAN::Nox.cat3p: lib/CPAN/Nox.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Carp.cat3p: lib/Carp.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Carp::Heavy.cat3p: lib/Carp/Heavy.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 Class::Struct.cat3p: lib/Class/Struct.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Config.cat3p: lib/Config.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Cwd.cat3p: lib/Cwd.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+DB.cat3p: lib/DB.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+DB_File.cat3p: lib/DB_File.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Data::Dumper.cat3p: lib/Data/Dumper.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Devel::DProf.cat3p: lib/Devel/DProf.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Devel::Peek.cat3p: lib/Devel/Peek.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 Devel::SelfStubber.cat3p: lib/Devel/SelfStubber.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+DirHandle.cat3p: lib/DirHandle.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Dumpvalue.cat3p: lib/Dumpvalue.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+DynaLoader.cat3p: lib/DynaLoader.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+English.cat3p: lib/English.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Env.cat3p: lib/Env.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Errno.cat3p: lib/Errno.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Exporter.cat3p: lib/Exporter.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+Exporter::Heavy.cat3p: lib/Exporter/Heavy.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Command.cat3p: lib/ExtUtils/Command.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Embed.cat3p: lib/ExtUtils/Embed.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Install.cat3p: lib/ExtUtils/Install.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+ExtUtils::Installed.cat3p: lib/ExtUtils/Installed.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Liblist.cat3p: lib/ExtUtils/Liblist.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+ExtUtils::MM_Cygwin.cat3p: lib/ExtUtils/MM_Cygwin.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::MM_OS2.cat3p: lib/ExtUtils/MM_OS2.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::MM_Unix.cat3p: lib/ExtUtils/MM_Unix.pm
@@ -296,27 +507,19 @@ ExtUtils::MakeMaker.cat3p: lib/ExtUtils/MakeMaker.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Manifest.cat3p: lib/ExtUtils/Manifest.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+ExtUtils::Miniperl.cat3p: lib/ExtUtils/Miniperl.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Mkbootstrap.cat3p: lib/ExtUtils/Mkbootstrap.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Mksymlists.cat3p: lib/ExtUtils/Mksymlists.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-ExtUtils::testlib.cat3p: lib/ExtUtils/testlib.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-ExtUtils::Installed.cat3p: lib/ExtUtils/Installed.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 ExtUtils::Packlist.cat3p: lib/ExtUtils/Packlist.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-ExtUtils::Miniperl.cat3p: lib/ExtUtils/Miniperl.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IPC::Open2.cat3p: lib/IPC/Open2.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IPC::Open3.cat3p: lib/IPC/Open3.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IPC::SysV.cat3p: lib/IPC/SysV.pm
+ExtUtils::testlib.cat3p: lib/ExtUtils/testlib.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IPC::Msg.cat3p: lib/IPC/Msg.pm
+Fatal.cat3p: lib/Fatal.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IPC::Semaphore.cat3p: lib/IPC/Semaphore.pm
+Fcntl.cat3p: lib/Fcntl.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 File::Basename.cat3p: lib/File/Basename.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
@@ -330,274 +533,244 @@ File::DosGlob.cat3p: lib/File/DosGlob.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 File::Find.cat3p: lib/File/Find.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
+File::Glob.cat3p: lib/File/Glob.pm
+	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 File::Path.cat3p: lib/File/Path.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-File::stat.cat3p: lib/File/stat.pm
+File::Spec.cat3p: lib/File/Spec.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-File::Spec::Unix.cat3p: lib/File/Spec/Unix.pm
+File::Spec::Functions.cat3p: lib/File/Spec/Functions.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 File::Spec::Mac.cat3p: lib/File/Spec/Mac.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 File::Spec::OS2.cat3p: lib/File/Spec/OS2.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-File::Spec::Win32.cat3p: lib/File/Spec/Win32.pm
+File::Spec::Unix.cat3p: lib/File/Spec/Unix.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 File::Spec::VMS.cat3p: lib/File/Spec/VMS.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-File::Spec.cat3p: lib/File/Spec.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Getopt::Long.cat3p: lib/Getopt/Long.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Getopt::Std.cat3p: lib/Getopt/Std.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-I18N::Collate.cat3p: lib/I18N/Collate.pm
-	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Math::BigFloat.cat3p: lib/Math/BigFloat.pm
+File::Spec::Win32.cat3p: lib/File/Spec/Win32.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Math::BigInt.cat3p: lib/Math/BigInt.pm
+File::stat.cat3p: lib/File/stat.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Math::Complex.cat3p: lib/Math/Complex.pm
+FileCache.cat3p: lib/FileCache.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Math::Trig.cat3p: lib/Math/Trig.pm
+FileHandle.cat3p: lib/FileHandle.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Net::Ping.cat3p: lib/Net/Ping.pm
+FindBin.cat3p: lib/FindBin.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Net::hostent.cat3p: lib/Net/hostent.pm
+Getopt::Long.cat3p: lib/Getopt/Long.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Net::netent.cat3p: lib/Net/netent.pm
+Getopt::Std.cat3p: lib/Getopt/Std.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Net::protoent.cat3p: lib/Net/protoent.pm
+I18N::Collate.cat3p: lib/I18N/Collate.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Net::servent.cat3p: lib/Net/servent.pm
+IO.cat3p: lib/IO.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Pod::Html.cat3p: lib/Pod/Html.pm
+IO::Dir.cat3p: lib/IO/Dir.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Pod::Text.cat3p: lib/Pod/Text.pm
+IO::File.cat3p: lib/IO/File.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Search::Dict.cat3p: lib/Search/Dict.pm
+IO::Handle.cat3p: lib/IO/Handle.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Sys::Hostname.cat3p: lib/Sys/Hostname.pm
+IO::Pipe.cat3p: lib/IO/Pipe.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Sys::Syslog.cat3p: lib/Sys/Syslog.pm
+IO::Poll.cat3p: lib/IO/Poll.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Term::Cap.cat3p: lib/Term/Cap.pm
+IO::Seekable.cat3p: lib/IO/Seekable.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Term::Complete.cat3p: lib/Term/Complete.pm
+IO::Select.cat3p: lib/IO/Select.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Term::ReadLine.cat3p: lib/Term/ReadLine.pm
+IO::Socket.cat3p: lib/IO/Socket.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Test::Harness.cat3p: lib/Test/Harness.pm
+IO::Socket::INET.cat3p: lib/IO/Socket/INET.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Text::Abbrev.cat3p: lib/Text/Abbrev.pm
+IO::Socket::UNIX.cat3p: lib/IO/Socket/UNIX.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Text::ParseWords.cat3p: lib/Text/ParseWords.pm
+IPC::Msg.cat3p: lib/IPC/Msg.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Text::Soundex.cat3p: lib/Text/Soundex.pm
+IPC::Open2.cat3p: lib/IPC/Open2.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Text::Tabs.cat3p: lib/Text/Tabs.pm
+IPC::Open3.cat3p: lib/IPC/Open3.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Text::Wrap.cat3p: lib/Text/Wrap.pm
+IPC::Semaphore.cat3p: lib/IPC/Semaphore.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Tie::Hash.cat3p: lib/Tie/Hash.pm
+IPC::SysV.cat3p: lib/IPC/SysV.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Tie::RefHash.cat3p: lib/Tie/RefHash.pm
+Math::BigFloat.cat3p: lib/Math/BigFloat.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Tie::Scalar.cat3p: lib/Tie/Scalar.pm
+Math::BigInt.cat3p: lib/Math/BigInt.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Tie::SubstrHash.cat3p: lib/Tie/SubstrHash.pm
+Math::Complex.cat3p: lib/Math/Complex.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Tie::Array.cat3p: lib/Tie/Array.pm
+Math::Trig.cat3p: lib/Math/Trig.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Tie::Handle.cat3p: lib/Tie/Handle.pm
+NDBM_File.cat3p: lib/NDBM_File.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Time::Local.cat3p: lib/Time/Local.pm
+Net::Ping.cat3p: lib/Net/Ping.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Time::gmtime.cat3p: lib/Time/gmtime.pm
+Net::hostent.cat3p: lib/Net/hostent.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Time::localtime.cat3p: lib/Time/localtime.pm
+Net::netent.cat3p: lib/Net/netent.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Time::tm.cat3p: lib/Time/tm.pm
+Net::protoent.cat3p: lib/Net/protoent.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-User::grent.cat3p: lib/User/grent.pm
+Net::servent.cat3p: lib/Net/servent.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-User::pwent.cat3p: lib/User/pwent.pm
+O.cat3p: lib/O.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-AnyDBM_File.cat3p: lib/AnyDBM_File.pm
+ODBM_File.cat3p: lib/ODBM_File.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-AutoLoader.cat3p: lib/AutoLoader.pm
+Opcode.cat3p: lib/Opcode.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-AutoSplit.cat3p: lib/AutoSplit.pm
+POSIX.cat3p: lib/POSIX.pod
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Benchmark.cat3p: lib/Benchmark.pm
+Pod::Checker.cat3p: lib/Pod/Checker.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-CPAN.cat3p: lib/CPAN.pm
+Pod::Find.cat3p: lib/Pod/Find.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Carp.cat3p: lib/Carp.pm
+Pod::Html.cat3p: lib/Pod/Html.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Cwd.cat3p: lib/Cwd.pm
+Pod::InputObjects.cat3p: lib/Pod/InputObjects.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Env.cat3p: lib/Env.pm
+Pod::Man.cat3p: lib/Pod/Man.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Deparse.cat3p: lib/B/Deparse.pm
+Pod::ParseUtils.cat3p: lib/Pod/ParseUtils.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::CC.cat3p: lib/B/CC.pm
+Pod::Parser.cat3p: lib/Pod/Parser.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Debug.cat3p: lib/B/Debug.pm
+Pod::Plainer.cat3p: lib/Pod/Plainer.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Showlex.cat3p: lib/B/Showlex.pm
+Pod::Select.cat3p: lib/Pod/Select.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Bblock.cat3p: lib/B/Bblock.pm
+Pod::Text.cat3p: lib/Pod/Text.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Bytecode.cat3p: lib/B/Bytecode.pm
+Pod::Text::Color.cat3p: lib/Pod/Text/Color.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Stackobj.cat3p: lib/B/Stackobj.pm
+Pod::Text::Termcap.cat3p: lib/Pod/Text/Termcap.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Xref.cat3p: lib/B/Xref.pm
+Pod::Usage.cat3p: lib/Pod/Usage.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Lint.cat3p: lib/B/Lint.pm
+SDBM_File.cat3p: lib/SDBM_File.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Asmdata.cat3p: lib/B/Asmdata.pm
+Safe.cat3p: lib/Safe.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Assembler.cat3p: lib/B/Assembler.pm
+Search::Dict.cat3p: lib/Search/Dict.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Disassembler.cat3p: lib/B/Disassembler.pm
+SelectSaver.cat3p: lib/SelectSaver.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::Terse.cat3p: lib/B/Terse.pm
+SelfLoader.cat3p: lib/SelfLoader.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B::C.cat3p: lib/B/C.pm
+Shell.cat3p: lib/Shell.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-DirHandle.cat3p: lib/DirHandle.pm
+Socket.cat3p: lib/Socket.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-English.cat3p: lib/English.pm
+Symbol.cat3p: lib/Symbol.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-base.cat3p: lib/base.pm
+Sys::Hostname.cat3p: lib/Sys/Hostname.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Exporter.cat3p: lib/Exporter.pm
+Sys::Syslog.cat3p: lib/Sys/Syslog.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-FileCache.cat3p: lib/FileCache.pm
+Term::ANSIColor.cat3p: lib/Term/ANSIColor.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-FileHandle.cat3p: lib/FileHandle.pm
+Term::Cap.cat3p: lib/Term/Cap.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-FindBin.cat3p: lib/FindBin.pm
+Term::Complete.cat3p: lib/Term/Complete.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-SelectSaver.cat3p: lib/SelectSaver.pm
+Term::ReadLine.cat3p: lib/Term/ReadLine.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-SelfLoader.cat3p: lib/SelfLoader.pm
+Test.cat3p: lib/Test.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Shell.cat3p: lib/Shell.pm
+Test::Harness.cat3p: lib/Test/Harness.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Symbol.cat3p: lib/Symbol.pm
+Text::Abbrev.cat3p: lib/Text/Abbrev.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-UNIVERSAL.cat3p: lib/UNIVERSAL.pm
+Text::ParseWords.cat3p: lib/Text/ParseWords.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-blib.cat3p: lib/blib.pm
+Text::Soundex.cat3p: lib/Text/Soundex.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-autouse.cat3p: lib/autouse.pm
+Text::Tabs.cat3p: lib/Text/Tabs.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-constant.cat3p: lib/constant.pm
+Text::Wrap.cat3p: lib/Text/Wrap.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-diagnostics.cat3p: lib/diagnostics.pm
+Tie::Array.cat3p: lib/Tie/Array.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-lib.cat3p: lib/lib.pm
+Tie::Handle.cat3p: lib/Tie/Handle.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-integer.cat3p: lib/integer.pm
+Tie::Hash.cat3p: lib/Tie/Hash.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-less.cat3p: lib/less.pm
+Tie::RefHash.cat3p: lib/Tie/RefHash.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-locale.cat3p: lib/locale.pm
+Tie::Scalar.cat3p: lib/Tie/Scalar.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-overload.cat3p: lib/overload.pm
+Tie::SubstrHash.cat3p: lib/Tie/SubstrHash.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-subs.cat3p: lib/subs.pm
+Time::Local.cat3p: lib/Time/Local.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-sigtrap.cat3p: lib/sigtrap.pm
+Time::gmtime.cat3p: lib/Time/gmtime.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-strict.cat3p: lib/strict.pm
+Time::localtime.cat3p: lib/Time/localtime.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-vars.cat3p: lib/vars.pm
+Time::tm.cat3p: lib/Time/tm.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Dumpvalue.cat3p: lib/Dumpvalue.pm
+UNIVERSAL.cat3p: lib/UNIVERSAL.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Fatal.cat3p: lib/Fatal.pm
+User::grent.cat3p: lib/User/grent.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Test.cat3p: lib/Test.pm
+User::pwent.cat3p: lib/User/pwent.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-fields.cat3p: lib/fields.pm
+XSLoader.cat3p: lib/XSLoader.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Config.cat3p: lib/Config.pm
+attributes.cat3p: lib/attributes.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-re.cat3p: lib/re.pm
+attrs.cat3p: lib/attrs.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-DynaLoader.cat3p: lib/DynaLoader.pm
+autouse.cat3p: lib/autouse.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-B.cat3p: lib/B.pm
+base.cat3p: lib/base.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-O.cat3p: lib/O.pm
+blib.cat3p: lib/blib.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-DB_File.cat3p: lib/DB_File.pm
+bytes.cat3p: lib/bytes.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Data::Dumper.cat3p: lib/Data/Dumper.pm
+charnames.cat3p: lib/charnames.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Fcntl.cat3p: lib/Fcntl.pm
+constant.cat3p: lib/constant.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO::File.cat3p: lib/IO/File.pm
+diagnostics.cat3p: lib/diagnostics.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO::Select.cat3p: lib/IO/Select.pm
+fields.cat3p: lib/fields.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO::Socket.cat3p: lib/IO/Socket.pm
+filetest.cat3p: lib/filetest.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO::Handle.cat3p: lib/IO/Handle.pm
+integer.cat3p: lib/integer.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO::Seekable.cat3p: lib/IO/Seekable.pm
+less.cat3p: lib/less.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO::Pipe.cat3p: lib/IO/Pipe.pm
+lib.cat3p: lib/lib.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-IO.cat3p: lib/IO.pm
+locale.cat3p: lib/locale.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-NDBM_File.cat3p: lib/NDBM_File.pm
+open.cat3p: lib/open.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Safe.cat3p: lib/Safe.pm
+ops.cat3p: lib/ops.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-ODBM_File.cat3p: lib/ODBM_File.pm
+overload.cat3p: lib/overload.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Opcode.cat3p: lib/Opcode.pm
+re.cat3p: lib/re.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-ops.cat3p: lib/ops.pm
+sigtrap.cat3p: lib/sigtrap.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-POSIX.cat3p: lib/POSIX.pod
+strict.cat3p: lib/strict.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-SDBM_File.cat3p: lib/SDBM_File.pm
+subs.cat3p: lib/subs.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Socket.cat3p: lib/Socket.pm
+utf8.cat3p: lib/utf8.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-attrs.cat3p: lib/attrs.pm
+vars.cat3p: lib/vars.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-Errno.cat3p: lib/Errno.pm
+warnings.cat3p: lib/warnings.pm
 	${POD2MAN} --section=3p --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-c2ph.cat1: utils/c2ph
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-h2ph.cat1: utils/h2ph
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-h2xs.cat1: utils/h2xs
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perldoc.cat1: utils/perldoc
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-perlbug.cat1: utils/perlbug
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-pl2pm.cat1: utils/pl2pm
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-splain.cat1: utils/splain
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-s2p.cat1: x2p/s2p
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-a2p.cat1: x2p/a2p.pod
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-pod2man.cat1: pod/pod2man
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-pod2html.cat1: pod/pod2html
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
-xsubpp.cat1: lib/ExtUtils/xsubpp
-	${POD2MAN} --section=1 --official ${.ALLSRC} | ${NROFF} -man > ${.TARGET}
 
 .ifdef NOMAN
 maninstall:
diff --git a/gnu/usr.bin/perl/Porting/Glossary b/gnu/usr.bin/perl/Porting/Glossary
index 52b560e1018..cc66d7041bd 100644
--- a/gnu/usr.bin/perl/Porting/Glossary
+++ b/gnu/usr.bin/perl/Porting/Glossary
@@ -4,11 +4,6 @@ programs (e.g. I_UNISTD) are already described in config_h.SH.  [`configpm'
 generates pod documentation for Config.pm from this file--please try to keep
 the formatting regular.]
 
-Mcc (Loc.U):
-	This variable is used internally by Configure to determine the
-	full pathname (if any) of the Mcc program.  After Configure runs,
-	the value is reset to a plain "Mcc" and is not useful.
-
 _a (Unix.U):
 	This variable defines the extension used for ordinary libraries.
 	For unix, it is '.a'.  The '.' is included.  Other possible
@@ -31,25 +26,61 @@ afs (afs.U):
 
 alignbytes (alignbytes.U):
 	This variable holds the number of bytes required to align a
-	double. Usual values are 2, 4 and 8.
+	double-- or a long double when applicable. Usual values are
+	2, 4 and 8.  The default is eight, for safety.
 
 ansi2knr (ansi2knr.U):
 	This variable is set if the user needs to run ansi2knr.  
 	Currently, this is not supported, so we just abort.
 
 aphostname (d_gethname.U):
-	Thie variable contains the command which can be used to compute the
+	This variable contains the command which can be used to compute the
 	host name. The command is fully qualified by its absolute path, to make
 	it safe when used by a process with super-user privileges.
 
-apiversion (patchlevel.U):
-	This is a number which identifies the lowest version of perl
-	to have an API (for XS extensions) compatible with the present
-	version.  For example, for 5.005_01, the apiversion should be
-	5.005, since 5.005_01 should be binary compatible with 5.005.
-	This should probably be incremented manually somehow, perhaps
-	from patchlevel.h.  For now, we'll guess maintenance subversions
-	will retain binary compatibility.
+api_revision (patchlevel.U):
+	The three variables, api_revision, api_version, and
+	api_subversion, specify the version of the oldest perl binary
+	compatible with the present perl.  In a full version string
+	such as '5.6.1', api_revision is the '5'.
+	Prior to 5.5.640, the format was a floating point number,
+	like 5.00563.
+		perl.c:incpush() and lib/lib.pm will automatically search in
+	$sitelib/.. for older directories back to the limit specified
+	by these api_ variables.  This is only useful if you have a
+	perl library directory tree structured like the default one.
+	See INSTALL for how this works.  The versioned site_perl
+	directory was introduced in 5.005, so that is the lowest
+	possible value.  The version list appropriate for the current
+	system is determined in inc_version_list.U.
+		XXX To do:  Since compatibility can depend on compile time
+	options (such as bincompat, longlong, etc.) it should
+	(perhaps) be set by Configure, but currently it isn't.
+	Currently, we read a hard-wired value from patchlevel.h.
+	Perhaps what we ought to do is take the hard-wired value from
+	patchlevel.h but then modify it if the current Configure
+	options warrant.  patchlevel.h then would use an #ifdef guard.
+
+api_subversion (patchlevel.U):
+	The three variables, api_revision, api_version, and
+	api_subversion, specify the version of the oldest perl binary
+	compatible with the present perl.  In a full version string
+	such as '5.6.1', api_subversion is the '1'.  See api_revision for
+	full details.
+
+api_version (patchlevel.U):
+	The three variables, api_revision, api_version, and
+	api_subversion, specify the version of the oldest perl binary
+	compatible with the present perl.  In a full version string
+	such as '5.6.1', api_version is the '6'.  See api_revision for
+	full details.  As a special case, 5.5.0 is rendered in the
+	old-style as 5.005.  (In the 5.005_0x maintenance series,
+	this was the only versioned directory in $sitelib.)
+
+api_versionstring (patchlevel.U):
+	This variable combines api_revision, api_version, and
+	api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
+	for use as a directory name.  This is filesystem dependent.
 
 ar (Loc.U):
 	This variable is used internally by Configure to determine the
@@ -67,6 +98,9 @@ archlibexp (archlib.U):
 	This variable is the same as the archlib variable, but is
 	filename expanded at configuration time, for convenient use.
 
+archname64 (use64bits.U):
+	This variable is used for the 64-bitness part of $archname.
+
 archname (archname.U):
 	This variable is a short name to characterize the current
 	architecture.  It is used mainly to construct the default archlib.
@@ -96,6 +130,10 @@ bin (bin.U):
 	is most often a local directory such as /usr/local/bin. Programs using
 	this variable must be prepared to deal with ~name substitution.
 
+bincompat5005 (bincompat5005.U):
+	This variable contains y if this version of Perl should be
+	binary-compatible with Perl 5.005.
+
 binexp (bin.U):
 	This is the same as the bin variable, but is filename expanded at
 	configuration time, for use in your makefiles.
@@ -118,15 +156,15 @@ byteorder (byteorder.U):
 c (n.U):
 	This variable contains the \c string if that is what causes the echo
 	command to suppress newline.  Otherwise it is null.  Correct usage is
-	    $echo $n "prompt for a question: $c".
+	$echo $n "prompt for a question: $c".
 
 castflags (d_castneg.U):
 	This variable contains a flag that precise difficulties the
 	compiler has casting odd floating values to unsigned long:
-		0 = ok
-		1 = couldn't cast < 0
-		2 = couldn't cast >= 0x80000000
-		4 = couldn't cast in argument expression list
+	0 = ok
+	1 = couldn't cast < 0
+	2 = couldn't cast >= 0x80000000
+	4 = couldn't cast in argument expression list
 
 cat (Loc.U):
 	This variable is used internally by Configure to determine the
@@ -172,6 +210,10 @@ cf_time (cf_who.U):
 	Holds the output of the "date" command when the configuration file was
 	produced. This is used to tag both config.sh and config_h.SH.
 
+charsize (charsize.U):
+	This variable contains the value of the CHARSIZE symbol, which
+	indicates to the C program how many bytes there are in a character.
+
 chgrp (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
@@ -198,6 +240,10 @@ compress (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
 
+CONFIGDOTSH (Oldsyms.U):
+	This is set to 'true' in config.sh so that a shell script
+	sourcing config.sh can tell if it has been sourced already.
+
 contains (contains.U):
 	This variable holds the command to do a grep with a proper return
 	status.  On most sane systems it is simply "grep".  On insane systems
@@ -222,19 +268,25 @@ cpp_stuff (cpp_stuff.U):
 	This variable contains an identification of the catenation mechanism
 	used by the C preprocessor.
 
+cppccsymbols (Cppsym.U):
+	The variable contains the symbols defined by the C compiler
+	when it calls cpp.  The symbols defined by the cc alone or cpp
+	alone are not in this list, see ccsymbols and cppsymbols.
+	The list is a space-separated list of symbol=value tokens.
+
 cppflags (ccflags.U):
 	This variable holds the flags that will be passed to the C pre-
 	processor. It is up to the Makefile to use it.
 
 cpplast (cppstdin.U):
-	This variable has the same functionality as cppminus, only it applies to
-	cpprun and not cppstdin.
+	This variable has the same functionality as cppminus, only it applies
+	to cpprun and not cppstdin.
 
 cppminus (cppstdin.U):
 	This variable contains the second part of the string which will invoke
 	the C preprocessor on the standard input and produce to standard
-	output.  This variable will have the value "-" if cppstdin needs a minus
-	to specify standard input, otherwise the value is "".
+	output.  This variable will have the value "-" if cppstdin needs
+	a minus to specify standard input, otherwise the value is "".
 
 cpprun (cppstdin.U):
 	This variable contains the command which will invoke a C preprocessor
@@ -256,11 +308,10 @@ cppsymbols (Cppsym.U):
 	not in this list, see ccsymbols and cppccsymbols.
 	The list is a space-separated list of symbol=value tokens.
 
-cppccsymbols (Cppsym.U):
-	The variable contains the symbols defined by the C compiler when
-	when it calls cpp.  The symbols defined by the cc alone or cpp
-	alone are not in this list, see ccsymbols and cppsymbols.
-	The list is a space-separated list of symbol=value tokens.
+crosscompile (crosscompile.U):
+	This variable conditionally defines the CROSSCOMPILE symbol
+	which signifies that the build process is be a cross-compilation.
+	This is normally set by hints files or from Configure command line.
 
 cryptlib (d_crypt.U):
 	This variable holds -lcrypt or the path to a libcrypt.a archive if
@@ -272,15 +323,14 @@ csh (Loc.U):
 	full pathname (if any) of the csh program.  After Configure runs,
 	the value is reset to a plain "csh" and is not useful.
 
-d_Gconvert (d_gconvert.U):
-	This variable holds what Gconvert is defined as to convert
-	floating point numbers into strings. It could be 'gconvert'
-	or a more complex macro emulating gconvert with gcvt() or sprintf.
-
 d_access (d_access.U):
 	This variable conditionally defines HAS_ACCESS if the access() system
 	call is available to check for access permissions using real IDs.
 
+d_accessx (d_accessx.U):
+	This variable conditionally defines the HAS_ACCESSX symbol, which
+	indicates to the C program that the accessx() routine is available.
+
 d_alarm (d_alarm.U):
 	This variable conditionally defines the HAS_ALARM symbol, which
 	indicates to the C program that the alarm() routine is available.
@@ -290,6 +340,14 @@ d_archlib (archlib.U):
 	of architecture-dependent library files for $package.  If
 	$archlib is the same as $privlib, then this is set to undef.
 
+d_atolf (atolf.U):
+	This variable conditionally defines the HAS_ATOLF symbol, which
+	indicates to the C program that the atolf() routine is available.
+
+d_atoll (atoll.U):
+	This variable conditionally defines the HAS_ATOLL symbol, which
+	indicates to the C program that the atoll() routine is available.
+
 d_attribut (d_attribut.U):
 	This variable conditionally defines HASATTRIBUTE, which
 	indicates the C compiler can check for function attributes,
@@ -303,6 +361,13 @@ d_bcopy (d_bcopy.U):
 	This variable conditionally defines the HAS_BCOPY symbol if
 	the bcopy() routine is available to copy strings.
 
+d_bincompat5005 (bincompat5005.U):
+	This variable conditionally defines BINCOMPAT5005 so that embed.h
+	can take special action if this version of Perl should be
+	binary-compatible with Perl 5.005.  This is impossible for builds
+	that use features like threads and multiplicity it is always $undef
+	for those versions.
+
 d_bsd (Guess.U):
 	This symbol conditionally defines the symbol BSD when running on a
 	BSD system.
@@ -401,10 +466,20 @@ d_dosuid (d_dosuid.U):
 	tells the C program that it should insert setuid emulation code
 	on hosts which have setuid #! scripts disabled.
 
+d_drand48proto (d_drand48proto.U):
+	This variable conditionally defines the HAS_DRAND48_PROTO symbol,
+	which indicates to the C program that the system provides
+	a prototype for the drand48() function.  Otherwise, it is
+	up to the program to supply one.
+
 d_dup2 (d_dup2.U):
 	This variable conditionally defines HAS_DUP2 if dup2() is
 	available to duplicate file descriptors.
 
+d_eaccess (d_eaccess.U):
+	This variable conditionally defines the HAS_EACCESS symbol, which
+	indicates to the C program that the eaccess() routine is available.
+
 d_endgrent (d_endgrent.U):
 	This variable conditionally defines the HAS_ENDGRENT symbol, which
 	indicates to the C program that the endgrent() routine is available
@@ -431,6 +506,10 @@ d_endsent (d_endsent.U):
 	This variable conditionally defines HAS_ENDSERVENT if endservent() is
 	available to close whatever was being used for service queries.
 
+d_endspent (d_endspent.U):
+	This variable conditionally defines HAS_ENDSPENT if endspent() is
+	available to finalize the scan of SysV shadow password entries.
+
 d_eofnblk (nblock_io.U):
 	This variable conditionally defines EOF_NONBLOCK if EOF can be seen
 	when reading from a non-blocking I/O source.
@@ -491,11 +570,22 @@ d_fpathconf (d_pathconf.U):
 	to determine file-system related limits and options associated
 	with a given open file descriptor.
 
+d_fpos64_t (d_fpos64_t.U):
+	This symbol will be defined if the C compiler supports fpos64_t.
+
+d_fs_data_s (d_fs_data_s.U):
+	This variable conditionally defines the HAS_STRUCT_FS_DATA symbol,
+	which indicates that the struct fs_data is supported.
+
+d_fseeko (d_fseeko.U):
+	This variable conditionally defines the HAS_FSEEKO symbol, which
+	indicates to the C program that the fseeko() routine is available.
+
 d_fsetpos (d_fsetpos.U):
 	This variable conditionally defines HAS_FSETPOS if fsetpos() is
 	available to set the file position indicator.
 
-d_fstatfs (d_statfs.U):
+d_fstatfs (d_fstatfs.U):
 	This variable conditionally defines the HAS_FSTATFS symbol, which
 	indicates to the C program that the fstatfs() routine is available.
 
@@ -503,11 +593,33 @@ d_fstatvfs (d_statvfs.U):
 	This variable conditionally defines the HAS_FSTATVFS symbol, which
 	indicates to the C program that the fstatvfs() routine is available.
 
+d_ftello (d_ftello.U):
+	This variable conditionally defines the HAS_FTELLO symbol, which
+	indicates to the C program that the ftello() routine is available.
+
 d_ftime (d_ftime.U):
 	This variable conditionally defines the HAS_FTIME symbol, which indicates
 	that the ftime() routine exists.  The ftime() routine is basically
 	a sub-second accuracy clock.
 
+d_Gconvert (d_gconvert.U):
+	This variable holds what Gconvert is defined as to convert
+	floating point numbers into strings. It could be 'gconvert'
+	or a more complex macro emulating gconvert with gcvt() or sprintf.
+	Possible values are:
+	d_Gconvert='gconvert((x),(n),(t),(b))'
+	d_Gconvert='gcvt((x),(n),(b))'
+	d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+
+d_getcwd (d_getcwd.U):
+	This variable conditionally defines the HAS_GETCWD symbol, which
+	indicates to the C program that the getcwd() routine is available
+	to get the current working directory.
+
+d_getfsstat (d_getfsstat.U):
+	This variable conditionally defines the HAS_GETFSSTAT symbol, which
+	indicates to the C program that the getfsstat() routine is available.
+
 d_getgrent (d_getgrent.U):
 	This variable conditionally defines the HAS_GETGRENT symbol, which
 	indicates to the C program that the getgrent() routine is available
@@ -548,10 +660,15 @@ d_getlogin (d_getlogin.U):
 	indicates to the C program that the getlogin() routine is available
 	to get the login name.
 
+d_getmnt (d_getmnt.U):
+	This variable conditionally defines the HAS_GETMNT symbol, which
+	indicates to the C program that the getmnt() routine is available
+	to retrieve one or more mount info blocks by filename.
+
 d_getmntent (d_getmntent.U):
 	This variable conditionally defines the HAS_GETMNTENT symbol, which
 	indicates to the C program that the getmntent() routine is available
-	to iterate through mounted files.
+	to iterate through mounted files to get their mount info.
 
 d_getnbyaddr (d_getnbyad.U):
 	This variable conditionally defines the HAS_GETNETBYADDR symbol, which
@@ -645,6 +762,14 @@ d_getservprotos (d_getservprotos.U):
 	prototypes for the various getserv*() functions.  
 	See also netdbtype.U for probing for various netdb types.
 
+d_getspent (d_getspent.U):
+	This variable conditionally defines HAS_GETSPENT if getspent() is
+	available to retrieve SysV shadow password entries sequentially.
+
+d_getspnam (d_getspnam.U):
+	This variable conditionally defines HAS_GETSPNAM if getspnam() is
+	available to retrieve SysV shadow password entries by name.
+
 d_gettimeod (d_ftime.U):
 	This variable conditionally defines the HAS_GETTIMEOFDAY symbol, which
 	indicates that the gettimeofday() system call exists (to obtain a
@@ -666,6 +791,10 @@ d_htonl (d_htonl.U):
 	This variable conditionally defines HAS_HTONL if htonl() and its
 	friends are available to do network order byte swapping.
 
+d_iconv (d_iconv.U):
+	This variable conditionally defines the HAS_ICONV symbol, which
+	indicates to the C program that the iconv() routine is available.
+
 d_index (d_strchr.U):
 	This variable conditionally defines HAS_INDEX if index() and
 	rindex() are available for string searching.
@@ -675,6 +804,9 @@ d_inetaton (d_inetaton.U):
 	indicates to the C program that the inet_aton() function is available
 	to parse IP address "dotted-quad" strings.
 
+d_int64_t (d_int64_t.U):
+	This symbol will be defined if the C compiler supports int64_t.
+
 d_isascii (d_isascii.U):
 	This variable conditionally defines the HAS_ISASCII constant,
 	which indicates to the C program that isascii() is available.
@@ -689,6 +821,11 @@ d_lchown (d_lchown.U):
 	indicates to the C program that the lchown() routine is available
 	to operate on a symbolic link (instead of following the link).
 
+d_ldbl_dig (d_ldbl_dig.U):
+	This variable conditionally defines d_ldbl_dig if this system's
+	header files provide LDBL_DIG, which is the number of significant
+	digits in a long double precision number.
+
 d_link (d_link.U):
 	This variable conditionally defines HAS_LINK if link() is
 	available to create hard links.
@@ -709,10 +846,20 @@ d_longlong (d_longlong.U):
 	This variable conditionally defines HAS_LONG_LONG if 
 	the long long type is supported.
 
+d_lseekproto (d_lseekproto.U):
+	This variable conditionally defines the HAS_LSEEK_PROTO symbol,
+	which indicates to the C program that the system provides
+	a prototype for the lseek() function.  Otherwise, it is
+	up to the program to supply one.
+
 d_lstat (d_lstat.U):
 	This variable conditionally defines HAS_LSTAT if lstat() is
 	available to do file stats on symbolic links.
 
+d_madvise (d_madvise.U):
+	This variable conditionally defines HAS_MADVISE if madvise() is
+	available to map a file into memory.
+
 d_mblen (d_mblen.U):
 	This variable conditionally defines the HAS_MBLEN symbol, which
 	indicates to the C program that the mblen() routine is available
@@ -728,6 +875,11 @@ d_mbtowc (d_mbtowc.U):
 	indicates to the C program that the mbtowc() routine is available
 	to convert multibyte to a wide character.
 
+d_memchr (d_memchr.U):
+	This variable conditionally defines the HAS_MEMCHR symbol, which
+	indicates to the C program that the memchr() routine is available
+	to locate characters within a C string.
+
 d_memcmp (d_memcmp.U):
 	This variable conditionally defines the HAS_MEMCMP symbol, which
 	indicates to the C program that the memcmp() routine is available
@@ -753,18 +905,67 @@ d_mkdir (d_mkdir.U):
 	indicates to the C program that the mkdir() routine is available
 	to create directories..
 
+d_mkdtemp (d_mkdtemp.U):
+	This variable conditionally defines the HAS_MKDTEMP symbol, which
+	indicates to the C program that the mkdtemp() routine is available
+	to exclusively create a uniquely named temporary directory.
+
 d_mkfifo (d_mkfifo.U):
 	This variable conditionally defines the HAS_MKFIFO symbol, which
 	indicates to the C program that the mkfifo() routine is available.
 
+d_mkstemp (d_mkstemp.U):
+	This variable conditionally defines the HAS_MKSTEMP symbol, which
+	indicates to the C program that the mkstemp() routine is available
+	to exclusively create and open a uniquely named temporary file.
+
+d_mkstemps (d_mkstemps.U):
+	This variable conditionally defines the HAS_MKSTEMPS symbol, which
+	indicates to the C program that the mkstemps() routine is available
+	to exclusively create and open a uniquely named (with a suffix)
+	temporary file.
+
 d_mktime (d_mktime.U):
 	This variable conditionally defines the HAS_MKTIME symbol, which
 	indicates to the C program that the mktime() routine is available.
 
+d_mmap (d_mmap.U):
+	This variable conditionally defines HAS_MMAP if mmap() is
+	available to map a file into memory.
+
+d_mprotect (d_mprotect.U):
+	This variable conditionally defines HAS_MPROTECT if mprotect() is
+	available to modify the access protection of a memory mapped file.
+
 d_msg (d_msg.U):
 	This variable conditionally defines the HAS_MSG symbol, which
 	indicates that the entire msg*(2) library is present.
 
+d_msg_ctrunc (d_socket.U):
+	This variable conditionally defines the HAS_MSG_CTRUNC symbol,
+	which indicates that the MSG_CTRUNC is available.  #ifdef is
+	not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_dontroute (d_socket.U):
+	This variable conditionally defines the HAS_MSG_DONTROUTE symbol,
+	which indicates that the MSG_DONTROUTE is available.  #ifdef is
+	not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_oob (d_socket.U):
+	This variable conditionally defines the HAS_MSG_OOB symbol,
+	which indicates that the MSG_OOB is available.  #ifdef is
+	not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_peek (d_socket.U):
+	This variable conditionally defines the HAS_MSG_PEEK symbol,
+	which indicates that the MSG_PEEK is available.  #ifdef is
+	not enough because it may be an enum, glibc has been known to do this.
+
+d_msg_proxy (d_socket.U):
+	This variable conditionally defines the HAS_MSG_PROXY symbol,
+	which indicates that the MSG_PROXY is available.  #ifdef is
+	not enough because it may be an enum, glibc has been known to do this.
+
 d_msgctl (d_msgctl.U):
 	This variable conditionally defines the HAS_MSGCTL symbol, which
 	indicates to the C program that the msgctl() routine is available.
@@ -781,6 +982,14 @@ d_msgsnd (d_msgsnd.U):
 	This variable conditionally defines the HAS_MSGSND symbol, which
 	indicates to the C program that the msgsnd() routine is available.
 
+d_msync (d_msync.U):
+	This variable conditionally defines HAS_MSYNC if msync() is
+	available to synchronize a mapped file.
+
+d_munmap (d_munmap.U):
+	This variable conditionally defines HAS_MUNMAP if munmap() is
+	available to unmap a region mapped by mmap().
+
 d_mymalloc (mallocsrc.U):
 	This variable conditionally defines MYMALLOC in case other parts
 	of the source want to take special action if MYMALLOC is used.
@@ -790,10 +999,21 @@ d_nice (d_nice.U):
 	This variable conditionally defines the HAS_NICE symbol, which
 	indicates to the C program that the nice() routine is available.
 
+d_nv_preserves_uv (perlxv.U):
+	This variable indicates whether a variable of type nvtype
+	can preserve all the bits a variable of type uvtype.
+
+d_off64_t (d_off64_t.U):
+	This symbol will be defined if the C compiler supports off64_t.
+
+d_old_pthread_create_joinable (d_pthrattrj.U):
+	This variable conditionally defines pthread_create_joinable.
+	undef if pthread.h defines PTHREAD_CREATE_JOINABLE.
+
 d_oldpthreads (usethreads.U):
 	This variable conditionally defines the OLD_PTHREADS_API symbol,
 	and indicates that Perl should be built to use the old
-	draft POSIX threads API.  This is only potneially meaningful if
+	draft POSIX threads API.  This is only potentially meaningful if
 	usethreads is set.
 
 d_oldsock (d_socket.U):
@@ -817,7 +1037,7 @@ d_pause (d_pause.U):
 	to suspend a process until a signal is received.
 
 d_phostname (d_gethname.U):
-	This variable conditionally defines the PHOSTNAME symbol, which
+	This variable conditionally defines the HAS_PHOSTNAME symbol, which
 	contains the shell command which, when fed to popen(), may be
 	used to derive the host name.
 
@@ -836,16 +1056,60 @@ d_portable (d_portable.U):
 	indicates to the C program that it should not assume that it is
 	running on the machine it was compiled on.
 
+d_PRId64 (quadfio.U):
+	This variable conditionally defines the PERL_PRId64 symbol, which
+	indiciates that stdio has a symbol to print 64-bit decimal numbers.
+
+d_PRIeldbl (longdblfio.U):
+	This variable conditionally defines the PERL_PRIfldlbl symbol, which
+	indiciates that stdio has a symbol to print long doubles.
+
+d_PRIEldbl (longdblfio.U):
+	This variable conditionally defines the PERL_PRIfldlbl symbol, which
+	indiciates that stdio has a symbol to print long doubles.
+
+d_PRIfldbl (longdblfio.U):
+	This variable conditionally defines the PERL_PRIfldlbl symbol, which
+	indiciates that stdio has a symbol to print long doubles.
+
+d_PRIFldbl (longdblfio.U):
+	This variable conditionally defines the PERL_PRIfldlbl symbol, which
+	indiciates that stdio has a symbol to print long doubles.
+
+d_PRIgldbl (longdblfio.U):
+	This variable conditionally defines the PERL_PRIfldlbl symbol, which
+	indiciates that stdio has a symbol to print long doubles.
+
+d_PRIGldbl (longdblfio.U):
+	This variable conditionally defines the PERL_PRIfldlbl symbol, which
+	indiciates that stdio has a symbol to print long doubles.
+
+d_PRIi64 (quadfio.U):
+	This variable conditionally defines the PERL_PRIi64 symbol, which
+	indiciates that stdio has a symbol to print 64-bit decimal numbers.
+
+d_PRIo64 (quadfio.U):
+	This variable conditionally defines the PERL_PRIo64 symbol, which
+	indiciates that stdio has a symbol to print 64-bit octal numbers.
+
+d_PRIu64 (quadfio.U):
+	This variable conditionally defines the PERL_PRIu64 symbol, which
+	indiciates that stdio has a symbol to print 64-bit unsigned decimal
+	numbers.
+
+d_PRIx64 (quadfio.U):
+	This variable conditionally defines the PERL_PRIx64 symbol, which
+	indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
+
+d_PRIX64 (quadfio.U):
+	This variable conditionally defines the PERL_PRIX64 symbol, which
+	indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
+
 d_pthread_yield (d_pthread_y.U):
 	This variable conditionally defines the HAS_PTHREAD_YIELD
 	symbol if the pthread_yield routine is available to yield
 	the execution of the current thread.
 
-d_pthreads_created_joinable (d_pthreadj.U):
-	This variable conditionally defines the PTHREADS_CREATED_JOINABLE
-	symbol if pthreads are created in the joinable (aka undetached) 
-	state.
-
 d_pwage (i_pwd.U):
 	This variable conditionally defines PWAGE, which indicates
 	that struct passwd contains pw_age.
@@ -878,6 +1142,14 @@ d_pwquota (i_pwd.U):
 	This variable conditionally defines PWQUOTA, which indicates
 	that struct passwd contains pw_quota.
 
+d_qgcvt (d_qgcvt.U):
+	This variable conditionally defines the HAS_QGCVT symbol, which
+	indicates to the C program that the qgcvt() routine is available.
+
+d_quad (quadtype.U):
+	This variable, if defined, tells that there's a 64-bit integer type,
+	quadtype.
+
 d_readdir (d_readdir.U):
 	This variable conditionally defines HAS_READDIR if readdir() is
 	available to read directory entries.
@@ -918,6 +1190,11 @@ d_sched_yield (d_pthread_y.U):
 	symbol if the sched_yield routine is available to yield
 	the execution of the current thread.
 
+d_scm_rights (d_socket.U):
+	This variable conditionally defines the HAS_SCM_RIGHTS symbol,
+	which indicates that the SCM_RIGHTS is available.  #ifdef is
+	not enough because it may be an enum, glibc has been known to do this.
+
 d_seekdir (d_readdir.U):
 	This variable conditionally defines HAS_SEEKDIR if seekdir() is
 	available.
@@ -935,11 +1212,11 @@ d_semctl (d_semctl.U):
 	This variable conditionally defines the HAS_SEMCTL symbol, which
 	indicates to the C program that the semctl() routine is available.
 
-d_semctl_semid_ds (d_union_senum.U):
+d_semctl_semid_ds (d_union_semun.U):
 	This variable conditionally defines USE_SEMCTL_SEMID_DS, which
 	indicates that struct semid_ds * is to be used for semctl IPC_STAT.
 
-d_semctl_semun (d_union_senum.U):
+d_semctl_semun (d_union_semun.U):
 	This variable conditionally defines USE_SEMCTL_SEMUN, which
 	indicates that union semun is to be used for semctl IPC_STAT.
 
@@ -1053,6 +1330,10 @@ d_setsid (d_setsid.U):
 	This variable conditionally defines HAS_SETSID if setsid() is
 	available to set the process group ID.
 
+d_setspent (d_setspent.U):
+	This variable conditionally defines HAS_SETSPENT if setspent() is
+	available to initialize the scan of SysV shadow password entries.
+
 d_setvbuf (d_setvbuf.U):
 	This variable conditionally defines the HAS_SETVBUF symbol, which
 	indicates to the C program that the setvbuf() routine is available
@@ -1100,20 +1381,32 @@ d_socket (d_socket.U):
 	This variable conditionally defines HAS_SOCKET, which indicates
 	that the BSD socket interface is supported.
 
+d_socklen_t (d_socklen_t.U):
+	This symbol will be defined if the C compiler supports socklen_t.
+
 d_sockpair (d_socket.U):
 	This variable conditionally defines the HAS_SOCKETPAIR symbol, which
 	indicates that the BSD socketpair() is supported.
 
+d_sqrtl (d_sqrtl.U):
+	This variable conditionally defines the HAS_SQRTL symbol, which
+	indicates to the C program that the sqrtl() routine is available.
+
 d_statblks (d_statblks.U):
-	This variable conditionally defines USE_STAT_BLOCKS if this system
-	has a stat structure declaring st_blksize and st_blocks.
+	This variable conditionally defines USE_STAT_BLOCKS
+	if this system has a stat structure declaring
+	st_blksize and st_blocks.
 
-d_statfsflags (d_statfs.U):
-	This variable conditionally defines the HAS_STRUCT_STATFS_FLAGS
+d_statfs_f_flags (d_statfs_f_flags.U):
+	This variable conditionally defines the HAS_STRUCT_STATFS_F_FLAGS
 	symbol, which indicates to struct statfs from has f_flags member.
 	This kind of struct statfs is coming from sys/mount.h (BSD),
 	not from sys/statfs.h (SYSV).
 
+d_statfs_s (d_statfs_s.U):
+	This variable conditionally defines the HAS_STRUCT_STATFS symbol,
+	which indicates that the struct statfs is supported.
+
 d_statvfs (d_statvfs.U):
 	This variable conditionally defines the HAS_STATVFS symbol, which
 	indicates to the C program that the statvfs() routine is available.
@@ -1126,6 +1419,10 @@ d_stdio_ptr_lval (d_stdstdio.U):
 	This variable conditionally defines STDIO_PTR_LVALUE if the
 	FILE_ptr macro can be used as an lvalue.
 
+d_stdio_stream_array (stdio_streams.U):
+	This variable tells whether there is an array holding
+	the stdio streams.
+
 d_stdiobase (d_stdstdio.U):
 	This variable conditionally defines USE_STDIO_BASE if this system
 	has a FILE structure declaring a usable _base field (or equivalent)
@@ -1169,11 +1466,27 @@ d_strtol (d_strtol.U):
 	indicates to the C program that the strtol() routine is available
 	to provide better numeric string conversion than atoi() and friends.
 
+d_strtold (d_strtold.U):
+	This variable conditionally defines the HAS_STRTOLD symbol, which
+	indicates to the C program that the strtold() routine is available.
+
+d_strtoll (d_strtoll.U):
+	This variable conditionally defines the HAS_STRTOLL symbol, which
+	indicates to the C program that the strtoll() routine is available.
+
 d_strtoul (d_strtoul.U):
 	This variable conditionally defines the HAS_STRTOUL symbol, which
 	indicates to the C program that the strtoul() routine is available
 	to provide conversion of strings to unsigned long.
 
+d_strtoull (d_strtoull.U):
+	This variable conditionally defines the HAS_STRTOULL symbol, which
+	indicates to the C program that the strtoull() routine is available.
+
+d_strtouq (d_strtouq.U):
+	This variable conditionally defines the HAS_STRTOUQ symbol, which
+	indicates to the C program that the strtouq() routine is available.
+
 d_strxfrm (d_strxfrm.U):
 	This variable conditionally defines HAS_STRXFRM if strxfrm() is
 	available to transform strings.
@@ -1222,6 +1535,12 @@ d_telldir (d_readdir.U):
 	This variable conditionally defines HAS_TELLDIR if telldir() is
 	available.
 
+d_telldirproto (d_telldirproto.U):
+	This variable conditionally defines the HAS_TELLDIR_PROTO symbol,
+	which indicates to the C program that the system provides
+	a prototype for the telldir() function.  Otherwise, it is
+	up to the program to supply one.
+
 d_time (d_time.U):
 	This variable conditionally defines the HAS_TIME symbol, which indicates
 	that the time() routine exists.  The time() routine is normaly
@@ -1250,10 +1569,23 @@ d_uname (d_gethname.U):
 	indicates to the C program that the uname() routine may be
 	used to derive the host name.
 
-d_union_semun (d_union_senum.U):
+d_union_semun (d_union_semun.U):
 	This variable conditionally defines HAS_UNION_SEMUN if the
 	union semun is defined by including .
 
+d_ustat (d_ustat.U):
+	This variable conditionally defines HAS_USTAT if ustat() is
+	available to query file system statistics by dev_t.
+
+d_vendorarch (vendorarch.U):
+	This variable conditionally defined PERL_VENDORARCH.
+
+d_vendorbin (vendorbin.U):
+	This variable conditionally defines PERL_VENDORBIN.
+
+d_vendorlib (vendorlib.U):
+	This variable conditionally defines PERL_VENDORLIB.
+
 d_vfork (d_vfork.U):
 	This variable conditionally defines the HAS_VFORK symbol, which
 	indicates the vfork() routine is available.
@@ -1320,6 +1652,9 @@ db_prefixtype (i_db.U):
 	in the  header file.  In older versions of DB, it was
 	int, while in newer ones it is size_t.
 
+defvoidused (voidflags.U):
+	This variable contains the default value of the VOIDUSED symbol (15).
+
 direntrytype (i_dirent.U):
 	This symbol is set to 'struct direct' or 'struct dirent' depending on
 	whether dirent is available or not. You should use this pseudo type to
@@ -1337,6 +1672,13 @@ doublesize (doublesize.U):
 	This variable contains the value of the DOUBLESIZE symbol, which
 	indicates to the C program how many bytes there are in a double.
 
+drand01 (randfunc.U):
+	Indicates the macro to be used to generate normalized
+	random numbers.  Uses randfunc, often divided by
+	(double) (((unsigned long) 1 << randbits)) in order to
+	normalize the result.
+	In C programs, the macro 'Drand01' is mapped to drand01.
+
 dynamic_ext (Extensions.U):
 	This variable holds a list of XS extension files we want to
 	link dynamically into the package.  It is used by Makefile.
@@ -1385,10 +1727,20 @@ extensions (Extensions.U):
 	and is typically used to test whether a particular extesion 
 	is available.
 
+fflushall (fflushall.U):
+	This symbol, if defined, tells that to flush
+	all pending stdio output one must loop through all
+	the stdio file handles stored in an array and fflush them.
+	Note that if fflushNULL is defined, fflushall will not
+	even be probed for and will be left undefined.
+
+fflushNULL (fflushall.U):
+	This symbol, if defined, tells that fflush(NULL) does flush
+	all pending stdio output.
+
 find (Loc.U):
-	This variable is used internally by Configure to determine the
-	full pathname (if any) of the find program.  After Configure runs,
-	the value is reset to a plain "find" and is not useful.
+	This variable is defined but not used by Configure.
+	The value is a plain '' and is not useful.
 
 firstmakefile (Unix.U):
 	This variable defines the first file searched by make.  On unix,
@@ -1400,8 +1752,11 @@ flex (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
 
+fpossize (fpossize.U):
+	This variable contains the size of a fpostype in bytes.
+
 fpostype (fpostype.U):
-	This variable defines Fpos_t to be something like fpost_t, long, 
+	This variable defines Fpos_t to be something like fpos_t, long, 
 	uint, or whatever type is used to declare file positions in libc.
 
 freetype (mallocsrc.U):
@@ -1432,11 +1787,26 @@ gccversion (cc.U):
 	indicate whether the compiler is version 1 or 2.  This is used in
 	setting some of the default cflags.  It is set to '' if not gcc.
 
+gidformat (gidf.U):
+	This variable contains the format string used for printing a Gid_t.
+
+gidsign (gidsign.U):
+	This variable contains the signedness of a gidtype.
+	1 for unsigned, -1 for signed.
+
+gidsize (gidsize.U):
+	This variable contains the size of a gidtype in bytes.
+
 gidtype (gidtype.U):
 	This variable defines Gid_t to be something like gid_t, int,
 	ushort, or whatever type is used to declare the return type
 	of getgid().  Typically, it is the type of group ids in the kernel.
 
+glibpth (libpth.U):
+	This variable holds the general path (space-separated) used to
+	find libraries.  It may contain directories that do not exist on
+	this platform, libpth is the cleaned-up version.
+
 grep (Loc.U):
 	This variable is used internally by Configure to determine the
 	full pathname (if any) of the grep program.  After Configure runs,
@@ -1446,6 +1816,8 @@ groupcat (nis.U):
 	This variable contains a command that produces the text of the
 	/etc/group file.  This is normally "cat /etc/group", but can be
 	"ypcat group" when NIS is used.
+	On some systems, such as os390, there may be no equivalent
+	command, in which case this variable is unset.
 
 groupstype (groupstype.U):
 	This variable defines Groups_t to be something like gid_t, int, 
@@ -1474,6 +1846,8 @@ hostcat (nis.U):
 	This variable contains a command that produces the text of the
 	/etc/hosts file.  This is normally "cat /etc/hosts", but can be
 	"ypcat hosts" when NIS is used.
+	On some systems, such as os390, there may be no equivalent
+	command, in which case this variable is unset.
 
 huge (models.U):
 	This variable contains a flag which will tell the C compiler and loader
@@ -1481,6 +1855,30 @@ huge (models.U):
 	huge model is not supported, contains the flag to produce large
 	model programs.  It is up to the Makefile to use this.
 
+i16size (perlxv.U):
+	This variable is the size of an I16 in bytes.
+
+i16type (perlxv.U):
+	This variable contains the C type used for Perl's I16.
+
+i32size (perlxv.U):
+	This variable is the size of an I32 in bytes.
+
+i32type (perlxv.U):
+	This variable contains the C type used for Perl's I32.
+
+i64size (perlxv.U):
+	This variable is the size of an I64 in bytes.
+
+i64type (perlxv.U):
+	This variable contains the C type used for Perl's I64.
+
+i8size (perlxv.U):
+	This variable is the size of an I8 in bytes.
+
+i8type (perlxv.U):
+	This variable contains the C type used for Perl's I8.
+
 i_arpainet (i_arpainet.U):
 	This variable conditionally defines the I_ARPA_INET symbol,
 	and indicates whether a C program should include .
@@ -1531,6 +1929,18 @@ i_grp (i_grp.U):
 	This variable conditionally defines the I_GRP symbol, and indicates
 	whether a C program should include .
 
+i_iconv (i_iconv.U):
+	This variable conditionally defines the I_ICONV symbol, and indicates
+	whether a C program should include .
+
+i_ieeefp (i_ieeefp.U):
+	This variable conditionally defines the I_IEEEFP symbol, and indicates
+	whether a C program should include .
+
+i_inttypes (i_inttypes.U):
+	This variable conditionally defines the I_INTTYPES symbol,
+	and indicates whether a C program should include .
+
 i_limits (i_limits.U):
 	This variable conditionally defines the I_LIMITS symbol, and indicates
 	whether a C program may include  to get symbols like WORD_BIT
@@ -1574,11 +1984,23 @@ i_neterrno (i_neterrno.U):
 	indicates to the C program that  exists and should
 	be included.
 
+i_netinettcp (i_netinettcp.U):
+	This variable conditionally defines the I_NETINET_TCP symbol,
+	and indicates whether a C program should include .
+
 i_niin (i_niin.U):
 	This variable conditionally defines I_NETINET_IN, which indicates
 	to the C program that it should include . Otherwise,
 	you may try .
 
+i_poll (i_poll.U):
+	This variable conditionally defines the I_POLL symbol, and indicates
+	whether a C program should include .
+
+i_pthread (i_pthread.U):
+	This variable conditionally defines the I_PTHREAD symbol,
+	and indicates whether a C program should include .
+
 i_pwd (i_pwd.U):
 	This variable conditionally defines I_PWD, which indicates
 	to the C program that it should include .
@@ -1597,6 +2019,14 @@ i_sgtty (i_termio.U):
 	indicates to the C program that it should include  rather
 	than .
 
+i_shadow (i_shadow.U):
+	This variable conditionally defines the I_SHADOW symbol, and indicates
+	whether a C program should include .
+
+i_socks (i_socks.U):
+	This variable conditionally defines the I_SOCKS symbol, and indicates
+	whether a C program should include .
+
 i_stdarg (i_varhdr.U):
 	This variable conditionally defines the I_STDARG symbol, which
 	indicates to the C program that  exists and should
@@ -1616,6 +2046,14 @@ i_string (i_string.U):
 	This variable conditionally defines the I_STRING symbol, which
 	indicates that  should be included rather than .
 
+i_sunmath (i_sunmath.U):
+	This variable conditionally defines the I_SUNMATH symbol, and indicates
+	whether a C program should include .
+
+i_sysaccess (i_sysaccess.U):
+	This variable conditionally defines the I_SYS_ACCESS symbol,
+	and indicates whether a C program should include .
+
 i_sysdir (i_sysdir.U):
 	This variable conditionally defines the I_SYS_DIR symbol, and indicates
 	whether a C program should include .
@@ -1639,6 +2077,18 @@ i_sysioctl (i_sysioctl.U):
 	indicates to the C program that  exists and should
 	be included.
 
+i_syslog (i_syslog.U):
+	This variable conditionally defines the I_SYSLOG symbol,
+	and indicates whether a C program should include .
+
+i_sysmman (i_sysmman.U):
+	This variable conditionally defines the I_SYS_MMAN symbol, and
+	indicates whether a C program should include .
+
+i_sysmode (i_sysmode.U):
+	This variable conditionally defines the I_SYSMODE symbol,
+	and indicates whether a C program should include .
+
 i_sysmount (i_sysmount.U):
 	This variable conditionally defines the I_SYSMOUNT symbol,
 	and indicates whether a C program should include .
@@ -1655,6 +2105,10 @@ i_sysresrc (i_sysresrc.U):
 	This variable conditionally defines the I_SYS_RESOURCE symbol,
 	and indicates whether a C program should include .
 
+i_syssecrt (i_syssecrt.U):
+	This variable conditionally defines the I_SYS_SECURITY symbol,
+	and indicates whether a C program should include .
+
 i_sysselct (i_sysselct.U):
 	This variable conditionally defines I_SYS_SELECT, which indicates
 	to the C program that it should include  in order to
@@ -1694,11 +2148,23 @@ i_systypes (i_systypes.U):
 	This variable conditionally defines the I_SYS_TYPES symbol,
 	and indicates whether a C program should include .
 
+i_sysuio (i_sysuio.U):
+	This variable conditionally defines the I_SYSUIO symbol, and indicates
+	whether a C program should include .
+
 i_sysun (i_sysun.U):
 	This variable conditionally defines I_SYS_UN, which indicates
 	to the C program that it should include  to get UNIX
 	domain socket definitions.
 
+i_sysutsname (i_sysutsname.U):
+	This variable conditionally defines the I_SYSUTSNAME symbol,
+	and indicates whether a C program should include .
+
+i_sysvfs (i_sysvfs.U):
+	This variable conditionally defines the I_SYSVFS symbol,
+	and indicates whether a C program should include .
+
 i_syswait (i_syswait.U):
 	This variable conditionally defines I_SYS_WAIT, which indicates
 	to the C program that it should include .
@@ -1721,6 +2187,10 @@ i_unistd (i_unistd.U):
 	This variable conditionally defines the I_UNISTD symbol, and indicates
 	whether a C program should include .
 
+i_ustat (i_ustat.U):
+	This variable conditionally defines the I_USTAT symbol, and indicates
+	whether a C program should include .
+
 i_utime (i_utime.U):
 	This variable conditionally defines the I_UTIME symbol, and indicates
 	whether a C program should include .
@@ -1747,6 +2217,21 @@ ignore_versioned_solibs (libs.U):
 	libraries (libfoo.so.x.y) are to be ignored (because they
 	cannot be linked against).
 
+inc_version_list (inc_version_list.U):
+	This variable specifies the list of subdirectories in over
+	which perl.c:incpush() and lib/lib.pm will automatically
+	search when adding directories to @INC.  The elements in
+	the list are separated by spaces.  This is only useful
+	if you have a perl library directory tree structured like the
+	default one.  See INSTALL for how this works.  The versioned
+	site_perl directory was introduced in 5.005, so that is the
+	lowest possible value.
+
+inc_version_list_init (inc_version_list.U):
+	This variable holds the same list as inc_version_list, but
+	each item is enclosed in double quotes and separated by commas, 
+	suitable for use in the PERL_INC_VERSION_LIST initialization.
+
 incpath (usrinc.U):
 	This variable must preceed the normal include path to get hte
 	right one, as in "$incpath/usr/include" or "$incpath/usr/lib".
@@ -1778,6 +2263,18 @@ installman3dir (man3dir.U):
 	man3direxp only points to the read-only access location. For extra
 	portability, you should only use this variable within your makefiles.
 
+installprefix (installprefix.U):
+	This variable holds the name of the directory below which 
+	"make install" will install the package.  For most users, this
+	is the same as prefix.  However, it is useful for
+	installing the software into a different (usually temporary)
+	location after which it can be bundled up and moved somehow
+	to the final location specified by prefix.
+
+installprefixexp (installprefix.U):
+	This variable holds the full absolute path of installprefix
+	with all ~-expansion done.
+
 installprivlib (privlib.U):
 	This variable is really the same as privlibexp but may differ on
 	those systems using AFS. For extra portability, only this variable
@@ -1793,20 +2290,68 @@ installsitearch (sitearch.U):
 	those systems using AFS. For extra portability, only this variable
 	should be used in makefiles.
 
+installsitebin (sitebin.U):
+	This variable is usually the same as sitebinexp, unless you are on
+	a system running AFS, in which case they may differ slightly. You
+	should always use this variable within your makefiles for portability.
+
 installsitelib (sitelib.U):
 	This variable is really the same as sitelibexp but may differ on
 	those systems using AFS. For extra portability, only this variable
 	should be used in makefiles.
 
+installstyle (installstyle.U):
+	This variable describes the "style" of the perl installation.
+	This is intended to be useful for tools that need to
+	manipulate entire perl distributions.  Perl itself doesn't use
+	this to find its libraries -- the library directories are
+	stored directly in Config.pm.  Currently, there are only two
+	styles:  "lib" and "lib/perl5".  The default library locations
+	(e.g. privlib, sitelib) are either $prefix/lib or
+	$prefix/lib/perl5.  The former is useful if $prefix is a
+	directory dedicated to perl (e.g. /opt/perl), while the latter
+	is useful if $prefix is shared by many packages, e.g. if
+	$prefix=/usr/local.
+		This may later be extended to include other information, so
+	be careful with pattern-matching on the results.
+		For compatibility with perl5.005 and earlier, the default
+	setting is based on whether or not $prefix contains the string
+	"perl".
+
 installusrbinperl (instubperl.U):
 	This variable tells whether Perl should be installed also as
 	/usr/bin/perl in addition to
 	$installbin/perl
 
+installvendorarch (vendorarch.U):
+	This variable is really the same as vendorarchexp but may differ on
+	those systems using AFS. For extra portability, only this variable
+	should be used in makefiles.
+
+installvendorbin (vendorbin.U):
+	This variable is really the same as vendorbinexp but may differ on
+	those systems using AFS. For extra portability, only this variable
+	should be used in makefiles.
+
+installvendorlib (vendorlib.U):
+	This variable is really the same as vendorlibexp but may differ on
+	those systems using AFS. For extra portability, only this variable
+	should be used in makefiles.
+
 intsize (intsize.U):
 	This variable contains the value of the INTSIZE symbol, which
 	indicates to the C program how many bytes there are in an int.
 
+ivdformat (perlxvf.U):
+	This variable contains the format string used for printing
+	a Perl IV as a signed decimal integer. 
+
+ivsize (perlxv.U):
+	This variable is the size of an IV in bytes.
+
+ivtype (perlxv.U):
+	This variable contains the C type used for Perl's IV.
+
 known_extensions (Extensions.U):
 	This variable holds a list of all XS extensions included in 
 	the package.
@@ -1836,6 +2381,11 @@ ldflags (ccflags.U):
 	This variable contains any additional C loader flags desired by
 	the user.  It is up to the Makefile to use this.
 
+ldlibpthname (libperl.U):
+	This variable holds the name of the shared library
+	search path, often LD_LIBRARY_PATH.  To get an empty
+	string, the hints file must set this to 'none'.
+
 less (Loc.U):
 	This variable is used internally by Configure to determine the
 	full pathname (if any) of the less program.  After Configure runs,
@@ -1856,22 +2406,36 @@ libperl (libperl.U):
 	library.
 
 libpth (libpth.U):
-	This variable holds the general path used to find libraries. It is
-	intended to be used by other units.
+	This variable holds the general path (space-separated) used to find
+	libraries. It is intended to be used by other units.
 
 libs (libs.U):
 	This variable holds the additional libraries we want to use.
 	It is up to the Makefile to deal with it.
 
+libsdirs (libs.U):
+	This variable holds the directory names aka dirnames of the libraries
+	we found and accepted, duplicates are removed.
+
+libsfiles (libs.U):
+	This variable holds the filenames aka basenames of the libraries
+	we found and accepted.
+
+libsfound (libs.U):
+	This variable holds the full pathnames of the libraries
+	we found and accepted.
+
+libspath (libs.U):
+	This variable holds the directory names probed for libraries.
+
 libswanted (Myinit.U):
 	This variable holds a list of all the libraries we want to
 	search.  The order is chosen to pick up the c library
 	ahead of ucb or bsd libraries for SVR4.
 
 line (Loc.U):
-	This variable is used internally by Configure to determine the
-	full pathname (if any) of the line program.  After Configure runs,
-	the value is reset to a plain "line" and is not useful.
+	This variable is defined but not used by Configure.
+	The value is a plain '' and is not useful.
 
 lint (Loc.U):
 	This variable is defined but not used by Configure.
@@ -1899,9 +2463,9 @@ locincpth (ccflags.U):
 	It's not much, but it parallels the loclibpth stuff in libpth.U.
 
 loclibpth (libpth.U):
-	This variable holds the paths used to find local libraries.  It is
-	prepended to libpth, and is intended to be easily set from the
-	command line.
+	This variable holds the paths (space-separated) used to find local
+	libraries.  It is prepended to libpth, and is intended to be easily
+	set from the command line.
 
 longdblsize (d_longdbl.U):
 	This variable contains the value of the LONG_DOUBLESIZE symbol, which
@@ -1930,6 +2494,11 @@ ls (Loc.U):
 	full pathname (if any) of the ls program.  After Configure runs,
 	the value is reset to a plain "ls" and is not useful.
 
+lseeksize (lseektype.U):
+	This variable defines lseektype to be something like off_t, long, 
+	or whatever type is used to declare lseek offset's type in the
+	kernel (which also appears to be lseek's return type).
+
 lseektype (lseektype.U):
 	This variable defines lseektype to be something like off_t, long, 
 	or whatever type is used to declare lseek offset's type in the
@@ -2004,6 +2573,11 @@ man3ext (man3dir.U):
 	have: one of 'n', 'l', or '3'.  The Makefile must supply the '.'.
 	See man3dir.
 
+Mcc (Loc.U):
+	This variable is used internally by Configure to determine the
+	full pathname (if any) of the Mcc program.  After Configure runs,
+	the value is reset to a plain "Mcc" and is not useful.
+
 medium (models.U):
 	This variable contains a flag which will tell the C compiler and loader
 	to produce a program running with a medium memory model.  If the
@@ -2019,6 +2593,11 @@ mkdir (Loc.U):
 	full pathname (if any) of the mkdir program.  After Configure runs,
 	the value is reset to a plain "mkdir" and is not useful.
 
+mmaptype (d_mmap.U):
+	This symbol contains the type of pointer returned by mmap()
+	(and simultaneously the type of the first argument).
+	It can be 'void *' or 'caddr_t'.
+
 models (models.U):
 	This variable contains the list of memory models supported by this
 	system.  Possible component values are none, split, unsplit, small,
@@ -2034,6 +2613,11 @@ more (Loc.U):
 	full pathname (if any) of the more program.  After Configure runs,
 	the value is reset to a plain "more" and is not useful.
 
+multiarch (multiarch.U):
+	This variable conditionally defines the MULTIARCH symbol
+	which signifies the presence of multiplatform files.
+	This is normally set by hints files.
+
 mv (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
@@ -2063,7 +2647,7 @@ myuname (Oldconfig.U):
 n (n.U):
 	This variable contains the '-n' flag if that is what causes the echo
 	command to suppress newline.  Otherwise it is null.  Correct usage is
-	    $echo $n "prompt for a question: $c".
+	$echo $n "prompt for a question: $c".
 
 netdb_hlen_type (netdbtype.U):
 	This variable holds the type used for the 2nd argument to
@@ -2111,6 +2695,12 @@ nroff (Loc.U):
 	full pathname (if any) of the nroff program.  After Configure runs,
 	the value is reset to a plain "nroff" and is not useful.
 
+nvsize (perlxv.U):
+	This variable is the size of an NV in bytes.
+
+nvtype (perlxv.U):
+	This variable contains the C type used for Perl's NV.
+
 o_nonblock (nblock_io.U):
 	This variable bears the symbol value to be used during open() or fcntl()
 	to turn on non-blocking I/O for a file descriptor. If you wish to switch
@@ -2120,6 +2710,12 @@ o_nonblock (nblock_io.U):
 obj_ext (Unix.U):
 	This is an old synonym for _o.
 
+old_pthread_create_joinable (d_pthrattrj.U):
+	This variable defines the constant to use for creating joinable
+	(aka undetached) pthreads.  Unused if pthread.h defines
+	PTHREAD_CREATE_JOINABLE.  If used, possible values are
+	PTHREAD_CREATE_UNDETACHED and __UNDETACHED.
+
 optimize (ccflags.U):
 	This variable contains any optimizer/debugger flag that should be used.
 	It is up to the Makefile to use it.
@@ -2157,19 +2753,41 @@ passcat (nis.U):
 	This variable contains a command that produces the text of the
 	/etc/passwd file.  This is normally "cat /etc/passwd", but can be
 	"ypcat passwd" when NIS is used.
+	On some systems, such as os390, there may be no equivalent
+	command, in which case this variable is unset.
 
 patchlevel (patchlevel.U):
 	The patchlevel level of this package.
 	The value of patchlevel comes from the patchlevel.h file.
+	In a version number such as 5.6.1, this is the "6".
+	In patchlevel.h, this is referred to as "PERL_VERSION".
 
 path_sep (Unix.U):
 	This is an old synonym for p_ in Head.U, the character
 	used to separate elements in the command shell search PATH.
 
+perl5 (perl5.U):
+	This variable contains the full path (if any) to a previously
+	installed perl5.005 or later suitable for running the script
+	to determine inc_version_list.
+
 perl (Loc.U):
-	This variable is used internally by Configure to determine the
-	full pathname (if any) of the perl program.  After Configure runs,
-	the value is reset to a plain "perl" and is not useful.
+	This variable is defined but not used by Configure.
+	The value is a plain '' and is not useful.
+
+PERL_REVISION (Oldsyms.U):
+	In a Perl version number such as 5.6.2, this is the 5.
+	This value is manually set in patchlevel.h
+
+PERL_SUBVERSION (Oldsyms.U):
+	In a Perl version number such as 5.6.2, this is the 2.
+	Values greater than 50 represent potentially unstable
+	development subversions.
+	This value is manually set in patchlevel.h
+
+PERL_VERSION (Oldsyms.U):
+	In a Perl version number such as 5.6.2, this is the 6.
+	This value is manually set in patchlevel.h
 
 perladmin (perladmin.U):
 	Electronic mail address of the perl5 administrator.
@@ -2199,6 +2817,21 @@ plibpth (libpth.U):
 	Its value is prepend to libpth. This variable takes care of special
 	machines, like the mips.  Usually, it should be empty.
 
+pm_apiversion (xs_apiversion.U):
+	This variable contains the version of the oldest perl
+	compatible with the present perl.  (That is, pure perl modules
+	written for $pm_apiversion will still work for the current
+	version).  perl.c:incpush() and lib/lib.pm will automatically
+	search in $sitelib for older directories across major versions
+	back to pm_apiversion.  This is only useful if you have a perl
+	library directory tree structured like the default one.  The
+	versioned site_perl library was introduced in 5.005, so that's
+	the default setting for this variable.  It's hard to imagine
+	it changing before Perl6.  It is included here for symmetry
+	with xs_apiveprsion -- the searching algorithms will
+	(presumably) be similar.
+	See the INSTALL file for how this works.
+
 pmake (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
@@ -2236,10 +2869,26 @@ ptrsize (ptrsize.U):
 	This variable contains the value of the PTRSIZE symbol, which
 	indicates to the C program how many bytes there are in a pointer.
 
-randbits (randbits.U):
-	This variable contains the eventual value of the RANDBITS symbol,
-	which indicates to the C program how many bits of random number
-	the rand() function produces.
+quadkind (quadtype.U):
+	This variable, if defined, encodes the type of a quad:
+	1 = int, 2 = long, 3 = long long, 4 = int64_t.
+
+quadtype (quadtype.U):
+	This variable defines Quad_t to be something like long, int, 
+	long long, int64_t, or whatever type is used for 64-bit integers.
+
+randbits (randfunc.U):
+	Indicates how many bits are produced by the function used to
+	generate normalized random numbers.
+
+randfunc (randfunc.U):
+	Indicates the name of the random number function to use.
+	Values include drand48, random, and rand. In C programs,
+	the 'Drand01' macro is defined to generate uniformly distributed
+	random numbers over the range [0., 1.[ (see drand01 and nrand).
+
+randseedtype (randfunc.U):
+	Indicates the type of the argument of the seedfunc.
 
 ranlib (orderlib.U):
 	This variable is set to the pathname of the ranlib program, if it is
@@ -2252,6 +2901,11 @@ rd_nodata (nblock_io.U):
 	used, which is a shame because you cannot make the difference between
 	no data and an EOF.. Sigh!
 
+revision (patchlevel.U):
+	The value of revision comes from the patchlevel.h file.
+	In a version number such as 5.6.1, this is the "5".
+	In patchlevel.h, this is referred to as "PERL_REVISION".
+
 rm (Loc.U):
 	This variable is used internally by Configure to determine the
 	full pathname (if any) of the rm program.  After Configure runs,
@@ -2266,6 +2920,10 @@ runnm (usenm.U):
 	nm extraction should be performed or not, according to the value
 	of usenm and the flags on the Configure command line.
 
+sched_yield (d_pthread_y.U):
+	This variable defines the way to yield the execution
+	of the current thread.
+
 scriptdir (scriptdir.U):
 	This variable holds the name of the directory in which the user wants
 	to put publicly scripts for the package in question.  It is either
@@ -2282,6 +2940,10 @@ sed (Loc.U):
 	full pathname (if any) of the sed program.  After Configure runs,
 	the value is reset to a plain "sed" and is not useful.
 
+seedfunc (randfunc.U):
+	Indicates the random number generating seed function.
+	Values include srand48, srandom, and srand.
+
 selectminbits (selectminbits.U):
 	This variable holds the minimum number of bits operated by select.
 	That is, if you do select(n, ...), how many bits at least will be
@@ -2296,9 +2958,8 @@ selecttype (selecttype.U):
 	have select(), naturally.
 
 sendmail (Loc.U):
-	This variable is used internally by Configure to determine the
-	full pathname (if any) of the sendmail program.  After Configure runs,
-	the value is reset to a plain "sendmail" and is not useful.
+	This variable is defined but not used by Configure.
+	The value is a plain '' and is not useful.
 
 sh (sh.U):
 	This variable contains the full pathname of the shell used
@@ -2332,11 +2993,11 @@ shrpenv (libperl.U):
 	One way to do this on some systems is to set the environment variable
 	LD_RUN_PATH to the directory that will be the final location of the
 	shared libperl.so.  The makefile can use this with something like
-		$shrpenv $(CC) -o perl perlmain.o $libperl $libs
+	$shrpenv $(CC) -o perl perlmain.o $libperl $libs
 	Typical values are
-		shrpenv="env LD_RUN_PATH=$archlibexp/CORE"
+	shrpenv="env LD_RUN_PATH=$archlibexp/CORE"
 	or
-		shrpenv=''
+	shrpenv=''
 	See the main perl Makefile.SH for actual working usage.
 	Alternatively, we might be able to use a command line option such
 	as -R $archlibexp/CORE (Solaris, NetBSD) or -Wl,-rpath
@@ -2346,6 +3007,10 @@ shsharp (spitshell.U):
 	This variable tells further Configure units whether your sh can
 	handle # comments.
 
+sig_count (sig_name.U):
+	This variable holds a number larger than the largest valid
+	signal number.  This is usually the same as the NSIG macro.
+
 sig_name (sig_name.U):
 	This variable holds the signal names, space separated. The leading
 	SIG in signal name is removed.  A ZERO is prepended to the
@@ -2359,7 +3024,7 @@ sig_name_init (sig_name.U):
 	is removed. See sig_num.
 
 sig_num (sig_name.U):
-	This variable holds the signal numbers, comma separated. A 0 is
+	This variable holds the signal numbers, space separated. A ZERO is
 	prepended to the list (corresponding to the fake SIGZERO), and 
 	the list is terminated with a 0.  Those numbers correspond to 
 	the value of the signal listed in the same place within the
@@ -2379,21 +3044,63 @@ sitearch (sitearch.U):
 	which is the name of the private library for this package.  It may
 	have a ~ on the front. It is up to the makefile to eventually create
 	this directory while performing installation (with ~ substitution).
+	The standard distribution will put nothing in this directory.
+	After perl has been installed, users may install their own local
+	architecture-dependent modules in this directory with
+	MakeMaker Makefile.PL
+	or equivalent.  See INSTALL for details.
 
 sitearchexp (sitearch.U):
 	This variable is the ~name expanded version of sitearch, so that you
 	may use it directly in Makefiles or shell scripts.
 
+sitebin (sitebin.U):
+	This variable holds the name of the directory in which the user wants
+	to put add-on publicly executable files for the package in question.  It
+	is most often a local directory such as /usr/local/bin. Programs using
+	this variable must be prepared to deal with ~name substitution.
+	The standard distribution will put nothing in this directory.
+	After perl has been installed, users may install their own local
+	executables in this directory with
+	MakeMaker Makefile.PL
+	or equivalent.  See INSTALL for details.
+
+sitebinexp (sitebin.U):
+	This is the same as the sitebin variable, but is filename expanded at
+	configuration time, for use in your makefiles.
+
 sitelib (sitelib.U):
 	This variable contains the eventual value of the SITELIB symbol,
 	which is the name of the private library for this package.  It may
 	have a ~ on the front. It is up to the makefile to eventually create
 	this directory while performing installation (with ~ substitution).
+	The standard distribution will put nothing in this directory.
+	After perl has been installed, users may install their own local
+	architecture-independent modules in this directory with
+	MakeMaker Makefile.PL
+	or equivalent.  See INSTALL for details.
+
+sitelib_stem (sitelib.U):
+	This variable is $sitelibexp with any trailing version-specific component
+	removed.  The elements in inc_version_list (inc_version_list.U) can
+	be tacked onto this variable to generate a list of directories to search.
 
 sitelibexp (sitelib.U):
 	This variable is the ~name expanded version of sitelib, so that you
 	may use it directly in Makefiles or shell scripts.
 
+siteprefix (siteprefix.U):
+	This variable holds the full absolute path of the directory below
+	which the user will install add-on packages.
+	See INSTALL for usage and examples.
+
+siteprefixexp (siteprefix.U):
+	This variable holds the full absolute path of the directory below
+	which the user will install add-on packages.  Derived from siteprefix.
+
+sizesize (sizesize.U):
+	This variable contains the size of a sizetype in bytes.
+
 sizetype (sizetype.U):
 	This variable defines sizetype to be something like size_t, 
 	unsigned long, or whatever type is used to declare length 
@@ -2422,6 +3129,11 @@ sockethdr (d_socket.U):
 socketlib (d_socket.U):
 	This variable has the names of any libraries needed for socket support.
 
+socksizetype (socksizetype.U):
+	This variable holds the type used for the size argument
+	for various socket calls like accept.  Usual values include
+	socklen_t, size_t, and int.
+
 sort (Loc.U):
 	This variable is used internally by Configure to determine the
 	full pathname (if any) of the sort program.  After Configure runs,
@@ -2442,6 +3154,54 @@ split (models.U):
 	machines that support separation of instruction and data space.  It is
 	up to the Makefile to use this.
 
+sPRId64 (quadfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format 64-bit decimal numbers (format 'd') for output.
+
+sPRIeldbl (longdblfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format long doubles (format 'e') for output.
+
+sPRIEldbl (longdblfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format long doubles (format 'E') for output.
+
+sPRIfldbl (longdblfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format long doubles (format 'f') for output.
+
+sPRIFldbl (longdblfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format long doubles (format 'F') for output.
+
+sPRIgldbl (longdblfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format long doubles (format 'g') for output.
+
+sPRIGldbl (longdblfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format long doubles (format 'G') for output.
+
+sPRIi64 (quadfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format 64-bit decimal numbers (format 'i') for output.
+
+sPRIo64 (quadfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format 64-bit octal numbers (format 'o') for output.
+
+sPRIu64 (quadfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format 64-bit unsigned decimal numbers (format 'u') for output.
+
+sPRIx64 (quadfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format 64-bit hexadecimal numbers (format 'x') for output.
+
+sPRIX64 (quadfio.U):
+	This variable, if defined, contains the string used by stdio to
+	format 64-bit hExADECimAl numbers (format 'X') for output.
+
 src (src.U):
 	This variable holds the path to the package source. It is up to
 	the Makefile to use this variable and set VPATH accordingly to
@@ -2458,8 +3218,8 @@ startperl (startperl.U):
 	script to make sure (hopefully) that it runs with perl and not some
 	shell. Of course, that leading line must be followed by the classical
 	perl idiom:
-		eval 'exec perl -S $0 ${1+"$@"}'
-			if $running_under_some_shell;
+	eval 'exec perl -S $0 ${1+"$@"}'
+	if $running_under_some_shell;
 	to guarantee perl startup should the shell execute the script. Note
 	that this magic incatation is not understood by csh.
 
@@ -2502,6 +3262,10 @@ stdio_ptr (d_stdstdio.U):
 	_ptr field (or equivalent) of stdio.h's FILE structure.  This will
 	be used to define the macro FILE_ptr(fp).
 
+stdio_stream_array (stdio_streams.U):
+	This variable tells the name of the array holding the stdio streams.
+	Usual values include _iob, __iob, and __sF.
+
 strings (i_string.U):
 	This variable holds the full path of the string header that will be
 	used. Typically /usr/include/string.h or /usr/include/strings.h.
@@ -2513,6 +3277,8 @@ submit (Loc.U):
 subversion (patchlevel.U):
 	The subversion level of this package.
 	The value of subversion comes from the patchlevel.h file.
+	In a version number such as 5.6.1, this is the "1".
+	In patchlevel.h, this is referred to as "PERL_SUBVERSION".
 	This is unique to perl.
 
 sysman (sysman.U):
@@ -2534,9 +3300,8 @@ tbl (Loc.U):
 	The value is a plain '' and is not useful.
 
 tee (Loc.U):
-	This variable is used internally by Configure to determine the
-	full pathname (if any) of the tee program.  After Configure runs,
-	the value is reset to a plain "tee" and is not useful.
+	This variable is defined but not used by Configure.
+	The value is a plain '' and is not useful.
 
 test (Loc.U):
 	This variable is used internally by Configure to determine the
@@ -2571,6 +3336,40 @@ troff (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
 
+u16size (perlxv.U):
+	This variable is the size of an U16 in bytes.
+
+u16type (perlxv.U):
+	This variable contains the C type used for Perl's U16.
+
+u32size (perlxv.U):
+	This variable is the size of an U32 in bytes.
+
+u32type (perlxv.U):
+	This variable contains the C type used for Perl's U32.
+
+u64size (perlxv.U):
+	This variable is the size of an U64 in bytes.
+
+u64type (perlxv.U):
+	This variable contains the C type used for Perl's U64.
+
+u8size (perlxv.U):
+	This variable is the size of an U8 in bytes.
+
+u8type (perlxv.U):
+	This variable contains the C type used for Perl's U8.
+
+uidformat (uidf.U):
+	This variable contains the format string used for printing a Uid_t.
+
+uidsign (uidsign.U):
+	This variable contains the signedness of a uidtype.
+	1 for unsigned, -1 for signed.
+
+uidsize (uidsize.U):
+	This variable contains the size of a uidtype in bytes.
+
 uidtype (uidtype.U):
 	This variable defines Uid_t to be something like uid_t, int, 
 	ushort, or whatever type is used to declare user ids in the kernel.
@@ -2585,10 +3384,61 @@ uniq (Loc.U):
 	full pathname (if any) of the uniq program.  After Configure runs,
 	the value is reset to a plain "uniq" and is not useful.
 
+uquadtype (quadtype.U):
+	This variable defines Uquad_t to be something like unsigned long,
+	unsigned int, unsigned long long, uint64_t, or whatever type is
+	used for 64-bit integers.
+
+use5005threads (usethreads.U):
+	This variable conditionally defines the USE_5005THREADS symbol,
+	and indicates that Perl should be built to use the 5.005-based
+	threading implementation.
+
+use64bitall (use64bits.U):
+	This variable conditionally defines the USE_64_BIT_ALL symbol,
+	and indicates that 64-bit integer types should be used
+	when available.  The maximal possible
+	64-bitness is employed: LP64 or ILP64, meaning that you will
+	be able to use more than 2 gigabytes of memory.  This mode is
+	even more binary incompatible than USE_64_BIT_INT. You may not
+	be able to run the resulting executable in a 32-bit CPU at all or
+	you may need at least to reboot your OS to 64-bit mode.
+
+use64bitint (use64bits.U):
+	This variable conditionally defines the USE_64_BIT_INT symbol,
+	and indicates that 64-bit integer types should be used
+	when available.  The minimal possible 64-bitness
+	is employed, just enough to get 64-bit integers into Perl.
+	This may mean using for example "long longs", while your memory
+	may still be limited to 2 gigabytes.
+
 usedl (dlsrc.U):
-	This variable indicates if the the system supports dynamic
+	This variable indicates if the system supports dynamic
 	loading of some sort.  See also dlsrc and dlobj.
 
+useithreads (usethreads.U):
+	This variable conditionally defines the USE_ITHREADS symbol,
+	and indicates that Perl should be built to use the interpreter-based
+	threading implementation.
+
+uselargefiles (uselfs.U):
+	This variable conditionally defines the USE_LARGE_FILES symbol,
+	and indicates that large file interfaces should be used when
+	available.
+
+uselongdouble (uselongdbl.U):
+	This variable conditionally defines the USE_LONG_DOUBLE symbol,
+	and indicates that long doubles should be used when available.
+
+usemorebits (usemorebits.U):
+	This variable conditionally defines the USE_MORE_BITS symbol,
+	and indicates that explicit 64-bit interfaces and long doubles
+	should be used when available.
+
+usemultiplicity (usemultiplicity.U):
+	This variable conditionally defines the MULTIPLICITY symbol,
+	and indicates that Perl should be built to use multiplicity.
+
 usemymalloc (mallocsrc.U):
 	This variable contains y if the malloc that comes with this package
 	is desired over the system's version of malloc.  People often include
@@ -2630,10 +3480,18 @@ useshrplib (libperl.U):
 	This variable is set to 'yes' if the user wishes
 	to build a shared libperl, and 'no' otherwise.
 
+usesocks (usesocks.U):
+	This variable conditionally defines the USE_SOCKS symbol,
+	and indicates that Perl should be built to use SOCKS.
+
 usethreads (usethreads.U):
 	This variable conditionally defines the USE_THREADS symbol,
 	and indicates that Perl should be built to use threads.
 
+usevendorprefix (vendorprefix.U):
+	This variable tells whether the vendorprefix
+	and consequently other vendor* paths are in use.
+
 usevfork (d_vfork.U):
 	This variable is set to true when the user accepts to use vfork.
 	It is set to false when no vfork is available or when the user
@@ -2647,12 +3505,83 @@ uuname (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
 
+uvoformat (perlxvf.U):
+	This variable contains the format string used for printing
+	a Perl UV as an unsigned octal integer. 
+
+uvsize (perlxv.U):
+	This variable is the size of a UV in bytes.
+
+uvtype (perlxv.U):
+	This variable contains the C type used for Perl's UV.
+
+uvuformat (perlxvf.U):
+	This variable contains the format string used for printing
+	a Perl UV as an unsigned decimal integer. 
+
+uvxformat (perlxvf.U):
+	This variable contains the format string used for printing
+	a Perl UV as an unsigned hexadecimal integer. 
+
+vendorarch (vendorarch.U):
+	This variable contains the value of the PERL_VENDORARCH symbol.
+	It may have a ~ on the front. 
+	The standard distribution will put nothing in this directory.
+	Vendors who distribute perl may wish to place their own
+	architecture-dependent modules and extensions in this directory with
+	MakeMaker Makefile.PL INSTALLDIRS=vendor 
+	or equivalent.  See INSTALL for details.
+
+vendorarchexp (vendorarch.U):
+	This variable is the ~name expanded version of vendorarch, so that you
+	may use it directly in Makefiles or shell scripts.
+
+vendorbin (vendorbin.U):
+	This variable contains the eventual value of the VENDORBIN symbol.
+	It may have a ~ on the front.
+	The standard distribution will put nothing in this directory.
+	Vendors who distribute perl may wish to place additional
+	binaries in this directory with
+	MakeMaker Makefile.PL INSTALLDIRS=vendor 
+	or equivalent.  See INSTALL for details.
+
+vendorbinexp (vendorbin.U):
+	This variable is the ~name expanded version of vendorbin, so that you
+	may use it directly in Makefiles or shell scripts.
+
+vendorlib (vendorlib.U):
+	This variable contains the eventual value of the VENDORLIB symbol,
+	which is the name of the private library for this package.
+	The standard distribution will put nothing in this directory.
+	Vendors who distribute perl may wish to place their own
+	modules in this directory with
+	MakeMaker Makefile.PL INSTALLDIRS=vendor 
+	or equivalent.  See INSTALL for details.
+
+vendorlib_stem (vendorlib.U):
+	This variable is $vendorlibexp with any trailing version-specific component
+	removed.  The elements in inc_version_list (inc_version_list.U) can
+	be tacked onto this variable to generate a list of directories to search.
+
+vendorlibexp (vendorlib.U):
+	This variable is the ~name expanded version of vendorlib, so that you
+	may use it directly in Makefiles or shell scripts.
+
+vendorprefix (vendorprefix.U):
+	This variable holds the full absolute path of the directory below
+	which the vendor will install add-on packages.
+	See INSTALL for usage and examples.
+
+vendorprefixexp (vendorprefix.U):
+	This variable holds the full absolute path of the directory below
+	which the vendor will install add-on packages.  Derived from vendorprefix.
+
 version (patchlevel.U):
-	The full version number of this package.  This combines
-	baserev, patchlevel, and subversion to get the full
-	version number, including any possible subversions.  Care
-	is taken to use the C locale in order to get something
-	like 5.004 instead of 5,004.  This is unique to perl.
+	The full version number of this package, such as 5.6.1 (or 5_6_1).
+	This combines revision, patchlevel, and subversion to get the
+	full version number, including any possible subversions.
+	This is suitable for use as a directory name, and hence is
+	filesystem dependent.
 
 vi (Loc.U):
 	This variable is defined but not used by Configure.
@@ -2663,6 +3592,28 @@ voidflags (voidflags.U):
 	which indicates how much support of the void type is given by this
 	compiler.  See VOIDFLAGS for more info.
 
+xlibpth (libpth.U):
+	This variable holds extra path (space-separated) used to find
+	libraries on this platform, for example CPU-specific libraries
+	(on multi-CPU platforms) may be listed here.
+
+xs_apiversion (xs_apiversion.U):
+	This variable contains the version of the oldest perl binary
+	compatible with the present perl.  perl.c:incpush() and
+	lib/lib.pm will automatically search in $sitearch for older
+	directories across major versions back to xs_apiversion.
+	This is only useful if you have a perl library directory tree
+	structured like the default one.
+	See INSTALL for how this works.
+	The versioned site_perl directory was introduced in 5.005,
+	so that is the lowest possible value.
+	Since this can depend on compile time options (such as
+	bincompat) it is set by Configure.  Other non-default sources
+	of potential incompatibility, such as multiplicity, threads,
+	debugging, 64bits, sfio, etc., are not checked for currently,
+	though in principle we could go snooping around in old
+	Config.pm files.
+
 zcat (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is a plain '' and is not useful.
diff --git a/gnu/usr.bin/perl/Porting/config_H b/gnu/usr.bin/perl/Porting/config_H
index 8cbf3c497b9..c80ebaffe0e 100644
--- a/gnu/usr.bin/perl/Porting/config_H
+++ b/gnu/usr.bin/perl/Porting/config_H
@@ -17,9 +17,9 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Tue Jul 21 10:03:27 EDT 1998
- * Configured by     : doughera
- * Target system     : linux fractal 2.0.34 #1 tue jun 23 10:09:17 edt 1998 i686 unknown 
+ * Configuration time: Tue Mar 21 23:22:20 EET 2000
+ * Configured by     : jhi
+ * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
 
 #ifndef _config_h_
@@ -28,33 +28,7 @@
 /* LOC_SED:
  *	This symbol holds the complete pathname to the sed program.
  */
-#define LOC_SED 	"/bin/sed"	/**/
-
-/* BIN:
- *	This symbol holds the path of the bin directory where the package will
- *	be installed. Program must be prepared to deal with ~name substitution.
- */
-/* BIN_EXP:
- *	This symbol is the filename expanded version of the BIN symbol, for
- *	programs that do not want to deal with that at run-time.
- */
-#define BIN "/opt/perl/bin"	/**/
-#define BIN_EXP "/opt/perl/bin"	/**/
-
-/* CPPSTDIN:
- *	This symbol contains the first part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
- *	call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- *	This symbol contains the second part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
- *	to specify standard input, otherwise the value is "".
- */
-#define CPPSTDIN "cc -E"
-#define CPPMINUS "-"
+#define LOC_SED 	"/usr/bin/sed"	/**/
 
 /* HAS_ALARM:
  *	This symbol, if defined, indicates that the alarm routine is
@@ -66,7 +40,7 @@
  *	This symbol indicates the C compiler can check for function attributes,
  *	such as printf formats. This is normally only supported by GNU cc.
  */
-#define HASATTRIBUTE 	/**/
+/*#define HASATTRIBUTE 	/ **/
 #ifndef HASATTRIBUTE
 #define __attribute__(_arg_)
 #endif
@@ -201,12 +175,6 @@
  */
 #define HAS_FGETPOS	/**/
 
-/* FLEXFILENAMES:
- *	This symbol, if defined, indicates that the system supports filenames
- *	longer than 14 characters.
- */
-#define	FLEXFILENAMES		/**/
-
 /* HAS_FLOCK:
  *	This symbol, if defined, indicates that the flock routine is
  *	available to do file locking.
@@ -243,13 +211,6 @@
  */
 #define HAS_GETGROUPS		/**/
 
-/* HAS_UNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
- *	and PHOSTNAME.
- */
-#define HAS_UNAME		/**/
-
 /* HAS_GETLOGIN:
  *	This symbol, if defined, indicates that the getlogin routine is
  *	available to get the login name.
@@ -292,31 +253,6 @@
  */
 #define HAS_GETPRIORITY		/**/
 
-/* HAS_HTONL:
- *	This symbol, if defined, indicates that the htonl() routine (and
- *	friends htons() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_HTONS:
- *	This symbol, if defined, indicates that the htons() routine (and
- *	friends htonl() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHL:
- *	This symbol, if defined, indicates that the ntohl() routine (and
- *	friends htonl() htons() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHS:
- *	This symbol, if defined, indicates that the ntohs() routine (and
- *	friends htonl() htons() ntohl()) are available to do network
- *	order byte swapping.
- */
-#define HAS_HTONL		/**/
-#define HAS_HTONS		/**/
-#define HAS_NTOHL		/**/
-#define HAS_NTOHS		/**/
-
 /* HAS_INET_ATON:
  *	This symbol, if defined, indicates to the C program that the
  *	inet_aton() function is available to parse IP address "dotted-quad"
@@ -420,11 +356,17 @@
  */
 #define HAS_MKTIME		/**/
 
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
+/* HAS_MSYNC:
+ *	This symbol, if defined, indicates that the msync system call is
+ *	available to synchronize a mapped file.
  */
-#define HAS_MSG		/**/
+#define HAS_MSYNC		/**/
+
+/* HAS_MUNMAP:
+ *	This symbol, if defined, indicates that the munmap system call is
+ *	available to unmap a region, usually mapped by mmap().
+ */
+#define HAS_MUNMAP		/**/
 
 /* HAS_NICE:
  *	This symbol, if defined, indicates that the nice routine is
@@ -516,12 +458,6 @@
  */
 #define HAS_SELECT	/**/
 
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-#define HAS_SEM		/**/
-
 /* HAS_SETEGID:
  *	This symbol, if defined, indicates that the setegid routine is available
  *	to change the effective gid of the current program.
@@ -563,7 +499,7 @@
  *	for a POSIX interface.
  */
 #define HAS_SETPGRP		/**/
-/*#define USE_BSD_SETPGRP	/ **/
+#define USE_BSD_SETPGRP	/**/
 
 /* HAS_SETPGRP2:
  *	This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
@@ -607,13 +543,13 @@
  *	This symbol, if defined, indicates that the setrgid routine is available
  *	to change the real gid of the current program.
  */
-/*#define HAS_SETRGID		/ **/
+#define HAS_SETRGID		/**/
 
 /* HAS_SETRUID:
  *	This symbol, if defined, indicates that the setruid routine is available
  *	to change the real uid of the current program.
  */
-/*#define HAS_SETRUID		/ **/
+#define HAS_SETRUID		/**/
 
 /* HAS_SETSID:
  *	This symbol, if defined, indicates that the setsid routine is
@@ -621,12 +557,6 @@
  */
 #define HAS_SETSID	/**/
 
-/* HAS_SHM:
- *	This symbol, if defined, indicates that the entire shm*(2) library is
- *	supported.
- */
-#define HAS_SHM		/**/
-
 /* Shmat_t:
  *	This symbol holds the return type of the shmat() system call.
  *	Usually set to 'void *' or 'char *'.
@@ -641,12 +571,6 @@
 #define Shmat_t void *	/**/
 #define HAS_SHMAT_PROTOTYPE	/**/
 
-/* USE_STAT_BLOCKS:
- *	This symbol is defined if this system has a stat structure declaring
- *	st_blksize and st_blocks.
- */
-/*#define USE_STAT_BLOCKS 	/ **/
-
 /* HAS_STRCHR:
  *	This symbol is defined to indicate that the strchr()/strrchr()
  *	functions are available for string searching. If not, try the
@@ -672,25 +596,6 @@
  */
 #define	USE_STRUCT_COPY	/**/
 
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- *	This symbol, if defined, indicates that the sys_errlist array is
- *	available to translate error numbers to strings. The extern int
- *	sys_nerr gives the size of that table.
- */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
-#define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
-
 /* HAS_STRTOD:
  *	This symbol, if defined, indicates that the strtod routine is
  *	available to provide better numeric string conversion than atof().
@@ -769,11 +674,6 @@
  */
 #define HAS_UMASK		/**/
 
-/* HAS_VFORK:
- *	This symbol, if defined, indicates that vfork() exists.
- */
-/*#define HAS_VFORK	/ **/
-
 /* HASVOLATILE:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the volatile declaration.
@@ -806,17 +706,11 @@
  */
 #define HAS_WCTOMB		/**/
 
-/* EBCDIC:
- *	This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
 /* I_ARPA_INET:
- *	This symbol, if defined, indicates that  exists and should
- *	be included.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include  to get inet_addr and friends declarations.
  */
-#define I_ARPA_INET	/**/
+#define	I_ARPA_INET		/**/
 
 /* I_DBM:
  *	This symbol, if defined, indicates that  exists and should
@@ -846,7 +740,7 @@
  *	portably declare your directory entries.
  */
 #define I_DIRENT		/**/
-/*#define DIRNAMLEN	/ **/
+#define DIRNAMLEN	/**/
 #define Direntry_t struct dirent
 
 /* I_DLFCN:
@@ -867,32 +761,6 @@
  */
 #define I_FLOAT		/**/
 
-/* I_GRP:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-/* GRPASSWD:
- *	This symbol, if defined, indicates to the C program that struct group
- *	contains gr_passwd.
- */
-/* HAS_SETGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for initializing sequential access of the group database.
- */
-/* HAS_GETGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for sequential access of the group database.
- */
-/* HAS_ENDGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for finalizing sequential access of the group database.
- */
-#define I_GRP		/**/
-#define GRPASSWD	/**/
-#define HAS_SETGRENT	/**/
-#define HAS_GETGRENT	/**/
-#define HAS_ENDGRENT	/**/
-
 /* I_LIMITS:
  *	This symbol, if defined, indicates to the C program that it should
  *	include  to get definition of symbols like WORD_BIT or
@@ -1120,22 +988,158 @@
  *	This symbol is defined to be the type of char used in stdio.h.
  *	It has the values "unsigned char" or "char".
  */
-#define STDCHAR char	/**/
+#define STDCHAR unsigned char	/**/
+
+/* CROSSCOMPILE:
+ *	This symbol, if defined, signifies that we our
+ *	build process is a cross-compilation.
+ */
+/*#define CROSSCOMPILE		/ **/
+
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4		/**/
+#define LONGSIZE 8		/**/
+#define SHORTSIZE 2		/**/
+
+/* MULTIARCH:
+ *	This symbol, if defined, signifies that the build
+ *	process will produce some binary files that are going to be
+ *	used in a cross-platform environment.  This is the case for
+ *	example with the NeXT "fat" binaries that contain executables
+ *	for several CPUs.
+ */
+/*#define MULTIARCH		/ **/
+
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
+ */
+#define HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t long	/**/
+#   define Uquad_t unsigned long	/**/
+#   define QUADKIND 2	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#endif
+
+/* HAS_ACCESSX:
+ *	This symbol, if defined, indicates that the accessx routine is
+ *	available to do extended access checks.
+ */
+/*#define HAS_ACCESSX		/ **/
+
+/* HAS_EACCESS:
+ *	This symbol, if defined, indicates that the eaccess routine is
+ *	available to do extended access checks.
+ */
+/*#define HAS_EACCESS		/ **/
+
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#define   I_SYS_ACCESS                /**/
+
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#define   I_SYS_SECURITY	/**/
+
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "dec_osf"		/**/
 
 /* MEM_ALIGNBYTES:
- *	 This symbol contains the number of bytes required to align a
- *	 double. Usual values are 2, 4 and 8.
- *	 On NeXT starting with 3.2, you can build "Fat" Multiple Architecture
- *	 Binaries (MAB) for targets with varying alignment.  This only matters
- *	 for perl, where the config.h can be generated and installed on one
- *	 system, and used by a different architecture to build an extension.
- *	 The default is eight, for safety.
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.
+ */
+#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#  define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES 8
+#endif
+
+/* ARCHLIB:
+ *	This variable, if defined, holds the name of the directory in
+ *	which the user wants to put architecture-dependent public
+ *	library files for perl5.  It is most often a local directory
+ *	such as /usr/local/lib.  Programs using this variable must be
+ *	prepared to deal with filename expansion.  If ARCHLIB is the
+ *	same as PRIVLIB, it is not defined, since presumably the
+ *	program already searches PRIVLIB.
+ */
+/* ARCHLIB_EXP:
+ *	This symbol contains the ~name expanded version of ARCHLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define ARCHLIB "/opt/perl/lib/5.6.0/alpha-dec_osf-thread-multi"		/**/
+#define ARCHLIB_EXP "/opt/perl/lib/5.6.0/alpha-dec_osf-thread-multi"		/**/
+
+/* ARCHNAME:
+ *	This symbol holds a string representing the architecture name.
+ *	It may be used to construct an architecture-dependant pathname
+ *	where library files may be held under a private library, for
+ *	instance.
+ */
+#define ARCHNAME "alpha-dec_osf-thread-multi"		/**/
+
+/* HAS_ATOLF:
+ *	This symbol, if defined, indicates that the atolf routine is
+ *	available to convert strings into long doubles.
+ */
+/*#define HAS_ATOLF		/ **/
+
+/* HAS_ATOLL:
+ *	This symbol, if defined, indicates that the atoll routine is
+ *	available to convert strings into long longs.
+ */
+/*#define HAS_ATOLL		/ **/
+
+/* BIN:
+ *	This symbol holds the path of the bin directory where the package will
+ *	be installed. Program must be prepared to deal with ~name substitution.
+ */
+/* BIN_EXP:
+ *	This symbol is the filename expanded version of the BIN symbol, for
+ *	programs that do not want to deal with that at run-time.
+ */
+#define BIN "/opt/perl/bin"	/**/
+#define BIN_EXP "/opt/perl/bin"	/**/
+
+/* PERL_BINCOMPAT_5005:
+ *	This symbol, if defined, indicates that this version of Perl should be
+ *	binary-compatible with Perl 5.005.  This is impossible for builds
+ *	that use features like threads and multiplicity it is always 
+ *	for those versions.
  */
-#define MEM_ALIGNBYTES 4	/**/
+/*#define PERL_BINCOMPAT_5005			/ **/
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
  *	i.e. 0x1234 or 0x4321, etc...
+ *	If the compiler supports cross-compiling or multiple-architecture
+ *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	determine the byte order.
  *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
  *	Binaries (MAB) on either big endian or little endian machines.
  *	The endian-ness is available at compile-time.  This only matters
@@ -1146,16 +1150,94 @@
  *	so the default case (for NeXT) is big endian to catch them. 
  *	This might matter for NeXT 3.0.
  */
-#ifndef NeXT
-#define BYTEORDER 0x1234	/* large digits for MSB */
-#else  /* NeXT */
-#ifdef __LITTLE_ENDIAN__
-#define BYTEORDER 0x1234
-#else /* __BIG_ENDIAN__ */
-#define BYTEORDER 0x4321
-#endif /* ENDIAN CHECK */
+#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#  ifdef __LITTLE_ENDIAN__
+#    if LONGSIZE == 4
+#      define BYTEORDER 0x1234
+#    else
+#      if LONGSIZE == 8
+#        define BYTEORDER 0x12345678
+#      endif
+#    endif
+#  else
+#    ifdef __BIG_ENDIAN__
+#      if LONGSIZE == 4
+#        define BYTEORDER 0x4321
+#      else
+#        if LONGSIZE == 8
+#          define BYTEORDER 0x87654321
+#        endif
+#      endif
+#    endif
+#  endif
+#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+#    define BYTEORDER 0x4321
+#  endif
+#else
+#define BYTEORDER 0x12345678	/* large digits for MSB */
 #endif /* NeXT */
 
+/* CAT2:
+ *	This macro catenates 2 tokens together.
+ */
+/* STRINGIFY:
+ *	This macro surrounds its token with double quotes.
+ */
+#if 42 == 1
+#  define CAT2(a,b)	a/**/b
+#  define STRINGIFY(a)	"a"
+		/* If you can get stringification with catify, tell me how! */
+#endif
+#if 42 == 42
+#  define PeRl_CaTiFy(a, b)	a ## b	
+#  define PeRl_StGiFy(a)	#a
+/* the additional level of indirection enables these macros to be
+ * used as arguments to other macros.  See K&R 2nd ed., page 231. */
+#  define CAT2(a,b)	PeRl_CaTiFy(a,b)
+#  define StGiFy(a)	PeRl_StGiFy(a)
+#  define STRINGIFY(a)	PeRl_StGiFy(a)
+#endif
+#if 42 != 1 && 42 != 42
+#include "Bletch: How does this C preprocessor catenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ *	This symbol contains the first part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
+ *	call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ *	This symbol contains the second part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+ *	to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ *	This symbol contains the string which will invoke a C preprocessor on
+ *	the standard input and produce to standard output. It needs to end
+ *	with CPPLAST, after all other preprocessor flags have been specified.
+ *	The main difference with CPPSTDIN is that this program will never be a
+ *	pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ *	available directly to the user. Note that it may well be different from
+ *	the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ *	This symbol is intended to be used along with CPPRUN in the same manner
+ *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "cppstdin"
+#define CPPMINUS ""
+#define CPPRUN "/usr/bin/cpp"
+#define CPPLAST ""
+
+/* HAS_ACCESS:
+ *	This manifest constant lets the C program know that the access()
+ *	system call is available to check for accessibility using real UID/GID.
+ *	(always present on UNIX.)
+ */
+#define HAS_ACCESS		/**/
+
 /* CASTI32:
  *	This symbol is defined if the C compiler can cast negative
  *	or large floating point numbers to 32-bit ints.
@@ -1183,320 +1265,144 @@
  */
 /*#define VOID_CLOSEDIR		/ **/
 
-/* Gconvert:
- *	This preprocessor macro is defined to convert a floating point
- *	number to a string without a trailing decimal point.  This
- *	emulates the behavior of sprintf("%g"), but is sometimes much more
- *	efficient.  If gconvert() is not available, but gcvt() drops the
- *	trailing decimal point, then gcvt() is used.  If all else fails,
- *	a macro using sprintf("%g") is used. Arguments for the Gconvert
- *	macro are: value, number of digits, whether trailing zeros should
- *	be retained, and the output buffer.
- *	Possible values are:
- *		d_Gconvert='gconvert((x),(n),(t),(b))'
- *		d_Gconvert='gcvt((x),(n),(b))'
- *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- *	The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
-
-/* HAS_GNULIBC:
- *	This symbol, if defined, indicates to the C program that 
- *	the GNU C library is being used.
- */
-#define HAS_GNULIBC  	/**/
-/* HAS_ISASCII:
- *	This manifest constant lets the C program know that isascii 
- *	is available.
- */
-#define HAS_ISASCII		/**/
-
-/* HAS_LCHOWN:
- *	This symbol, if defined, indicates that the lchown routine is
- *	available to operate on a symbolic link (instead of following the
- *	link).
- */
-/*#define HAS_LCHOWN		/ **/
-
-/* HAS_OPEN3:
- *	This manifest constant lets the C program know that the three
- *	argument form of open(2) is available.
- */
-#define HAS_OPEN3		/**/
-
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Otherwise you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
+/* HAS_CSH:
+ *	This symbol, if defined, indicates that the C-shell exists.
  */
-#define HAS_SAFE_BCOPY	/**/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks. Otherwise you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
+/* CSH:
+ *	This symbol, if defined, contains the full pathname of csh.
  */
-#define HAS_SANE_MEMCMP	/**/
+#define HAS_CSH		/**/
+#ifdef HAS_CSH
+#define CSH "/usr/bin/csh"	/**/
+#endif
 
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
+/* DLSYM_NEEDS_UNDERSCORE:
+ *	This symbol, if defined, indicates that we need to prepend an
+ *	underscore to the symbol name before calling dlsym().  This only
+ *	makes sense if you *have* dlsym, which we will presume is the
+ *	case if you're using dl_dlopen.xs.
  */
-#define HAS_SIGACTION	/**/
+/*#define 	DLSYM_NEEDS_UNDERSCORE 	/ **/
 
-/* Sigjmp_buf:
- *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+/* HAS_DRAND48_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the drand48() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern double drand48 _((void));
  */
-/* Sigsetjmp:
- *	This macro is used in the same way as sigsetjmp(), but will invoke
- *	traditional setjmp() if sigsetjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- *	This macro is used in the same way as siglongjmp(), but will invoke
- *	traditional longjmp() if siglongjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-#define HAS_SIGSETJMP	/**/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
+#define	HAS_DRAND48_PROTO	/**/
 
-/* USE_STDIO_PTR:
- *	This symbol is defined if the _ptr and _cnt fields (or similar)
- *	of the stdio FILE structure can be used to access the stdio buffer
- *	for a file handle.  If this is defined, then the FILE_ptr(fp)
- *	and FILE_cnt(fp) macros will also be defined and should be used
- *	to access these fields.
- */
-/* FILE_ptr:
- *	This macro is used to access the _ptr field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- *	This symbol is defined if the FILE_ptr macro can be used as an
- *	lvalue.
- */
-/* FILE_cnt:
- *	This macro is used to access the _cnt field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- *	This symbol is defined if the FILE_cnt macro can be used as an
- *	lvalue.
+/* HAS_ENDGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the group database.
  */
-#define USE_STDIO_PTR 	/**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp)	((fp)->_IO_read_ptr)
-#define STDIO_PTR_LVALUE 		/**/
-#define FILE_cnt(fp)	((fp)->_IO_read_end - (fp)->_IO_read_ptr)
-/*#define STDIO_CNT_LVALUE 		/ **/
-#endif
+#define HAS_ENDGRENT		/**/
 
-/* USE_STDIO_BASE:
- *	This symbol is defined if the _base field (or similar) of the
- *	stdio FILE structure can be used to access the stdio buffer for
- *	a file handle.  If this is defined, then the FILE_base(fp) macro
- *	will also be defined and should be used to access this field.
- *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *	will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- *	This macro is used to access the _base field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- *	This macro is used to determine the number of bytes in the I/O
- *	buffer pointed to by _base field (or equivalent) of the FILE
- *	structure pointed to its argument. This macro will always be defined
- *	if USE_STDIO_BASE is defined.
+/* HAS_ENDHOSTENT:
+ *	This symbol, if defined, indicates that the endhostent() routine is
+ *	available to close whatever was being used for host queries.
  */
-#define USE_STDIO_BASE 	/**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp)	((fp)->_IO_read_base)
-#define FILE_bufsiz(fp)	((fp)->_IO_read_end - (fp)->_IO_read_base)
-#endif
+#define HAS_ENDHOSTENT		/**/
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
+/* HAS_ENDNETENT:
+ *	This symbol, if defined, indicates that the endnetent() routine is
+ *	available to close whatever was being used for network queries.
  */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
+#define HAS_ENDNETENT		/**/
 
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
+/* HAS_ENDPROTOENT:
+ *	This symbol, if defined, indicates that the endprotoent() routine is
+ *	available to close whatever was being used for protocol queries.
  */
-#define DOUBLESIZE 8		/**/
+#define HAS_ENDPROTOENT		/**/
 
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include  with KERNEL defined.
+/* HAS_ENDPWENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the passwd database.
  */
-/*#define I_TIME		/ **/
-#define I_SYS_TIME		/**/
-/*#define I_SYS_TIME_KERNEL		/ **/
+#define HAS_ENDPWENT		/**/
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
- */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
+/* HAS_ENDSERVENT:
+ *	This symbol, if defined, indicates that the endservent() routine is
+ *	available to close whatever was being used for service queries.
  */
-#define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
-#define SHORTSIZE 2		/**/
+#define HAS_ENDSERVENT		/**/
 
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+/* HAS_ENDSPENT:
+ *	This symbol, if defined, indicates that the endspent system call is
+ *	available to finalize the scan of SysV shadow password entries.
  */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
+/*#define HAS_ENDSPENT		/ **/
 
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
+/* HAS_FD_SET:
+ *	This symbol, when defined, indicates presence of the fd_set typedef
+ *	in 
  */
-#define PTRSIZE 4		/**/
+#define HAS_FD_SET	/**/
 
-/* RANDBITS:
- *	This symbol contains the number of bits of random number the rand()
- *	function produces.  Usual values are 15, 16, and 31.
+/* HAS_FPOS64_T:
+ *	This symbol will be defined if the C compiler supports fpos64_t.
  */
-#define RANDBITS 31		/**/
+/*#define	HAS_FPOS64_T    	/ **/
 
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include  or 
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+/* HAS_STRUCT_FS_DATA:
+ *	This symbol, if defined, indicates that the struct fs_data
+ *	to do statfs() is supported.
  */
-#define SSize_t ssize_t	 /* signed count of bytes */
+/*#define HAS_STRUCT_FS_DATA	/ **/
 
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
+/* HAS_FSEEKO:
+ *	This symbol, if defined, indicates that the fseeko routine is
+ *	available to fseek beyond 32 bits (useful for ILP32 hosts).
  */
-#define OSNAME "linux"		/**/
+/*#define HAS_FSEEKO		/ **/
 
-/* CAT2:
- *	This macro catenates 2 tokens together.
+/* HAS_FSTATFS:
+ *	This symbol, if defined, indicates that the fstatfs routine is
+ *	available to stat filesystems by file descriptors.
  */
-/* STRINGIFY:
- *	This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b)a/**/b
-#define STRINGIFY(a)"a"
-		/* If you can get stringification with catify, tell me how! */
-#endif
-#if 42 == 42
-#define CAT2(a,b)a ## b
-#define StGiFy(a)# a
-#define STRINGIFY(a)StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor catenate tokens?"
-#endif
+#define HAS_FSTATFS		/**/
 
-/* CSH:
- *	This symbol, if defined, contains the full pathname of csh.
+/* HAS_FTELLO:
+ *	This symbol, if defined, indicates that the ftello routine is
+ *	available to ftell beyond 32 bits (useful for ILP32 hosts).
  */
-#define HAS_CSH		/**/
-#ifdef HAS_CSH
-#define CSH "/bin/csh"	/**/
-#endif
+/*#define HAS_FTELLO		/ **/
 
-/* HAS_ENDHOSTENT:
- *	This symbol, if defined, indicates that the endhostent() routine is
- *	available to close whatever was being used for host queries.
+/* Gconvert:
+ *	This preprocessor macro is defined to convert a floating point
+ *	number to a string without a trailing decimal point.  This
+ *	emulates the behavior of sprintf("%g"), but is sometimes much more
+ *	efficient.  If gconvert() is not available, but gcvt() drops the
+ *	trailing decimal point, then gcvt() is used.  If all else fails,
+ *	a macro using sprintf("%g") is used. Arguments for the Gconvert
+ *	macro are: value, number of digits, whether trailing zeros should
+ *	be retained, and the output buffer.
+ *	Possible values are:
+ *		d_Gconvert='gconvert((x),(n),(t),(b))'
+ *		d_Gconvert='gcvt((x),(n),(b))'
+ *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ *	The last two assume trailing zeros should not be kept.
  */
-#define HAS_ENDHOSTENT		/**/
+#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
 
-/* HAS_ENDNETENT:
- *	This symbol, if defined, indicates that the endnetent() routine is
- *	available to close whatever was being used for network queries.
+/* HAS_GETCWD:
+ *	This symbol, if defined, indicates that the getcwd routine is
+ *	available to get the current working directory.
  */
-#define HAS_ENDNETENT		/**/
+#define HAS_GETCWD		/**/
 
-/* HAS_ENDPROTOENT:
- *	This symbol, if defined, indicates that the endprotoent() routine is
- *	available to close whatever was being used for protocol queries.
+/* HAS_GETFSSTAT:
+ *	This symbol, if defined, indicates that the getfsstat routine is
+ *	available to stat filesystems in bulk.
  */
-#define HAS_ENDPROTOENT		/**/
+#define HAS_GETFSSTAT		/**/
 
-/* HAS_ENDSERVENT:
- *	This symbol, if defined, indicates that the endservent() routine is
- *	available to close whatever was being used for service queries.
+/* HAS_GETGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for sequential access of the group database.
  */
-#define HAS_ENDSERVENT		/**/
+#define HAS_GETGRENT		/**/
 
 /* HAS_GETHOSTBYADDR:
  *	This symbol, if defined, indicates that the gethostbyaddr() routine is
@@ -1516,6 +1422,55 @@
  */
 #define HAS_GETHOSTENT		/**/
 
+/* HAS_GETHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	gethostname() routine to derive the host name.  See also HAS_UNAME
+ *	and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ *	This symbol, if defined, indicates the command to feed to the
+ *	popen() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and HAS_UNAME.	Note that the command uses a fully qualified path,
+ *	so that it is safe even if used by a process with super-user
+ *	privileges.
+ */
+/* HAS_PHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	contents of PHOSTNAME as a command to feed to the popen() routine
+ *	to derive the host name.
+ */
+#define HAS_GETHOSTNAME	/**/
+#define HAS_UNAME		/**/
+/*#define HAS_PHOSTNAME	/ **/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME ""	/* How to get the host name */
+#endif
+
+/* HAS_GETHOST_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for gethostent(), gethostbyname(), and
+ *	gethostbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETHOST_PROTOS	/**/
+
+/* HAS_GETMNT:
+ *	This symbol, if defined, indicates that the getmnt routine is
+ *	available to get filesystem mount info by filename.
+ */
+/*#define HAS_GETMNT		/ **/
+
+/* HAS_GETMNTENT:
+ *	This symbol, if defined, indicates that the getmntent routine is
+ *	available to iterate through mounted file systems to get their info.
+ */
+/*#define HAS_GETMNTENT		/ **/
+
 /* HAS_GETNETBYADDR:
  *	This symbol, if defined, indicates that the getnetbyaddr() routine is
  *	available to look up networks by their IP addresses.
@@ -1534,6 +1489,14 @@
  */
 #define HAS_GETNETENT		/**/
 
+/* HAS_GETNET_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for getnetent(), getnetbyname(), and
+ *	getnetbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETNET_PROTOS	/**/
+
 /* HAS_GETPROTOENT:
  *	This symbol, if defined, indicates that the getprotoent() routine is
  *	available to look up protocols in some data base or another.
@@ -1551,12 +1514,47 @@
 #define HAS_GETPROTOBYNAME		/**/
 #define HAS_GETPROTOBYNUMBER		/**/
 
+/* HAS_GETPROTO_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for getprotoent(), getprotobyname(), and
+ *	getprotobyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETPROTO_PROTOS	/**/
+
+/* HAS_GETPWENT:
+ *	This symbol, if defined, indicates that the getpwent routine is
+ *	available for sequential access of the passwd database.
+ *	If this is not available, the older getpw() function may be available.
+ */
+#define HAS_GETPWENT		/**/
+
 /* HAS_GETSERVENT:
  *	This symbol, if defined, indicates that the getservent() routine is
  *	available to look up network services in some data base or another.
  */
 #define HAS_GETSERVENT		/**/
 
+/* HAS_GETSERV_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for getservent(), getservbyname(), and
+ *	getservbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETSERV_PROTOS	/**/
+
+/* HAS_GETSPENT:
+ *	This symbol, if defined, indicates that the getspent system call is
+ *	available to retrieve SysV shadow password entries sequentially.
+ */
+/*#define HAS_GETSPENT		/ **/
+
+/* HAS_GETSPNAM:
+ *	This symbol, if defined, indicates that the getspnam system call is
+ *	available to retrieve SysV shadow password entries by name.
+ */
+/*#define HAS_GETSPNAM		/ **/
+
 /* HAS_GETSERVBYNAME:
  *	This symbol, if defined, indicates that the getservbyname()
  *	routine is available to look up services by their name.
@@ -1568,6 +1566,72 @@
 #define HAS_GETSERVBYNAME		/**/
 #define HAS_GETSERVBYPORT		/**/
 
+/* HAS_GNULIBC:
+ *	This symbol, if defined, indicates to the C program that 
+ *	the GNU C library is being used.
+ */
+/*#define HAS_GNULIBC  	/ **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+#   define _GNU_SOURCE
+#endif
+/* HAS_HASMNTOPT:
+ *	This symbol, if defined, indicates that the hasmntopt routine is
+ *	available to query the mount options of file systems.
+ */
+/*#define HAS_HASMNTOPT		/ **/
+
+/* HAS_HTONL:
+ *	This symbol, if defined, indicates that the htonl() routine (and
+ *	friends htons() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_HTONS:
+ *	This symbol, if defined, indicates that the htons() routine (and
+ *	friends htonl() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHL:
+ *	This symbol, if defined, indicates that the ntohl() routine (and
+ *	friends htonl() htons() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHS:
+ *	This symbol, if defined, indicates that the ntohs() routine (and
+ *	friends htonl() htons() ntohl()) are available to do network
+ *	order byte swapping.
+ */
+#define HAS_HTONL		/**/
+#define HAS_HTONS		/**/
+#define HAS_NTOHL		/**/
+#define HAS_NTOHS		/**/
+
+/* HAS_ICONV:
+ *	This symbol, if defined, indicates that the iconv routine is
+ *	available to do character set conversions.
+ */
+#define HAS_ICONV		/**/
+
+/* HAS_INT64_T:
+ *     This symbol will defined if the C compiler supports int64_t.
+ *     Usually the  needs to be included, but sometimes
+ *	 is enough.
+ */
+/*#define     HAS_INT64_T               / **/
+
+/* HAS_ISASCII:
+ *	This manifest constant lets the C program know that isascii 
+ *	is available.
+ */
+#define HAS_ISASCII		/**/
+
+/* HAS_LDBL_DIG:
+ *	This symbol, if defined, indicates that this system's 
+ *	or  defines the symbol LDBL_DIG, which is the number
+ *	of significant digits in a long double precision number. Unlike
+ *	for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
+ */
+#define HAS_LDBL_DIG 	/* */
+
 /* HAS_LONG_DOUBLE:
  *	This symbol will be defined if the C compiler supports long
  *	doubles.
@@ -1579,12 +1643,11 @@
  */
 #define HAS_LONG_DOUBLE		/**/
 #ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 12		/**/
+#define LONG_DOUBLESIZE 8		/**/
 #endif
 
 /* HAS_LONG_LONG:
- *	This symbol will be defined if the C compiler supports
- *	long long.
+ *	This symbol will be defined if the C compiler supports long long.
  */
 /* LONGLONGSIZE:
  *	This symbol contains the size of a long long, so that the 
@@ -1596,6 +1659,145 @@
 #define LONGLONGSIZE 8		/**/
 #endif
 
+/* HAS_LSEEK_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the lseek() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern off_t lseek(int, off_t, int);
+ */
+#define	HAS_LSEEK_PROTO	/**/
+
+/* HAS_MADVISE:
+ *	This symbol, if defined, indicates that the madvise system call is
+ *	available to map a file into memory.
+ */
+#define HAS_MADVISE		/**/
+
+/* HAS_MEMCHR:
+ *	This symbol, if defined, indicates that the memchr routine is available
+ *	to locate characters within a C string.
+ */
+#define HAS_MEMCHR	/**/
+
+/* HAS_MKDTEMP:
+ *	This symbol, if defined, indicates that the mkdtemp routine is
+ *	available to exclusively create a uniquely named temporary directory.
+ */
+/*#define HAS_MKDTEMP		/ **/
+
+/* HAS_MKSTEMP:
+ *	This symbol, if defined, indicates that the mkstemp routine is
+ *	available to exclusively create and open a uniquely named
+ *	temporary file.
+ */
+#define HAS_MKSTEMP		/**/
+
+/* HAS_MKSTEMPS:
+ *	This symbol, if defined, indicates that the mkstemps routine is
+ *	available to excluslvely create and open a uniquely named
+ *	(with a suffix) temporary file.
+ */
+/*#define HAS_MKSTEMPS		/ **/
+
+/* HAS_MMAP:
+ *	This symbol, if defined, indicates that the mmap system call is
+ *	available to map a file into memory.
+ */
+/* Mmap_t:
+ *	This symbol holds the return type of the mmap() system call
+ *	(and simultaneously the type of the first argument).
+ *	Usually set to 'void *' or 'cadd_t'.
+ */
+#define HAS_MMAP		/**/
+#define Mmap_t void *	/**/
+
+/* HAS_MPROTECT:
+ *	This symbol, if defined, indicates that the mprotect system call is
+ *	available to modify the access protection of a memory mapped file.
+ */
+#define HAS_MPROTECT		/**/
+
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
+ */
+#define HAS_MSG		/**/
+
+/* HAS_OFF64_T:
+ *	This symbol will be defined if the C compiler supports off64_t.
+ */
+/*#define	HAS_OFF64_T    		/ **/
+
+/* HAS_OPEN3:
+ *	This manifest constant lets the C program know that the three
+ *	argument form of open(2) is available.
+ */
+#define HAS_OPEN3		/**/
+
+/* OLD_PTHREAD_CREATE_JOINABLE:
+ *	This symbol, if defined, indicates how to create pthread
+ *	in joinable (aka undetached) state.  NOTE: not defined
+ *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
+ *	(the new version of the constant).
+ *	If defined, known values are PTHREAD_CREATE_UNDETACHED
+ *	and __UNDETACHED.
+ */
+/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
+
+/* HAS_PTHREAD_YIELD:
+ *	This symbol, if defined, indicates that the pthread_yield 
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/* SCHED_YIELD:
+ *	This symbol defines the way to yield the execution of
+ *	the current thread.  Known ways are sched_yield,
+ *	pthread_yield, and pthread_yield with NULL.
+ */
+/* HAS_SCHED_YIELD:
+ *	This symbol, if defined, indicates that the sched_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/*#define HAS_PTHREAD_YIELD	/ **/
+#define SCHED_YIELD	sched_yield()	/**/
+#define HAS_SCHED_YIELD	/**/
+
+/* HAS_SAFE_BCOPY:
+ *	This symbol, if defined, indicates that the bcopy routine is available
+ *	to copy potentially overlapping memory blocks. Otherwise you should
+ *	probably use memmove() or memcpy(). If neither is defined, roll your
+ *	own version.
+ */
+#define HAS_SAFE_BCOPY	/**/
+
+/* HAS_SAFE_MEMCPY:
+ *	This symbol, if defined, indicates that the memcpy routine is available
+ *	to copy potentially overlapping memory blocks. Otherwise you should
+ *	probably use memmove() or memcpy(). If neither is defined, roll your
+ *	own version.
+ */
+/*#define HAS_SAFE_MEMCPY	/ **/
+
+/* HAS_SANE_MEMCMP:
+ *	This symbol, if defined, indicates that the memcmp routine is available
+ *	and can be used to compare relative magnitudes of chars with their high
+ *	bits set.  If it is not defined, roll your own version.
+ */
+#define HAS_SANE_MEMCMP	/**/
+
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
+ */
+#define HAS_SEM		/**/
+
+/* HAS_SETGRENT:
+ *	This symbol, if defined, indicates that the setgrent routine is
+ *	available for initializing sequential access of the group database.
+ */
+#define HAS_SETGRENT		/**/
+
 /* HAS_SETGROUPS:
  *	This symbol, if defined, indicates that the setgroups() routine is
  *	available to set the list of process groups.  If unavailable, multiple
@@ -1621,12 +1823,24 @@
  */
 #define HAS_SETPROTOENT		/**/
 
+/* HAS_SETPWENT:
+ *	This symbol, if defined, indicates that the setpwent routine is
+ *	available for initializing sequential access of the passwd database.
+ */
+#define HAS_SETPWENT		/**/
+
 /* HAS_SETSERVENT:
  *	This symbol, if defined, indicates that the setservent() routine is
  *	available.
  */
 #define HAS_SETSERVENT		/**/
 
+/* HAS_SETSPENT:
+ *	This symbol, if defined, indicates that the setspent system call is
+ *	available to initialize the scan of SysV shadow password entries.
+ */
+/*#define HAS_SETSPENT		/ **/
+
 /* HAS_SETVBUF:
  *	This symbol, if defined, indicates that the setvbuf routine is
  *	available to change buffering on an open stdio stream.
@@ -1634,6 +1848,55 @@
  */
 #define HAS_SETVBUF		/**/
 
+/* USE_SFIO:
+ *	This symbol, if defined, indicates that sfio should
+ *	be used.
+ */
+/*#define	USE_SFIO		/ **/
+
+/* HAS_SHM:
+ *	This symbol, if defined, indicates that the entire shm*(2) library is
+ *	supported.
+ */
+#define HAS_SHM		/**/
+
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
+ */
+#define HAS_SIGACTION	/**/
+
+/* HAS_SIGSETJMP:
+ *	This variable indicates to the C program that the sigsetjmp()
+ *	routine is available to save the calling process's registers
+ *	and stack environment for later use by siglongjmp(), and
+ *	to optionally save the process's signal mask.  See
+ *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ *	This macro is used in the same way as sigsetjmp(), but will invoke
+ *	traditional setjmp() if sigsetjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ *	This macro is used in the same way as siglongjmp(), but will invoke
+ *	traditional longjmp() if siglongjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+#define HAS_SIGSETJMP	/**/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
 /* HAS_SOCKET:
  *	This symbol, if defined, indicates that the BSD socket interface is
  *	supported.
@@ -1642,8 +1905,205 @@
  *	This symbol, if defined, indicates that the BSD socketpair() call is
  *	supported.
  */
-#define HAS_SOCKET		/**/
-#define HAS_SOCKETPAIR	/**/
+/* HAS_MSG_CTRUNC:
+ *	This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ *	This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ *	This symbol, if defined, indicates that the MSG_OOB is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ *	This symbol, if defined, indicates that the MSG_PEEK is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ *	This symbol, if defined, indicates that the MSG_PROXY is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ *	This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+#define	HAS_SOCKET		/**/
+#define	HAS_SOCKETPAIR	/**/
+#define	HAS_MSG_CTRUNC	/**/
+#define	HAS_MSG_DONTROUTE	/**/
+#define	HAS_MSG_OOB	/**/
+#define	HAS_MSG_PEEK	/**/
+/*#define	HAS_MSG_PROXY	/ **/
+#define	HAS_SCM_RIGHTS	/**/
+
+/* HAS_SQRTL:
+ *	This symbol, if defined, indicates that the sqrtl routine is
+ *	available to do long double square roots.
+ */
+#define HAS_SQRTL		/**/
+
+/* USE_STAT_BLOCKS:
+ *	This symbol is defined if this system has a stat structure declaring
+ *	st_blksize and st_blocks.
+ */
+#ifndef USE_STAT_BLOCKS
+#define USE_STAT_BLOCKS 	/**/
+#endif
+
+/* HAS_STRUCT_STATFS_F_FLAGS:
+ *	This symbol, if defined, indicates that the struct statfs
+ *	does have the f_flags member containing the mount flags of
+ *	the filesystem containing the file.
+ *	This kind of struct statfs is coming from  (BSD 4.3),
+ *	not from  (SYSV).  Older BSDs (like Ultrix) do not
+ *	have statfs() and struct statfs, they have ustat() and getmnt()
+ *	with struct ustat and struct fs_data.
+ */
+#define HAS_STRUCT_STATFS_F_FLAGS		/**/
+
+/* HAS_STRUCT_STATFS:
+ *	This symbol, if defined, indicates that the struct statfs
+ *	to do statfs() is supported.
+ */
+#define HAS_STRUCT_STATFS	/**/
+
+/* HAS_FSTATVFS:
+ *	This symbol, if defined, indicates that the fstatvfs routine is
+ *	available to stat filesystems by file descriptors.
+ */
+#define HAS_FSTATVFS		/**/
+
+/* USE_STDIO_PTR:
+ *	This symbol is defined if the _ptr and _cnt fields (or similar)
+ *	of the stdio FILE structure can be used to access the stdio buffer
+ *	for a file handle.  If this is defined, then the FILE_ptr(fp)
+ *	and FILE_cnt(fp) macros will also be defined and should be used
+ *	to access these fields.
+ */
+/* FILE_ptr:
+ *	This macro is used to access the _ptr field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ *	This symbol is defined if the FILE_ptr macro can be used as an
+ *	lvalue.
+ */
+/* FILE_cnt:
+ *	This macro is used to access the _cnt field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ *	This symbol is defined if the FILE_cnt macro can be used as an
+ *	lvalue.
+ */
+#define USE_STDIO_PTR 	/**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp)	((fp)->_ptr)
+#define STDIO_PTR_LVALUE 		/**/
+#define FILE_cnt(fp)	((fp)->_cnt)
+#define STDIO_CNT_LVALUE 		/**/
+#endif
+
+/* USE_STDIO_BASE:
+ *	This symbol is defined if the _base field (or similar) of the
+ *	stdio FILE structure can be used to access the stdio buffer for
+ *	a file handle.  If this is defined, then the FILE_base(fp) macro
+ *	will also be defined and should be used to access this field.
+ *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *	will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ *	This macro is used to access the _base field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ *	This macro is used to determine the number of bytes in the I/O
+ *	buffer pointed to by _base field (or equivalent) of the FILE
+ *	structure pointed to its argument. This macro will always be defined
+ *	if USE_STDIO_BASE is defined.
+ */
+#define USE_STDIO_BASE 	/**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp)	((fp)->_base)
+#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
+#endif
+
+/* HAS_STRERROR:
+ *	This symbol, if defined, indicates that the strerror routine is
+ *	available to translate error numbers to strings. See the writeup
+ *	of Strerror() in this file before you try to define your own.
+ */
+/* HAS_SYS_ERRLIST:
+ *	This symbol, if defined, indicates that the sys_errlist array is
+ *	available to translate error numbers to strings. The extern int
+ *	sys_nerr gives the size of that table.
+ */
+/* Strerror:
+ *	This preprocessor symbol is defined as a macro if strerror() is
+ *	not available to translate error numbers to strings but sys_errlist[]
+ *	array is there.
+ */
+#define HAS_STRERROR		/**/
+#define HAS_SYS_ERRLIST	/**/
+#define Strerror(e) strerror(e)
+
+/* HAS_STRTOLD:
+ *	This symbol, if defined, indicates that the strtold routine is
+ *	available to convert strings to long doubles.
+ */
+/*#define HAS_STRTOLD		/ **/
+
+/* HAS_STRTOLL:
+ *	This symbol, if defined, indicates that the strtoll routine is
+ *	available to convert strings to long longs.
+ */
+/*#define HAS_STRTOLL		/ **/
+
+/* HAS_STRTOULL:
+ *	This symbol, if defined, indicates that the strtoull routine is
+ *	available to convert strings to unsigned long longs.
+ */
+/*#define HAS_STRTOULL		/ **/
+
+/* HAS_STRTOUQ:
+ *	This symbol, if defined, indicates that the strtouq routine is
+ *	available to convert strings to unsigned long longs (quads).
+ */
+/*#define HAS_STRTOUQ		/ **/
+
+/* HAS_TELLDIR_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the telldir() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern long telldir _((DIR*));
+ */
+#define	HAS_TELLDIR_PROTO	/**/
+
+/* Time_t:
+ *	This symbol holds the type returned by time(). It can be long,
+ *	or time_t on BSD sites (in which case  should be
+ *	included).
+ */
+#define Time_t time_t		/* Time type */
+
+/* HAS_TIMES:
+ *	This symbol, if defined, indicates that the times() routine exists.
+ *	Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include .
+ */
+#define HAS_TIMES		/**/
 
 /* HAS_UNION_SEMUN:
  *	This symbol, if defined, indicates that the union semun is
@@ -1663,10 +2123,21 @@
  *	This symbol, if defined, indicates that struct semid_ds * is
  *	used for semctl IPC_STAT.
  */
-#define HAS_UNION_SEMUN	/**/
+/*#define HAS_UNION_SEMUN	/ **/
 #define USE_SEMCTL_SEMUN	/**/
 #define USE_SEMCTL_SEMID_DS	/**/
 
+/* HAS_USTAT:
+ *	This symbol, if defined, indicates that the ustat system call is
+ *	available to query file system statistics by dev_t.
+ */
+#define HAS_USTAT		/**/
+
+/* HAS_VFORK:
+ *	This symbol, if defined, indicates that vfork() exists.
+ */
+/*#define HAS_VFORK	/ **/
+
 /* Signal_t:
  *	This symbol's value is either "void" or "int", corresponding to the
  *	appropriate return type of a signal handler.  Thus, you can declare
@@ -1675,18 +2146,150 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
+/* HAS_VPRINTF:
+ *	This symbol, if defined, indicates that the vprintf routine is available
+ *	to printf with a pointer to an argument list.  If unavailable, you
+ *	may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ *	This symbol is defined if this system has vsprintf() returning type
+ *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+ *	is up to the package author to declare vsprintf correctly based on the
+ *	symbol.
+ */
+#define HAS_VPRINTF	/**/
+/*#define USE_CHAR_VSPRINTF 	/ **/
+
+/* USE_DYNAMIC_LOADING:
+ *	This symbol, if defined, indicates that dynamic loading of
+ *	some sort is available.
+ */
+#define USE_DYNAMIC_LOADING		/**/
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE 8		/**/
+
+/* EBCDIC:
+ *     This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/*#define	EBCDIC 		/ **/
+
+/* FFLUSH_NULL:
+ *	This symbol, if defined, tells that fflush(NULL) does flush
+ *	all pending stdio output.
+ */
+/* FFLUSH_ALL:
+ *	This symbol, if defined, tells that to flush
+ *	all pending stdio output one must loop through all
+ *	the stdio file handles stored in an array and fflush them.
+ *	Note that if fflushNULL is defined, fflushall will not
+ *	even be probed for and will be left undefined.
+ */
+#define	FFLUSH_NULL 		/**/
+/*#define	FFLUSH_ALL 		/ **/
+
+/* Fpos_t:
+ *	This symbol holds the type used to declare file positions in libc.
+ *	It can be fpos_t, long, uint, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+#define Fpos_t fpos_t		/* File position type */
+
+/* Gid_t_f:
+ *	This symbol defines the format string used for printing a Gid_t.
+ */
+#define	Gid_t_f		"u"		/**/
+
+/* Gid_t_sign:
+ *	This symbol holds the signedess of a Gid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign	1		/* GID sign */
+
+/* Gid_t_size:
+ *	This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4		/* GID size */
+
+/* Gid_t:
+ *	This symbol holds the return type of getgid() and the type of
+ *	argument to setrgid() and related functions.  Typically,
+ *	it is the type of group ids in the kernel. It can be int, ushort,
+ *	gid_t, etc... It may be necessary to include  to get
+ *	any typedef'ed information.
+ */
+#define Gid_t gid_t		/* Type for getgid(), etc... */
+
 /* Groups_t:
  *	This symbol holds the type used for the second argument to
- *	getgroups() and setgropus().  Usually, this is the same as
+ *	getgroups() and setgroups().  Usually, this is the same as
  *	gidtype (gid_t) , but sometimes it isn't.
- *	It can be int, ushort, uid_t, etc... 
+ *	It can be int, ushort, gid_t, etc... 
  *	It may be necessary to include  to get any 
  *	typedef'ed information.  This is only required if you have
- *	getgroups() or setgropus()..
+ *	getgroups() or setgroups()..
+ */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t gid_t	/* Type for 2nd arg to [sg]etgroups() */
+#endif
+
+/* DB_Prefix_t:
+ *	This symbol contains the type of the prefix structure element
+ *	in the  header file.  In older versions of DB, it was
+ *	int, while in newer ones it is u_int32_t.
+ */
+/* DB_Hash_t:
+ *	This symbol contains the type of the prefix structure element
+ *	in the  header file.  In older versions of DB, it was
+ *	int, while in newer ones it is size_t.
+ */
+#define DB_Hash_t	u_int32_t		/**/
+#define DB_Prefix_t	size_t  	/**/
+
+/* I_GRP:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include .
+ */
+/* GRPASSWD:
+ *	This symbol, if defined, indicates to the C program that struct group
+ *	in  contains gr_passwd.
+ */
+#define I_GRP		/**/
+#define GRPASSWD	/**/
+
+/* I_ICONV:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_ICONV		/**/
+
+/* I_IEEEFP:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+/*#define	I_IEEEFP		/ **/
+
+/* I_INTTYPES:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+/*#define   I_INTTYPES                / **/
+
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
  */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t gid_t	/* Type for 2nd arg to [sg]etgroups() */
-#endif
+/*#define   I_MACH_CTHREADS	/ **/
+
+/* I_MNTENT:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+/*#define	I_MNTENT		/ **/
 
 /* I_NETDB:
  *	This symbol, if defined, indicates that  exists and
@@ -1694,6 +2297,24 @@
  */
 #define I_NETDB		/**/
 
+/* I_NETINET_TCP:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#define   I_NETINET_TCP                /**/
+
+/* I_POLL:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_POLL		/**/
+
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#define   I_PTHREAD	/**/
+
 /* I_PWD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include .
@@ -1730,30 +2351,143 @@
  *	This symbol, if defined, indicates to the C program that struct passwd
  *	contains pw_passwd.
  */
-/* HAS_SETPWENT:
- *	This symbol, if defined, indicates that the getpwrent routine is
- *	available for initializing sequential access of the passwd database.
- */
-/* HAS_GETPWENT:
- *	This symbol, if defined, indicates that the getpwent routine is
- *	available for sequential access of the password database.
- */
-/* HAS_ENDPWENT:
- *	This symbol, if defined, indicates that the getpwent routine is
- *	available for finalizing sequential access of the passwd database.
- */
 #define I_PWD		/**/
-/*#define PWQUOTA	/ **/
+#define PWQUOTA	/**/
 /*#define PWAGE	/ **/
 /*#define PWCHANGE	/ **/
 /*#define PWCLASS	/ **/
 /*#define PWEXPIRE	/ **/
-/*#define PWCOMMENT	/ **/
+#define PWCOMMENT	/**/
 #define PWGECOS	/**/
 #define PWPASSWD	/**/
-#define HAS_SETPWENT	/**/
-#define HAS_GETPWENT	/**/
-#define HAS_ENDPWENT	/**/
+
+/* I_SHADOW:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+/*#define	I_SHADOW		/ **/
+
+/* I_SOCKS:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+/*#define	I_SOCKS		/ **/
+
+/* I_SUNMATH:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+/*#define	I_SUNMATH		/ **/
+
+/* I_SYSLOG:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_SYSLOG		/**/
+
+/* I_SYSMODE:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_SYSMODE		/**/
+
+/* I_SYS_MOUNT:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_SYS_MOUNT		/**/
+
+/* I_SYS_STATFS:
+ *	This symbol, if defined, indicates that  exists.
+ */
+/*#define	I_SYS_STATFS		/ **/
+
+/* I_SYS_STATVFS:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_SYS_STATVFS		/**/
+
+/* I_SYSUIO:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_SYSUIO		/**/
+
+/* I_SYSUTSNAME:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_SYSUTSNAME		/**/
+
+/* I_SYS_VFS:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+/*#define	I_SYS_VFS		/ **/
+
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include .
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include .
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include  with KERNEL defined.
+ */
+/*#define I_TIME		/ **/
+#define I_SYS_TIME		/**/
+/*#define I_SYS_TIME_KERNEL		/ **/
+
+/* I_USTAT:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#define	I_USTAT		/**/
+
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+#define PERL_INC_VERSION_LIST 0		/**/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+#define INSTALL_USR_BIN_PERL	/**/
+
+/* PERL_PRIfldbl:
+ *	This symbol, if defined, contains the string used by stdio to
+ *	format long doubles (format 'f') for output.
+ */
+/* PERL_PRIgldbl:
+ *	This symbol, if defined, contains the string used by stdio to
+ *	format long doubles (format 'g') for output.
+ */
+#define PERL_PRIfldbl	"f"	/**/
+#define PERL_PRIgldbl	"g"	/**/
+
+/* Off_t:
+ *	This symbol holds the type used to declare offsets in the kernel.
+ *	It can be int, long, off_t, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t off_t		/*  type */
+#define LSEEKSIZE 8		/*  size */
+#define Off_t_size 8	/*  size */
 
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
@@ -1770,110 +2504,183 @@
  */
 /*#define MYMALLOC			/ **/
 
-/* SIG_NAME:
- *	This symbol contains a list of signal names in order of
- *	signal number. This is intended
- *	to be used as a static array initialization, like this:
- *		char *sig_name[] = { SIG_NAME };
- *	The signals in the list are separated with commas, and each signal
- *	is surrounded by double quotes. There is no leading SIG in the signal
- *	name, i.e. SIGQUIT is known as "QUIT".
- *	Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
- *	etc., where nn is the actual signal number (e.g. NUM37).
- *	The signal number for sig_name[i] is stored in sig_num[i].
- *	The last element is 0 to terminate the list with a NULL.  This
- *	corresponds to the 0 at the end of the sig_num list.
- */
-/* SIG_NUM:
- *	This symbol contains a list of signal numbers, in the same order as the
- *	SIG_NAME list. It is suitable for static array initialization, as in:
- *		int sig_num[] = { SIG_NUM };
- *	The signals in the list are separated with commas, and the indices
- *	within that list and the SIG_NAME list match, so it's easy to compute
- *	the signal name from a number or vice versa at the price of a small
- *	dynamic linear lookup. 
- *	Duplicates are allowed, but are moved to the end of the list.
- *	The signal number corresponding to sig_name[i] is sig_number[i].
- *	if (i < NSIG) then sig_number[i] == i.  
- *	The last element is 0, corresponding to the 0 at the end of
- *	the sig_name list.
+/* Mode_t:
+ *	This symbol holds the type used to declare file modes 
+ *	for systems calls.  It is usually mode_t, but may be
+ *	int or unsigned short.  It may be necessary to include 
+ *	to get any typedef'ed information.
  */
-#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "UNUSED", "IOT", "CLD", "POLL", 0		/**/
-#define SIG_NUM  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6, 17, 29, 0			/**/
+#define Mode_t mode_t	 /* file mode parameter for system calls */
 
-/* VOIDFLAGS:
- *	This symbol indicates how much support of the void type is given by this
- *	compiler.  What various bits mean:
- *
- *	    1 = supports declaration of void
- *	    2 = supports arrays of pointers to functions returning void
- *	    4 = supports comparisons between pointers to void functions and
- *		    addresses of void functions
- *	    8 = suports declaration of generic void pointers
- *
- *	The package designer should define VOIDUSED to indicate the requirements
- *	of the package.  This can be done either by #defining VOIDUSED before
- *	including config.h, or by defining defvoidused in Myinit.U.  If the
- *	latter approach is taken, only those flags will be tested.  If the
- *	level of void support necessary is not present, defines void to int.
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
  */
-#ifndef VOIDUSED
-#define VOIDUSED 15
-#endif
-#define VOIDFLAGS 15
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int		/* is void to be avoided? */
-#define M_VOID			/* Xenix strikes again */
-#endif
-
-/* ARCHLIB:
- *	This variable, if defined, holds the name of the directory in
- *	which the user wants to put architecture-dependent public
- *	library files for perl5.  It is most often a local directory
- *	such as /usr/local/lib.  Programs using this variable must be
- *	prepared to deal with filename expansion.  If ARCHLIB is the
- *	same as PRIVLIB, it is not defined, since presumably the
- *	program already searches PRIVLIB.
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
  */
-/* ARCHLIB_EXP:
- *	This symbol contains the ~name expanded version of ARCHLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
  */
-#define ARCHLIB "/opt/perl/lib/5.005/i686-linux-thread"		/**/
-#define ARCHLIB_EXP "/opt/perl/lib/5.005/i686-linux-thread"		/**/
-
-/* DLSYM_NEEDS_UNDERSCORE:
- *	This symbol, if defined, indicates that we need to prepend an
- *	underscore to the symbol name before calling dlsym().  This only
- *	makes sense if you *have* dlsym, which we will presume is the
- *	case if you're using dl_dlopen.xs.
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
  */
-/*#define 	DLSYM_NEEDS_UNDERSCORE 	/ **/
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
 
-/* USE_SFIO:
- *	This symbol, if defined, indicates that sfio should
- *	be used.
+/* Netdb_host_t:
+ *	This symbol holds the type used for the 1st argument
+ *	to gethostbyaddr().
  */
-/*#define	USE_SFIO		/ **/
+/* Netdb_hlen_t:
+ *	This symbol holds the type used for the 2nd argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ *	This symbol holds the type used for the argument to
+ *	gethostbyname().
+ */
+/* Netdb_net_t:
+ *	This symbol holds the type used for the 1st argument to
+ *	getnetbyaddr().
+ */
+#define Netdb_host_t		const char * /**/
+#define Netdb_hlen_t		int /**/
+#define Netdb_name_t		const char * /**/
+#define Netdb_net_t		int /**/
 
-/* USE_DYNAMIC_LOADING:
- *	This symbol, if defined, indicates that dynamic loading of
- *	some sort is available.
+/* IVTYPE:
+ *	This symbol defines the C type used for Perl's IV.
  */
-#define USE_DYNAMIC_LOADING		/**/
+/* UVTYPE:
+ *	This symbol defines the C type used for Perl's UV.
+ */
+/* I8TYPE:
+ *	This symbol defines the C type used for Perl's I8.
+ */
+/* U8TYPE:
+ *	This symbol defines the C type used for Perl's U8.
+ */
+/* I16TYPE:
+ *	This symbol defines the C type used for Perl's I16.
+ */
+/* U16TYPE:
+ *	This symbol defines the C type used for Perl's U16.
+ */
+/* I32TYPE:
+ *	This symbol defines the C type used for Perl's I32.
+ */
+/* U32TYPE:
+ *	This symbol defines the C type used for Perl's U32.
+ */
+/* I64TYPE:
+ *	This symbol defines the C type used for Perl's I64.
+ */
+/* U64TYPE:
+ *	This symbol defines the C type used for Perl's U64.
+ */
+/* NVTYPE:
+ *	This symbol defines the C type used for Perl's NV.
+ */
+/* IVSIZE:
+ *	This symbol contains the sizeof(IV).
+ */
+/* UVSIZE:
+ *	This symbol contains the sizeof(UV).
+ */
+/* I8SIZE:
+ *	This symbol contains the sizeof(I8).
+ */
+/* U8SIZE:
+ *	This symbol contains the sizeof(U8).
+ */
+/* I16SIZE:
+ *	This symbol contains the sizeof(I16).
+ */
+/* U16SIZE:
+ *	This symbol contains the sizeof(U16).
+ */
+/* I32SIZE:
+ *	This symbol contains the sizeof(I32).
+ */
+/* U32SIZE:
+ *	This symbol contains the sizeof(U32).
+ */
+/* I64SIZE:
+ *	This symbol contains the sizeof(I64).
+ */
+/* U64SIZE:
+ *	This symbol contains the sizeof(U64).
+ */
+/* NV_PRESERVES_UV:
+ *	This symbol, if defined, indicates that a variable of type NVTYPE
+ *	can preserve all the bit of a variable of type UVSIZE.
+ */
+#define	IVTYPE		long		/**/
+#define	UVTYPE		unsigned long		/**/
+#define	I8TYPE		char		/**/
+#define	U8TYPE		unsigned char		/**/
+#define	I16TYPE		short	/**/
+#define	U16TYPE		unsigned short	/**/
+#define	I32TYPE		int	/**/
+#define	U32TYPE		unsigned int	/**/
+#ifdef HAS_QUAD
+#define	I64TYPE		long	/**/
+#define	U64TYPE		unsigned long	/**/
+#endif
+#define	NVTYPE		double		/**/
+#define	IVSIZE		8		/**/
+#define	UVSIZE		8		/**/
+#define	I8SIZE		1		/**/
+#define	U8SIZE		1		/**/
+#define	I16SIZE		2	/**/
+#define	U16SIZE		2	/**/
+#define	I32SIZE		4	/**/
+#define	U32SIZE		4	/**/
+#ifdef HAS_QUAD
+#define	I64SIZE		8	/**/
+#define	U64SIZE		8	/**/
+#endif
+#undef	NV_PRESERVES_UV
 
-/* DB_Prefix_t:
- *	This symbol contains the type of the prefix structure element
- *	in the  header file.  In older versions of DB, it was
- *	int, while in newer ones it is u_int32_t.
+/* IVdf:
+ *	This symbol defines the format string used for printing a Perl IV
+ *	as a signed decimal integer.
  */
-/* DB_Hash_t:
- *	This symbol contains the type of the prefix structure element
- *	in the  header file.  In older versions of DB, it was
- *	int, while in newer ones it is size_t.
+/* UVuf:
+ *	This symbol defines the format string used for printing a Perl UV
+ *	as an unsigned decimal integer.
  */
-#define DB_Hash_t	u_int32_t		/**/
-#define DB_Prefix_t	size_t  	/**/
+/* UVof:
+ *	This symbol defines the format string used for printing a Perl UV
+ *	as an unsigned octal integer.
+ */
+/* UVxf:
+ *	This symbol defines the format string used for printing a Perl UV
+ *	as an unsigned hexadecimal integer.
+ */
+#define	IVdf		"ld"		/**/
+#define	UVuf		"lu"		/**/
+#define	UVof		"lo"		/**/
+#define	UVxf		"lx"		/**/
+
+/* Pid_t:
+ *	This symbol holds the type used to declare process ids in the kernel.
+ *	It can be int, uint, pid_t, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+#define Pid_t pid_t		/* PID type */
 
 /* PRIVLIB:
  *	This symbol contains the name of the private library for this package.
@@ -1885,8 +2692,89 @@
  *	This symbol contains the ~name expanded version of PRIVLIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/opt/perl/lib/5.005"		/**/
-#define PRIVLIB_EXP "/opt/perl/lib/5.005"		/**/
+#define PRIVLIB "/opt/perl/lib/5.6.0"		/**/
+#define PRIVLIB_EXP "/opt/perl/lib/5.6.0"		/**/
+
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE 8		/**/
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in it's headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		drand48()		/**/
+#define Rand_seed_t		long		/**/
+#define seedDrand01(x)	srand48((Rand_seed_t)x)	/**/
+#define RANDBITS		48		/**/
+
+/* SELECT_MIN_BITS:
+ *	This symbol holds the minimum number of bits operated by select.
+ *	That is, if you do select(n, ...), how many bits at least will be
+ *	cleared in the masks if some activity is detected.  Usually this
+ *	is either n or 32*ceil(n/32), especially many little-endians do
+ *	the latter.  This is only useful if you have select(), naturally.
+ */
+#define SELECT_MIN_BITS 	32	/**/
+
+/* Select_fd_set_t:
+ *	This symbol holds the type used for the 2nd, 3rd, and 4th
+ *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
+ *	is defined, and 'int *' otherwise.  This is only useful if you 
+ *	have select(), of course.
+ */
+#define Select_fd_set_t 	fd_set *	/**/
+
+/* SIG_NAME:
+ *	This symbol contains a list of signal names in order of
+ *	signal number. This is intended
+ *	to be used as a static array initialization, like this:
+ *		char *sig_name[] = { SIG_NAME };
+ *	The signals in the list are separated with commas, and each signal
+ *	is surrounded by double quotes. There is no leading SIG in the signal
+ *	name, i.e. SIGQUIT is known as "QUIT".
+ *	Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
+ *	etc., where nn is the actual signal number (e.g. NUM37).
+ *	The signal number for sig_name[i] is stored in sig_num[i].
+ *	The last element is 0 to terminate the list with a NULL.  This
+ *	corresponds to the 0 at the end of the sig_num list.
+ */
+/* SIG_NUM:
+ *	This symbol contains a list of signal numbers, in the same order as the
+ *	SIG_NAME list. It is suitable for static array initialization, as in:
+ *		int sig_num[] = { SIG_NUM };
+ *	The signals in the list are separated with commas, and the indices
+ *	within that list and the SIG_NAME list match, so it's easy to compute
+ *	the signal name from a number or vice versa at the price of a small
+ *	dynamic linear lookup. 
+ *	Duplicates are allowed, but are moved to the end of the list.
+ *	The signal number corresponding to sig_name[i] is sig_number[i].
+ *	if (i < NSIG) then sig_number[i] == i.  
+ *	The last element is 0, corresponding to the 0 at the end of
+ *	the sig_name list.
+ */
+#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "IOINT", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "AIO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "RESV", "RTMIN", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "MAX", "IOT", "LOST", "URG", "CLD", "IO", "POLL", "PTY", "PWR", "RTMAX", 0		/**/
+#define SIG_NUM  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0		/**/
 
 /* SITEARCH:
  *	This symbol contains the name of the private library for this package.
@@ -1894,15 +2782,17 @@
  *	execution path, but it should be accessible by the world.  The program
  *	should be prepared to do ~ expansion.
  *	The standard distribution will put nothing in this directory.
- *	Individual sites may place their own extensions and modules in
- *	this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-dependent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
  */
 /* SITEARCH_EXP:
  *	This symbol contains the ~name expanded version of SITEARCH, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "/opt/perl/lib/site_perl/5.005/i686-linux-thread"		/**/
-#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.005/i686-linux-thread"		/**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.6.0/alpha-dec_osf-thread-multi"		/**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.6.0/alpha-dec_osf-thread-multi"		/**/
 
 /* SITELIB:
  *	This symbol contains the name of the private library for this package.
@@ -1910,15 +2800,52 @@
  *	execution path, but it should be accessible by the world.  The program
  *	should be prepared to do ~ expansion.
  *	The standard distribution will put nothing in this directory.
- *	Individual sites may place their own extensions and modules in
- *	this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-independent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
  */
 /* SITELIB_EXP:
  *	This symbol contains the ~name expanded version of SITELIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "/opt/perl/lib/site_perl/5.005"		/**/
-#define SITELIB_EXP "/opt/perl/lib/site_perl/5.005"		/**/
+/* SITELIB_STEM:
+ *	This define is SITELIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "/opt/perl/lib/site_perl/5.6.0"		/**/
+#define SITELIB_EXP "/opt/perl/lib/site_perl/5.6.0"		/**/
+#define SITELIB_STEM "/opt/perl/lib/site_perl"		/**/
+
+/* Size_t_size:
+ *	This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 8		/* */
+
+/* Size_t:
+ *	This symbol holds the type used to declare length parameters
+ *	for string functions.  It is usually size_t, but may be
+ *	unsigned long, int, etc.  It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+#define Size_t size_t	 /* length paramater for string functions */
+
+/* Sock_size_t:
+ *	This symbol holds the type used for the size argument of
+ *	various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t		int /**/
+
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include  or 
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t ssize_t	 /* signed count of bytes */
 
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
@@ -1927,177 +2854,235 @@
  */
 #define STARTPERL "#!/opt/perl/bin/perl"		/**/
 
-/* USE_PERLIO:
- *	This symbol, if defined, indicates that the PerlIO abstraction should
- *	be used throughout.  If not defined, stdio should be
- *	used in a fully backward compatible manner.
+/* HAS_STDIO_STREAM_ARRAY:
+ *	This symbol, if defined, tells that there is an array
+ *	holding the stdio streams.
  */
-/*#define	USE_PERLIO		/ **/
-
-/* HAS_GETHOST_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for gethostent(), gethostbyname(), and
- *	gethostbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* STDIO_STREAM_ARRAY:
+ *	This symbol tells the name of the array holding the stdio streams.
+ *	Usual values include _iob, __iob, and __sF.
  */
-#define	HAS_GETHOST_PROTOS	/**/
+#define	HAS_STDIO_STREAM_ARRAY	/**/
+#define STDIO_STREAM_ARRAY	_iob
 
-/* HAS_GETNET_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for getnetent(), getnetbyname(), and
- *	getnetbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* Uid_t_f:
+ *	This symbol defines the format string used for printing a Uid_t.
  */
-#define	HAS_GETNET_PROTOS	/**/
+#define	Uid_t_f		"u"		/**/
 
-/* HAS_GETPROTO_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for getprotoent(), getprotobyname(), and
- *	getprotobyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* Uid_t_sign:
+ *	This symbol holds the signedess of a Uid_t.
+ *	1 for unsigned, -1 for signed.
  */
-#define	HAS_GETPROTO_PROTOS	/**/
+#define Uid_t_sign	1		/* UID sign */
 
-/* HAS_GETSERV_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for getservent(), getservbyname(), and
- *	getservbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* Uid_t_size:
+ *	This symbol holds the size of a Uid_t in bytes.
  */
-#define	HAS_GETSERV_PROTOS	/**/
+#define Uid_t_size 4		/* UID size */
 
-/* Netdb_host_t:
- *	This symbol holds the type used for the 1st argument
- *	to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- *	This symbol holds the type used for the 2nd argument
- *	to gethostbyaddr().
- */
-/* Netdb_name_t:
- *	This symbol holds the type used for the argument to
- *	gethostbyname().
- */
-/* Netdb_net_t:
- *	This symbol holds the type used for the 1st argument to
- *	getnetbyaddr().
+/* Uid_t:
+ *	This symbol holds the type used to declare user ids in the kernel.
+ *	It can be int, ushort, uid_t, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
  */
-#define Netdb_host_t		const char * /**/
-#define Netdb_hlen_t		int /**/
-#define Netdb_name_t		const char * /**/
-#define Netdb_net_t		unsigned long /**/
+#define Uid_t uid_t		/* UID type */
 
-/* Select_fd_set_t:
- *	This symbol holds the type used for the 2nd, 3rd, and 4th
- *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
- *	is defined, and 'int *' otherwise.  This is only useful if you 
- *	have select(), of course.
+/* USE_64_BIT_INT:
+ *	This symbol, if defined, indicates that 64-bit integers should
+ *	be used when available.  If not defined, the native integers
+ *	will be employed (be they 32 or 64 bits).  The minimal possible
+ *	64-bitness is used, just enough to get 64-bit integers into Perl.
+ *	This may mean using for example "long longs", while your memory
+ *	may still be limited to 2 gigabytes.
+ */
+/* USE_64_BIT_ALL:
+ *	This symbol, if defined, indicates that 64-bit integers should
+ *	be used when available.  If not defined, the native integers
+ *	will be used (be they 32 or 64 bits).  The maximal possible
+ *	64-bitness is employed: LP64 or ILP64, meaning that you will
+ *	be able to use more than 2 gigabytes of memory.  This mode is
+ *	even more binary incompatible than USE_64_BIT_INT. You may not
+ *	be able to run the resulting executable in a 32-bit CPU at all or
+ *	you may need at least to reboot your OS to 64-bit mode.
+ */
+#ifndef USE_64_BIT_INT
+#define	USE_64_BIT_INT		/**/
+#endif
+
+#ifndef USE_64_BIT_ALL
+#define	USE_64_BIT_ALL		/**/
+#endif
+
+/* USE_LARGE_FILES:
+ *	This symbol, if defined, indicates that large file support
+ *	should be used when available.
  */
-#define Select_fd_set_t 	fd_set *	/**/
+#ifndef USE_LARGE_FILES
+#define	USE_LARGE_FILES		/**/
+#endif
 
-/* ARCHNAME:
- *	This symbol holds a string representing the architecture name.
- *	It may be used to construct an architecture-dependant pathname
- *	where library files may be held under a private library, for
- *	instance.
+/* USE_LONG_DOUBLE:
+ *	This symbol, if defined, indicates that long doubles should
+ *	be used when available.
  */
-#define ARCHNAME "i686-linux-thread"		/**/
+#ifndef USE_LONG_DOUBLE
+/*#define	USE_LONG_DOUBLE		/ **/
+#endif
 
-/* HAS_PTHREAD_YIELD:
- *	This symbol, if defined, indicates that the pthread_yield 
- *	routine is available to yield the execution of the current
- *	thread.
+/* USE_MORE_BITS:
+ *	This symbol, if defined, indicates that 64-bit interfaces and
+ *	long doubles should be used when available.
  */
-/* HAS_SCHED_YIELD:
- *	This symbol, if defined, indicates that the sched_yield
- *	routine is available to yield the execution of the current
- *	thread.
+#ifndef USE_MORE_BITS
+/*#define	USE_MORE_BITS		/ **/
+#endif
+
+/* MULTIPLICITY:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use multiplicity.
  */
-/*#define HAS_PTHREAD_YIELD	/ **/
-#define HAS_SCHED_YIELD	/**/
+#ifndef MULTIPLICITY
+#define	MULTIPLICITY		/**/
+#endif
 
-/* PTHREADS_CREATED_JOINABLE:
- *	This symbol, if defined, indicates that pthreads are created
- *	in the joinable (aka undetached) state.
+/* USE_PERLIO:
+ *	This symbol, if defined, indicates that the PerlIO abstraction should
+ *	be used throughout.  If not defined, stdio should be
+ *	used in a fully backward compatible manner.
  */
-#define PTHREADS_CREATED_JOINABLE /**/
+#ifndef USE_PERLIO
+/*#define	USE_PERLIO		/ **/
+#endif
 
-/* USE_THREADS:
+/* USE_SOCKS:
  *	This symbol, if defined, indicates that Perl should
- *	be built to use threads.
+ *	be built to use socks.
+ */
+#ifndef USE_SOCKS
+/*#define	USE_SOCKS		/ **/
+#endif
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
  */
 /* OLD_PTHREADS_API:
  *	This symbol, if defined, indicates that Perl should
  *	be built to use the old draft POSIX threads API.
  */
-#define	USE_THREADS		/**/
+/*#define	USE_5005THREADS		/ **/
+#define	USE_ITHREADS		/**/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
 /*#define	OLD_PTHREADS_API		/ **/
 
-/* Time_t:
- *	This symbol holds the type returned by time(). It can be long,
- *	or time_t on BSD sites (in which case  should be
- *	included).
- */
-#define Time_t time_t		/* Time type */
-
-/* HAS_TIMES:
- *	This symbol, if defined, indicates that the times() routine exists.
- *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include .
+/* PERL_VENDORARCH:
+ *	If defined, this symbol contains the name of a private library.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.
+ *	It may have a ~ on the front. 
+ *	The standard distribution will put nothing in this directory.
+ *	Vendors who distribute perl may wish to place their own
+ *	architecture-dependent modules and extensions in this directory with
+ *		MakeMaker Makefile.PL INSTALLDIRS=vendor 
+ *	or equivalent.  See INSTALL for details.
  */
-#define HAS_TIMES		/**/
-
-/* Fpos_t:
- *	This symbol holds the type used to declare file positions in libc.
- *	It can be fpos_t, long, uint, etc... It may be necessary to include
- *	 to get any typedef'ed information.
+/* PERL_VENDORARCH_EXP:
+ *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define Fpos_t fpos_t		/* File position type */
+/*#define PERL_VENDORARCH ""		/ **/
+/*#define PERL_VENDORARCH_EXP ""		/ **/
 
-/* Gid_t:
- *	This symbol holds the return type of getgid() and the type of
- *	argument to setrgid() and related functions.  Typically,
- *	it is the type of group ids in the kernel. It can be int, ushort,
- *	uid_t, etc... It may be necessary to include  to get
- *	any typedef'ed information.
+/* PERL_VENDORLIB_EXP:
+ *	This symbol contains the ~name expanded version of VENDORLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define Gid_t gid_t		/* Type for getgid(), etc... */
-
-/* Off_t:
- *	This symbol holds the type used to declare offsets in the kernel.
- *	It can be int, long, off_t, etc... It may be necessary to include
- *	 to get any typedef'ed information.
+/* PERL_VENDORLIB_STEM:
+ *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
  */
-#define Off_t off_t		/*  type */
+/*#define PERL_VENDORLIB_EXP ""		/ **/
+/*#define PERL_VENDORLIB_STEM ""		/ **/
 
-/* Mode_t:
- *	This symbol holds the type used to declare file modes 
- *	for systems calls.  It is usually mode_t, but may be
- *	int or unsigned short.  It may be necessary to include 
- *	to get any typedef'ed information.
+/* VOIDFLAGS:
+ *	This symbol indicates how much support of the void type is given by this
+ *	compiler.  What various bits mean:
+ *
+ *	    1 = supports declaration of void
+ *	    2 = supports arrays of pointers to functions returning void
+ *	    4 = supports comparisons between pointers to void functions and
+ *		    addresses of void functions
+ *	    8 = suports declaration of generic void pointers
+ *
+ *	The package designer should define VOIDUSED to indicate the requirements
+ *	of the package.  This can be done either by #defining VOIDUSED before
+ *	including config.h, or by defining defvoidused in Myinit.U.  If the
+ *	latter approach is taken, only those flags will be tested.  If the
+ *	level of void support necessary is not present, defines void to int.
  */
-#define Mode_t mode_t	 /* file mode parameter for system calls */
+#ifndef VOIDUSED
+#define VOIDUSED 15
+#endif
+#define VOIDFLAGS 15
+#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
+#define void int		/* is void to be avoided? */
+#define M_VOID			/* Xenix strikes again */
+#endif
 
-/* Pid_t:
- *	This symbol holds the type used to declare process ids in the kernel.
- *	It can be int, uint, pid_t, etc... It may be necessary to include
- *	 to get any typedef'ed information.
- */
-#define Pid_t pid_t		/* PID type */
+/* PERL_XS_APIVERSION:
+ *	This variable contains the version of the oldest perl binary
+ *	compatible with the present perl.  perl.c:incpush() and
+ *	lib/lib.pm will automatically search in /opt/perl/lib/site_perl/5.6.0/alpha-dec_osf-thread-multi for older
+ *	directories across major versions back to xs_apiversion.
+ *	This is only useful if you have a perl library directory tree
+ *	structured like the default one.
+ *	See INSTALL for how this works.
+ *	The versioned site_perl directory was introduced in 5.005,
+ *	so that is the lowest possible value.
+ *	Since this can depend on compile time options (such as
+ *	bincompat) it is set by Configure.  Other non-default sources
+ *	of potential incompatibility, such as multiplicity, threads,
+ *	debugging, 64bits, sfio, etc., are not checked for currently,
+ *	though in principle we could go snooping around in old
+ *	Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ *	This variable contains the version of the oldest perl
+ *	compatible with the present perl.  (That is, pure perl modules
+ *	written for pm_apiversion will still work for the current
+ *	version).  perl.c:incpush() and lib/lib.pm will automatically
+ *	search in /opt/perl/lib/site_perl/5.6.0 for older directories across major versions
+ *	back to pm_apiversion.  This is only useful if you have a perl
+ *	library directory tree structured like the default one.  The
+ *	versioned site_perl library was introduced in 5.005, so that's
+ *	the default setting for this variable.  It's hard to imagine
+ *	it changing before Perl6.  It is included here for symmetry
+ *	with xs_apiveprsion -- the searching algorithms will
+ *	(presumably) be similar.
+ *	See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION "5.6.0"
+#define PERL_PM_APIVERSION "5.005"
 
-/* Size_t:
- *	This symbol holds the type used to declare length parameters
- *	for string functions.  It is usually size_t, but may be
- *	unsigned long, int, etc.  It may be necessary to include
- *	 to get any typedef'ed information.
+/* HAS_LCHOWN:
+ *	This symbol, if defined, indicates that the lchown routine is
+ *	available to operate on a symbolic link (instead of following the
+ *	link).
  */
-#define Size_t size_t	 /* length paramater for string functions */
+#define HAS_LCHOWN		/**/
 
-/* Uid_t:
- *	This symbol holds the type used to declare user ids in the kernel.
- *	It can be int, ushort, uid_t, etc... It may be necessary to include
- *	 to get any typedef'ed information.
+/* FLEXFILENAMES:
+ *	This symbol, if defined, indicates that the system supports filenames
+ *	longer than 14 characters.
  */
-#define Uid_t uid_t		/* UID type */
+#define	FLEXFILENAMES		/**/
 
 #endif
diff --git a/gnu/usr.bin/perl/Porting/makerel b/gnu/usr.bin/perl/Porting/makerel
index f2e1f9750b2..4b8c277ebd1 100644
--- a/gnu/usr.bin/perl/Porting/makerel
+++ b/gnu/usr.bin/perl/Porting/makerel
@@ -20,19 +20,14 @@ die "Must be in root of the perl source tree.\n"
 open PATCHLEVEL,";
 close PATCHLEVEL;
-my $patchlevel_h = join "", grep { /^#define/ } @patchlevel_h;
+my $patchlevel_h = join "", grep { /^#\s*define/ } @patchlevel_h;
 print $patchlevel_h;
-$patchlevel = $1 if $patchlevel_h =~ /PATCHLEVEL\s+(\d+)/;
-$subversion = $1 if $patchlevel_h =~ /SUBVERSION\s+(\d+)/;
+$revision = $1 if $patchlevel_h =~ /PERL_REVISION\s+(\d+)/;
+$patchlevel = $1 if $patchlevel_h =~ /PERL_VERSION\s+(\d+)/;
+$subversion = $1 if $patchlevel_h =~ /PERL_SUBVERSION\s+(\d+)/;
 die "Unable to parse patchlevel.h" unless $subversion >= 0;
-$vers = sprintf("5.%03d", $patchlevel);
-$vms_vers = sprintf("5_%03d", $patchlevel);
-if ($subversion) {
-    $vers.= sprintf( "_%02d", $subversion);
-    $vms_vers.= sprintf( "%02d", $subversion);
-} else {
-    $vms_vers.= "  ";
-}
+$vers = sprintf("%d.%d.%d", $revision, $patchlevel, $subversion);
+$vms_vers = sprintf("%d_%d_%d", $revision, $patchlevel, $subversion);
 
 # fetch list of local patches
 my (@local_patches, @lpatch_tags, $lpatch_tags);
@@ -41,7 +36,7 @@ my (@local_patches, @lpatch_tags, $lpatch_tags);
 @lpatch_tags   = map  {  /^\s*,"(\w+)/ } @local_patches;
 $lpatch_tags   = join "-", @lpatch_tags;
 
-$perl = "perl$vers";
+$perl = "perl-$vers";
 $reldir = "$perl";
 $reldir .= "-$lpatch_tags" if $lpatch_tags;
 
@@ -93,7 +88,6 @@ my @exe = qw(
     installperl
     installman
     keywords.pl
-    myconfig
     opcode.pl
     perly.fixer
     t/TEST
@@ -107,6 +101,27 @@ my @exe = qw(
 );
 system("chmod +x @exe");
 
+my @writables = qw(
+    embed.h
+    embedvar.h
+    ext/B/B/Asmdata.pm
+    ext/ByteLoader/byterun.c
+    ext/ByteLoader/byterun.h
+    global.sym
+    keywords.h
+    lib/warnings.pm
+    objXSUB.h
+    opcode.h
+    pp.sym
+    pp_proto.h
+    regnodes.h
+    warnings.h
+    win32/config_H.bc
+    win32/config_H.gc
+    win32/config_H.vc
+);
+system("chmod +w @writables");
+
 print "Adding CRs to DOSish files...\n";
 my @crlf = qw(
     djgpp/configure.bat
diff --git a/gnu/usr.bin/perl/Porting/patchls b/gnu/usr.bin/perl/Porting/patchls
index 38c4dd1f473..4329f4cebc8 100644
--- a/gnu/usr.bin/perl/Porting/patchls
+++ b/gnu/usr.bin/perl/Porting/patchls
@@ -17,7 +17,7 @@ use Text::Tabs qw(expand unexpand);
 use strict;
 use vars qw($VERSION);
 
-$VERSION = 2.08;
+$VERSION = 2.11;
 
 sub usage {
 die qq{
@@ -35,6 +35,7 @@ die qq{
            (F has \$ appended unless it contains a /).
     -e     Expect patched files to Exist (relative to current directory)
            Will print warnings for files which don't. Also affects -4 option.
+    -      Read patch from STDIN
   other options for special uses:
     -I     just gather and display summary Information about the patches.
     -4     write to stdout the PerForce commands to prepare for patching.
@@ -93,7 +94,7 @@ my %cat_title = (
     'UTIL'	=> 'UTILITIES',
     'OTHER'	=> 'OTHER CHANGES',
     'EXT'	=> 'EXTENSIONS',
-    'UNKNOWN'	=> 'UNKNOWN - NO FILES PATCH',
+    'UNKNOWN'	=> 'UNKNOWN - NO FILES PATCHED',
 );
 
 
@@ -131,7 +132,11 @@ sub get_meta_info {
 # Style 2:
 #	--- perl5.004001/mg.c   Sun Jun 08 12:26:24 1997
 #	+++ perl5.004-bc/mg.c   Sun Jun 08 11:56:08 1997
-#	@@ -656,9 +656,27 @@
+#	@@ .. @@
+# or for deletions
+#	--- perl5.004001/mg.c   Sun Jun 08 12:26:24 1997
+#	+++ /dev/null   Sun Jun 08 11:56:08 1997
+#	@@ ... @@
 # or (rcs, note the different date format)
 #	--- 1.18	1997/05/23 19:22:04
 #	+++ ./pod/perlembed.pod	1997/06/03 21:41:38
@@ -145,13 +150,19 @@ my $in;
 my $ls;
 my $prevline = '';
 my $prevtype = '';
-my (@removed, @added);
+my (%removed, %added);
 my $prologue = 1;	# assume prologue till patch or /^exit\b/ seen
 
 
 foreach my $argv (@ARGV) {
     $in = $argv;
-    unless (open F, "<$in") {
+    if (-d $in) {
+	warn "Ignored directory $in\n";
+	next;
+    }
+    if ($in eq "-") {
+      *F = \*STDIN;
+    } elsif (not open F, "<$in") {
 	warn "Unable to open $in: $!\n";
 	next;
     }
@@ -163,8 +174,8 @@ foreach my $argv (@ARGV) {
 	    # not an interesting patch line
 	    # but possibly meta-information or prologue
 	    if ($prologue) {
-		push @added, $1     if /^touch\s+(\S+)/;
-		push @removed, $1   if /^rm\s+(?:-f)?\s*(\S+)/;
+		$added{$1}   = 1    if /^touch\s+(\S+)/;
+		$removed{$1} = 1    if /^rm\s+(?:-f)?\s*(\S+)/;
 		$prologue = 0       if /^exit\b/;
 	    }
 	    get_meta_info($ls, $_) if $::opt_m;
@@ -182,7 +193,7 @@ foreach my $argv (@ARGV) {
 	# to the file which describes the problem being fixed.
 	if (/^Index:\s+(.*)/) {
 	    my $f;
-	    foreach $f (split(/ /, $1)) { add_file($ls, $f) }
+	    foreach $f (split(/ /, $1)) { add_patched_file($ls, $f) }
 	    next;
 	}
 
@@ -190,7 +201,13 @@ foreach my $argv (@ARGV) {
 	    or	($type eq '+++' and $prevtype eq '---')	# Style 2
 	) {
 	    if (/^[-+*]{3} (\S+)\s*(.*?\d\d:\d\d:\d\d)?/) {	# double check
-		add_file($ls, $1);
+		if ($1 eq "/dev/null") {
+		    $prevline =~ /^[-+*]{3} (\S+)\s*/;
+		    add_deleted_file($ls, $1);
+		}
+		else {
+		    add_patched_file($ls, $1);
+		}
 	    }
 	    else {
 		warn "$in $.: parse error (prev $prevtype, type $type)\n$prevline$_";
@@ -226,7 +243,7 @@ foreach my $argv (@ARGV) {
     }
 
     # if we don't have a title for -m then use the file name
-    $ls->{Title}{$in}=1 if $::opt_m
+    $ls->{Title}{"Untitled: $in"}=1 if $::opt_m
 	and !$ls->{Title} and $ls->{out};
 
     $ls->{category} = $::opt_c
@@ -263,16 +280,18 @@ if ($::opt_f) {		# filter out patches based on -f 
 
 if ($::opt_4) {
     my $tail = ($::opt_5) ? "|| exit 1" : "";
-    print map { "p4 delete $_$tail\n" } @removed if @removed;
-    print map { "p4 add    $_$tail\n" } @added   if @added;
+    print map { "p4 delete $_$tail\n" } sort keys %removed if %removed;
+    print map { "p4 add    $_$tail\n" } sort keys %added   if %added;
     my @patches = sort grep { $_->{is_in} } @ls;
     my @no_outs = grep { keys %{$_->{out}} == 0 } @patches;
     warn "Warning: Some files contain no patches:",
 	join("\n\t", '', map { $_->{in} } @no_outs), "\n" if @no_outs;
+
     my %patched = map { ($_, 1) } map { keys %{$_->{out}} } @patches;
-    delete @patched{@added};
+    delete @patched{keys %added};
     my @patched = sort keys %patched;
     foreach(@patched) {
+	next if $removed{$_};
 	my $edit = ($::opt_e && !-f $_) ? "add " : "edit";
 	print "p4 $edit   $_$tail\n";
     }
@@ -312,8 +331,8 @@ if ($::opt_I) {
 	    print "\n";
 	}
     }
-    print "Added files:   @added\n"   if @added;
-    print "Removed files: @removed\n" if @removed;
+    print "Added files:   ".join(" ",sort keys %added  )."\n" if %added;
+    print "Removed files: ".join(" ",sort keys %removed)."\n" if %removed;
     exit 0+@missing;
 }
 
@@ -353,12 +372,15 @@ exit 0;
 # ---
 
 
-sub add_file {
+sub add_patched_file {
     my $ls = shift;
-	print "add_file '$_[0]'\n" if $::opt_d;
-    my $out = trim_name(shift);
+	my $raw_name = shift;
+    my $action = shift || 1;	# 1==patched, 2==deleted
 
-    $ls->{out}->{$out} = 1;
+    my $out = trim_name($raw_name);
+    print "add_patched_file '$out' ($raw_name, $action)\n" if $::opt_d;
+
+    $ls->{out}->{$out} = $action;
 
     warn "$out patched but not present\n" if $::opt_e && !-f $out;
 
@@ -371,13 +393,24 @@ sub add_file {
     $i->{out}->{$in} = 1;
 }
 
+sub add_deleted_file {
+    my $ls = shift;
+	my $raw_name = shift;
+    my $out = trim_name($raw_name);
+    print "add_deleted_file '$out' ($raw_name)\n" if $::opt_d;
+	$removed{$out} = 1;
+    #add_patched_file(@_[0,1], 2);
+}
+
 
 sub trim_name {		# reduce/tidy file paths from diff lines
     my $name = shift;
-    $name = "$name ($in)" if $name eq "/dev/null";
     $name =~ s:\\:/:g;	# adjust windows paths
     $name =~ s://:/:g;	# simplify (and make win \\share into absolute path)
-    if (defined $::opt_p) {
+    if ($name eq "/dev/null") {
+	# do nothing (XXX but we need a way to record deletions)
+    }
+    elsif (defined $::opt_p) {
 	# strip on -p levels of directory prefix
 	my $dc = $::opt_p;
 	$name =~ s:^[^/]+/(.+)$:$1: while $dc-- > 0;
@@ -385,7 +418,7 @@ sub trim_name {		# reduce/tidy file paths from diff lines
     else {	# try to strip off leading path to perl directory
 	# if absolute path, strip down to any *perl* directory first
 	$name =~ s:^/.*?perl.*?/::i;
-	$name =~ s:.*perl[-_]?5?[._]?[-_a-z0-9.+]*/::i;
+	$name =~ s:.*(perl|maint)[-_]?5?[._]?[-_a-z0-9.+]*/::i;
 	$name =~ s:^\./::;
     }
     return $name;
@@ -436,7 +469,9 @@ sub list_files_by_patch {
     # a twisty maze of little options
     my $cat = ($ls->{category} and !$::opt_m) ? "\t$ls->{category}" : "";
     print "$name$cat: "	unless ($::opt_h and !$::opt_v) or !"$name$cat";
-    print join('',"\n",@meta) if @meta;
+    my $sep = "\n";
+    $sep = "" if @show_meta==1 && $::opt_c && $::opt_h;
+    print join('', $sep, @meta) if @meta;
 
     return if $::opt_m && !$show_meta{Files};
     my @v = sort PATORDER keys %{ $ls->{out} };
@@ -467,7 +502,7 @@ sub categorize_files {
 	$c{UTIL} += 10,next  if m:^(utils|x2p|h2pl)/:;
 	$c{PORT1}+= 15,next  if m:^win32:;
 	$c{PORT2} += 15,next
-	    if m:^(cygwin32|os2|plan9|qnx|vms)/:
+	    if m:^(cygwin|os2|plan9|qnx|vms)/:
 	    or m:^(hints|Porting|ext/DynaLoader)/:
 	    or m:^README\.:;
 	$c{EXT}  += 10,next
diff --git a/gnu/usr.bin/perl/Porting/pumpkin.pod b/gnu/usr.bin/perl/Porting/pumpkin.pod
index 335e49f2733..99776b50d2e 100644
--- a/gnu/usr.bin/perl/Porting/pumpkin.pod
+++ b/gnu/usr.bin/perl/Porting/pumpkin.pod
@@ -8,8 +8,8 @@ There is no simple synopsis, yet.
 
 =head1 DESCRIPTION
 
-This document attempts to begin to describe some of the
-considerations involved in patching and maintaining perl.
+This document attempts to begin to describe some of the considerations
+involved in patching, porting, and maintaining perl.
 
 This document is still under construction, and still subject to
 significant changes.  Still, I hope parts of it will be useful,
@@ -47,93 +47,68 @@ Archives of the list are held at:
 
 =head1 How are Perl Releases Numbered?
 
-Perl version numbers are floating point numbers, such as 5.004.
-(Observations about the imprecision of floating point numbers for
-representing reality probably have more relevance than you might
-imagine :-) The major version number is 5 and the '004' is the
-patchlevel.  (Questions such as whether or not '004' is really a minor
-version number can safely be ignored.:)
+Beginning with v5.6.0, even versions will stand for maintenance releases
+and odd versions for development releases, i.e., v5.6.x for maintenance
+releases, and v5.7.x for development releases.  Before v5.6.0, subversions
+_01 through _49 were reserved for bug-fix maintenance releases, and
+subversions _50 through _99 for unstable development versions.
 
-The version number is available as the magic variable $],
-and can be used in comparisons, e.g.
+For example, in v5.6.1, the revision number is 5, the version is 6,
+and 1 is the subversion.
 
-	print "You've got an old perl\n" if $] < 5.002;
+For compatibility with the older numbering scheme the composite floating
+point version number continues to be available as the magic variable $],
+and amounts to C<$revision + $version/1000 + $subversion/1000000>.  This
+can still be used in comparisons.
 
-You can also require particular version (or later) with
+	print "You've got an old perl\n" if $] < 5.005_03;
 
-	use 5.002;
+In addition, the version is also available as a string in $^V.
 
-At some point in the future, we may need to decide what to call the
-next big revision.  In the .package file used by metaconfig to
-generate Configure, there are two variables that might be relevant:
-$baserev=5.0 and $package=perl5.   At various times, I have suggested
-we might change them to $baserev=5.1 and $package=perl5.1 if want
-to signify a fairly major update.  Or, we might want to jump to perl6.
-Let's worry about that problem when we get there.
-
-=head2 Subversions
+	print "You've got a new perl\n" if $^V and $^V ge v5.6.0;
 
-In addition, there may be "developer" sub-versions available.  These
-are not official releases.  They may contain unstable experimental
-features, and are subject to rapid change.  Such developer
-sub-versions are numbered with sub-version numbers.  For example,
-version 5.003_04 is the 4'th developer version built on top of
-5.003.  It might include the _01, _02, and _03 changes, but it
-also might not.  Sub-versions are allowed to be subversive. (But see
-the next section for recent changes.)
+You can also require particular version (or later) with:
 
-These sub-versions can also be used as floating point numbers, so
-you can do things such as
+        use 5.006;
 
-	print "You've got an unstable perl\n" if $] == 5.00303;
+or using the new syntax available only from v5.6 onward:
 
-You can also require particular version (or later) with
+	use v5.6.0;
 
-	use 5.003_03;    # the "_" is optional
+At some point in the future, we may need to decide what to call the
+next big revision.  In the .package file used by metaconfig to
+generate Configure, there are two variables that might be relevant:
+$baserev=5 and $package=perl5.
 
-Sub-versions produced by the members of perl5-porters are usually
-available on CPAN in the F directory.
+Perl releases produced by the members of perl5-porters are usually
+available on CPAN in the F and F
+directories.
 
 =head2 Maintenance and Development Subversions
 
-As an experiment, starting with version 5.004, subversions _01 through
-_49 will be reserved for bug-fix maintenance releases, and subversions
-_50 through _99 will be available for unstable development versions.
-
-The separate bug-fix track is being established to allow us an easy
-way to distribute important bug fixes without waiting for the
-developers to untangle all the other problems in the current
-developer's release.
+The first rule of maintenance work is "First, do no harm."
 
 Trial releases of bug-fix maintenance releases are announced on
 perl5-porters. Trial releases use the new subversion number (to avoid
 testers installing it over the previous release) and include a 'local
-patch' entry in patchlevel.h.
+patch' entry in patchlevel.h. The distribution file contains the
+string C to make clear that the file is not meant for
+public consumption.
 
-Watch for announcements of maintenance subversions in
-comp.lang.perl.announce.
-
-The first rule of maintenance work is "First, do no harm."
+In general, the names of official distribution files for the public
+always match the regular expression:
 
-=head2 Why such a complicated scheme?
+    ^perl\d+\.(\d+)\.\d+(-MAINT_TRIAL_\d+)\.tar\.gz$
 
-Two reasons, really.  At least.
+C<$1> in the pattern is always an even number for maintenance
+versions, and odd for developer releases.
 
-First, we need some way to identify and release collections of patches
-that are known to have new features that need testing and exploration.  The
-subversion scheme does that nicely while fitting into the
-C mold.
-
-Second, since most of the folks who help maintain perl do so on a
-free-time voluntary basis, perl development does not proceed at a
-precise pace, though it always seems to be moving ahead quickly.
-We needed some way to pass around the "patch pumpkin" to allow
-different people chances to work on different aspects of the
-distribution without getting in each other's way.  It wouldn't be
-constructive to have multiple people working on incompatible
-implementations of the same idea.  Instead what was needed was
-some kind of "baton" or "token" to pass around so everyone knew
-whose turn was next.
+In the past it has been observed that pumkings tend to invent new
+naming conventions on the fly. If you are a pumpking, before you
+invent a new name for any of the three types of perl distributions,
+please inform the guys from the CPAN who are doing indexing and
+provide the trees of symlinks and the like. They will have to know
+I what you decide.
 
 =head2 Why is it called the patch pumpkin?
 
@@ -155,7 +130,7 @@ No one was allowed to make backups unless they had the "backup pumpkin".
 
 The name has stuck.
 
-=head1 Philosophical Issues in Patching Perl
+=head1 Philosophical Issues in Patching and Porting Perl
 
 There are no absolute rules, but there are some general guidelines I
 have tried to follow as I apply patches to the perl sources.
@@ -174,6 +149,16 @@ generalized the process of building libperl so that NeXT and SVR4 users
 could still get their work done, but others could build a shared
 libperl if they wanted to as well.
 
+Contain your changes carefully.  Assume nothing about other operating
+systems, not even closely related ones.  Your changes must not affect
+other platforms.
+
+Spy shamelessly on how similar patching or porting issues have been
+settled elsewhere.
+
+If feasible, try to keep filenames 8.3-compliant to humor those poor
+souls that get joy from running Perl under such dire limitations.
+
 =head2 Seek consensus on major changes
 
 If you are making big changes, don't do it in secret.  Discuss the
@@ -196,6 +181,88 @@ that the machine-specific #ifdef's may not be valid across major
 releases of the operating system.  Further, the feature-specific tests
 may help out folks on another platform who have the same problem.
 
+=head2 Machine-specific files
+
+=over 4
+
+=item source code
+
+If you have many machine-specific #defines or #includes, consider
+creating an "osish.h" (os2ish.h, vmsish.h, and so on) and including
+that in perl.h.  If you have several machine-specific files (function
+emulations, function stubs, build utility wrappers) you may create a
+separate subdirectory (djgpp, win32) and put the files in there.
+Remember to update C when you add files.
+
+If your system supports dynamic loading but none of the existing
+methods at F work for you, you must write
+a new one.  Study the existing ones to see what kind of interface
+you must supply.
+
+=item build hints
+
+There are two kinds of hints: hints for building Perl and hints for
+extensions.   The former live in the C subdirectory, the latter
+in C subdirectories.
+
+The top level hints are Bourne-shell scripts that set, modify and
+unset appropriate Configure variables, based on the Configure command
+line options and possibly existing config.sh and Policy.sh files from
+previous Configure runs.
+
+The extension hints are written Perl (by the time they are used
+miniperl has been built) and control the building of their respective
+extensions.  They can be used to for example manipulate compilation
+and linking flags.
+
+=item build and installation Makefiles, scripts, and so forth
+
+Sometimes you will also need to tweak the Perl build and installation
+procedure itself, like for example F and F.
+Tread very carefully, even more than usual.  Contain your changes
+with utmost care.
+
+=item test suite
+
+Many of the tests in C subdirectory assume machine-specific things
+like existence of certain functions, something about filesystem
+semantics, certain external utilities and their error messages.  Use
+the C<$^O> and the C module (which contains the results of the
+Configure run, in effect the C converted to Perl) to either
+skip (preferably not) or customize (preferable) the tests for your
+platform.
+
+=item modules
+
+Certain standard modules may need updating if your operating system
+sports for example a native filesystem naming.  You may want to update
+some or all of the modules File::Basename, File::Spec, File::Path, and
+File::Copy to become aware of your native filesystem syntax and
+peculiarities.
+
+=item documentation
+
+If your operating system comes from outside UNIX you almost certainly
+will have differences in the available operating system functionality
+(missing system calls, different semantics, whatever).  Please
+document these at F.  If your operating system is
+the first B to have a system call also update the list of
+"portability-bewares" at the beginning of F.
+
+A file called F at the top level that explains things
+like how to install perl at this platform, where to get any possibly
+required additional software, and for example what test suite errors
+to expect, is nice too.
+
+You may also want to write a separate F<.pod> file for your operating
+system to tell about existing mailing lists, os-specific modules,
+documentation, whatever.  Please name these along the lines of
+FI.pod.  [unfinished: where to put this file (the pod/
+subdirectory, of course: but more importantly, which/what index files
+should be updated?)]
+
+=back
+
 =head2 Allow for lots of testing
 
 We should never release a main version without testing it as a
@@ -211,7 +278,7 @@ that some of those things will be just plain broken and need to be fixed,
 but, in general, we ought to try to avoid breaking widely-installed
 things.
 
-=head2 Automate generation of derivative files
+=head2 Automated generation of derivative files
 
 The F, F, F, and F files
 are all automatically generated by perl scripts.  In general, don't
@@ -219,11 +286,14 @@ patch these directly; patch the data files instead.
 
 F and F are also automatically generated by
 B.  In general, you should patch the metaconfig units
-instead of patching these files directly.  However, very minor changes to
-F may be made in between major sync-ups with the metaconfig
-units, which tends to be complicated operations.  But be careful, this
-can quickly spiral out of control.  Running metaconfig is not really
-hard.
+instead of patching these files directly.  However, very minor changes
+to F may be made in between major sync-ups with the
+metaconfig units, which tends to be complicated operations.  But be
+careful, this can quickly spiral out of control.  Running metaconfig
+is not really hard.
+
+Also F is automatically produced from F.
+In general, look out for all F<*.SH> files.
 
 Finally, the sample files in the F subdirectory are
 generated automatically by the script F included 
@@ -411,6 +481,9 @@ output statements mean the patch won't apply cleanly.  Long ago I
 started to fix F to detect this, but I never completed the
 task.
 
+If C changes, make sure you run C to
+update the corresponding VMS files.  See L.
+
 Some additional notes from Larry on this:
 
 Don't forget to regenerate perly_c.diff.
@@ -520,8 +593,8 @@ things that need to be fixed in Configure.
 
 =head2 VMS-specific updates
 
-If you have changed F, then you may want to update
-F by running C.
+If you have changed F or F, then you most probably want
+to update F by running C.
 
 The Perl version number appears in several places under F.
 It is courteous to update these versions.  For example, if you are
@@ -628,6 +701,42 @@ supports dynamic loading, you can also test static loading with
 You can also hand-tweak your config.h to try out different #ifdef
 branches.
 
+=head1 Running Purify
+
+Purify is a commercial tool that is helpful in identifying memory
+overruns, wild pointers, memory leaks and other such badness.  Perl
+must be compiled in a specific way for optimal testing with Purify.
+
+Use the following commands to test perl with Purify:
+
+	sh Configure -des -Doptimize=-g -Uusemymalloc -Dusemultiplicity \
+	    -Accflags=-DPURIFY
+	setenv PURIFYOPTIONS "-chain-length=25"
+	make all pureperl
+	cd t
+	ln -s ../pureperl perl
+	setenv PERL_DESTRUCT_LEVEL 5
+	./perl TEST
+
+Disabling Perl's malloc allows Purify to monitor allocations and leaks
+more closely; using Perl's malloc will make Purify report most leaks
+in the "potential" leaks category.  Enabling the multiplicity option
+allows perl to clean up thoroughly when the interpreter shuts down, which
+reduces the number of bogus leak reports from Purify.  The -DPURIFY
+enables any Purify-specific debugging code in the sources.
+
+Purify outputs messages in "Viewer" windows by default.  If you don't have
+a windowing environment or if you simply want the Purify output to
+unobtrusively go to a log file instead of to the interactive window,
+use the following options instead:
+
+	setenv PURIFYOPTIONS "-chain-length=25 -windows=no -log-file=perl.log \
+	    -append-logfile=yes"
+
+The only currently known leaks happen when there are compile-time errors
+within eval or require.  (Fixing these is non-trivial, unfortunately, but
+they must be fixed eventually.)
+
 =head1 Common Gotcha's
 
 =over 4
@@ -1008,33 +1117,6 @@ may find metaconfig's units clumsy to work with.
 
 =back
 
-=head2 @INC search order
-
-By default, the list of perl library directories in @INC is the
-following:
-
-    $archlib
-    $privlib
-    $sitearch
-    $sitelib
-
-Specifically, on my Solaris/x86 system, I run
-B and I have the following
-directories:
-
-    /opt/perl/lib/i86pc-solaris/5.00307
-    /opt/perl/lib
-    /opt/perl/lib/site_perl/i86pc-solaris
-    /opt/perl/lib/site_perl
-
-That is, perl's directories come first, followed by the site-specific
-directories.
-
-The site libraries come second to support the usage of extensions
-across perl versions.  Read the relevant section in F for
-more information.  If we ever make $sitearch version-specific, this
-topic could be revisited.
-
 =head2 Why isn't there a directory to override Perl's library?
 
 Mainly because no one's gotten around to making one.  Note that
@@ -1158,18 +1240,6 @@ what I came up with off the top of my head.
 
 =over 4
 
-=item installprefix
-
-I think we ought to support
-
-    Configure -Dinstallprefix=/blah/blah
-
-Currently, we support B<-Dprefix=/blah/blah>, but the changing the install
-location has to be handled by something like the F trick
-described in F.  AFS users also are treated specially.
-We should probably duplicate the metaconfig prefix stuff for an
-install prefix.
-
 =item Configure -Dsrc=/blah/blah
 
 We should be able to emulate B.  Tom Tromey
@@ -1178,16 +1248,6 @@ the dist-users mailing list along these lines.  They have been folded
 back into the main distribution, but various parts of the perl
 Configure/build/install process still assume src='.'.
 
-=item Directory for vendor-supplied modules?
-
-If a vendor supplies perl, but wants to leave $siteperl and $sitearch
-for the local user to use, where should the vendor put vendor-supplied
-modules (such as Tk.so?)  If the vendor puts them in $archlib, then
-they need to be updated each time the perl version is updated.
-Perhaps we need a set of libries $vendorperl and $vendorarch that
-track $apiversion (like the $sitexxx directories do) rather than
-just $version (like the main perl directory).
-
 =item Hint file fixes
 
 Various hint files work around Configure problems.  We ought to fix
@@ -1198,47 +1258,6 @@ Configure so that most of them aren't needed.
 Some of the hint file information (particularly dynamic loading stuff)
 ought to be fed back into the main metaconfig distribution.
 
-=item Catch GNU Libc "Stub" functions
-
-Some functions (such as lchown()) are present in libc, but are
-unimplmented.  That is, they always fail and set errno=ENOSYS.
-
-Thomas Bushnell provided the following sample code and the explanation
-that follows:
-
-    /* System header to define __stub macros and hopefully few prototypes,
-	which can conflict with char FOO(); below.  */
-    #include 
-    /* Override any gcc2 internal prototype to avoid an error.  */
-    /* We use char because int might match the return type of a gcc2
-	builtin and then its argument prototype would still apply.  */
-    char FOO();
-
-    int main() {
-
-    /* The GNU C library defines this for functions which it implements
-	to always fail with ENOSYS.  Some functions are actually named
-	something starting with __ and the normal name is an alias.  */
-    #if defined (__stub_FOO) || defined (__stub___FOO)
-    choke me
-    #else
-    FOO();
-    #endif
-
-    ; return 0; }
-
-The choice of  is essentially arbitrary.  The GNU libc
-macros are found in .  You can include that file instead
-of  (which itself includes ) if you test for
-its existence first.   is assumed to exist on every system,
-which is why it's used here.  Any GNU libc header file will include
-the stubs macros.  If either __stub_NAME or __stub___NAME is defined,
-then the function doesn't actually exist.  Tests using  work
-on every system around.
-
-The declaration of FOO is there to override builtin prototypes for
-ANSI C functions.
-
 =back
 
 =head2 Probably good ideas waiting for round tuits
@@ -1320,4 +1339,4 @@ All opinions expressed herein are those of the authorZ<>(s).
 
 =head1 LAST MODIFIED
 
-$Id: pumpkin.pod,v 1.22 1998/07/22 16:33:55 doughera Released $
+$Id: pumpkin.pod,v 1.23 2000/01/13 19:45:13 doughera Released $
diff --git a/gnu/usr.bin/perl/README b/gnu/usr.bin/perl/README
index e3ccad49bc0..0925b98018c 100644
--- a/gnu/usr.bin/perl/README
+++ b/gnu/usr.bin/perl/README
@@ -1,7 +1,7 @@
 
 			   Perl Kit, Version 5.0
 
-		       Copyright 1989-1999, Larry Wall
+		       Copyright 1989-2000, Larry Wall
 			    All rights reserved.
 
     This program is free software; you can redistribute it and/or modify
@@ -50,9 +50,9 @@
 --------------------------------------------------------------------------
 
 Perl is a language that combines some of the features of C, sed, awk
-and shell.  See the manual page for more hype.  There are also two Nutshell
-Handbooks published by O'Reilly & Assoc.  See pod/perlbook.pod
-for more information.
+and shell.  See the manual page for more hype.  There are also many Perl
+books available, covering a wide variety of topics, from various publishers.
+See pod/perlbook.pod for more information.
 
 Please read all the directions below before you proceed any further, and
 then follow them carefully.
@@ -62,16 +62,10 @@ in MANIFEST.
 
 Installation
 
-1) Detailed instructions are in the file INSTALL which you should read.
-In brief, the following should work on most systems:
-	rm -f config.sh
-	sh Configure
-	make
-	make test
-	make install
-For most systems, it should be safe to accept all the Configure defaults.
-(It is recommended that you accept the defaults the first time you build
-or if you have any problems building.)
+1) Detailed instructions are in the file "INSTALL", which you should
+read if you are either installing on a system resembling Unix
+or porting perl to another platform.  For non-Unix platforms, see the
+corresponding README.
 
 2) Read the manual entries before running perl.
 
@@ -81,18 +75,16 @@ If you have a problem, there's someone else out there who either has had
 or will have the same problem.  It's usually helpful if you send the
 output of the "myconfig" script in the main perl directory.
 
-If you've succeeded in compiling perl, the perlbug script in the utils/
+If you've succeeded in compiling perl, the perlbug script in the "utils"
 subdirectory can be used to help mail in a bug report.
 
 If possible, send in patches such that the patch program will apply them.
 Context diffs are the best, then normal diffs.  Don't send ed scripts--
 I've probably changed my copy since the version you have.
 
-Watch for perl patches in comp.lang.perl.announce.  Patches will generally
-be in a form usable by the patch program.  If you are just now bringing
-up perl and aren't sure how many patches there are, write to me and I'll
-send any you don't have.  Your current patch level is shown in
-patchlevel.h.
+The latest versions of perl are always available on the various CPAN
+(Comprehensive Perl Archive Network) sites around the world.
+See .
 
 
 Just a personal note:  I want you to know that I create nice things like this
diff --git a/gnu/usr.bin/perl/README.cygwin32 b/gnu/usr.bin/perl/README.cygwin32
deleted file mode 100644
index d7950f63d44..00000000000
--- a/gnu/usr.bin/perl/README.cygwin32
+++ /dev/null
@@ -1,59 +0,0 @@
-The following assumes you have the GNU-Win32 package, version b17.1 or
-later, installed and configured on your system.  See
-http://www.cygnus.com/misc/gnu-win32/ for details on the GNU-Win32
-project and the Cygwin32 API.
-
-1)  Copy the contents of the cygwin32 directory to the Perl source
-    root directory.
-
-2)  Modify the ld2 script by making the PERLPATH variable contain the
-    Perl source root directory.  For example, if you extracted perl to
-    "/perl5.004", change the script so it contains the line:
-
-	PERLPATH=/perl5.004
-
-3)  Copy the two scripts ld2 and gcc2 from the cygwin32 subdirectory to a
-    directory in your PATH environment variable.  For example, copy to
-    /bin, assuming /bin is in your PATH.  (These two scripts are 'wrapper'
-    scripts that encapsulate the multiple-pass dll building steps used by
-    GNU-Win32 ld/gcc.)
-
-4)  Run the perl Configuration script as stated in the perl README file:
-
-	sh Configure
-
-    When confronted with this prompt:
-
-	First time through, eh?  I have some defaults handy for the
-	following systems:
-	   .
-	   .
-	   .
-	Which of these apply, if any?
-
-    Select "cygwin32".
-
-    The defaults should be OK for everything, except for the specific
-    pathnames for the cygwin32 libs, include files, installation dirs,
-    etc. on your system; answer those questions appropriately.
-
-    NOTE: On windows 95, the configuration script only stops every other
-    time for responses from the command line.  In this case you can manually
-    copy hints/cygwin32.sh to config.sh, edit config.sh for your paths, and
-    run Configure non-interactively using sh Configure -d. 
-
-5)  Run "make" as stated in the perl README file.
-
-6)  Run "make test".  Some tests will fail, but you should get around a 
-    83% success rate.  (Most failures seem to be due to Unixisms that don't
-    apply to win32.)
-
-7)  Install.  If you just run "perl installperl", it appears that perl
-    can't find itself when it forks because it changes to another directory
-    during the install process.  You can get around this by invoking the
-    install script using a full pathname for perl, such as:
-
-	/perl5.004/perl installperl
-
-    This should complete the installation process.
-
diff --git a/gnu/usr.bin/perl/README.os2 b/gnu/usr.bin/perl/README.os2
index 409c7745914..a69ea0d4ce8 100644
--- a/gnu/usr.bin/perl/README.os2
+++ b/gnu/usr.bin/perl/README.os2
@@ -809,10 +809,8 @@ Change to the directory of extraction.
 
 =head2 Application of the patches
 
-You need to apply the patches in F<./os2/diff.*> and
-F<./os2/POSIX.mkfifo> like this:
+You need to apply the patches in F<./os2/diff.*> like this:
 
-  gnupatch -p0 < os2\POSIX.mkfifo
   gnupatch -p0 < os2\diff.configure
 
 You may also need to apply the patches supplied with the binary
@@ -832,7 +830,7 @@ to EMX headers:
   +++ /emx/include/sys/stat.h	Sun Jul 12 14:11:32 1998
   @@ -53,7 +53,7 @@ struct stat
    #endif
- 
+
    #if !defined (S_IFMT)
   -#define S_IFMT   0160000  /* Mask for file type */
   +#define S_IFMT   0170000  /* Mask for file type */
@@ -939,6 +937,8 @@ The reasons for most important skipped tests are:
 
 =item F
 
+=over 4
+
 =item 18
 
 Checks C and C of C - unfortunately, HPFS
@@ -1136,7 +1136,7 @@ Really really odious function to implement. Returns absolute name of
 file which would have C if CWD were C.  C defaults to the
 current dir.
 
-=item  C
 
 Get current value of extended library search path. If C is
 present and I, works with END_LIBPATH, otherwise with
diff --git a/gnu/usr.bin/perl/README.vms b/gnu/usr.bin/perl/README.vms
index e2c0e0832ef..f6d970f05d8 100644
--- a/gnu/usr.bin/perl/README.vms
+++ b/gnu/usr.bin/perl/README.vms
@@ -1,334 +1,444 @@
-Last Revised 01-March-1999 by Dan Sugalski 
-Originally by Charles Bailey 
+If you read this file _as_is_, just ignore the equal signs on the left.
+This file is written in the POD format (see [.POD]PERLPOD.POD;1) which is
+specially designed to be readable as is.
 
-* Important safety tip
+=head1 NAME
+
+README.vms - Configuring, building, testing, and installing perl on VMS
+
+=head1 SYNOPSIS
+
+To configure, build, test, and install perl on VMS:
+
+    @ Configure
+    mms
+    mms test
+    mms install
+
+mmk may be used in place of mms in the last three steps.
+
+=head1 DESCRIPTION
+
+=head2 Important safety tip
 
 The build and install procedures have changed significantly from the 5.004
-releases! Make sure you read the "Building Perl" and "Installing Perl"
-sections before you build or install.
+releases!  Make sure you read the "Configuring the Perl Build", "Building 
+Perl", and "Installing Perl" sections of this document before you build or 
+install.
 
-Also note that, as of 5.005, an ANSI C compliant compiler is required to
-build Perl. Vax C is *not* ANSI compliant, as it died a natural death some
-time before the standard was set. Therefore Vax C will not compile perl
-5.005. Sorry about that.
+Also note that, as of Perl version 5.005 and later, an ANSI C compliant 
+compiler is required to build Perl.  VAX C is *not* ANSI compliant, as it 
+died a natural death some time before the standard was set.  Therefore 
+VAX C will not compile perl 5.005.  We are sorry about that.
 
-If you're stuck without Dec C (the Vax C license should be good for Dec C,
+If you are stuck without DEC C (the VAX C license should be good for DEC C,
 but the media charges might prohibit an upgrade), consider getting Gnu C
 instead.
 
-* Intro
+
+=head2 Introduction
 
 The VMS port of Perl is as functionally complete as any other Perl port
 (and as complete as the ports on some Unix systems). The Perl binaries
 provide all the Perl system calls that are either available under VMS or
-reasonably emulated. There are some incompatibilites in process handling
-(e.g the fork/exec model for creating subprocesses doesn't do what you
+reasonably emulated. There are some incompatibilities in process handling
+(e.g. the fork/exec model for creating subprocesses doesn't do what you
 might expect under Unix), mainly because VMS and Unix handle processes and
 sub-processes very differently.
 
-There are still some unimplemented system functions, and of coursse we
+There are still some unimplemented system functions, and of course we
 could use modules implementing useful VMS system services, so if you'd like
-to lend a hand we'd love to have you. Join the Perl Porting Team Now!
+to lend a hand we'd love to have you.  Join the Perl Porting Team Now!
 
 The current sources and build procedures have been tested on a VAX using
-Dec C, and on an AXP using Dec C. If you run into problems with
+DEC C, and on an AXP using DEC C. If you run into problems with
 other compilers, please let us know.
 
-There are issues with varions versions of Dec C, so if you're not running a
-relatively modern version, check the Dec C issues section later on in this
+There are issues with various versions of DEC C, so if you're not running a
+relatively modern version, check the "DEC C issues" section later on in this
 document.
 
-* Other required software
+=head2 Other required software
+
+In addition to VMS and DCL you will need two things:
 
-In addition to VMS, you'll need:
-        1) A C compiler. Dec C or gcc for AXP or the VAX.
-        2) A make tool. Dec's MMS (v2.6 or later), or MadGoat's free MMS
-           analog MMK (available from ftp.madgoat.com/madgoat) both work
-           just fine. Gnu Make might work, but it's been so long since
-           anyone's tested it that we're not sure. MMK's free, though, so
-           go ahead and use that.
+=over 4
+
+=item 1  A C compiler. 
+
+DEC C or gcc for VMS (AXP or VAX).
+
+=item 2  A make tool. 
+
+DEC's MMS (v2.6 or later), or MadGoat's free MMS
+analog MMK (available from ftp.madgoat.com/madgoat) both work
+just fine. Gnu Make might work, but it's been so long since
+anyone's tested it that we're not sure.  MMK is free though, so
+go ahead and use that.
+
+=back
+
+=head2 Additional software that is optional
 
 You may also want to have on hand:
-        1) UNZIP.EXE for VMS available from a number of web/ftp sites.
-    http://www.cdrom.com/pub/infozip/UnZip.html
-    http://www.openvms.digital.com/cd/INFO-ZIP/
-    ftp://ftp.digital.com/pub/VMS/
-    ftp://ftp.openvms.digital.com/
-    ftp://ftp.madgoat.com/madgoat/
-    ftp://ftp.wku.edu/vms/
-        2) GUNZIP/GZIP.EXE for VMS available from a number of web/ftp sites.
+
+=over 4
+
+=item 1  GUNZIP/GZIP.EXE for VMS 
+
+A de-compressor for *.gz and *.tgz files available from a number 
+of web/ftp sites.
+
     http://www.fsf.org/order/ftp.html
     ftp://ftp.uu.net/archive/systems/gnu/diffutils*.tar.gz
     ftp://gatekeeper.dec.com/pub/GNU/diffutils*.tar.gz
     ftp://ftp.gnu.org/pub/gnu/diffutils*.tar.gz 
     http://www.openvms.digital.com/cd/GZIP/
     ftp://ftp.digital.com/pub/VMS/
-        3) VMS TAR also available from a number of web/ftp sites.
+
+=item 2  VMS TAR 
+
+For reading and writing unix tape archives (*.tar files).  Vmstar is also 
+available from a number of web/ftp sites.
+
     ftp://ftp.lp.se/vms/
     http://www.openvms.digital.com/cd/VMSTAR/
     ftp://ftp.digital.com/pub/VMS/
+
+=item 3  UNZIP.EXE for VMS
+
+A combination decompressor and archive reader/writer for *.zip files.  
+Unzip is available from a number of web/ftp sites.
+
+    http://www.cdrom.com/pub/infozip/UnZip.html
+    http://www.openvms.digital.com/cd/INFO-ZIP/
+    ftp://ftp.digital.com/pub/VMS/
+    ftp://ftp.openvms.digital.com/
+    ftp://ftp.madgoat.com/madgoat/
+    ftp://ftp.wku.edu/vms/
+
+=item 4  MOST
+
+Most is an optional pager that is convenient to use with perldoc (unlike 
+TYPE/PAGE, MOST can go forward and backwards in a document and supports 
+regular expression searching).  Most builds with the slang 
+library on VMS.  Most and slang are available from:
+
+    ftp://space.mit.edu/pub/davis/
+    ftp://ftp.wku.edu/vms/narnia/most.zip
+
+=back
+
 Please note that UNZIP and GUNZIP are not the same thing (they work with
-different formats).  Most of the useful files from CPAN (the Comprehensive
-Perl Archive Network) are in .tar.gz format (this includes copies of the
+different formats).  Many of the useful files from CPAN (the Comprehensive
+Perl Archive Network) are in *.tar.gz format (this includes copies of the
 source code for perl as well as modules and scripts that you may wish to
 add later) hence you probably want to have GUNZIP.EXE and VMSTAR.EXE on
 your VMS machine.
 
-If you want to include socket support, you'll need a TCP stack and either
-Dec C, or socket libraries. See the Socket Support topic for more details.
+If you want to include socket support, you'll need a TCP/IP stack and either
+DEC C, or socket libraries.  See the "Socket Support (optional)" topic 
+for more details.
 
-* Building Perl
-
-Building perl has two steps, configuration and compilation.
+=head1 Configuring the Perl build
 
 To configure perl (a necessary first step), issue the command
 
-@CONFIGURE
+   @ Configure
+
+from the top of an unpacked perl source directory.  You will be asked a 
+series of questions, and the answers to them (along with the capabilities 
+of your C compiler and network stack) will determine how perl is custom 
+built for your machine.
+
+If you have multiple C compilers installed, you'll have your choice of
+which one to use.  Various older versions of DEC C had some caveats, so if
+you're using a version older than 5.2, check the "DEC C Issues" section.
+
+If you have any symbols or logical names in your environment that may 
+interfere with the build or regression testing of perl then configure.com 
+will try to warn you about them.  If a logical name is causing
+you trouble but is in an LNM table that you do not have write access to
+then try defining your own to a harmless equivalence string in a table 
+such that it is resolved before the other (e.g. if TMP is defined in the
+SYSTEM table then try DEFINE TMP "NL:" or somesuch in your process table) 
+otherwise simply deassign the dangerous logical names.  The potentially 
+troublesome logicals and symbols are:
+
+    TMP  "LOGICAL"
+    LIB  "LOGICAL"
+    T    "LOGICAL"
+    FOO  "LOGICAL"
+    EXT  "LOGICAL"
+    TEST "SYMBOL"
+
+As a handy shortcut, the command:
 
-from the top of an unpacked perl directory. You'll be asked a series of
-questions, and the answers to them (along with the capabilities of your C
-compiler and network stack) will determine how perl's built.
+    @ Configure "-des"
 
-If you've got multiple C compilers installed, you'll have your choice of
-which one to use. Various older versions of Dec C had some gotchas, so if
-you're using a version older than 5.2, check the Dec C Issues section.
+(note the quotation marks and case) will choose reasonable defaults 
+automatically (it takes DEC C over Gnu C, DEC C sockets over SOCKETSHR 
+sockets, and either over no sockets).  More help with configure.com is 
+available from:
 
-The configuration script will print out, at the very end, the MMS or MMK
-command you need to compile perl. Issue it (exactly as printed) to start
-the build.
+    @ Configure "-h"
 
-Once you issue your MMS command, sit back and wait. Perl should build and
-link without a problem. If it doesn't, check the Gotchas to watch out for
-section. If that doesn't help, send some mail to the VMSPERL mailing list.
-Instructions are in the Mailing Lists section.
+See the "Changing compile-time options (optional)" section below to learn
+even more details about how to influence the outcome of the important 
+configuration step.  If you find yourself reconfiguring and rebuilding 
+then be sure to also follow the advice in the "Cleaning up and starting 
+fresh (optional)" and the checklist of items in the "CAVEATS" sections 
+below.
 
-As a handy shortcut, the command:
+=head2 Changing compile-time options (optional)
 
-@CONFIGURE "-des"
+Most of the user definable features of Perl are enabled or disabled in
+[.VMS]CONFIG.VMS. There is code in there to Do The Right Thing, but that 
+may end up being the wrong thing for you.  Make sure you understand what 
+you are doing since inappropriate changes to CONFIG.VMS can render perl 
+unbuildable.
 
-(note the quotation marks and case) will choose reasonable defaults. (It 
-takes Dec C over Gnu C, Dec C sockets over SOCKETSHR sockets, and either 
-over no sockets)
+Odds are that there's nothing here to change, unless you're on a version of
+VMS later than 6.2 and DEC C later than 5.6.  Even if you are, the correct
+values will still be chosen, most likely.  Poking around here should be
+unnecessary.
 
-* Testing Perl
+The one exception is the various *DIR install locations. Changing those
+requires changes in genconfig.pl as well.  Be really careful if you need to
+change these, as they can cause some fairly subtle problems.
 
-Once Perl has built cleanly, you need to test it to make sure things work.
-This step is very important--there are always things that can go wrong
-somehow and get you a dysfunctional Perl.
+=head2 Socket Support (optional)
+
+Perl includes a number of functions for IP sockets, which are available if
+you choose to compile Perl with socket support.  Since IP networking is an 
+optional addition to VMS, there are several different IP stacks available.  
+How well integrated they are into the system depends on the stack, your 
+version of VMS, and the version of your C compiler.
+
+The most portable solution uses the SOCKETSHR library. In combination with
+either UCX or NetLib, this supports all the major TCP stacks (Multinet,
+Pathways, TCPWare, UCX, and CMU) on all versions of VMS Perl runs on, with
+all the compilers on both VAX and Alpha. The socket interface is also
+consistent across versions of VMS and C compilers. It has a problem with
+UDP sockets when used with Multinet, though, so you should be aware of
+that.
+
+The other solution available is to use the socket routines built into DEC
+C. Which routines are available depend on the version of VMS you're
+running, and require proper UCX emulation by your TCP/IP vendor.
+Relatively current versions of Multinet, TCPWare, Pathway, and UCX all
+provide the required libraries--check your manuals or release notes to see
+if your version is new enough.
+
+=head1 Building Perl
+
+The configuration script will print out, at the very end, the MMS or MMK
+command you need to compile perl.  Issue it (exactly as printed) to start
+the build.  
+
+Once you issue your MMS or MMK command, sit back and wait.  Perl should 
+compile and link without a problem.  If a problem does occur check the 
+"CAVEATS" section of this document.  If that does not help send some 
+mail to the VMSPERL mailing list.  Instructions are in the "Mailing Lists" 
+section of this document.
+
+=head1 Testing Perl
+
+Once Perl has built cleanly you need to test it to make sure things work.
+This step is very important since there are always things that can go wrong
+somehow and yield a dysfunctional Perl for you.
 
 Testing is very easy, though, as there's a full test suite in the perl
-distribution. To run the tests, enter the *exact* MMS line you used to
+distribution.  To run the tests, enter the *exact* MMS line you used to
 compile Perl and add the word "test" to the end, like this:
 
-Compile Command:
+If the compile command was:
 
-$MMS
+    MMS
 
-Test Command:
+then the test command ought to be:
 
-$MMS test
+    MMS test
 
-MMS will run all the tests. This may take some time, as there are a lot of
-tests. If any tests fail, there will be a note made on-screen. At the end
-of all the tests, a summary of the tests, the number passed and failed, and
-the time taken will be displayed.
+MMS (or MMK) will run all the tests.  This may take some time, as there are 
+a lot of tests.  If any tests fail, there will be a note made on-screen. 
+At the end of all the tests, a summary of the tests, the number passed and 
+failed, and the time taken will be displayed.
 
-If any tests fail, it means something's wrong with Perl. If the test suite
+If any tests fail, it means something is wrong with Perl. If the test suite
 hangs (some tests can take upwards of two or three minutes, or more if
 you're on an especially slow machine, depending on your machine speed, so
 don't be hasty), then the test *after* the last one displayed failed. Don't
 install Perl unless you're confident that you're OK. Regardless of how
 confident you are, make a bug report to the VMSPerl mailing list.
 
-If one or more tests fail, you can get more info on the failure by issuing
-this command sequence:
+If one or more tests fail, you can get more information on the failure by 
+issuing this command sequence:
 
-$ @[.VMS]TEST .typ "-v" [.subdir]test.T
+    @ [.VMS]TEST .typ "" "-v" [.subdir]test.T
 
 where ".typ" is the file type of the Perl images you just built (if you
 didn't do anything special, use .EXE), and "[.subdir]test.T" is the test
 that failed. For example, with a normal Perl build, if the test indicated
 that [.op]time failed, then you'd do this:
 
-$ @[.VMS]TEST .EXE "-v" [.OP]TIME.T
+    @ [.VMS]TEST .EXE "" "-v" [.OP]TIME.T
 
 When you send in a bug report for failed tests, please include the output
 from this command, which is run from the main source directory:
 
-MCR []MINIPERL "-V"
+    MCR []MINIPERL "-V"
+
+Note that -"V" really is a capital V in double quotes. This will dump out a
+couple of screens worth of configuration information, and can help us 
+diagnose the problem.  If (and only if) that did not work then try enclosing 
+the output of:
+
+    MMS printconfig
 
-Note that "-V" really is a capital V in double quotes. This will dump out a
-couple of screens worth of config info, and can help us diagnose the problem.
 If (and only if) that did not work then try enclosing the output of:
 
-@[.vms]myconfig
+    @ [.vms]myconfig
 
-* Cleaning up and starting fresh
+You may also be asked to provide your C compiler version ("CC/VERSION NL:" 
+with DEC C, "gcc --version" with GNU CC).  To obtain the version of MMS or 
+MMK you are running try "MMS/ident" or "MMK /ident".  The GNU make version 
+can be identified with "make --version".
+
+=head2 Cleaning up and starting fresh (optional)
 
 If you need to recompile from scratch, you have to make sure you clean up
-first. There's a procedure to do it--enter the *exact* MMS line you used to
-compile and add "realclean" at the end, like this:
+first.  There is a procedure to do it--enter the *exact* MMS line you used 
+to compile and add "realclean" at the end, like this:
 
-Compile Command:
+if the compile command was:
 
-$MMS
+    MMS
 
-Cleanup Command:
+then the cleanup command ought to be:
 
-$MMS realclean
+    MMS realclean
 
-If you don't do this, things may behave erratically. They might not, too,
-so it's best to be sure and do it.
+If you do not do this things may behave erratically during the subsequent 
+rebuild attempt.  They might not, too, so it is best to be sure and do it.
 
-* Installing Perl
+=head1 Installing Perl
 
 There are several steps you need to take to get Perl installed and
 running.
 
-1) Create a directory somewhere and define the concealed logical PERL_ROOT
-to point to it. For example, DEFINE/TRANS=(CONC,TERM) PERL_ROOT dka200:[perl.]
+=over 4
+
+=item 1
+
+Check your default file protections with
+
+     SHOW PROTECTION /DEFAULT
 
-2) Run the install script via:
+and adjust if necessary with SET PROTECTION=(code)/DEFAULT.
 
-MMS install
+=item 2
+
+Create a directory somewhere and either run @perl_setup or 
+define the concealed logical PERL_ROOT to point to it by hand. 
+For example, 
+
+    CREATE/DIRECTORY dka200:[perl]
+    @PERL_SETUP
+    SHOW LOGICAL PERL_ROOT
+
+or,
+
+    CREATE/DIRECTORY dka200:[perl]
+    DEFINE/TRANS=(CONC,TERM) PERL_ROOT dka200:[perl.]
+
+
+=item 3
+
+Run the install script via:
+
+    MMS install
 
 or
 
-MMK install
+    MMK install
 
 If for some reason it complains about target INSTALL being up to date,
 throw a /FORCE switch on the MMS or MMK command.
 
-The script [.VMS]PERL_SETUP.COM that is written by CONFIGURE.COM 
-will take care of most of the following:
+=back
 
-3) Either define the symbol PERL somewhere, such as
-SYS$MANAGER:SYLOGIN.COM, to be "PERL :== $PERL_ROOT:[000000]PERL.EXE", or
-install Perl into DCLTABLES.EXE (Check out the section "Installing Perl
-into DCLTABLES" for more info), or put the image in a directory that's in
-your DCL$PATH (if you're using VMS 6.2 or higher).
+The DCL script PERL_SETUP.COM that is written by CONFIGURE.COM
+will help you with the definition of PERL_ROOT, PERLSHR and the PERL
+Foreign symbol.  Take a look at PERL_SETUP.COM and modify it if you want 
+to.  Then copy PERL_SETUP.COM to a place accessible to your perl users.  
+For example:
 
-4) Either define the logical name PERLSHR somewhere 
-(such as in PERL_SETUP.COM) like so:
-DEFINE/NOLOG PERLSHR PERL_ROOT:[000000]PERLSHR.EXE
-or copy perl_root:[000000]perlshr.exe sys$share:.
+    COPY PERL_SETUP.COM SYS$LIBRARY: 
 
-5) Optionally define the command PERLDOC as 
-PERLDOC == "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB.POD]PERLDOC.COM -t"
-Note that if you wish to use most as a pager please see
-ftp://space.mit.edu/pub/davis/ for both most and slang (or perhaps
-ftp://ftp.wku.edu/vms/narnia/most.zip ).
+If you want to have everyone on the system have access to perl
+then add a line that reads
 
-6) Optionally define the command PERLBUG (the Perl bug report generator) as
-PERLBUG == "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB]PERLBUG.COM"
+    $ @sys$library:perl_setup
 
-7) Optionally define the command POD2MAN (Converts POD files to nroff
-source suitable for converting to man pages. Also quiets complaints during
-module builds) as
+to SYS$MANAGER:SYLOGIN.COM.
 
-DEFINE/NOLOG POD2MAN PERL_ROOT:[LIB.POD]POD2MAN.COM
-POD2MAN == "$PERL_ROOT:[000000]PERL POD2MAN"
+Two alternatives to the foreign symbol would be to install PERL into 
+DCLTABLES.EXE (Check out the section "Installing Perl into DCLTABLES 
+(optional)" for more information), or put the image in a 
+directory that's in your DCL$PATH (if you're using VMS V6.2 or higher).
 
-8) Optionally define the command POD2TEXT (Converts POD files to text,
-which is required for perldoc -f to work properly) as
+An alternative to having PERL_SETUP.COM define the PERLSHR logical name
+is to simply copy it into the system shareable library directory with:
 
-DEFINE/NOLOG POD2TEXT PERL_ROOT:[LIB.POD]POD2TEXT.COM
-POD2TEXT == "$PERL_ROOT:[000000]PERL POD2TEXT"
+    copy perl_root:[000000]perlshr.exe sys$share:
 
-In all these cases, if you've got PERL defined as a foreign command, you
-can replace $PERL_ROOT:[000000]PERL with ''perl'. If you've installed perl
-into DCLTABLES, replace it with just perl.
+See also the "INSTALLing images (optional)" section.
 
-* Installing Perl into DCLTABLES
+=head2 Installing Perl into DCLTABLES (optional)
 
 Execute the following command file to define PERL as a DCL command.
-You'll need CMKRNL priv to install the new dcltables.exe.
-
-$ create perl.cld
-!
-! modify to reflect location of your perl.exe
-!
-define verb perl
-  image perl_root:[000000]perl.exe
-  cliflags (foreign)
-$!
-$ set command perl /table=sys$common:[syslib]dcltables.exe -
- /output=sys$common:[syslib]dcltables.exe
-$ install replace sys$common:[syslib]dcltables.exe
-$ exit
-
-* Changing compile-time things
-
-Most of the user-definable features of Perl are enabled or disabled in
-[.VMS]CONFIG.VMS. There's code in there to Do The Right Thing, but that may
-end up being the wrong thing for you. Make sure you understand what you're
-doing, since changes here can get you a busted perl.
-
-Odds are that there's nothing here to change, unless you're on a version of
-VMS later than 6.2 and Dec C later than 5.6. Even if you are, the correct
-values will still be chosen, most likely. Poking around here should be
-unnecessary.
-
-The one exception is the various *DIR install locations. Changing those
-requires changes in genconfig.pl as well. Be really careful if you need to
-change these, as they can cause some fairly subtle problems.
-
-* INSTALLing images
+You'll need CMKRNL privilege to install the new dcltables.exe.
+
+    $ create perl.cld
+    !
+    ! modify to reflect location of your perl.exe
+    !
+    define verb perl
+      image perl_root:[000000]perl.exe
+      cliflags (foreign)
+    $!
+    $ set command perl /table=sys$common:[syslib]dcltables.exe -
+     /output=sys$common:[syslib]dcltables.exe
+    $ install replace sys$common:[syslib]dcltables.exe
+    $ exit
+
+=head2 INSTALLing images (optional)
 
 On systems that are using perl quite a bit, and particularly those with 
 minimal RAM, you can boost the performance of perl by INSTALLing it as
-a known image.  PERLSHR.EXE is typically larger than 1500 blocks
+a known image.  PERLSHR.EXE is typically larger than 2000 blocks
 and that is a reasonably large amount of IO to load each time perl is 
 invoked. 
 
    INSTALL ADD PERLSHR/SHARE
+   INSTALL ADD PERL/HEADER
 
 should be enough for PERLSHR.EXE (/share implies /header and /open), 
 while /HEADER should do for PERL.EXE (perl.exe is not a shared image).
 
-If your code 'use's modules, check to see if there's an executable for
-them, too. In the base perl build, POSIX, IO, Fcntl, Opcode, SDBM_File,
+If your code 'use's modules, check to see if there is a shareable image for
+them, too.  In the base perl build, POSIX, IO, Fcntl, Opcode, SDBM_File,
 DCLsym, and Stdio all have shared images that can be installed /SHARE.
 
-How much of a win depends on your memory situation, but if you're firing
+How much of a win depends on your memory situation, but if you are firing
 off perl with any regularity (like more than once every 20 seconds or so)
-it's probably a win.
+it is probably beneficial to INSTALL at least portions of perl.
 
 While there is code in perl to remove privileges as it runs you are advised
 to NOT INSTALL PERL.EXE with PRIVs!
 
-* Extra things in the Perl distribution
-
-In addition to the standard stuff that gets installed, there are two
-optional extensions, DCLSYM and STDIO, that are handy. Instructions for
-these two modules are in [.VMS.EXT.DCLSYM] and [.VMS.EXT.STDIO],
-respectively.  They are built automatically for versions of perl >= 5.005.
-
-* Socket Support
-
-Perl includes a number of functions for IP sockets, which are available if
-you choose to compile Perl with socket support (see the section Compiling
-Perl for more info on selecting a socket stack).  Since IP networking is an
-optional addition to VMS, there are several different IP stacks
-available. How well integrated they are into the system depends on the
-stack, your version of VMS, and the version of your C compiler.
-
-The most portable solution uses the SOCKETSHR library. In combination with
-either UCX or NetLib, this supports all the major TCP stacks (Multinet,
-Pathways, TCPWare, UCX, and CMU) on all versions of VMS Perl runs on, with
-all the compilers on both VAX and Alpha. The socket interface is also
-consistent across versions of VMS and C compilers. It has a problem with
-UDP sockets when used with Multinet, though, so you should be aware of
-that.
-
-The other solution available is to use the socket routines built into Dec
-C. Which routines are available depend on the version of VMS you're
-running, and require proper UCX emulation by your TCP/IP vendor.
-Relatively current versions of Multinet, TCPWare, Pathway, and UCX all
-provide the required libraries--check your manuals or release notes to see
-if your version is new enough.
-
-* Reporting Bugs
+=head1 Reporting Bugs
 
 If you come across what you think might be a bug in Perl, please report
 it. There's a script in PERL_ROOT:[UTILS], perlbug, that walks you through
@@ -336,94 +446,175 @@ the process of creating a bug report. This script includes details of your
 installation, and is very handy. Completed bug reports should go to
 perlbug@perl.com.
 
-* Gotchas to watch out for
+=head1 CAVEATS
 
 Probably the single biggest gotcha in compiling Perl is giving the wrong
-switches to MMS/MMK when you build. Use *exactly* what the configure script
-prints!
-
-The next big gotcha is directory depth. Perl can create directories four
-and five levels deep during the build, so you don't have to be too deep to
-start to hit the RMS 8 level point. It's best to do a
-$DEFINE/TRANS=(CONC,TERM) PERLSRC disk:[dir.dir.dir.perldir.]"  (note the
-trailing period) and $SET DEFAULT PERLSRC:[000000] before building. Perl
-modules can be just as bad (or worse), so watch out for them, too. The
-configuration script will warn if it thinks you're too deep (at least on 
-versions of VMS prior to 7.2).
-
-Finally, the third thing that bites people is leftover pieces from a failed
-build. If things go wrong, make sure you do a "(MMK|MMS|make) realclean"
+switches to MMS/MMK when you build. Use *exactly* what the configure.com 
+script prints!
+
+The next big gotcha is directory depth.  Perl can create directories four,
+five, or even six levels deep during the build, so you don't have to be 
+too deep to start to hit the RMS 8 level limit (for versions of VMS prior 
+to V7.2 and even with V7.2 on the VAX).  It is best to do
+
+    DEFINE/TRANS=(CONC,TERM) PERLSRC "disk:[dir.dir.dir.perldir.]"
+    SET DEFAULT PERLSRC:[000000]
+
+before building in cases where you have to unpack the distribution so deep
+(note the trailing period in the definition of PERLSRC).  Perl modules 
+from CPAN can be just as bad (or worse), so watch out for them, too. Perl's
+configuration script will warn if it thinks you are too deep (at least on 
+a VAX or on Alpha versions of VMS prior to 7.2).  But MakeMaker will not 
+warn you if you start out building a module too deep in a directory.
+
+Be sure that the process that you use to build perl has a PGFLQ greater
+than 100000.  Be sure to have a correct local time zone to UTC offset
+defined (in seconds) in the logical name SYS$TIMEZONE_DIFFERENTIAL before
+running the regression test suite.  The SYS$MANAGER:UTC$CONFIGURE_TDF.COM 
+procedure will help you set that logical for your system but may require 
+system privileges.  For example, a location 5 hours west of UTC (such as 
+the US East coast while not on daylight savings time) would have:
+
+    DEFINE SYS$TIMEZONE_DIFFERENTIAL "-18000"
+
+A final thing that causes trouble is leftover pieces from a failed
+build.  If things go wrong make sure you do a "(MMK|MMS|make) realclean"
 before you rebuild.
 
-* Dec C issues
+=head2 DEC C issues
 
-Note to DECC users: Some early versions (pre-5.2, some pre-4. If you're Dec
-C 5.x or higher, with current patches if anym you're fine) of the DECCRTL
+Note to DEC C users: Some early versions (pre-5.2, some pre-4. If you're DEC
+C 5.x or higher, with current patches if any, you're fine) of the DECCRTL
 contained a few bugs which affect Perl performance:
-    - Newlines are lost on I/O through pipes, causing lines to run together.
-      This shows up as RMS RTB errors when reading from a pipe.  You can
-      work around this by having one process write data to a file, and
-      then having the other read the file, instead of the pipe.  This is
-      fixed in version 4 of DECC.
-    - The modf() routine returns a non-integral value for some values above
-      INT_MAX; the Perl "int" operator will return a non-integral value in
-      these cases.  This is fixed in version 4 of DECC.
-    - On the AXP, if SYSNAM privilege is enabled, the CRTL chdir() routine
-      changes the process default device and directory permanently, even
-      though the call specified that the change should not persist after
-      Perl exited.  This is fixed by DEC CSC patch AXPACRT04_061.
-
-* Mailing Lists
-
-There are several mailing lists available to the Perl porter. For VMS
+
+=over 4
+
+=item - pipes
+
+Newlines are lost on I/O through pipes, causing lines to run together.
+This shows up as RMS RTB errors when reading from a pipe.  You can
+work around this by having one process write data to a file, and
+then having the other read the file, instead of the pipe.  This is
+fixed in version 4 of DEC C.
+
+=item - modf()
+
+The modf() routine returns a non-integral value for some values above
+INT_MAX; the Perl "int" operator will return a non-integral value in
+these cases.  This is fixed in version 4 of DEC C.
+
+=item - ALPACRT ECO
+
+On the AXP, if SYSNAM privilege is enabled, the CRTL chdir() routine
+changes the process default device and directory permanently, even
+though the call specified that the change should not persist after
+Perl exited.  This is fixed by DEC CSC patch ALPACRT04_061 or later.
+See also:
+
+    http://ftp.service.digital.com/patches/.new/openvms.html
+
+=back
+
+Please note that in later versions "DEC C" may also be known as 
+"Compaq C".
+
+=head2 GNU issues
+
+It has been a while since the GNU utilities such as GCC or GNU make
+were used to build perl on VMS.  Hence they may require a great deal
+of source code modification to work again.
+
+    http://slacvx.slac.stanford.edu/HELP/GCC
+    http://www.progis.de/
+    http://vms.gnu.org/
+    http://www.lp.se/products/gnu.html
+
+=head1 Mailing Lists
+
+There are several mailing lists available to the Perl porter.  For VMS
 specific issues (including both Perl questions and installation problems)
-there is the VMSPERL mailing list. It's usually a low-volume (10-12
+there is the VMSPERL mailing list.  It is usually a low-volume (10-12
 messages a week) mailing list.
 
-The subscription address is VMSPERL-REQUEST@NEWMAN.UPENN.EDU. Send a mail
-message with just the words SUBSCRIBE VMSPERL in the body of the message.
-
-The VMSPERL mailing list address is VMSPERL@NEWMAN.UPENN.EDU. Any mail
-sent there gets echoed to all subscribers of the list.
+The subscription address is MAJORDOMO@PERL.ORG.  Send a mail message with 
+just the words SUBSCRIBE VMSPERL in the body of the message.
+   
+The VMSPERL mailing list address is VMSPERL@PERL.ORG.  Any mail sent there
+gets echoed to all subscribers of the list.  There is a searchable archive of
+the list on the web at:
 
+    http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/
+   
 To unsubscribe from VMSPERL send the message UNSUBSCRIBE VMSPERL to
-VMSPERL-REQUEST@NEWMAN.UPENN.EDU.  Be sure to do so from the subscribed 
-account that you are cancelling.
+MAJORDOMO@PERL.ORG.  Be sure to do so from the subscribed account that 
+you are canceling.
+
+=head2 Web sites
+
+Vmsperl pages on the web include:
 
+    http://www.sidhe.org/vmsperl/index.html
+    http://duphy4.physics.drexel.edu/pub/cgi_info.htmlx
+    http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/
+    http://www.cpan.org/modules/by-module/VMS/
+    http://nucwww.chem.sunysb.edu/htbin/software_list.cgi
+    http://www.best.com/~pvhp/vms/
+    http://bkfug.kfunigraz.ac.at/~binder/perl.html
 
-* Acknowledgements
+=head1 SEE ALSO
+
+Perl information for users and programmers about the port of perl to VMS is
+available from the [.VMS]PERLVMS.POD file that gets installed as L.
+For administrators the perlvms document also includes a detailed discussion 
+of extending vmsperl with CPAN modules after Perl has been installed.
+
+=head1 AUTHORS
+
+Last revised 25-February-2000 by Peter Prymmer pvhp@best.com.  
+Revised 27-October-1999 by Craig Berry craig.berry@metamorgs.com.  
+Revised 01-March-1999 by Dan Sugalski dan@sidhe.org.  
+Originally by Charles Bailey bailey@newman.upenn.edu.
+
+=head1 ACKNOWLEDGEMENTS
 
 A real big thanks needs to go to Charles Bailey
-, who is ultimately responsible for Perl 5.004
+bailey@newman.upenn.edu, who is ultimately responsible for Perl 5.004
 running on VMS. Without him, nothing the rest of us have done would be at
 all important.
 
 There are, of course, far too many people involved in the porting and testing
 of Perl to mention everyone who deserves it, so please forgive us if we've
 missed someone.  That said, special thanks are due to the following:
-  Tim Adye 
+
+  Tim Adye T.J.Adye@rl.ac.uk
      for the VMS emulations of getpw*()
-  David Denholm 
+  David Denholm denholm@conmat.phys.soton.ac.uk
      for extensive testing and provision of pipe and SocketShr code,
-  Mark Pizzolato 
+  Mark Pizzolato mark@infocomm.com
      for the getredirection() code
-  Rich Salz 
+  Rich Salz rsalz@bbn.com
      for readdir() and related routines
-  Peter Prymmer  or 
+  Peter Prymmer pvhp@best.com 
      for extensive testing, as well as development work on
      configuration and documentation for VMS Perl,
-  Dan Sugalski 
+  Dan Sugalski dan@sidhe.org
      for extensive contributions to recent version support,
      development of VMS-specific extensions, and dissemination
      of information about VMS Perl,
   the Stanford Synchrotron Radiation Laboratory and the
      Laboratory of Nuclear Studies at Cornell University for
      the opportunity to test and develop for the AXP,
+  John Hasstedt John.Hasstedt@sunysb.edu
+     for VAX VMS V7.2 support
+
 and to the entire VMSperl group for useful advice and suggestions.  In
 addition the perl5-porters deserve credit for their creativity and
 willingness to work with the VMS newcomers.  Finally, the greatest debt of
-gratitude is due to Larry Wall , for having the ideas which
+gratitude is due to Larry Wall larry@wall.org, for having the ideas which
 have made our sleepless nights possible.
 
 Thanks,
 The VMSperl group
+
+=cut
+
diff --git a/gnu/usr.bin/perl/README.win32 b/gnu/usr.bin/perl/README.win32
index 69004adb5d3..e5b65002e86 100644
--- a/gnu/usr.bin/perl/README.win32
+++ b/gnu/usr.bin/perl/README.win32
@@ -8,13 +8,8 @@ perlwin32 - Perl under Win32
 
 =head1 SYNOPSIS
 
-These are instructions for building Perl under Windows NT (versions
-3.51 or 4.0).  Currently, this port is reported to build
-under Windows95 using the 4DOS shell--the default shell that infests
-Windows95 will not work (see below).  Note this caveat is only about
-B perl.  Once built, you should be able to B it on
-either Win32 platform (modulo the problems arising from the inferior
-command shell).
+These are instructions for building Perl under Windows (9x, NT and
+2000).
 
 =head1 DESCRIPTION
 
@@ -32,7 +27,7 @@ particular, you can safely ignore any information that talks about
 "Configure".
 
 You may also want to look at two other options for building
-a perl that will work on Windows NT:  the README.cygwin32 and
+a perl that will work on Windows NT:  the README.cygwin and
 README.os2 files, which each give a different set of rules to build
 a Perl that will work on Win32 platforms.  Those two methods will
 probably enable you to build a more Unix-compatible perl, but you
@@ -47,11 +42,11 @@ following compilers:
 
       Borland C++		version 5.02 or later
       Microsoft Visual C++	version 4.2 or later
-      Mingw32 with EGCS		versions 1.0.2, 1.1
-      Mingw32 with GCC		version 2.8.1
+      Mingw32 with GCC		version 2.95.2 or better
 
-The last two of these are high quality freeware compilers.  Support
-for them is still experimental.
+The last of these is a high quality freeware compiler.  Support
+for it is still experimental.  (Older versions of GCC are known
+not to work.)
 
 This port currently supports MakeMaker (the set of modules that
 is used to build extensions to perl).  Therefore, you should be
@@ -62,39 +57,54 @@ See L below for general hints about this.
 
 =over 4
 
+=item Make
+
+You need a "make" program to build the sources.  If you are using
+Visual C++ under Windows NT or 2000, nmake will work.  All other
+builds need dmake.
+
+dmake is a freely available make that has very nice macro features
+and parallelability.
+
+A port of dmake for Windows is available from:
+
+    http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip
+
+(This is a fixed version of original dmake sources obtained from
+http://www.wticorp.com/dmake/.  As of version 4.1PL1, the original
+sources did not build as shipped, and had various other problems.
+A patch is included in the above fixed version.)
+
+Fetch and install dmake somewhere on your path (follow the instructions
+in the README.NOW file).
+
 =item Command Shell
 
 Use the default "cmd" shell that comes with NT.  Some versions of the
 popular 4DOS/NT shell have incompatibilities that may cause you trouble.
 If the build fails under that shell, try building again with the cmd
-shell.  The Makefile also has known incompatibilites with the "command.com"
-shell that comes with Windows95, so building under Windows95 should
-be considered "unsupported".  However, there have been reports of successful
-build attempts using 4DOS/NT version 6.01 under Windows95, using dmake, but
-your mileage may vary.
+shell.
 
-The surest way to build it is on WindowsNT, using the cmd shell.
+The nmake Makefile also has known incompatibilites with the
+"command.com" shell that comes with Windows 9x.  You will need to
+use dmake and makefile.mk to build under Windows 9x.
+
+The surest way to build it is on Windows NT, using the cmd shell.
 
 Make sure the path to the build directory does not contain spaces.  The
 build usually works in this circumstance, but some tests will fail.
 
 =item Borland C++
 
-If you are using the Borland compiler, you will need dmake, a freely
-available make that has very nice macro features and parallelability.
+If you are using the Borland compiler, you will need dmake.
 (The make that Borland supplies is seriously crippled, and will not
 work for MakeMaker builds.)
 
-A port of dmake for win32 platforms is available from:
-
-    http://www-personal.umich.edu/~gsar/dmake-4.1-win32.zip
-
-Fetch and install dmake somewhere on your path (follow the instructions
-in the README.NOW file).
+See L/"Make"> above.
 
 =item Microsoft Visual C++
 
-The NMAKE that comes with Visual C++ will suffice for building.
+The nmake that comes with Visual C++ will suffice for building.
 You will need to run the VCVARS32.BAT file usually found somewhere
 like C:\MSDEV4.2\BIN.  This will set your build environment.
 
@@ -105,26 +115,19 @@ and edit win32/config.vc to change "make=nmake" into "make=dmake".  The
 latter step is only essential if you want to use dmake as your default
 make for building extensions using MakeMaker.
 
-=item Mingw32 with EGCS or GCC
+=item Mingw32 with GCC
 
-ECGS binaries can be downloaded from:
+GCC-2.95.2 binaries can be downloaded from:
 
     ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/
 
-GCC-2.8.1 binaries are available from:
+The GCC-2.95.2 bundle comes with Mingw32 libraries and headers.
 
-    http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/
+Make sure you install the binaries that work with MSVCRT.DLL as indicated
+in the README for the GCC bundle.  You may need to set up a few environment
+variables (usually run from a batch file).
 
-You only need either one of those, not both.  Both bundles come with
-Mingw32 libraries and headers.  While both of them work to build perl,
-the EGCS binaries are currently favored by the maintainers, since they
-come with more up-to-date Mingw32 libraries.
-
-Make sure you install the binaries as indicated in the web sites
-above.  You will need to set up a few environment variables (usually
-run from a batch file).
-
-You also need dmake.  See L above on how to get it.
+You also need dmake.  See L above on how to get it.
 
 =back
 
@@ -136,47 +139,28 @@ You also need dmake.  See L above on how to get it.
 
 Make sure you are in the "win32" subdirectory under the perl toplevel.
 This directory contains a "Makefile" that will work with
-versions of NMAKE that come with Visual C++, and a dmake "makefile.mk"
+versions of nmake that come with Visual C++, and a dmake "makefile.mk"
 that will work for all supported compilers.  The defaults in the dmake
-makefile are setup to build using the Borland compiler.
+makefile are setup to build using the GCC compiler.
 
 =item *
 
 Edit the makefile.mk (or Makefile, if using nmake) and change the values
 of INST_DRV and INST_TOP.   You can also enable various build
-flags.
-
-Beginning with version 5.005, there is experimental support for building
-a perl interpreter that supports the Perl Object abstraction (courtesy
-ActiveState Tool Corp.)  PERL_OBJECT uses C++, and the binaries are
-therefore incompatible with the regular C build.  However, the
-PERL_OBJECT build does provide something called the C-API, for linking
-it with extensions that won't compile under PERL_OBJECT. Using the C_API
-is typically requested through:
-
-    perl Makefile.PL CAPI=TRUE
-
-PERL_OBJECT requires VC++ 5.0 (Service Pack 3 recommended) or later. It
-is not yet supported under GCC or EGCS.  WARNING:  Binaries built with
-PERL_OBJECT enabled are B compatible with binaries built without.
-Perl installs PERL_OBJECT binaries under a distinct architecture name,
-so they B coexist, though.
-
-Beginning with version 5.005, there is experimental support for building
-a perl interpreter that is capable of native threading.  Binaries built
-with thread support enabled are also incompatible with the vanilla C
-build.  WARNING:  Binaries built with threads enabled are B compatible
-with binaries built without.  Perl installs threads enabled binaries under
-a distinct architecture name, so they B coexist, though.
-
-At the present time, you cannot enable both threading and PERL_OBJECT.
-You can get only one of them in a Perl interpreter.
+flags.  These are explained in the makefiles.
+
+You will have to make sure CCTYPE is set correctly, and CCHOME points
+to wherever you installed your compiler.
+
+The default value for CCHOME in the makefiles for Visual C++
+may not be correct for some versions.  Make sure the default exists
+and is valid.
 
 If you have either the source or a library that contains des_fcrypt(),
 enable the appropriate option in the makefile.  des_fcrypt() is not
 bundled with the distribution due to US Government restrictions
 on the export of cryptographic software.  Nevertheless, this routine
-is part of the "libdes" library (written by Ed Young) which is widely
+is part of the "libdes" library (written by Eric Young) which is widely
 available worldwide, usually along with SSLeay (for example:
 "ftp://fractal.mta.ca/pub/crypto/SSLeay/DES/").  Set CRYPT_SRC to the
 name of the file that implements des_fcrypt().  Alternatively, if
@@ -191,54 +175,31 @@ in des_fcrypt.patch.
 Perl will also build without des_fcrypt(), but the crypt() builtin will
 fail at run time.
 
-You will also have to make sure CCHOME points to wherever you installed
-your compiler.
-
-The default value for CCHOME in the makefiles for Visual C++
-may not be correct for some versions.  Make sure the default exists
-and is valid.
-
-Other options are explained in the makefiles.  Be sure to read the
-instructions carefully.
+Be sure to read the instructions near the top of the makefiles carefully.
 
 =item *
 
 Type "dmake" (or "nmake" if you are using that make).
 
 This should build everything.  Specifically, it will create perl.exe,
-perl.dll (or perlcore.dll), and perlglob.exe at the perl toplevel, and
-various other extension dll's under the lib\auto directory.  If the build
-fails for any reason, make sure you have done the previous steps correctly.
-
-The build process may produce "harmless" compiler warnings (more or
-less copiously, depending on how picky your compiler gets).  The
-maintainers are aware of these warnings, thankyouverymuch. :)
-
-When building using Visual C++, a perl95.exe will also get built.  This
-executable is only needed on Windows95, and should be used instead of
-perl.exe, and then only if you want sockets to work properly on Windows95.
-This is necessitated by a bug in the Microsoft C Runtime that cannot be
-worked around in the "normal" perl.exe.  perl95.exe gets built with its
-own private copy of the C Runtime that is not accessible to extensions
-(which see the DLL version of the CRT).  Be aware, therefore, that this
-perl95.exe will have esoteric problems with extensions like perl/Tk that
-themselves use the C Runtime heavily, or want to free() pointers
-malloc()-ed by perl.
-
-You can avoid the perl95.exe problems completely if you either enable
-USE_PERLCRT with Visual C++, or use Borland C++ for building perl.  In
-those cases, perl95.exe is not needed and will not be built.
+perl56.dll at the perl toplevel, and various other extension dll's
+under the lib\auto directory.  If the build fails for any reason, make
+sure you have done the previous steps correctly.
 
 =back
 
 =head2 Testing
 
 Type "dmake test" (or "nmake test").  This will run most of the tests from
-the testsuite (many tests will be skipped, and but no test should fail).
+the testsuite (many tests will be skipped).
+
+No tests should typically fail when running Windows NT 4.0.  Under Windows
+2000, test 22 in lib/open3.t is known to fail (cause still unknown).  Many
+tests will fail under Windows 9x due to the inferior command shell.
 
-If some tests do fail, it may be because you are using a different command
-shell than the native "cmd.exe", or because you are building from a path
-that contains spaces.  So don't do that.
+Some test failures may occur if you use a command shell other than the
+native "cmd.exe", or if you are building from a path that contains
+spaces.  So don't do that.
 
 If you are running the tests from a emacs shell window, you may see
 failures in op/stat.t.  Run "dmake test-notty" in that case.
@@ -249,10 +210,6 @@ default path.  You will need to copy the DLLs reported by the messages
 from where Borland chose to install it, into the Windows system directory
 (usually somewhere like C:\WINNT\SYSTEM32), and rerun the test.
 
-The Visual C runtime apparently has a bug that causes posix.t to fail
-test#2.  This usually happens only if you extracted the files in text
-mode.  Enable the USE_PERLCRT option in the Makefile to fix this bug.
-
 Please report any other failures as described under L.
 
 =head2 Installation
@@ -266,8 +223,13 @@ you will need to add two components to your PATH environment variable,
 C<$INST_TOP\$VERSION\bin>, and C<$INST_TOP\$VERSION\bin\$ARCHNAME>.
 For example:
 
-    set PATH c:\perl\5.005\bin;c:\perl\5.005\bin\MSWin32-x86;%PATH%
+    set PATH c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH%
+
+If you opt to comment out INST_VER and INST_ARCH in the makefiles, the
+installation structure is much simpler.  In that case, it will be
+sufficient to add a single entry to the path, for instance:
 
+    set PATH c:\perl\bin;%PATH%
 
 =head2 Usage Hints
 
@@ -293,44 +255,33 @@ C and C.
 Entries in the former override entries in the latter.  One or more of the
 following entries (of type REG_SZ or REG_EXPAND_SZ) may be set:
 
-    lib-$]		version-specific path to add to @INC
-    lib			path to add to @INC
-    sitelib-$]		version-specific path to add to @INC
-    sitelib		path to add to @INC
+    lib-$]		version-specific standard library path to add to @INC
+    lib			standard library path to add to @INC
+    sitelib-$]		version-specific site library path to add to @INC
+    sitelib		site library path to add to @INC
+    vendorlib-$]	version-specific vendor library path to add to @INC
+    vendorlib		vendor library path to add to @INC
     PERL*		fallback for all %ENV lookups that begin with "PERL"
 
 Note the C<$]> in the above is not literal.  Substitute whatever version
-of perl you want to honor that entry, e.g. C<5.00502>.  Paths must be
+of perl you want to honor that entry, e.g. C<5.6.0>.  Paths must be
 separated with semicolons, as usual on win32.
 
 =item File Globbing
 
-By default, perl spawns an external program to do file globbing.
-The install process installs both a perlglob.exe and a perlglob.bat
-that perl can use for this purpose.  Note that with the default
-installation, perlglob.exe will be found by the system before
-perlglob.bat.
-
-perlglob.exe relies on the argv expansion done by the C Runtime of
-the particular compiler you used, and therefore behaves very
-differently depending on the Runtime used to build it.  To preserve
-compatiblity, perlglob.bat (a perl script that can be used portably)
-is installed.  Besides being portable, perlglob.bat also offers
-enhanced globbing functionality.
-
-If you want perl to use perlglob.bat instead of perlglob.exe, just
-delete perlglob.exe from the install location (or move it somewhere
-perl cannot find).  Using File::DosGlob.pm (which implements the core
-functionality of perlglob.bat) to override the internal CORE::glob()
-works about 10 times faster than spawing perlglob.exe, and you should
-take this approach when writing new modules.  See File::DosGlob for
+By default, perl handles file globbing using the File::Glob extension,
+which provides portable globbing.
+
+If you want perl to use globbing that emulates the quirks of DOS
+filename conventions, you might want to consider using File::DosGlob
+to override the internal glob() implementation.  See L for
 details.
 
 =item Using perl from the command line
 
 If you are accustomed to using perl from various command-line
 shells found in UNIX environments, you will be less than pleased
-with what Windows NT offers by way of a command shell.
+with what Windows offers by way of a command shell.
 
 The crucial thing to understand about the "cmd" shell (which is
 the default on Windows NT) is that it does not do any wildcard
@@ -391,14 +342,19 @@ This pipes "foo" to the pager and writes "bar" in the file "blurch":
     perl -e "print 'foo'; print STDERR 'bar'" 2> blurch | less
 
 
-Discovering the usefulness of the "command.com" shell on Windows95
+Discovering the usefulness of the "command.com" shell on Windows 9x
 is left as an exercise to the reader :)
 
 =item Building Extensions
 
 The Comprehensive Perl Archive Network (CPAN) offers a wealth
 of extensions, some of which require a C compiler to build.
-Look in http://www.perl.com/ for more information on CPAN.
+Look in http://www.cpan.org/ for more information on CPAN.
+
+Note that not all of the extensions available from CPAN may work
+in the Win32 environment; you should check the information at
+http://testers.cpan.org/ before investing too much effort into
+porting modules that don't readily build.
 
 Most extensions (whether they require a C compiler or not) can
 be built, tested and installed with the standard mantra:
@@ -423,7 +379,9 @@ old version of nmake reportedly available from:
 Another option is to use the make written in Perl, available from
 CPAN:
 
-    http://www.perl.com/CPAN/authors/id/NI-S/Make-0.03.tar.gz
+    http://www.cpan.org/authors/id/NI-S/Make-0.03.tar.gz
+
+You may also use dmake.  See L above on how to get it.
 
 Note that MakeMaker actually emits makefiles with different syntax
 depending on what 'make' it thinks you are using.  Therefore, it is
@@ -516,7 +474,7 @@ all of the ActiveState extensions and most other Win32 extensions from
 CPAN in source form, along with many added bugfixes, and with MakeMaker
 support.  This bundle is available at:
 
-   http://www.perl.com/CPAN/authors/id/GSAR/libwin32-0.14.zip
+   http://www.cpan.org/authors/id/GSAR/libwin32-0.151.zip
 
 See the README in that distribution for building and installation
 instructions.  Look for later versions that may be available at the
@@ -613,75 +571,18 @@ find a mailer on your system).
 
 =head1 BUGS AND CAVEATS
 
-An effort has been made to ensure that the DLLs produced by the two
-supported compilers are compatible with each other (despite the
-best efforts of the compiler vendors).  Extension binaries produced
-by one compiler should also coexist with a perl binary built by
-a different compiler.  In order to accomplish this, PERL.DLL provides
-a layer of runtime code that uses the C Runtime that perl was compiled
-with.  Extensions which include "perl.h" will transparently access
-the functions in this layer, thereby ensuring that both perl and
-extensions use the same runtime functions.
-
-If you have had prior exposure to Perl on Unix platforms, you will notice
-this port exhibits behavior different from what is documented.  Most of the
-differences fall under one of these categories.  We do not consider
-any of them to be serious limitations (especially when compared to the
-limited nature of some of the Win32 OSes themselves :)
-
-=over 8
-
-=item *
-
-C and C functions may not behave as documented.  They
-may return values that bear no resemblance to those reported on Unix
-platforms, and some fields (like the the one for inode) may be completely
-bogus.
-
-=item *
-
-The following functions are currently unavailable: C,
-C, C, C, C, C,
-C and related security functions, C,
-C, C, C, C,
-C, C, C, C, C,
-C<*netent()>, C<*protoent()>, C<*servent()>, C<*hostent()>,
-C.
-This list is possibly incomplete.
-
-=item *
-
-Various C related calls are supported, but they may not
-behave as on Unix platforms.
-
-=item *
-
-The four-argument C call is only supported on sockets.
-
-=item *
-
-The C call is only supported on sockets (where it provides the
-functionality of ioctlsocket() in the Winsock API).
+Some of the built-in functions do not act exactly as documented in
+L, and a few are not implemented at all.  To avoid
+surprises, particularly if you have had prior exposure to Perl
+in other operating environments or if you intend to write code
+that will be portable to other environments, see L
+for a reasonably definitive list of these differences.
 
-=item *
-
-Failure to spawn() a subprocess is indicated by setting $? to "255 << 8".
-C<$?> is set in a way compatible with Unix (i.e. the exitstatus of the
-subprocess is obtained by "$? >> 8", as described in the documentation).
-
-=item *
+Not all extensions available from CPAN may build or work properly
+in the Win32 environment.  See L.
 
-You can expect problems building modules available on CPAN if you
-build perl itself with -DUSE_THREADS.  These problems should be resolved
-as we get closer to 5.005.
-
-=item *
-
-C, C and process-related functions may not
-behave as described in the documentation, and some of the
-returned values or effects may be bogus.
-
-=item *
+Most C related calls are supported, but they may not
+behave as on Unix platforms.  See L for the full list.
 
 Signal handling may not behave as on Unix platforms (where it
 doesn't exactly "behave", either :).  For instance, calling C
@@ -691,30 +592,6 @@ Thus, signals may work only for simple things like setting a flag
 variable in the handler.  Using signals under this port should
 currently be considered unsupported.
 
-=item *
-
-C is implemented, but doesn't have the semantics of
-C, i.e. it doesn't send a signal to the identified process
-like it does on Unix platforms.  Instead it immediately calls
-C.  Thus the signal argument is
-used to set the exit-status of the terminated process.  This behavior
-may change in future.
-
-=item *
-
-File globbing may not behave as on Unix platforms.  In particular,
-if you don't use perlglob.bat for globbing, it will understand
-wildcards only in the filename component (and not in the pathname).
-In other words, something like "print <*/*.pl>" will not print all the
-perl scripts in all the subdirectories one level under the current one
-(like it does on UNIX platforms).  perlglob.exe is also dependent on
-the particular implementation of wildcard expansion in the vendor
-libraries used to build it (which varies wildly at the present time).
-Using perlglob.bat (or File::DosGlob) avoids these limitations, but
-still only provides DOS semantics (read "warts") for globbing.
-
-=back
-
 Please send detailed descriptions of any problems and solutions that 
 you may find to >, along with the output produced
 by C.
@@ -725,7 +602,7 @@ by C.
 
 Gary Ng E71564.1743@CompuServe.COME
 
-Gurusamy Sarathy Egsar@umich.eduE
+Gurusamy Sarathy Egsar@activestate.comE
 
 Nick Ing-Simmons Enick@ni-s.u-net.comE
 
@@ -741,10 +618,8 @@ L
 
 This port was originally contributed by Gary Ng around 5.003_24,
 and borrowed from the Hip Communications port that was available
-at the time.
-
-Nick Ing-Simmons and Gurusamy Sarathy have made numerous and
-sundry hacks since then.
+at the time.  Various people have made numerous and sundry hacks
+since then.
 
 Borland support was added in 5.004_01 (Gurusamy Sarathy).
 
@@ -752,7 +627,10 @@ GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons).
 
 Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp).
 
-Last updated: 18 January 1999
+Support for fork() emulation was added in 5.6 (ActiveState Tool Corp).
 
-=cut
+Win9x support was added in 5.6 (Benjamin Stuhl).
 
+Last updated: 22 March 2000
+
+=cut
diff --git a/gnu/usr.bin/perl/Todo b/gnu/usr.bin/perl/Todo
index 5867c406805..ba01d33db6f 100644
--- a/gnu/usr.bin/perl/Todo
+++ b/gnu/usr.bin/perl/Todo
@@ -1,3 +1,11 @@
+Always check out the latest perl5-porters discussions on these subjects
+before embarking on an implementation tour.
+
+Bugs
+	remove recursion in regular expression engine
+	fix memory leaks during compile failures
+	make signal handling safe
+
 Tie Modules
 	VecArray		Implement array using vec()
 	SubstrArray		Implement array using substr()
@@ -5,54 +13,80 @@ Tie Modules
 	ShiftSplice		Defines shift et al in terms of splice method
 
 Would be nice to have
-	pack "(stuff)*"
-	Contiguous bitfields in pack/unpack
+	pack "(stuff)*", "(stuff)?", "(stuff)+", "(stuff)4", ...
+	contiguous bitfields in pack/unpack
 	lexperl
-	Bundled perl preprocessor
-	Use posix calls internally where possible
+	bundled perl preprocessor/macro facility
+	    this would solve many of the syntactic nice-to-haves
+	use posix calls internally where possible
 	gettimeofday (possibly best left for a module?)
 	format BOTTOM
 	-i rename file only when successfully changed
-	All ARGV input should act like <>
+	all ARGV input should act like <>
 	report HANDLE [formats].
 	support in perlmain to rerun debugger
 	regression tests using __DIE__ hook
-	reference to compiled regexp
 	lexically scoped functions: my sub foo { ... }
-	lvalue functions
+		the basic concept is easy and sound,
+		the difficulties begin with self-referential
+		and mutually referential lexical subs: how to
+		declare the subs?
+	lexically scoped typeglobs? (lexical I/O handles work now)
+        wantlvalue?  more generalized want()/caller()?
+	named prototypes: sub foo ($foo, @bar) { ... } ?
 	regression/sanity tests for suidperl
-	Full 64 bit support (i.e. "long long")
-	Generalise Errno way of extracting cpp symbols and use that in
-	    Errno and Fcntl (ExtUtils::CppSymbol?)
+	iterators/lazy evaluation/continuations/first/
+	    first_defined/short-circuiting grep/??
+	    This is a very thorny and hotly debated subject,
+	    tread carefully and do your homework first
+	generalise Errno way of extracting cpp symbols and use that in
+	    Errno, Fcntl, POSIX (ExtUtils::CppSymbol?)
+	the _r-problem: for all the {set,get,end}*() system database
+	     calls (and a couple more: readdir, *rand*, crypt, *time,
+	     tmpnam) there are in many systems the _r versions
+	     to be used in re-entrant (=multithreaded) code
+	     Icky things: the _r API is not standardized and
+	     the _r-forms require per-thread data to store their state
+	memory profiler: turn malloc.c:Perl_get_mstats() into
+	    an extension (Devel::MProf?) that would return the malloc
+	    stats in a nice Perl datastructure (also a simple interface
+	    to return just the grand total would be good)
+	cross-compilation support
+	    host vs target: compile in the host, get the executable to
+	    the target, get the possible input files to the target,
+	    execute in the target (and do not assume a UNIXish shell
+	    in the target! e.g. no command redirection can be assumed),
+	    get possible output files back to to host.  this needs to work
+	    both during Configure and during the build.  You cannot assume
+	    shared filesystems between the host and the target (you may need
+	    e.g. ftp), executing the target executable may involve e.g. rsh
+	a way to make << and >> to shift bitvectors instead of numbers
 
 Possible pragmas
 	debugger
-	optimize (use less memory, CPU)
+	optimize (use less qw[memory cpu])
 
 Optimizations
 	constant function cache
 	switch structures
-	eval qw() at compile time
 	foreach(reverse...)
-	Set KEEP on constant split
-	Cache eval tree (unless lexical outer scope used (mark in &compiling?))
+	cache eval tree (unless lexical outer scope used (mark in &compiling?))
 	rcatmaybe
-	Shrink opcode tables via multiple implementations selected in peep
-	Cache hash value?  (Not a win, according to Guido)
-	Optimize away @_ where possible
+	shrink opcode tables via multiple implementations selected in peep
+	cache hash value?  (Not a win, according to Guido)
+	optimize away @_ where possible
+	tail recursion removal
 	"one pass" global destruction
-	Optimize sort by { $a <=> $b }
-	Rewrite regexp parser for better integrated optimization
+	rewrite regexp parser for better integrated optimization
 	LRU cache of regexp: foreach $pat (@pats) { foo() if /$pat/ }
 
 Vague possibilities
-	ref function in list context
+	ref function in list context?
 	make tr/// return histogram in list context?
-	Loop control on do{} et al
-	Explicit switch statements
+	loop control on do{} et al
+	explicit switch statements
 	built-in globbing
 	compile to real threaded code
 	structured types
 	autocroak?
-	Modifiable $1 et al
-
+	modifiable $1 et al
diff --git a/gnu/usr.bin/perl/Todo-5.005 b/gnu/usr.bin/perl/Todo-5.005
deleted file mode 100644
index 7f2dbc957c8..00000000000
--- a/gnu/usr.bin/perl/Todo-5.005
+++ /dev/null
@@ -1,61 +0,0 @@
-Multi-threading
-    $AUTOLOAD. Hmm.
-    consistent semantics for exit/die in threads
-    SvREFCNT_dec(curstack) in threadstart() in Thread.xs
-    better support for externally created threads
-    Thread::Pool
-    spot-check globals like statcache and global GVs for thread-safety
-
-Compiler
-    auto-produce executable
-    typed lexicals should affect B::CC::load_pad
-    workarounds to help Win32
-    END blocks need saving in compiled output
-    _AUTOLOAD prodding
-    fix comppadlist (names in comppad_name can have fake SvCUR
-	from where newASSIGNOP steals the field)
-
-Namespace cleanup
-    CPP-space:	  restrict what we export from headers
-                  stop malloc()/free() pollution unless asked
-    header-space: move into CORE/perl/
-    API-space:    begin list of things that constitute public api
-
-MULTIPLICITY support
-    complete work on safe recursive interpreters, Cnew()>
-    revisit extra implicit arg that provides curthread/curinterp context
-
-Reliable Signals
-    alternate runops() for signal despatch
-    figure out how to die() in delayed sighandler
-    add tests for Thread::Signal
-
-Win32 stuff
-    get PERL_OBJECT building under gcc
-    get PERL_OBJECT building on non-win32
-    automate generation of 'protected' prototypes for CPerlObj 
-    rename new headers to be consistent with the rest
-    sort out the spawnvp() mess
-    work out DLL versioning
-    style-check
-
-Miscellaneous
-    rename and alter ISA.pm
-    magic_setisa should be made to update %FIELDS [???]
-    add new modules (Archive::Tar, Compress::Zlib, CPAN::FTP?)
-    fix pod2html to generate relative URLs
-    automate testing with large parts of CPAN
-
-Ongoing
-    keep filenames 8.3 friendly, where feasible
-    upgrade to newer versions of all independently maintained modules
-    comprehensive perldelta.pod
-
-Documentation
-    describe new age patterns
-    update perl{guts,call,embed,xs} with additions, changes to API
-    document Win32 choices
-    spot-check all new modules for completeness
-    better docs for pack()/unpack()
-    reorg tutorials vs. reference sections
-
diff --git a/gnu/usr.bin/perl/XSUB.h b/gnu/usr.bin/perl/XSUB.h
index a6577d8fdcf..cfcad5d595a 100644
--- a/gnu/usr.bin/perl/XSUB.h
+++ b/gnu/usr.bin/perl/XSUB.h
@@ -1,13 +1,56 @@
+#ifndef _INC_PERL_XSUB_H
+#define _INC_PERL_XSUB_H 1
+
+/* first, some documentation for xsubpp-generated items */
+
+/*
+=for apidoc Amn|char*|CLASS
+Variable which is setup by C to indicate the 
+class name for a C++ XS constructor.  This is always a C.  See C.
+
+=for apidoc Amn|(whatever)|RETVAL
+Variable which is setup by C to hold the return value for an 
+XSUB. This is always the proper type for the XSUB. See 
+L.
+
+=for apidoc Amn|(whatever)|THIS
+Variable which is setup by C to designate the object in a C++ 
+XSUB.  This is always the proper type for the C++ object.  See C and 
+L.
+
+=for apidoc Amn|I32|items
+Variable which is setup by C to indicate the number of 
+items on the stack.  See L.
+
+=for apidoc Amn|I32|ix
+Variable which is setup by C to indicate which of an 
+XSUB's aliases was used to invoke it.  See L.
+
+=for apidoc Am|SV*|ST|int ix
+Used to access elements on the XSUB's stack.
+
+=for apidoc AmU||XS
+Macro to declare an XSUB and its C parameter list.  This is handled by
+C.
+
+=for apidoc Ams||dXSARGS
+Sets up stack and mark pointers for an XSUB, calling dSP and dMARK.  This
+is usually handled automatically by C.  Declares the C
+variable to indicate the number of items on the stack.
+
+=for apidoc Ams||dXSI32
+Sets up the C variable for an XSUB which has aliases.  This is usually
+handled automatically by C.
+
+=cut
+*/
+
 #define ST(off) PL_stack_base[ax + (off)]
 
-#ifdef CAN_PROTOTYPE
-#ifdef PERL_OBJECT
-#define XS(name) void name(CV* cv, CPerlObj* pPerl)
+#if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
+#  define XS(name) __declspec(dllexport) void name(pTHXo_ CV* cv)
 #else
-#define XS(name) void name(CV* cv)
-#endif
-#else
-#define XS(name) void name(cv) CV* cv;
+#  define XS(name) void name(pTHXo_ CV* cv)
 #endif
 
 #define dXSARGS				\
@@ -15,6 +58,12 @@
 	I32 ax = mark - PL_stack_base + 1;	\
 	I32 items = sp - mark
 
+#define dXSTARG SV * targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
+			     ? PAD_SV(PL_op->op_targ) : sv_newmortal())
+
+/* Should be used before final PUSHi etc. if not in PPCODE section. */
+#define XSprePUSH (sp = PL_stack_base + ax - 1)
+
 #define XSANY CvXSUBANY(cv)
 
 #define dXSI32 I32 ix = XSANY.any_i32
@@ -25,28 +74,97 @@
 #  define XSINTERFACE_CVT(ret,name) ret (*name)()
 #endif
 #define dXSFUNCTION(ret)		XSINTERFACE_CVT(ret,XSFUNCTION)
-#define XSINTERFACE_FUNC(ret,cv,f)	((XSINTERFACE_CVT(ret,))(f))
+#define XSINTERFACE_FUNC(ret,cv,f)	((XSINTERFACE_CVT(ret,cv))(f))
 #define XSINTERFACE_FUNC_SET(cv,f)	\
-		CvXSUBANY(cv).any_dptr = (void (*) _((void*)))(f)
-
-#define XSRETURN(off)					\
-    STMT_START {					\
-	PL_stack_sp = PL_stack_base + ax + ((off) - 1);	\
-	return;						\
-    } STMT_END
+		CvXSUBANY(cv).any_dptr = (void (*) (pTHXo_ void*))(f)
 
 /* Simple macros to put new mortal values onto the stack.   */
 /* Typically used to return values from XS functions.       */
+
+/*
+=for apidoc Am|void|XST_mIV|int pos|IV iv
+Place an integer into the specified position C on the stack.  The
+value is stored in a new mortal SV.
+
+=for apidoc Am|void|XST_mNV|int pos|NV nv
+Place a double into the specified position C on the stack.  The value
+is stored in a new mortal SV.
+
+=for apidoc Am|void|XST_mPV|int pos|char* str
+Place a copy of a string into the specified position C on the stack. 
+The value is stored in a new mortal SV.
+
+=for apidoc Am|void|XST_mNO|int pos
+Place C<&PL_sv_no> into the specified position C on the
+stack.
+
+=for apidoc Am|void|XST_mYES|int pos
+Place C<&PL_sv_yes> into the specified position C on the
+stack.
+
+=for apidoc Am|void|XST_mUNDEF|int pos
+Place C<&PL_sv_undef> into the specified position C on the
+stack.
+
+=for apidoc Am|void|XSRETURN|int nitems
+Return from XSUB, indicating number of items on the stack.  This is usually
+handled by C.
+
+=for apidoc Am|void|XSRETURN_IV|IV iv
+Return an integer from an XSUB immediately.  Uses C.
+
+=for apidoc Am|void|XSRETURN_NV|NV nv
+Return an double from an XSUB immediately.  Uses C.
+
+=for apidoc Am|void|XSRETURN_PV|char* str
+Return a copy of a string from an XSUB immediately.  Uses C.
+
+=for apidoc Ams||XSRETURN_NO
+Return C<&PL_sv_no> from an XSUB immediately.  Uses C.
+
+=for apidoc Ams||XSRETURN_YES
+Return C<&PL_sv_yes> from an XSUB immediately.  Uses C.
+
+=for apidoc Ams||XSRETURN_UNDEF
+Return C<&PL_sv_undef> from an XSUB immediately.  Uses C.
+
+=for apidoc Ams||XSRETURN_EMPTY
+Return an empty list from an XSUB immediately.
+
+=for apidoc AmU||newXSproto
+Used by C to hook up XSUBs as Perl subs.  Adds Perl prototypes to
+the subs.
+
+=for apidoc AmU||XS_VERSION
+The version identifier for an XS module.  This is usually
+handled automatically by C.  See C.
+
+=for apidoc Ams||XS_VERSION_BOOTCHECK
+Macro to verify that a PM module's $VERSION variable matches the XS
+module's C variable.  This is usually handled automatically by
+C.  See L.
+
+=cut
+*/
+
 #define XST_mIV(i,v)  (ST(i) = sv_2mortal(newSViv(v))  )
 #define XST_mNV(i,v)  (ST(i) = sv_2mortal(newSVnv(v))  )
 #define XST_mPV(i,v)  (ST(i) = sv_2mortal(newSVpv(v,0)))
+#define XST_mPVN(i,v,n)  (ST(i) = sv_2mortal(newSVpvn(v,n)))
 #define XST_mNO(i)    (ST(i) = &PL_sv_no   )
 #define XST_mYES(i)   (ST(i) = &PL_sv_yes  )
 #define XST_mUNDEF(i) (ST(i) = &PL_sv_undef)
- 
+
+#define XSRETURN(off)					\
+    STMT_START {					\
+	PL_stack_sp = PL_stack_base + ax + ((off) - 1);	\
+	return;						\
+    } STMT_END
+
 #define XSRETURN_IV(v) STMT_START { XST_mIV(0,v);  XSRETURN(1); } STMT_END
 #define XSRETURN_NV(v) STMT_START { XST_mNV(0,v);  XSRETURN(1); } STMT_END
 #define XSRETURN_PV(v) STMT_START { XST_mPV(0,v);  XSRETURN(1); } STMT_END
+#define XSRETURN_PVN(v,n) STMT_START { XST_mPVN(0,v,n);  XSRETURN(1); } STMT_END
 #define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
 #define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
 #define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
@@ -55,7 +173,7 @@
 #define newXSproto(a,b,c,d)	sv_setpv((SV*)newXS(a,b,c), d)
 
 #ifdef XS_VERSION
-# define XS_VERSION_BOOTCHECK \
+#  define XS_VERSION_BOOTCHECK \
     STMT_START {							\
 	SV *tmpsv; STRLEN n_a;						\
 	char *vn = Nullch, *module = SvPV(ST(0),n_a);			\
@@ -63,95 +181,220 @@
 	    tmpsv = ST(1);						\
 	else {								\
 	    /* XXX GV_ADDWARN */					\
-	    tmpsv = perl_get_sv(form("%s::%s", module,			\
-				  vn = "XS_VERSION"), FALSE);		\
+	    tmpsv = get_sv(Perl_form(aTHX_ "%s::%s", module,		\
+				vn = "XS_VERSION"), FALSE);		\
 	    if (!tmpsv || !SvOK(tmpsv))					\
-		tmpsv = perl_get_sv(form("%s::%s", module,		\
-				      vn = "VERSION"), FALSE);		\
+		tmpsv = get_sv(Perl_form(aTHX_ "%s::%s", module,	\
+				    vn = "VERSION"), FALSE);		\
 	}								\
 	if (tmpsv && (!SvOK(tmpsv) || strNE(XS_VERSION, SvPV(tmpsv, n_a))))	\
-	    croak("%s object version %s does not match %s%s%s%s %_",	\
+	    Perl_croak(aTHX_ "%s object version %s does not match %s%s%s%s %"SVf,\
 		  module, XS_VERSION,					\
 		  vn ? "$" : "", vn ? module : "", vn ? "::" : "",	\
 		  vn ? vn : "bootstrap parameter", tmpsv);		\
     } STMT_END
 #else
-# define XS_VERSION_BOOTCHECK
+#  define XS_VERSION_BOOTCHECK
 #endif
 
-#ifdef PERL_CAPI
-#  define VTBL_sv		get_vtbl(want_vtbl_sv)
-#  define VTBL_env		get_vtbl(want_vtbl_env)
-#  define VTBL_envelem		get_vtbl(want_vtbl_envelem)
-#  define VTBL_sig		get_vtbl(want_vtbl_sig)
-#  define VTBL_sigelem		get_vtbl(want_vtbl_sigelem)
-#  define VTBL_pack		get_vtbl(want_vtbl_pack)
-#  define VTBL_packelem		get_vtbl(want_vtbl_packelem)
-#  define VTBL_dbline		get_vtbl(want_vtbl_dbline)
-#  define VTBL_isa		get_vtbl(want_vtbl_isa)
-#  define VTBL_isaelem		get_vtbl(want_vtbl_isaelem)
-#  define VTBL_arylen		get_vtbl(want_vtbl_arylen)
-#  define VTBL_glob		get_vtbl(want_vtbl_glob)
-#  define VTBL_mglob		get_vtbl(want_vtbl_mglob)
-#  define VTBL_nkeys		get_vtbl(want_vtbl_nkeys)
-#  define VTBL_taint		get_vtbl(want_vtbl_taint)
-#  define VTBL_substr		get_vtbl(want_vtbl_substr)
-#  define VTBL_vec		get_vtbl(want_vtbl_vec)
-#  define VTBL_pos		get_vtbl(want_vtbl_pos)
-#  define VTBL_bm		get_vtbl(want_vtbl_bm)
-#  define VTBL_fm		get_vtbl(want_vtbl_fm)
-#  define VTBL_uvar		get_vtbl(want_vtbl_uvar)
-#  define VTBL_defelem		get_vtbl(want_vtbl_defelem)
-#  define VTBL_regexp		get_vtbl(want_vtbl_regexp)
-#  ifdef USE_LOCALE_COLLATE
-#    define VTBL_collxfrm	get_vtbl(want_vtbl_collxfrm)
-#  endif
-#  ifdef OVERLOAD
-#    define VTBL_amagic		get_vtbl(want_vtbl_amagic)
-#    define VTBL_amagicelem	get_vtbl(want_vtbl_amagicelem)
-#  endif
-#else
-#  define VTBL_sv		&vtbl_sv
-#  define VTBL_env		&vtbl_env
-#  define VTBL_envelem		&vtbl_envelem
-#  define VTBL_sig		&vtbl_sig
-#  define VTBL_sigelem		&vtbl_sigelem
-#  define VTBL_pack		&vtbl_pack
-#  define VTBL_packelem		&vtbl_packelem
-#  define VTBL_dbline		&vtbl_dbline
-#  define VTBL_isa		&vtbl_isa
-#  define VTBL_isaelem		&vtbl_isaelem
-#  define VTBL_arylen		&vtbl_arylen
-#  define VTBL_glob		&vtbl_glob
-#  define VTBL_mglob		&vtbl_mglob
-#  define VTBL_nkeys		&vtbl_nkeys
-#  define VTBL_taint		&vtbl_taint
-#  define VTBL_substr		&vtbl_substr
-#  define VTBL_vec		&vtbl_vec
-#  define VTBL_pos		&vtbl_pos
-#  define VTBL_bm		&vtbl_bm
-#  define VTBL_fm		&vtbl_fm
-#  define VTBL_uvar		&vtbl_uvar
-#  define VTBL_defelem		&vtbl_defelem
-#  define VTBL_regexp		&vtbl_regexp
+#if 1		/* for compatibility */
+#  define VTBL_sv		&PL_vtbl_sv
+#  define VTBL_env		&PL_vtbl_env
+#  define VTBL_envelem		&PL_vtbl_envelem
+#  define VTBL_sig		&PL_vtbl_sig
+#  define VTBL_sigelem		&PL_vtbl_sigelem
+#  define VTBL_pack		&PL_vtbl_pack
+#  define VTBL_packelem		&PL_vtbl_packelem
+#  define VTBL_dbline		&PL_vtbl_dbline
+#  define VTBL_isa		&PL_vtbl_isa
+#  define VTBL_isaelem		&PL_vtbl_isaelem
+#  define VTBL_arylen		&PL_vtbl_arylen
+#  define VTBL_glob		&PL_vtbl_glob
+#  define VTBL_mglob		&PL_vtbl_mglob
+#  define VTBL_nkeys		&PL_vtbl_nkeys
+#  define VTBL_taint		&PL_vtbl_taint
+#  define VTBL_substr		&PL_vtbl_substr
+#  define VTBL_vec		&PL_vtbl_vec
+#  define VTBL_pos		&PL_vtbl_pos
+#  define VTBL_bm		&PL_vtbl_bm
+#  define VTBL_fm		&PL_vtbl_fm
+#  define VTBL_uvar		&PL_vtbl_uvar
+#  define VTBL_defelem		&PL_vtbl_defelem
+#  define VTBL_regexp		&PL_vtbl_regexp
+#  define VTBL_regdata		&PL_vtbl_regdata
+#  define VTBL_regdatum		&PL_vtbl_regdatum
 #  ifdef USE_LOCALE_COLLATE
-#    define VTBL_collxfrm	&vtbl_collxfrm
-#  endif
-#  ifdef OVERLOAD
-#    define VTBL_amagic		&vtbl_amagic
-#    define VTBL_amagicelem	&vtbl_amagicelem
+#    define VTBL_collxfrm	&PL_vtbl_collxfrm
 #  endif
+#  define VTBL_amagic		&PL_vtbl_amagic
+#  define VTBL_amagicelem	&PL_vtbl_amagicelem
 #endif
 
-#ifdef PERL_OBJECT
+#include "perlapi.h"
 #include "objXSUB.h"
-#ifndef NO_XSLOCKS
-#ifdef WIN32
-#include "XSlock.h"
-#endif  /* WIN32 */
-#endif  /* NO_XSLOCKS */
-#else
-#ifdef PERL_CAPI
-#include "perlCAPI.h"
+
+#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE)
+#  undef aTHX
+#  undef aTHX_
+#  define aTHX		PERL_GET_THX
+#  define aTHX_		aTHX,
 #endif
-#endif	/* PERL_OBJECT */
+
+#if (defined(PERL_CAPI) || defined(PERL_IMPLICIT_SYS)) && !defined(PERL_CORE)
+#  ifndef NO_XSLOCKS
+#    undef closedir
+#    undef opendir
+#    undef stdin
+#    undef stdout
+#    undef stderr
+#    undef feof
+#    undef ferror
+#    undef fgetpos
+#    undef ioctl
+#    undef getlogin
+#    undef setjmp
+#    undef getc
+#    undef ungetc
+#    undef fileno
+
+#    define mkdir		PerlDir_mkdir
+#    define chdir		PerlDir_chdir
+#    define rmdir		PerlDir_rmdir
+#    define closedir		PerlDir_close
+#    define opendir		PerlDir_open
+#    define readdir		PerlDir_read
+#    define rewinddir		PerlDir_rewind
+#    define seekdir		PerlDir_seek
+#    define telldir		PerlDir_tell
+#    define putenv		PerlEnv_putenv
+#    define getenv		PerlEnv_getenv
+#    define uname		PerlEnv_uname
+#    define stdin		PerlIO_stdin()
+#    define stdout		PerlIO_stdout()
+#    define stderr		PerlIO_stderr()
+#    define fopen		PerlIO_open
+#    define fclose		PerlIO_close
+#    define feof		PerlIO_eof
+#    define ferror		PerlIO_error
+#    define fclearerr		PerlIO_clearerr
+#    define getc		PerlIO_getc
+#    define fputc(c, f)		PerlIO_putc(f,c)
+#    define fputs(s, f)		PerlIO_puts(f,s)
+#    define fflush		PerlIO_flush
+#    define ungetc(c, f)	PerlIO_ungetc((f),(c))
+#    define fileno		PerlIO_fileno
+#    define fdopen		PerlIO_fdopen
+#    define freopen		PerlIO_reopen
+#    define fread(b,s,c,f)	PerlIO_read((f),(b),(s*c))
+#    define fwrite(b,s,c,f)	PerlIO_write((f),(b),(s*c))
+#    define setbuf		PerlIO_setbuf
+#    define setvbuf		PerlIO_setvbuf
+#    define setlinebuf		PerlIO_setlinebuf
+#    define stdoutf		PerlIO_stdoutf
+#    define vfprintf		PerlIO_vprintf
+#    define ftell		PerlIO_tell
+#    define fseek		PerlIO_seek
+#    define fgetpos		PerlIO_getpos
+#    define fsetpos		PerlIO_setpos
+#    define frewind		PerlIO_rewind
+#    define tmpfile		PerlIO_tmpfile
+#    define access		PerlLIO_access
+#    define chmod		PerlLIO_chmod
+#    define chsize		PerlLIO_chsize
+#    define close		PerlLIO_close
+#    define dup			PerlLIO_dup
+#    define dup2		PerlLIO_dup2
+#    define flock		PerlLIO_flock
+#    define fstat		PerlLIO_fstat
+#    define ioctl		PerlLIO_ioctl
+#    define isatty		PerlLIO_isatty
+#    define link                PerlLIO_link
+#    define lseek		PerlLIO_lseek
+#    define lstat		PerlLIO_lstat
+#    define mktemp		PerlLIO_mktemp
+#    define open		PerlLIO_open
+#    define read		PerlLIO_read
+#    define rename		PerlLIO_rename
+#    define setmode		PerlLIO_setmode
+#    define stat(buf,sb)	PerlLIO_stat(buf,sb)
+#    define tmpnam		PerlLIO_tmpnam
+#    define umask		PerlLIO_umask
+#    define unlink		PerlLIO_unlink
+#    define utime		PerlLIO_utime
+#    define write		PerlLIO_write
+#    define malloc		PerlMem_malloc
+#    define realloc		PerlMem_realloc
+#    define free		PerlMem_free
+#    define abort		PerlProc_abort
+#    define exit		PerlProc_exit
+#    define _exit		PerlProc__exit
+#    define execl		PerlProc_execl
+#    define execv		PerlProc_execv
+#    define execvp		PerlProc_execvp
+#    define getuid		PerlProc_getuid
+#    define geteuid		PerlProc_geteuid
+#    define getgid		PerlProc_getgid
+#    define getegid		PerlProc_getegid
+#    define getlogin		PerlProc_getlogin
+#    define kill		PerlProc_kill
+#    define killpg		PerlProc_killpg
+#    define pause		PerlProc_pause
+#    define popen		PerlProc_popen
+#    define pclose		PerlProc_pclose
+#    define pipe		PerlProc_pipe
+#    define setuid		PerlProc_setuid
+#    define setgid		PerlProc_setgid
+#    define sleep		PerlProc_sleep
+#    define times		PerlProc_times
+#    define wait		PerlProc_wait
+#    define setjmp		PerlProc_setjmp
+#    define longjmp		PerlProc_longjmp
+#    define signal		PerlProc_signal
+#    define getpid		PerlProc_getpid
+#    define htonl		PerlSock_htonl
+#    define htons		PerlSock_htons
+#    define ntohl		PerlSock_ntohl
+#    define ntohs		PerlSock_ntohs
+#    define accept		PerlSock_accept
+#    define bind		PerlSock_bind
+#    define connect		PerlSock_connect
+#    define endhostent		PerlSock_endhostent
+#    define endnetent		PerlSock_endnetent
+#    define endprotoent		PerlSock_endprotoent
+#    define endservent		PerlSock_endservent
+#    define gethostbyaddr	PerlSock_gethostbyaddr
+#    define gethostbyname	PerlSock_gethostbyname
+#    define gethostent		PerlSock_gethostent
+#    define gethostname		PerlSock_gethostname
+#    define getnetbyaddr	PerlSock_getnetbyaddr
+#    define getnetbyname	PerlSock_getnetbyname
+#    define getnetent		PerlSock_getnetent
+#    define getpeername		PerlSock_getpeername
+#    define getprotobyname	PerlSock_getprotobyname
+#    define getprotobynumber	PerlSock_getprotobynumber
+#    define getprotoent		PerlSock_getprotoent
+#    define getservbyname	PerlSock_getservbyname
+#    define getservbyport	PerlSock_getservbyport
+#    define getservent		PerlSock_getservent
+#    define getsockname		PerlSock_getsockname
+#    define getsockopt		PerlSock_getsockopt
+#    define inet_addr		PerlSock_inet_addr
+#    define inet_ntoa		PerlSock_inet_ntoa
+#    define listen		PerlSock_listen
+#    define recv		PerlSock_recv
+#    define recvfrom		PerlSock_recvfrom
+#    define select		PerlSock_select
+#    define send		PerlSock_send
+#    define sendto		PerlSock_sendto
+#    define sethostent		PerlSock_sethostent
+#    define setnetent		PerlSock_setnetent
+#    define setprotoent		PerlSock_setprotoent
+#    define setservent		PerlSock_setservent
+#    define setsockopt		PerlSock_setsockopt
+#    define shutdown		PerlSock_shutdown
+#    define socket		PerlSock_socket
+#    define socketpair		PerlSock_socketpair
+#  endif  /* NO_XSLOCKS */
+#endif  /* PERL_CAPI */
+
+#endif /* _INC_PERL_XSUB_H */		/* include guard */
diff --git a/gnu/usr.bin/perl/XSlock.h b/gnu/usr.bin/perl/XSlock.h
deleted file mode 100644
index 0b2c8299b91..00000000000
--- a/gnu/usr.bin/perl/XSlock.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef __XSlock_h__
-#define __XSlock_h__
-
-class XSLockManager
-{
-public:
-	XSLockManager() { InitializeCriticalSection(&cs); };
-	~XSLockManager() { DeleteCriticalSection(&cs); };
-	void Enter(void) { EnterCriticalSection(&cs); };
-	void Leave(void) { LeaveCriticalSection(&cs); };
-protected:
-	CRITICAL_SECTION cs;
-};
-
-XSLockManager g_XSLock;
-CPerlObj* pPerl;
-
-class XSLock
-{
-public:
-	XSLock(CPerlObj *p) {
-	    g_XSLock.Enter();
-	    ::pPerl = p;
-	};
-	~XSLock() { g_XSLock.Leave(); };
-};
-
-/* PERL_CAPI does its own locking in xs_handler() */
-#if defined(PERL_OBJECT) && !defined(PERL_CAPI)
-#undef dXSARGS
-#define dXSARGS	\
-	XSLock localLock(pPerl);			\
-	dSP; dMARK;					\
-	I32 ax = mark - PL_stack_base + 1;		\
-	I32 items = sp - mark
-#endif	/* PERL_OBJECT && !PERL_CAPI */
-
-#endif
diff --git a/gnu/usr.bin/perl/av.c b/gnu/usr.bin/perl/av.c
index 76527579030..819887e2ad5 100644
--- a/gnu/usr.bin/perl/av.c
+++ b/gnu/usr.bin/perl/av.c
@@ -1,6 +1,6 @@
 /*    av.c
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -13,10 +13,11 @@
  */
 
 #include "EXTERN.h"
+#define PERL_IN_AV_C
 #include "perl.h"
 
 void
-av_reify(AV *av)
+Perl_av_reify(pTHX_ AV *av)
 {
     I32 key;
     SV* sv;
@@ -24,8 +25,8 @@ av_reify(AV *av)
     if (AvREAL(av))
 	return;
 #ifdef DEBUGGING
-    if (SvTIED_mg((SV*)av, 'P'))
-	warn("av_reify called on tied array");
+    if (SvTIED_mg((SV*)av, 'P') && ckWARN_d(WARN_DEBUGGING))
+	Perl_warner(aTHX_ WARN_DEBUGGING, "av_reify called on tied array");
 #endif
     key = AvMAX(av) + 1;
     while (key > AvFILLp(av) + 1)
@@ -45,12 +46,21 @@ av_reify(AV *av)
     AvREAL_on(av);
 }
 
+/*
+=for apidoc av_extend
+
+Pre-extend an array.  The C is the index to which the array should be
+extended.
+
+=cut
+*/
+
 void
-av_extend(AV *av, I32 key)
+Perl_av_extend(pTHX_ AV *av, I32 key)
 {
     dTHR;			/* only necessary if we have to extend stack */
     MAGIC *mg;
-    if (mg = SvTIED_mg((SV*)av, 'P')) {
+    if ((mg = SvTIED_mg((SV*)av, 'P'))) {
 	dSP;
 	ENTER;
 	SAVETMPS;
@@ -60,7 +70,7 @@ av_extend(AV *av, I32 key)
 	PUSHs(SvTIED_obj((SV*)av, mg));
 	PUSHs(sv_2mortal(newSViv(key+1)));
         PUTBACK;
-	perl_call_method("EXTEND", G_SCALAR|G_DISCARD);
+	call_method("EXTEND", G_SCALAR|G_DISCARD);
 	POPSTACK;
 	FREETMPS;
 	LEAVE;
@@ -90,10 +100,11 @@ av_extend(AV *av, I32 key)
 	else {
 	    if (AvALLOC(av)) {
 #ifndef STRANGE_MALLOC
-		U32 bytes;
+		MEM_SIZE bytes;
+		IV itmp;
 #endif
 
-#if defined(MYMALLOC) && !defined(PURIFY) && !defined(LEAKTEST)
+#if defined(MYMALLOC) && !defined(LEAKTEST)
 		newmax = malloced_size((void*)AvALLOC(av))/sizeof(SV*) - 1;
 
 		if (key <= newmax) 
@@ -106,13 +117,14 @@ av_extend(AV *av, I32 key)
 #else
 		bytes = (newmax + 1) * sizeof(SV*);
 #define MALLOC_OVERHEAD 16
-		tmp = MALLOC_OVERHEAD;
-		while (tmp - MALLOC_OVERHEAD < bytes)
-		    tmp += tmp;
-		tmp -= MALLOC_OVERHEAD;
-		tmp /= sizeof(SV*);
-		assert(tmp > newmax);
-		newmax = tmp - 1;
+		itmp = MALLOC_OVERHEAD;
+		while (itmp - MALLOC_OVERHEAD < bytes)
+		    itmp += itmp;
+		itmp -= MALLOC_OVERHEAD;
+		itmp /= sizeof(SV*);
+		assert(itmp > newmax);
+		newmax = itmp - 1;
+		assert(newmax >= AvMAX(av));
 		New(2,ary, newmax+1, SV*);
 		Copy(AvALLOC(av), ary, AvMAX(av)+1, SV*);
 		if (AvMAX(av) > 64)
@@ -148,8 +160,21 @@ av_extend(AV *av, I32 key)
     }
 }
 
+/*
+=for apidoc av_fetch
+
+Returns the SV at the specified index in the array.  The C is the
+index.  If C is set then the fetch will be part of a store.  Check
+that the return value is non-null before dereferencing it to a C.
+
+See L for
+more information on how to use this function on tied arrays. 
+
+=cut
+*/
+
 SV**
-av_fetch(register AV *av, I32 key, I32 lval)
+Perl_av_fetch(pTHX_ register AV *av, I32 key, I32 lval)
 {
     SV *sv;
 
@@ -163,7 +188,7 @@ av_fetch(register AV *av, I32 key, I32 lval)
     }
 
     if (SvRMAGICAL(av)) {
-	if (mg_find((SV*)av,'P')) {
+	if (mg_find((SV*)av,'P') || mg_find((SV*)av,'D')) {
 	    dTHR;
 	    sv = sv_newmortal();
 	    mg_copy((SV*)av, sv, 0, key);
@@ -195,12 +220,27 @@ av_fetch(register AV *av, I32 key, I32 lval)
     return &AvARRAY(av)[key];
 }
 
+/*
+=for apidoc av_store
+
+Stores an SV in an array.  The array index is specified as C.  The
+return value will be NULL if the operation failed or if the value did not
+need to be actually stored within the array (as in the case of tied
+arrays). Otherwise it can be dereferenced to get the original C.  Note
+that the caller is responsible for suitably incrementing the reference
+count of C before the call, and decrementing it if the function
+returned NULL.
+
+See L for
+more information on how to use this function on tied arrays.
+
+=cut
+*/
+
 SV**
-av_store(register AV *av, I32 key, SV *val)
+Perl_av_store(pTHX_ register AV *av, I32 key, SV *val)
 {
     SV** ary;
-    U32  fill;
-
 
     if (!av)
 	return 0;
@@ -214,7 +254,7 @@ av_store(register AV *av, I32 key, SV *val)
     }
 
     if (SvREADONLY(av) && key >= AvFILL(av))
-	croak(no_modify);
+	Perl_croak(aTHX_ PL_no_modify);
 
     if (SvRMAGICAL(av)) {
 	if (mg_find((SV*)av,'P')) {
@@ -254,8 +294,16 @@ av_store(register AV *av, I32 key, SV *val)
     return &ary[key];
 }
 
+/*
+=for apidoc newAV
+
+Creates a new AV.  The reference count is set to 1.
+
+=cut
+*/
+
 AV *
-newAV(void)
+Perl_newAV(pTHX)
 {
     register AV *av;
 
@@ -268,8 +316,18 @@ newAV(void)
     return av;
 }
 
+/*
+=for apidoc av_make
+
+Creates a new AV and populates it with a list of SVs.  The SVs are copied
+into the array, so they may be freed after the call to av_make.  The new AV
+will have a reference count of 1.
+
+=cut
+*/
+
 AV *
-av_make(register I32 size, register SV **strp)
+Perl_av_make(pTHX_ register I32 size, register SV **strp)
 {
     register AV *av;
     register I32 i;
@@ -295,7 +353,7 @@ av_make(register I32 size, register SV **strp)
 }
 
 AV *
-av_fake(register I32 size, register SV **strp)
+Perl_av_fake(pTHX_ register I32 size, register SV **strp)
 {
     register AV *av;
     register SV** ary;
@@ -317,15 +375,24 @@ av_fake(register I32 size, register SV **strp)
     return av;
 }
 
+/*
+=for apidoc av_clear
+
+Clears an array, making it empty.  Does not free the memory used by the
+array itself.
+
+=cut
+*/
+
 void
-av_clear(register AV *av)
+Perl_av_clear(pTHX_ register AV *av)
 {
     register I32 key;
     SV** ary;
 
 #ifdef DEBUGGING
-    if (SvREFCNT(av) <= 0) {
-	warn("Attempt to clear deleted array");
+    if (SvREFCNT(av) == 0 && ckWARN_d(WARN_DEBUGGING)) {
+	Perl_warner(aTHX_ WARN_DEBUGGING, "Attempt to clear deleted array");
     }
 #endif
     if (!av)
@@ -333,7 +400,7 @@ av_clear(register AV *av)
     /*SUPPRESS 560*/
 
     if (SvREADONLY(av))
-	croak(no_modify);
+	Perl_croak(aTHX_ PL_no_modify);
 
     /* Give any tie a chance to cleanup first */
     if (SvRMAGICAL(av))
@@ -350,7 +417,7 @@ av_clear(register AV *av)
 	    ary[key] = &PL_sv_undef;
 	}
     }
-    if (key = AvARRAY(av) - AvALLOC(av)) {
+    if ((key = AvARRAY(av) - AvALLOC(av))) {
 	AvMAX(av) += key;
 	SvPVX(av) = (char*)AvALLOC(av);
     }
@@ -358,8 +425,16 @@ av_clear(register AV *av)
 
 }
 
+/*
+=for apidoc av_undef
+
+Undefines the array.  Frees the memory used by the array itself.
+
+=cut
+*/
+
 void
-av_undef(register AV *av)
+Perl_av_undef(pTHX_ register AV *av)
 {
     register I32 key;
 
@@ -386,16 +461,25 @@ av_undef(register AV *av)
     }
 }
 
+/*
+=for apidoc av_push
+
+Pushes an SV onto the end of the array.  The array will grow automatically
+to accommodate the addition.
+
+=cut
+*/
+
 void
-av_push(register AV *av, SV *val)
+Perl_av_push(pTHX_ register AV *av, SV *val)
 {             
     MAGIC *mg;
     if (!av)
 	return;
     if (SvREADONLY(av))
-	croak(no_modify);
+	Perl_croak(aTHX_ PL_no_modify);
 
-    if (mg = SvTIED_mg((SV*)av, 'P')) {
+    if ((mg = SvTIED_mg((SV*)av, 'P'))) {
 	dSP;
 	PUSHSTACKi(PERLSI_MAGIC);
 	PUSHMARK(SP);
@@ -404,7 +488,7 @@ av_push(register AV *av, SV *val)
 	PUSHs(val);
 	PUTBACK;
 	ENTER;
-	perl_call_method("PUSH", G_SCALAR|G_DISCARD);
+	call_method("PUSH", G_SCALAR|G_DISCARD);
 	LEAVE;
 	POPSTACK;
 	return;
@@ -412,8 +496,17 @@ av_push(register AV *av, SV *val)
     av_store(av,AvFILLp(av)+1,val);
 }
 
+/*
+=for apidoc av_pop
+
+Pops an SV off the end of the array.  Returns C<&PL_sv_undef> if the array
+is empty.
+
+=cut
+*/
+
 SV *
-av_pop(register AV *av)
+Perl_av_pop(pTHX_ register AV *av)
 {
     SV *retval;
     MAGIC* mg;
@@ -421,15 +514,15 @@ av_pop(register AV *av)
     if (!av || AvFILL(av) < 0)
 	return &PL_sv_undef;
     if (SvREADONLY(av))
-	croak(no_modify);
-    if (mg = SvTIED_mg((SV*)av, 'P')) {
+	Perl_croak(aTHX_ PL_no_modify);
+    if ((mg = SvTIED_mg((SV*)av, 'P'))) {
 	dSP;    
 	PUSHSTACKi(PERLSI_MAGIC);
 	PUSHMARK(SP);
 	XPUSHs(SvTIED_obj((SV*)av, mg));
 	PUTBACK;
 	ENTER;
-	if (perl_call_method("POP", G_SCALAR)) {
+	if (call_method("POP", G_SCALAR)) {
 	    retval = newSVsv(*PL_stack_sp--);    
 	} else {    
 	    retval = &PL_sv_undef;
@@ -445,8 +538,18 @@ av_pop(register AV *av)
     return retval;
 }
 
+/*
+=for apidoc av_unshift
+
+Unshift the given number of C values onto the beginning of the
+array.  The array will grow automatically to accommodate the addition.  You
+must then use C to assign values to these new elements.
+
+=cut
+*/
+
 void
-av_unshift(register AV *av, register I32 num)
+Perl_av_unshift(pTHX_ register AV *av, register I32 num)
 {
     register I32 i;
     register SV **ary;
@@ -455,9 +558,9 @@ av_unshift(register AV *av, register I32 num)
     if (!av || num <= 0)
 	return;
     if (SvREADONLY(av))
-	croak(no_modify);
+	Perl_croak(aTHX_ PL_no_modify);
 
-    if (mg = SvTIED_mg((SV*)av, 'P')) {
+    if ((mg = SvTIED_mg((SV*)av, 'P'))) {
 	dSP;
 	PUSHSTACKi(PERLSI_MAGIC);
 	PUSHMARK(SP);
@@ -468,7 +571,7 @@ av_unshift(register AV *av, register I32 num)
 	}
 	PUTBACK;
 	ENTER;
-	perl_call_method("UNSHIFT", G_SCALAR|G_DISCARD);
+	call_method("UNSHIFT", G_SCALAR|G_DISCARD);
 	LEAVE;
 	POPSTACK;
 	return;
@@ -498,8 +601,16 @@ av_unshift(register AV *av, register I32 num)
     }
 }
 
+/*
+=for apidoc av_shift
+
+Shifts an SV off the beginning of the array.
+
+=cut
+*/
+
 SV *
-av_shift(register AV *av)
+Perl_av_shift(pTHX_ register AV *av)
 {
     SV *retval;
     MAGIC* mg;
@@ -507,15 +618,15 @@ av_shift(register AV *av)
     if (!av || AvFILL(av) < 0)
 	return &PL_sv_undef;
     if (SvREADONLY(av))
-	croak(no_modify);
-    if (mg = SvTIED_mg((SV*)av, 'P')) {
+	Perl_croak(aTHX_ PL_no_modify);
+    if ((mg = SvTIED_mg((SV*)av, 'P'))) {
 	dSP;
 	PUSHSTACKi(PERLSI_MAGIC);
 	PUSHMARK(SP);
 	XPUSHs(SvTIED_obj((SV*)av, mg));
 	PUTBACK;
 	ENTER;
-	if (perl_call_method("SHIFT", G_SCALAR)) {
+	if (call_method("SHIFT", G_SCALAR)) {
 	    retval = newSVsv(*PL_stack_sp--);            
 	} else {    
 	    retval = &PL_sv_undef;
@@ -535,21 +646,30 @@ av_shift(register AV *av)
     return retval;
 }
 
+/*
+=for apidoc av_len
+
+Returns the highest index in the array.  Returns -1 if the array is
+empty.
+
+=cut
+*/
+
 I32
-av_len(register AV *av)
+Perl_av_len(pTHX_ register AV *av)
 {
     return AvFILL(av);
 }
 
 void
-av_fill(register AV *av, I32 fill)
+Perl_av_fill(pTHX_ register AV *av, I32 fill)
 {
     MAGIC *mg;
     if (!av)
-	croak("panic: null array");
+	Perl_croak(aTHX_ "panic: null array");
     if (fill < 0)
 	fill = -1;
-    if (mg = SvTIED_mg((SV*)av, 'P')) {
+    if ((mg = SvTIED_mg((SV*)av, 'P'))) {
 	dSP;            
 	ENTER;
 	SAVETMPS;
@@ -559,7 +679,7 @@ av_fill(register AV *av, I32 fill)
 	PUSHs(SvTIED_obj((SV*)av, mg));
 	PUSHs(sv_2mortal(newSViv(fill+1)));
 	PUTBACK;
-	perl_call_method("STORESIZE", G_SCALAR|G_DISCARD);
+	call_method("STORESIZE", G_SCALAR|G_DISCARD);
 	POPSTACK;
 	FREETMPS;
 	LEAVE;
@@ -588,6 +708,86 @@ av_fill(register AV *av, I32 fill)
 	(void)av_store(av,fill,&PL_sv_undef);
 }
 
+SV *
+Perl_av_delete(pTHX_ AV *av, I32 key, I32 flags)
+{
+    SV *sv;
+
+    if (!av)
+	return Nullsv;
+    if (SvREADONLY(av))
+	Perl_croak(aTHX_ PL_no_modify);
+    if (key < 0) {
+	key += AvFILL(av) + 1;
+	if (key < 0)
+	    return Nullsv;
+    }
+    if (SvRMAGICAL(av)) {
+	SV **svp;
+	if ((mg_find((SV*)av,'P') || mg_find((SV*)av,'D'))
+	    && (svp = av_fetch(av, key, TRUE)))
+	{
+	    sv = *svp;
+	    mg_clear(sv);
+	    if (mg_find(sv, 'p')) {
+		sv_unmagic(sv, 'p');		/* No longer an element */
+		return sv;
+	    }
+	    return Nullsv;			/* element cannot be deleted */
+	}
+    }
+    if (key > AvFILLp(av))
+	return Nullsv;
+    else {
+	sv = AvARRAY(av)[key];
+	if (key == AvFILLp(av)) {
+	    do {
+		AvFILLp(av)--;
+	    } while (--key >= 0 && AvARRAY(av)[key] == &PL_sv_undef);
+	}
+	else
+	    AvARRAY(av)[key] = &PL_sv_undef;
+	if (SvSMAGICAL(av))
+	    mg_set((SV*)av);
+    }
+    if (flags & G_DISCARD) {
+	SvREFCNT_dec(sv);
+	sv = Nullsv;
+    }
+    return sv;
+}
+
+/*
+ * This relies on the fact that uninitialized array elements
+ * are set to &PL_sv_undef.
+ */
+
+bool
+Perl_av_exists(pTHX_ AV *av, I32 key)
+{
+    if (!av)
+	return FALSE;
+    if (key < 0) {
+	key += AvFILL(av) + 1;
+	if (key < 0)
+	    return FALSE;
+    }
+    if (SvRMAGICAL(av)) {
+	if (mg_find((SV*)av,'P') || mg_find((SV*)av,'D')) {
+	    SV *sv = sv_newmortal();
+	    mg_copy((SV*)av, sv, 0, key);
+	    magic_existspack(sv, mg_find(sv, 'p'));
+	    return SvTRUE(sv);
+	}
+    }
+    if (key <= AvFILLp(av) && AvARRAY(av)[key] != &PL_sv_undef
+	&& AvARRAY(av)[key])
+    {
+	return TRUE;
+    }
+    else
+	return FALSE;
+}
 
 /* AVHV: Support for treating arrays as if they were hashes.  The
  * first element of the array should be a hash reference that maps
@@ -595,16 +795,30 @@ av_fill(register AV *av, I32 fill)
  */
 
 STATIC I32
-avhv_index_sv(SV* sv)
+S_avhv_index_sv(pTHX_ SV* sv)
 {
     I32 index = SvIV(sv);
     if (index < 1)
-	croak("Bad index while coercing array into hash");
+	Perl_croak(aTHX_ "Bad index while coercing array into hash");
     return index;    
 }
 
+STATIC I32
+S_avhv_index(pTHX_ AV *av, SV *keysv, U32 hash)
+{
+    HV *keys;
+    HE *he;
+    STRLEN n_a;
+
+    keys = avhv_keys(av);
+    he = hv_fetch_ent(keys, keysv, FALSE, hash);
+    if (!he)
+        Perl_croak(aTHX_ "No such pseudo-hash field \"%s\"", SvPV(keysv,n_a));
+    return avhv_index_sv(HeVAL(he));
+}
+
 HV*
-avhv_keys(AV *av)
+Perl_avhv_keys(pTHX_ AV *av)
 {
     SV **keysp = av_fetch(av, 0, FALSE);
     if (keysp) {
@@ -617,39 +831,60 @@ avhv_keys(AV *av)
 		return (HV*)sv;
 	}
     }
-    croak("Can't coerce array into hash");
+    Perl_croak(aTHX_ "Can't coerce array into hash");
     return Nullhv;
 }
 
 SV**
-avhv_fetch_ent(AV *av, SV *keysv, I32 lval, U32 hash)
+Perl_avhv_store_ent(pTHX_ AV *av, SV *keysv, SV *val, U32 hash)
+{
+    return av_store(av, avhv_index(av, keysv, hash), val);
+}
+
+SV**
+Perl_avhv_fetch_ent(pTHX_ AV *av, SV *keysv, I32 lval, U32 hash)
+{
+    return av_fetch(av, avhv_index(av, keysv, hash), lval);
+}
+
+SV *
+Perl_avhv_delete_ent(pTHX_ AV *av, SV *keysv, I32 flags, U32 hash)
 {
-    SV **indsvp;
     HV *keys = avhv_keys(av);
     HE *he;
-    
+	
     he = hv_fetch_ent(keys, keysv, FALSE, hash);
-    if (!he)
-        croak("No such array field");
-    return av_fetch(av, avhv_index_sv(HeVAL(he)), lval);
+    if (!he || !SvOK(HeVAL(he)))
+	return Nullsv;
+
+    return av_delete(av, avhv_index_sv(HeVAL(he)), flags);
 }
 
+/* Check for the existence of an element named by a given key.
+ *
+ */
 bool
-avhv_exists_ent(AV *av, SV *keysv, U32 hash)
+Perl_avhv_exists_ent(pTHX_ AV *av, SV *keysv, U32 hash)
 {
     HV *keys = avhv_keys(av);
-    return hv_exists_ent(keys, keysv, hash);
+    HE *he;
+	
+    he = hv_fetch_ent(keys, keysv, FALSE, hash);
+    if (!he || !SvOK(HeVAL(he)))
+	return FALSE;
+
+    return av_exists(av, avhv_index_sv(HeVAL(he)));
 }
 
 HE *
-avhv_iternext(AV *av)
+Perl_avhv_iternext(pTHX_ AV *av)
 {
     HV *keys = avhv_keys(av);
     return hv_iternext(keys);
 }
 
 SV *
-avhv_iterval(AV *av, register HE *entry)
+Perl_avhv_iterval(pTHX_ AV *av, register HE *entry)
 {
     SV *sv = hv_iterval(avhv_keys(av), entry);
     return *av_fetch(av, avhv_index_sv(sv), TRUE);
diff --git a/gnu/usr.bin/perl/av.h b/gnu/usr.bin/perl/av.h
index bef763d3b17..6b66bfd1b1d 100644
--- a/gnu/usr.bin/perl/av.h
+++ b/gnu/usr.bin/perl/av.h
@@ -1,6 +1,6 @@
 /*    av.h
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -10,9 +10,9 @@
 struct xpvav {
     char*	xav_array;      /* pointer to first array element */
     SSize_t	xav_fill;       /* Index of last element present */
-    SSize_t	xav_max;        /* Number of elements for which array has space */
+    SSize_t	xav_max;        /* max index for which array has space */
     IV		xof_off;	/* ptr is incremented by offset */
-    double	xnv_nv;		/* numeric value, if any */
+    NV		xnv_nv;		/* numeric value, if any */
     MAGIC*	xmg_magic;	/* magic for scalar array */
     HV*		xmg_stash;	/* class package */
 
@@ -21,10 +21,40 @@ struct xpvav {
     U8		xav_flags;
 };
 
+
+/* AVf_REAL is set for all AVs whose xav_array contents are refcounted.
+ * Some things like "@_" and the scratchpad list do not set this, to
+ * indicate that they are cheating (for efficiency) by not refcounting
+ * the AV's contents.
+ * 
+ * AVf_REIFY is only meaningful on such "fake" AVs (i.e. where AVf_REAL
+ * is not set).  It indicates that the fake AV is capable of becoming
+ * real if the array needs to be modified in some way.  Functions that
+ * modify fake AVs check both flags to call av_reify() as appropriate.
+ *
+ * Note that the Perl stack has neither flag set. (Thus, items that go
+ * on the stack are never refcounted.)
+ *
+ * These internal details are subject to change any time.  AV
+ * manipulations external to perl should not care about any of this.
+ * GSAR 1999-09-10
+ */
 #define AVf_REAL 1	/* free old entries */
 #define AVf_REIFY 2	/* can become real */
+
+/* XXX this is not used anywhere */
 #define AVf_REUSED 4	/* got undeffed--don't turn old memory into SVs now */
 
+/*
+=for apidoc AmU||Nullav
+Null AV pointer.
+
+=for apidoc Am|int|AvFILL|AV* av
+Same as C.  Deprecated, use C instead.
+
+=cut
+*/
+
 #define Nullav Null(AV*)
 
 #define AvARRAY(av)	((SV**)((XPVAV*)  SvANY(av))->xav_array)
diff --git a/gnu/usr.bin/perl/bytecode.h b/gnu/usr.bin/perl/bytecode.h
deleted file mode 100644
index 7f0ab13a490..00000000000
--- a/gnu/usr.bin/perl/bytecode.h
+++ /dev/null
@@ -1,161 +0,0 @@
-typedef char *pvcontents;
-typedef char *strconst;
-typedef U32 PV;
-typedef char *op_tr_array;
-typedef int comment_t;
-typedef SV *svindex;
-typedef OP *opindex;
-typedef IV IV64;
-
-#ifdef INDIRECT_BGET_MACROS
-#define BGET_FREAD(argp, len, nelem)	\
-	 bs.fread((char*)(argp),(len),(nelem),bs.data)
-#define BGET_FGETC() bs.fgetc(bs.data)
-#else
-#define BGET_FREAD(argp, len, nelem) PerlIO_read(fp, (argp), (len)*(nelem))
-#define BGET_FGETC() PerlIO_getc(fp)
-#endif /* INDIRECT_BGET_MACROS */
-
-#define BGET_U32(arg)	\
-	BGET_FREAD(&arg, sizeof(U32), 1); arg = PerlSock_ntohl((U32)arg)
-#define BGET_I32(arg)	\
-	BGET_FREAD(&arg, sizeof(I32), 1); arg = (I32)PerlSock_ntohl((U32)arg)
-#define BGET_U16(arg)	\
-	BGET_FREAD(&arg, sizeof(U16), 1); arg = PerlSock_ntohs((U16)arg)
-#define BGET_U8(arg)	arg = BGET_FGETC()
-
-#if INDIRECT_BGET_MACROS
-#define BGET_PV(arg)	STMT_START {	\
-	BGET_U32(arg);			\
-	if (arg)			\
-	    bs.freadpv(arg, bs.data);	\
-	else {				\
-	    PL_bytecode_pv.xpv_pv = 0;		\
-	    PL_bytecode_pv.xpv_len = 0;		\
-	    PL_bytecode_pv.xpv_cur = 0;		\
-	}				\
-    } STMT_END
-#else
-#define BGET_PV(arg)	STMT_START {		\
-	BGET_U32(arg);				\
-	if (arg) {				\
-	    New(666, PL_bytecode_pv.xpv_pv, arg, char);	\
-	    PerlIO_read(fp, PL_bytecode_pv.xpv_pv, arg);	\
-	    PL_bytecode_pv.xpv_len = arg;			\
-	    PL_bytecode_pv.xpv_cur = arg - 1;		\
-	} else {				\
-	    PL_bytecode_pv.xpv_pv = 0;			\
-	    PL_bytecode_pv.xpv_len = 0;			\
-	    PL_bytecode_pv.xpv_cur = 0;			\
-	}					\
-    } STMT_END
-#endif /* INDIRECT_BGET_MACROS */
-
-#define BGET_comment_t(arg) \
-	do { arg = BGET_FGETC(); } while (arg != '\n' && arg != EOF)
-
-/*
- * In the following, sizeof(IV)*4 is just a way of encoding 32 on 64-bit-IV
- * machines such that 32-bit machine compilers don't whine about the shift
- * count being too high even though the code is never reached there.
- */
-#define BGET_IV64(arg) STMT_START {			\
-	U32 hi, lo;					\
-	BGET_U32(hi);					\
-	BGET_U32(lo);					\
-	if (sizeof(IV) == 8)				\
-	    arg = ((IV)hi << (sizeof(IV)*4) | lo);	\
-	else if (((I32)hi == -1 && (I32)lo < 0)		\
-		 || ((I32)hi == 0 && (I32)lo >= 0)) {	\
-	    arg = (I32)lo;				\
-	}						\
-	else {						\
-	    PL_bytecode_iv_overflows++;				\
-	    arg = 0;					\
-	}						\
-    } STMT_END
-
-#define BGET_op_tr_array(arg) do {	\
-	unsigned short *ary;		\
-	int i;				\
-	New(666, ary, 256, unsigned short); \
-	BGET_FREAD(ary, 256, 2);	\
-	for (i = 0; i < 256; i++)	\
-	    ary[i] = PerlSock_ntohs(ary[i]);	\
-	arg = (char *) ary;		\
-    } while (0)
-
-#define BGET_pvcontents(arg)	arg = PL_bytecode_pv.xpv_pv
-#define BGET_strconst(arg) STMT_START {	\
-	for (arg = PL_tokenbuf; (*arg = BGET_FGETC()); arg++) /* nothing */; \
-	arg = PL_tokenbuf;			\
-    } STMT_END
-
-#define BGET_double(arg) STMT_START {	\
-	char *str;			\
-	BGET_strconst(str);		\
-	arg = atof(str);		\
-    } STMT_END
-
-#define BGET_objindex(arg, type) STMT_START {	\
-	U32 ix;					\
-	BGET_U32(ix);				\
-	arg = (type)PL_bytecode_obj_list[ix];		\
-    } STMT_END
-#define BGET_svindex(arg) BGET_objindex(arg, svindex)
-#define BGET_opindex(arg) BGET_objindex(arg, opindex)
-
-#define BSET_ldspecsv(sv, arg) sv = PL_specialsv_list[arg]
-				    
-#define BSET_sv_refcnt_add(svrefcnt, arg)	svrefcnt += arg
-#define BSET_gp_refcnt_add(gprefcnt, arg)	gprefcnt += arg
-#define BSET_gp_share(sv, arg) STMT_START {	\
-	gp_free((GV*)sv);			\
-	GvGP(sv) = GvGP(arg);			\
-    } STMT_END
-
-#define BSET_gv_fetchpv(sv, arg)	sv = (SV*)gv_fetchpv(arg, TRUE, SVt_PV)
-#define BSET_gv_stashpv(sv, arg)	sv = (SV*)gv_stashpv(arg, TRUE)
-#define BSET_sv_magic(sv, arg)		sv_magic(sv, Nullsv, arg, 0, 0)
-#define BSET_mg_pv(mg, arg)	mg->mg_ptr = arg; mg->mg_len = PL_bytecode_pv.xpv_cur
-#define BSET_sv_upgrade(sv, arg)	(void)SvUPGRADE(sv, arg)
-#define BSET_xpv(sv)	do {	\
-	SvPV_set(sv, PL_bytecode_pv.xpv_pv);	\
-	SvCUR_set(sv, PL_bytecode_pv.xpv_cur);	\
-	SvLEN_set(sv, PL_bytecode_pv.xpv_len);	\
-    } while (0)
-#define BSET_av_extend(sv, arg)	av_extend((AV*)sv, arg)
-
-#define BSET_av_push(sv, arg)	av_push((AV*)sv, arg)
-#define BSET_hv_store(sv, arg)	\
-	hv_store((HV*)sv, PL_bytecode_pv.xpv_pv, PL_bytecode_pv.xpv_cur, arg, 0)
-#define BSET_pv_free(pv)	Safefree(pv.xpv_pv)
-#define BSET_pregcomp(o, arg) \
-	((PMOP*)o)->op_pmregexp = arg ? \
-		CALLREGCOMP(arg, arg + PL_bytecode_pv.xpv_cur, ((PMOP*)o)) : 0
-#define BSET_newsv(sv, arg)	sv = NEWSV(666,0); SvUPGRADE(sv, arg)
-#define BSET_newop(o, arg)	o = (OP*)safemalloc(optype_size[arg])
-#define BSET_newopn(o, arg) STMT_START {	\
-	OP *oldop = o;				\
-	BSET_newop(o, arg);			\
-	oldop->op_next = o;			\
-    } STMT_END
-
-#define BSET_ret(foo) return
-
-/*
- * Kludge special-case workaround for OP_MAPSTART
- * which needs the ppaddr for OP_GREPSTART. Blech.
- */
-#define BSET_op_type(o, arg) STMT_START {	\
-	o->op_type = arg;			\
-	if (arg == OP_MAPSTART)			\
-	    arg = OP_GREPSTART;			\
-	o->op_ppaddr = ppaddr[arg];		\
-    } STMT_END
-#define BSET_op_ppaddr(o, arg) croak("op_ppaddr not yet implemented")
-#define BSET_curpad(pad, arg) pad = AvARRAY(arg)
-
-#define BSET_OBJ_STORE(obj, ix)		\
-	(I32)ix > PL_bytecode_obj_list_fill ?	\
-	bset_obj_store(obj, (I32)ix) : (PL_bytecode_obj_list[ix] = obj)
diff --git a/gnu/usr.bin/perl/byterun.c b/gnu/usr.bin/perl/byterun.c
deleted file mode 100644
index 34beaf4f4b9..00000000000
--- a/gnu/usr.bin/perl/byterun.c
+++ /dev/null
@@ -1,867 +0,0 @@
-/*
- *      Copyright (c) 1996-1998 Malcolm Beattie
- *
- *      You may distribute under the terms of either the GNU General Public
- *      License or the Artistic License, as specified in the README file.
- *
- */
-/*
- * This file is autogenerated from bytecode.pl. Changes made here will be lost.
- */
-
-#include "EXTERN.h"
-#include "perl.h"
-
-void *
-bset_obj_store(void *obj, I32 ix)
-{
-    if (ix > PL_bytecode_obj_list_fill) {
-	if (PL_bytecode_obj_list_fill == -1)
-	    New(666, PL_bytecode_obj_list, ix + 1, void*);
-	else
-	    Renew(PL_bytecode_obj_list, ix + 1, void*);
-	PL_bytecode_obj_list_fill = ix;
-    }
-    PL_bytecode_obj_list[ix] = obj;
-    return obj;
-}
-
-#ifdef INDIRECT_BGET_MACROS
-void byterun(struct bytestream bs)
-#else
-void byterun(PerlIO *fp)
-#endif /* INDIRECT_BGET_MACROS */
-{
-    dTHR;
-    int insn;
-    while ((insn = BGET_FGETC()) != EOF) {
-	switch (insn) {
-	  case INSN_COMMENT:		/* 35 */
-	    {
-		comment_t arg;
-		BGET_comment_t(arg);
-		arg = arg;
-		break;
-	    }
-	  case INSN_NOP:		/* 10 */
-	    {
-		break;
-	    }
-	  case INSN_RET:		/* 0 */
-	    {
-		BSET_ret(none);
-		break;
-	    }
-	  case INSN_LDSV:		/* 1 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		PL_bytecode_sv = arg;
-		break;
-	    }
-	  case INSN_LDOP:		/* 2 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		PL_op = arg;
-		break;
-	    }
-	  case INSN_STSV:		/* 3 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		BSET_OBJ_STORE(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_STOP:		/* 4 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		BSET_OBJ_STORE(PL_op, arg);
-		break;
-	    }
-	  case INSN_LDSPECSV:		/* 5 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		BSET_ldspecsv(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_NEWSV:		/* 6 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		BSET_newsv(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_NEWOP:		/* 7 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		BSET_newop(PL_op, arg);
-		break;
-	    }
-	  case INSN_NEWOPN:		/* 8 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		BSET_newopn(PL_op, arg);
-		break;
-	    }
-	  case INSN_NEWPV:		/* 9 */
-	    {
-		PV arg;
-		BGET_PV(arg);
-		break;
-	    }
-	  case INSN_PV_CUR:		/* 11 */
-	    {
-		STRLEN arg;
-		BGET_U32(arg);
-		PL_bytecode_pv.xpv_cur = arg;
-		break;
-	    }
-	  case INSN_PV_FREE:		/* 12 */
-	    {
-		BSET_pv_free(PL_bytecode_pv);
-		break;
-	    }
-	  case INSN_SV_UPGRADE:		/* 13 */
-	    {
-		char arg;
-		BGET_U8(arg);
-		BSET_sv_upgrade(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_SV_REFCNT:		/* 14 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		SvREFCNT(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_SV_REFCNT_ADD:		/* 15 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		BSET_sv_refcnt_add(SvREFCNT(PL_bytecode_sv), arg);
-		break;
-	    }
-	  case INSN_SV_FLAGS:		/* 16 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		SvFLAGS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XRV:		/* 17 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		SvRV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XPV:		/* 18 */
-	    {
-		BSET_xpv(PL_bytecode_sv);
-		break;
-	    }
-	  case INSN_XIV32:		/* 19 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		SvIVX(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIV64:		/* 20 */
-	    {
-		IV64 arg;
-		BGET_IV64(arg);
-		SvIVX(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XNV:		/* 21 */
-	    {
-		double arg;
-		BGET_double(arg);
-		SvNVX(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XLV_TARGOFF:		/* 22 */
-	    {
-		STRLEN arg;
-		BGET_U32(arg);
-		LvTARGOFF(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XLV_TARGLEN:		/* 23 */
-	    {
-		STRLEN arg;
-		BGET_U32(arg);
-		LvTARGLEN(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XLV_TARG:		/* 24 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		LvTARG(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XLV_TYPE:		/* 25 */
-	    {
-		char arg;
-		BGET_U8(arg);
-		LvTYPE(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XBM_USEFUL:		/* 26 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		BmUSEFUL(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XBM_PREVIOUS:		/* 27 */
-	    {
-		U16 arg;
-		BGET_U16(arg);
-		BmPREVIOUS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XBM_RARE:		/* 28 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		BmRARE(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XFM_LINES:		/* 29 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		FmLINES(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_LINES:		/* 30 */
-	    {
-		long arg;
-		BGET_I32(arg);
-		IoLINES(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_PAGE:		/* 31 */
-	    {
-		long arg;
-		BGET_I32(arg);
-		IoPAGE(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_PAGE_LEN:		/* 32 */
-	    {
-		long arg;
-		BGET_I32(arg);
-		IoPAGE_LEN(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_LINES_LEFT:		/* 33 */
-	    {
-		long arg;
-		BGET_I32(arg);
-		IoLINES_LEFT(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_TOP_NAME:		/* 34 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		IoTOP_NAME(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_TOP_GV:		/* 36 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&IoTOP_GV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_FMT_NAME:		/* 37 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		IoFMT_NAME(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_FMT_GV:		/* 38 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&IoFMT_GV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_BOTTOM_NAME:		/* 39 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		IoBOTTOM_NAME(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_BOTTOM_GV:		/* 40 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&IoBOTTOM_GV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_SUBPROCESS:		/* 41 */
-	    {
-		short arg;
-		BGET_U16(arg);
-		IoSUBPROCESS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_TYPE:		/* 42 */
-	    {
-		char arg;
-		BGET_U8(arg);
-		IoTYPE(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XIO_FLAGS:		/* 43 */
-	    {
-		char arg;
-		BGET_U8(arg);
-		IoFLAGS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_STASH:		/* 44 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&CvSTASH(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_START:		/* 45 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		CvSTART(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_ROOT:		/* 46 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		CvROOT(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_GV:		/* 47 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&CvGV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_FILEGV:		/* 48 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&CvFILEGV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_DEPTH:		/* 49 */
-	    {
-		long arg;
-		BGET_I32(arg);
-		CvDEPTH(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_PADLIST:		/* 50 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&CvPADLIST(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_OUTSIDE:		/* 51 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&CvOUTSIDE(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XCV_FLAGS:		/* 52 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		CvFLAGS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_AV_EXTEND:		/* 53 */
-	    {
-		SSize_t arg;
-		BGET_I32(arg);
-		BSET_av_extend(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_AV_PUSH:		/* 54 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		BSET_av_push(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_XAV_FILL:		/* 55 */
-	    {
-		SSize_t arg;
-		BGET_I32(arg);
-		AvFILLp(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XAV_MAX:		/* 56 */
-	    {
-		SSize_t arg;
-		BGET_I32(arg);
-		AvMAX(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XAV_FLAGS:		/* 57 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		AvFLAGS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XHV_RITER:		/* 58 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		HvRITER(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_XHV_NAME:		/* 59 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		HvNAME(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_HV_STORE:		/* 60 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		BSET_hv_store(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_SV_MAGIC:		/* 61 */
-	    {
-		char arg;
-		BGET_U8(arg);
-		BSET_sv_magic(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_MG_OBJ:		/* 62 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		SvMAGIC(PL_bytecode_sv)->mg_obj = arg;
-		break;
-	    }
-	  case INSN_MG_PRIVATE:		/* 63 */
-	    {
-		U16 arg;
-		BGET_U16(arg);
-		SvMAGIC(PL_bytecode_sv)->mg_private = arg;
-		break;
-	    }
-	  case INSN_MG_FLAGS:		/* 64 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		SvMAGIC(PL_bytecode_sv)->mg_flags = arg;
-		break;
-	    }
-	  case INSN_MG_PV:		/* 65 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		BSET_mg_pv(SvMAGIC(PL_bytecode_sv), arg);
-		break;
-	    }
-	  case INSN_XMG_STASH:		/* 66 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&SvSTASH(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GV_FETCHPV:		/* 67 */
-	    {
-		strconst arg;
-		BGET_strconst(arg);
-		BSET_gv_fetchpv(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_GV_STASHPV:		/* 68 */
-	    {
-		strconst arg;
-		BGET_strconst(arg);
-		BSET_gv_stashpv(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_GP_SV:		/* 69 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		GvSV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_REFCNT:		/* 70 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		GvREFCNT(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_REFCNT_ADD:		/* 71 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		BSET_gp_refcnt_add(GvREFCNT(PL_bytecode_sv), arg);
-		break;
-	    }
-	  case INSN_GP_AV:		/* 72 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&GvAV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_HV:		/* 73 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&GvHV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_CV:		/* 74 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&GvCV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_FILEGV:		/* 75 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&GvFILEGV(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_IO:		/* 76 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&GvIOp(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_FORM:		/* 77 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&GvFORM(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_CVGEN:		/* 78 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		GvCVGEN(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_LINE:		/* 79 */
-	    {
-		line_t arg;
-		BGET_U16(arg);
-		GvLINE(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_GP_SHARE:		/* 80 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		BSET_gp_share(PL_bytecode_sv, arg);
-		break;
-	    }
-	  case INSN_XGV_FLAGS:		/* 81 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		GvFLAGS(PL_bytecode_sv) = arg;
-		break;
-	    }
-	  case INSN_OP_NEXT:		/* 82 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		PL_op->op_next = arg;
-		break;
-	    }
-	  case INSN_OP_SIBLING:		/* 83 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		PL_op->op_sibling = arg;
-		break;
-	    }
-	  case INSN_OP_PPADDR:		/* 84 */
-	    {
-		strconst arg;
-		BGET_strconst(arg);
-		BSET_op_ppaddr(PL_op->op_ppaddr, arg);
-		break;
-	    }
-	  case INSN_OP_TARG:		/* 85 */
-	    {
-		PADOFFSET arg;
-		BGET_U32(arg);
-		PL_op->op_targ = arg;
-		break;
-	    }
-	  case INSN_OP_TYPE:		/* 86 */
-	    {
-		OPCODE arg;
-		BGET_U16(arg);
-		BSET_op_type(PL_op, arg);
-		break;
-	    }
-	  case INSN_OP_SEQ:		/* 87 */
-	    {
-		U16 arg;
-		BGET_U16(arg);
-		PL_op->op_seq = arg;
-		break;
-	    }
-	  case INSN_OP_FLAGS:		/* 88 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		PL_op->op_flags = arg;
-		break;
-	    }
-	  case INSN_OP_PRIVATE:		/* 89 */
-	    {
-		U8 arg;
-		BGET_U8(arg);
-		PL_op->op_private = arg;
-		break;
-	    }
-	  case INSN_OP_FIRST:		/* 90 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cUNOP->op_first = arg;
-		break;
-	    }
-	  case INSN_OP_LAST:		/* 91 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cBINOP->op_last = arg;
-		break;
-	    }
-	  case INSN_OP_OTHER:		/* 92 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cLOGOP->op_other = arg;
-		break;
-	    }
-	  case INSN_OP_TRUE:		/* 93 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cCONDOP->op_true = arg;
-		break;
-	    }
-	  case INSN_OP_FALSE:		/* 94 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cCONDOP->op_false = arg;
-		break;
-	    }
-	  case INSN_OP_CHILDREN:		/* 95 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		cLISTOP->op_children = arg;
-		break;
-	    }
-	  case INSN_OP_PMREPLROOT:		/* 96 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cPMOP->op_pmreplroot = arg;
-		break;
-	    }
-	  case INSN_OP_PMREPLROOTGV:		/* 97 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&cPMOP->op_pmreplroot = arg;
-		break;
-	    }
-	  case INSN_OP_PMREPLSTART:		/* 98 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cPMOP->op_pmreplstart = arg;
-		break;
-	    }
-	  case INSN_OP_PMNEXT:		/* 99 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		*(OP**)&cPMOP->op_pmnext = arg;
-		break;
-	    }
-	  case INSN_PREGCOMP:		/* 100 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		BSET_pregcomp(PL_op, arg);
-		break;
-	    }
-	  case INSN_OP_PMFLAGS:		/* 101 */
-	    {
-		U16 arg;
-		BGET_U16(arg);
-		cPMOP->op_pmflags = arg;
-		break;
-	    }
-	  case INSN_OP_PMPERMFLAGS:		/* 102 */
-	    {
-		U16 arg;
-		BGET_U16(arg);
-		cPMOP->op_pmpermflags = arg;
-		break;
-	    }
-	  case INSN_OP_SV:		/* 103 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		cSVOP->op_sv = arg;
-		break;
-	    }
-	  case INSN_OP_GV:		/* 104 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&cGVOP->op_gv = arg;
-		break;
-	    }
-	  case INSN_OP_PV:		/* 105 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		cPVOP->op_pv = arg;
-		break;
-	    }
-	  case INSN_OP_PV_TR:		/* 106 */
-	    {
-		op_tr_array arg;
-		BGET_op_tr_array(arg);
-		cPVOP->op_pv = arg;
-		break;
-	    }
-	  case INSN_OP_REDOOP:		/* 107 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cLOOP->op_redoop = arg;
-		break;
-	    }
-	  case INSN_OP_NEXTOP:		/* 108 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cLOOP->op_nextop = arg;
-		break;
-	    }
-	  case INSN_OP_LASTOP:		/* 109 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		cLOOP->op_lastop = arg;
-		break;
-	    }
-	  case INSN_COP_LABEL:		/* 110 */
-	    {
-		pvcontents arg;
-		BGET_pvcontents(arg);
-		cCOP->cop_label = arg;
-		break;
-	    }
-	  case INSN_COP_STASH:		/* 111 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&cCOP->cop_stash = arg;
-		break;
-	    }
-	  case INSN_COP_FILEGV:		/* 112 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		*(SV**)&cCOP->cop_filegv = arg;
-		break;
-	    }
-	  case INSN_COP_SEQ:		/* 113 */
-	    {
-		U32 arg;
-		BGET_U32(arg);
-		cCOP->cop_seq = arg;
-		break;
-	    }
-	  case INSN_COP_ARYBASE:		/* 114 */
-	    {
-		I32 arg;
-		BGET_I32(arg);
-		cCOP->cop_arybase = arg;
-		break;
-	    }
-	  case INSN_COP_LINE:		/* 115 */
-	    {
-		line_t arg;
-		BGET_U16(arg);
-		cCOP->cop_line = arg;
-		break;
-	    }
-	  case INSN_MAIN_START:		/* 116 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		PL_main_start = arg;
-		break;
-	    }
-	  case INSN_MAIN_ROOT:		/* 117 */
-	    {
-		opindex arg;
-		BGET_opindex(arg);
-		PL_main_root = arg;
-		break;
-	    }
-	  case INSN_CURPAD:		/* 118 */
-	    {
-		svindex arg;
-		BGET_svindex(arg);
-		BSET_curpad(PL_curpad, arg);
-		break;
-	    }
-	  default:
-	    croak("Illegal bytecode instruction %d\n", insn);
-	    /* NOTREACHED */
-	}
-    }
-}
diff --git a/gnu/usr.bin/perl/byterun.h b/gnu/usr.bin/perl/byterun.h
deleted file mode 100644
index bd54c76e763..00000000000
--- a/gnu/usr.bin/perl/byterun.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- *      Copyright (c) 1996-1998 Malcolm Beattie
- *
- *      You may distribute under the terms of either the GNU General Public
- *      License or the Artistic License, as specified in the README file.
- *
- */
-/*
- * This file is autogenerated from bytecode.pl. Changes made here will be lost.
- */
-#ifdef INDIRECT_BGET_MACROS
-struct bytestream {
-    void *data;
-    int (*fgetc)(void *);
-    int (*fread)(char *, size_t, size_t, void*);
-    void (*freadpv)(U32, void*);
-};
-#endif /* INDIRECT_BGET_MACROS */
-
-void *bset_obj_store _((void *, I32));
-
-enum {
-    INSN_RET,			/* 0 */
-    INSN_LDSV,			/* 1 */
-    INSN_LDOP,			/* 2 */
-    INSN_STSV,			/* 3 */
-    INSN_STOP,			/* 4 */
-    INSN_LDSPECSV,			/* 5 */
-    INSN_NEWSV,			/* 6 */
-    INSN_NEWOP,			/* 7 */
-    INSN_NEWOPN,			/* 8 */
-    INSN_NEWPV,			/* 9 */
-    INSN_NOP,			/* 10 */
-    INSN_PV_CUR,			/* 11 */
-    INSN_PV_FREE,			/* 12 */
-    INSN_SV_UPGRADE,			/* 13 */
-    INSN_SV_REFCNT,			/* 14 */
-    INSN_SV_REFCNT_ADD,			/* 15 */
-    INSN_SV_FLAGS,			/* 16 */
-    INSN_XRV,			/* 17 */
-    INSN_XPV,			/* 18 */
-    INSN_XIV32,			/* 19 */
-    INSN_XIV64,			/* 20 */
-    INSN_XNV,			/* 21 */
-    INSN_XLV_TARGOFF,			/* 22 */
-    INSN_XLV_TARGLEN,			/* 23 */
-    INSN_XLV_TARG,			/* 24 */
-    INSN_XLV_TYPE,			/* 25 */
-    INSN_XBM_USEFUL,			/* 26 */
-    INSN_XBM_PREVIOUS,			/* 27 */
-    INSN_XBM_RARE,			/* 28 */
-    INSN_XFM_LINES,			/* 29 */
-    INSN_XIO_LINES,			/* 30 */
-    INSN_XIO_PAGE,			/* 31 */
-    INSN_XIO_PAGE_LEN,			/* 32 */
-    INSN_XIO_LINES_LEFT,			/* 33 */
-    INSN_XIO_TOP_NAME,			/* 34 */
-    INSN_COMMENT,			/* 35 */
-    INSN_XIO_TOP_GV,			/* 36 */
-    INSN_XIO_FMT_NAME,			/* 37 */
-    INSN_XIO_FMT_GV,			/* 38 */
-    INSN_XIO_BOTTOM_NAME,			/* 39 */
-    INSN_XIO_BOTTOM_GV,			/* 40 */
-    INSN_XIO_SUBPROCESS,			/* 41 */
-    INSN_XIO_TYPE,			/* 42 */
-    INSN_XIO_FLAGS,			/* 43 */
-    INSN_XCV_STASH,			/* 44 */
-    INSN_XCV_START,			/* 45 */
-    INSN_XCV_ROOT,			/* 46 */
-    INSN_XCV_GV,			/* 47 */
-    INSN_XCV_FILEGV,			/* 48 */
-    INSN_XCV_DEPTH,			/* 49 */
-    INSN_XCV_PADLIST,			/* 50 */
-    INSN_XCV_OUTSIDE,			/* 51 */
-    INSN_XCV_FLAGS,			/* 52 */
-    INSN_AV_EXTEND,			/* 53 */
-    INSN_AV_PUSH,			/* 54 */
-    INSN_XAV_FILL,			/* 55 */
-    INSN_XAV_MAX,			/* 56 */
-    INSN_XAV_FLAGS,			/* 57 */
-    INSN_XHV_RITER,			/* 58 */
-    INSN_XHV_NAME,			/* 59 */
-    INSN_HV_STORE,			/* 60 */
-    INSN_SV_MAGIC,			/* 61 */
-    INSN_MG_OBJ,			/* 62 */
-    INSN_MG_PRIVATE,			/* 63 */
-    INSN_MG_FLAGS,			/* 64 */
-    INSN_MG_PV,			/* 65 */
-    INSN_XMG_STASH,			/* 66 */
-    INSN_GV_FETCHPV,			/* 67 */
-    INSN_GV_STASHPV,			/* 68 */
-    INSN_GP_SV,			/* 69 */
-    INSN_GP_REFCNT,			/* 70 */
-    INSN_GP_REFCNT_ADD,			/* 71 */
-    INSN_GP_AV,			/* 72 */
-    INSN_GP_HV,			/* 73 */
-    INSN_GP_CV,			/* 74 */
-    INSN_GP_FILEGV,			/* 75 */
-    INSN_GP_IO,			/* 76 */
-    INSN_GP_FORM,			/* 77 */
-    INSN_GP_CVGEN,			/* 78 */
-    INSN_GP_LINE,			/* 79 */
-    INSN_GP_SHARE,			/* 80 */
-    INSN_XGV_FLAGS,			/* 81 */
-    INSN_OP_NEXT,			/* 82 */
-    INSN_OP_SIBLING,			/* 83 */
-    INSN_OP_PPADDR,			/* 84 */
-    INSN_OP_TARG,			/* 85 */
-    INSN_OP_TYPE,			/* 86 */
-    INSN_OP_SEQ,			/* 87 */
-    INSN_OP_FLAGS,			/* 88 */
-    INSN_OP_PRIVATE,			/* 89 */
-    INSN_OP_FIRST,			/* 90 */
-    INSN_OP_LAST,			/* 91 */
-    INSN_OP_OTHER,			/* 92 */
-    INSN_OP_TRUE,			/* 93 */
-    INSN_OP_FALSE,			/* 94 */
-    INSN_OP_CHILDREN,			/* 95 */
-    INSN_OP_PMREPLROOT,			/* 96 */
-    INSN_OP_PMREPLROOTGV,			/* 97 */
-    INSN_OP_PMREPLSTART,			/* 98 */
-    INSN_OP_PMNEXT,			/* 99 */
-    INSN_PREGCOMP,			/* 100 */
-    INSN_OP_PMFLAGS,			/* 101 */
-    INSN_OP_PMPERMFLAGS,			/* 102 */
-    INSN_OP_SV,			/* 103 */
-    INSN_OP_GV,			/* 104 */
-    INSN_OP_PV,			/* 105 */
-    INSN_OP_PV_TR,			/* 106 */
-    INSN_OP_REDOOP,			/* 107 */
-    INSN_OP_NEXTOP,			/* 108 */
-    INSN_OP_LASTOP,			/* 109 */
-    INSN_COP_LABEL,			/* 110 */
-    INSN_COP_STASH,			/* 111 */
-    INSN_COP_FILEGV,			/* 112 */
-    INSN_COP_SEQ,			/* 113 */
-    INSN_COP_ARYBASE,			/* 114 */
-    INSN_COP_LINE,			/* 115 */
-    INSN_MAIN_START,			/* 116 */
-    INSN_MAIN_ROOT,			/* 117 */
-    INSN_CURPAD,			/* 118 */
-    MAX_INSN = 118
-};
-
-enum {
-    OPt_OP,		/* 0 */
-    OPt_UNOP,		/* 1 */
-    OPt_BINOP,		/* 2 */
-    OPt_LOGOP,		/* 3 */
-    OPt_CONDOP,		/* 4 */
-    OPt_LISTOP,		/* 5 */
-    OPt_PMOP,		/* 6 */
-    OPt_SVOP,		/* 7 */
-    OPt_GVOP,		/* 8 */
-    OPt_PVOP,		/* 9 */
-    OPt_LOOP,		/* 10 */
-    OPt_COP		/* 11 */
-};
-
-EXT int optype_size[]
-#ifdef DOINIT
-= {
-    sizeof(OP),
-    sizeof(UNOP),
-    sizeof(BINOP),
-    sizeof(LOGOP),
-    sizeof(CONDOP),
-    sizeof(LISTOP),
-    sizeof(PMOP),
-    sizeof(SVOP),
-    sizeof(GVOP),
-    sizeof(PVOP),
-    sizeof(LOOP),
-    sizeof(COP)
-}
-#endif /* DOINIT */
-;
-
-#define INIT_SPECIALSV_LIST STMT_START { \
-	PL_specialsv_list[0] = Nullsv; \
-	PL_specialsv_list[1] = &PL_sv_undef; \
-	PL_specialsv_list[2] = &PL_sv_yes; \
-	PL_specialsv_list[3] = &PL_sv_no; \
-    } STMT_END
diff --git a/gnu/usr.bin/perl/cflags.SH b/gnu/usr.bin/perl/cflags.SH
index 8a1ba8295c8..ec6dc3570e4 100644
--- a/gnu/usr.bin/perl/cflags.SH
+++ b/gnu/usr.bin/perl/cflags.SH
@@ -28,7 +28,7 @@ $startsh
 
 : In the following dollars and backticks do not need the extra backslash.
 $spitshell >>cflags <<'!NO!SUBS!'
-case $CONFIG in
+case $CONFIGDOTSH in
 '')
 	if test -f config.sh; then TOP=.;
 	elif test -f ../config.sh; then TOP=..;
@@ -65,7 +65,7 @@ case $# in
 0) set *.c; echo "The current C flags are:" ;;
 esac
 
-set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g'`
+set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"`
 
 for file do
 
@@ -76,7 +76,10 @@ for file do
 
     : allow variables like toke_cflags to be evaluated
 
-    eval 'eval ${'"${file}_cflags"'-""}'
+    if echo $file | grep -v / >/dev/null
+    then
+      eval 'eval ${'"${file}_cflags"'-""}'
+    fi
 
     : or customize here
 
@@ -102,6 +105,7 @@ for file do
     miniperlmain) ;;
     op) ;;
     perl) ;;
+    perlapi) ;;
     perlmain) ;;
     perly) ;;
     pp) ;;
diff --git a/gnu/usr.bin/perl/config_h.SH b/gnu/usr.bin/perl/config_h.SH
index 0b42d2928d3..0f6f19acf76 100644
--- a/gnu/usr.bin/perl/config_h.SH
+++ b/gnu/usr.bin/perl/config_h.SH
@@ -44,32 +44,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define LOC_SED 	"$full_sed"	/**/
 
-/* BIN:
- *	This symbol holds the path of the bin directory where the package will
- *	be installed. Program must be prepared to deal with ~name substitution.
- */
-/* BIN_EXP:
- *	This symbol is the filename expanded version of the BIN symbol, for
- *	programs that do not want to deal with that at run-time.
- */
-#define BIN "$bin"	/**/
-#define BIN_EXP "$binexp"	/**/
-
-/* CPPSTDIN:
- *	This symbol contains the first part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
- *	call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- *	This symbol contains the second part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
- *	to specify standard input, otherwise the value is "".
- */
-#define CPPSTDIN "$cppstdin"
-#define CPPMINUS "$cppminus"
-
 /* HAS_ALARM:
  *	This symbol, if defined, indicates that the alarm routine is
  *	available.
@@ -215,12 +189,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_fgetpos HAS_FGETPOS	/**/
 
-/* FLEXFILENAMES:
- *	This symbol, if defined, indicates that the system supports filenames
- *	longer than 14 characters.
- */
-#$d_flexfnam	FLEXFILENAMES		/**/
-
 /* HAS_FLOCK:
  *	This symbol, if defined, indicates that the flock routine is
  *	available to do file locking.
@@ -239,54 +207,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_fsetpos HAS_FSETPOS	/**/
 
-/* I_SYS_MOUNT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-#$i_sysmount I_SYS_MOUNT		/**/
-
-/* HAS_FSTATFS:
- *	This symbol, if defined, indicates that the fstatfs routine is
- *	available to stat the filesystem of a file descriptor.
- */
-#$d_fstatfs HAS_FSTATFS	/**/
-
-/* HAS_STRUCT_STATFS_FLAGS:
- *	This symbol, if defined, indicates that the struct statfs has
- *	the f_flags member for mount flags.
- */
-#$d_statfsflags HAS_STRUCT_STATFS_FLAGS	/**/
-
-/* I_SYS_STATVFS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-#$i_sysstatvfs I_SYS_STATVFS		/**/
-
-/* HAS_FSTATVFS:
- *	This symbol, if defined, indicates that the fstatvfs routine is
- *	available to stat the filesystem of a file descriptor.
- */
-#$d_fstatvfs HAS_FSTATVFS	/**/
-
-/* I_MNTENT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-#$i_mntent I_MNTENT		/**/
-
-/* HAS_GETMNTENT:
- *	This symbol, if defined, indicates that the getmntent routine is
- *	available to lookup mount entries in some data base or other.
- */
-#$d_getmntent HAS_GETMNTENT	/**/
-
-/* HAS_HASMNTOPT:
- *	This symbol, if defined, indicates that the hasmntopt routine is
- *	available to query mount entries returned by getmntent.
- */
-#$d_hasmntopt HAS_HASMNTOPT	/**/
-
 /* HAS_GETTIMEOFDAY:
  *	This symbol, if defined, indicates that the gettimeofday() system
  *	call is available for a sub-second accuracy clock. Usually, the file
@@ -305,13 +225,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_getgrps HAS_GETGROUPS		/**/
 
-/* HAS_UNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
- *	and PHOSTNAME.
- */
-#$d_uname HAS_UNAME		/**/
-
 /* HAS_GETLOGIN:
  *	This symbol, if defined, indicates that the getlogin routine is
  *	available to get the login name.
@@ -354,31 +267,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_getprior HAS_GETPRIORITY		/**/
 
-/* HAS_HTONL:
- *	This symbol, if defined, indicates that the htonl() routine (and
- *	friends htons() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_HTONS:
- *	This symbol, if defined, indicates that the htons() routine (and
- *	friends htonl() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHL:
- *	This symbol, if defined, indicates that the ntohl() routine (and
- *	friends htonl() htons() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHS:
- *	This symbol, if defined, indicates that the ntohs() routine (and
- *	friends htonl() htons() ntohl()) are available to do network
- *	order byte swapping.
- */
-#$d_htonl HAS_HTONL		/**/
-#$d_htonl HAS_HTONS		/**/
-#$d_htonl HAS_NTOHL		/**/
-#$d_htonl HAS_NTOHS		/**/
-
 /* HAS_INET_ATON:
  *	This symbol, if defined, indicates to the C program that the
  *	inet_aton() function is available to parse IP address "dotted-quad"
@@ -482,11 +370,17 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_mktime HAS_MKTIME		/**/
 
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
+/* HAS_MSYNC:
+ *	This symbol, if defined, indicates that the msync system call is
+ *	available to synchronize a mapped file.
  */
-#$d_msg HAS_MSG		/**/
+#$d_msync HAS_MSYNC		/**/
+
+/* HAS_MUNMAP:
+ *	This symbol, if defined, indicates that the munmap system call is
+ *	available to unmap a region, usually mapped by mmap().
+ */
+#$d_munmap HAS_MUNMAP		/**/
 
 /* HAS_NICE:
  *	This symbol, if defined, indicates that the nice routine is
@@ -578,12 +472,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_select HAS_SELECT	/**/
 
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-#$d_sem HAS_SEM		/**/
-
 /* HAS_SETEGID:
  *	This symbol, if defined, indicates that the setegid routine is available
  *	to change the effective gid of the current program.
@@ -683,12 +571,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_setsid HAS_SETSID	/**/
 
-/* HAS_SHM:
- *	This symbol, if defined, indicates that the entire shm*(2) library is
- *	supported.
- */
-#$d_shm HAS_SHM		/**/
-
 /* Shmat_t:
  *	This symbol holds the return type of the shmat() system call.
  *	Usually set to 'void *' or 'char *'.
@@ -703,12 +585,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #define Shmat_t $shmattype	/**/
 #$d_shmatprototype HAS_SHMAT_PROTOTYPE	/**/
 
-/* USE_STAT_BLOCKS:
- *	This symbol is defined if this system has a stat structure declaring
- *	st_blksize and st_blocks.
- */
-#$d_statblks USE_STAT_BLOCKS 	/**/
-
 /* HAS_STRCHR:
  *	This symbol is defined to indicate that the strchr()/strrchr()
  *	functions are available for string searching. If not, try the
@@ -734,25 +610,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_strctcpy	USE_STRUCT_COPY	/**/
 
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- *	This symbol, if defined, indicates that the sys_errlist array is
- *	available to translate error numbers to strings. The extern int
- *	sys_nerr gives the size of that table.
- */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#$d_strerror HAS_STRERROR		/**/
-#$d_syserrlst HAS_SYS_ERRLIST	/**/
-#define Strerror(e) $d_strerrm
-
 /* HAS_STRTOD:
  *	This symbol, if defined, indicates that the strtod routine is
  *	available to provide better numeric string conversion than atof().
@@ -831,11 +688,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_umask HAS_UMASK		/**/
 
-/* HAS_VFORK:
- *	This symbol, if defined, indicates that vfork() exists.
- */
-#$d_vfork HAS_VFORK	/**/
-
 /* HASVOLATILE:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the volatile declaration.
@@ -868,17 +720,11 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_wctomb HAS_WCTOMB		/**/
 
-/* EBCDIC:
- *	This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-#$ebcdic	EBCDIC 		/**/
-
 /* I_ARPA_INET:
- *	This symbol, if defined, indicates that  exists and should
- *	be included.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include  to get inet_addr and friends declarations.
  */
-#$i_arpainet I_ARPA_INET	/**/
+#$i_arpainet	I_ARPA_INET		/**/
 
 /* I_DBM:
  *	This symbol, if defined, indicates that  exists and should
@@ -929,32 +775,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$i_float I_FLOAT		/**/
 
-/* I_GRP:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
- */
-/* GRPASSWD:
- *	This symbol, if defined, indicates to the C program that struct group
- *	contains gr_passwd.
- */
-/* HAS_SETGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for initializing sequential access of the group database.
- */
-/* HAS_GETGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for sequential access of the group database.
- */
-/* HAS_ENDGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for finalizing sequential access of the group database.
- */
-#$i_grp I_GRP		/**/
-#$d_grpasswd GRPASSWD	/**/
-#$d_setgrent HAS_SETGRENT	/**/
-#$d_getgrent HAS_GETGRENT	/**/
-#$d_endgrent HAS_ENDGRENT	/**/
-
 /* I_LIMITS:
  *	This symbol, if defined, indicates to the C program that it should
  *	include  to get definition of symbols like WORD_BIT or
@@ -1184,20 +1004,156 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define STDCHAR $stdchar	/**/
 
+/* CROSSCOMPILE:
+ *	This symbol, if defined, signifies that we our
+ *	build process is a cross-compilation.
+ */
+#$crosscompile CROSSCOMPILE		/**/
+
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE $intsize		/**/
+#define LONGSIZE $longsize		/**/
+#define SHORTSIZE $shortsize		/**/
+
+/* MULTIARCH:
+ *	This symbol, if defined, signifies that the build
+ *	process will produce some binary files that are going to be
+ *	used in a cross-platform environment.  This is the case for
+ *	example with the NeXT "fat" binaries that contain executables
+ *	for several CPUs.
+ */
+#$multiarch MULTIARCH		/**/
+
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
+ */
+#$d_quad HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t $quadtype	/**/
+#   define Uquad_t $uquadtype	/**/
+#   define QUADKIND $quadkind	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#endif
+
+/* HAS_ACCESSX:
+ *	This symbol, if defined, indicates that the accessx routine is
+ *	available to do extended access checks.
+ */
+#$d_accessx HAS_ACCESSX		/**/
+
+/* HAS_EACCESS:
+ *	This symbol, if defined, indicates that the eaccess routine is
+ *	available to do extended access checks.
+ */
+#$d_eaccess HAS_EACCESS		/**/
+
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#$i_sysaccess   I_SYS_ACCESS                /**/
+
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#$i_syssecrt   I_SYS_SECURITY	/**/
+
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "$osname"		/**/
+
 /* MEM_ALIGNBYTES:
- *	 This symbol contains the number of bytes required to align a
- *	 double. Usual values are 2, 4 and 8.
- *	 On NeXT starting with 3.2, you can build "Fat" Multiple Architecture
- *	 Binaries (MAB) for targets with varying alignment.  This only matters
- *	 for perl, where the config.h can be generated and installed on one
- *	 system, and used by a different architecture to build an extension.
- *	 The default is eight, for safety.
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.
+ */
+#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#  define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES $alignbytes
+#endif
+
+/* ARCHLIB:
+ *	This variable, if defined, holds the name of the directory in
+ *	which the user wants to put architecture-dependent public
+ *	library files for $package.  It is most often a local directory
+ *	such as /usr/local/lib.  Programs using this variable must be
+ *	prepared to deal with filename expansion.  If ARCHLIB is the
+ *	same as PRIVLIB, it is not defined, since presumably the
+ *	program already searches PRIVLIB.
+ */
+/* ARCHLIB_EXP:
+ *	This symbol contains the ~name expanded version of ARCHLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#$d_archlib ARCHLIB "$archlib"		/**/
+#$d_archlib ARCHLIB_EXP "$archlibexp"		/**/
+
+/* ARCHNAME:
+ *	This symbol holds a string representing the architecture name.
+ *	It may be used to construct an architecture-dependant pathname
+ *	where library files may be held under a private library, for
+ *	instance.
+ */
+#define ARCHNAME "$archname"		/**/
+
+/* HAS_ATOLF:
+ *	This symbol, if defined, indicates that the atolf routine is
+ *	available to convert strings into long doubles.
+ */
+#$d_atolf HAS_ATOLF		/**/
+
+/* HAS_ATOLL:
+ *	This symbol, if defined, indicates that the atoll routine is
+ *	available to convert strings into long longs.
+ */
+#$d_atoll HAS_ATOLL		/**/
+
+/* BIN:
+ *	This symbol holds the path of the bin directory where the package will
+ *	be installed. Program must be prepared to deal with ~name substitution.
+ */
+/* BIN_EXP:
+ *	This symbol is the filename expanded version of the BIN symbol, for
+ *	programs that do not want to deal with that at run-time.
+ */
+#define BIN "$bin"	/**/
+#define BIN_EXP "$binexp"	/**/
+
+/* PERL_BINCOMPAT_5005:
+ *	This symbol, if defined, indicates that this version of Perl should be
+ *	binary-compatible with Perl 5.005.  This is impossible for builds
+ *	that use features like threads and multiplicity it is always $undef
+ *	for those versions.
  */
-#define MEM_ALIGNBYTES $alignbytes	/**/
+#$d_bincompat5005 PERL_BINCOMPAT_5005			/**/
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
  *	i.e. 0x1234 or 0x4321, etc...
+ *	If the compiler supports cross-compiling or multiple-architecture
+ *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	determine the byte order.
  *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
  *	Binaries (MAB) on either big endian or little endian machines.
  *	The endian-ness is available at compile-time.  This only matters
@@ -1208,21 +1164,99 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  *	so the default case (for NeXT) is big endian to catch them. 
  *	This might matter for NeXT 3.0.
  */
-#ifndef NeXT
+#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#  ifdef __LITTLE_ENDIAN__
+#    if LONGSIZE == 4
+#      define BYTEORDER 0x1234
+#    else
+#      if LONGSIZE == 8
+#        define BYTEORDER 0x12345678
+#      endif
+#    endif
+#  else
+#    ifdef __BIG_ENDIAN__
+#      if LONGSIZE == 4
+#        define BYTEORDER 0x4321
+#      else
+#        if LONGSIZE == 8
+#          define BYTEORDER 0x87654321
+#        endif
+#      endif
+#    endif
+#  endif
+#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+#    define BYTEORDER 0x4321
+#  endif
+#else
 #define BYTEORDER 0x$byteorder	/* large digits for MSB */
-#else  /* NeXT */
-#ifdef __LITTLE_ENDIAN__
-#define BYTEORDER 0x1234
-#else /* __BIG_ENDIAN__ */
-#define BYTEORDER 0x4321
-#endif /* ENDIAN CHECK */
 #endif /* NeXT */
 
-/* CASTI32:
- *	This symbol is defined if the C compiler can cast negative
- *	or large floating point numbers to 32-bit ints.
+/* CAT2:
+ *	This macro catenates 2 tokens together.
  */
-#$d_casti32	CASTI32		/**/
+/* STRINGIFY:
+ *	This macro surrounds its token with double quotes.
+ */
+#if $cpp_stuff == 1
+#  define CAT2(a,b)	a/**/b
+#  define STRINGIFY(a)	"a"
+		/* If you can get stringification with catify, tell me how! */
+#endif
+#if $cpp_stuff == 42
+#  define PeRl_CaTiFy(a, b)	a ## b	
+#  define PeRl_StGiFy(a)	#a
+/* the additional level of indirection enables these macros to be
+ * used as arguments to other macros.  See K&R 2nd ed., page 231. */
+#  define CAT2(a,b)	PeRl_CaTiFy(a,b)
+#  define StGiFy(a)	PeRl_StGiFy(a)
+#  define STRINGIFY(a)	PeRl_StGiFy(a)
+#endif
+#if $cpp_stuff != 1 && $cpp_stuff != 42
+#include "Bletch: How does this C preprocessor catenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ *	This symbol contains the first part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
+ *	call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ *	This symbol contains the second part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+ *	to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ *	This symbol contains the string which will invoke a C preprocessor on
+ *	the standard input and produce to standard output. It needs to end
+ *	with CPPLAST, after all other preprocessor flags have been specified.
+ *	The main difference with CPPSTDIN is that this program will never be a
+ *	pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ *	available directly to the user. Note that it may well be different from
+ *	the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ *	This symbol is intended to be used along with CPPRUN in the same manner
+ *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "$cppstdin"
+#define CPPMINUS "$cppminus"
+#define CPPRUN "$cpprun"
+#define CPPLAST "$cpplast"
+
+/* HAS_ACCESS:
+ *	This manifest constant lets the C program know that the access()
+ *	system call is available to check for accessibility using real UID/GID.
+ *	(always present on UNIX.)
+ */
+#$d_access HAS_ACCESS		/**/
+
+/* CASTI32:
+ *	This symbol is defined if the C compiler can cast negative
+ *	or large floating point numbers to 32-bit ints.
+ */
+#$d_casti32	CASTI32		/**/
 
 /* CASTNEGFLOAT:
  *	This symbol is defined if the C compiler can cast negative
@@ -1245,6 +1279,110 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_void_closedir VOID_CLOSEDIR		/**/
 
+/* HAS_CSH:
+ *	This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ *	This symbol, if defined, contains the full pathname of csh.
+ */
+#$d_csh HAS_CSH		/**/
+#ifdef HAS_CSH
+#define CSH "$full_csh"	/**/
+#endif
+
+/* DLSYM_NEEDS_UNDERSCORE:
+ *	This symbol, if defined, indicates that we need to prepend an
+ *	underscore to the symbol name before calling dlsym().  This only
+ *	makes sense if you *have* dlsym, which we will presume is the
+ *	case if you're using dl_dlopen.xs.
+ */
+#$d_dlsymun 	DLSYM_NEEDS_UNDERSCORE 	/**/
+
+/* HAS_DRAND48_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the drand48() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern double drand48 _((void));
+ */
+#$d_drand48proto	HAS_DRAND48_PROTO	/**/
+
+/* HAS_ENDGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the group database.
+ */
+#$d_endgrent HAS_ENDGRENT		/**/
+
+/* HAS_ENDHOSTENT:
+ *	This symbol, if defined, indicates that the endhostent() routine is
+ *	available to close whatever was being used for host queries.
+ */
+#$d_endhent HAS_ENDHOSTENT		/**/
+
+/* HAS_ENDNETENT:
+ *	This symbol, if defined, indicates that the endnetent() routine is
+ *	available to close whatever was being used for network queries.
+ */
+#$d_endnent HAS_ENDNETENT		/**/
+
+/* HAS_ENDPROTOENT:
+ *	This symbol, if defined, indicates that the endprotoent() routine is
+ *	available to close whatever was being used for protocol queries.
+ */
+#$d_endpent HAS_ENDPROTOENT		/**/
+
+/* HAS_ENDPWENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the passwd database.
+ */
+#$d_endpwent HAS_ENDPWENT		/**/
+
+/* HAS_ENDSERVENT:
+ *	This symbol, if defined, indicates that the endservent() routine is
+ *	available to close whatever was being used for service queries.
+ */
+#$d_endsent HAS_ENDSERVENT		/**/
+
+/* HAS_ENDSPENT:
+ *	This symbol, if defined, indicates that the endspent system call is
+ *	available to finalize the scan of SysV shadow password entries.
+ */
+#$d_endspent HAS_ENDSPENT		/**/
+
+/* HAS_FD_SET:
+ *	This symbol, when defined, indicates presence of the fd_set typedef
+ *	in 
+ */
+#$d_fd_set HAS_FD_SET	/**/
+
+/* HAS_FPOS64_T:
+ *	This symbol will be defined if the C compiler supports fpos64_t.
+ */
+#$d_fpos64_t	HAS_FPOS64_T    	/**/
+
+/* HAS_STRUCT_FS_DATA:
+ *	This symbol, if defined, indicates that the struct fs_data
+ *	to do statfs() is supported.
+ */
+#$d_fs_data_s HAS_STRUCT_FS_DATA	/**/
+
+/* HAS_FSEEKO:
+ *	This symbol, if defined, indicates that the fseeko routine is
+ *	available to fseek beyond 32 bits (useful for ILP32 hosts).
+ */
+#$d_fseeko HAS_FSEEKO		/**/
+
+/* HAS_FSTATFS:
+ *	This symbol, if defined, indicates that the fstatfs routine is
+ *	available to stat filesystems by file descriptors.
+ */
+#$d_fstatfs HAS_FSTATFS		/**/
+
+/* HAS_FTELLO:
+ *	This symbol, if defined, indicates that the ftello routine is
+ *	available to ftell beyond 32 bits (useful for ILP32 hosts).
+ */
+#$d_ftello HAS_FTELLO		/**/
+
 /* Gconvert:
  *	This preprocessor macro is defined to convert a floating point
  *	number to a string without a trailing decimal point.  This
@@ -1262,401 +1400,417 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define Gconvert(x,n,t,b) $d_Gconvert
 
-/* HAS_GNULIBC:
- *	This symbol, if defined, indicates to the C program that 
- *	the GNU C library is being used.
- */
-#$d_gnulibc HAS_GNULIBC  	/**/
-/* HAS_ISASCII:
- *	This manifest constant lets the C program know that isascii 
- *	is available.
+/* HAS_GETCWD:
+ *	This symbol, if defined, indicates that the getcwd routine is
+ *	available to get the current working directory.
  */
-#$d_isascii HAS_ISASCII		/**/
+#$d_getcwd HAS_GETCWD		/**/
 
-/* HAS_LCHOWN:
- *	This symbol, if defined, indicates that the lchown routine is
- *	available to operate on a symbolic link (instead of following the
- *	link).
+/* HAS_GETFSSTAT:
+ *	This symbol, if defined, indicates that the getfsstat routine is
+ *	available to stat filesystems in bulk.
  */
-#$d_lchown HAS_LCHOWN		/**/
+#$d_getfsstat HAS_GETFSSTAT		/**/
 
-/* HAS_OPEN3:
- *	This manifest constant lets the C program know that the three
- *	argument form of open(2) is available.
+/* HAS_GETGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for sequential access of the group database.
  */
-#$d_open3 HAS_OPEN3		/**/
+#$d_getgrent HAS_GETGRENT		/**/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Otherwise you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
+/* HAS_GETHOSTBYADDR:
+ *	This symbol, if defined, indicates that the gethostbyaddr() routine is
+ *	available to look up hosts by their IP addresses.
  */
-#$d_safebcpy HAS_SAFE_BCOPY	/**/
+#$d_gethbyaddr HAS_GETHOSTBYADDR		/**/
 
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks. Otherwise you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
+/* HAS_GETHOSTBYNAME:
+ *	This symbol, if defined, indicates that the gethostbyname() routine is
+ *	available to look up host names in some data base or other.
  */
-#$d_safemcpy HAS_SAFE_MEMCPY	/**/
+#$d_gethbyname HAS_GETHOSTBYNAME		/**/
 
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
+/* HAS_GETHOSTENT:
+ *	This symbol, if defined, indicates that the gethostent() routine is
+ *	available to look up host names in some data base or another.
  */
-#$d_sanemcmp HAS_SANE_MEMCMP	/**/
+#$d_gethent HAS_GETHOSTENT		/**/
 
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
+/* HAS_GETHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	gethostname() routine to derive the host name.  See also HAS_UNAME
+ *	and PHOSTNAME.
  */
-#$d_sigaction HAS_SIGACTION	/**/
-
-/* Sigjmp_buf:
- *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+/* HAS_UNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and PHOSTNAME.
  */
-/* Sigsetjmp:
- *	This macro is used in the same way as sigsetjmp(), but will invoke
- *	traditional setjmp() if sigsetjmp isn't available.
- *	See HAS_SIGSETJMP.
+/* PHOSTNAME:
+ *	This symbol, if defined, indicates the command to feed to the
+ *	popen() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and HAS_UNAME.	Note that the command uses a fully qualified path,
+ *	so that it is safe even if used by a process with super-user
+ *	privileges.
  */
-/* Siglongjmp:
- *	This macro is used in the same way as siglongjmp(), but will invoke
- *	traditional longjmp() if siglongjmp isn't available.
- *	See HAS_SIGSETJMP.
+/* HAS_PHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	contents of PHOSTNAME as a command to feed to the popen() routine
+ *	to derive the host name.
  */
-#$d_sigsetjmp HAS_SIGSETJMP	/**/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#$d_gethname HAS_GETHOSTNAME	/**/
+#$d_uname HAS_UNAME		/**/
+#$d_phostname HAS_PHOSTNAME	/**/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "$aphostname"	/* How to get the host name */
 #endif
 
-/* USE_STDIO_PTR:
- *	This symbol is defined if the _ptr and _cnt fields (or similar)
- *	of the stdio FILE structure can be used to access the stdio buffer
- *	for a file handle.  If this is defined, then the FILE_ptr(fp)
- *	and FILE_cnt(fp) macros will also be defined and should be used
- *	to access these fields.
+/* HAS_GETHOST_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for gethostent(), gethostbyname(), and
+ *	gethostbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
  */
-/* FILE_ptr:
- *	This macro is used to access the _ptr field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
+#$d_gethostprotos	HAS_GETHOST_PROTOS	/**/
+
+/* HAS_GETMNT:
+ *	This symbol, if defined, indicates that the getmnt routine is
+ *	available to get filesystem mount info by filename.
  */
-/* STDIO_PTR_LVALUE:
- *	This symbol is defined if the FILE_ptr macro can be used as an
- *	lvalue.
+#$d_getmnt HAS_GETMNT		/**/
+
+/* HAS_GETMNTENT:
+ *	This symbol, if defined, indicates that the getmntent routine is
+ *	available to iterate through mounted file systems to get their info.
  */
-/* FILE_cnt:
- *	This macro is used to access the _cnt field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
+#$d_getmntent HAS_GETMNTENT		/**/
+
+/* HAS_GETNETBYADDR:
+ *	This symbol, if defined, indicates that the getnetbyaddr() routine is
+ *	available to look up networks by their IP addresses.
  */
-/* STDIO_CNT_LVALUE:
- *	This symbol is defined if the FILE_cnt macro can be used as an
- *	lvalue.
+#$d_getnbyaddr HAS_GETNETBYADDR		/**/
+
+/* HAS_GETNETBYNAME:
+ *	This symbol, if defined, indicates that the getnetbyname() routine is
+ *	available to look up networks by their names.
  */
-#$d_stdstdio USE_STDIO_PTR 	/**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp)	$stdio_ptr
-#$d_stdio_ptr_lval STDIO_PTR_LVALUE 		/**/
-#define FILE_cnt(fp)	$stdio_cnt
-#$d_stdio_cnt_lval STDIO_CNT_LVALUE 		/**/
-#endif
+#$d_getnbyname HAS_GETNETBYNAME		/**/
 
-/* USE_STDIO_BASE:
- *	This symbol is defined if the _base field (or similar) of the
- *	stdio FILE structure can be used to access the stdio buffer for
- *	a file handle.  If this is defined, then the FILE_base(fp) macro
- *	will also be defined and should be used to access this field.
- *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *	will never be defined unless USE_STDIO_PTR is.
+/* HAS_GETNETENT:
+ *	This symbol, if defined, indicates that the getnetent() routine is
+ *	available to look up network names in some data base or another.
  */
-/* FILE_base:
- *	This macro is used to access the _base field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_BASE is defined.
+#$d_getnent HAS_GETNETENT		/**/
+
+/* HAS_GETNET_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for getnetent(), getnetbyname(), and
+ *	getnetbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
  */
-/* FILE_bufsiz:
- *	This macro is used to determine the number of bytes in the I/O
- *	buffer pointed to by _base field (or equivalent) of the FILE
- *	structure pointed to its argument. This macro will always be defined
- *	if USE_STDIO_BASE is defined.
+#$d_getnetprotos	HAS_GETNET_PROTOS	/**/
+
+/* HAS_GETPROTOENT:
+ *	This symbol, if defined, indicates that the getprotoent() routine is
+ *	available to look up protocols in some data base or another.
  */
-#$d_stdiobase USE_STDIO_BASE 	/**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp)	$stdio_base
-#define FILE_bufsiz(fp)	$stdio_bufsiz
-#endif
+#$d_getpent HAS_GETPROTOENT		/**/
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
+/* HAS_GETPROTOBYNAME:
+ *	This symbol, if defined, indicates that the getprotobyname()
+ *	routine is available to look up protocols by their name.
  */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
+/* HAS_GETPROTOBYNUMBER:
+ *	This symbol, if defined, indicates that the getprotobynumber()
+ *	routine is available to look up protocols by their number.
  */
-#$d_vprintf HAS_VPRINTF	/**/
-#$d_charvspr USE_CHAR_VSPRINTF 	/**/
+#$d_getpbyname HAS_GETPROTOBYNAME		/**/
+#$d_getpbynumber HAS_GETPROTOBYNUMBER		/**/
 
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
+/* HAS_GETPROTO_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for getprotoent(), getprotobyname(), and
+ *	getprotobyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
  */
-#define DOUBLESIZE $doublesize		/**/
+#$d_getprotoprotos	HAS_GETPROTO_PROTOS	/**/
 
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
+/* HAS_GETPWENT:
+ *	This symbol, if defined, indicates that the getpwent routine is
+ *	available for sequential access of the passwd database.
+ *	If this is not available, the older getpw() function may be available.
  */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include .
+#$d_getpwent HAS_GETPWENT		/**/
+
+/* HAS_GETSERVENT:
+ *	This symbol, if defined, indicates that the getservent() routine is
+ *	available to look up network services in some data base or another.
  */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include  with KERNEL defined.
+#$d_getsent HAS_GETSERVENT		/**/
+
+/* HAS_GETSERV_PROTOS:
+ *	This symbol, if defined, indicates that  includes
+ *	prototypes for getservent(), getservbyname(), and
+ *	getservbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
  */
-#$i_time I_TIME		/**/
-#$i_systime I_SYS_TIME		/**/
-#$i_systimek I_SYS_TIME_KERNEL		/**/
+#$d_getservprotos	HAS_GETSERV_PROTOS	/**/
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* HAS_GETSPENT:
+ *	This symbol, if defined, indicates that the getspent system call is
+ *	available to retrieve SysV shadow password entries sequentially.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
+#$d_getspent HAS_GETSPENT		/**/
+
+/* HAS_GETSPNAM:
+ *	This symbol, if defined, indicates that the getspnam system call is
+ *	available to retrieve SysV shadow password entries by name.
  */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
+#$d_getspnam HAS_GETSPNAM		/**/
+
+/* HAS_GETSERVBYNAME:
+ *	This symbol, if defined, indicates that the getservbyname()
+ *	routine is available to look up services by their name.
  */
-#define INTSIZE $intsize		/**/
-#define LONGSIZE $longsize		/**/
-#define SHORTSIZE $shortsize		/**/
+/* HAS_GETSERVBYPORT:
+ *	This symbol, if defined, indicates that the getservbyport()
+ *	routine is available to look up services by their port.
+ */
+#$d_getsbyname HAS_GETSERVBYNAME		/**/
+#$d_getsbyport HAS_GETSERVBYPORT		/**/
 
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+/* HAS_GNULIBC:
+ *	This symbol, if defined, indicates to the C program that 
+ *	the GNU C library is being used.
  */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
+#$d_gnulibc HAS_GNULIBC  	/**/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+#   define _GNU_SOURCE
+#endif
+/* HAS_HASMNTOPT:
+ *	This symbol, if defined, indicates that the hasmntopt routine is
+ *	available to query the mount options of file systems.
  */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
+#$d_hasmntopt HAS_HASMNTOPT		/**/
+
+/* HAS_HTONL:
+ *	This symbol, if defined, indicates that the htonl() routine (and
+ *	friends htons() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
  */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
+/* HAS_HTONS:
+ *	This symbol, if defined, indicates that the htons() routine (and
+ *	friends htonl() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
  */
-#define VAL_O_NONBLOCK $o_nonblock
-#define VAL_EAGAIN $eagain
-#define RD_NODATA $rd_nodata
-#$d_eofnblk EOF_NONBLOCK
+/* HAS_NTOHL:
+ *	This symbol, if defined, indicates that the ntohl() routine (and
+ *	friends htonl() htons() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHS:
+ *	This symbol, if defined, indicates that the ntohs() routine (and
+ *	friends htonl() htons() ntohl()) are available to do network
+ *	order byte swapping.
+ */
+#$d_htonl HAS_HTONL		/**/
+#$d_htonl HAS_HTONS		/**/
+#$d_htonl HAS_NTOHL		/**/
+#$d_htonl HAS_NTOHS		/**/
 
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
+/* HAS_ICONV:
+ *	This symbol, if defined, indicates that the iconv routine is
+ *	available to do character set conversions.
  */
-#define PTRSIZE $ptrsize		/**/
+#$d_iconv HAS_ICONV		/**/
 
-/* RANDBITS:
- *	This symbol contains the number of bits of random number the rand()
- *	function produces.  Usual values are 15, 16, and 31.
+/* HAS_INT64_T:
+ *     This symbol will defined if the C compiler supports int64_t.
+ *     Usually the  needs to be included, but sometimes
+ *	 is enough.
  */
-#define RANDBITS $randbits		/**/
+#$d_int64_t     HAS_INT64_T               /**/
 
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include  or 
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+/* HAS_ISASCII:
+ *	This manifest constant lets the C program know that isascii 
+ *	is available.
  */
-#define SSize_t $ssizetype	 /* signed count of bytes */
+#$d_isascii HAS_ISASCII		/**/
 
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
+/* HAS_LDBL_DIG:
+ *	This symbol, if defined, indicates that this system's 
+ *	or  defines the symbol LDBL_DIG, which is the number
+ *	of significant digits in a long double precision number. Unlike
+ *	for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
  */
-#define OSNAME "$osname"		/**/
+#$d_ldbl_dig HAS_LDBL_DIG 	/* */
 
-/* CAT2:
- *	This macro catenates 2 tokens together.
+/* HAS_LONG_DOUBLE:
+ *	This symbol will be defined if the C compiler supports long
+ *	doubles.
  */
-/* STRINGIFY:
- *	This macro surrounds its token with double quotes.
+/* LONG_DOUBLESIZE:
+ *	This symbol contains the size of a long double, so that the 
+ *	C preprocessor can make decisions based on it.  It is only
+ *	defined if the system supports long doubles.
  */
-#if $cpp_stuff == 1
-#define CAT2(a,b)a/**/b
-#define STRINGIFY(a)"a"
-		/* If you can get stringification with catify, tell me how! */
-#endif
-#if $cpp_stuff == 42
-#define CAT2(a,b)a ## b
-#define StGiFy(a)# a
-#define STRINGIFY(a)StGiFy(a)
-#endif
-#if $cpp_stuff != 1 && $cpp_stuff != 42
-#include "Bletch: How does this C preprocessor catenate tokens?"
+#$d_longdbl HAS_LONG_DOUBLE		/**/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE $longdblsize		/**/
 #endif
 
-/* CSH:
- *	This symbol, if defined, contains the full pathname of csh.
+/* HAS_LONG_LONG:
+ *	This symbol will be defined if the C compiler supports long long.
  */
-#$d_csh HAS_CSH		/**/
-#ifdef HAS_CSH
-#define CSH "$full_csh"	/**/
+/* LONGLONGSIZE:
+ *	This symbol contains the size of a long long, so that the 
+ *	C preprocessor can make decisions based on it.  It is only
+ *	defined if the system supports long long.
+ */
+#$d_longlong HAS_LONG_LONG		/**/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE $longlongsize		/**/
 #endif
 
-/* HAS_ENDHOSTENT:
- *	This symbol, if defined, indicates that the endhostent() routine is
- *	available to close whatever was being used for host queries.
+/* HAS_LSEEK_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the lseek() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern off_t lseek(int, off_t, int);
  */
-#$d_endhent HAS_ENDHOSTENT		/**/
+#$d_lseekproto	HAS_LSEEK_PROTO	/**/
 
-/* HAS_ENDNETENT:
- *	This symbol, if defined, indicates that the endnetent() routine is
- *	available to close whatever was being used for network queries.
+/* HAS_MADVISE:
+ *	This symbol, if defined, indicates that the madvise system call is
+ *	available to map a file into memory.
  */
-#$d_endnent HAS_ENDNETENT		/**/
+#$d_madvise HAS_MADVISE		/**/
 
-/* HAS_ENDPROTOENT:
- *	This symbol, if defined, indicates that the endprotoent() routine is
- *	available to close whatever was being used for protocol queries.
+/* HAS_MEMCHR:
+ *	This symbol, if defined, indicates that the memchr routine is available
+ *	to locate characters within a C string.
  */
-#$d_endpent HAS_ENDPROTOENT		/**/
+#$d_memchr HAS_MEMCHR	/**/
 
-/* HAS_ENDSERVENT:
- *	This symbol, if defined, indicates that the endservent() routine is
- *	available to close whatever was being used for service queries.
+/* HAS_MKDTEMP:
+ *	This symbol, if defined, indicates that the mkdtemp routine is
+ *	available to exclusively create a uniquely named temporary directory.
  */
-#$d_endsent HAS_ENDSERVENT		/**/
+#$d_mkdtemp HAS_MKDTEMP		/**/
 
-/* HAS_GETHOSTBYADDR:
- *	This symbol, if defined, indicates that the gethostbyaddr() routine is
- *	available to look up hosts by their IP addresses.
+/* HAS_MKSTEMP:
+ *	This symbol, if defined, indicates that the mkstemp routine is
+ *	available to exclusively create and open a uniquely named
+ *	temporary file.
  */
-#$d_gethbyaddr HAS_GETHOSTBYADDR		/**/
+#$d_mkstemp HAS_MKSTEMP		/**/
 
-/* HAS_GETHOSTBYNAME:
- *	This symbol, if defined, indicates that the gethostbyname() routine is
- *	available to look up host names in some data base or other.
+/* HAS_MKSTEMPS:
+ *	This symbol, if defined, indicates that the mkstemps routine is
+ *	available to excluslvely create and open a uniquely named
+ *	(with a suffix) temporary file.
  */
-#$d_gethbyname HAS_GETHOSTBYNAME		/**/
+#$d_mkstemps HAS_MKSTEMPS		/**/
 
-/* HAS_GETHOSTENT:
- *	This symbol, if defined, indicates that the gethostent() routine is
- *	available to look up host names in some data base or another.
+/* HAS_MMAP:
+ *	This symbol, if defined, indicates that the mmap system call is
+ *	available to map a file into memory.
  */
-#$d_gethent HAS_GETHOSTENT		/**/
-
-/* HAS_GETNETBYADDR:
- *	This symbol, if defined, indicates that the getnetbyaddr() routine is
- *	available to look up networks by their IP addresses.
+/* Mmap_t:
+ *	This symbol holds the return type of the mmap() system call
+ *	(and simultaneously the type of the first argument).
+ *	Usually set to 'void *' or 'cadd_t'.
  */
-#$d_getnbyaddr HAS_GETNETBYADDR		/**/
+#$d_mmap HAS_MMAP		/**/
+#define Mmap_t $mmaptype	/**/
 
-/* HAS_GETNETBYNAME:
- *	This symbol, if defined, indicates that the getnetbyname() routine is
- *	available to look up networks by their names.
+/* HAS_MPROTECT:
+ *	This symbol, if defined, indicates that the mprotect system call is
+ *	available to modify the access protection of a memory mapped file.
  */
-#$d_getnbyname HAS_GETNETBYNAME		/**/
+#$d_mprotect HAS_MPROTECT		/**/
 
-/* HAS_GETNETENT:
- *	This symbol, if defined, indicates that the getnetent() routine is
- *	available to look up network names in some data base or another.
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
  */
-#$d_getnent HAS_GETNETENT		/**/
+#$d_msg HAS_MSG		/**/
 
-/* HAS_GETPROTOENT:
- *	This symbol, if defined, indicates that the getprotoent() routine is
- *	available to look up protocols in some data base or another.
+/* HAS_OFF64_T:
+ *	This symbol will be defined if the C compiler supports off64_t.
  */
-#$d_getpent HAS_GETPROTOENT		/**/
+#$d_off64_t	HAS_OFF64_T    		/**/
 
-/* HAS_GETPROTOBYNAME:
- *	This symbol, if defined, indicates that the getprotobyname()
- *	routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- *	This symbol, if defined, indicates that the getprotobynumber()
- *	routine is available to look up protocols by their number.
+/* HAS_OPEN3:
+ *	This manifest constant lets the C program know that the three
+ *	argument form of open(2) is available.
  */
-#$d_getpbyname HAS_GETPROTOBYNAME		/**/
-#$d_getpbynumber HAS_GETPROTOBYNUMBER		/**/
+#$d_open3 HAS_OPEN3		/**/
 
-/* HAS_GETSERVENT:
- *	This symbol, if defined, indicates that the getservent() routine is
- *	available to look up network services in some data base or another.
+/* OLD_PTHREAD_CREATE_JOINABLE:
+ *	This symbol, if defined, indicates how to create pthread
+ *	in joinable (aka undetached) state.  NOTE: not defined
+ *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
+ *	(the new version of the constant).
+ *	If defined, known values are PTHREAD_CREATE_UNDETACHED
+ *	and __UNDETACHED.
  */
-#$d_getsent HAS_GETSERVENT		/**/
+#$d_old_pthread_create_joinable OLD_PTHREAD_CREATE_JOINABLE $old_pthread_create_joinable /**/
 
-/* HAS_GETSERVBYNAME:
- *	This symbol, if defined, indicates that the getservbyname()
- *	routine is available to look up services by their name.
+/* HAS_PTHREAD_YIELD:
+ *	This symbol, if defined, indicates that the pthread_yield 
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
  */
-/* HAS_GETSERVBYPORT:
- *	This symbol, if defined, indicates that the getservbyport()
- *	routine is available to look up services by their port.
+/* SCHED_YIELD:
+ *	This symbol defines the way to yield the execution of
+ *	the current thread.  Known ways are sched_yield,
+ *	pthread_yield, and pthread_yield with NULL.
  */
-#$d_getsbyname HAS_GETSERVBYNAME		/**/
-#$d_getsbyport HAS_GETSERVBYPORT		/**/
+/* HAS_SCHED_YIELD:
+ *	This symbol, if defined, indicates that the sched_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+#$d_pthread_yield HAS_PTHREAD_YIELD	/**/
+#define SCHED_YIELD	$sched_yield	/**/
+#$d_sched_yield HAS_SCHED_YIELD	/**/
 
-/* HAS_LONG_DOUBLE:
- *	This symbol will be defined if the C compiler supports long
- *	doubles.
+/* HAS_SAFE_BCOPY:
+ *	This symbol, if defined, indicates that the bcopy routine is available
+ *	to copy potentially overlapping memory blocks. Otherwise you should
+ *	probably use memmove() or memcpy(). If neither is defined, roll your
+ *	own version.
  */
-/* LONG_DOUBLESIZE:
- *	This symbol contains the size of a long double, so that the 
- *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long doubles.
+#$d_safebcpy HAS_SAFE_BCOPY	/**/
+
+/* HAS_SAFE_MEMCPY:
+ *	This symbol, if defined, indicates that the memcpy routine is available
+ *	to copy potentially overlapping memory blocks. Otherwise you should
+ *	probably use memmove() or memcpy(). If neither is defined, roll your
+ *	own version.
  */
-#$d_longdbl HAS_LONG_DOUBLE		/**/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE $longdblsize		/**/
-#endif
+#$d_safemcpy HAS_SAFE_MEMCPY	/**/
 
-/* HAS_LONG_LONG:
- *	This symbol will be defined if the C compiler supports
- *	long long.
+/* HAS_SANE_MEMCMP:
+ *	This symbol, if defined, indicates that the memcmp routine is available
+ *	and can be used to compare relative magnitudes of chars with their high
+ *	bits set.  If it is not defined, roll your own version.
  */
-/* LONGLONGSIZE:
- *	This symbol contains the size of a long long, so that the 
- *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long long.
+#$d_sanemcmp HAS_SANE_MEMCMP	/**/
+
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
  */
-#$d_longlong HAS_LONG_LONG		/**/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE $longlongsize		/**/
-#endif
+#$d_sem HAS_SEM		/**/
+
+/* HAS_SETGRENT:
+ *	This symbol, if defined, indicates that the setgrent routine is
+ *	available for initializing sequential access of the group database.
+ */
+#$d_setgrent HAS_SETGRENT		/**/
 
 /* HAS_SETGROUPS:
  *	This symbol, if defined, indicates that the setgroups() routine is
@@ -1683,12 +1837,24 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_setpent HAS_SETPROTOENT		/**/
 
+/* HAS_SETPWENT:
+ *	This symbol, if defined, indicates that the setpwent routine is
+ *	available for initializing sequential access of the passwd database.
+ */
+#$d_setpwent HAS_SETPWENT		/**/
+
 /* HAS_SETSERVENT:
  *	This symbol, if defined, indicates that the setservent() routine is
  *	available.
  */
 #$d_setsent HAS_SETSERVENT		/**/
 
+/* HAS_SETSPENT:
+ *	This symbol, if defined, indicates that the setspent system call is
+ *	available to initialize the scan of SysV shadow password entries.
+ */
+#$d_setspent HAS_SETSPENT		/**/
+
 /* HAS_SETVBUF:
  *	This symbol, if defined, indicates that the setvbuf routine is
  *	available to change buffering on an open stdio stream.
@@ -1696,6 +1862,55 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_setvbuf HAS_SETVBUF		/**/
 
+/* USE_SFIO:
+ *	This symbol, if defined, indicates that sfio should
+ *	be used.
+ */
+#$d_sfio	USE_SFIO		/**/
+
+/* HAS_SHM:
+ *	This symbol, if defined, indicates that the entire shm*(2) library is
+ *	supported.
+ */
+#$d_shm HAS_SHM		/**/
+
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
+ */
+#$d_sigaction HAS_SIGACTION	/**/
+
+/* HAS_SIGSETJMP:
+ *	This variable indicates to the C program that the sigsetjmp()
+ *	routine is available to save the calling process's registers
+ *	and stack environment for later use by siglongjmp(), and
+ *	to optionally save the process's signal mask.  See
+ *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ *	This macro is used in the same way as sigsetjmp(), but will invoke
+ *	traditional setjmp() if sigsetjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ *	This macro is used in the same way as siglongjmp(), but will invoke
+ *	traditional longjmp() if siglongjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+#$d_sigsetjmp HAS_SIGSETJMP	/**/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
 /* HAS_SOCKET:
  *	This symbol, if defined, indicates that the BSD socket interface is
  *	supported.
@@ -1704,8 +1919,205 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  *	This symbol, if defined, indicates that the BSD socketpair() call is
  *	supported.
  */
-#$d_socket HAS_SOCKET		/**/
-#$d_sockpair HAS_SOCKETPAIR	/**/
+/* HAS_MSG_CTRUNC:
+ *	This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ *	This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ *	This symbol, if defined, indicates that the MSG_OOB is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ *	This symbol, if defined, indicates that the MSG_PEEK is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ *	This symbol, if defined, indicates that the MSG_PROXY is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ *	This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+#$d_socket	HAS_SOCKET		/**/
+#$d_sockpair	HAS_SOCKETPAIR	/**/
+#$d_msg_ctrunc	HAS_MSG_CTRUNC	/**/
+#$d_msg_dontroute	HAS_MSG_DONTROUTE	/**/
+#$d_msg_oob	HAS_MSG_OOB	/**/
+#$d_msg_peek	HAS_MSG_PEEK	/**/
+#$d_msg_proxy	HAS_MSG_PROXY	/**/
+#$d_scm_rights	HAS_SCM_RIGHTS	/**/
+
+/* HAS_SQRTL:
+ *	This symbol, if defined, indicates that the sqrtl routine is
+ *	available to do long double square roots.
+ */
+#$d_sqrtl HAS_SQRTL		/**/
+
+/* USE_STAT_BLOCKS:
+ *	This symbol is defined if this system has a stat structure declaring
+ *	st_blksize and st_blocks.
+ */
+#ifndef USE_STAT_BLOCKS
+#$d_statblks USE_STAT_BLOCKS 	/**/
+#endif
+
+/* HAS_STRUCT_STATFS_F_FLAGS:
+ *	This symbol, if defined, indicates that the struct statfs
+ *	does have the f_flags member containing the mount flags of
+ *	the filesystem containing the file.
+ *	This kind of struct statfs is coming from  (BSD 4.3),
+ *	not from  (SYSV).  Older BSDs (like Ultrix) do not
+ *	have statfs() and struct statfs, they have ustat() and getmnt()
+ *	with struct ustat and struct fs_data.
+ */
+#$d_statfs_f_flags HAS_STRUCT_STATFS_F_FLAGS		/**/
+
+/* HAS_STRUCT_STATFS:
+ *	This symbol, if defined, indicates that the struct statfs
+ *	to do statfs() is supported.
+ */
+#$d_statfs_s HAS_STRUCT_STATFS	/**/
+
+/* HAS_FSTATVFS:
+ *	This symbol, if defined, indicates that the fstatvfs routine is
+ *	available to stat filesystems by file descriptors.
+ */
+#$d_fstatvfs HAS_FSTATVFS		/**/
+
+/* USE_STDIO_PTR:
+ *	This symbol is defined if the _ptr and _cnt fields (or similar)
+ *	of the stdio FILE structure can be used to access the stdio buffer
+ *	for a file handle.  If this is defined, then the FILE_ptr(fp)
+ *	and FILE_cnt(fp) macros will also be defined and should be used
+ *	to access these fields.
+ */
+/* FILE_ptr:
+ *	This macro is used to access the _ptr field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ *	This symbol is defined if the FILE_ptr macro can be used as an
+ *	lvalue.
+ */
+/* FILE_cnt:
+ *	This macro is used to access the _cnt field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ *	This symbol is defined if the FILE_cnt macro can be used as an
+ *	lvalue.
+ */
+#$d_stdstdio USE_STDIO_PTR 	/**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp)	$stdio_ptr
+#$d_stdio_ptr_lval STDIO_PTR_LVALUE 		/**/
+#define FILE_cnt(fp)	$stdio_cnt
+#$d_stdio_cnt_lval STDIO_CNT_LVALUE 		/**/
+#endif
+
+/* USE_STDIO_BASE:
+ *	This symbol is defined if the _base field (or similar) of the
+ *	stdio FILE structure can be used to access the stdio buffer for
+ *	a file handle.  If this is defined, then the FILE_base(fp) macro
+ *	will also be defined and should be used to access this field.
+ *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *	will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ *	This macro is used to access the _base field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ *	This macro is used to determine the number of bytes in the I/O
+ *	buffer pointed to by _base field (or equivalent) of the FILE
+ *	structure pointed to its argument. This macro will always be defined
+ *	if USE_STDIO_BASE is defined.
+ */
+#$d_stdiobase USE_STDIO_BASE 	/**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp)	$stdio_base
+#define FILE_bufsiz(fp)	$stdio_bufsiz
+#endif
+
+/* HAS_STRERROR:
+ *	This symbol, if defined, indicates that the strerror routine is
+ *	available to translate error numbers to strings. See the writeup
+ *	of Strerror() in this file before you try to define your own.
+ */
+/* HAS_SYS_ERRLIST:
+ *	This symbol, if defined, indicates that the sys_errlist array is
+ *	available to translate error numbers to strings. The extern int
+ *	sys_nerr gives the size of that table.
+ */
+/* Strerror:
+ *	This preprocessor symbol is defined as a macro if strerror() is
+ *	not available to translate error numbers to strings but sys_errlist[]
+ *	array is there.
+ */
+#$d_strerror HAS_STRERROR		/**/
+#$d_syserrlst HAS_SYS_ERRLIST	/**/
+#define Strerror(e) $d_strerrm
+
+/* HAS_STRTOLD:
+ *	This symbol, if defined, indicates that the strtold routine is
+ *	available to convert strings to long doubles.
+ */
+#$d_strtold HAS_STRTOLD		/**/
+
+/* HAS_STRTOLL:
+ *	This symbol, if defined, indicates that the strtoll routine is
+ *	available to convert strings to long longs.
+ */
+#$d_strtoll HAS_STRTOLL		/**/
+
+/* HAS_STRTOULL:
+ *	This symbol, if defined, indicates that the strtoull routine is
+ *	available to convert strings to unsigned long longs.
+ */
+#$d_strtoull HAS_STRTOULL		/**/
+
+/* HAS_STRTOUQ:
+ *	This symbol, if defined, indicates that the strtouq routine is
+ *	available to convert strings to unsigned long longs (quads).
+ */
+#$d_strtouq HAS_STRTOUQ		/**/
+
+/* HAS_TELLDIR_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the telldir() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern long telldir _((DIR*));
+ */
+#$d_telldirproto	HAS_TELLDIR_PROTO	/**/
+
+/* Time_t:
+ *	This symbol holds the type returned by time(). It can be long,
+ *	or time_t on BSD sites (in which case  should be
+ *	included).
+ */
+#define Time_t $timetype		/* Time type */
+
+/* HAS_TIMES:
+ *	This symbol, if defined, indicates that the times() routine exists.
+ *	Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include .
+ */
+#$d_times HAS_TIMES		/**/
 
 /* HAS_UNION_SEMUN:
  *	This symbol, if defined, indicates that the union semun is
@@ -1729,6 +2141,17 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$d_semctl_semun USE_SEMCTL_SEMUN	/**/
 #$d_semctl_semid_ds USE_SEMCTL_SEMID_DS	/**/
 
+/* HAS_USTAT:
+ *	This symbol, if defined, indicates that the ustat system call is
+ *	available to query file system statistics by dev_t.
+ */
+#$d_ustat HAS_USTAT		/**/
+
+/* HAS_VFORK:
+ *	This symbol, if defined, indicates that vfork() exists.
+ */
+#$d_vfork HAS_VFORK	/**/
+
 /* Signal_t:
  *	This symbol's value is either "void" or "int", corresponding to the
  *	appropriate return type of a signal handler.  Thus, you can declare
@@ -1737,25 +2160,175 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define Signal_t $signal_t	/* Signal handler's return type */
 
-/* Groups_t:
- *	This symbol holds the type used for the second argument to
- *	getgroups() and setgropus().  Usually, this is the same as
- *	gidtype (gid_t) , but sometimes it isn't.
- *	It can be int, ushort, uid_t, etc... 
+/* HAS_VPRINTF:
+ *	This symbol, if defined, indicates that the vprintf routine is available
+ *	to printf with a pointer to an argument list.  If unavailable, you
+ *	may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ *	This symbol is defined if this system has vsprintf() returning type
+ *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+ *	is up to the package author to declare vsprintf correctly based on the
+ *	symbol.
+ */
+#$d_vprintf HAS_VPRINTF	/**/
+#$d_charvspr USE_CHAR_VSPRINTF 	/**/
+
+/* USE_DYNAMIC_LOADING:
+ *	This symbol, if defined, indicates that dynamic loading of
+ *	some sort is available.
+ */
+#$usedl USE_DYNAMIC_LOADING		/**/
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE $doublesize		/**/
+
+/* EBCDIC:
+ *     This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+#$ebcdic	EBCDIC 		/**/
+
+/* FFLUSH_NULL:
+ *	This symbol, if defined, tells that fflush(NULL) does flush
+ *	all pending stdio output.
+ */
+/* FFLUSH_ALL:
+ *	This symbol, if defined, tells that to flush
+ *	all pending stdio output one must loop through all
+ *	the stdio file handles stored in an array and fflush them.
+ *	Note that if fflushNULL is defined, fflushall will not
+ *	even be probed for and will be left undefined.
+ */
+#$fflushNULL	FFLUSH_NULL 		/**/
+#$fflushall	FFLUSH_ALL 		/**/
+
+/* Fpos_t:
+ *	This symbol holds the type used to declare file positions in libc.
+ *	It can be fpos_t, long, uint, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+#define Fpos_t $fpostype		/* File position type */
+
+/* Gid_t_f:
+ *	This symbol defines the format string used for printing a Gid_t.
+ */
+#define	Gid_t_f		$gidformat		/**/
+
+/* Gid_t_sign:
+ *	This symbol holds the signedess of a Gid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign	$gidsign		/* GID sign */
+
+/* Gid_t_size:
+ *	This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size $gidsize		/* GID size */
+
+/* Gid_t:
+ *	This symbol holds the return type of getgid() and the type of
+ *	argument to setrgid() and related functions.  Typically,
+ *	it is the type of group ids in the kernel. It can be int, ushort,
+ *	gid_t, etc... It may be necessary to include  to get
+ *	any typedef'ed information.
+ */
+#define Gid_t $gidtype		/* Type for getgid(), etc... */
+
+/* Groups_t:
+ *	This symbol holds the type used for the second argument to
+ *	getgroups() and setgroups().  Usually, this is the same as
+ *	gidtype (gid_t) , but sometimes it isn't.
+ *	It can be int, ushort, gid_t, etc... 
  *	It may be necessary to include  to get any 
  *	typedef'ed information.  This is only required if you have
- *	getgroups() or setgropus()..
+ *	getgroups() or setgroups()..
  */
 #if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
 #define Groups_t $groupstype	/* Type for 2nd arg to [sg]etgroups() */
 #endif
 
+/* DB_Prefix_t:
+ *	This symbol contains the type of the prefix structure element
+ *	in the  header file.  In older versions of DB, it was
+ *	int, while in newer ones it is u_int32_t.
+ */
+/* DB_Hash_t:
+ *	This symbol contains the type of the prefix structure element
+ *	in the  header file.  In older versions of DB, it was
+ *	int, while in newer ones it is size_t.
+ */
+#define DB_Hash_t	$db_hashtype		/**/
+#define DB_Prefix_t	$db_prefixtype  	/**/
+
+/* I_GRP:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include .
+ */
+/* GRPASSWD:
+ *	This symbol, if defined, indicates to the C program that struct group
+ *	in  contains gr_passwd.
+ */
+#$i_grp I_GRP		/**/
+#$d_grpasswd GRPASSWD	/**/
+
+/* I_ICONV:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_iconv	I_ICONV		/**/
+
+/* I_IEEEFP:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_ieeefp	I_IEEEFP		/**/
+
+/* I_INTTYPES:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#$i_inttypes   I_INTTYPES                /**/
+
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#$i_machcthr   I_MACH_CTHREADS	/**/
+
+/* I_MNTENT:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_mntent	I_MNTENT		/**/
+
 /* I_NETDB:
  *	This symbol, if defined, indicates that  exists and
  *	should be included.
  */
 #$i_netdb I_NETDB		/**/
 
+/* I_NETINET_TCP:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#$i_netinettcp   I_NETINET_TCP                /**/
+
+/* I_POLL:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_poll	I_POLL		/**/
+
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include .
+ */
+#$i_pthread   I_PTHREAD	/**/
+
 /* I_PWD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include .
@@ -1792,18 +2365,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  *	This symbol, if defined, indicates to the C program that struct passwd
  *	contains pw_passwd.
  */
-/* HAS_SETPWENT:
- *	This symbol, if defined, indicates that the getpwrent routine is
- *	available for initializing sequential access of the passwd database.
- */
-/* HAS_GETPWENT:
- *	This symbol, if defined, indicates that the getpwent routine is
- *	available for sequential access of the password database.
- */
-/* HAS_ENDPWENT:
- *	This symbol, if defined, indicates that the getpwent routine is
- *	available for finalizing sequential access of the passwd database.
- */
 #$i_pwd I_PWD		/**/
 #$d_pwquota PWQUOTA	/**/
 #$d_pwage PWAGE	/**/
@@ -1813,9 +2374,134 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$d_pwcomment PWCOMMENT	/**/
 #$d_pwgecos PWGECOS	/**/
 #$d_pwpasswd PWPASSWD	/**/
-#$d_setpwent HAS_SETPWENT	/**/
-#$d_getpwent HAS_GETPWENT	/**/
-#$d_endpwent HAS_ENDPWENT	/**/
+
+/* I_SHADOW:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_shadow	I_SHADOW		/**/
+
+/* I_SOCKS:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_socks	I_SOCKS		/**/
+
+/* I_SUNMATH:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sunmath	I_SUNMATH		/**/
+
+/* I_SYSLOG:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_syslog	I_SYSLOG		/**/
+
+/* I_SYSMODE:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sysmode	I_SYSMODE		/**/
+
+/* I_SYS_MOUNT:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sysmount	I_SYS_MOUNT		/**/
+
+/* I_SYS_STATFS:
+ *	This symbol, if defined, indicates that  exists.
+ */
+#$i_sysstatfs	I_SYS_STATFS		/**/
+
+/* I_SYS_STATVFS:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sysstatvfs	I_SYS_STATVFS		/**/
+
+/* I_SYSUIO:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sysuio	I_SYSUIO		/**/
+
+/* I_SYSUTSNAME:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sysutsname	I_SYSUTSNAME		/**/
+
+/* I_SYS_VFS:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_sysvfs	I_SYS_VFS		/**/
+
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include .
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include .
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include  with KERNEL defined.
+ */
+#$i_time I_TIME		/**/
+#$i_systime I_SYS_TIME		/**/
+#$i_systimek I_SYS_TIME_KERNEL		/**/
+
+/* I_USTAT:
+ *	This symbol, if defined, indicates that  exists and
+ *	should be included.
+ */
+#$i_ustat	I_USTAT		/**/
+
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+#define PERL_INC_VERSION_LIST $inc_version_list_init		/**/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+#$installusrbinperl INSTALL_USR_BIN_PERL	/**/
+
+/* PERL_PRIfldbl:
+ *	This symbol, if defined, contains the string used by stdio to
+ *	format long doubles (format 'f') for output.
+ */
+/* PERL_PRIgldbl:
+ *	This symbol, if defined, contains the string used by stdio to
+ *	format long doubles (format 'g') for output.
+ */
+#$d_PRIfldbl PERL_PRIfldbl	$sPRIfldbl	/**/
+#$d_PRIgldbl PERL_PRIgldbl	$sPRIgldbl	/**/
+
+/* Off_t:
+ *	This symbol holds the type used to declare offsets in the kernel.
+ *	It can be int, long, off_t, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t $lseektype		/*  type */
+#define LSEEKSIZE $lseeksize		/*  size */
+#define Off_t_size $lseeksize	/*  size */
 
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
@@ -1832,110 +2518,183 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_mymalloc MYMALLOC			/**/
 
-/* SIG_NAME:
- *	This symbol contains a list of signal names in order of
- *	signal number. This is intended
- *	to be used as a static array initialization, like this:
- *		char *sig_name[] = { SIG_NAME };
- *	The signals in the list are separated with commas, and each signal
- *	is surrounded by double quotes. There is no leading SIG in the signal
- *	name, i.e. SIGQUIT is known as "QUIT".
- *	Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
- *	etc., where nn is the actual signal number (e.g. NUM37).
- *	The signal number for sig_name[i] is stored in sig_num[i].
- *	The last element is 0 to terminate the list with a NULL.  This
- *	corresponds to the 0 at the end of the sig_num list.
- */
-/* SIG_NUM:
- *	This symbol contains a list of signal numbers, in the same order as the
- *	SIG_NAME list. It is suitable for static array initialization, as in:
- *		int sig_num[] = { SIG_NUM };
- *	The signals in the list are separated with commas, and the indices
- *	within that list and the SIG_NAME list match, so it's easy to compute
- *	the signal name from a number or vice versa at the price of a small
- *	dynamic linear lookup. 
- *	Duplicates are allowed, but are moved to the end of the list.
- *	The signal number corresponding to sig_name[i] is sig_number[i].
- *	if (i < NSIG) then sig_number[i] == i.  
- *	The last element is 0, corresponding to the 0 at the end of
- *	the sig_name list.
+/* Mode_t:
+ *	This symbol holds the type used to declare file modes 
+ *	for systems calls.  It is usually mode_t, but may be
+ *	int or unsigned short.  It may be necessary to include 
+ *	to get any typedef'ed information.
  */
-#define SIG_NAME $sig_name_init		/**/
-#define SIG_NUM  $sig_num_init		/**/
+#define Mode_t $modetype	 /* file mode parameter for system calls */
 
-/* VOIDFLAGS:
- *	This symbol indicates how much support of the void type is given by this
- *	compiler.  What various bits mean:
- *
- *	    1 = supports declaration of void
- *	    2 = supports arrays of pointers to functions returning void
- *	    4 = supports comparisons between pointers to void functions and
- *		    addresses of void functions
- *	    8 = suports declaration of generic void pointers
- *
- *	The package designer should define VOIDUSED to indicate the requirements
- *	of the package.  This can be done either by #defining VOIDUSED before
- *	including config.h, or by defining defvoidused in Myinit.U.  If the
- *	latter approach is taken, only those flags will be tested.  If the
- *	level of void support necessary is not present, defines void to int.
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
  */
-#ifndef VOIDUSED
-#define VOIDUSED $defvoidused
-#endif
-#define VOIDFLAGS $voidflags
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int		/* is void to be avoided? */
-#define M_VOID			/* Xenix strikes again */
-#endif
-
-/* ARCHLIB:
- *	This variable, if defined, holds the name of the directory in
- *	which the user wants to put architecture-dependent public
- *	library files for $package.  It is most often a local directory
- *	such as /usr/local/lib.  Programs using this variable must be
- *	prepared to deal with filename expansion.  If ARCHLIB is the
- *	same as PRIVLIB, it is not defined, since presumably the
- *	program already searches PRIVLIB.
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
  */
-/* ARCHLIB_EXP:
- *	This symbol contains the ~name expanded version of ARCHLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
  */
-#$d_archlib ARCHLIB "$archlib"		/**/
-#$d_archlib ARCHLIB_EXP "$archlibexp"		/**/
-
-/* DLSYM_NEEDS_UNDERSCORE:
- *	This symbol, if defined, indicates that we need to prepend an
- *	underscore to the symbol name before calling dlsym().  This only
- *	makes sense if you *have* dlsym, which we will presume is the
- *	case if you're using dl_dlopen.xs.
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
  */
-#$d_dlsymun 	DLSYM_NEEDS_UNDERSCORE 	/**/
+#define VAL_O_NONBLOCK $o_nonblock
+#define VAL_EAGAIN $eagain
+#define RD_NODATA $rd_nodata
+#$d_eofnblk EOF_NONBLOCK
 
-/* USE_SFIO:
- *	This symbol, if defined, indicates that sfio should
- *	be used.
+/* Netdb_host_t:
+ *	This symbol holds the type used for the 1st argument
+ *	to gethostbyaddr().
  */
-#$d_sfio	USE_SFIO		/**/
+/* Netdb_hlen_t:
+ *	This symbol holds the type used for the 2nd argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ *	This symbol holds the type used for the argument to
+ *	gethostbyname().
+ */
+/* Netdb_net_t:
+ *	This symbol holds the type used for the 1st argument to
+ *	getnetbyaddr().
+ */
+#define Netdb_host_t		$netdb_host_type /**/
+#define Netdb_hlen_t		$netdb_hlen_type /**/
+#define Netdb_name_t		$netdb_name_type /**/
+#define Netdb_net_t		$netdb_net_type /**/
 
-/* USE_DYNAMIC_LOADING:
- *	This symbol, if defined, indicates that dynamic loading of
- *	some sort is available.
+/* IVTYPE:
+ *	This symbol defines the C type used for Perl's IV.
  */
-#$usedl USE_DYNAMIC_LOADING		/**/
+/* UVTYPE:
+ *	This symbol defines the C type used for Perl's UV.
+ */
+/* I8TYPE:
+ *	This symbol defines the C type used for Perl's I8.
+ */
+/* U8TYPE:
+ *	This symbol defines the C type used for Perl's U8.
+ */
+/* I16TYPE:
+ *	This symbol defines the C type used for Perl's I16.
+ */
+/* U16TYPE:
+ *	This symbol defines the C type used for Perl's U16.
+ */
+/* I32TYPE:
+ *	This symbol defines the C type used for Perl's I32.
+ */
+/* U32TYPE:
+ *	This symbol defines the C type used for Perl's U32.
+ */
+/* I64TYPE:
+ *	This symbol defines the C type used for Perl's I64.
+ */
+/* U64TYPE:
+ *	This symbol defines the C type used for Perl's U64.
+ */
+/* NVTYPE:
+ *	This symbol defines the C type used for Perl's NV.
+ */
+/* IVSIZE:
+ *	This symbol contains the sizeof(IV).
+ */
+/* UVSIZE:
+ *	This symbol contains the sizeof(UV).
+ */
+/* I8SIZE:
+ *	This symbol contains the sizeof(I8).
+ */
+/* U8SIZE:
+ *	This symbol contains the sizeof(U8).
+ */
+/* I16SIZE:
+ *	This symbol contains the sizeof(I16).
+ */
+/* U16SIZE:
+ *	This symbol contains the sizeof(U16).
+ */
+/* I32SIZE:
+ *	This symbol contains the sizeof(I32).
+ */
+/* U32SIZE:
+ *	This symbol contains the sizeof(U32).
+ */
+/* I64SIZE:
+ *	This symbol contains the sizeof(I64).
+ */
+/* U64SIZE:
+ *	This symbol contains the sizeof(U64).
+ */
+/* NV_PRESERVES_UV:
+ *	This symbol, if defined, indicates that a variable of type NVTYPE
+ *	can preserve all the bit of a variable of type UVSIZE.
+ */
+#define	IVTYPE		$ivtype		/**/
+#define	UVTYPE		$uvtype		/**/
+#define	I8TYPE		$i8type		/**/
+#define	U8TYPE		$u8type		/**/
+#define	I16TYPE		$i16type	/**/
+#define	U16TYPE		$u16type	/**/
+#define	I32TYPE		$i32type	/**/
+#define	U32TYPE		$u32type	/**/
+#ifdef HAS_QUAD
+#define	I64TYPE		$i64type	/**/
+#define	U64TYPE		$u64type	/**/
+#endif
+#define	NVTYPE		$nvtype		/**/
+#define	IVSIZE		$ivsize		/**/
+#define	UVSIZE		$uvsize		/**/
+#define	I8SIZE		$i8size		/**/
+#define	U8SIZE		$u8size		/**/
+#define	I16SIZE		$i16size	/**/
+#define	U16SIZE		$u16size	/**/
+#define	I32SIZE		$i32size	/**/
+#define	U32SIZE		$u32size	/**/
+#ifdef HAS_QUAD
+#define	I64SIZE		$i64size	/**/
+#define	U64SIZE		$u64size	/**/
+#endif
+#$d_nv_preserves_uv	NV_PRESERVES_UV
 
-/* DB_Prefix_t:
- *	This symbol contains the type of the prefix structure element
- *	in the  header file.  In older versions of DB, it was
- *	int, while in newer ones it is u_int32_t.
+/* IVdf:
+ *	This symbol defines the format string used for printing a Perl IV
+ *	as a signed decimal integer.
  */
-/* DB_Hash_t:
- *	This symbol contains the type of the prefix structure element
- *	in the  header file.  In older versions of DB, it was
- *	int, while in newer ones it is size_t.
+/* UVuf:
+ *	This symbol defines the format string used for printing a Perl UV
+ *	as an unsigned decimal integer.
  */
-#define DB_Hash_t	$db_hashtype		/**/
-#define DB_Prefix_t	$db_prefixtype  	/**/
+/* UVof:
+ *	This symbol defines the format string used for printing a Perl UV
+ *	as an unsigned octal integer.
+ */
+/* UVxf:
+ *	This symbol defines the format string used for printing a Perl UV
+ *	as an unsigned hexadecimal integer.
+ */
+#define	IVdf		$ivdformat		/**/
+#define	UVuf		$uvuformat		/**/
+#define	UVof		$uvoformat		/**/
+#define	UVxf		$uvxformat		/**/
+
+/* Pid_t:
+ *	This symbol holds the type used to declare process ids in the kernel.
+ *	It can be int, uint, pid_t, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+#define Pid_t $pidtype		/* PID type */
 
 /* PRIVLIB:
  *	This symbol contains the name of the private library for this package.
@@ -1943,12 +2702,45 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  *	execution path, but it should be accessible by the world.  The program
  *	should be prepared to do ~ expansion.
  */
-/* PRIVLIB_EXP:
- *	This symbol contains the ~name expanded version of PRIVLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
+/* PRIVLIB_EXP:
+ *	This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "$privlib"		/**/
+#define PRIVLIB_EXP "$privlibexp"		/**/
+
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE $ptrsize		/**/
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in it's headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
  */
-#define PRIVLIB "$privlib"		/**/
-#define PRIVLIB_EXP "$privlibexp"		/**/
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		$drand01		/**/
+#define Rand_seed_t		$randseedtype		/**/
+#define seedDrand01(x)	$seedfunc((Rand_seed_t)x)	/**/
+#define RANDBITS		$randbits		/**/
 
 /* SELECT_MIN_BITS:
  *	This symbol holds the minimum number of bits operated by select.
@@ -1959,14 +2751,55 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define SELECT_MIN_BITS 	$selectminbits	/**/
 
+/* Select_fd_set_t:
+ *	This symbol holds the type used for the 2nd, 3rd, and 4th
+ *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
+ *	is defined, and 'int *' otherwise.  This is only useful if you 
+ *	have select(), of course.
+ */
+#define Select_fd_set_t 	$selecttype	/**/
+
+/* SIG_NAME:
+ *	This symbol contains a list of signal names in order of
+ *	signal number. This is intended
+ *	to be used as a static array initialization, like this:
+ *		char *sig_name[] = { SIG_NAME };
+ *	The signals in the list are separated with commas, and each signal
+ *	is surrounded by double quotes. There is no leading SIG in the signal
+ *	name, i.e. SIGQUIT is known as "QUIT".
+ *	Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
+ *	etc., where nn is the actual signal number (e.g. NUM37).
+ *	The signal number for sig_name[i] is stored in sig_num[i].
+ *	The last element is 0 to terminate the list with a NULL.  This
+ *	corresponds to the 0 at the end of the sig_num list.
+ */
+/* SIG_NUM:
+ *	This symbol contains a list of signal numbers, in the same order as the
+ *	SIG_NAME list. It is suitable for static array initialization, as in:
+ *		int sig_num[] = { SIG_NUM };
+ *	The signals in the list are separated with commas, and the indices
+ *	within that list and the SIG_NAME list match, so it's easy to compute
+ *	the signal name from a number or vice versa at the price of a small
+ *	dynamic linear lookup. 
+ *	Duplicates are allowed, but are moved to the end of the list.
+ *	The signal number corresponding to sig_name[i] is sig_number[i].
+ *	if (i < NSIG) then sig_number[i] == i.  
+ *	The last element is 0, corresponding to the 0 at the end of
+ *	the sig_name list.
+ */
+#define SIG_NAME $sig_name_init		/**/
+#define SIG_NUM  $sig_num_init		/**/
+
 /* SITEARCH:
  *	This symbol contains the name of the private library for this package.
  *	The library is private in the sense that it needn't be in anyone's
  *	execution path, but it should be accessible by the world.  The program
  *	should be prepared to do ~ expansion.
  *	The standard distribution will put nothing in this directory.
- *	Individual sites may place their own extensions and modules in
- *	this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-dependent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
  */
 /* SITEARCH_EXP:
  *	This symbol contains the ~name expanded version of SITEARCH, to be used
@@ -1981,15 +2814,52 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  *	execution path, but it should be accessible by the world.  The program
  *	should be prepared to do ~ expansion.
  *	The standard distribution will put nothing in this directory.
- *	Individual sites may place their own extensions and modules in
- *	this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-independent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
  */
 /* SITELIB_EXP:
  *	This symbol contains the ~name expanded version of SITELIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
+/* SITELIB_STEM:
+ *	This define is SITELIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
 #define SITELIB "$sitelib"		/**/
 #define SITELIB_EXP "$sitelibexp"		/**/
+#define SITELIB_STEM "$sitelib_stem"		/**/
+
+/* Size_t_size:
+ *	This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size $sizesize		/* */
+
+/* Size_t:
+ *	This symbol holds the type used to declare length parameters
+ *	for string functions.  It is usually size_t, but may be
+ *	unsigned long, int, etc.  It may be necessary to include
+ *	 to get any typedef'ed information.
+ */
+#define Size_t $sizetype	 /* length paramater for string functions */
+
+/* Sock_size_t:
+ *	This symbol holds the type used for the size argument of
+ *	various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t		$socksizetype /**/
+
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include  or 
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t $ssizetype	 /* signed count of bytes */
 
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
@@ -1998,190 +2868,236 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define STARTPERL "$startperl"		/**/
 
-/* USE_PERLIO:
- *	This symbol, if defined, indicates that the PerlIO abstraction should
- *	be used throughout.  If not defined, stdio should be
- *	used in a fully backward compatible manner.
+/* HAS_STDIO_STREAM_ARRAY:
+ *	This symbol, if defined, tells that there is an array
+ *	holding the stdio streams.
  */
-#$useperlio	USE_PERLIO		/**/
-
-/* HAS_GETHOST_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for gethostent(), gethostbyname(), and
- *	gethostbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* STDIO_STREAM_ARRAY:
+ *	This symbol tells the name of the array holding the stdio streams.
+ *	Usual values include _iob, __iob, and __sF.
  */
-#$d_gethostprotos	HAS_GETHOST_PROTOS	/**/
+#$d_stdio_stream_array	HAS_STDIO_STREAM_ARRAY	/**/
+#define STDIO_STREAM_ARRAY	$stdio_stream_array
 
-/* HAS_GETNET_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for getnetent(), getnetbyname(), and
- *	getnetbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* Uid_t_f:
+ *	This symbol defines the format string used for printing a Uid_t.
  */
-#$d_getnetprotos	HAS_GETNET_PROTOS	/**/
+#define	Uid_t_f		$uidformat		/**/
 
-/* HAS_GETPROTO_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for getprotoent(), getprotobyname(), and
- *	getprotobyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* Uid_t_sign:
+ *	This symbol holds the signedess of a Uid_t.
+ *	1 for unsigned, -1 for signed.
  */
-#$d_getprotoprotos	HAS_GETPROTO_PROTOS	/**/
+#define Uid_t_sign	$uidsign		/* UID sign */
 
-/* HAS_GETSERV_PROTOS:
- *	This symbol, if defined, indicates that  includes
- *	prototypes for getservent(), getservbyname(), and
- *	getservbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+/* Uid_t_size:
+ *	This symbol holds the size of a Uid_t in bytes.
  */
-#$d_getservprotos	HAS_GETSERV_PROTOS	/**/
+#define Uid_t_size $uidsize		/* UID size */
 
-/* Netdb_host_t:
- *	This symbol holds the type used for the 1st argument
- *	to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- *	This symbol holds the type used for the 2nd argument
- *	to gethostbyaddr().
- */
-/* Netdb_name_t:
- *	This symbol holds the type used for the argument to
- *	gethostbyname().
- */
-/* Netdb_net_t:
- *	This symbol holds the type used for the 1st argument to
- *	getnetbyaddr().
+/* Uid_t:
+ *	This symbol holds the type used to declare user ids in the kernel.
+ *	It can be int, ushort, uid_t, etc... It may be necessary to include
+ *	 to get any typedef'ed information.
  */
-#define Netdb_host_t		$netdb_host_type /**/
-#define Netdb_hlen_t		$netdb_hlen_type /**/
-#define Netdb_name_t		$netdb_name_type /**/
-#define Netdb_net_t		$netdb_net_type /**/
+#define Uid_t $uidtype		/* UID type */
 
-/* Select_fd_set_t:
- *	This symbol holds the type used for the 2nd, 3rd, and 4th
- *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
- *	is defined, and 'int *' otherwise.  This is only useful if you 
- *	have select(), of course.
- */
-#define Select_fd_set_t 	$selecttype	/**/
+/* USE_64_BIT_INT:
+ *	This symbol, if defined, indicates that 64-bit integers should
+ *	be used when available.  If not defined, the native integers
+ *	will be employed (be they 32 or 64 bits).  The minimal possible
+ *	64-bitness is used, just enough to get 64-bit integers into Perl.
+ *	This may mean using for example "long longs", while your memory
+ *	may still be limited to 2 gigabytes.
+ */
+/* USE_64_BIT_ALL:
+ *	This symbol, if defined, indicates that 64-bit integers should
+ *	be used when available.  If not defined, the native integers
+ *	will be used (be they 32 or 64 bits).  The maximal possible
+ *	64-bitness is employed: LP64 or ILP64, meaning that you will
+ *	be able to use more than 2 gigabytes of memory.  This mode is
+ *	even more binary incompatible than USE_64_BIT_INT. You may not
+ *	be able to run the resulting executable in a 32-bit CPU at all or
+ *	you may need at least to reboot your OS to 64-bit mode.
+ */
+#ifndef USE_64_BIT_INT
+#$use64bitint	USE_64_BIT_INT		/**/
+#endif
 
-/* ARCHNAME:
- *	This symbol holds a string representing the architecture name.
- *	It may be used to construct an architecture-dependant pathname
- *	where library files may be held under a private library, for
- *	instance.
- */
-#define ARCHNAME "$archname"		/**/
+#ifndef USE_64_BIT_ALL
+#$use64bitall	USE_64_BIT_ALL		/**/
+#endif
 
-/* I_MACH_CTHREADS:
- *    This symbol, if defined, indicates to the C program that it should
- *    include .
+/* USE_LARGE_FILES:
+ *	This symbol, if defined, indicates that large file support
+ *	should be used when available.
  */
-#$i_machcthreads	I_MACH_CTHREADS         /**/
+#ifndef USE_LARGE_FILES
+#$uselargefiles	USE_LARGE_FILES		/**/
+#endif
 
-/* I_PTHREAD:
- *    This symbol, if defined, indicates to the C program that it should
- *    include .
+/* USE_LONG_DOUBLE:
+ *	This symbol, if defined, indicates that long doubles should
+ *	be used when available.
  */
-#$i_pthread   I_PTHREAD               /**/
+#ifndef USE_LONG_DOUBLE
+#$uselongdouble	USE_LONG_DOUBLE		/**/
+#endif
 
-/* HAS_PTHREAD_YIELD:
- *	This symbol, if defined, indicates that the pthread_yield 
- *	routine is available to yield the execution of the current
- *	thread.
+/* USE_MORE_BITS:
+ *	This symbol, if defined, indicates that 64-bit interfaces and
+ *	long doubles should be used when available.
  */
-/* HAS_SCHED_YIELD:
- *	This symbol, if defined, indicates that the sched_yield
- *	routine is available to yield the execution of the current
- *	thread.
+#ifndef USE_MORE_BITS
+#$usemorebits	USE_MORE_BITS		/**/
+#endif
+
+/* MULTIPLICITY:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use multiplicity.
  */
-#$d_pthread_yield HAS_PTHREAD_YIELD	/**/
-#$d_sched_yield HAS_SCHED_YIELD	/**/
+#ifndef MULTIPLICITY
+#$usemultiplicity	MULTIPLICITY		/**/
+#endif
 
-/* PTHREADS_CREATED_JOINABLE:
- *	This symbol, if defined, indicates that pthreads are created
- *	in the joinable (aka undetached) state.
+/* USE_PERLIO:
+ *	This symbol, if defined, indicates that the PerlIO abstraction should
+ *	be used throughout.  If not defined, stdio should be
+ *	used in a fully backward compatible manner.
  */
-#$d_pthreads_created_joinable PTHREADS_CREATED_JOINABLE /**/
+#ifndef USE_PERLIO
+#$useperlio	USE_PERLIO		/**/
+#endif
 
-/* USE_THREADS:
+/* USE_SOCKS:
  *	This symbol, if defined, indicates that Perl should
- *	be built to use threads.
+ *	be built to use socks.
+ */
+#ifndef USE_SOCKS
+#$usesocks	USE_SOCKS		/**/
+#endif
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
  */
 /* OLD_PTHREADS_API:
  *	This symbol, if defined, indicates that Perl should
  *	be built to use the old draft POSIX threads API.
  */
-#$usethreads	USE_THREADS		/**/
+#$use5005threads	USE_5005THREADS		/**/
+#$useithreads	USE_ITHREADS		/**/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
 #$d_oldpthreads	OLD_PTHREADS_API		/**/
 
-/* Time_t:
- *	This symbol holds the type returned by time(). It can be long,
- *	or time_t on BSD sites (in which case  should be
- *	included).
- */
-#define Time_t $timetype		/* Time type */
-
-/* HAS_TIMES:
- *	This symbol, if defined, indicates that the times() routine exists.
- *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include .
+/* PERL_VENDORARCH:
+ *	If defined, this symbol contains the name of a private library.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.
+ *	It may have a ~ on the front. 
+ *	The standard distribution will put nothing in this directory.
+ *	Vendors who distribute perl may wish to place their own
+ *	architecture-dependent modules and extensions in this directory with
+ *		MakeMaker Makefile.PL INSTALLDIRS=vendor 
+ *	or equivalent.  See INSTALL for details.
  */
-#$d_times HAS_TIMES		/**/
-
-/* Fpos_t:
- *	This symbol holds the type used to declare file positions in libc.
- *	It can be fpos_t, long, uint, etc... It may be necessary to include
- *	 to get any typedef'ed information.
+/* PERL_VENDORARCH_EXP:
+ *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define Fpos_t $fpostype		/* File position type */
+#$d_vendorarch PERL_VENDORARCH "$vendorarch"		/**/
+#$d_vendorarch PERL_VENDORARCH_EXP "$vendorarchexp"		/**/
 
-/* Gid_t:
- *	This symbol holds the return type of getgid() and the type of
- *	argument to setrgid() and related functions.  Typically,
- *	it is the type of group ids in the kernel. It can be int, ushort,
- *	uid_t, etc... It may be necessary to include  to get
- *	any typedef'ed information.
+/* PERL_VENDORLIB_EXP:
+ *	This symbol contains the ~name expanded version of VENDORLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define Gid_t $gidtype		/* Type for getgid(), etc... */
-
-/* Off_t:
- *	This symbol holds the type used to declare offsets in the kernel.
- *	It can be int, long, off_t, etc... It may be necessary to include
- *	 to get any typedef'ed information.
+/* PERL_VENDORLIB_STEM:
+ *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
  */
-#define Off_t $lseektype		/*  type */
+#$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp"		/**/
+#$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem"		/**/
 
-/* Mode_t:
- *	This symbol holds the type used to declare file modes 
- *	for systems calls.  It is usually mode_t, but may be
- *	int or unsigned short.  It may be necessary to include 
- *	to get any typedef'ed information.
+/* VOIDFLAGS:
+ *	This symbol indicates how much support of the void type is given by this
+ *	compiler.  What various bits mean:
+ *
+ *	    1 = supports declaration of void
+ *	    2 = supports arrays of pointers to functions returning void
+ *	    4 = supports comparisons between pointers to void functions and
+ *		    addresses of void functions
+ *	    8 = suports declaration of generic void pointers
+ *
+ *	The package designer should define VOIDUSED to indicate the requirements
+ *	of the package.  This can be done either by #defining VOIDUSED before
+ *	including config.h, or by defining defvoidused in Myinit.U.  If the
+ *	latter approach is taken, only those flags will be tested.  If the
+ *	level of void support necessary is not present, defines void to int.
  */
-#define Mode_t $modetype	 /* file mode parameter for system calls */
+#ifndef VOIDUSED
+#define VOIDUSED $defvoidused
+#endif
+#define VOIDFLAGS $voidflags
+#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
+#define void int		/* is void to be avoided? */
+#define M_VOID			/* Xenix strikes again */
+#endif
 
-/* Pid_t:
- *	This symbol holds the type used to declare process ids in the kernel.
- *	It can be int, uint, pid_t, etc... It may be necessary to include
- *	 to get any typedef'ed information.
- */
-#define Pid_t $pidtype		/* PID type */
+/* PERL_XS_APIVERSION:
+ *	This variable contains the version of the oldest perl binary
+ *	compatible with the present perl.  perl.c:incpush() and
+ *	lib/lib.pm will automatically search in $sitearch for older
+ *	directories across major versions back to xs_apiversion.
+ *	This is only useful if you have a perl library directory tree
+ *	structured like the default one.
+ *	See INSTALL for how this works.
+ *	The versioned site_perl directory was introduced in 5.005,
+ *	so that is the lowest possible value.
+ *	Since this can depend on compile time options (such as
+ *	bincompat) it is set by Configure.  Other non-default sources
+ *	of potential incompatibility, such as multiplicity, threads,
+ *	debugging, 64bits, sfio, etc., are not checked for currently,
+ *	though in principle we could go snooping around in old
+ *	Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ *	This variable contains the version of the oldest perl
+ *	compatible with the present perl.  (That is, pure perl modules
+ *	written for pm_apiversion will still work for the current
+ *	version).  perl.c:incpush() and lib/lib.pm will automatically
+ *	search in $sitelib for older directories across major versions
+ *	back to pm_apiversion.  This is only useful if you have a perl
+ *	library directory tree structured like the default one.  The
+ *	versioned site_perl library was introduced in 5.005, so that's
+ *	the default setting for this variable.  It's hard to imagine
+ *	it changing before Perl6.  It is included here for symmetry
+ *	with xs_apiveprsion -- the searching algorithms will
+ *	(presumably) be similar.
+ *	See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION "$xs_apiversion"
+#define PERL_PM_APIVERSION "$pm_apiversion"
 
-/* Size_t:
- *	This symbol holds the type used to declare length parameters
- *	for string functions.  It is usually size_t, but may be
- *	unsigned long, int, etc.  It may be necessary to include
- *	 to get any typedef'ed information.
+/* HAS_LCHOWN:
+ *	This symbol, if defined, indicates that the lchown routine is
+ *	available to operate on a symbolic link (instead of following the
+ *	link).
  */
-#define Size_t $sizetype	 /* length paramater for string functions */
+#$d_lchown HAS_LCHOWN		/**/
 
-/* Uid_t:
- *	This symbol holds the type used to declare user ids in the kernel.
- *	It can be int, ushort, uid_t, etc... It may be necessary to include
- *	 to get any typedef'ed information.
+/* FLEXFILENAMES:
+ *	This symbol, if defined, indicates that the system supports filenames
+ *	longer than 14 characters.
  */
-#define Uid_t $uidtype		/* UID type */
+#$d_flexfnam	FLEXFILENAMES		/**/
 
 #endif
 !GROK!THIS!
diff --git a/gnu/usr.bin/perl/configpm b/gnu/usr.bin/perl/configpm
index 7dedb9c6af8..3c05a7a8bf3 100644
--- a/gnu/usr.bin/perl/configpm
+++ b/gnu/usr.bin/perl/configpm
@@ -17,21 +17,38 @@ my $glossary = $ARGV[1] || 'Porting/Glossary';
 
 # name of lib paths that should be truncated on ':'
 @libpathtrunc = qw(archlib archlibexp privlib privlibexp sitearch sitearchexp
-	     sitelib sitelibexp);
-
-
+	sitelib sitelibexp);
+# name of lib paths that should be truncated on ':'
+@libpathtrunc = qw(archlib archlibexp privlib privlibexp sitearch sitearchexp
+	sitelib sitelibexp);
 open CONFIG, ">$config_pm" or die "Can't open $config_pm: $!\n";
-$myver = $];
+$myver = sprintf "v%vd", $^V;
 
-print CONFIG <<"ENDOFBEG";
+print CONFIG <<'ENDOFBEG_NOQ', <<"ENDOFBEG";
 package Config;
 use Exporter ();
-\@ISA = (Exporter);
-\@EXPORT = qw(%Config);
-\@EXPORT_OK = qw(myconfig config_sh config_vars);
+@EXPORT = qw(%Config);
+@EXPORT_OK = qw(myconfig config_sh config_vars);
+
+# Define our own import method to avoid pulling in the full Exporter:
+sub import {
+  my $pkg = shift;
+  @_ = @EXPORT unless @_;
+  my @func = grep {$_ ne '%Config'} @_;
+  local $Exporter::ExportLevel = 1;
+  Exporter::import('Config', @func) if @func;
+  return if @func == @_;
+  my $callpkg = caller(0);
+  *{"$callpkg\::Config"} = \%Config;
+}
+
+ENDOFBEG_NOQ
+die "Perl lib version ($myver) doesn't match executable version (\$])"
+    unless \$^V;
 
-\$] == $myver
-  or die "Perl lib version ($myver) doesn't match executable version (\$])";
+\$^V eq $myver
+  or die "Perl lib version ($myver) doesn't match executable version (" .
+    (sprintf "v%vd",\$^V) . ")";
 
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.
@@ -49,8 +66,21 @@ $in_v = 0;
 
 while (<>) {
     next if m:^#!/bin/sh:;
-    # Catch CONFIG=true and PATCHLEVEL=n line from Configure.
+    # Catch CONFIGDOTSH=true and PERL_VERSION=n line from Configure.
     s/^(\w+)=(true|\d+)\s*$/$1='$2'\n/;
+    my ($k,$v) = ($1,$2);
+    # grandfather PATCHLEVEL and SUBVERSION and CONFIG
+    if ($k) {
+	if ($k eq 'PERL_VERSION') {
+	    push @v_others, "PATCHLEVEL='$v'\n";
+	}
+	elsif ($k eq 'PERL_SUBVERSION') {
+	    push @v_others, "SUBVERSION='$v'\n";
+	}
+	elsif ($k eq 'CONFIGDOTSH') {
+	    push @v_others, "CONFIG='$v'\n";
+	}
+    }
     # We can delimit things in config.sh with either ' or ". 
     unless ($in_v or m/^(\w+)=(['"])(.*\n)/){
 	push(@non_v, "#$_"); # not a name='value' line
@@ -75,11 +105,11 @@ print CONFIG "\n",
     join("", @v_fast, sort @v_others),
     "!END!\n\n";
 
-# copy config summary format from the myconfig script
+# copy config summary format from the myconfig.SH script
 
 print CONFIG "my \$summary = <<'!END!';\n";
 
-open(MYCONFIG,") && !/^Summary of/;
 do { print CONFIG $_ } until !defined($_ = ) || /^\s*$/;
 close(MYCONFIG);
@@ -408,11 +438,11 @@ require $config_pm;
 import Config;
 
 die "$0: $config_pm not valid"
-	unless $Config{'CONFIG'} eq 'true';
+	unless $Config{'CONFIGDOTSH'} eq 'true';
 
 die "$0: error processing $config_pm"
 	if defined($Config{'an impossible name'})
-	or $Config{'CONFIG'} ne 'true' # test cache
+	or $Config{'CONFIGDOTSH'} ne 'true' # test cache
 	;
 
 die "$0: error processing $config_pm"
diff --git a/gnu/usr.bin/perl/configure.gnu b/gnu/usr.bin/perl/configure.gnu
index fa465320940..2ef8331833d 100644
--- a/gnu/usr.bin/perl/configure.gnu
+++ b/gnu/usr.bin/perl/configure.gnu
@@ -111,6 +111,14 @@ case "$ccflags" in
 '') ;;
 *) opts="$opts -Dccflags='$ccflags'";;
 esac
+case "$LDFLAGS" in
+'') ;;
+*) ldflags="$ldflags $LDFLAGS";;
+esac
+case "$ldflags" in
+'') ;;
+*) opts="$opts -Dldflags='$ldflags'";;
+esac
 
 # Don't use -s if they want verbose mode
 case "$verbose" in
diff --git a/gnu/usr.bin/perl/cop.h b/gnu/usr.bin/perl/cop.h
index 7d6730fb966..e588675012a 100644
--- a/gnu/usr.bin/perl/cop.h
+++ b/gnu/usr.bin/perl/cop.h
@@ -1,6 +1,6 @@
 /*    cop.h
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -10,15 +10,59 @@
 struct cop {
     BASEOP
     char *	cop_label;	/* label for this construct */
+#ifdef USE_ITHREADS
+    char *	cop_stashpv;	/* package line was compiled in */
+    char *	cop_file;	/* file name the following line # is from */
+#else
     HV *	cop_stash;	/* package line was compiled in */
     GV *	cop_filegv;	/* file the following line # is from */
+#endif
     U32		cop_seq;	/* parse sequence number */
     I32		cop_arybase;	/* array base this line was compiled with */
     line_t      cop_line;       /* line # of this command */
+    SV *	cop_warnings;	/* lexical warnings bitmask */
 };
 
 #define Nullcop Null(COP*)
 
+#ifdef USE_ITHREADS
+#  define CopFILE(c)		((c)->cop_file)
+#  define CopFILEGV(c)		(CopFILE(c) \
+				 ? gv_fetchfile(CopFILE(c)) : Nullgv)
+#  define CopFILE_set(c,pv)	((c)->cop_file = savepv(pv))	/* XXX */
+#  define CopFILESV(c)		(CopFILE(c) \
+				 ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv)
+#  define CopFILEAV(c)		(CopFILE(c) \
+				 ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav)
+#  define CopSTASHPV(c)		((c)->cop_stashpv)
+#  define CopSTASHPV_set(c,pv)	((c)->cop_stashpv = savepv(pv))	/* XXX */
+#  define CopSTASH(c)		(CopSTASHPV(c) \
+				 ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv)
+#  define CopSTASH_set(c,hv)	CopSTASHPV_set(c, HvNAME(hv))
+#  define CopSTASH_eq(c,hv)	(hv 					\
+				 && (CopSTASHPV(c) == HvNAME(hv)	\
+				     || (CopSTASHPV(c) && HvNAME(hv)	\
+					 && strEQ(CopSTASHPV(c), HvNAME(hv)))))
+#else
+#  define CopFILEGV(c)		((c)->cop_filegv)
+#  define CopFILEGV_set(c,gv)	((c)->cop_filegv = gv)
+#  define CopFILE_set(c,pv)	((c)->cop_filegv = gv_fetchfile(pv))
+#  define CopFILESV(c)		(CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv)
+#  define CopFILEAV(c)		(CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav)
+#  define CopFILE(c)		(CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch)
+#  define CopSTASH(c)		((c)->cop_stash)
+#  define CopSTASH_set(c,hv)	((c)->cop_stash = hv)
+#  define CopSTASHPV(c)		(CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch)
+#  define CopSTASHPV_set(c,pv)	CopSTASH_set(c, gv_stashpv(pv,GV_ADD))
+#  define CopSTASH_eq(c,hv)	(CopSTASH(c) == hv)
+#endif /* USE_ITHREADS */
+
+#define CopSTASH_ne(c,hv)	(!CopSTASH_eq(c,hv))
+#define CopLINE(c)		((c)->cop_line)
+#define CopLINE_inc(c)		(++CopLINE(c))
+#define CopLINE_dec(c)		(--CopLINE(c))
+#define CopLINE_set(c,l)	(CopLINE(c) = (l))
+
 /*
  * Here we have some enormously heavy (or at least ponderous) wizardry.
  */
@@ -34,12 +78,15 @@ struct block_sub {
     AV *	argarray;
     U16		olddepth;
     U8		hasargs;
+    U8		lval;		/* XXX merge lval and hasargs? */
 };
 
 #define PUSHSUB(cx)							\
 	cx->blk_sub.cv = cv;						\
 	cx->blk_sub.olddepth = CvDEPTH(cv);				\
-	cx->blk_sub.hasargs = hasargs;
+	cx->blk_sub.hasargs = hasargs;					\
+	cx->blk_sub.lval = PL_op->op_private &                          \
+	                      (OPpLVAL_INTRO|OPpENTERSUB_INARGS);
 
 #define PUSHFORMAT(cx)							\
 	cx->blk_sub.cv = cv;						\
@@ -48,35 +95,51 @@ struct block_sub {
 	cx->blk_sub.dfoutgv = PL_defoutgv;				\
 	(void)SvREFCNT_inc(cx->blk_sub.dfoutgv)
 
-#define POPSUB(cx)							\
-	{ struct block_sub cxsub;					\
-	  POPSUB1(cx);							\
-	  POPSUB2(); }
-
-#define POPSUB1(cx)							\
-	cxsub = cx->blk_sub;	/* because DESTROY may clobber *cx */
-
 #ifdef USE_THREADS
-#define POPSAVEARRAY() NOOP
+#  define POP_SAVEARRAY() NOOP
 #else
-#define POPSAVEARRAY()							\
+#  define POP_SAVEARRAY()						\
     STMT_START {							\
 	SvREFCNT_dec(GvAV(PL_defgv));					\
-	GvAV(PL_defgv) = cxsub.savearray;					\
+	GvAV(PL_defgv) = cx->blk_sub.savearray;				\
     } STMT_END
 #endif /* USE_THREADS */
 
-#define POPSUB2()							\
-	if (cxsub.hasargs) {						\
-	    POPSAVEARRAY();						\
-	    /* destroy arg array */					\
-	    av_clear(cxsub.argarray);					\
-	    AvREAL_off(cxsub.argarray);					\
+#ifdef USE_ITHREADS
+   /* junk in @_ spells trouble when cloning CVs, so don't leave any */
+#  define CLEAR_ARGARRAY()	av_clear(cx->blk_sub.argarray)
+#else
+#  define CLEAR_ARGARRAY()	NOOP
+#endif /* USE_ITHREADS */
+
+
+#define POPSUB(cx,sv)							\
+    STMT_START {							\
+	if (cx->blk_sub.hasargs) {					\
+	    POP_SAVEARRAY();						\
+	    /* abandon @_ if it got reified */				\
+	    if (AvREAL(cx->blk_sub.argarray)) {				\
+		SSize_t fill = AvFILLp(cx->blk_sub.argarray);		\
+		SvREFCNT_dec(cx->blk_sub.argarray);			\
+		cx->blk_sub.argarray = newAV();				\
+		av_extend(cx->blk_sub.argarray, fill);			\
+		AvFLAGS(cx->blk_sub.argarray) = AVf_REIFY;		\
+		PL_curpad[0] = (SV*)cx->blk_sub.argarray;		\
+	    }								\
+	    else {							\
+		CLEAR_ARGARRAY();					\
+	    }								\
 	}								\
-	if (cxsub.cv) {							\
-	    if (!(CvDEPTH(cxsub.cv) = cxsub.olddepth))			\
-		SvREFCNT_dec(cxsub.cv);					\
-	}
+	sv = (SV*)cx->blk_sub.cv;					\
+	if (sv && (CvDEPTH((CV*)sv) = cx->blk_sub.olddepth))		\
+	    sv = Nullsv;						\
+    } STMT_END
+
+#define LEAVESUB(sv)							\
+    STMT_START {							\
+	if (sv)								\
+	    SvREFCNT_dec(sv);						\
+    } STMT_END
 
 #define POPFORMAT(cx)							\
 	setdefout(cx->blk_sub.dfoutgv);					\
@@ -86,22 +149,28 @@ struct block_sub {
 struct block_eval {
     I32		old_in_eval;
     I32		old_op_type;
-    char *	old_name;
+    SV *	old_namesv;
     OP *	old_eval_root;
     SV *	cur_text;
 };
 
 #define PUSHEVAL(cx,n,fgv)						\
+    STMT_START {							\
 	cx->blk_eval.old_in_eval = PL_in_eval;				\
-	cx->blk_eval.old_op_type = PL_op->op_type;				\
-	cx->blk_eval.old_name = n;					\
-	cx->blk_eval.old_eval_root = PL_eval_root;				\
-	cx->blk_eval.cur_text = PL_linestr;
+	cx->blk_eval.old_op_type = PL_op->op_type;			\
+	cx->blk_eval.old_namesv = (n ? newSVpv(n,0) : Nullsv);		\
+	cx->blk_eval.old_eval_root = PL_eval_root;			\
+	cx->blk_eval.cur_text = PL_linestr;				\
+    } STMT_END
 
 #define POPEVAL(cx)							\
+    STMT_START {							\
 	PL_in_eval = cx->blk_eval.old_in_eval;				\
 	optype = cx->blk_eval.old_op_type;				\
-	PL_eval_root = cx->blk_eval.old_eval_root;
+	PL_eval_root = cx->blk_eval.old_eval_root;			\
+	if (cx->blk_eval.old_namesv)					\
+	    sv_2mortal(cx->blk_eval.old_namesv);			\
+    } STMT_END
 
 /* loop context */
 struct block_loop {
@@ -110,7 +179,12 @@ struct block_loop {
     OP *	redo_op;
     OP *	next_op;
     OP *	last_op;
+#ifdef USE_ITHREADS
+    void *	iterdata;
+    SV **	oldcurpad;
+#else
     SV **	itervar;
+#endif
     SV *	itersave;
     SV *	iterlval;
     AV *	iterary;
@@ -118,35 +192,44 @@ struct block_loop {
     IV		itermax;
 };
 
-#define PUSHLOOP(cx, ivar, s)						\
-	cx->blk_loop.label = PL_curcop->cop_label;				\
-	cx->blk_loop.resetsp = s - PL_stack_base;				\
+#ifdef USE_ITHREADS
+#  define CxITERVAR(c)							\
+	((c)->blk_loop.iterdata						\
+	 ? (CxPADLOOP(cx) 						\
+	    ? &((c)->blk_loop.oldcurpad)[(PADOFFSET)(c)->blk_loop.iterdata]	\
+	    : &GvSV((GV*)(c)->blk_loop.iterdata))			\
+	 : (SV**)NULL)
+#  define CX_ITERDATA_SET(cx,idata)					\
+	cx->blk_loop.oldcurpad = PL_curpad;				\
+	if ((cx->blk_loop.iterdata = (idata)))				\
+	    cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx));
+#else
+#  define CxITERVAR(c)		((c)->blk_loop.itervar)
+#  define CX_ITERDATA_SET(cx,ivar)					\
+	if ((cx->blk_loop.itervar = (SV**)(ivar)))			\
+	    cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx));
+#endif
+
+#define PUSHLOOP(cx, dat, s)						\
+	cx->blk_loop.label = PL_curcop->cop_label;			\
+	cx->blk_loop.resetsp = s - PL_stack_base;			\
 	cx->blk_loop.redo_op = cLOOP->op_redoop;			\
 	cx->blk_loop.next_op = cLOOP->op_nextop;			\
 	cx->blk_loop.last_op = cLOOP->op_lastop;			\
-	if (cx->blk_loop.itervar = (ivar))				\
-	    cx->blk_loop.itersave = SvREFCNT_inc(*cx->blk_loop.itervar);\
 	cx->blk_loop.iterlval = Nullsv;					\
 	cx->blk_loop.iterary = Nullav;					\
-	cx->blk_loop.iterix = -1;
+	cx->blk_loop.iterix = -1;					\
+	CX_ITERDATA_SET(cx,dat);
 
 #define POPLOOP(cx)							\
-	{ struct block_loop cxloop;					\
-	  POPLOOP1(cx);							\
-	  POPLOOP2(); }
-
-#define POPLOOP1(cx)							\
-	cxloop = cx->blk_loop;	/* because DESTROY may clobber *cx */	\
-	newsp = PL_stack_base + cxloop.resetsp;
-
-#define POPLOOP2()							\
-	SvREFCNT_dec(cxloop.iterlval);					\
-	if (cxloop.itervar) {						\
-	    sv_2mortal(*cxloop.itervar);				\
-	    *cxloop.itervar = cxloop.itersave;				\
+	SvREFCNT_dec(cx->blk_loop.iterlval);				\
+	if (CxITERVAR(cx)) {						\
+	    SV **s_v_p = CxITERVAR(cx);					\
+	    sv_2mortal(*s_v_p);						\
+	    *s_v_p = cx->blk_loop.itersave;				\
 	}								\
-	if (cxloop.iterary && cxloop.iterary != PL_curstack)		\
-	    SvREFCNT_dec(cxloop.iterary);
+	if (cx->blk_loop.iterary && cx->blk_loop.iterary != PL_curstack)\
+	    SvREFCNT_dec(cx->blk_loop.iterary);
 
 /* context common to subroutines, evals and loops */
 struct block {
@@ -185,8 +268,8 @@ struct block {
 	cx->blk_oldretsp	= PL_retstack_ix,			\
 	cx->blk_oldpm		= PL_curpm,				\
 	cx->blk_gimme		= gimme;				\
-	DEBUG_l( PerlIO_printf(PerlIO_stderr(), "Entering block %ld, type %s\n",	\
-		    (long)cxstack_ix, block_type[CxTYPE(cx)]); )
+	DEBUG_l( PerlIO_printf(Perl_debug_log, "Entering block %ld, type %s\n",	\
+		    (long)cxstack_ix, PL_block_type[CxTYPE(cx)]); )
 
 /* Exit a block (RETURN and LAST). */
 #define POPBLOCK(cx,pm) cx = &cxstack[cxstack_ix--],			\
@@ -197,8 +280,8 @@ struct block {
 	PL_retstack_ix	 = cx->blk_oldretsp,				\
 	pm		 = cx->blk_oldpm,				\
 	gimme		 = cx->blk_gimme;				\
-	DEBUG_l( PerlIO_printf(PerlIO_stderr(), "Leaving block %ld, type %s\n",		\
-		    (long)cxstack_ix+1,block_type[CxTYPE(cx)]); )
+	DEBUG_l( PerlIO_printf(Perl_debug_log, "Leaving block %ld, type %s\n",		\
+		    (long)cxstack_ix+1,PL_block_type[CxTYPE(cx)]); )
 
 /* Continue a block elsewhere (NEXT and REDO). */
 #define TOPBLOCK(cx) cx  = &cxstack[cxstack_ix],			\
@@ -212,7 +295,7 @@ struct block {
 struct subst {
     I32		sbu_iters;
     I32		sbu_maxiters;
-    I32		sbu_safebase;
+    I32		sbu_rflags;
     I32		sbu_oldsave;
     bool	sbu_once;
     bool	sbu_rxtainted;
@@ -227,7 +310,7 @@ struct subst {
 };
 #define sb_iters	cx_u.cx_subst.sbu_iters
 #define sb_maxiters	cx_u.cx_subst.sbu_maxiters
-#define sb_safebase	cx_u.cx_subst.sbu_safebase
+#define sb_rflags	cx_u.cx_subst.sbu_rflags
 #define sb_oldsave	cx_u.cx_subst.sbu_oldsave
 #define sb_once		cx_u.cx_subst.sbu_once
 #define sb_rxtainted	cx_u.cx_subst.sbu_rxtainted
@@ -243,7 +326,7 @@ struct subst {
 #define PUSHSUBST(cx) CXINC, cx = &cxstack[cxstack_ix],			\
 	cx->sb_iters		= iters,				\
 	cx->sb_maxiters		= maxiters,				\
-	cx->sb_safebase		= safebase,				\
+	cx->sb_rflags		= r_flags,				\
 	cx->sb_oldsave		= oldsave,				\
 	cx->sb_once		= once,					\
 	cx->sb_rxtainted	= rxtainted,				\
@@ -276,27 +359,77 @@ struct context {
 #define CXt_LOOP	3
 #define CXt_SUBST	4
 #define CXt_BLOCK	5
+#define CXt_FORMAT	6
 
 /* private flags for CXt_EVAL */
 #define CXp_REAL	0x00000100	/* truly eval'', not a lookalike */
+#define CXp_TRYBLOCK	0x00000200	/* eval{}, not eval'' or similar */
+
+#ifdef USE_ITHREADS
+/* private flags for CXt_LOOP */
+#  define CXp_PADVAR	0x00000100	/* itervar lives on pad, iterdata
+					   has pad offset; if not set,
+					   iterdata holds GV* */
+#  define CxPADLOOP(c)	(((c)->cx_type & (CXt_LOOP|CXp_PADVAR))		\
+			 == (CXt_LOOP|CXp_PADVAR))
+#endif
 
 #define CxTYPE(c)	((c)->cx_type & CXTYPEMASK)
-#define CxREALEVAL(c)	(((c)->cx_type & (CXt_EVAL|CXp_REAL)) == (CXt_EVAL|CXp_REAL))
+#define CxREALEVAL(c)	(((c)->cx_type & (CXt_EVAL|CXp_REAL))		\
+			 == (CXt_EVAL|CXp_REAL))
+#define CxTRYBLOCK(c)	(((c)->cx_type & (CXt_EVAL|CXp_TRYBLOCK))	\
+			 == (CXt_EVAL|CXp_TRYBLOCK))
 
 #define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix = cxinc()))
 
 /* "gimme" values */
+
+/*
+=for apidoc AmU||G_SCALAR
+Used to indicate scalar context.  See C, C, and
+L.
+
+=for apidoc AmU||G_ARRAY
+Used to indicate array context.  See C, C and
+L.
+
+=for apidoc AmU||G_VOID
+Used to indicate void context.  See C and L.
+
+=for apidoc AmU||G_DISCARD
+Indicates that arguments returned from a callback should be discarded.  See
+L.
+
+=for apidoc AmU||G_EVAL
+
+Used to force a Perl C wrapper around a callback.  See
+L.
+
+=for apidoc AmU||G_NOARGS
+
+Indicates that no arguments are being sent to a callback.  See
+L.
+
+=cut
+*/
+
 #define G_SCALAR	0
 #define G_ARRAY		1
 #define G_VOID		128	/* skip this bit when adding flags below */
 
-/* extra flags for perl_call_* routines */
+/* extra flags for Perl_call_* routines */
 #define G_DISCARD	2	/* Call FREETMPS. */
 #define G_EVAL		4	/* Assume eval {} around subroutine call. */
 #define G_NOARGS	8	/* Don't construct a @_ array. */
 #define G_KEEPERR      16	/* Append errors to $@, don't overwrite it */
 #define G_NODEBUG      32	/* Disable debugging at toplevel.  */
 
+/* flag bits for PL_in_eval */
+#define EVAL_NULL	0	/* not in an eval */
+#define EVAL_INEVAL	1	/* some enclosing scope is an eval */
+#define EVAL_WARNONLY	2	/* used by yywarn() when calling yyerror() */
+#define EVAL_KEEPERR	4	/* set by Perl_call_sv if G_KEEPERR */
+
 /* Support for switching (stack and block) contexts.
  * This ensures magic doesn't invalidate local stack and cx pointers.
  */
@@ -321,7 +454,7 @@ struct stackinfo {
     I32			si_type;	/* type of runlevel */
     struct stackinfo *	si_prev;
     struct stackinfo *	si_next;
-    I32 *		si_markbase;	/* where markstack begins for us.
+    I32			si_markoff;	/* offset where markstack begins for us.
 					 * currently used only with DEBUGGING,
 					 * but not #ifdef-ed for bincompat */
 };
@@ -333,9 +466,10 @@ typedef struct stackinfo PERL_SI;
 #define cxstack_max	(PL_curstackinfo->si_cxmax)
 
 #ifdef DEBUGGING
-#  define	SET_MARKBASE PL_curstackinfo->si_markbase = PL_markstack_ptr
+#  define	SET_MARK_OFFSET \
+    PL_curstackinfo->si_markoff = PL_markstack_ptr - PL_markstack
 #else
-#  define	SET_MARKBASE NOOP
+#  define	SET_MARK_OFFSET NOOP
 #endif
 
 #define PUSHSTACKi(type) \
@@ -351,16 +485,19 @@ typedef struct stackinfo PERL_SI;
 	AvFILLp(next->si_stack) = 0;					\
 	SWITCHSTACK(PL_curstack,next->si_stack);			\
 	PL_curstackinfo = next;						\
-	SET_MARKBASE;							\
+	SET_MARK_OFFSET;						\
     } STMT_END
 
 #define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
 
+/* POPSTACK works with PL_stack_sp, so it may need to be bracketed by
+ * PUTBACK/SPAGAIN to flush/refresh any local SP that may be active */
 #define POPSTACK \
     STMT_START {							\
+	djSP;								\
 	PERL_SI *prev = PL_curstackinfo->si_prev;			\
 	if (!prev) {							\
-	    PerlIO_printf(PerlIO_stderr(), "panic: POPSTACK\n");	\
+	    PerlIO_printf(Perl_error_log, "panic: POPSTACK\n");		\
 	    my_exit(1);							\
 	}								\
 	SWITCHSTACK(PL_curstack,prev->si_stack);			\
diff --git a/gnu/usr.bin/perl/cv.h b/gnu/usr.bin/perl/cv.h
index 9605135ffc0..adb424e8eaa 100644
--- a/gnu/usr.bin/perl/cv.h
+++ b/gnu/usr.bin/perl/cv.h
@@ -1,31 +1,32 @@
 /*    cv.h
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  */
 
-/* This structure much match the beginning of XPVFM */
+/* This structure much match XPVCV in B/C.pm and the beginning of XPVFM
+ * in sv.h  */
 
 struct xpvcv {
     char *	xpv_pv;		/* pointer to malloced string */
     STRLEN	xpv_cur;	/* length of xp_pv as a C string */
     STRLEN	xpv_len;	/* allocated size */
     IV		xof_off;	/* integer value */
-    double	xnv_nv;		/* numeric value, if any */
+    NV		xnv_nv;		/* numeric value, if any */
     MAGIC*	xmg_magic;	/* magic for scalar array */
     HV*		xmg_stash;	/* class package */
 
     HV *	xcv_stash;
     OP *	xcv_start;
     OP *	xcv_root;
-    void      (*xcv_xsub) _((CV* _CPERLproto));
+    void	(*xcv_xsub) (pTHXo_ CV*);
     ANY		xcv_xsubany;
     GV *	xcv_gv;
-    GV *	xcv_filegv;
-    long	xcv_depth;		/* >= 2 indicates recursive call */
+    char *	xcv_file;
+    long	xcv_depth;	/* >= 2 indicates recursive call */
     AV *	xcv_padlist;
     CV *	xcv_outside;
 #ifdef USE_THREADS
@@ -35,6 +36,16 @@ struct xpvcv {
     cv_flags_t	xcv_flags;
 };
 
+/*
+=for apidoc AmU||Nullcv
+Null CV pointer.
+
+=for apidoc Am|HV*|CvSTASH|CV* cv
+Returns the stash of the CV.
+
+=cut
+*/
+
 #define Nullcv Null(CV*)
 
 #define CvSTASH(sv)	((XPVCV*)SvANY(sv))->xcv_stash
@@ -43,7 +54,8 @@ struct xpvcv {
 #define CvXSUB(sv)	((XPVCV*)SvANY(sv))->xcv_xsub
 #define CvXSUBANY(sv)	((XPVCV*)SvANY(sv))->xcv_xsubany
 #define CvGV(sv)	((XPVCV*)SvANY(sv))->xcv_gv
-#define CvFILEGV(sv)	((XPVCV*)SvANY(sv))->xcv_filegv
+#define CvFILE(sv)	((XPVCV*)SvANY(sv))->xcv_file
+#define CvFILEGV(sv)	(gv_fetchfile(CvFILE(sv))
 #define CvDEPTH(sv)	((XPVCV*)SvANY(sv))->xcv_depth
 #define CvPADLIST(sv)	((XPVCV*)SvANY(sv))->xcv_padlist
 #define CvOUTSIDE(sv)	((XPVCV*)SvANY(sv))->xcv_outside
@@ -62,6 +74,7 @@ struct xpvcv {
 				   (esp. useful for special XSUBs) */
 #define CVf_METHOD	0x0040	/* CV is explicitly marked as a method */
 #define CVf_LOCKED	0x0080	/* CV locks itself or first arg on entry */
+#define CVf_LVALUE	0x0100  /* CV return value can be used as lvalue */
 
 #define CvCLONE(cv)		(CvFLAGS(cv) & CVf_CLONE)
 #define CvCLONE_on(cv)		(CvFLAGS(cv) |= CVf_CLONE)
@@ -75,9 +88,11 @@ struct xpvcv {
 #define CvANON_on(cv)		(CvFLAGS(cv) |= CVf_ANON)
 #define CvANON_off(cv)		(CvFLAGS(cv) &= ~CVf_ANON)
 
+#ifdef PERL_XSUB_OLDSTYLE
 #define CvOLDSTYLE(cv)		(CvFLAGS(cv) & CVf_OLDSTYLE)
 #define CvOLDSTYLE_on(cv)	(CvFLAGS(cv) |= CVf_OLDSTYLE)
 #define CvOLDSTYLE_off(cv)	(CvFLAGS(cv) &= ~CVf_OLDSTYLE)
+#endif
 
 #define CvUNIQUE(cv)		(CvFLAGS(cv) & CVf_UNIQUE)
 #define CvUNIQUE_on(cv)		(CvFLAGS(cv) |= CVf_UNIQUE)
@@ -95,6 +110,10 @@ struct xpvcv {
 #define CvLOCKED_on(cv)		(CvFLAGS(cv) |= CVf_LOCKED)
 #define CvLOCKED_off(cv)	(CvFLAGS(cv) &= ~CVf_LOCKED)
 
+#define CvLVALUE(cv)		(CvFLAGS(cv) & CVf_LVALUE)
+#define CvLVALUE_on(cv)		(CvFLAGS(cv) |= CVf_LVALUE)
+#define CvLVALUE_off(cv)	(CvFLAGS(cv) &= ~CVf_LVALUE)
+
 #define CvEVAL(cv)		(CvUNIQUE(cv) && !SvFAKE(cv))
 #define CvEVAL_on(cv)		(CvUNIQUE_on(cv),SvFAKE_off(cv))
 #define CvEVAL_off(cv)		CvUNIQUE_off(cv)
diff --git a/gnu/usr.bin/perl/cygwin32/cw32imp.h b/gnu/usr.bin/perl/cygwin32/cw32imp.h
deleted file mode 100644
index 885cbb12025..00000000000
--- a/gnu/usr.bin/perl/cygwin32/cw32imp.h
+++ /dev/null
@@ -1,355 +0,0 @@
-/* include file for building of extension libs using GNU-Win32 toolkit,
-   which is based on the Cygnus Cygwin32 API.  This file is included by
-   the extension dlls when they are built.  Global vars defined in perl
-   exe are referenced by the extension module dll by using __imp_varName,
-   where varName is the name of the global variable in perl.exe.
-   GNU-Win32 has no equivalent to MSVC's __declspec(dllimport) keyword to
-   define a imported global, so we have to use this approach to access
-   globals exported by perl.exe.
-    -jc 4/1/97
-*/
-
-#define  impure_setupptr   (*__imp_impure_setupptr)
-#define  Perl_reall_srchlen   (*__imp_Perl_reall_srchlen)
-#define  Perl_yychar   (*__imp_Perl_yychar)
-#define  Perl_yycheck   (*__imp_Perl_yycheck)
-#define  Perl_yydebug   (*__imp_Perl_yydebug)
-#define  Perl_yydefred   (*__imp_Perl_yydefred)
-#define  Perl_yydgoto   (*__imp_Perl_yydgoto)
-#define  Perl_yyerrflag   (*__imp_Perl_yyerrflag)
-#define  Perl_yygindex   (*__imp_Perl_yygindex)
-#define  Perl_yylen   (*__imp_Perl_yylen)
-#define  Perl_yylhs   (*__imp_Perl_yylhs)
-#define  Perl_yylval   (*__imp_Perl_yylval)
-#define  Perl_yynerrs   (*__imp_Perl_yynerrs)
-#define  Perl_yyrindex   (*__imp_Perl_yyrindex)
-#define  Perl_yysindex   (*__imp_Perl_yysindex)
-#define  Perl_yytable   (*__imp_Perl_yytable)
-#define  Perl_yyval   (*__imp_Perl_yyval)
-#define  Perl_regarglen   (*__imp_Perl_regarglen)
-#define  Perl_regdummy   (*__imp_Perl_regdummy)
-#define  Perl_regkind   (*__imp_Perl_regkind)
-#define  Perl_simple   (*__imp_Perl_simple)
-#define  Perl_varies   (*__imp_Perl_varies)
-#define  Perl_watchaddr   (*__imp_Perl_watchaddr)
-#define  Perl_watchok   (*__imp_Perl_watchok)
-#define  Argv   (*__imp_Argv)
-#define  Cmd   (*__imp_Cmd)
-#define  DBgv   (*__imp_DBgv)
-#define  DBline   (*__imp_DBline)
-#define  DBsignal   (*__imp_DBsignal)
-#define  DBsingle   (*__imp_DBsingle)
-#define  DBsub   (*__imp_DBsub)
-#define  DBtrace   (*__imp_DBtrace)
-#define  Error   (*__imp_Error)
-#define  Perl_AMG_names   (*__imp_Perl_AMG_names)
-#define  Perl_No   (*__imp_Perl_No)
-#define  Perl_Sv   (*__imp_Perl_Sv)
-#define  Perl_Xpv   (*__imp_Perl_Xpv)
-#define  Perl_Yes   (*__imp_Perl_Yes)
-#define  Perl_amagic_generation   (*__imp_Perl_amagic_generation)
-#define  Perl_an   (*__imp_Perl_an)
-#define  Perl_buf   (*__imp_Perl_buf)
-#define  Perl_bufend   (*__imp_Perl_bufend)
-#define  Perl_bufptr   (*__imp_Perl_bufptr)
-#define  Perl_check   (*__imp_Perl_check)
-#define  Perl_collation_ix   (*__imp_Perl_collation_ix)
-#define  Perl_collation_name   (*__imp_Perl_collation_name)
-#define  Perl_collation_standard   (*__imp_Perl_collation_standard)
-#define  Perl_collxfrm_base   (*__imp_Perl_collxfrm_base)
-#define  Perl_collxfrm_mult   (*__imp_Perl_collxfrm_mult)
-#define  Perl_compcv   (*__imp_Perl_compcv)
-#define  Perl_compiling   (*__imp_Perl_compiling)
-#define  Perl_comppad   (*__imp_Perl_comppad)
-#define  Perl_comppad_name   (*__imp_Perl_comppad_name)
-#define  Perl_comppad_name_fill   (*__imp_Perl_comppad_name_fill)
-#define  Perl_cop_seqmax   (*__imp_Perl_cop_seqmax)
-#define  Perl_curcop   (*__imp_Perl_curcop)
-#define  Perl_curcopdb   (*__imp_Perl_curcopdb)
-#define  Perl_curinterp   (*__imp_Perl_curinterp)
-#define  Perl_curpad   (*__imp_Perl_curpad)
-#define  Perl_dc   (*__imp_Perl_dc)
-#define  Perl_di   (*__imp_Perl_di)
-#define  Perl_ds   (*__imp_Perl_ds)
-#define  Perl_egid   (*__imp_Perl_egid)
-#define  Perl_envgv   (*__imp_Perl_envgv)
-#define  Perl_error_count   (*__imp_Perl_error_count)
-#define  Perl_euid   (*__imp_Perl_euid)
-#define  Perl_evalseq   (*__imp_Perl_evalseq)
-#define  Perl_expect   (*__imp_Perl_expect)
-#define  Perl_fold_locale   (*__imp_Perl_fold_locale)
-#define  Perl_gid   (*__imp_Perl_gid)
-#define  Perl_he_root   (*__imp_Perl_he_root)
-#define  Perl_hexdigit   (*__imp_Perl_hexdigit)
-#define  Perl_hints   (*__imp_Perl_hints)
-#define  Perl_in_my   (*__imp_Perl_in_my)
-#define  Perl_last_lop   (*__imp_Perl_last_lop)
-#define  Perl_last_lop_op   (*__imp_Perl_last_lop_op)
-#define  Perl_last_uni   (*__imp_Perl_last_uni)
-#define  Perl_lex_brackets   (*__imp_Perl_lex_brackets)
-#define  Perl_lex_brackstack   (*__imp_Perl_lex_brackstack)
-#define  Perl_lex_casemods   (*__imp_Perl_lex_casemods)
-#define  Perl_lex_casestack   (*__imp_Perl_lex_casestack)
-#define  Perl_lex_defer   (*__imp_Perl_lex_defer)
-#define  Perl_lex_dojoin   (*__imp_Perl_lex_dojoin)
-#define  Perl_lex_expect   (*__imp_Perl_lex_expect)
-#define  Perl_lex_fakebrack   (*__imp_Perl_lex_fakebrack)
-#define  Perl_lex_formbrack   (*__imp_Perl_lex_formbrack)
-#define  Perl_lex_inpat   (*__imp_Perl_lex_inpat)
-#define  Perl_lex_inwhat   (*__imp_Perl_lex_inwhat)
-#define  Perl_lex_op   (*__imp_Perl_lex_op)
-#define  Perl_lex_repl   (*__imp_Perl_lex_repl)
-#define  Perl_lex_starts   (*__imp_Perl_lex_starts)
-#define  Perl_lex_state   (*__imp_Perl_lex_state)
-#define  Perl_lex_stuff   (*__imp_Perl_lex_stuff)
-#define  Perl_linestr   (*__imp_Perl_linestr)
-#define  Perl_markstack   (*__imp_Perl_markstack)
-#define  Perl_markstack_max   (*__imp_Perl_markstack_max)
-#define  Perl_markstack_ptr   (*__imp_Perl_markstack_ptr)
-#define  Perl_max_intro_pending   (*__imp_Perl_max_intro_pending)
-#define  Perl_maxo   (*__imp_Perl_maxo)
-#define  Perl_min_intro_pending   (*__imp_Perl_min_intro_pending)
-#define  Perl_multi_close   (*__imp_Perl_multi_close)
-#define  Perl_multi_end   (*__imp_Perl_multi_end)
-#define  Perl_multi_open   (*__imp_Perl_multi_open)
-#define  Perl_multi_start   (*__imp_Perl_multi_start)
-#define  Perl_na   (*__imp_Perl_na)
-#define  Perl_nexttoke   (*__imp_Perl_nexttoke)
-#define  Perl_nexttype   (*__imp_Perl_nexttype)
-#define  Perl_nextval   (*__imp_Perl_nextval)
-#define  Perl_nomemok   (*__imp_Perl_nomemok)
-#define  Perl_numeric_local   (*__imp_Perl_numeric_local)
-#define  Perl_numeric_name   (*__imp_Perl_numeric_name)
-#define  Perl_numeric_standard   (*__imp_Perl_numeric_standard)
-#define  Perl_oldbufptr   (*__imp_Perl_oldbufptr)
-#define  Perl_oldoldbufptr   (*__imp_Perl_oldoldbufptr)
-#define  Perl_op   (*__imp_Perl_op)
-#define  Perl_op_desc   (*__imp_Perl_op_desc)
-#define  Perl_op_name   (*__imp_Perl_op_name)
-#define  Perl_op_seqmax   (*__imp_Perl_op_seqmax)
-#define  Perl_opargs   (*__imp_Perl_opargs)
-#define  Perl_origalen   (*__imp_Perl_origalen)
-#define  Perl_origenviron   (*__imp_Perl_origenviron)
-#define  Perl_osname   (*__imp_Perl_osname)
-#define  Perl_padix   (*__imp_Perl_padix)
-#define  Perl_patleave   (*__imp_Perl_patleave)
-#define  Perl_pidstatus   (*__imp_Perl_pidstatus)
-#define  Perl_ppaddr   (*__imp_Perl_ppaddr)
-#define  Perl_profiledata   (*__imp_Perl_profiledata)
-#define  Perl_psig_name   (*__imp_Perl_psig_name)
-#define  Perl_psig_ptr   (*__imp_Perl_psig_ptr)
-#define  Perl_regbol   (*__imp_Perl_regbol)
-#define  Perl_regcode   (*__imp_Perl_regcode)
-#define  Perl_regendp   (*__imp_Perl_regendp)
-#define  Perl_regeol   (*__imp_Perl_regeol)
-#define  Perl_reginput   (*__imp_Perl_reginput)
-#define  Perl_reglastparen   (*__imp_Perl_reglastparen)
-#define  Perl_regnaughty   (*__imp_Perl_regnaughty)
-#define  Perl_regnpar   (*__imp_Perl_regnpar)
-#define  Perl_regparse   (*__imp_Perl_regparse)
-#define  Perl_regprecomp   (*__imp_Perl_regprecomp)
-#define  Perl_regprev   (*__imp_Perl_regprev)
-#define  Perl_regsawback   (*__imp_Perl_regsawback)
-#define  Perl_regsize   (*__imp_Perl_regsize)
-#define  Perl_regstartp   (*__imp_Perl_regstartp)
-#define  Perl_regtill   (*__imp_Perl_regtill)
-#define  Perl_regxend   (*__imp_Perl_regxend)
-#define  Perl_retstack   (*__imp_Perl_retstack)
-#define  Perl_retstack_ix   (*__imp_Perl_retstack_ix)
-#define  Perl_retstack_max   (*__imp_Perl_retstack_max)
-#define  Perl_rsfp   (*__imp_Perl_rsfp)
-#define  Perl_rsfp_filters   (*__imp_Perl_rsfp_filters)
-#define  Perl_savestack   (*__imp_Perl_savestack)
-#define  Perl_savestack_ix   (*__imp_Perl_savestack_ix)
-#define  Perl_savestack_max   (*__imp_Perl_savestack_max)
-#define  Perl_scopestack   (*__imp_Perl_scopestack)
-#define  Perl_scopestack_ix   (*__imp_Perl_scopestack_ix)
-#define  Perl_scopestack_max   (*__imp_Perl_scopestack_max)
-#define  Perl_sh_path   (*__imp_Perl_sh_path)
-#define  Perl_sig_name   (*__imp_Perl_sig_name)
-#define  Perl_sig_num   (*__imp_Perl_sig_num)
-#define  Perl_siggv   (*__imp_Perl_siggv)
-#define  Perl_stack_base   (*__imp_Perl_stack_base)
-#define  Perl_stack_max   (*__imp_Perl_stack_max)
-#define  Perl_stack_sp   (*__imp_Perl_stack_sp)
-#define  Perl_statbuf   (*__imp_Perl_statbuf)
-#define  Perl_sub_generation   (*__imp_Perl_sub_generation)
-#define  Perl_subline   (*__imp_Perl_subline)
-#define  Perl_subname   (*__imp_Perl_subname)
-#define  Perl_sv_no   (*__imp_Perl_sv_no)
-#define  Perl_sv_undef   (*__imp_Perl_sv_undef)
-#define  Perl_sv_yes   (*__imp_Perl_sv_yes)
-#define  Perl_tainting   (*__imp_Perl_tainting)
-#define  Perl_thisexpr   (*__imp_Perl_thisexpr)
-#define  Perl_timesbuf   (*__imp_Perl_timesbuf)
-#define  Perl_tokenbuf   (*__imp_Perl_tokenbuf)
-#define  Perl_uid   (*__imp_Perl_uid)
-#define  Perl_vert   (*__imp_Perl_vert)
-#define  Perl_vtbl_amagic   (*__imp_Perl_vtbl_amagic)
-#define  Perl_vtbl_amagicelem   (*__imp_Perl_vtbl_amagicelem)
-#define  Perl_vtbl_arylen   (*__imp_Perl_vtbl_arylen)
-#define  Perl_vtbl_bm   (*__imp_Perl_vtbl_bm)
-#define  Perl_vtbl_collxfrm   (*__imp_Perl_vtbl_collxfrm)
-#define  Perl_vtbl_dbline   (*__imp_Perl_vtbl_dbline)
-#define  Perl_vtbl_env   (*__imp_Perl_vtbl_env)
-#define  Perl_vtbl_envelem   (*__imp_Perl_vtbl_envelem)
-#define  Perl_vtbl_fm   (*__imp_Perl_vtbl_fm)
-#define  Perl_vtbl_glob   (*__imp_Perl_vtbl_glob)
-#define  Perl_vtbl_isa   (*__imp_Perl_vtbl_isa)
-#define  Perl_vtbl_isaelem   (*__imp_Perl_vtbl_isaelem)
-#define  Perl_vtbl_itervar   (*__imp_Perl_vtbl_itervar)
-#define  Perl_vtbl_mglob   (*__imp_Perl_vtbl_mglob)
-#define  Perl_vtbl_nkeys   (*__imp_Perl_vtbl_nkeys)
-#define  Perl_vtbl_pack   (*__imp_Perl_vtbl_pack)
-#define  Perl_vtbl_packelem   (*__imp_Perl_vtbl_packelem)
-#define  Perl_vtbl_pos   (*__imp_Perl_vtbl_pos)
-#define  Perl_vtbl_sig   (*__imp_Perl_vtbl_sig)
-#define  Perl_vtbl_sigelem   (*__imp_Perl_vtbl_sigelem)
-#define  Perl_vtbl_substr   (*__imp_Perl_vtbl_substr)
-#define  Perl_vtbl_sv   (*__imp_Perl_vtbl_sv)
-#define  Perl_vtbl_taint   (*__imp_Perl_vtbl_taint)
-#define  Perl_vtbl_uvar   (*__imp_Perl_vtbl_uvar)
-#define  Perl_vtbl_vec   (*__imp_Perl_vtbl_vec)
-#define  Perl_xiv_arenaroot   (*__imp_Perl_xiv_arenaroot)
-#define  Perl_xiv_root   (*__imp_Perl_xiv_root)
-#define  Perl_xnv_root   (*__imp_Perl_xnv_root)
-#define  Perl_xpv_root   (*__imp_Perl_xpv_root)
-#define  Perl_xrv_root   (*__imp_Perl_xrv_root)
-#define  ampergv   (*__imp_ampergv)
-#define  argvgv   (*__imp_argvgv)
-#define  argvoutgv   (*__imp_argvoutgv)
-#define  basetime   (*__imp_basetime)
-#define  beginav   (*__imp_beginav)
-#define  bodytarget   (*__imp_bodytarget)
-#define  cddir   (*__imp_cddir)
-#define  chopset   (*__imp_chopset)
-#define  comppad_name_floor   (*__imp_comppad_name_floor)
-#define  copline   (*__imp_copline)
-#define  curpm   (*__imp_curpm)
-#define  curstack   (*__imp_curstack)
-#define  curstash   (*__imp_curstash)
-#define  curstname   (*__imp_curstname)
-#define  cxstack   (*__imp_cxstack)
-#define  cxstack_ix   (*__imp_cxstack_ix)
-#define  cxstack_max   (*__imp_cxstack_max)
-#define  dbargs   (*__imp_dbargs)
-#define  debdelim   (*__imp_debdelim)
-#define  debname   (*__imp_debname)
-#define  debstash   (*__imp_debstash)
-#define  debug   (*__imp_debug)
-#define  defgv   (*__imp_defgv)
-#define  defoutgv   (*__imp_defoutgv)
-#define  defstash   (*__imp_defstash)
-#define  delaymagic   (*__imp_delaymagic)
-#define  diehook   (*__imp_diehook)
-#define  dirty   (*__imp_dirty)
-#define  dlevel   (*__imp_dlevel)
-#define  dlmax   (*__imp_dlmax)
-#define  do_undump   (*__imp_do_undump)
-#define  doextract   (*__imp_doextract)
-#define  doswitches   (*__imp_doswitches)
-#define  dowarn   (*__imp_dowarn)
-#define  dumplvl   (*__imp_dumplvl)
-#define  e_fp   (*__imp_e_fp)
-#define  e_tmpname   (*__imp_e_tmpname)
-#define  endav   (*__imp_endav)
-#define  errgv   (*__imp_errgv)
-#define  eval_root   (*__imp_eval_root)
-#define  eval_start   (*__imp_eval_start)
-#define  fdpid   (*__imp_fdpid)
-#define  filemode   (*__imp_filemode)
-#define  firstgv   (*__imp_firstgv)
-#define  forkprocess   (*__imp_forkprocess)
-#define  formfeed   (*__imp_formfeed)
-#define  formtarget   (*__imp_formtarget)
-#define  gensym   (*__imp_gensym)
-#define  in_eval   (*__imp_in_eval)
-#define  incgv   (*__imp_incgv)
-#define  inplace   (*__imp_inplace)
-#define  last_in_gv   (*__imp_last_in_gv)
-#define  lastfd   (*__imp_lastfd)
-#define  lastscream   (*__imp_lastscream)
-#define  lastsize   (*__imp_lastsize)
-#define  lastspbase   (*__imp_lastspbase)
-#define  laststatval   (*__imp_laststatval)
-#define  laststype   (*__imp_laststype)
-#define  leftgv   (*__imp_leftgv)
-#define  lineary   (*__imp_lineary)
-#define  localizing   (*__imp_localizing)
-#define  localpatches   (*__imp_localpatches)
-#define  main_cv   (*__imp_main_cv)
-#define  main_root   (*__imp_main_root)
-#define  main_start   (*__imp_main_start)
-#define  mainstack   (*__imp_mainstack)
-#define  maxscream   (*__imp_maxscream)
-#define  maxsysfd   (*__imp_maxsysfd)
-#define  minus_F   (*__imp_minus_F)
-#define  minus_a   (*__imp_minus_a)
-#define  minus_c   (*__imp_minus_c)
-#define  minus_l   (*__imp_minus_l)
-#define  minus_n   (*__imp_minus_n)
-#define  minus_p   (*__imp_minus_p)
-#define  multiline   (*__imp_multiline)
-#define  mystack_base   (*__imp_mystack_base)
-#define  mystack_max   (*__imp_mystack_max)
-#define  mystack_sp   (*__imp_mystack_sp)
-#define  mystrk   (*__imp_mystrk)
-#define  nice_chunk   (*__imp_nice_chunk)
-#define  nice_chunk_size   (*__imp_nice_chunk_size)
-#define  nrs   (*__imp_nrs)
-#define  ofmt   (*__imp_ofmt)
-#define  ofs   (*__imp_ofs)
-#define  ofslen   (*__imp_ofslen)
-#define  oldlastpm   (*__imp_oldlastpm)
-#define  oldname   (*__imp_oldname)
-#define  op_mask   (*__imp_op_mask)
-#define  origargc   (*__imp_origargc)
-#define  origargv   (*__imp_origargv)
-#define  origfilename   (*__imp_origfilename)
-#define  ors   (*__imp_ors)
-#define  orslen   (*__imp_orslen)
-#define  pad_reset_pending   (*__imp_pad_reset_pending)
-#define  padix_floor   (*__imp_padix_floor)
-#define  parsehook   (*__imp_parsehook)
-#define  patchlevel   (*__imp_patchlevel)
-#define  perl_destruct_level   (*__imp_perl_destruct_level)
-#define  perldb   (*__imp_perldb)
-#define  preambleav   (*__imp_preambleav)
-#define  preambled   (*__imp_preambled)
-#define  preprocess   (*__imp_preprocess)
-#define  regflags   (*__imp_regflags)
-#define  restartop   (*__imp_restartop)
-#define  rightgv   (*__imp_rightgv)
-#define  rs   (*__imp_rs)
-#define  runlevel   (*__imp_runlevel)
-#define  sawampersand   (*__imp_sawampersand)
-#define  sawstudy   (*__imp_sawstudy)
-#define  sawvec   (*__imp_sawvec)
-#define  screamfirst   (*__imp_screamfirst)
-#define  screamnext   (*__imp_screamnext)
-#define  secondgv   (*__imp_secondgv)
-#define  signalstack   (*__imp_signalstack)
-#define  sortcop   (*__imp_sortcop)
-#define  sortstack   (*__imp_sortstack)
-#define  sortstash   (*__imp_sortstash)
-#define  splitstr   (*__imp_splitstr)
-#define  statcache   (*__imp_statcache)
-#define  statgv   (*__imp_statgv)
-#define  statname   (*__imp_statname)
-#define  statusvalue   (*__imp_statusvalue)
-#define  stdingv   (*__imp_stdingv)
-#define  strchop   (*__imp_strchop)
-#define  strtab   (*__imp_strtab)
-#define  sv_arenaroot   (*__imp_sv_arenaroot)
-#define  sv_count   (*__imp_sv_count)
-#define  sv_objcount   (*__imp_sv_objcount)
-#define  sv_root   (*__imp_sv_root)
-#define  tainted   (*__imp_tainted)
-#define  tmps_floor   (*__imp_tmps_floor)
-#define  tmps_ix   (*__imp_tmps_ix)
-#define  tmps_max   (*__imp_tmps_max)
-#define  tmps_stack   (*__imp_tmps_stack)
-#define  top_env   (*__imp_top_env)
-#define  toptarget   (*__imp_toptarget)
-#define  unsafe   (*__imp_unsafe)
-#define  warnhook   (*__imp_warnhook)
diff --git a/gnu/usr.bin/perl/cygwin32/gcc2 b/gnu/usr.bin/perl/cygwin32/gcc2
deleted file mode 100644
index 3da705cdbf4..00000000000
--- a/gnu/usr.bin/perl/cygwin32/gcc2
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-#
-# gcc wrapper for building dynamic lib version of perl
-#  if -buildperl found on command line, then all args passed to
-#     perlgcc, else pass all args to gcc.
-#  jc 3/24/97
-#
-
-case "$*" in
-*-buildperl*)	miniperl perlgcc "$@" ;;
-*)		gcc "$@" ;;
-esac
diff --git a/gnu/usr.bin/perl/cygwin32/ld2 b/gnu/usr.bin/perl/cygwin32/ld2
deleted file mode 100644
index cdec9d96eff..00000000000
--- a/gnu/usr.bin/perl/cygwin32/ld2
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-#
-# ld wrapper for building dynamic lib version of perl;
-#  passes all args to ld.
-#
-
-PERLPATH=/perl5.005
-
-$PERLPATH/perl $PERLPATH/perlld "$@"
diff --git a/gnu/usr.bin/perl/cygwin32/perlgcc b/gnu/usr.bin/perl/cygwin32/perlgcc
deleted file mode 100644
index 202ed29a4f9..00000000000
--- a/gnu/usr.bin/perl/cygwin32/perlgcc
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-
-# Perl script be a wrapper around the gnu gcc. the exportable perl.exe
-#   is built, special processing is done.
-# This script is caled by the gcc2 shell script when the flag
-#   -buildperl is passed to gcc2
-
-print "perlgcc: building exportable perl...\n";
-
-# get all libs:
-my @libobs;
-my @obs;
-my @libFlags;
-my $libstring;
-foreach (@ARGV){
-	if( /\.[a]$/){
-		push @libobs,$_;
-	}
-	elsif(/^\-l/){
-		push @libFlags,$_;
-	}
-	if( /\.[o]$/){
-		push @obs,$_;
-	}
-}
-$libstring = join(" ",@libobs);	
-$obsString = join(" ",@obs);
-$libflagString = join(" ",@libFlags);
-
-# make exports file
-my $command = "echo EXPORTS > perl.def";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-$command ="nm $libstring | grep '^........ [TCD] _'| grep -v _impure_ptr | sed 's/[^_]*_//' >> perl.def";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-# Build the perl.a lib to link to:
-$command ="dlltool --as=as --dllname perl.exe --def perl.def --output-lib perl.a";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-# change name of export lib to libperlexp so that is can be understood by ld2/perlld
-$command ="mv perl.a libperlexp.a";  
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-# get the full path name of a few libs:
-my $crt0 = `gcc -print-file-name=crt0.o`;
-chomp $crt0;
-my $libdir = `gcc -print-file-name=libcygwin.a`;
-chomp $libdir;
-$libdir =~ s/libcygwin\.a//g;
-
-# when $crt0 and $libdir get used in the system calls below, the \'s
-# from the gcc -print-file-name get used to create special characters,
-# such as \n, \t.  Replace the \'s with /'s so that this does not
-# happen:
-$crt0   =~ s:\\:/:g;
-$libdir =~  s:\\:/:g;
-
-# Link exe:
-$command = "ld --base-file perl.base -o perl.exe $crt0 $obsString $libstring -L$libdir $libflagString";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-$command = "dlltool --as=as --dllname perl.exe --def perl.def --base-file perl.base --output-exp perl.exp";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-$command = "ld --base-file perl.base perl.exp -o perl.exe $crt0 $obsString $libstring -L$libdir $libflagString";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-$command = "dlltool --as=as --dllname perl.exe --def perl.def --base-file perl.base --output-exp perl.exp";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-$command = "ld perl.exp -o perl.exe $crt0 $obsString $libstring -L$libdir $libflagString";
-print "$command\n";
-system($command) == 0 or die "system() failed.\n";
-
-print "perlgcc: Completed\n";
diff --git a/gnu/usr.bin/perl/cygwin32/perlld b/gnu/usr.bin/perl/cygwin32/perlld
deleted file mode 100644
index 97edfd64dd6..00000000000
--- a/gnu/usr.bin/perl/cygwin32/perlld
+++ /dev/null
@@ -1,192 +0,0 @@
-#
-# Perl script be a wrapper around the gnu ld. When a dll is specified to
-#   to be built, special processing is done, else the standard ld is called.
-#
-#  Modified 3/14/97 to include the impure_ptr setup routine in init.cc
-#  Modified to make dll in current directory then copy to another dir if
-#     a path name specified on the command name with the -o parm.
-#
-
-my $args = join(" ",@ARGV); # get args
-my $arg;
-
-my @objs;
-my @flags;
-my $libname;
-my $init = "init";
-my $fixup = "fixup";
-
-my $path;
-
-
-sub writefixup;
-sub writeInit;
-
-if( $args=~/\-o (.+?)\.dll/i){
-	$libname = $1;
-	# print "libname = <$libname>\n";
-	# Check for path:
-	if( $libname =~ /($\.+?\/)(\w+$)/){
-		$path = $1;
-		$libname = $2;
-		# print "<$path> <$libname>\n";
-	}
-	
-	foreach $arg(@ARGV){
-		if( $arg=~/\.[oa]$/){
-			push @objs,$arg;
-			next;
-		}
-		if( $arg =~/\-o/ or $arg =~ /.+?\.dll/i ){
-			next;
-		}
-		push @flags,$arg;
-	}
-
-	writefixup();
-	writeInit();
-	$command = "gcc -c $fixup.c\n";
-	print $command;
-	system($command) == 0 or die "system() failed.\n";
-	$command = "gcc -c $init.cc\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-	
-	$command = "echo EXPORTS > $libname.def\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-	$command = "nm ".join(" ",@objs)."  $init.o $fixup.o | grep '^........ [TCD] _' | sed 's/[^_]*_//' >> $libname.def\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-
-	$command = "ld --base-file $libname.base --dll -o $libname.dll ".join(" ",@objs)."  $init.o $fixup.o ";
- 	$command .= join(" ",@flags)." -e _dll_entry\@12 \n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-
-	$command = "dlltool --as=as --dllname $libname.dll --def $libname.def --base-file $libname.base --output-exp $libname.exp\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-	
-	$command = "ld --base-file $libname.base $libname.exp --dll -o $libname.dll ".join(" ",@objs)."   $init.o $fixup.o ";
- 	$command .= join(" ",@flags)." -e _dll_entry\@12 \n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-
-	$command = "dlltool --as=as --dllname $libname.dll --def $libname.def --base-file $libname.base --output-exp $libname.exp\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-
-	$command = "ld $libname.exp --dll -o $libname.dll ".join(" ",@objs)."   $init.o $fixup.o ";
- 	$command .= join(" ",@flags)." -e _dll_entry\@12 \n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-
-	print "Build the import lib\n";
-	$command = "dlltool --as=as --dllname $libname.dll --def $libname.def --output-lib $libname.a\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-
-	# if there was originally a path, copy the dll and a to that location:
-	if($path && $path ne "./" && $path."\n" ne  "`pwd`"){
-		$command = "mv $libname.dll $path".$libname.".dll\n";
-		print $command;	
-		system($command) == 0 or die "system() failed.\n";
-		$command = "mv $libname.a $path".$libname.".a\n";
-		print $command;	
-		system($command) == 0 or die "system() failed.\n";
-		
-	}
-
-}
-else{  # no special processing, just call ld
-	$command = "ld $args\n";
-	print $command;	
-	system($command) == 0 or die "system() failed.\n";
-}
-
-#---------------------------------------------------------------------------
-sub writeInit{
-
-open(OUTFILE,">$init.cc") or die("Can't open $init.cc\n");
-
-print OUTFILE <<'EOF';
-/* init.cc for WIN32.
-
-   Copyright 1996 Cygnus Solutions
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-// Added impure_ptr initialization routine. This is needed for any DLL that needs
-//   to output to the main (calling) executable's stdout, stderr, etc. This routine
-//   needs to be called from the executable using the DLL before any other DLL 
-//   routines are called.  jc 3/14/97
-
-#include  
-
-extern "C" 
-{
-  int WINAPI dll_entry (HANDLE h, DWORD reason, void *ptr);
-  void impure_setup(struct _reent *_impure_ptrMain);
-};
-
-struct _reent *_impure_ptr;  // this will be the Dlls local copy of impure ptr
-
-int WINAPI dll_entry (HANDLE , 
-		     DWORD reason,
-		     void *)
-{
-  switch (reason) 
-    {
-    case DLL_PROCESS_ATTACH:
-      break;
-    case DLL_PROCESS_DETACH:
-      break;
-    case DLL_THREAD_ATTACH:
-      break;
-    case DLL_THREAD_DETACH:
-      break;
-    }
-  return 1;
-}
-
-
-//********************************************
-// Function to set our local (in this dll) copy of impure_ptr to the
-// main's (calling executable's) impure_ptr
-void impure_setup(struct _reent *_impure_ptrMain){
-
-	_impure_ptr = _impure_ptrMain;
-
-}
-EOF
-
-close OUTFILE;
-
-}
-
-#---------------------------------------------------------------------------
-sub writefixup{
-
-open(OUTFILE,">$fixup.c") or die("Can't open $fixup.c\n");
-
-print OUTFILE <<'EOF';
-/* This is needed to terminate the list of inport stuff */
-/* Copied from winsup/dcrt0.cc in the cygwin32 source distribution. */
-	asm(".section .idata$3\n" ".long 0,0,0,0, 0,0,0,0");
-
-EOF
-close OUTFILE;
-}
diff --git a/gnu/usr.bin/perl/deb.c b/gnu/usr.bin/perl/deb.c
index ad26cd6e18f..441487f88ef 100644
--- a/gnu/usr.bin/perl/deb.c
+++ b/gnu/usr.bin/perl/deb.c
@@ -1,6 +1,6 @@
 /*    deb.c
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -13,70 +13,81 @@
  */
 
 #include "EXTERN.h"
+#define PERL_IN_DEB_C
 #include "perl.h"
 
+#if defined(PERL_IMPLICIT_CONTEXT)
 void
-deb(const char *pat, ...)
+Perl_deb_nocontext(const char *pat, ...)
 {
 #ifdef DEBUGGING
-    dTHR;
+    dTHX;
     va_list args;
-    register I32 i;
-    GV* gv = PL_curcop->cop_filegv;
-
-#ifdef USE_THREADS
-    PerlIO_printf(Perl_debug_log, "0x%lx (%s:%ld)\t",
-		  (unsigned long) thr,
-		  SvTYPE(gv) == SVt_PVGV ? SvPVX(GvSV(gv)) : "",
-		  (long)PL_curcop->cop_line);
-#else
-    PerlIO_printf(Perl_debug_log, "(%s:%ld)\t",
-	SvTYPE(gv) == SVt_PVGV ? SvPVX(GvSV(gv)) : "",
-	(long)PL_curcop->cop_line);
-#endif /* USE_THREADS */
-    for (i=0; i"),
+		  (long)CopLINE(PL_curcop));
+#else
+    PerlIO_printf(Perl_debug_log, "(%s:%ld)\t", (file ? file : ""),
+		  (long)CopLINE(PL_curcop));
+#endif /* USE_THREADS */
+    (void) PerlIO_vprintf(Perl_debug_log, pat, *args);
 #endif /* DEBUGGING */
 }
 
 I32
-debstackptrs(void)
+Perl_debstackptrs(pTHX)
 {
 #ifdef DEBUGGING
     dTHR;
-    PerlIO_printf(Perl_debug_log, "%8lx %8lx %8ld %8ld %8ld\n",
-	(unsigned long)PL_curstack, (unsigned long)PL_stack_base,
-	(long)*PL_markstack_ptr, (long)(PL_stack_sp-PL_stack_base),
-	(long)(PL_stack_max-PL_stack_base));
-    PerlIO_printf(Perl_debug_log, "%8lx %8lx %8ld %8ld %8ld\n",
-	(unsigned long)PL_mainstack, (unsigned long)AvARRAY(PL_curstack),
-	(long)PL_mainstack, (long)AvFILLp(PL_curstack), (long)AvMAX(PL_curstack));
+    PerlIO_printf(Perl_debug_log,
+		  "%8"UVxf" %8"UVxf" %8"IVdf" %8"IVdf" %8"IVdf"\n",
+		  PTR2UV(PL_curstack), PTR2UV(PL_stack_base),
+		  (IV)*PL_markstack_ptr, (IV)(PL_stack_sp-PL_stack_base),
+		  (IV)(PL_stack_max-PL_stack_base));
+    PerlIO_printf(Perl_debug_log,
+		  "%8"UVxf" %8"UVxf" %8"UVuf" %8"UVuf" %8"UVuf"\n",
+		  PTR2UV(PL_mainstack), PTR2UV(AvARRAY(PL_curstack)),
+		  PTR2UV(PL_mainstack), PTR2UV(AvFILLp(PL_curstack)),
+		  PTR2UV(AvMAX(PL_curstack)));
 #endif /* DEBUGGING */
     return 0;
 }
 
 I32
-debstack(void)
+Perl_debstack(pTHX)
 {
 #ifdef DEBUGGING
     dTHR;
     I32 top = PL_stack_sp - PL_stack_base;
     register I32 i = top - 30;
-    I32 *markscan = PL_curstackinfo->si_markbase;
+    I32 *markscan = PL_markstack + PL_curstackinfo->si_markoff;
 
     if (i < 0)
 	i = 0;
@@ -86,8 +97,9 @@ debstack(void)
 	    break;
 
 #ifdef USE_THREADS
-    PerlIO_printf(Perl_debug_log, i ? "0x%lx    =>  ...  " : "0x%lx    =>  ",
-		  (unsigned long) thr);
+    PerlIO_printf(Perl_debug_log,
+		  i ? "0x%"UVxf"    =>  ...  " : "0x%lx    =>  ",
+		  PTR2UV(thr));
 #else
     PerlIO_printf(Perl_debug_log, i ? "    =>  ...  " : "    =>  ");
 #endif /* USE_THREADS */
diff --git a/gnu/usr.bin/perl/doio.c b/gnu/usr.bin/perl/doio.c
index 74544c95002..0121633c84b 100644
--- a/gnu/usr.bin/perl/doio.c
+++ b/gnu/usr.bin/perl/doio.c
@@ -1,6 +1,6 @@
 /*    doio.c
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -15,6 +15,7 @@
  */
 
 #include "EXTERN.h"
+#define PERL_IN_DOIO_C
 #include "perl.h"
 
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -27,7 +28,7 @@
 #ifdef HAS_SHM
 #include 
 # ifndef HAS_SHMAT_PROTOTYPE
-    extern Shmat_t shmat _((int, char *, int));
+    extern Shmat_t shmat (int, char *, int);
 # endif
 #endif
 #endif
@@ -40,12 +41,6 @@
 #  endif
 #endif
 
-#ifdef I_FCNTL
-#include 
-#endif
-#ifdef I_SYS_FILE
-#include 
-#endif
 #ifdef O_EXCL
 #  define OPEN_EXCL O_EXCL
 #else
@@ -63,7 +58,12 @@
 
 #if defined(HAS_SOCKET) && !defined(VMS) /* VMS handles sockets via vmsish.h */
 # include 
-# include 
+# if defined(USE_SOCKS) && defined(I_SOCKS)
+#   include 
+# endif 
+# ifdef I_NETBSD
+#  include 
+# endif
 # ifndef ENOTSOCK
 #  ifdef I_NET_ERRNO
 #   include 
@@ -71,17 +71,18 @@
 # endif
 #endif
 
-/* Put this after #includes because  defines _XOPEN_*. */
-#ifndef Sock_size_t
-#  if _XOPEN_VERSION >= 5 || defined(_XOPEN_SOURCE_EXTENDED) || defined(__GLIBC__)
-#    define Sock_size_t Size_t
-#  else
-#    define Sock_size_t int
-#  endif
-#endif
+bool
+Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
+	     int rawmode, int rawperm, PerlIO *supplied_fp)
+{
+    return do_open9(gv, name, len, as_raw, rawmode, rawperm,
+		    supplied_fp, Nullsv, 0);
+}
 
 bool
-do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp)
+Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
+	      int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs,
+	      I32 num_svs)
 {
     register IO *io = GvIOn(gv);
     PerlIO *saveifp = Nullfp;
@@ -92,9 +93,19 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
     int fd;
     int result;
     bool was_fdopen = FALSE;
+    bool in_raw = 0, in_crlf = 0, out_raw = 0, out_crlf = 0;
 
     PL_forkprocess = 1;		/* assume true if no fork */
 
+    if (PL_op && PL_op->op_type == OP_OPEN) {
+	/* set up disciplines */
+	U8 flags = PL_op->op_private;
+	in_raw = (flags & OPpOPEN_IN_RAW);
+	in_crlf = (flags & OPpOPEN_IN_CRLF);
+	out_raw = (flags & OPpOPEN_OUT_RAW);
+	out_crlf = (flags & OPpOPEN_OUT_CRLF);
+    }
+
     if (IoIFP(io)) {
 	fd = PerlIO_fileno(IoIFP(io));
 	if (IoTYPE(io) == '-')
@@ -110,7 +121,7 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 	else if (IoIFP(io) != IoOFP(io)) {
 	    if (IoOFP(io)) {
 		result = PerlIO_close(IoOFP(io));
-		PerlIO_close(IoIFP(io));	/* clear stdio, fd already closed */
+		PerlIO_close(IoIFP(io)); /* clear stdio, fd already closed */
 	    }
 	    else
 		result = PerlIO_close(IoIFP(io));
@@ -118,15 +129,21 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 	else
 	    result = PerlIO_close(IoIFP(io));
 	if (result == EOF && fd > PL_maxsysfd)
-	    PerlIO_printf(PerlIO_stderr(), "Warning: unable to close filehandle %s properly.\n",
-	      GvENAME(gv));
+	    PerlIO_printf(Perl_error_log,
+			  "Warning: unable to close filehandle %s properly.\n",
+			  GvENAME(gv));
 	IoOFP(io) = IoIFP(io) = Nullfp;
     }
 
     if (as_raw) {
+#if defined(USE_64_BIT_RAWIO) && defined(O_LARGEFILE)
+	rawmode |= O_LARGEFILE;
+#endif
+
 #ifndef O_ACCMODE
 #define O_ACCMODE 3		/* Assume traditional implementation */
 #endif
+
 	switch (result = rawmode & O_ACCMODE) {
 	case O_RDONLY:
 	     IoTYPE(io) = '<';
@@ -146,65 +163,125 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 	if (fd == -1)
 	    fp = NULL;
 	else {
-	    char *fpmode;
+	    char fpmode[4];
+	    STRLEN ix = 0;
 	    if (result == O_RDONLY)
-		fpmode = "r";
+		fpmode[ix++] = 'r';
 #ifdef O_APPEND
-	    else if (rawmode & O_APPEND)
-		fpmode = (result == O_WRONLY) ? "a" : "a+";
+	    else if (rawmode & O_APPEND) {
+		fpmode[ix++] = 'a';
+		if (result != O_WRONLY)
+		    fpmode[ix++] = '+';
+	    }
 #endif
-	    else
-		fpmode = (result == O_WRONLY) ? "w" : "r+";
+	    else {
+		if (result == O_WRONLY)
+		    fpmode[ix++] = 'w';
+		else {
+		    fpmode[ix++] = 'r';
+		    fpmode[ix++] = '+';
+		}
+	    }
+	    if (rawmode & O_BINARY)
+		fpmode[ix++] = 'b';
+	    fpmode[ix] = '\0';
 	    fp = PerlIO_fdopen(fd, fpmode);
 	    if (!fp)
 		PerlLIO_close(fd);
 	}
     }
     else {
-	char *myname;
-	char mode[3];		/* stdio file mode ("r\0" or "r+\0") */
+	char *type;
+	char *oname = name;
+	STRLEN tlen;
+	STRLEN olen = len;
+	char mode[4];		/* stdio file mode ("r\0", "rb\0", "r+b\0" etc.) */
 	int dodup;
 
-	myname = savepvn(name, len);
-	SAVEFREEPV(myname);
-	name = myname;
-	while (len && isSPACE(name[len-1]))
-	    name[--len] = '\0';
-
-	mode[0] = mode[1] = mode[2] = '\0';
-	IoTYPE(io) = *name;
-	if (*name == '+' && len > 1 && name[len-1] != '|') { /* scary */
-	    mode[1] = *name++;
-	    --len;
+	type = savepvn(name, len);
+	tlen = len;
+	SAVEFREEPV(type);
+	if (num_svs) {
+	    STRLEN l;
+	    name = SvPV(svs, l) ;
+	    len = (I32)l;
+	    name = savepvn(name, len);
+	    SAVEFREEPV(name);
+	}
+	else {
+	    while (tlen && isSPACE(type[tlen-1]))
+		type[--tlen] = '\0';
+	    name = type;
+	    len = tlen;
+	}
+	mode[0] = mode[1] = mode[2] = mode[3] = '\0';
+	IoTYPE(io) = *type;
+	if (*type == '+' && tlen > 1 && type[tlen-1] != '|') { /* scary */
+	    mode[1] = *type++;
+	    --tlen;
 	    writing = 1;
 	}
 
-	if (*name == '|') {
+	if (*type == '|') {
+	    if (num_svs && (tlen != 2 || type[1] != '-')) {
+	      unknown_desr:
+		Perl_croak(aTHX_ "Unknown open() mode '%.*s'", (int)olen, oname);
+	    }
 	    /*SUPPRESS 530*/
-	    for (name++; isSPACE(*name); name++) ;
-	    if (strNE(name,"-"))
+	    for (type++, tlen--; isSPACE(*type); type++, tlen--) ;
+	    if (!num_svs) {
+		name = type;
+		len = tlen;
+	    }
+	    if (*name == '\0') { /* command is missing 19990114 */
+		dTHR;
+		if (ckWARN(WARN_PIPE))
+		    Perl_warner(aTHX_ WARN_PIPE, "Missing command in piped open");
+		errno = EPIPE;
+		goto say_false;
+	    }
+	    if (strNE(name,"-") || num_svs)
 		TAINT_ENV();
 	    TAINT_PROPER("piped open");
-	    if (name[strlen(name)-1] == '|') {
-		name[strlen(name)-1] = '\0' ;
-		if (PL_dowarn)
-		    warn("Can't do bidirectional pipe");
+	    if (name[len-1] == '|') {
+		dTHR;
+		name[--len] = '\0' ;
+		if (ckWARN(WARN_PIPE))
+		    Perl_warner(aTHX_ WARN_PIPE, "Can't open bidirectional pipe");
+	    }
+	    {
+		char *mode;
+		if (out_raw)
+		    mode = "wb";
+		else if (out_crlf)
+		    mode = "wt";
+		else
+		    mode = "w";
+		fp = PerlProc_popen(name,mode);
 	    }
-	    fp = PerlProc_popen(name,"w");
 	    writing = 1;
 	}
-	else if (*name == '>') {
+	else if (*type == '>') {
 	    TAINT_PROPER("open");
-	    name++;
-	    if (*name == '>') {
+	    type++;
+	    if (*type == '>') {
 		mode[0] = IoTYPE(io) = 'a';
-		name++;
+		type++;
+		tlen--;
 	    }
 	    else
 		mode[0] = 'w';
 	    writing = 1;
 
-	    if (*name == '&') {
+	    if (out_raw)
+		strcat(mode, "b");
+	    else if (out_crlf)
+		strcat(mode, "t");
+
+	    if (num_svs && tlen != 1)
+	        goto unknown_desr;
+	    if (*type == '&') {
+		name = type;
 	      duplicity:
 		dodup = 1;
 		name++;
@@ -230,7 +307,19 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 			    goto say_false;
 			}
 			if (IoIFP(thatio)) {
-			    fd = PerlIO_fileno(IoIFP(thatio));
+			    PerlIO *fp = IoIFP(thatio);
+			    /* Flush stdio buffer before dup. --mjd
+			     * Unfortunately SEEK_CURing 0 seems to
+			     * be optimized away on most platforms;
+			     * only Solaris and Linux seem to flush
+			     * on that. --jhi */
+			    PerlIO_seek(fp, 0, SEEK_CUR);
+			    /* On the other hand, do all platforms
+			     * take gracefully to flushing a read-only
+			     * filehandle?  Perhaps we should do
+			     * fsetpos(src)+fgetpos(dst)?  --nik */
+			    PerlIO_flush(fp);
+			    fd = PerlIO_fileno(fp);
 			    if (IoTYPE(thatio) == 's')
 				IoTYPE(io) = 's';
 			}
@@ -244,47 +333,82 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 		    if (!(fp = PerlIO_fdopen(fd,mode))) {
 			if (dodup)
 			    PerlLIO_close(fd);
-			}
+		    }
 		}
 	    }
 	    else {
 		/*SUPPRESS 530*/
-		for (; isSPACE(*name); name++) ;
-		if (strEQ(name,"-")) {
+		for (; isSPACE(*type); type++) ;
+		if (strEQ(type,"-")) {
 		    fp = PerlIO_stdout();
 		    IoTYPE(io) = '-';
 		}
 		else  {
-		    fp = PerlIO_open(name,mode);
+		    fp = PerlIO_open((num_svs ? name : type), mode);
 		}
 	    }
 	}
-	else if (*name == '<') {
+	else if (*type == '<') {
+	    if (num_svs && tlen != 1)
+	        goto unknown_desr;
 	    /*SUPPRESS 530*/
-	    for (name++; isSPACE(*name); name++) ;
+	    for (type++; isSPACE(*type); type++) ;
 	    mode[0] = 'r';
-	    if (*name == '&')
+	    if (in_raw)
+		strcat(mode, "b");
+	    else if (in_crlf)
+		strcat(mode, "t");
+
+	    if (*type == '&') {
+		name = type;
 		goto duplicity;
-	    if (strEQ(name,"-")) {
+	    }
+	    if (strEQ(type,"-")) {
 		fp = PerlIO_stdin();
 		IoTYPE(io) = '-';
 	    }
 	    else
-		fp = PerlIO_open(name,mode);
+		fp = PerlIO_open((num_svs ? name : type), mode);
 	}
-	else if (len > 1 && name[len-1] == '|') {
-	    name[--len] = '\0';
-	    while (len && isSPACE(name[len-1]))
-		name[--len] = '\0';
-	    /*SUPPRESS 530*/
-	    for (; isSPACE(*name); name++) ;
-	    if (strNE(name,"-"))
+	else if (tlen > 1 && type[tlen-1] == '|') {
+	    if (num_svs) {
+		if (tlen != 2 || type[0] != '-')
+		    goto unknown_desr;
+	    }
+	    else {
+		type[--tlen] = '\0';
+		while (tlen && isSPACE(type[tlen-1]))
+		    type[--tlen] = '\0';
+		/*SUPPRESS 530*/
+		for (; isSPACE(*type); type++) ;
+		name = type;
+	    }
+	    if (*name == '\0') { /* command is missing 19990114 */
+		dTHR;
+		if (ckWARN(WARN_PIPE))
+		    Perl_warner(aTHX_ WARN_PIPE, "Missing command in piped open");
+		errno = EPIPE;
+		goto say_false;
+	    }
+	    if (strNE(name,"-") || num_svs)
 		TAINT_ENV();
 	    TAINT_PROPER("piped open");
-	    fp = PerlProc_popen(name,"r");
+	    {
+		char *mode;
+		if (in_raw)
+		    mode = "rb";
+		else if (in_crlf)
+		    mode = "rt";
+		else
+		    mode = "r";
+		fp = PerlProc_popen(name,mode);
+	    }
 	    IoTYPE(io) = '|';
 	}
 	else {
+	    if (num_svs)
+		goto unknown_desr;
+	    name = type;
 	    IoTYPE(io) = '<';
 	    /*SUPPRESS 530*/
 	    for (; isSPACE(*name); name++) ;
@@ -292,13 +416,22 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 		fp = PerlIO_stdin();
 		IoTYPE(io) = '-';
 	    }
-	    else
-		fp = PerlIO_open(name,"r");
+	    else {
+		char *mode;
+		if (in_raw)
+		    mode = "rb";
+		else if (in_crlf)
+		    mode = "rt";
+		else
+		    mode = "r";
+		fp = PerlIO_open(name,mode);
+	    }
 	}
     }
     if (!fp) {
-	if (PL_dowarn && IoTYPE(io) == '<' && strchr(name, '\n'))
-	    warn(warn_nl, "open");
+	dTHR;
+	if (ckWARN(WARN_NEWLINE) && IoTYPE(io) == '<' && strchr(name, '\n'))
+	    Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "open");
 	goto say_false;
     }
     if (IoTYPE(io) &&
@@ -339,7 +472,7 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
 	    }
 	}
 	if (fd != PerlIO_fileno(fp)) {
-	    int pid;
+	    Pid_t pid;
 	    SV *sv;
 
 	    PerlLIO_dup2(PerlIO_fileno(fp), fd);
@@ -366,11 +499,21 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
     }
 #endif
     IoIFP(io) = fp;
+    IoFLAGS(io) &= ~IOf_NOLINE;
     if (writing) {
 	dTHR;
 	if (IoTYPE(io) == 's'
-	  || (IoTYPE(io) == '>' && S_ISCHR(PL_statbuf.st_mode)) ) {
-	    if (!(IoOFP(io) = PerlIO_fdopen(PerlIO_fileno(fp),"w"))) {
+	    || (IoTYPE(io) == '>' && S_ISCHR(PL_statbuf.st_mode)) )
+	{
+	    char *mode;
+	    if (out_raw)
+		mode = "wb";
+	    else if (out_crlf)
+		mode = "wt";
+	    else
+		mode = "w";
+
+	    if (!(IoOFP(io) = PerlIO_fdopen(PerlIO_fileno(fp),mode))) {
 		PerlIO_close(fp);
 		IoIFP(io) = Nullfp;
 		goto say_false;
@@ -389,18 +532,27 @@ say_false:
 }
 
 PerlIO *
-nextargv(register GV *gv)
+Perl_nextargv(pTHX_ register GV *gv)
 {
     register SV *sv;
 #ifndef FLEXFILENAMES
     int filedev;
     int fileino;
 #endif
-    int fileuid;
-    int filegid;
+    Uid_t fileuid;
+    Gid_t filegid;
+    IO *io = GvIOp(gv);
 
     if (!PL_argvoutgv)
 	PL_argvoutgv = gv_fetchpv("ARGVOUT",TRUE,SVt_PVIO);
+    if (io && (IoFLAGS(io) & IOf_ARGV) && (IoFLAGS(io) & IOf_START)) {
+	IoFLAGS(io) &= ~IOf_START;
+	if (PL_inplace) {
+	    if (!PL_argvout_stack)
+		PL_argvout_stack = newAV();
+	    av_push(PL_argvout_stack, SvREFCNT_inc(PL_defoutgv));
+	}
+    }
     if (PL_filemode & (S_ISUID|S_ISGID)) {
 	PerlIO_flush(IoIFP(GvIOn(PL_argvoutgv)));  /* chmod must follow last write */
 #ifdef HAS_FCHMOD
@@ -433,8 +585,10 @@ nextargv(register GV *gv)
 		fileuid = PL_statbuf.st_uid;
 		filegid = PL_statbuf.st_gid;
 		if (!S_ISREG(PL_filemode)) {
-		    warn("Can't do inplace edit: %s is not a regular file",
-		      PL_oldname );
+		    if (ckWARN_d(WARN_INPLACE))	
+		        Perl_warner(aTHX_ WARN_INPLACE,
+			    "Can't do inplace edit: %s is not a regular file",
+		            PL_oldname );
 		    do_close(gv,FALSE);
 		    continue;
 		}
@@ -461,18 +615,23 @@ nextargv(register GV *gv)
 #ifdef DJGPP
                       || (_djstat_fail_bits & _STFAIL_TRUENAME)!=0
 #endif
-                      ) {
-			warn("Can't do inplace edit: %s would not be uniq",
-			  SvPVX(sv) );
+                      )
+		    {
+			if (ckWARN_d(WARN_INPLACE))	
+			    Perl_warner(aTHX_ WARN_INPLACE,
+			      "Can't do inplace edit: %s would not be unique",
+			      SvPVX(sv));
 			do_close(gv,FALSE);
 			continue;
 		    }
 #endif
 #ifdef HAS_RENAME
-#ifndef DOSISH
+#if !defined(DOSISH) && !defined(__CYGWIN__)
 		    if (PerlLIO_rename(PL_oldname,SvPVX(sv)) < 0) {
-			warn("Can't rename %s to %s: %s, skipping file",
-			  PL_oldname, SvPVX(sv), Strerror(errno) );
+		        if (ckWARN_d(WARN_INPLACE))	
+			    Perl_warner(aTHX_ WARN_INPLACE, 
+			      "Can't rename %s to %s: %s, skipping file",
+			      PL_oldname, SvPVX(sv), Strerror(errno) );
 			do_close(gv,FALSE);
 			continue;
 		    }
@@ -485,8 +644,10 @@ nextargv(register GV *gv)
 #else
 		    (void)UNLINK(SvPVX(sv));
 		    if (link(PL_oldname,SvPVX(sv)) < 0) {
-			warn("Can't rename %s to %s: %s, skipping file",
-			  PL_oldname, SvPVX(sv), Strerror(errno) );
+		        if (ckWARN_d(WARN_INPLACE))	
+			    Perl_warner(aTHX_ WARN_INPLACE,
+			      "Can't rename %s to %s: %s, skipping file",
+			      PL_oldname, SvPVX(sv), Strerror(errno) );
 			do_close(gv,FALSE);
 			continue;
 		    }
@@ -497,14 +658,16 @@ nextargv(register GV *gv)
 #if !defined(DOSISH) && !defined(AMIGAOS)
 #  ifndef VMS  /* Don't delete; use automatic file versioning */
 		    if (UNLINK(PL_oldname) < 0) {
-			warn("Can't remove %s: %s, skipping file",
-			  PL_oldname, Strerror(errno) );
+		        if (ckWARN_d(WARN_INPLACE))	
+			    Perl_warner(aTHX_ WARN_INPLACE,
+			      "Can't remove %s: %s, skipping file",
+			      PL_oldname, Strerror(errno) );
 			do_close(gv,FALSE);
 			continue;
 		    }
 #  endif
 #else
-		    croak("Can't do inplace edit without backup");
+		    Perl_croak(aTHX_ "Can't do inplace edit without backup");
 #endif
 		}
 
@@ -513,13 +676,15 @@ nextargv(register GV *gv)
 		SETERRNO(0,0);		/* in case sprintf set errno */
 #ifdef VMS
 		if (!do_open(PL_argvoutgv,SvPVX(sv),SvCUR(sv),PL_inplace!=0,
-                 O_WRONLY|O_CREAT|O_TRUNC,0,Nullfp)) { 
+                 O_WRONLY|O_CREAT|O_TRUNC,0,Nullfp))
 #else
 		if (!do_open(PL_argvoutgv,SvPVX(sv),SvCUR(sv),PL_inplace!=0,
-			     O_WRONLY|O_CREAT|OPEN_EXCL,0666,Nullfp)) {
+			     O_WRONLY|O_CREAT|OPEN_EXCL,0666,Nullfp))
 #endif
-		    warn("Can't do inplace edit on %s: %s",
-		      PL_oldname, Strerror(errno) );
+		{
+		    if (ckWARN_d(WARN_INPLACE))	
+		        Perl_warner(aTHX_ WARN_INPLACE, "Can't do inplace edit on %s: %s",
+		          PL_oldname, Strerror(errno) );
 		    do_close(gv,FALSE);
 		    continue;
 		}
@@ -546,12 +711,35 @@ nextargv(register GV *gv)
 	    }
 	    return IoIFP(GvIOp(gv));
 	}
-	else
-	    PerlIO_printf(PerlIO_stderr(), "Can't open %s: %s\n",
-	      SvPV(sv, oldlen), Strerror(errno));
+	else {
+	    dTHR;
+	    if (ckWARN_d(WARN_INPLACE)) {
+		int eno = errno;
+		if (PerlLIO_stat(PL_oldname, &PL_statbuf) >= 0
+		    && !S_ISREG(PL_statbuf.st_mode))	
+		{
+		    Perl_warner(aTHX_ WARN_INPLACE,
+				"Can't do inplace edit: %s is not a regular file",
+				PL_oldname);
+		}
+		else
+		    Perl_warner(aTHX_ WARN_INPLACE, "Can't open %s: %s",
+				PL_oldname, Strerror(eno));
+	    }
+	}
     }
+    if (io && (IoFLAGS(io) & IOf_ARGV))
+	IoFLAGS(io) |= IOf_START;
     if (PL_inplace) {
 	(void)do_close(PL_argvoutgv,FALSE);
+	if (io && (IoFLAGS(io) & IOf_ARGV)
+	    && PL_argvout_stack && AvFILLp(PL_argvout_stack) >= 0)
+	{
+	    GV *oldout = (GV*)av_pop(PL_argvout_stack);
+	    setdefout(oldout);
+	    SvREFCNT_dec(oldout);
+	    return Nullfp;
+	}
 	setdefout(gv_fetchpv("STDOUT",TRUE,SVt_PVIO));
     }
     return Nullfp;
@@ -559,7 +747,7 @@ nextargv(register GV *gv)
 
 #ifdef HAS_PIPE
 void
-do_pipe(SV *sv, GV *rgv, GV *wgv)
+Perl_do_pipe(pTHX_ SV *sv, GV *rgv, GV *wgv)
 {
     register IO *rstio;
     register IO *wstio;
@@ -604,7 +792,7 @@ badexit:
 
 /* explicit renamed to avoid C++ conflict    -- kja */
 bool
-do_close(GV *gv, bool not_implicit)
+Perl_do_close(pTHX_ GV *gv, bool not_implicit)
 {
     bool retval;
     IO *io;
@@ -619,13 +807,15 @@ do_close(GV *gv, bool not_implicit)
     io = GvIO(gv);
     if (!io) {		/* never opened */
 	if (not_implicit) {
-	    if (PL_dowarn)
-		warn("Close on unopened file <%s>",GvENAME(gv));
+	    dTHR;
+	    if (ckWARN(WARN_UNOPENED))
+		Perl_warner(aTHX_ WARN_UNOPENED, 
+		       "Close on unopened file <%s>",GvENAME(gv));
 	    SETERRNO(EBADF,SS$_IVCHAN);
 	}
 	return FALSE;
     }
-    retval = io_close(io);
+    retval = io_close(io, not_implicit);
     if (not_implicit) {
 	IoLINES(io) = 0;
 	IoPAGE(io) = 0;
@@ -636,7 +826,7 @@ do_close(GV *gv, bool not_implicit)
 }
 
 bool
-io_close(IO *io)
+Perl_io_close(pTHX_ IO *io, bool not_implicit)
 {
     bool retval = FALSE;
     int status;
@@ -644,8 +834,13 @@ io_close(IO *io)
     if (IoIFP(io)) {
 	if (IoTYPE(io) == '|') {
 	    status = PerlProc_pclose(IoIFP(io));
-	    STATUS_NATIVE_SET(status);
-	    retval = (STATUS_POSIX == 0);
+	    if (not_implicit) {
+		STATUS_NATIVE_SET(status);
+		retval = (STATUS_POSIX == 0);
+	    }
+	    else {
+		retval = (status != -1);
+	    }
 	}
 	else if (IoTYPE(io) == '-')
 	    retval = TRUE;
@@ -659,7 +854,7 @@ io_close(IO *io)
 	}
 	IoOFP(io) = IoIFP(io) = Nullfp;
     }
-    else {
+    else if (not_implicit) {
 	SETERRNO(EBADF,SS$_IVCHAN);
     }
 
@@ -667,7 +862,7 @@ io_close(IO *io)
 }
 
 bool
-do_eof(GV *gv)
+Perl_do_eof(pTHX_ GV *gv)
 {
     dTHR;
     register IO *io;
@@ -677,6 +872,15 @@ do_eof(GV *gv)
 
     if (!io)
 	return TRUE;
+    else if (ckWARN(WARN_IO)
+	     && (IoTYPE(io) == '>' || IoIFP(io) == PerlIO_stdout()
+		 || IoIFP(io) == PerlIO_stderr()))
+    {
+	SV* sv = sv_newmortal();
+	gv_efullname3(sv, gv, Nullch);
+	Perl_warner(aTHX_ WARN_IO, "Filehandle %s opened only for output",
+		    SvPV_nolen(sv));
+    }
 
     while (IoIFP(io)) {
 
@@ -704,8 +908,8 @@ do_eof(GV *gv)
     return TRUE;
 }
 
-long
-do_tell(GV *gv)
+Off_t
+Perl_do_tell(pTHX_ GV *gv)
 {
     register IO *io;
     register PerlIO *fp;
@@ -717,14 +921,17 @@ do_tell(GV *gv)
 #endif
 	return PerlIO_tell(fp);
     }
-    if (PL_dowarn)
-	warn("tell() on unopened file");
+    {
+	dTHR;
+	if (ckWARN(WARN_UNOPENED))
+	    Perl_warner(aTHX_ WARN_UNOPENED, "tell() on unopened file");
+    }
     SETERRNO(EBADF,RMS$_IFI);
-    return -1L;
+    return (Off_t)-1;
 }
 
 bool
-do_seek(GV *gv, long int pos, int whence)
+Perl_do_seek(pTHX_ GV *gv, Off_t pos, int whence)
 {
     register IO *io;
     register PerlIO *fp;
@@ -736,40 +943,99 @@ do_seek(GV *gv, long int pos, int whence)
 #endif
 	return PerlIO_seek(fp, pos, whence) >= 0;
     }
-    if (PL_dowarn)
-	warn("seek() on unopened file");
+    {
+	dTHR;
+	if (ckWARN(WARN_UNOPENED))
+	    Perl_warner(aTHX_ WARN_UNOPENED, "seek() on unopened file");
+    }
     SETERRNO(EBADF,RMS$_IFI);
     return FALSE;
 }
 
-long
-do_sysseek(GV *gv, long int pos, int whence)
+Off_t
+Perl_do_sysseek(pTHX_ GV *gv, Off_t pos, int whence)
 {
     register IO *io;
     register PerlIO *fp;
 
     if (gv && (io = GvIO(gv)) && (fp = IoIFP(io)))
 	return PerlLIO_lseek(PerlIO_fileno(fp), pos, whence);
-    if (PL_dowarn)
-	warn("sysseek() on unopened file");
+    {
+	dTHR;
+	if (ckWARN(WARN_UNOPENED))
+	    Perl_warner(aTHX_ WARN_UNOPENED, "sysseek() on unopened file");
+    }
     SETERRNO(EBADF,RMS$_IFI);
-    return -1L;
+    return (Off_t)-1;
 }
 
 int
-do_binmode(PerlIO *fp, int iotype, int flag)
+Perl_mode_from_discipline(pTHX_ SV *discp)
+{
+    int mode = O_BINARY;
+    if (discp) {
+	STRLEN len;
+	char *s = SvPV(discp,len);
+	while (*s) {
+	    if (*s == ':') {
+		switch (s[1]) {
+		case 'r':
+		    if (len > 3 && strnEQ(s+1, "raw", 3)
+			&& (!s[4] || s[4] == ':' || isSPACE(s[4])))
+		    {
+			mode = O_BINARY;
+			s += 4;
+			len -= 4;
+			break;
+		    }
+		    /* FALL THROUGH */
+		case 'c':
+		    if (len > 4 && strnEQ(s+1, "crlf", 4)
+			&& (!s[5] || s[5] == ':' || isSPACE(s[5])))
+		    {
+			mode = O_TEXT;
+			s += 5;
+			len -= 5;
+			break;
+		    }
+		    /* FALL THROUGH */
+		default:
+		    goto fail_discipline;
+		}
+	    }
+	    else if (isSPACE(*s)) {
+		++s;
+		--len;
+	    }
+	    else {
+		char *end;
+fail_discipline:
+		end = strchr(s+1, ':');
+		if (!end)
+		    end = s+len;
+		Perl_croak(aTHX_ "Unknown discipline '%.*s'", end-s, s);
+	    }
+	}
+    }
+    return mode;
+}
+
+int
+Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
 {
-    if (flag != TRUE)
-	croak("panic: unsetting binmode"); /* Not implemented yet */
 #ifdef DOSISH
-#if defined(atarist) || defined(__MINT__)
-    if (!PerlIO_flush(fp) && (fp->_flag |= _IOBIN))
+#  if defined(atarist) || defined(__MINT__)
+    if (!PerlIO_flush(fp)) {
+	if (mode & O_BINARY)
+	    ((FILE*)fp)->_flag |= _IOBIN;
+	else
+	    ((FILE*)fp)->_flag &= ~ _IOBIN;
 	return 1;
-    else
-	return 0;
-#else
-    if (PerlLIO_setmode(PerlIO_fileno(fp), OP_BINARY) != -1) {
-#if defined(WIN32) && defined(__BORLANDC__)
+    }
+    return 0;
+#  else
+    if (PerlLIO_setmode(PerlIO_fileno(fp), mode) != -1) {
+#    if defined(WIN32) && defined(__BORLANDC__)
 	/* The translation mode of the stream is maintained independent
 	 * of the translation mode of the fd in the Borland RTL (heavy
 	 * digging through their runtime sources reveal).  User has to
@@ -777,22 +1043,25 @@ do_binmode(PerlIO *fp, int iotype, int flag)
 	 * document this anywhere). GSAR 97-5-24
 	 */
 	PerlIO_seek(fp,0L,0);
-	((FILE*)fp)->flags |= _F_BIN;
-#endif
+	if (mode & O_BINARY)
+	    ((FILE*)fp)->flags |= _F_BIN;
+	else
+	    ((FILE*)fp)->flags &= ~ _F_BIN;
+#    endif
 	return 1;
     }
     else
 	return 0;
-#endif
+#  endif
 #else
-#if defined(USEMYBINMODE)
-    if (my_binmode(fp,iotype) != NULL)
+#  if defined(USEMYBINMODE)
+    if (my_binmode(fp, iotype, mode) != FALSE)
 	return 1;
     else
 	return 0;
-#else
+#  else
     return 1;
-#endif
+#  endif
 #endif
 }
 
@@ -848,7 +1117,7 @@ Off_t length;		/* length to set file to */
 #endif /* F_FREESP */
 
 bool
-do_print(register SV *sv, PerlIO *fp)
+Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
 {
     register char *tmps;
     STRLEN len;
@@ -860,7 +1129,7 @@ do_print(register SV *sv, PerlIO *fp)
 	if (SvGMAGICAL(sv))
 	    mg_get(sv);
         if (SvIOK(sv) && SvIVX(sv) != 0) {
-	    PerlIO_printf(fp, PL_ofmt, (double)SvIVX(sv));
+	    PerlIO_printf(fp, PL_ofmt, (NV)SvIVX(sv));
 	    return !PerlIO_error(fp);
 	}
 	if (  (SvNOK(sv) && SvNVX(sv) != 0.0)
@@ -871,14 +1140,20 @@ do_print(register SV *sv, PerlIO *fp)
     }
     switch (SvTYPE(sv)) {
     case SVt_NULL:
-	if (PL_dowarn)
-	    warn(warn_uninit);
+	{
+	    dTHR;
+	    if (ckWARN(WARN_UNINITIALIZED))
+		report_uninit();
+	}
 	return TRUE;
     case SVt_IV:
 	if (SvIOK(sv)) {
 	    if (SvGMAGICAL(sv))
 		mg_get(sv);
-	    PerlIO_printf(fp, "%ld", (long)SvIVX(sv));
+	    if (SvIsUV(sv))
+		PerlIO_printf(fp, "%"UVuf, (UV)SvUVX(sv));
+	    else
+		PerlIO_printf(fp, "%"IVdf, (IV)SvIVX(sv));
 	    return !PerlIO_error(fp);
 	}
 	/* FALL THROUGH */
@@ -886,13 +1161,19 @@ do_print(register SV *sv, PerlIO *fp)
 	tmps = SvPV(sv, len);
 	break;
     }
+    /* To detect whether the process is about to overstep its
+     * filesize limit we would need getrlimit().  We could then
+     * also transparently raise the limit with setrlimit() --
+     * but only until the system hard limit/the filesystem limit,
+     * at which we would get EPERM.  Note that when using buffered
+     * io the write failure can be delayed until the flush/close. --jhi */
     if (len && (PerlIO_write(fp,tmps,len) == 0 || PerlIO_error(fp)))
 	return FALSE;
     return !PerlIO_error(fp);
 }
 
 I32
-my_stat(ARGSproto)
+Perl_my_stat(pTHX)
 {
     djSP;
     IO *io;
@@ -900,7 +1181,7 @@ my_stat(ARGSproto)
 
     if (PL_op->op_flags & OPf_REF) {
 	EXTEND(SP,1);
-	tmpgv = cGVOP->op_gv;
+	tmpgv = cGVOP_gv;
       do_fstat:
 	io = GvIO(tmpgv);
 	if (io && IoIFP(io)) {
@@ -912,8 +1193,8 @@ my_stat(ARGSproto)
 	else {
 	    if (tmpgv == PL_defgv)
 		return PL_laststatval;
-	    if (PL_dowarn)
-		warn("Stat on unopened file <%s>",
+	    if (ckWARN(WARN_UNOPENED))
+		Perl_warner(aTHX_ WARN_UNOPENED, "Stat on unopened file <%s>",
 		  GvENAME(tmpgv));
 	    PL_statgv = Nullgv;
 	    sv_setpv(PL_statname,"");
@@ -939,26 +1220,26 @@ my_stat(ARGSproto)
 	sv_setpv(PL_statname, s);
 	PL_laststype = OP_STAT;
 	PL_laststatval = PerlLIO_stat(s, &PL_statcache);
-	if (PL_laststatval < 0 && PL_dowarn && strchr(s, '\n'))
-	    warn(warn_nl, "stat");
+	if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(s, '\n'))
+	    Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "stat");
 	return PL_laststatval;
     }
 }
 
 I32
-my_lstat(ARGSproto)
+Perl_my_lstat(pTHX)
 {
     djSP;
     SV *sv;
     STRLEN n_a;
     if (PL_op->op_flags & OPf_REF) {
 	EXTEND(SP,1);
-	if (cGVOP->op_gv == PL_defgv) {
+	if (cGVOP_gv == PL_defgv) {
 	    if (PL_laststype != OP_LSTAT)
-		croak("The stat preceding -l _ wasn't an lstat");
+		Perl_croak(aTHX_ "The stat preceding -l _ wasn't an lstat");
 	    return PL_laststatval;
 	}
-	croak("You can't use -l on a filehandle");
+	Perl_croak(aTHX_ "You can't use -l on a filehandle");
     }
 
     PL_laststype = OP_LSTAT;
@@ -966,19 +1247,25 @@ my_lstat(ARGSproto)
     sv = POPs;
     PUTBACK;
     sv_setpv(PL_statname,SvPV(sv, n_a));
-#ifdef HAS_LSTAT
     PL_laststatval = PerlLIO_lstat(SvPV(sv, n_a),&PL_statcache);
-#else
-    PL_laststatval = PerlLIO_stat(SvPV(sv, n_a),&PL_statcache);
-#endif
-    if (PL_laststatval < 0 && PL_dowarn && strchr(SvPV(sv, n_a), '\n'))
-	warn(warn_nl, "lstat");
+    if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(SvPV(sv, n_a), '\n'))
+	Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "lstat");
     return PL_laststatval;
 }
 
 bool
-do_aexec(SV *really, register SV **mark, register SV **sp)
+Perl_do_aexec(pTHX_ SV *really, register SV **mark, register SV **sp)
 {
+    return do_aexec5(really, mark, sp, 0, 0);
+}
+
+bool
+Perl_do_aexec5(pTHX_ SV *really, register SV **mark, register SV **sp,
+	       int fd, int do_report)
+{
+#ifdef MACOS_TRADITIONAL
+    Perl_croak(aTHX_ "exec? I'm not *that* kind of operating system");
+#else
     register char **a;
     char *tmps;
     STRLEN n_a;
@@ -1000,15 +1287,23 @@ do_aexec(SV *really, register SV **mark, register SV **sp)
 	    PerlProc_execvp(tmps,PL_Argv);
 	else
 	    PerlProc_execvp(PL_Argv[0],PL_Argv);
-	if (PL_dowarn)
-	    warn("Can't exec \"%s\": %s", PL_Argv[0], Strerror(errno));
+	if (ckWARN(WARN_EXEC))
+	    Perl_warner(aTHX_ WARN_EXEC, "Can't exec \"%s\": %s", 
+		PL_Argv[0], Strerror(errno));
+	if (do_report) {
+	    int e = errno;
+
+	    PerlLIO_write(fd, (void*)&e, sizeof(int));
+	    PerlLIO_close(fd);
+	}
     }
     do_execfree();
+#endif
     return FALSE;
 }
 
 void
-do_execfree(void)
+Perl_do_execfree(pTHX)
 {
     if (PL_Argv) {
 	Safefree(PL_Argv);
@@ -1020,10 +1315,16 @@ do_execfree(void)
     }
 }
 
-#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP)
+#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP) && !defined(EPOC) && !defined(MACOS_TRADITIONAL)
+
+bool
+Perl_do_exec(pTHX_ char *cmd)
+{
+    return do_exec3(cmd,0,0);
+}
 
 bool
-do_exec(char *cmd)
+Perl_do_exec3(pTHX_ char *cmd, int fd, int do_report)
 {
     register char **a;
     register char *s;
@@ -1069,7 +1370,7 @@ do_exec(char *cmd)
     if (strnEQ(cmd,"exec",4) && isSPACE(cmd[4]))
 	goto doshell;
 
-    for (s = cmd; *s && isALPHA(*s); s++) ;	/* catch VAR=val gizmo */
+    for (s = cmd; *s && isALNUM(*s); s++) ;	/* catch VAR=val gizmo */
     if (*s == '=')
 	goto doshell;
 
@@ -1079,6 +1380,20 @@ do_exec(char *cmd)
 		*s = '\0';
 		break;
 	    }
+	    /* handle the 2>&1 construct at the end */
+	    if (*s == '>' && s[1] == '&' && s[2] == '1'
+		&& s > cmd + 1 && s[-1] == '2' && isSPACE(s[-2])
+		&& (!s[3] || isSPACE(s[3])))
+	    {
+		char *t = s + 3;
+
+		while (*t && isSPACE(*t))
+		    ++t;
+		if (!*t && (dup2(1,2) != -1)) {
+		    s[-2] = '\0';
+		    break;
+		}
+	    }
 	  doshell:
 	    PerlProc_execl(PL_sh_path, "sh", "-c", cmd, (char*)0);
 	    return FALSE;
@@ -1103,8 +1418,18 @@ do_exec(char *cmd)
 	    do_execfree();
 	    goto doshell;
 	}
-	if (PL_dowarn)
-	    warn("Can't exec \"%s\": %s", PL_Argv[0], Strerror(errno));
+	{
+	    dTHR;
+	    int e = errno;
+
+	    if (ckWARN(WARN_EXEC))
+		Perl_warner(aTHX_ WARN_EXEC, "Can't exec \"%s\": %s", 
+		    PL_Argv[0], Strerror(errno));
+	    if (do_report) {
+		PerlLIO_write(fd, (void*)&e, sizeof(int));
+		PerlLIO_close(fd);
+	    }
+	}
     }
     do_execfree();
     return FALSE;
@@ -1113,7 +1438,7 @@ do_exec(char *cmd)
 #endif /* OS2 || WIN32 */
 
 I32
-apply(I32 type, register SV **mark, register SV **sp)
+Perl_apply(pTHX_ I32 type, register SV **mark, register SV **sp)
 {
     dTHR;
     register I32 val;
@@ -1190,7 +1515,7 @@ nothing in the core.
 	    if (*s == 'S' && s[1] == 'I' && s[2] == 'G')
 		s += 3;
 	    if (!(val = whichsig(s)))
-		croak("Unrecognized signal name \"%s\"",s);
+		Perl_croak(aTHX_ "Unrecognized signal name \"%s\"",s);
 	}
 	else
 	    val = SvIVx(*mark);
@@ -1262,11 +1587,7 @@ nothing in the core.
 		    tot--;
 	    }
 	    else {	/* don't let root wipe out directories without -U */
-#ifdef HAS_LSTAT
 		if (PerlLIO_lstat(s,&PL_statbuf) < 0 || S_ISDIR(PL_statbuf.st_mode))
-#else
-		if (PerlLIO_stat(s,&PL_statbuf) < 0 || S_ISDIR(PL_statbuf.st_mode))
-#endif
 		    tot--;
 		else {
 		    if (UNLINK(s))
@@ -1318,8 +1639,10 @@ nothing in the core.
 
 /* Do the permissions allow some operation?  Assumes statcache already set. */
 #ifndef VMS /* VMS' cando is in vms.c */
-I32
-cando(I32 bit, I32 effective, register struct stat *statbufp)
+bool
+Perl_cando(pTHX_ Mode_t mode, Uid_t effective, register Stat_t *statbufp)
+/* Note: we use `effective' both for uids and gids.
+ * Here we are betting on Uid_t being equal or wider than Gid_t.  */
 {
 #ifdef DOSISH
     /* [Comments and code from Len Reed]
@@ -1343,11 +1666,11 @@ cando(I32 bit, I32 effective, register struct stat *statbufp)
      /* Atari stat() does pretty much the same thing. we set x_bit_set_in_stat
       * too so it will actually look into the files for magic numbers
       */
-     return (bit & statbufp->st_mode) ? TRUE : FALSE;
+     return (mode & statbufp->st_mode) ? TRUE : FALSE;
 
 #else /* ! DOSISH */
     if ((effective ? PL_euid : PL_uid) == 0) {	/* root is special */
-	if (bit == S_IXUSR) {
+	if (mode == S_IXUSR) {
 	    if (statbufp->st_mode & 0111 || S_ISDIR(statbufp->st_mode))
 		return TRUE;
 	}
@@ -1356,23 +1679,27 @@ cando(I32 bit, I32 effective, register struct stat *statbufp)
 	return FALSE;
     }
     if (statbufp->st_uid == (effective ? PL_euid : PL_uid) ) {
-	if (statbufp->st_mode & bit)
+	if (statbufp->st_mode & mode)
 	    return TRUE;	/* ok as "user" */
     }
-    else if (ingroup((I32)statbufp->st_gid,effective)) {
-	if (statbufp->st_mode & bit >> 3)
+    else if (ingroup(statbufp->st_gid,effective)) {
+	if (statbufp->st_mode & mode >> 3)
 	    return TRUE;	/* ok as "group" */
     }
-    else if (statbufp->st_mode & bit >> 6)
+    else if (statbufp->st_mode & mode >> 6)
 	return TRUE;	/* ok as "other" */
     return FALSE;
 #endif /* ! DOSISH */
 }
 #endif /* ! VMS */
 
-I32
-ingroup(I32 testgid, I32 effective)
+bool
+Perl_ingroup(pTHX_ Gid_t testgid, Uid_t effective)
 {
+#ifdef MACOS_TRADITIONAL
+    /* This is simply not correct for AppleShare, but fix it yerself. */
+    return TRUE;
+#else
     if (testgid == (effective ? PL_egid : PL_gid))
 	return TRUE;
 #ifdef HAS_GETGROUPS
@@ -1390,12 +1717,13 @@ ingroup(I32 testgid, I32 effective)
     }
 #endif
     return FALSE;
+#endif
 }
 
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
 
 I32
-do_ipcget(I32 optype, SV **mark, SV **sp)
+Perl_do_ipcget(pTHX_ I32 optype, SV **mark, SV **sp)
 {
     dTHR;
     key_t key;
@@ -1421,14 +1749,14 @@ do_ipcget(I32 optype, SV **mark, SV **sp)
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:
-	croak("%s not implemented", op_desc[optype]);
+	Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
     }
     return -1;			/* should never happen */
 }
 
 I32
-do_ipcctl(I32 optype, SV **mark, SV **sp)
+Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
 {
     dTHR;
     SV *astr;
@@ -1459,14 +1787,18 @@ do_ipcctl(I32 optype, SV **mark, SV **sp)
 #endif
 #ifdef HAS_SEM
     case OP_SEMCTL:
+#ifdef Semctl
 	if (cmd == IPC_STAT || cmd == IPC_SET)
 	    infosize = sizeof(struct semid_ds);
 	else if (cmd == GETALL || cmd == SETALL)
 	{
 	    struct semid_ds semds;
 	    union semun semun;
-
+#ifdef EXTRA_F_IN_SEMUN_BUF
+            semun.buff = &semds;
+#else
             semun.buf = &semds;
+#endif
 	    getinfo = (cmd == GETALL);
 	    if (Semctl(id, 0, IPC_STAT, semun) == -1)
 		return -1;
@@ -1474,11 +1806,14 @@ do_ipcctl(I32 optype, SV **mark, SV **sp)
 		/* "short" is technically wrong but much more portable
 		   than guessing about u_?short(_t)? */
 	}
+#else
+	Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
+#endif
 	break;
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:
-	croak("%s not implemented", op_desc[optype]);
+	Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
     }
 
@@ -1494,14 +1829,16 @@ do_ipcctl(I32 optype, SV **mark, SV **sp)
 	{
 	    a = SvPV(astr, len);
 	    if (len != infosize)
-		croak("Bad arg length for %s, is %lu, should be %ld",
-			op_desc[optype], (unsigned long)len, (long)infosize);
+		Perl_croak(aTHX_ "Bad arg length for %s, is %lu, should be %ld",
+		      PL_op_desc[optype],
+		      (unsigned long)len,
+		      (long)infosize);
 	}
     }
     else
     {
 	IV i = SvIV(astr);
-	a = (char *)i;		/* ouch */
+	a = INT2PTR(char *,i);		/* ouch */
     }
     SETERRNO(0,0);
     switch (optype)
@@ -1513,10 +1850,18 @@ do_ipcctl(I32 optype, SV **mark, SV **sp)
 #endif
 #ifdef HAS_SEM
     case OP_SEMCTL: {
+#ifdef Semctl
             union semun unsemds;
 
+#ifdef EXTRA_F_IN_SEMUN_BUF
+            unsemds.buff = (struct semid_ds *)a;
+#else
             unsemds.buf = (struct semid_ds *)a;
+#endif
 	    ret = Semctl(id, n, cmd, unsemds);
+#else
+	    Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
+#endif
         }
 	break;
 #endif
@@ -1535,7 +1880,7 @@ do_ipcctl(I32 optype, SV **mark, SV **sp)
 }
 
 I32
-do_msgsnd(SV **mark, SV **sp)
+Perl_do_msgsnd(pTHX_ SV **mark, SV **sp)
 {
 #ifdef HAS_MSG
     dTHR;
@@ -1549,16 +1894,16 @@ do_msgsnd(SV **mark, SV **sp)
     flags = SvIVx(*++mark);
     mbuf = SvPV(mstr, len);
     if ((msize = len - sizeof(long)) < 0)
-	croak("Arg too short for msgsnd");
+	Perl_croak(aTHX_ "Arg too short for msgsnd");
     SETERRNO(0,0);
     return msgsnd(id, (struct msgbuf *)mbuf, msize, flags);
 #else
-    croak("msgsnd not implemented");
+    Perl_croak(aTHX_ "msgsnd not implemented");
 #endif
 }
 
 I32
-do_msgrcv(SV **mark, SV **sp)
+Perl_do_msgrcv(pTHX_ SV **mark, SV **sp)
 {
 #ifdef HAS_MSG
     dTHR;
@@ -1573,12 +1918,6 @@ do_msgrcv(SV **mark, SV **sp)
     msize = SvIVx(*++mark);
     mtype = (long)SvIVx(*++mark);
     flags = SvIVx(*++mark);
-    if (SvTHINKFIRST(mstr)) {
-	if (SvREADONLY(mstr))
-	    croak("Can't msgrcv to readonly var");
-	if (SvROK(mstr))
-	    sv_unref(mstr);
-    }
     SvPV_force(mstr, len);
     mbuf = SvGROW(mstr, sizeof(long)+msize+1);
     
@@ -1587,15 +1926,19 @@ do_msgrcv(SV **mark, SV **sp)
     if (ret >= 0) {
 	SvCUR_set(mstr, sizeof(long)+ret);
 	*SvEND(mstr) = '\0';
+#ifndef INCOMPLETE_TAINTS
+	/* who knows who has been playing with this message? */
+	SvTAINTED_on(mstr);
+#endif
     }
     return ret;
 #else
-    croak("msgrcv not implemented");
+    Perl_croak(aTHX_ "msgrcv not implemented");
 #endif
 }
 
 I32
-do_semop(SV **mark, SV **sp)
+Perl_do_semop(pTHX_ SV **mark, SV **sp)
 {
 #ifdef HAS_SEM
     dTHR;
@@ -1615,12 +1958,12 @@ do_semop(SV **mark, SV **sp)
     SETERRNO(0,0);
     return semop(id, (struct sembuf *)opbuf, opsize/sizeof(struct sembuf));
 #else
-    croak("semop not implemented");
+    Perl_croak(aTHX_ "semop not implemented");
 #endif
 }
 
 I32
-do_shmio(I32 optype, SV **mark, SV **sp)
+Perl_do_shmio(pTHX_ I32 optype, SV **mark, SV **sp)
 {
 #ifdef HAS_SHM
     dTHR;
@@ -1645,6 +1988,9 @@ do_shmio(I32 optype, SV **mark, SV **sp)
     if (shm == (char *)-1)	/* I hate System V IPC, I really do */
 	return -1;
     if (optype == OP_SHMREAD) {
+	/* suppress warning when reading into undef var (tchrist 3/Mar/00) */
+	if (! SvOK(mstr))
+	    sv_setpvn(mstr, "", 0);
 	SvPV_force(mstr, len);
 	mbuf = SvGROW(mstr, msize+1);
 
@@ -1652,6 +1998,10 @@ do_shmio(I32 optype, SV **mark, SV **sp)
 	SvCUR_set(mstr, msize);
 	*SvEND(mstr) = '\0';
 	SvSETMAGIC(mstr);
+#ifndef INCOMPLETE_TAINTS
+	/* who knows who has been playing with this shared memory? */
+	SvTAINTED_on(mstr);
+#endif
     }
     else {
 	I32 n;
@@ -1665,7 +2015,7 @@ do_shmio(I32 optype, SV **mark, SV **sp)
     }
     return shmdt(shm);
 #else
-    croak("shm I/O not implemented");
+    Perl_croak(aTHX_ "shm I/O not implemented");
 #endif
 }
 
diff --git a/gnu/usr.bin/perl/doop.c b/gnu/usr.bin/perl/doop.c
index 85d7b9eb9ce..06b1b38d5c8 100644
--- a/gnu/usr.bin/perl/doop.c
+++ b/gnu/usr.bin/perl/doop.c
@@ -1,6 +1,6 @@
 /*    doop.c
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -12,86 +12,625 @@
  */
 
 #include "EXTERN.h"
+#define PERL_IN_DOOP_C
 #include "perl.h"
 
 #if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
 #include 
 #endif
 
-I32
-do_trans(SV *sv, OP *arg)
+STATIC I32
+S_do_trans_CC_simple(pTHX_ SV *sv)
 {
     dTHR;
-    register short *tbl;
-    register U8 *s;
-    register U8 *send;
-    register U8 *d;
-    register I32 ch;
-    register I32 matches = 0;
-    register I32 squash = PL_op->op_private & OPpTRANS_SQUASH;
-    register U8 *p;
+    U8 *s;
+    U8 *send;
+    I32 matches = 0;
     STRLEN len;
+    short *tbl;
+    I32 ch;
 
-    if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_COUNTONLY))
-	croak(no_modify);
     tbl = (short*)cPVOP->op_pv;
+    if (!tbl)
+	Perl_croak(aTHX_ "panic: do_trans");
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    while (s < send) {
+	if ((ch = tbl[*s]) >= 0) {
+	    matches++;
+	    *s = ch;
+	}
+	s++;
+    }
+    SvSETMAGIC(sv);
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_CC_count(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    I32 matches = 0;
+    STRLEN len;
+    short *tbl;
+
+    tbl = (short*)cPVOP->op_pv;
+    if (!tbl)
+	Perl_croak(aTHX_ "panic: do_trans");
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    while (s < send) {
+	if (tbl[*s] >= 0)
+	    matches++;
+	s++;
+    }
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_CC_complex(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    I32 matches = 0;
+    STRLEN len;
+    short *tbl;
+    I32 ch;
+
+    tbl = (short*)cPVOP->op_pv;
+    if (!tbl)
+	Perl_croak(aTHX_ "panic: do_trans");
+
     s = (U8*)SvPV(sv, len);
-    if (!len)
-	return 0;
-    if (!SvPOKp(sv))
-	s = (U8*)SvPV_force(sv, len);
-    (void)SvPOK_only(sv);
     send = s + len;
-    if (!tbl || !s)
-	croak("panic: do_trans");
-    DEBUG_t( deb("2.TBL\n"));
-    if (!PL_op->op_private) {
+
+    d = s;
+    if (PL_op->op_private & OPpTRANS_SQUASH) {
+	U8* p = send;
+
 	while (s < send) {
 	    if ((ch = tbl[*s]) >= 0) {
+		*d = ch;
 		matches++;
-		*s = ch;
+		if (p == d - 1 && *p == *d)
+		    matches--;
+		else
+		    p = d++;
 	    }
+	    else if (ch == -1)		/* -1 is unmapped character */
+		*d++ = *s;		/* -2 is delete character */
 	    s++;
 	}
-	SvSETMAGIC(sv);
     }
-    else if (PL_op->op_private & OPpTRANS_COUNTONLY) {
+    else {
 	while (s < send) {
-	    if (tbl[*s] >= 0)
+	    if ((ch = tbl[*s]) >= 0) {
+		*d = ch;
 		matches++;
+		d++;
+	    }
+	    else if (ch == -1)		/* -1 is unmapped character */
+		*d++ = *s;		/* -2 is delete character */
 	    s++;
 	}
     }
+    matches += send - d;	/* account for disappeared chars */
+    *d = '\0';
+    SvCUR_set(sv, d - (U8*)SvPVX(sv));
+    SvSETMAGIC(sv);
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_UU_simple(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    I32 matches = 0;
+    STRLEN len;
+
+    SV* rv = (SV*)cSVOP->op_sv;
+    HV* hv = (HV*)SvRV(rv);
+    SV** svp = hv_fetch(hv, "NONE", 4, FALSE);
+    UV none = svp ? SvUV(*svp) : 0x7fffffff;
+    UV extra = none + 1;
+    UV final;
+    UV uv;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    svp = hv_fetch(hv, "FINAL", 5, FALSE);
+    if (svp)
+	final = SvUV(*svp);
+
+    d = s;
+    while (s < send) {
+	if ((uv = swash_fetch(rv, s)) < none) {
+	    s += UTF8SKIP(s);
+	    matches++;
+	    d = uv_to_utf8(d, uv);
+	}
+	else if (uv == none) {
+	    int i;
+	    for (i = UTF8SKIP(s); i; i--)
+		*d++ = *s++;
+	}
+	else if (uv == extra) {
+	    s += UTF8SKIP(s);
+	    matches++;
+	    d = uv_to_utf8(d, final);
+	}
+	else
+	    s += UTF8SKIP(s);
+    }
+    *d = '\0';
+    SvCUR_set(sv, d - (U8*)SvPVX(sv));
+    SvSETMAGIC(sv);
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_UU_count(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    I32 matches = 0;
+    STRLEN len;
+
+    SV* rv = (SV*)cSVOP->op_sv;
+    HV* hv = (HV*)SvRV(rv);
+    SV** svp = hv_fetch(hv, "NONE", 4, FALSE);
+    UV none = svp ? SvUV(*svp) : 0x7fffffff;
+    UV uv;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    while (s < send) {
+	if ((uv = swash_fetch(rv, s)) < none)
+	    matches++;
+	s += UTF8SKIP(s);
+    }
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_UC_simple(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    I32 matches = 0;
+    STRLEN len;
+
+    SV* rv = (SV*)cSVOP->op_sv;
+    HV* hv = (HV*)SvRV(rv);
+    SV** svp = hv_fetch(hv, "NONE", 4, FALSE);
+    UV none = svp ? SvUV(*svp) : 0x7fffffff;
+    UV extra = none + 1;
+    UV final;
+    UV uv;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    svp = hv_fetch(hv, "FINAL", 5, FALSE);
+    if (svp)
+	final = SvUV(*svp);
+
+    d = s;
+    while (s < send) {
+	if ((uv = swash_fetch(rv, s)) < none) {
+	    s += UTF8SKIP(s);
+	    matches++;
+	    *d++ = (U8)uv;
+	}
+	else if (uv == none) {
+	    I32 ulen;
+	    uv = utf8_to_uv(s, &ulen);
+	    s += ulen;
+	    *d++ = (U8)uv;
+	}
+	else if (uv == extra) {
+	    s += UTF8SKIP(s);
+	    matches++;
+	    *d++ = (U8)final;
+	}
+	else
+	    s += UTF8SKIP(s);
+    }
+    *d = '\0';
+    SvCUR_set(sv, d - (U8*)SvPVX(sv));
+    SvSETMAGIC(sv);
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_CU_simple(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    U8 *dst;
+    I32 matches = 0;
+    STRLEN len;
+
+    SV* rv = (SV*)cSVOP->op_sv;
+    HV* hv = (HV*)SvRV(rv);
+    SV** svp = hv_fetch(hv, "NONE", 4, FALSE);
+    UV none = svp ? SvUV(*svp) : 0x7fffffff;
+    UV extra = none + 1;
+    UV final;
+    UV uv;
+    U8 tmpbuf[UTF8_MAXLEN];
+    I32 bits = 16;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    svp = hv_fetch(hv, "BITS", 4, FALSE);
+    if (svp)
+	bits = (I32)SvIV(*svp);
+
+    svp = hv_fetch(hv, "FINAL", 5, FALSE);
+    if (svp)
+	final = SvUV(*svp);
+
+    Newz(801, d, len * (bits >> 3) + 1, U8);
+    dst = d;
+
+    while (s < send) {
+	uv = *s++;
+	if (uv < 0x80)
+	    tmpbuf[0] = uv;
+	else {
+	    tmpbuf[0] = (( uv >>  6)         | 0xc0);
+	    tmpbuf[1] = (( uv        & 0x3f) | 0x80);
+	}
+
+	if ((uv = swash_fetch(rv, tmpbuf)) < none) {
+	    matches++;
+	    d = uv_to_utf8(d, uv);
+	}
+	else if (uv == none)
+	    d = uv_to_utf8(d, s[-1]);
+	else if (uv == extra) {
+	    matches++;
+	    d = uv_to_utf8(d, final);
+	}
+    }
+    *d = '\0';
+    sv_usepvn_mg(sv, (char*)dst, d - dst);
+
+    return matches;
+}
+
+/* utf-8 to latin-1 */
+
+STATIC I32
+S_do_trans_UC_trivial(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    STRLEN len;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    d = s;
+    while (s < send) {
+	if (*s < 0x80)
+	    *d++ = *s++;
+	else {
+	    I32 ulen;
+	    UV uv = utf8_to_uv(s, &ulen);
+	    s += ulen;
+	    *d++ = (U8)uv;
+	}
+    }
+    *d = '\0';
+    SvCUR_set(sv, d - (U8*)SvPVX(sv));
+    SvSETMAGIC(sv);
+
+    return SvCUR(sv);
+}
+
+/* latin-1 to utf-8 */
+
+STATIC I32
+S_do_trans_CU_trivial(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    U8 *dst;
+    I32 matches;
+    STRLEN len;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    Newz(801, d, len * 2 + 1, U8);
+    dst = d;
+
+    matches = send - s;
+
+    while (s < send) {
+	if (*s < 0x80)
+	    *d++ = *s++;
+	else {
+	    UV uv = *s++;
+	    *d++ = (( uv >>  6)         | 0xc0);
+	    *d++ = (( uv        & 0x3f) | 0x80);
+	}
+    }
+    *d = '\0';
+    sv_usepvn_mg(sv, (char*)dst, d - dst);
+
+    return matches;
+}
+
+STATIC I32
+S_do_trans_UU_complex(pTHX_ SV *sv)
+{
+    dTHR;
+    U8 *s;
+    U8 *send;
+    U8 *d;
+    I32 matches = 0;
+    I32 squash   = PL_op->op_private & OPpTRANS_SQUASH;
+    I32 from_utf = PL_op->op_private & OPpTRANS_FROM_UTF;
+    I32 to_utf   = PL_op->op_private & OPpTRANS_TO_UTF;
+    I32 del      = PL_op->op_private & OPpTRANS_DELETE;
+    SV* rv = (SV*)cSVOP->op_sv;
+    HV* hv = (HV*)SvRV(rv);
+    SV** svp = hv_fetch(hv, "NONE", 4, FALSE);
+    UV none = svp ? SvUV(*svp) : 0x7fffffff;
+    UV extra = none + 1;
+    UV final;
+    UV uv;
+    STRLEN len;
+    U8 *dst;
+
+    s = (U8*)SvPV(sv, len);
+    send = s + len;
+
+    svp = hv_fetch(hv, "FINAL", 5, FALSE);
+    if (svp)
+	final = SvUV(*svp);
+
+    if (PL_op->op_private & OPpTRANS_GROWS) {
+	I32 bits = 16;
+
+	svp = hv_fetch(hv, "BITS", 4, FALSE);
+	if (svp)
+	    bits = (I32)SvIV(*svp);
+
+	Newz(801, d, len * (bits >> 3) + 1, U8);
+	dst = d;
+    }
     else {
 	d = s;
-	p = send;
+	dst = 0;
+    }
+
+    if (squash) {
+	UV puv = 0xfeedface;
 	while (s < send) {
-	    if ((ch = tbl[*s]) >= 0) {
-		*d = ch;
+	    if (from_utf) {
+		uv = swash_fetch(rv, s);
+	    }
+	    else {
+		U8 tmpbuf[2];
+		uv = *s++;
+		if (uv < 0x80)
+		    tmpbuf[0] = uv;
+		else {
+		    tmpbuf[0] = (( uv >>  6)         | 0xc0);
+		    tmpbuf[1] = (( uv        & 0x3f) | 0x80);
+		}
+		uv = swash_fetch(rv, tmpbuf);
+	    }
+	    if (uv < none) {
+		matches++;
+		if (uv != puv) {
+		    if (uv >= 0x80 && to_utf)
+			d = uv_to_utf8(d, uv);
+		    else
+			*d++ = (U8)uv;
+		    puv = uv;
+		}
+		if (from_utf)
+		    s += UTF8SKIP(s);
+		continue;
+	    }
+	    else if (uv == none) {	/* "none" is unmapped character */
+		if (from_utf) {
+		    if (*s < 0x80)
+			*d++ = *s++;
+		    else if (to_utf) {
+			int i;
+			for (i = UTF8SKIP(s); i; --i)
+			    *d++ = *s++;
+		    }
+		    else {
+			I32 ulen;
+			*d++ = (U8)utf8_to_uv(s, &ulen);
+			s += ulen;
+		    }
+		}
+		else {	/* must be to_utf only */
+		    d = uv_to_utf8(d, s[-1]);
+		}
+		puv = 0xfeedface;
+		continue;
+	    }
+	    else if (uv == extra && !del) {
 		matches++;
-		if (squash) {
-		    if (p == d - 1 && *p == *d)
-			matches--;
+		if (uv != puv) {
+		    if (final >= 0x80 && to_utf)
+			d = uv_to_utf8(d, final);
 		    else
-		        p = d++;
+			*d++ = (U8)final;
+		    puv = final;
+		}
+		if (from_utf)
+		    s += UTF8SKIP(s);
+		continue;
+	    }
+	    matches++;		/* "none+1" is delete character */
+	    if (from_utf)
+		s += UTF8SKIP(s);
+	}
+    }
+    else {
+	while (s < send) {
+	    if (from_utf) {
+		uv = swash_fetch(rv, s);
+	    }
+	    else {
+		U8 tmpbuf[2];
+		uv = *s++;
+		if (uv < 0x80)
+		    tmpbuf[0] = uv;
+		else {
+		    tmpbuf[0] = (( uv >>  6)         | 0xc0);
+		    tmpbuf[1] = (( uv        & 0x3f) | 0x80);
 		}
+		uv = swash_fetch(rv, tmpbuf);
+	    }
+	    if (uv < none) {
+		matches++;
+		if (uv >= 0x80 && to_utf)
+		    d = uv_to_utf8(d, uv);
 		else
-		    d++;
+		    *d++ = (U8)uv;
+		if (from_utf)
+		    s += UTF8SKIP(s);
+		continue;
 	    }
-	    else if (ch == -1)		/* -1 is unmapped character */
-		*d++ = *s;		/* -2 is delete character */
-	    s++;
+	    else if (uv == none) {	/* "none" is unmapped character */
+		if (from_utf) {
+		    if (*s < 0x80)
+			*d++ = *s++;
+		    else if (to_utf) {
+			int i;
+			for (i = UTF8SKIP(s); i; --i)
+			    *d++ = *s++;
+		    }
+		    else {
+			I32 ulen;
+			*d++ = (U8)utf8_to_uv(s, &ulen);
+			s += ulen;
+		    }
+		}
+		else {	/* must be to_utf only */
+		    d = uv_to_utf8(d, s[-1]);
+		}
+		continue;
+	    }
+	    else if (uv == extra && !del) {
+		matches++;
+		if (final >= 0x80 && to_utf)
+		    d = uv_to_utf8(d, final);
+		else
+		    *d++ = (U8)final;
+		if (from_utf)
+		    s += UTF8SKIP(s);
+		continue;
+	    }
+	    matches++;		/* "none+1" is delete character */
+	    if (from_utf)
+		s += UTF8SKIP(s);
 	}
-	matches += send - d;	/* account for disappeared chars */
+    }
+    if (dst)
+	sv_usepvn(sv, (char*)dst, d - dst);
+    else {
 	*d = '\0';
 	SvCUR_set(sv, d - (U8*)SvPVX(sv));
-	SvSETMAGIC(sv);
     }
+    SvSETMAGIC(sv);
+
     return matches;
 }
 
+I32
+Perl_do_trans(pTHX_ SV *sv)
+{
+    dTHR;
+    STRLEN len;
+
+    if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL))
+	Perl_croak(aTHX_ PL_no_modify);
+
+    (void)SvPV(sv, len);
+    if (!len)
+	return 0;
+    if (!SvPOKp(sv))
+	(void)SvPV_force(sv, len);
+    (void)SvPOK_only(sv);
+
+    DEBUG_t( Perl_deb(aTHX_ "2.TBL\n"));
+
+    switch (PL_op->op_private & 63) {
+    case 0:
+	return do_trans_CC_simple(sv);
+
+    case OPpTRANS_FROM_UTF:
+	return do_trans_UC_simple(sv);
+
+    case OPpTRANS_TO_UTF:
+	return do_trans_CU_simple(sv);
+
+    case OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF:
+	return do_trans_UU_simple(sv);
+
+    case OPpTRANS_IDENTICAL:
+	return do_trans_CC_count(sv);
+
+    case OPpTRANS_FROM_UTF|OPpTRANS_IDENTICAL:
+	return do_trans_UC_trivial(sv);
+
+    case OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL:
+	return do_trans_CU_trivial(sv);
+
+    case OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL:
+	return do_trans_UU_count(sv);
+
+    default:
+	if (PL_op->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF))
+	    return do_trans_UU_complex(sv); /* could be UC or CU too */
+	else
+	    return do_trans_CC_complex(sv);
+    }
+}
+
 void
-do_join(register SV *sv, SV *del, register SV **mark, register SV **sp)
+Perl_do_join(pTHX_ register SV *sv, SV *del, register SV **mark, register SV **sp)
 {
     SV **oldmark = mark;
     register I32 items = sp - mark;
@@ -102,8 +641,7 @@ do_join(register SV *sv, SV *del, register SV **mark, register SV **sp)
 
     mark++;
     len = (items > 0 ? (delimlen * (items - 1) ) : 0);
-    if (SvTYPE(sv) < SVt_PV)
-	sv_upgrade(sv, SVt_PV);
+    (void)SvUPGRADE(sv, SVt_PV);
     if (SvLEN(sv) < len + items) {	/* current length is way too short */
 	while (items-- > 0) {
 	    if (*mark && !SvGMAGICAL(*mark) && SvOK(*mark)) {
@@ -115,7 +653,7 @@ do_join(register SV *sv, SV *del, register SV **mark, register SV **sp)
 	SvGROW(sv, len + 1);		/* so try to pre-extend */
 
 	mark = oldmark;
-	items = sp - mark;;
+	items = sp - mark;
 	++mark;
     }
 
@@ -147,7 +685,7 @@ do_join(register SV *sv, SV *del, register SV **mark, register SV **sp)
 }
 
 void
-do_sprintf(SV *sv, I32 len, SV **sarg)
+Perl_do_sprintf(pTHX_ SV *sv, I32 len, SV **sarg)
 {
     STRLEN patlen;
     char *pat = SvPV(*sarg, patlen);
@@ -159,14 +697,146 @@ do_sprintf(SV *sv, I32 len, SV **sarg)
 	SvTAINTED_on(sv);
 }
 
+UV
+Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size)
+{
+    STRLEN srclen, len;
+    unsigned char *s = (unsigned char *) SvPV(sv, srclen);
+    UV retnum = 0;
+
+    if (offset < 0)
+	return retnum;
+    if (size < 1 || (size & (size-1))) /* size < 1 or not a power of two */ 
+	Perl_croak(aTHX_ "Illegal number of bits in vec");
+    offset *= size;	/* turn into bit offset */
+    len = (offset + size + 7) / 8;	/* required number of bytes */
+    if (len > srclen) {
+	if (size <= 8)
+	    retnum = 0;
+	else {
+	    offset >>= 3;	/* turn into byte offset */
+	    if (size == 16) {
+		if (offset >= srclen)
+		    retnum = 0;
+		else
+		    retnum = (UV) s[offset] <<  8;
+	    }
+	    else if (size == 32) {
+		if (offset >= srclen)
+		    retnum = 0;
+		else if (offset + 1 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 24);
+		else if (offset + 2 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 24) +
+			((UV) s[offset + 1] << 16);
+		else
+		    retnum =
+			((UV) s[offset    ] << 24) +
+			((UV) s[offset + 1] << 16) +
+			(     s[offset + 2] <<  8);
+	    }
+#ifdef UV_IS_QUAD
+	    else if (size == 64) {
+		dTHR;
+		if (ckWARN(WARN_PORTABLE))
+		    Perl_warner(aTHX_ WARN_PORTABLE,
+				"Bit vector size > 32 non-portable");
+		if (offset >= srclen)
+		    retnum = 0;
+		else if (offset + 1 >= srclen)
+		    retnum =
+			(UV) s[offset     ] << 56;
+		else if (offset + 2 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 56) +
+			((UV) s[offset + 1] << 48);
+		else if (offset + 3 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 56) +
+			((UV) s[offset + 1] << 48) +
+			((UV) s[offset + 2] << 40);
+		else if (offset + 4 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 56) +
+			((UV) s[offset + 1] << 48) +
+			((UV) s[offset + 2] << 40) +
+			((UV) s[offset + 3] << 32);
+		else if (offset + 5 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 56) +
+			((UV) s[offset + 1] << 48) +
+			((UV) s[offset + 2] << 40) +
+			((UV) s[offset + 3] << 32) +
+			(     s[offset + 4] << 24);
+		else if (offset + 6 >= srclen)
+		    retnum =
+			((UV) s[offset    ] << 56) +
+			((UV) s[offset + 1] << 48) +
+			((UV) s[offset + 2] << 40) +
+			((UV) s[offset + 3] << 32) +
+			((UV) s[offset + 4] << 24) +
+			((UV) s[offset + 5] << 16);
+		else
+		    retnum = 
+			((UV) s[offset    ] << 56) +
+			((UV) s[offset + 1] << 48) +
+			((UV) s[offset + 2] << 40) +
+			((UV) s[offset + 3] << 32) +
+			((UV) s[offset + 4] << 24) +
+			((UV) s[offset + 5] << 16) +
+			(     s[offset + 6] <<  8);
+	    }
+#endif
+	}
+    }
+    else if (size < 8)
+	retnum = (s[offset >> 3] >> (offset & 7)) & ((1 << size) - 1);
+    else {
+	offset >>= 3;	/* turn into byte offset */
+	if (size == 8)
+	    retnum = s[offset];
+	else if (size == 16)
+	    retnum =
+		((UV) s[offset] <<      8) +
+		      s[offset + 1];
+	else if (size == 32)
+	    retnum =
+		((UV) s[offset    ] << 24) +
+		((UV) s[offset + 1] << 16) +
+		(     s[offset + 2] <<  8) +
+		      s[offset + 3];
+#ifdef UV_IS_QUAD
+	else if (size == 64) {
+	    dTHR;
+	    if (ckWARN(WARN_PORTABLE))
+		Perl_warner(aTHX_ WARN_PORTABLE,
+			    "Bit vector size > 32 non-portable");
+	    retnum =
+		((UV) s[offset    ] << 56) +
+		((UV) s[offset + 1] << 48) +
+		((UV) s[offset + 2] << 40) +
+		((UV) s[offset + 3] << 32) +
+		((UV) s[offset + 4] << 24) +
+		((UV) s[offset + 5] << 16) +
+		(     s[offset + 6] <<  8) +
+		      s[offset + 7];
+	}
+#endif
+    }
+
+    return retnum;
+}
+
 void
-do_vecset(SV *sv)
+Perl_do_vecset(pTHX_ SV *sv)
 {
     SV *targ = LvTARG(sv);
     register I32 offset;
     register I32 size;
     register unsigned char *s;
-    register unsigned long lval;
+    register UV lval;
     I32 mask;
     STRLEN targlen;
     STRLEN len;
@@ -174,11 +844,14 @@ do_vecset(SV *sv)
     if (!targ)
 	return;
     s = (unsigned char*)SvPV_force(targ, targlen);
-    lval = U_L(SvNV(sv));
+    lval = SvUV(sv);
     offset = LvTARGOFF(sv);
     size = LvTARGLEN(sv);
+    if (size < 1 || (size & (size-1))) /* size < 1 or not a power of two */ 
+	Perl_croak(aTHX_ "Illegal number of bits in vec");
     
-    len = (offset + size + 7) / 8;
+    offset *= size;			/* turn into bit offset */
+    len = (offset + size + 7) / 8;	/* required number of bytes */
     if (len > targlen) {
 	s = (unsigned char*)SvGROW(targ, len + 1);
 	(void)memzero(s + targlen, len - targlen + 1);
@@ -189,32 +862,50 @@ do_vecset(SV *sv)
 	mask = (1 << size) - 1;
 	size = offset & 7;
 	lval &= mask;
-	offset >>= 3;
+	offset >>= 3;			/* turn into byte offset */
 	s[offset] &= ~(mask << size);
 	s[offset] |= lval << size;
     }
     else {
-	offset >>= 3;
+	offset >>= 3;			/* turn into byte offset */
 	if (size == 8)
-	    s[offset] = lval & 255;
+	    s[offset  ] = lval         & 0xff;
 	else if (size == 16) {
-	    s[offset] = (lval >> 8) & 255;
-	    s[offset+1] = lval & 255;
+	    s[offset  ] = (lval >>  8) & 0xff;
+	    s[offset+1] = lval         & 0xff;
 	}
 	else if (size == 32) {
-	    s[offset] = (lval >> 24) & 255;
-	    s[offset+1] = (lval >> 16) & 255;
-	    s[offset+2] = (lval >> 8) & 255;
-	    s[offset+3] = lval & 255;
+	    s[offset  ] = (lval >> 24) & 0xff;
+	    s[offset+1] = (lval >> 16) & 0xff;
+	    s[offset+2] = (lval >>  8) & 0xff;
+	    s[offset+3] =  lval        & 0xff;
 	}
+#ifdef UV_IS_QUAD
+	else if (size == 64) {
+	    dTHR;
+	    if (ckWARN(WARN_PORTABLE))
+		Perl_warner(aTHX_ WARN_PORTABLE,
+			    "Bit vector size > 32 non-portable");
+	    s[offset  ] = (lval >> 56) & 0xff;
+	    s[offset+1] = (lval >> 48) & 0xff;
+	    s[offset+2] = (lval >> 40) & 0xff;
+	    s[offset+3] = (lval >> 32) & 0xff;
+	    s[offset+4] = (lval >> 24) & 0xff;
+	    s[offset+5] = (lval >> 16) & 0xff;
+	    s[offset+6] = (lval >>  8) & 0xff;
+	    s[offset+7] =  lval        & 0xff;
+	}
+#endif
     }
+    SvSETMAGIC(targ);
 }
 
 void
-do_chop(register SV *astr, register SV *sv)
+Perl_do_chop(pTHX_ register SV *astr, register SV *sv)
 {
     STRLEN len;
     char *s;
+    dTHR;
     
     if (SvTYPE(sv) == SVt_PVAV) {
 	register I32 i;
@@ -228,32 +919,53 @@ do_chop(register SV *astr, register SV *sv)
 	}
         return;
     }
-    if (SvTYPE(sv) == SVt_PVHV) {
+    else if (SvTYPE(sv) == SVt_PVHV) {
         HV* hv = (HV*)sv;
 	HE* entry;
         (void)hv_iterinit(hv);
         /*SUPPRESS 560*/
-        while (entry = hv_iternext(hv))
+        while ((entry = hv_iternext(hv)))
             do_chop(astr,hv_iterval(hv,entry));
         return;
     }
+    else if (SvREADONLY(sv))
+	Perl_croak(aTHX_ PL_no_modify);
     s = SvPV(sv, len);
     if (len && !SvPOK(sv))
 	s = SvPV_force(sv, len);
-    if (s && len) {
+    if (DO_UTF8(sv)) {
+	if (s && len) {
+	    char *send = s + len;
+	    char *start = s;
+	    s = send - 1;
+	    while ((*s & 0xc0) == 0x80)
+		--s;
+	    if (UTF8SKIP(s) != send - s && ckWARN_d(WARN_UTF8))
+		Perl_warner(aTHX_ WARN_UTF8, "Malformed UTF-8 character");
+	    sv_setpvn(astr, s, send - s);
+	    *s = '\0';
+	    SvCUR_set(sv, s - start);
+	    SvNIOK_off(sv);
+	    SvUTF8_on(astr);
+	}
+	else
+	    sv_setpvn(astr, "", 0);
+    }
+    else if (s && len) {
 	s += --len;
 	sv_setpvn(astr, s, 1);
 	*s = '\0';
 	SvCUR_set(sv, len);
+	SvUTF8_off(sv);
 	SvNIOK_off(sv);
     }
     else
 	sv_setpvn(astr, "", 0);
     SvSETMAGIC(sv);
-} 
+}
 
 I32
-do_chomp(register SV *sv)
+Perl_do_chomp(pTHX_ register SV *sv)
 {
     dTHR;
     register I32 count;
@@ -262,6 +974,8 @@ do_chomp(register SV *sv)
 
     if (RsSNARF(PL_rs))
 	return 0;
+    if (RsRECORD(PL_rs))
+      return 0;
     count = 0;
     if (SvTYPE(sv) == SVt_PVAV) {
 	register I32 i;
@@ -275,15 +989,17 @@ do_chomp(register SV *sv)
 	}
         return count;
     }
-    if (SvTYPE(sv) == SVt_PVHV) {
+    else if (SvTYPE(sv) == SVt_PVHV) {
         HV* hv = (HV*)sv;
 	HE* entry;
         (void)hv_iterinit(hv);
         /*SUPPRESS 560*/
-        while (entry = hv_iternext(hv))
+        while ((entry = hv_iternext(hv)))
             count += do_chomp(hv_iterval(hv,entry));
         return count;
     }
+    else if (SvREADONLY(sv))
+	Perl_croak(aTHX_ PL_no_modify);
     s = SvPV(sv, len);
     if (len && !SvPOKp(sv))
 	s = SvPV_force(sv, len);
@@ -327,7 +1043,7 @@ do_chomp(register SV *sv)
 } 
 
 void
-do_vop(I32 optype, SV *sv, SV *left, SV *right)
+Perl_do_vop(pTHX_ I32 optype, SV *sv, SV *left, SV *right)
 {
     dTHR;	/* just for taint */
 #ifdef LIBERAL
@@ -344,6 +1060,13 @@ do_vop(I32 optype, SV *sv, SV *left, SV *right)
     I32 lensave;
     char *lsave;
     char *rsave;
+    bool left_utf = DO_UTF8(left);
+    bool right_utf = DO_UTF8(right);
+
+    if (left_utf && !right_utf)
+	sv_utf8_upgrade(right);
+    if (!left_utf && right_utf)
+	sv_utf8_upgrade(left);
 
     if (sv != left || (optype != OP_BIT_AND && !SvOK(sv) && !SvGMAGICAL(sv)))
 	sv_setpvn(sv, "", 0);	/* avoid undef warning on |= and ^= */
@@ -368,6 +1091,69 @@ do_vop(I32 optype, SV *sv, SV *left, SV *right)
     }
     SvCUR_set(sv, len);
     (void)SvPOK_only(sv);
+    if (left_utf || right_utf) {
+	UV duc, luc, ruc;
+	STRLEN lulen = leftlen;
+	STRLEN rulen = rightlen;
+	STRLEN dulen = 0;
+	I32 ulen;
+
+	if (optype != OP_BIT_AND)
+	    dc = SvGROW(sv, leftlen+rightlen+1);
+
+	switch (optype) {
+	case OP_BIT_AND:
+	    while (lulen && rulen) {
+		luc = utf8_to_uv((U8*)lc, &ulen);
+		lc += ulen;
+		lulen -= ulen;
+		ruc = utf8_to_uv((U8*)rc, &ulen);
+		rc += ulen;
+		rulen -= ulen;
+		duc = luc & ruc;
+		dc = (char*)uv_to_utf8((U8*)dc, duc);
+	    }
+	    dulen = dc - SvPVX(sv);
+	    SvCUR_set(sv, dulen);
+	    break;
+	case OP_BIT_XOR:
+	    while (lulen && rulen) {
+		luc = utf8_to_uv((U8*)lc, &ulen);
+		lc += ulen;
+		lulen -= ulen;
+		ruc = utf8_to_uv((U8*)rc, &ulen);
+		rc += ulen;
+		rulen -= ulen;
+		duc = luc ^ ruc;
+		dc = (char*)uv_to_utf8((U8*)dc, duc);
+	    }
+	    goto mop_up_utf;
+	case OP_BIT_OR:
+	    while (lulen && rulen) {
+		luc = utf8_to_uv((U8*)lc, &ulen);
+		lc += ulen;
+		lulen -= ulen;
+		ruc = utf8_to_uv((U8*)rc, &ulen);
+		rc += ulen;
+		rulen -= ulen;
+		duc = luc | ruc;
+		dc = (char*)uv_to_utf8((U8*)dc, duc);
+	    }
+	  mop_up_utf:
+	    dulen = dc - SvPVX(sv);
+	    SvCUR_set(sv, dulen);
+	    if (rulen)
+		sv_catpvn(sv, rc, rulen);
+	    else if (lulen)
+		sv_catpvn(sv, lc, lulen);
+	    else
+		*SvEND(sv) = '\0';
+	    break;
+	}
+	SvUTF8_on(sv);
+	goto finish;
+    }
+    else
 #ifdef LIBERAL
     if (len >= sizeof(long)*4 &&
 	!((long)dc % sizeof(long)) &&
@@ -438,11 +1224,12 @@ do_vop(I32 optype, SV *sv, SV *left, SV *right)
 	    break;
 	}
     }
+finish:
     SvTAINT(sv);
 }
 
 OP *
-do_kv(ARGSproto)
+Perl_do_kv(pTHX)
 {
     djSP;
     HV *hv = (HV*)POPs;
@@ -506,16 +1293,15 @@ do_kv(ARGSproto)
     EXTEND(SP, HvKEYS(keys) * (dokeys + dovalues));
 
     PUTBACK;	/* hv_iternext and hv_iterval might clobber stack_sp */
-    while (entry = hv_iternext(keys)) {
+    while ((entry = hv_iternext(keys))) {
 	SPAGAIN;
 	if (dokeys)
 	    XPUSHs(hv_iterkeysv(entry));	/* won't clobber stack_sp */
 	if (dovalues) {
-	    tmpstr = sv_newmortal();
 	    PUTBACK;
-	    sv_setsv(tmpstr,realhv ?
-		     hv_iterval(hv,entry) : avhv_iterval((AV*)hv,entry));
-	    DEBUG_H(sv_setpvf(tmpstr, "%lu%%%d=%lu",
+	    tmpstr = realhv ?
+		     hv_iterval(hv,entry) : avhv_iterval((AV*)hv,entry);
+	    DEBUG_H(Perl_sv_setpvf(aTHX_ tmpstr, "%lu%%%d=%lu",
 			    (unsigned long)HeHASH(entry),
 			    HvMAX(keys)+1,
 			    (unsigned long)(HeHASH(entry) & HvMAX(keys))));
diff --git a/gnu/usr.bin/perl/dosish.h b/gnu/usr.bin/perl/dosish.h
index 1d52d0c0cdd..08b48fa0fe8 100644
--- a/gnu/usr.bin/perl/dosish.h
+++ b/gnu/usr.bin/perl/dosish.h
@@ -8,6 +8,7 @@
 #  define BIT_BUCKET "nul"
 #  define OP_BINARY O_BINARY
 #  define PERL_SYS_INIT(c,v) Perl_DJGPP_init(c,v)
+#  define init_os_extras Perl_init_os_extras
 #  include 
 #  define HAS_UTIME
 #  define HAS_KILL
@@ -16,21 +17,9 @@
 #    define NO_LOCALECONV_MON_THOUSANDS_SEP
 #  endif
 #  ifdef USE_THREADS
-#    define NEED_PTHREAD_INIT
 #    define OLD_PTHREADS_API
-#    define YIELD pthread_yield(NULL)
-#    define DETACH(t)				\
-       STMT_START {				\
-         if (pthread_detach(&(t)->self)) {	\
-             MUTEX_UNLOCK(&(t)->mutex);		\
-             croak("panic: DETACH");		\
-         }					\
-       } STMT_END
-#    define pthread_mutexattr_default NULL
-#    define pthread_condattr_default NULL
-#    define pthread_addr_t any_t
-#    define PTHREAD_CREATE_JOINABLE (&err)
 #  endif
+#  define PERL_FS_VER_FMT	"%d_%d_%d"
 #else	/* DJGPP */
 #  ifdef WIN32
 #    define PERL_SYS_INIT(c,v)	Perl_win32_init(c,v)
@@ -41,9 +30,8 @@
 #  endif
 #endif	/* DJGPP */
 
-#define PERL_SYS_TERM() MALLOC_TERM
+#define PERL_SYS_TERM() OP_REFCNT_TERM; MALLOC_TERM
 #define dXSUB_SYS
-#define TMPPATH "plXXXXXX"
 
 /*
  * 5.003_07 and earlier keyed on #ifdef MSDOS for determining if we were 
@@ -64,7 +52,7 @@
 
 /* USEMYBINMODE
  *	This symbol, if defined, indicates that the program should
- *	use the routine my_binmode(FILE *fp, char iotype) to insure
+ *	use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
  *	that a file is in "binary" mode -- that is, that no translation
  *	of bytes occurs on read or write operations.
  */
@@ -123,13 +111,4 @@
 #  define HAS_KILL
 #  define HAS_WAIT
 #  define HAS_CHOWN
-/*
- * This provides a layer of functions and macros to ensure extensions will
- * get to use the same RTL functions as the core.
- */
-#  ifndef HASATTRIBUTE
-#    ifndef PERL_OBJECT
-#      include 
-#    endif
-#  endif
 #endif	/* WIN32 */
diff --git a/gnu/usr.bin/perl/dump.c b/gnu/usr.bin/perl/dump.c
index 782c62d2b3a..86c56ce8c88 100644
--- a/gnu/usr.bin/perl/dump.c
+++ b/gnu/usr.bin/perl/dump.c
@@ -1,6 +1,6 @@
 /*    dump.c
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (c) 1991-2000, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -13,28 +13,40 @@
  */
 
 #include "EXTERN.h"
+#define PERL_IN_DUMP_C
 #include "perl.h"
+#include "regcomp.h"
 
-#ifndef PERL_OBJECT
-static void dump(char *pat, ...);
-#endif /* PERL_OBJECT */
+void
+Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
+{
+    va_list args;
+    va_start(args, pat);
+    dump_vindent(level, file, pat, &args);
+    va_end(args);
+}
 
 void
-dump_all(void)
+Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
+{
+    dTHR;
+    PerlIO_printf(file, "%*s", (int)(level*PL_dumpindent), "");
+    PerlIO_vprintf(file, pat, *args);
+}
+
+void
+Perl_dump_all(pTHX)
 {
-#ifdef DEBUGGING
     dTHR;
     PerlIO_setlinebuf(Perl_debug_log);
     if (PL_main_root)
-	dump_op(PL_main_root);
+	op_dump(PL_main_root);
     dump_packsubs(PL_defstash);
-#endif	/* DEBUGGING */
 }
 
 void
-dump_packsubs(HV *stash)
+Perl_dump_packsubs(pTHX_ HV *stash)
 {
-#ifdef DEBUGGING
     dTHR;
     I32	i;
     HE	*entry;
@@ -56,81 +68,336 @@ dump_packsubs(HV *stash)
 		dump_packsubs(hv);		/* nested package */
 	}
     }
-#endif	/* DEBUGGING */
 }
 
 void
-dump_sub(GV *gv)
+Perl_dump_sub(pTHX_ GV *gv)
 {
-#ifdef DEBUGGING
     SV *sv = sv_newmortal();
 
     gv_fullname3(sv, gv, Nullch);
-    dump("\nSUB %s = ", SvPVX(sv));
+    Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\nSUB %s = ", SvPVX(sv));
     if (CvXSUB(GvCV(gv)))
-	dump("(xsub 0x%x %d)\n",
+	Perl_dump_indent(aTHX_ 0, Perl_debug_log, "(xsub 0x%lx %d)\n",
 	    (long)CvXSUB(GvCV(gv)),
-	    CvXSUBANY(GvCV(gv)).any_i32);
+	    (int)CvXSUBANY(GvCV(gv)).any_i32);
     else if (CvROOT(GvCV(gv)))
-	dump_op(CvROOT(GvCV(gv)));
+	op_dump(CvROOT(GvCV(gv)));
     else
-	dump("\n");
-#endif	/* DEBUGGING */
+	Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\n");
 }
 
 void
-dump_form(GV *gv)
+Perl_dump_form(pTHX_ GV *gv)
 {
-#ifdef DEBUGGING
     SV *sv = sv_newmortal();
 
     gv_fullname3(sv, gv, Nullch);
-    dump("\nFORMAT %s = ", SvPVX(sv));
+    Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\nFORMAT %s = ", SvPVX(sv));
     if (CvROOT(GvFORM(gv)))
-	dump_op(CvROOT(GvFORM(gv)));
+	op_dump(CvROOT(GvFORM(gv)));
+    else
+	Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\n");
+}
+
+void
+Perl_dump_eval(pTHX)
+{
+    op_dump(PL_eval_root);
+}
+
+char *
+Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
+{
+    int truncated = 0;
+    int nul_terminated = len > cur && pv[cur] == '\0';
+
+    sv_setpvn(sv, "\"", 1);
+    for (; cur--; pv++) {
+	if (pvlim && SvCUR(sv) >= pvlim) {
+            truncated++;
+	    break;
+        }
+        if (isPRINT(*pv)) {
+            switch (*pv) {
+	    case '\t': sv_catpvn(sv, "\\t", 2);  break;
+	    case '\n': sv_catpvn(sv, "\\n", 2);  break;
+	    case '\r': sv_catpvn(sv, "\\r", 2);  break;
+	    case '\f': sv_catpvn(sv, "\\f", 2);  break;
+	    case '"':  sv_catpvn(sv, "\\\"", 2); break;
+	    case '\\': sv_catpvn(sv, "\\\\", 2); break;
+	    default:   sv_catpvn(sv, pv, 1);     break;
+            }
+        }
+	else {
+	    if (cur && isDIGIT(*(pv+1)))
+		Perl_sv_catpvf(aTHX_ sv, "\\%03o", (U8)*pv);
+	    else
+		Perl_sv_catpvf(aTHX_ sv, "\\%o", (U8)*pv);
+        }
+    }
+    sv_catpvn(sv, "\"", 1);
+    if (truncated)
+	sv_catpvn(sv, "...", 3);
+    if (nul_terminated)
+	sv_catpvn(sv, "\\0", 2);
+
+    return SvPVX(sv);
+}
+
+char *
+Perl_sv_peek(pTHX_ SV *sv)
+{
+    SV *t = sv_newmortal();
+    STRLEN n_a;
+    int unref = 0;
+
+    sv_setpvn(t, "", 0);
+  retry:
+    if (!sv) {
+	sv_catpv(t, "VOID");
+	goto finish;
+    }
+    else if (sv == (SV*)0x55555555 || SvTYPE(sv) == 'U') {
+	sv_catpv(t, "WILD");
+	goto finish;
+    }
+    else if (sv == &PL_sv_undef || sv == &PL_sv_no || sv == &PL_sv_yes) {
+	if (sv == &PL_sv_undef) {
+	    sv_catpv(t, "SV_UNDEF");
+	    if (!(SvFLAGS(sv) & (SVf_OK|SVf_OOK|SVs_OBJECT|
+				 SVs_GMG|SVs_SMG|SVs_RMG)) &&
+		SvREADONLY(sv))
+		goto finish;
+	}
+	else if (sv == &PL_sv_no) {
+	    sv_catpv(t, "SV_NO");
+	    if (!(SvFLAGS(sv) & (SVf_ROK|SVf_OOK|SVs_OBJECT|
+				 SVs_GMG|SVs_SMG|SVs_RMG)) &&
+		!(~SvFLAGS(sv) & (SVf_POK|SVf_NOK|SVf_READONLY|
+				  SVp_POK|SVp_NOK)) &&
+		SvCUR(sv) == 0 &&
+		SvNVX(sv) == 0.0)
+		goto finish;
+	}
+	else {
+	    sv_catpv(t, "SV_YES");
+	    if (!(SvFLAGS(sv) & (SVf_ROK|SVf_OOK|SVs_OBJECT|
+				 SVs_GMG|SVs_SMG|SVs_RMG)) &&
+		!(~SvFLAGS(sv) & (SVf_POK|SVf_NOK|SVf_READONLY|
+				  SVp_POK|SVp_NOK)) &&
+		SvCUR(sv) == 1 &&
+		SvPVX(sv) && *SvPVX(sv) == '1' &&
+		SvNVX(sv) == 1.0)
+		goto finish;
+	}
+	sv_catpv(t, ":");
+    }
+    else if (SvREFCNT(sv) == 0) {
+	sv_catpv(t, "(");
+	unref++;
+    }
+    if (SvROK(sv)) {
+	sv_catpv(t, "\\");
+	if (SvCUR(t) + unref > 10) {
+	    SvCUR(t) = unref + 3;
+	    *SvEND(t) = '\0';
+	    sv_catpv(t, "...");
+	    goto finish;
+	}
+	sv = (SV*)SvRV(sv);
+	goto retry;
+    }
+    switch (SvTYPE(sv)) {
+    default:
+	sv_catpv(t, "FREED");
+	goto finish;
+
+    case SVt_NULL:
+	sv_catpv(t, "UNDEF");
+	goto finish;
+    case SVt_IV:
+	sv_catpv(t, "IV");
+	break;
+    case SVt_NV:
+	sv_catpv(t, "NV");
+	break;
+    case SVt_RV:
+	sv_catpv(t, "RV");
+	break;
+    case SVt_PV:
+	sv_catpv(t, "PV");
+	break;
+    case SVt_PVIV:
+	sv_catpv(t, "PVIV");
+	break;
+    case SVt_PVNV:
+	sv_catpv(t, "PVNV");
+	break;
+    case SVt_PVMG:
+	sv_catpv(t, "PVMG");
+	break;
+    case SVt_PVLV:
+	sv_catpv(t, "PVLV");
+	break;
+    case SVt_PVAV:
+	sv_catpv(t, "AV");
+	break;
+    case SVt_PVHV:
+	sv_catpv(t, "HV");
+	break;
+    case SVt_PVCV:
+	if (CvGV(sv))
+	    Perl_sv_catpvf(aTHX_ t, "CV(%s)", GvNAME(CvGV(sv)));
+	else
+	    sv_catpv(t, "CV()");
+	goto finish;
+    case SVt_PVGV:
+	sv_catpv(t, "GV");
+	break;
+    case SVt_PVBM:
+	sv_catpv(t, "BM");
+	break;
+    case SVt_PVFM:
+	sv_catpv(t, "FM");
+	break;
+    case SVt_PVIO:
+	sv_catpv(t, "IO");
+	break;
+    }
+
+    if (SvPOKp(sv)) {
+	if (!SvPVX(sv))
+	    sv_catpv(t, "(null)");
+	else {
+	    SV *tmp = newSVpvn("", 0);
+	    sv_catpv(t, "(");
+	    if (SvOOK(sv))
+		Perl_sv_catpvf(aTHX_ t, "[%s]", pv_display(tmp, SvPVX(sv)-SvIVX(sv), SvIVX(sv), 0, 127));
+	    Perl_sv_catpvf(aTHX_ t, "%s)", pv_display(tmp, SvPVX(sv), SvCUR(sv), SvLEN(sv), 127));
+	    SvREFCNT_dec(tmp);
+	}
+    }
+    else if (SvNOKp(sv)) {
+ 	RESTORE_NUMERIC_STANDARD();
+	Perl_sv_catpvf(aTHX_ t, "(%g)",SvNVX(sv));
+ 	RESTORE_NUMERIC_LOCAL();
+    }
+    else if (SvIOKp(sv)) {
+	if (SvIsUV(sv))
+	    Perl_sv_catpvf(aTHX_ t, "(%"UVuf")", (UV)SvUVX(sv));
+	else
+            Perl_sv_catpvf(aTHX_ t, "(%"IVdf")", (IV)SvIVX(sv));
+    }
+    else
+	sv_catpv(t, "()");
+    
+  finish:
+    if (unref) {
+	while (unref--)
+	    sv_catpv(t, ")");
+    }
+    return SvPV(t, n_a);
+}
+
+void
+Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm)
+{
+    char ch;
+
+    if (!pm) {
+	Perl_dump_indent(aTHX_ level, file, "{}\n");
+	return;
+    }
+    Perl_dump_indent(aTHX_ level, file, "{\n");
+    level++;
+    if (pm->op_pmflags & PMf_ONCE)
+	ch = '?';
     else
-	dump("\n");
-#endif	/* DEBUGGING */
+	ch = '/';
+    if (pm->op_pmregexp)
+	Perl_dump_indent(aTHX_ level, file, "PMf_PRE %c%s%c%s\n",
+	     ch, pm->op_pmregexp->precomp, ch,
+	     (pm->op_private & OPpRUNTIME) ? " (RUNTIME)" : "");
+    else
+	Perl_dump_indent(aTHX_ level, file, "PMf_PRE (RUNTIME)\n");
+    if (pm->op_type != OP_PUSHRE && pm->op_pmreplroot) {
+	Perl_dump_indent(aTHX_ level, file, "PMf_REPL = ");
+	op_dump(pm->op_pmreplroot);
+    }
+    if (pm->op_pmflags || (pm->op_pmregexp && pm->op_pmregexp->check_substr)) {
+	SV *tmpsv = newSVpvn("", 0);
+	if (pm->op_pmdynflags & PMdf_USED)
+	    sv_catpv(tmpsv, ",USED");
+	if (pm->op_pmdynflags & PMdf_TAINTED)
+	    sv_catpv(tmpsv, ",TAINTED");
+	if (pm->op_pmflags & PMf_ONCE)
+	    sv_catpv(tmpsv, ",ONCE");
+	if (pm->op_pmregexp && pm->op_pmregexp->check_substr
+	    && !(pm->op_pmregexp->reganch & ROPT_NOSCAN))
+	    sv_catpv(tmpsv, ",SCANFIRST");
+	if (pm->op_pmregexp && pm->op_pmregexp->check_substr
+	    && pm->op_pmregexp->reganch & ROPT_CHECK_ALL)
+	    sv_catpv(tmpsv, ",ALL");
+	if (pm->op_pmflags & PMf_SKIPWHITE)
+	    sv_catpv(tmpsv, ",SKIPWHITE");
+	if (pm->op_pmflags & PMf_CONST)
+	    sv_catpv(tmpsv, ",CONST");
+	if (pm->op_pmflags & PMf_KEEP)
+	    sv_catpv(tmpsv, ",KEEP");
+	if (pm->op_pmflags & PMf_GLOBAL)
+	    sv_catpv(tmpsv, ",GLOBAL");
+	if (pm->op_pmflags & PMf_CONTINUE)
+	    sv_catpv(tmpsv, ",CONTINUE");
+	if (pm->op_pmflags & PMf_RETAINT)
+	    sv_catpv(tmpsv, ",RETAINT");
+	if (pm->op_pmflags & PMf_EVAL)
+	    sv_catpv(tmpsv, ",EVAL");
+	Perl_dump_indent(aTHX_ level, file, "PMFLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
+	SvREFCNT_dec(tmpsv);
+    }
+
+    Perl_dump_indent(aTHX_ level-1, file, "}\n");
 }
 
 void
-dump_eval(void)
+Perl_pmop_dump(pTHX_ PMOP *pm)
 {
-#ifdef DEBUGGING
-    dump_op(PL_eval_root);
-#endif	/* DEBUGGING */
+    do_pmop_dump(0, Perl_debug_log, pm);
 }
 
 void
-dump_op(OP *o)
+Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
 {
-#ifdef DEBUGGING
-    dump("{\n");
+    dTHR;
+    Perl_dump_indent(aTHX_ level, file, "{\n");
+    level++;
     if (o->op_seq)
-	PerlIO_printf(Perl_debug_log, "%-4d", o->op_seq);
+	PerlIO_printf(file, "%-4d", o->op_seq);
     else
-	PerlIO_printf(Perl_debug_log, "    ");
-    dump("TYPE = %s  ===> ", op_name[o->op_type]);
+	PerlIO_printf(file, "    ");
+    PerlIO_printf(file,
+		  "%*sTYPE = %s  ===> ",
+		  (int)(PL_dumpindent*level-4), "", PL_op_name[o->op_type]);
     if (o->op_next) {
 	if (o->op_seq)
-	    PerlIO_printf(Perl_debug_log, "%d\n", o->op_next->op_seq);
+	    PerlIO_printf(file, "%d\n", o->op_next->op_seq);
 	else
-	    PerlIO_printf(Perl_debug_log, "(%d)\n", o->op_next->op_seq);
+	    PerlIO_printf(file, "(%d)\n", o->op_next->op_seq);
     }
     else
-	PerlIO_printf(Perl_debug_log, "DONE\n");
-    PL_dumplvl++;
+	PerlIO_printf(file, "DONE\n");
     if (o->op_targ) {
 	if (o->op_type == OP_NULL)
-	    dump("  (was %s)\n", op_name[o->op_targ]);
+	    Perl_dump_indent(aTHX_ level, file, "  (was %s)\n", PL_op_name[o->op_targ]);
 	else
-	    dump("TARG = %d\n", o->op_targ);
+	    Perl_dump_indent(aTHX_ level, file, "TARG = %ld\n", (long)o->op_targ);
     }
 #ifdef DUMPADDR
-    dump("ADDR = 0x%lx => 0x%lx\n",o, o->op_next);
+    Perl_dump_indent(aTHX_ level, file, "ADDR = 0x%"UVxf" => 0x%"UVxf"\n", (UV)o, (UV)o->op_next);
 #endif
     if (o->op_flags) {
-	SV *tmpsv = newSVpv("", 0);
+	SV *tmpsv = newSVpvn("", 0);
 	switch (o->op_flags & OPf_WANT) {
 	case OPf_WANT_VOID:
 	    sv_catpv(tmpsv, ",VOID");
@@ -157,14 +424,20 @@ dump_op(OP *o)
 	    sv_catpv(tmpsv, ",MOD");
 	if (o->op_flags & OPf_SPECIAL)
 	    sv_catpv(tmpsv, ",SPECIAL");
-	dump("FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
+	Perl_dump_indent(aTHX_ level, file, "FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
 	SvREFCNT_dec(tmpsv);
     }
     if (o->op_private) {
-	SV *tmpsv = newSVpv("", 0);
+	SV *tmpsv = newSVpvn("", 0);
+	if (PL_opargs[o->op_type] & OA_TARGLEX) {
+	    if (o->op_private & OPpTARGET_MY)
+		sv_catpv(tmpsv, ",TARGET_MY");
+	}
 	if (o->op_type == OP_AASSIGN) {
 	    if (o->op_private & OPpASSIGN_COMMON)
 		sv_catpv(tmpsv, ",COMMON");
+	    if (o->op_private & OPpASSIGN_HASH)
+		sv_catpv(tmpsv, ",HASH");
 	}
 	else if (o->op_type == OP_SASSIGN) {
 	    if (o->op_private & OPpASSIGN_BACKWARDS)
@@ -195,8 +468,11 @@ dump_op(OP *o)
 		    sv_catpv(tmpsv, ",AMPER");
 		if (o->op_private & OPpENTERSUB_DB)
 		    sv_catpv(tmpsv, ",DB");
+		if (o->op_private & OPpENTERSUB_HASTARG)
+		    sv_catpv(tmpsv, ",HASTARG");
 	    }
-	    switch (o->op_private & OPpDEREF) {
+	    else 
+		switch (o->op_private & OPpDEREF) {
 	    case OPpDEREF_SV:
 		sv_catpv(tmpsv, ",SV");
 		break;
@@ -214,11 +490,15 @@ dump_op(OP *o)
 	    else {
 		if (o->op_private & HINT_STRICT_REFS)
 		    sv_catpv(tmpsv, ",STRICT_REFS");
+		if (o->op_private & OPpOUR_INTRO)
+		    sv_catpv(tmpsv, ",OUR_INTRO");
 	    }
 	}
 	else if (o->op_type == OP_CONST) {
 	    if (o->op_private & OPpCONST_BARE)
 		sv_catpv(tmpsv, ",BARE");
+	    if (o->op_private & OPpCONST_STRICT)
+		sv_catpv(tmpsv, ",STRICT");
 	}
 	else if (o->op_type == OP_FLIP) {
 	    if (o->op_private & OPpFLIP_LINENUM)
@@ -227,83 +507,96 @@ dump_op(OP *o)
 	else if (o->op_type == OP_FLOP) {
 	    if (o->op_private & OPpFLIP_LINENUM)
 		sv_catpv(tmpsv, ",LINENUM");
+	} else if (o->op_type == OP_RV2CV) {
+	    if (o->op_private & OPpLVAL_INTRO)
+		sv_catpv(tmpsv, ",INTRO");
 	}
 	if (o->op_flags & OPf_MOD && o->op_private & OPpLVAL_INTRO)
 	    sv_catpv(tmpsv, ",INTRO");
 	if (SvCUR(tmpsv))
-	    dump("PRIVATE = (%s)\n", SvPVX(tmpsv) + 1);
+	    Perl_dump_indent(aTHX_ level, file, "PRIVATE = (%s)\n", SvPVX(tmpsv) + 1);
 	SvREFCNT_dec(tmpsv);
     }
 
     switch (o->op_type) {
+    case OP_AELEMFAST:
     case OP_GVSV:
     case OP_GV:
-	if (cGVOPo->op_gv) {
-	    STRLEN n_a;
+#ifdef USE_ITHREADS
+	Perl_dump_indent(aTHX_ level, file, "PADIX = %d\n", cPADOPo->op_padix);
+#else
+	if (cSVOPo->op_sv) {
 	    SV *tmpsv = NEWSV(0,0);
+	    STRLEN n_a;
 	    ENTER;
 	    SAVEFREESV(tmpsv);
-	    gv_fullname3(tmpsv, cGVOPo->op_gv, Nullch);
-	    dump("GV = %s\n", SvPV(tmpsv, n_a));
+	    gv_fullname3(tmpsv, (GV*)cSVOPo->op_sv, Nullch);
+	    Perl_dump_indent(aTHX_ level, file, "GV = %s\n", SvPV(tmpsv, n_a));
 	    LEAVE;
 	}
 	else
-	    dump("GV = NULL\n");
+	    Perl_dump_indent(aTHX_ level, file, "GV = NULL\n");
+#endif
 	break;
     case OP_CONST:
-	dump("SV = %s\n", SvPEEK(cSVOPo->op_sv));
+    case OP_METHOD_NAMED:
+	Perl_dump_indent(aTHX_ level, file, "SV = %s\n", SvPEEK(cSVOPo->op_sv));
 	break;
+    case OP_SETSTATE:
     case OP_NEXTSTATE:
     case OP_DBSTATE:
-	if (cCOPo->cop_line)
-	    dump("LINE = %d\n",cCOPo->cop_line);
+	if (CopLINE(cCOPo))
+	    Perl_dump_indent(aTHX_ level, file, "LINE = %d\n",CopLINE(cCOPo));
+	if (CopSTASHPV(cCOPo))
+	    Perl_dump_indent(aTHX_ level, file, "PACKAGE = \"%s\"\n",
+			     CopSTASHPV(cCOPo));
 	if (cCOPo->cop_label)
-	    dump("LABEL = \"%s\"\n",cCOPo->cop_label);
+	    Perl_dump_indent(aTHX_ level, file, "LABEL = \"%s\"\n",
+			     cCOPo->cop_label);
 	break;
     case OP_ENTERLOOP:
-	dump("REDO ===> ");
+	Perl_dump_indent(aTHX_ level, file, "REDO ===> ");
 	if (cLOOPo->op_redoop)
-	    PerlIO_printf(Perl_debug_log, "%d\n", cLOOPo->op_redoop->op_seq);
+	    PerlIO_printf(file, "%d\n", cLOOPo->op_redoop->op_seq);
 	else
-	    PerlIO_printf(Perl_debug_log, "DONE\n");
-	dump("NEXT ===> ");
+	    PerlIO_printf(file, "DONE\n");
+	Perl_dump_indent(aTHX_ level, file, "NEXT ===> ");
 	if (cLOOPo->op_nextop)
-	    PerlIO_printf(Perl_debug_log, "%d\n", cLOOPo->op_nextop->op_seq);
+	    PerlIO_printf(file, "%d\n", cLOOPo->op_nextop->op_seq);
 	else
-	    PerlIO_printf(Perl_debug_log, "DONE\n");
-	dump("LAST ===> ");
+	    PerlIO_printf(file, "DONE\n");
+	Perl_dump_indent(aTHX_ level, file, "LAST ===> ");
 	if (cLOOPo->op_lastop)
-	    PerlIO_printf(Perl_debug_log, "%d\n", cLOOPo->op_lastop->op_seq);
+	    PerlIO_printf(file, "%d\n", cLOOPo->op_lastop->op_seq);
 	else
-	    PerlIO_printf(Perl_debug_log, "DONE\n");
+	    PerlIO_printf(file, "DONE\n");
 	break;
     case OP_COND_EXPR:
-	dump("TRUE ===> ");
-	if (cCONDOPo->op_true)
-	    PerlIO_printf(Perl_debug_log, "%d\n", cCONDOPo->op_true->op_seq);
-	else
-	    PerlIO_printf(Perl_debug_log, "DONE\n");
-	dump("FALSE ===> ");
-	if (cCONDOPo->op_false)
-	    PerlIO_printf(Perl_debug_log, "%d\n", cCONDOPo->op_false->op_seq);
-	else
-	    PerlIO_printf(Perl_debug_log, "DONE\n");
-	break;
+    case OP_RANGE:
     case OP_MAPWHILE:
     case OP_GREPWHILE:
     case OP_OR:
     case OP_AND:
-	dump("OTHER ===> ");
+	Perl_dump_indent(aTHX_ level, file, "OTHER ===> ");
 	if (cLOGOPo->op_other)
-	    PerlIO_printf(Perl_debug_log, "%d\n", cLOGOPo->op_other->op_seq);
+	    PerlIO_printf(file, "%d\n", cLOGOPo->op_other->op_seq);
 	else
-	    PerlIO_printf(Perl_debug_log, "DONE\n");
+	    PerlIO_printf(file, "DONE\n");
 	break;
     case OP_PUSHRE:
     case OP_MATCH:
     case OP_QR:
     case OP_SUBST:
-	dump_pm(cPMOPo);
+	do_pmop_dump(level, file, cPMOPo);
+	break;
+    case OP_LEAVE:
+    case OP_LEAVEEVAL:
+    case OP_LEAVESUB:
+    case OP_LEAVESUBLV:
+    case OP_LEAVEWRITE:
+    case OP_SCOPE:
+	if (o->op_private & OPpREFCOUNTED)
+	    Perl_dump_indent(aTHX_ level, file, "REFCNT = %"UVuf"\n", (UV)o->op_targ);
 	break;
     default:
 	break;
@@ -311,17 +604,20 @@ dump_op(OP *o)
     if (o->op_flags & OPf_KIDS) {
 	OP *kid;
 	for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling)
-	    dump_op(kid);
+	    do_op_dump(level, file, kid);
     }
-    PL_dumplvl--;
-    dump("}\n");
-#endif	/* DEBUGGING */
+    Perl_dump_indent(aTHX_ level-1, file, "}\n");
 }
 
 void
-dump_gv(GV *gv)
+Perl_op_dump(pTHX_ OP *o)
+{
+    do_op_dump(0, Perl_debug_log, o);
+}
+
+void
+Perl_gv_dump(pTHX_ GV *gv)
 {
-#ifdef DEBUGGING
     SV *sv;
 
     if (!gv) {
@@ -329,95 +625,563 @@ dump_gv(GV *gv)
 	return;
     }
     sv = sv_newmortal();
-    PL_dumplvl++;
     PerlIO_printf(Perl_debug_log, "{\n");
     gv_fullname3(sv, gv, Nullch);
-    dump("GV_NAME = %s", SvPVX(sv));
+    Perl_dump_indent(aTHX_ 1, Perl_debug_log, "GV_NAME = %s", SvPVX(sv));
     if (gv != GvEGV(gv)) {
 	gv_efullname3(sv, GvEGV(gv), Nullch);
-	dump("-> %s", SvPVX(sv));
+	Perl_dump_indent(aTHX_ 1, Perl_debug_log, "-> %s", SvPVX(sv));
     }
-    dump("\n");
-    PL_dumplvl--;
-    dump("}\n");
-#endif	/* DEBUGGING */
+    PerlIO_putc(Perl_debug_log, '\n');
+    Perl_dump_indent(aTHX_ 0, Perl_debug_log, "}\n");
 }
 
 void
-dump_pm(PMOP *pm)
+Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
 {
-#ifdef DEBUGGING
-    char ch;
+    for (; mg; mg = mg->mg_moremagic) {
+ 	Perl_dump_indent(aTHX_ level, file,
+			 "  MAGIC = 0x%"UVxf"\n", PTR2UV(mg));
+ 	if (mg->mg_virtual) {
+            MGVTBL *v = mg->mg_virtual;
+ 	    char *s = 0;
+ 	    if      (v == &PL_vtbl_sv)         s = "sv";
+            else if (v == &PL_vtbl_env)        s = "env";
+            else if (v == &PL_vtbl_envelem)    s = "envelem";
+            else if (v == &PL_vtbl_sig)        s = "sig";
+            else if (v == &PL_vtbl_sigelem)    s = "sigelem";
+            else if (v == &PL_vtbl_pack)       s = "pack";
+            else if (v == &PL_vtbl_packelem)   s = "packelem";
+            else if (v == &PL_vtbl_dbline)     s = "dbline";
+            else if (v == &PL_vtbl_isa)        s = "isa";
+            else if (v == &PL_vtbl_arylen)     s = "arylen";
+            else if (v == &PL_vtbl_glob)       s = "glob";
+            else if (v == &PL_vtbl_mglob)      s = "mglob";
+            else if (v == &PL_vtbl_nkeys)      s = "nkeys";
+            else if (v == &PL_vtbl_taint)      s = "taint";
+            else if (v == &PL_vtbl_substr)     s = "substr";
+            else if (v == &PL_vtbl_vec)        s = "vec";
+            else if (v == &PL_vtbl_pos)        s = "pos";
+            else if (v == &PL_vtbl_bm)         s = "bm";
+            else if (v == &PL_vtbl_fm)         s = "fm";
+            else if (v == &PL_vtbl_uvar)       s = "uvar";
+            else if (v == &PL_vtbl_defelem)    s = "defelem";
+#ifdef USE_LOCALE_COLLATE
+	    else if (v == &PL_vtbl_collxfrm)   s = "collxfrm";
+#endif
+	    else if (v == &PL_vtbl_amagic)     s = "amagic";
+	    else if (v == &PL_vtbl_amagicelem) s = "amagicelem";
+	    else if (v == &PL_vtbl_backref)    s = "backref";
+	    if (s)
+	        Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", s);
+	    else
+	        Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = 0x%"UVxf"\n", PTR2UV(v));
+        }
+	else
+	    Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = 0\n");
 
-    if (!pm) {
-	dump("{}\n");
-	return;
+	if (mg->mg_private)
+	    Perl_dump_indent(aTHX_ level, file, "    MG_PRIVATE = %d\n", mg->mg_private);
+
+	if (isPRINT(mg->mg_type))
+	    Perl_dump_indent(aTHX_ level, file, "    MG_TYPE = '%c'\n", mg->mg_type);
+	else
+	    Perl_dump_indent(aTHX_ level, file, "    MG_TYPE = '\\%o'\n", mg->mg_type);
+
+        if (mg->mg_flags) {
+            Perl_dump_indent(aTHX_ level, file, "    MG_FLAGS = 0x%02X\n", mg->mg_flags);
+	    if (mg->mg_flags & MGf_TAINTEDDIR)
+	        Perl_dump_indent(aTHX_ level, file, "      TAINTEDDIR\n");
+	    if (mg->mg_flags & MGf_REFCOUNTED)
+	        Perl_dump_indent(aTHX_ level, file, "      REFCOUNTED\n");
+            if (mg->mg_flags & MGf_GSKIP)
+	        Perl_dump_indent(aTHX_ level, file, "      GSKIP\n");
+	    if (mg->mg_flags & MGf_MINMATCH)
+	        Perl_dump_indent(aTHX_ level, file, "      MINMATCH\n");
+        }
+	if (mg->mg_obj) {
+	    Perl_dump_indent(aTHX_ level, file, "    MG_OBJ = 0x%"UVxf"\n", PTR2UV(mg->mg_obj));
+	    if (mg->mg_flags & MGf_REFCOUNTED)
+		do_sv_dump(level+2, file, mg->mg_obj, nest+1, maxnest, dumpops, pvlim); /* MG is already +1 */
+	}
+        if (mg->mg_len)
+	    Perl_dump_indent(aTHX_ level, file, "    MG_LEN = %ld\n", (long)mg->mg_len);
+        if (mg->mg_ptr) {
+	    Perl_dump_indent(aTHX_ level, file, "    MG_PTR = 0x%"UVxf, PTR2UV(mg->mg_ptr));
+	    if (mg->mg_len >= 0) {
+		SV *sv = newSVpvn("", 0);
+                PerlIO_printf(file, " %s", pv_display(sv, mg->mg_ptr, mg->mg_len, 0, pvlim));
+		SvREFCNT_dec(sv);
+            }
+	    else if (mg->mg_len == HEf_SVKEY) {
+		PerlIO_puts(file, " => HEf_SVKEY\n");
+		do_sv_dump(level+2, file, (SV*)((mg)->mg_ptr), nest+1, maxnest, dumpops, pvlim); /* MG is already +1 */
+		continue;
+	    }
+	    else
+		PerlIO_puts(file, " ???? - please notify IZ");
+            PerlIO_putc(file, '\n');
+        }
     }
-    dump("{\n");
-    PL_dumplvl++;
-    if (pm->op_pmflags & PMf_ONCE)
-	ch = '?';
+}
+
+void
+Perl_magic_dump(pTHX_ MAGIC *mg)
+{
+    do_magic_dump(0, Perl_debug_log, mg, 0, 0, 0, 0);
+}
+
+void
+Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv)
+{
+    Perl_dump_indent(aTHX_ level, file, "%s = 0x%"UVxf, name, PTR2UV(sv));
+    if (sv && HvNAME(sv))
+	PerlIO_printf(file, "\t\"%s\"\n", HvNAME(sv));
     else
-	ch = '/';
-    if (pm->op_pmregexp)
-	dump("PMf_PRE %c%s%c%s\n",
-	     ch, pm->op_pmregexp->precomp, ch,
-	     (pm->op_private & OPpRUNTIME) ? " (RUNTIME)" : "");
+	PerlIO_putc(file, '\n');
+}
+
+void
+Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
+{
+    Perl_dump_indent(aTHX_ level, file, "%s = 0x%"UVxf, name, PTR2UV(sv));
+    if (sv && GvNAME(sv))
+	PerlIO_printf(file, "\t\"%s\"\n", GvNAME(sv));
     else
-	dump("PMf_PRE (RUNTIME)\n");
-    if (pm->op_type != OP_PUSHRE && pm->op_pmreplroot) {
-	dump("PMf_REPL = ");
-	dump_op(pm->op_pmreplroot);
+	PerlIO_putc(file, '\n');
+}
+
+void
+Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
+{
+    Perl_dump_indent(aTHX_ level, file, "%s = 0x%"UVxf, name, PTR2UV(sv));
+    if (sv && GvNAME(sv)) {
+	PerlIO_printf(file, "\t\"");
+	if (GvSTASH(sv) && HvNAME(GvSTASH(sv)))
+	    PerlIO_printf(file, "%s\" :: \"", HvNAME(GvSTASH(sv)));
+	PerlIO_printf(file, "%s\"\n", GvNAME(sv));
     }
-    if (pm->op_pmflags || (pm->op_pmregexp && pm->op_pmregexp->check_substr)) {
-	SV *tmpsv = newSVpv("", 0);
-	if (pm->op_pmdynflags & PMdf_USED)
-	    sv_catpv(tmpsv, ",USED");
-	if (pm->op_pmdynflags & PMdf_TAINTED)
-	    sv_catpv(tmpsv, ",TAINTED");
-	if (pm->op_pmflags & PMf_ONCE)
-	    sv_catpv(tmpsv, ",ONCE");
-	if (pm->op_pmregexp && pm->op_pmregexp->check_substr
-	    && !(pm->op_pmregexp->reganch & ROPT_NOSCAN))
-	    sv_catpv(tmpsv, ",SCANFIRST");
-	if (pm->op_pmregexp && pm->op_pmregexp->check_substr
-	    && pm->op_pmregexp->reganch & ROPT_CHECK_ALL)
-	    sv_catpv(tmpsv, ",ALL");
-	if (pm->op_pmflags & PMf_SKIPWHITE)
-	    sv_catpv(tmpsv, ",SKIPWHITE");
-	if (pm->op_pmflags & PMf_CONST)
-	    sv_catpv(tmpsv, ",CONST");
-	if (pm->op_pmflags & PMf_KEEP)
-	    sv_catpv(tmpsv, ",KEEP");
-	if (pm->op_pmflags & PMf_GLOBAL)
-	    sv_catpv(tmpsv, ",GLOBAL");
-	if (pm->op_pmflags & PMf_CONTINUE)
-	    sv_catpv(tmpsv, ",CONTINUE");
-	if (pm->op_pmflags & PMf_RETAINT)
-	    sv_catpv(tmpsv, ",RETAINT");
-	if (pm->op_pmflags & PMf_EVAL)
-	    sv_catpv(tmpsv, ",EVAL");
-	dump("PMFLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
-	SvREFCNT_dec(tmpsv);
+    else
+	PerlIO_putc(file, '\n');
+}
+
+void
+Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+{
+    dTHR;
+    SV *d = sv_newmortal();
+    char *s;
+    U32 flags;
+    U32 type;
+    STRLEN n_a;
+
+    if (!sv) {
+	Perl_dump_indent(aTHX_ level, file, "SV = 0\n");
+	return;
     }
+    
+    flags = SvFLAGS(sv);
+    type = SvTYPE(sv);
 
-    PL_dumplvl--;
-    dump("}\n");
-#endif	/* DEBUGGING */
-}
+    Perl_sv_setpvf(aTHX_ d,
+		   "(0x%"UVxf") at 0x%"UVxf"\n%*s  REFCNT = %"IVdf"\n%*s  FLAGS = (",
+		   PTR2UV(SvANY(sv)), PTR2UV(sv),
+		   (int)(PL_dumpindent*level), "", (IV)SvREFCNT(sv),
+		   (int)(PL_dumpindent*level), "");
 
+    if (flags & SVs_PADBUSY)	sv_catpv(d, "PADBUSY,");
+    if (flags & SVs_PADTMP)	sv_catpv(d, "PADTMP,");
+    if (flags & SVs_PADMY)	sv_catpv(d, "PADMY,");
+    if (flags & SVs_TEMP)	sv_catpv(d, "TEMP,");
+    if (flags & SVs_OBJECT)	sv_catpv(d, "OBJECT,");
+    if (flags & SVs_GMG)	sv_catpv(d, "GMG,");
+    if (flags & SVs_SMG)	sv_catpv(d, "SMG,");
+    if (flags & SVs_RMG)	sv_catpv(d, "RMG,");
 
-STATIC void
-dump(char *pat,...)
-{
-#ifdef DEBUGGING
-    I32 i;
-    va_list args;
+    if (flags & SVf_IOK)	sv_catpv(d, "IOK,");
+    if (flags & SVf_NOK)	sv_catpv(d, "NOK,");
+    if (flags & SVf_POK)	sv_catpv(d, "POK,");
+    if (flags & SVf_ROK)  {	
+    				sv_catpv(d, "ROK,");
+	if (SvWEAKREF(sv))	sv_catpv(d, "WEAKREF,");
+    }
+    if (flags & SVf_OOK)	sv_catpv(d, "OOK,");
+    if (flags & SVf_FAKE)	sv_catpv(d, "FAKE,");
+    if (flags & SVf_READONLY)	sv_catpv(d, "READONLY,");
 
-    va_start(args, pat);
-    for (i = PL_dumplvl*4; i; i--)
-	(void)PerlIO_putc(Perl_debug_log,' ');
-    PerlIO_vprintf(Perl_debug_log,pat,args);
-    va_end(args);
-#endif	/* DEBUGGING */
+    if (flags & SVf_AMAGIC)	sv_catpv(d, "OVERLOAD,");
+    if (flags & SVp_IOK)	sv_catpv(d, "pIOK,");
+    if (flags & SVp_NOK)	sv_catpv(d, "pNOK,");
+    if (flags & SVp_POK)	sv_catpv(d, "pPOK,");
+    if (flags & SVp_SCREAM)	sv_catpv(d, "SCREAM,");
+
+    switch (type) {
+    case SVt_PVCV:
+    case SVt_PVFM:
+	if (CvANON(sv))		sv_catpv(d, "ANON,");
+	if (CvUNIQUE(sv))	sv_catpv(d, "UNIQUE,");
+	if (CvCLONE(sv))	sv_catpv(d, "CLONE,");
+	if (CvCLONED(sv))	sv_catpv(d, "CLONED,");
+	if (CvNODEBUG(sv))	sv_catpv(d, "NODEBUG,");
+	if (SvCOMPILED(sv))	sv_catpv(d, "COMPILED,");
+	break;
+    case SVt_PVHV:
+	if (HvSHAREKEYS(sv))	sv_catpv(d, "SHAREKEYS,");
+	if (HvLAZYDEL(sv))	sv_catpv(d, "LAZYDEL,");
+	break;
+    case SVt_PVGV:
+	if (GvINTRO(sv))	sv_catpv(d, "INTRO,");
+	if (GvMULTI(sv))	sv_catpv(d, "MULTI,");
+	if (GvASSUMECV(sv))	sv_catpv(d, "ASSUMECV,");
+	if (GvIMPORTED(sv)) {
+	    sv_catpv(d, "IMPORT");
+	    if (GvIMPORTED(sv) == GVf_IMPORTED)
+		sv_catpv(d, "ALL,");
+	    else {
+		sv_catpv(d, "(");
+		if (GvIMPORTED_SV(sv))	sv_catpv(d, " SV");
+		if (GvIMPORTED_AV(sv))	sv_catpv(d, " AV");
+		if (GvIMPORTED_HV(sv))	sv_catpv(d, " HV");
+		if (GvIMPORTED_CV(sv))	sv_catpv(d, " CV");
+		sv_catpv(d, " ),");
+	    }
+	}
+	/* FALL THROGH */
+    default:
+	if (SvEVALED(sv))	sv_catpv(d, "EVALED,");
+	if (SvIsUV(sv))		sv_catpv(d, "IsUV,");
+	if (SvUTF8(sv))         sv_catpv(d, "UTF8");
+	break;
+    case SVt_PVBM:
+	if (SvTAIL(sv))		sv_catpv(d, "TAIL,");
+	if (SvVALID(sv))	sv_catpv(d, "VALID,");
+	break;
+    }
+
+    if (*(SvEND(d) - 1) == ',')
+	SvPVX(d)[--SvCUR(d)] = '\0';
+    sv_catpv(d, ")");
+    s = SvPVX(d);
+
+    Perl_dump_indent(aTHX_ level, file, "SV = ");
+    switch (type) {
+    case SVt_NULL:
+	PerlIO_printf(file, "NULL%s\n", s);
+	return;
+    case SVt_IV:
+	PerlIO_printf(file, "IV%s\n", s);
+	break;
+    case SVt_NV:
+	PerlIO_printf(file, "NV%s\n", s);
+	break;
+    case SVt_RV:
+	PerlIO_printf(file, "RV%s\n", s);
+	break;
+    case SVt_PV:
+	PerlIO_printf(file, "PV%s\n", s);
+	break;
+    case SVt_PVIV:
+	PerlIO_printf(file, "PVIV%s\n", s);
+	break;
+    case SVt_PVNV:
+	PerlIO_printf(file, "PVNV%s\n", s);
+	break;
+    case SVt_PVBM:
+	PerlIO_printf(file, "PVBM%s\n", s);
+	break;
+    case SVt_PVMG:
+	PerlIO_printf(file, "PVMG%s\n", s);
+	break;
+    case SVt_PVLV:
+	PerlIO_printf(file, "PVLV%s\n", s);
+	break;
+    case SVt_PVAV:
+	PerlIO_printf(file, "PVAV%s\n", s);
+	break;
+    case SVt_PVHV:
+	PerlIO_printf(file, "PVHV%s\n", s);
+	break;
+    case SVt_PVCV:
+	PerlIO_printf(file, "PVCV%s\n", s);
+	break;
+    case SVt_PVGV:
+	PerlIO_printf(file, "PVGV%s\n", s);
+	break;
+    case SVt_PVFM:
+	PerlIO_printf(file, "PVFM%s\n", s);
+	break;
+    case SVt_PVIO:
+	PerlIO_printf(file, "PVIO%s\n", s);
+	break;
+    default:
+	PerlIO_printf(file, "UNKNOWN(0x%"UVxf") %s\n", (UV)type, s);
+	return;
+    }
+    if (type >= SVt_PVIV || type == SVt_IV) {
+	if (SvIsUV(sv))
+	    Perl_dump_indent(aTHX_ level, file, "  UV = %"UVuf, (UV)SvUVX(sv));
+	else
+	    Perl_dump_indent(aTHX_ level, file, "  IV = %"IVdf, (IV)SvIVX(sv));
+	if (SvOOK(sv))
+	    PerlIO_printf(file, "  (OFFSET)");
+	PerlIO_putc(file, '\n');
+    }
+    if (type >= SVt_PVNV || type == SVt_NV) {
+	RESTORE_NUMERIC_STANDARD();
+	/* %Vg doesn't work? --jhi */
+#ifdef USE_LONG_DOUBLE
+	Perl_dump_indent(aTHX_ level, file, "  NV = %.*" PERL_PRIgldbl "\n", LDBL_DIG, SvNVX(sv));
+#else
+	Perl_dump_indent(aTHX_ level, file, "  NV = %.*g\n", DBL_DIG, SvNVX(sv));
+#endif
+	RESTORE_NUMERIC_LOCAL();
+    }
+    if (SvROK(sv)) {
+	Perl_dump_indent(aTHX_ level, file, "  RV = 0x%"UVxf"\n", PTR2UV(SvRV(sv)));
+	if (nest < maxnest)
+	    do_sv_dump(level+1, file, SvRV(sv), nest+1, maxnest, dumpops, pvlim);
+	return;
+    }
+    if (type < SVt_PV)
+	return;
+    if (type <= SVt_PVLV) {
+	if (SvPVX(sv)) {
+	    Perl_dump_indent(aTHX_ level, file,"  PV = 0x%"UVxf" ", PTR2UV(SvPVX(sv)));
+	    if (SvOOK(sv))
+		PerlIO_printf(file, "( %s . ) ", pv_display(d, SvPVX(sv)-SvIVX(sv), SvIVX(sv), 0, pvlim));
+	    PerlIO_printf(file, "%s\n", pv_display(d, SvPVX(sv), SvCUR(sv), SvLEN(sv), pvlim));
+	    Perl_dump_indent(aTHX_ level, file, "  CUR = %"IVdf"\n", (IV)SvCUR(sv));
+	    Perl_dump_indent(aTHX_ level, file, "  LEN = %"IVdf"\n", (IV)SvLEN(sv));
+	}
+	else
+	    Perl_dump_indent(aTHX_ level, file, "  PV = 0\n");
+    }
+    if (type >= SVt_PVMG) {
+	if (SvMAGIC(sv))
+            do_magic_dump(level, file, SvMAGIC(sv), nest, maxnest, dumpops, pvlim);
+	if (SvSTASH(sv))
+	    do_hv_dump(level, file, "  STASH", SvSTASH(sv));
+    }
+    switch (type) {
+    case SVt_PVLV:
+	Perl_dump_indent(aTHX_ level, file, "  TYPE = %c\n", LvTYPE(sv));
+	Perl_dump_indent(aTHX_ level, file, "  TARGOFF = %"IVdf"\n", (IV)LvTARGOFF(sv));
+	Perl_dump_indent(aTHX_ level, file, "  TARGLEN = %"IVdf"\n", (IV)LvTARGLEN(sv));
+	Perl_dump_indent(aTHX_ level, file, "  TARG = 0x%"UVxf"\n", PTR2UV(LvTARG(sv)));
+	/* XXX level+1 ??? */
+	do_sv_dump(level, file, LvTARG(sv), nest+1, maxnest, dumpops, pvlim);
+	break;
+    case SVt_PVAV:
+	Perl_dump_indent(aTHX_ level, file, "  ARRAY = 0x%"UVxf, PTR2UV(AvARRAY(sv)));
+	if (AvARRAY(sv) != AvALLOC(sv)) {
+	    PerlIO_printf(file, " (offset=%"IVdf")\n", (IV)(AvARRAY(sv) - AvALLOC(sv)));
+	    Perl_dump_indent(aTHX_ level, file, "  ALLOC = 0x%"UVxf"\n", PTR2UV(AvALLOC(sv)));
+	}
+	else
+	    PerlIO_putc(file, '\n');
+	Perl_dump_indent(aTHX_ level, file, "  FILL = %"IVdf"\n", (IV)AvFILLp(sv));
+	Perl_dump_indent(aTHX_ level, file, "  MAX = %"IVdf"\n", (IV)AvMAX(sv));
+	Perl_dump_indent(aTHX_ level, file, "  ARYLEN = 0x%"UVxf"\n", PTR2UV(AvARYLEN(sv)));
+	flags = AvFLAGS(sv);
+	sv_setpv(d, "");
+	if (flags & AVf_REAL)	sv_catpv(d, ",REAL");
+	if (flags & AVf_REIFY)	sv_catpv(d, ",REIFY");
+	if (flags & AVf_REUSED)	sv_catpv(d, ",REUSED");
+	Perl_dump_indent(aTHX_ level, file, "  FLAGS = (%s)\n", SvCUR(d) ? SvPVX(d) + 1 : "");
+	if (nest < maxnest && av_len((AV*)sv) >= 0) {
+	    int count;
+	    for (count = 0; count <=  av_len((AV*)sv) && count < maxnest; count++) {
+		SV** elt = av_fetch((AV*)sv,count,0);
+
+		Perl_dump_indent(aTHX_ level + 1, file, "Elt No. %"IVdf"\n", (IV)count);
+		if (elt) 
+		    do_sv_dump(level+1, file, *elt, nest+1, maxnest, dumpops, pvlim);
+	    }
+	}
+	break;
+    case SVt_PVHV:
+	Perl_dump_indent(aTHX_ level, file, "  ARRAY = 0x%"UVxf, PTR2UV(HvARRAY(sv)));
+	if (HvARRAY(sv) && HvKEYS(sv)) {
+	    /* Show distribution of HEs in the ARRAY */
+	    int freq[200];
+#define FREQ_MAX (sizeof freq / sizeof freq[0] - 1)
+	    int i;
+	    int max = 0;
+	    U32 pow2 = 2, keys = HvKEYS(sv);
+	    NV theoret, sum = 0;
+
+	    PerlIO_printf(file, "  (");
+	    Zero(freq, FREQ_MAX + 1, int);
+	    for (i = 0; i <= HvMAX(sv); i++) {
+		HE* h; int count = 0;
+                for (h = HvARRAY(sv)[i]; h; h = HeNEXT(h))
+		    count++;
+		if (count > FREQ_MAX)
+		    count = FREQ_MAX;
+	        freq[count]++;
+	        if (max < count)
+		    max = count;
+	    }
+	    for (i = 0; i <= max; i++) {
+		if (freq[i]) {
+		    PerlIO_printf(file, "%d%s:%d", i,
+				  (i == FREQ_MAX) ? "+" : "",
+				  freq[i]);
+		    if (i != max)
+			PerlIO_printf(file, ", ");
+		}
+            }
+	    PerlIO_putc(file, ')');
+	    /* Now calculate quality wrt theoretical value */
+	    for (i = max; i > 0; i--) { /* Precision: count down. */
+		sum += freq[i] * i * i;
+            }
+	    while ((keys = keys >> 1))
+		pow2 = pow2 << 1;
+	    /* Approximate by Poisson distribution */
+	    theoret = HvKEYS(sv);
+	    theoret += theoret * theoret/pow2;
+	    PerlIO_putc(file, '\n');
+	    Perl_dump_indent(aTHX_ level, file, "  hash quality = %.1f%%", theoret/sum*100);
+	}
+	PerlIO_putc(file, '\n');
+	Perl_dump_indent(aTHX_ level, file, "  KEYS = %"IVdf"\n", (IV)HvKEYS(sv));
+	Perl_dump_indent(aTHX_ level, file, "  FILL = %"IVdf"\n", (IV)HvFILL(sv));
+	Perl_dump_indent(aTHX_ level, file, "  MAX = %"IVdf"\n", (IV)HvMAX(sv));
+	Perl_dump_indent(aTHX_ level, file, "  RITER = %"IVdf"\n", (IV)HvRITER(sv));
+	Perl_dump_indent(aTHX_ level, file, "  EITER = 0x%"UVxf"\n", PTR2UV(HvEITER(sv)));
+	if (HvPMROOT(sv))
+	    Perl_dump_indent(aTHX_ level, file, "  PMROOT = 0x%"UVxf"\n", PTR2UV(HvPMROOT(sv)));
+	if (HvNAME(sv))
+	    Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n", HvNAME(sv));
+	if (nest < maxnest && !HvEITER(sv)) { /* Try to preserve iterator */
+	    HE *he;
+	    HV *hv = (HV*)sv;
+	    int count = maxnest - nest;
+
+	    hv_iterinit(hv);
+	    while ((he = hv_iternext(hv)) && count--) {
+		SV *elt;
+		char *key;
+		I32 len;
+		U32 hash = HeHASH(he);
+
+		key = hv_iterkey(he, &len);
+		elt = hv_iterval(hv, he);
+		Perl_dump_indent(aTHX_ level+1, file, "Elt %s HASH = 0x%"UVxf"\n", pv_display(d, key, len, 0, pvlim), (UV)hash);
+		do_sv_dump(level+1, file, elt, nest+1, maxnest, dumpops, pvlim);
+	    }
+	    hv_iterinit(hv);		/* Return to status quo */
+	}
+	break;
+    case SVt_PVCV:
+	if (SvPOK(sv))
+	    Perl_dump_indent(aTHX_ level, file, "  PROTOTYPE = \"%s\"\n", SvPV(sv,n_a));
+	/* FALL THROUGH */
+    case SVt_PVFM:
+	do_hv_dump(level, file, "  COMP_STASH", CvSTASH(sv));
+	if (CvSTART(sv))
+	    Perl_dump_indent(aTHX_ level, file, "  START = 0x%"UVxf" ===> %"IVdf"\n", PTR2UV(CvSTART(sv)), (IV)CvSTART(sv)->op_seq);
+	Perl_dump_indent(aTHX_ level, file, "  ROOT = 0x%"UVxf"\n", PTR2UV(CvROOT(sv)));
+        if (CvROOT(sv) && dumpops)
+	    do_op_dump(level+1, file, CvROOT(sv));
+	Perl_dump_indent(aTHX_ level, file, "  XSUB = 0x%"UVxf"\n", PTR2UV(CvXSUB(sv)));
+	Perl_dump_indent(aTHX_ level, file, "  XSUBANY = %"IVdf"\n", (IV)CvXSUBANY(sv).any_i32);
+ 	do_gvgv_dump(level, file, "  GVGV::GV", CvGV(sv));
+	Perl_dump_indent(aTHX_ level, file, "  FILE = \"%s\"\n", CvFILE(sv));
+	Perl_dump_indent(aTHX_ level, file, "  DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv));
+#ifdef USE_THREADS
+	Perl_dump_indent(aTHX_ level, file, "  MUTEXP = 0x%"UVxf"\n", PTR2UV(CvMUTEXP(sv)));
+	Perl_dump_indent(aTHX_ level, file, "  OWNER = 0x%"UVxf"\n",  PTR2UV(CvOWNER(sv)));
+#endif /* USE_THREADS */
+	Perl_dump_indent(aTHX_ level, file, "  FLAGS = 0x%"UVxf"\n", (UV)CvFLAGS(sv));
+	if (type == SVt_PVFM)
+	    Perl_dump_indent(aTHX_ level, file, "  LINES = %"IVdf"\n", (IV)FmLINES(sv));
+	Perl_dump_indent(aTHX_ level, file, "  PADLIST = 0x%"UVxf"\n", PTR2UV(CvPADLIST(sv)));
+	if (nest < maxnest && CvPADLIST(sv)) {
+	    AV* padlist = CvPADLIST(sv);
+	    AV* pad_name = (AV*)*av_fetch(padlist, 0, FALSE);
+	    AV* pad = (AV*)*av_fetch(padlist, 1, FALSE);
+	    SV** pname = AvARRAY(pad_name);
+	    SV** ppad = AvARRAY(pad);
+	    I32 ix;
+
+	    for (ix = 1; ix <= AvFILL(pad_name); ix++) {
+		if (SvPOK(pname[ix]))
+		    Perl_dump_indent(aTHX_ level,
+				/* %5d below is enough whitespace. */
+				file, 
+				"%5d. 0x%"UVxf" (%s\"%s\" %"IVdf"-%"IVdf")\n",
+				(int)ix, PTR2UV(ppad[ix]),
+				SvFAKE(pname[ix]) ? "FAKE " : "",
+				SvPVX(pname[ix]),
+				(IV)SvNVX(pname[ix]),
+				(IV)SvIVX(pname[ix]));
+	    }
+	}
+	{
+	    CV *outside = CvOUTSIDE(sv);
+	    Perl_dump_indent(aTHX_ level, file, "  OUTSIDE = 0x%"UVxf" (%s)\n", 
+			PTR2UV(outside),
+			(!outside ? "null"
+			 : CvANON(outside) ? "ANON"
+			 : (outside == PL_main_cv) ? "MAIN"
+			 : CvUNIQUE(outside) ? "UNIQUE"
+			 : CvGV(outside) ? GvNAME(CvGV(outside)) : "UNDEFINED"));
+	}
+	if (nest < maxnest && (CvCLONE(sv) || CvCLONED(sv)))
+	    do_sv_dump(level+1, file, (SV*)CvOUTSIDE(sv), nest+1, maxnest, dumpops, pvlim);
+	break;
+    case SVt_PVGV:
+	Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n", GvNAME(sv));
+	Perl_dump_indent(aTHX_ level, file, "  NAMELEN = %"IVdf"\n", (IV)GvNAMELEN(sv));
+	do_hv_dump (level, file, "  GvSTASH", GvSTASH(sv));
+	Perl_dump_indent(aTHX_ level, file, "  GP = 0x%"UVxf"\n", PTR2UV(GvGP(sv)));
+	if (!GvGP(sv))
+	    break;
+	Perl_dump_indent(aTHX_ level, file, "    SV = 0x%"UVxf"\n", PTR2UV(GvSV(sv)));
+	Perl_dump_indent(aTHX_ level, file, "    REFCNT = %"IVdf"\n", (IV)GvREFCNT(sv));
+	Perl_dump_indent(aTHX_ level, file, "    IO = 0x%"UVxf"\n", PTR2UV(GvIOp(sv)));
+	Perl_dump_indent(aTHX_ level, file, "    FORM = 0x%"UVxf"  \n", PTR2UV(GvFORM(sv)));
+	Perl_dump_indent(aTHX_ level, file, "    AV = 0x%"UVxf"\n", PTR2UV(GvAV(sv)));
+	Perl_dump_indent(aTHX_ level, file, "    HV = 0x%"UVxf"\n", PTR2UV(GvHV(sv)));
+	Perl_dump_indent(aTHX_ level, file, "    CV = 0x%"UVxf"\n", PTR2UV(GvCV(sv)));
+	Perl_dump_indent(aTHX_ level, file, "    CVGEN = 0x%"UVxf"\n", (UV)GvCVGEN(sv));
+	Perl_dump_indent(aTHX_ level, file, "    GPFLAGS = 0x%"UVxf"\n", (UV)GvGPFLAGS(sv));
+	Perl_dump_indent(aTHX_ level, file, "    LINE = %"IVdf"\n", (IV)GvLINE(sv));
+	Perl_dump_indent(aTHX_ level, file, "    FILE = \"%s\"\n", GvFILE(sv));
+	Perl_dump_indent(aTHX_ level, file, "    FLAGS = 0x%"UVxf"\n", (UV)GvFLAGS(sv));
+	do_gv_dump (level, file, "    EGV", GvEGV(sv));
+	break;
+    case SVt_PVIO:
+	Perl_dump_indent(aTHX_ level, file, "  IFP = 0x%"UVxf"\n", PTR2UV(IoIFP(sv)));
+	Perl_dump_indent(aTHX_ level, file, "  OFP = 0x%"UVxf"\n", PTR2UV(IoOFP(sv)));
+	Perl_dump_indent(aTHX_ level, file, "  DIRP = 0x%"UVxf"\n", PTR2UV(IoDIRP(sv)));
+	Perl_dump_indent(aTHX_ level, file, "  LINES = %"IVdf"\n", (IV)IoLINES(sv));
+	Perl_dump_indent(aTHX_ level, file, "  PAGE = %"IVdf"\n", (IV)IoPAGE(sv));
+	Perl_dump_indent(aTHX_ level, file, "  PAGE_LEN = %"IVdf"\n", (IV)IoPAGE_LEN(sv));
+	Perl_dump_indent(aTHX_ level, file, "  LINES_LEFT = %"IVdf"\n", (IV)IoLINES_LEFT(sv));
+        if (IoTOP_NAME(sv))
+            Perl_dump_indent(aTHX_ level, file, "  TOP_NAME = \"%s\"\n", IoTOP_NAME(sv));
+	do_gv_dump (level, file, "  TOP_GV", IoTOP_GV(sv));
+        if (IoFMT_NAME(sv))
+            Perl_dump_indent(aTHX_ level, file, "  FMT_NAME = \"%s\"\n", IoFMT_NAME(sv));
+	do_gv_dump (level, file, "  FMT_GV", IoFMT_GV(sv));
+        if (IoBOTTOM_NAME(sv))
+            Perl_dump_indent(aTHX_ level, file, "  BOTTOM_NAME = \"%s\"\n", IoBOTTOM_NAME(sv));
+	do_gv_dump (level, file, "  BOTTOM_GV", IoBOTTOM_GV(sv));
+	Perl_dump_indent(aTHX_ level, file, "  SUBPROCESS = %"IVdf"\n", (IV)IoSUBPROCESS(sv));
+	if (isPRINT(IoTYPE(sv)))
+            Perl_dump_indent(aTHX_ level, file, "  TYPE = '%c'\n", IoTYPE(sv));
+	else
+            Perl_dump_indent(aTHX_ level, file, "  TYPE = '\\%o'\n", IoTYPE(sv));
+	Perl_dump_indent(aTHX_ level, file, "  FLAGS = 0x%"UVxf"\n", (UV)IoFLAGS(sv));
+	break;
+    }
+}
+
+void
+Perl_sv_dump(pTHX_ SV *sv)
+{
+    do_sv_dump(0, Perl_debug_log, sv, 0, 0, 0, 0);
 }
diff --git a/gnu/usr.bin/perl/eg/ADB b/gnu/usr.bin/perl/eg/ADB
index 9221449cd64..9f90afb2fc8 100644
--- a/gnu/usr.bin/perl/eg/ADB
+++ b/gnu/usr.bin/perl/eg/ADB
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $RCSfile: ADB,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:17 $
+# $RCSfile: ADB,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:44 $
 
 # This script is only useful when used in your crash directory.
 
diff --git a/gnu/usr.bin/perl/eg/cgi/dna.small.gif.uu b/gnu/usr.bin/perl/eg/cgi/dna.small.gif.uu
deleted file mode 100644
index d3ce24c18dc..00000000000
--- a/gnu/usr.bin/perl/eg/cgi/dna.small.gif.uu
+++ /dev/null
@@ -1,63 +0,0 @@
-begin 444 dna.small.gif
-M1TE&.#=A)0`J`.<``+9%&Y@_&A$_5`Y#3$=2"=#59M((H88,GP\/]X^&+$R
-M$"(79"DF33(93"$86=%;&"T4/=Y"&\\A$Q4Z4!`62*T4-Q4B9+X1*BH96SP?
-M1<0D/3(F<-TM$!`=5:H.(!<64C$W?#8J3*`S(S<@3=8V%K$](QT.6Q`43AL4
-M1:$D,;<0,\X9&,8])\@=$A(U244S5U,D6Q=/#YH>
-M08$I1B,09S$35R(:4C0?<19$75!()-;4702M`=;56)A`25,0K%"X<
-M83`N>K`H'HDS*1`40,M&%!<@7M,_$AE+#%0>0S0/:4PJ9I,F-6DG420Y<"@09R,0
-M-V$R/R4M<:\H0!(H410Z:AT27&4Q9"L@;=1%(MA-$M5+#RL4+M8Z&AT<7[<:
-M(-QA&2,36R$++B(84!0:5ALO:K$A.]X?&!$84V@;/SX<6Q`;2$(B2QD21W4J
-M1=TW&@```````````````"P`````)0`J```(_@!]:(N'18\W%15T$1N'C)V?
-M0_HH,<$G9YBX!C6<3;+T@AZ-)K@\O*"!KP^$>"KVA`L3*8P3)^5ZA)@B:AH+
-M9];F7.$Q+!`!0=*.%",&P7J"9XB82L5,48F5K,:"
-M'94FU='6;!*R3T->E"%&95DR"`/6P,I0PDF)0SG8($$RJN0R`FI(H7$A2]VD
-M*^^L_6(T3U*V%XH"_AB:HDS8H$AO5@R:P,8.I%^.:*AC(>Z!'":6RC`1L@W-
-M%1Q/,%(.'5+1``/"*]=90`PD.F'3SR@-AG)`&_A=3'"**#[J(P<0^C0&S/#1""(ZI)'&*6,,$842N%Q!@3NK
-M"R'%%4KP0D(Q?"`S!3)BVE(/$+)#-80
-M<+,`-[QH$LP+0_P!1C>=S("!,N>8XP<8H6131!B;3`#&#)"DTH(L5#P0S#W+
-MQ)*`$K1HHD4^;E!2QP%:B``&4H$,/Y2C$Y*(1%0(00A)@```77B"*$0@#3>P
-MP&PU4`,^H!","P!!$')0P^H6((I5L"$'.;``';[Q!@-\PP"$0?)M$`<92!%OG8Q3#@(`U2C*)%9-!`&`K`!!EP0@80
-M2,0M;I$.:"C#"D.@P#UJ``]GT"*,K%B&*0+!@TFH8VV*0$(:_/`)?7@#'.'0
-M@R[H8``\:&`,=NC"*"B@!2TTHP5]N((TEH&`<)B"!PU`0RQ(P8MNS``9K6@%
-M'W31AG%$(BZ2&((PA-&#'I"A&`F8!DD\\`H6-,.,X'B'%,+R#FX4`PS&_L!$
-M.4R0#7W<0@%O2,07$($#9@C3"%C8P!5H88\]J$,"-E!;(.X@C5T<`!65V,40
-M,'&(0C!"`1JP@"3TH`T9=&,5JRC$-]+1`U%TP@@[^,$>Z$&*0%1A%XFK`BFD
-MX0L6Y"(#A_A$#[JPC@%\@1@02`(SJ#&&.`A@'\&$!AALX(4Y="`/TA"",UA!
-M@%W<8!*\$`$@C%""+G1A"9AP!"<>9@ME*)$0F\C!$I8`B3\TP@%'@$(QH$`"
-M)8@#'(B0ACB`P`,@%&,'9"##)S`1!&)\`0)^&,,^+$`("QC"#D\X!":HX0!<
-ML(`&-O!%,&H@BS#F0AI'`!LO^"`,/OS!%KJ0_H0HEA`E27Q#%T%X0"%"@`1E
-M2,`!:F!%+Q#A!G)40A!HP`4OFK`#-13#`?I(QCW38(Q/9&``%0#!);01BE>$
-M@!TZNL81$G`!-]2!&&5@A1N&T0Q<,$$$%*!``BR1A5$PPPH<74$%]*`#$.RA
-M`(VP@#`X$(`7``(%T=@`.5Q`C@:0`P[)D$4'$H`."MB#"908Q=X@,01B9$(7
-MG'A%`#8!"QSL@PUAL,0==M"")CQCP4)0QQUDP806H&,!T]A!`EH@AC2P`P,^
-MT`,*NN%-&&T!&L@X!!Y^<(4.D(,%E>A`,T20C#IXL`6-:,`5F+"#!W"@'%OH
-MA`IJ$5(#;`(;AV/'FA103(EV+(,>GHB&&ZJ`!D'P!57`X1F9D`4<0!]FB({'Content-Type'} || '';
+if (my $file = param('filename')) {
+    my %stats;
+    my $tmpfile=tmpFileName($file);
+    my $mimetype = uploadInfo($file)->{'Content-Type'} || '';
     print hr(),
           h2($file),
           h3($tmpfile),
diff --git a/gnu/usr.bin/perl/eg/cgi/index.html b/gnu/usr.bin/perl/eg/cgi/index.html
index 75e2d301399..133ecc4a161 100644
--- a/gnu/usr.bin/perl/eg/cgi/index.html
+++ b/gnu/usr.bin/perl/eg/cgi/index.html
@@ -54,7 +54,8 @@
   
  • Look at its source code -The Following Scripts only Work with Netscape 2.0 & Internet Explorer only! +The Following Scripts Work with Netscape Navigator 2.0 and higher, +or Internet Explorer 3.0 and higher

    Prompt for a file to upload and process it

      @@ -107,12 +108,12 @@
    • CGI.pm documentation -
    • Download the CGI.pm distribution +
    • Download the CGI.pm distribution

    • Lincoln D. Stein, lstein@genome.wi.mit.edu
      Whitehead Institute/MIT Center for Genome Research
      -Last modified: Tue May 19 22:16:43 EDT 1998 +Last modified: Wed Jun 23 15:31:47 EDT 1999 diff --git a/gnu/usr.bin/perl/eg/cgi/wilogo.gif.uu b/gnu/usr.bin/perl/eg/cgi/wilogo.gif.uu deleted file mode 100644 index c5d10423b49..00000000000 --- a/gnu/usr.bin/perl/eg/cgi/wilogo.gif.uu +++ /dev/null @@ -1,13 +0,0 @@ -begin 444 wilogo.gif -M1TE&.#=A7@!$`(```'X2F?___RP`````7@!$```"_D2.J<#MKF)ZU,A3,[OO -M(IUY']A%9"6AW$F)+#2]Y:BNLF6_\;WMHF*(A55\BX%UEI^;OJ8N%(*Z^4G -M.OJJ>8HZ.(>;JRMD>X" -M%A1XSM]!A?T8/C0T$1XMJG\B&G+,"-&C/(VS0(842;`)M'S>_OE8F#"=2S#* -M8LHLAS'D1Y,42UGY9O,F-T:X@@JEE@D1RW>/D@8R.DZ-+*E0CQ:9JJ5JU!SQ -MR&BU2D.;E*4'ER0TNY%G2A/Y.G[=VG%81+5K_UG$21-GQW55;$8L\RW6J8-9>QM7<^A/SMZK!ESY$,+ -(KPA.EJ```#L` -end diff --git a/gnu/usr.bin/perl/eg/changes b/gnu/usr.bin/perl/eg/changes index 1d7ec598eee..704a17dcdda 100644 --- a/gnu/usr.bin/perl/eg/changes +++ b/gnu/usr.bin/perl/eg/changes @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: changes,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:17 $ +# $RCSfile: changes,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:44 $ ($dir, $days) = @ARGV; $dir = '/' if $dir eq ''; diff --git a/gnu/usr.bin/perl/eg/dus b/gnu/usr.bin/perl/eg/dus index 5ea7d0456be..c8a3ed1c9cd 100644 --- a/gnu/usr.bin/perl/eg/dus +++ b/gnu/usr.bin/perl/eg/dus @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: dus,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:17 $ +# $RCSfile: dus,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:44 $ # This script does a du -s on any directories in the current directory that # are not mount points for another filesystem. diff --git a/gnu/usr.bin/perl/eg/findcp b/gnu/usr.bin/perl/eg/findcp index 827b7b6df81..3346f6c144b 100644 --- a/gnu/usr.bin/perl/eg/findcp +++ b/gnu/usr.bin/perl/eg/findcp @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: findcp,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: findcp,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:46 $ # This is a wrapper around the find command that pretends find has a switch # of the form -cp host:destination. It presumes your find implements -ls. diff --git a/gnu/usr.bin/perl/eg/findtar b/gnu/usr.bin/perl/eg/findtar index e5c1be278f3..433b9107dca 100644 --- a/gnu/usr.bin/perl/eg/findtar +++ b/gnu/usr.bin/perl/eg/findtar @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: findtar,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: findtar,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:46 $ # findtar takes find-style arguments and spits out a tarfile on stdout. # It won't work unless your find supports -ls and your tar the I flag. diff --git a/gnu/usr.bin/perl/eg/g/gcp b/gnu/usr.bin/perl/eg/g/gcp index 55c5b44f4b0..482951b87a3 100644 --- a/gnu/usr.bin/perl/eg/g/gcp +++ b/gnu/usr.bin/perl/eg/g/gcp @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: gcp,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:19 $ +# $RCSfile: gcp,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:53 $ # Here is a script to do global rcps. See man page. diff --git a/gnu/usr.bin/perl/eg/g/gcp.man b/gnu/usr.bin/perl/eg/g/gcp.man index 1640d5f53c8..c14442b0a54 100644 --- a/gnu/usr.bin/perl/eg/g/gcp.man +++ b/gnu/usr.bin/perl/eg/g/gcp.man @@ -1,4 +1,4 @@ -.\" $RCSfile: gcp.man,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +.\" $RCSfile: gcp.man,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:53 $ .TH GCP 1C "13 May 1988" .SH NAME gcp \- global file copy diff --git a/gnu/usr.bin/perl/eg/g/ged b/gnu/usr.bin/perl/eg/g/ged index 2846cba2478..394bcb2846a 100644 --- a/gnu/usr.bin/perl/eg/g/ged +++ b/gnu/usr.bin/perl/eg/g/ged @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: ged,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +# $RCSfile: ged,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:54 $ # Does inplace edits on a set of files on a set of machines. # diff --git a/gnu/usr.bin/perl/eg/g/gsh b/gnu/usr.bin/perl/eg/g/gsh index d8866476a69..0fd58181d96 100644 --- a/gnu/usr.bin/perl/eg/g/gsh +++ b/gnu/usr.bin/perl/eg/g/gsh @@ -1,6 +1,6 @@ #! /usr/bin/perl -# $RCSfile: gsh,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +# $RCSfile: gsh,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:54 $ # Do rsh globally--see man page diff --git a/gnu/usr.bin/perl/eg/g/gsh.man b/gnu/usr.bin/perl/eg/g/gsh.man index 98dece012e2..228311ede86 100644 --- a/gnu/usr.bin/perl/eg/g/gsh.man +++ b/gnu/usr.bin/perl/eg/g/gsh.man @@ -1,4 +1,4 @@ -.\" $RCSfile: gsh.man,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +.\" $RCSfile: gsh.man,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:54 $ .TH GSH 8 "13 May 1988" .SH NAME gsh \- global shell diff --git a/gnu/usr.bin/perl/eg/muck.man b/gnu/usr.bin/perl/eg/muck.man index 8273cf73e59..709327e2a13 100644 --- a/gnu/usr.bin/perl/eg/muck.man +++ b/gnu/usr.bin/perl/eg/muck.man @@ -1,4 +1,4 @@ -.\" $RCSfile: muck.man,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +.\" $RCSfile: muck.man,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:47 $ .TH MUCK 1 "10 Jan 1989" .SH NAME muck \- make usage checker diff --git a/gnu/usr.bin/perl/eg/myrup b/gnu/usr.bin/perl/eg/myrup index 5db1213fab0..e5cb77a7c6f 100644 --- a/gnu/usr.bin/perl/eg/myrup +++ b/gnu/usr.bin/perl/eg/myrup @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: myrup,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: myrup,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:47 $ # This was a customization of ruptime requested by someone here who wanted # to be able to find the least loaded machine easily. It uses the diff --git a/gnu/usr.bin/perl/eg/nih b/gnu/usr.bin/perl/eg/nih index 70dda9e3202..abec507d718 100644 --- a/gnu/usr.bin/perl/eg/nih +++ b/gnu/usr.bin/perl/eg/nih @@ -1,7 +1,7 @@ eval 'exec /usr/bin/perl -Spi.bak $0 ${1+"$@"}' if $running_under_some_shell; -# $RCSfile: nih,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: nih,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:47 $ # This script makes #! scripts directly executable on machines that don't # support #!. It edits in place any scripts mentioned on the command line. diff --git a/gnu/usr.bin/perl/eg/relink b/gnu/usr.bin/perl/eg/relink index 50bf998fa91..52be085e744 100644 --- a/gnu/usr.bin/perl/eg/relink +++ b/gnu/usr.bin/perl/eg/relink @@ -2,11 +2,11 @@ 'di'; 'ig00'; # -# $RCSfile: relink,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: relink,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:48 $ # # $Log: relink,v $ -# Revision 1.3 1999/04/29 22:51:18 millert -# perl5.005_03 (stock) +# Revision 1.4 2000/04/06 17:04:48 millert +# perl-5.6.0 + local changes # ($op = shift) || die "Usage: relink perlexpr [filenames]\n"; diff --git a/gnu/usr.bin/perl/eg/rename b/gnu/usr.bin/perl/eg/rename index 8c8d48da4c8..3fb01ca6585 100644 --- a/gnu/usr.bin/perl/eg/rename +++ b/gnu/usr.bin/perl/eg/rename @@ -2,11 +2,11 @@ 'di'; 'ig00'; # -# $RCSfile: rename,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: rename,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:48 $ # # $Log: rename,v $ -# Revision 1.3 1999/04/29 22:51:18 millert -# perl5.005_03 (stock) +# Revision 1.4 2000/04/06 17:04:48 millert +# perl-5.6.0 + local changes # ($op = shift) || die "Usage: rename perlexpr [filenames]\n"; diff --git a/gnu/usr.bin/perl/eg/rmfrom b/gnu/usr.bin/perl/eg/rmfrom index cb4c0e9cba0..1f36c0511b0 100644 --- a/gnu/usr.bin/perl/eg/rmfrom +++ b/gnu/usr.bin/perl/eg/rmfrom @@ -1,6 +1,6 @@ #!/usr/bin/perl -n -# $RCSfile: rmfrom,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: rmfrom,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:48 $ # A handy (but dangerous) script to put after a find ... -print. diff --git a/gnu/usr.bin/perl/eg/scan/scan_df b/gnu/usr.bin/perl/eg/scan/scan_df index 0b5468fa387..3f56bd943e7 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_df +++ b/gnu/usr.bin/perl/eg/scan/scan_df @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: scan_df,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +# $RCSfile: scan_df,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:55 $ # This report points out filesystems that are in danger of overflowing. diff --git a/gnu/usr.bin/perl/eg/scan/scan_last b/gnu/usr.bin/perl/eg/scan/scan_last index e22dcf392fa..4ffd9c0ed9c 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_last +++ b/gnu/usr.bin/perl/eg/scan/scan_last @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: scan_last,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +# $RCSfile: scan_last,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:55 $ # This reports who was logged on at weird hours diff --git a/gnu/usr.bin/perl/eg/scan/scan_messages b/gnu/usr.bin/perl/eg/scan/scan_messages index cc101d76acb..47ce55ff692 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_messages +++ b/gnu/usr.bin/perl/eg/scan/scan_messages @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: scan_messages,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:20 $ +# $RCSfile: scan_messages,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:57 $ # This prints out extraordinary console messages. You'll need to customize. diff --git a/gnu/usr.bin/perl/eg/scan/scan_passwd b/gnu/usr.bin/perl/eg/scan/scan_passwd index 58f9fcd69d4..e8273fe5acb 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_passwd +++ b/gnu/usr.bin/perl/eg/scan/scan_passwd @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: scan_passwd,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:21 $ +# $RCSfile: scan_passwd,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:57 $ # This scans passwd file for security holes. diff --git a/gnu/usr.bin/perl/eg/scan/scan_ps b/gnu/usr.bin/perl/eg/scan/scan_ps index 793373605f6..18b495ca65f 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_ps +++ b/gnu/usr.bin/perl/eg/scan/scan_ps @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: scan_ps,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:21 $ +# $RCSfile: scan_ps,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:57 $ # This looks for looping processes. diff --git a/gnu/usr.bin/perl/eg/scan/scan_sudo b/gnu/usr.bin/perl/eg/scan/scan_sudo index 37648e75652..bec2b9d26d8 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_sudo +++ b/gnu/usr.bin/perl/eg/scan/scan_sudo @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: scan_sudo,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:21 $ +# $RCSfile: scan_sudo,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:58 $ # Analyze the sudo log. diff --git a/gnu/usr.bin/perl/eg/scan/scan_suid b/gnu/usr.bin/perl/eg/scan/scan_suid index f6555eb55b6..d8a4eff17c9 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_suid +++ b/gnu/usr.bin/perl/eg/scan/scan_suid @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $RCSfile: scan_suid,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:21 $ +# $RCSfile: scan_suid,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:58 $ # Look for new setuid root files. diff --git a/gnu/usr.bin/perl/eg/scan/scanner b/gnu/usr.bin/perl/eg/scan/scanner index 258e07ab506..6aac7e5dc01 100644 --- a/gnu/usr.bin/perl/eg/scan/scanner +++ b/gnu/usr.bin/perl/eg/scan/scanner @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: scanner,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:21 $ +# $RCSfile: scanner,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:58 $ # This runs all the scan_* routines on all the machines in /etc/ghosts. # We run this every morning at about 6 am: diff --git a/gnu/usr.bin/perl/eg/shmkill b/gnu/usr.bin/perl/eg/shmkill index d04ebb5b049..a6a88593dbb 100644 --- a/gnu/usr.bin/perl/eg/shmkill +++ b/gnu/usr.bin/perl/eg/shmkill @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: shmkill,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $ +# $RCSfile: shmkill,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:48 $ # A script to call from crontab periodically when people are leaving shared # memory sitting around unattached. diff --git a/gnu/usr.bin/perl/eg/van/empty b/gnu/usr.bin/perl/eg/van/empty index 9df6170e3d6..47ea21216ee 100644 --- a/gnu/usr.bin/perl/eg/van/empty +++ b/gnu/usr.bin/perl/eg/van/empty @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: empty,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:21 $ +# $RCSfile: empty,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:59 $ # This script empties a trashcan. diff --git a/gnu/usr.bin/perl/eg/van/unvanish b/gnu/usr.bin/perl/eg/van/unvanish index 08268bff17e..433f52b2fc3 100644 --- a/gnu/usr.bin/perl/eg/van/unvanish +++ b/gnu/usr.bin/perl/eg/van/unvanish @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: unvanish,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:22 $ +# $RCSfile: unvanish,v $$Revision: 1.4 $$Date: 2000/04/06 17:04:59 $ sub it { if ($olddir ne '.') { diff --git a/gnu/usr.bin/perl/eg/van/vanexp b/gnu/usr.bin/perl/eg/van/vanexp index 44f60d648bf..be23584798e 100644 --- a/gnu/usr.bin/perl/eg/van/vanexp +++ b/gnu/usr.bin/perl/eg/van/vanexp @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: vanexp,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:22 $ +# $RCSfile: vanexp,v $$Revision: 1.4 $$Date: 2000/04/06 17:05:00 $ # This is for running from a find at night to expire old .deleteds diff --git a/gnu/usr.bin/perl/eg/van/vanish b/gnu/usr.bin/perl/eg/van/vanish index 3bdf02e1c13..06dc004da90 100644 --- a/gnu/usr.bin/perl/eg/van/vanish +++ b/gnu/usr.bin/perl/eg/van/vanish @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $RCSfile: vanish,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:22 $ +# $RCSfile: vanish,v $$Revision: 1.4 $$Date: 2000/04/06 17:05:00 $ sub it { if ($olddir ne '.') { diff --git a/gnu/usr.bin/perl/eg/wrapsuid b/gnu/usr.bin/perl/eg/wrapsuid index bf47187244b..31d215db7be 100644 --- a/gnu/usr.bin/perl/eg/wrapsuid +++ b/gnu/usr.bin/perl/eg/wrapsuid @@ -2,11 +2,11 @@ 'di'; 'ig00'; # -# $Header: /home/cvs/src/gnu/usr.bin/perl/eg/Attic/wrapsuid,v 1.3 1999/04/29 22:51:18 millert Exp $ +# $Header: /home/cvs/src/gnu/usr.bin/perl/eg/Attic/wrapsuid,v 1.4 2000/04/06 17:04:49 millert Exp $ # # $Log: wrapsuid,v $ -# Revision 1.3 1999/04/29 22:51:18 millert -# perl5.005_03 (stock) +# Revision 1.4 2000/04/06 17:04:49 millert +# perl-5.6.0 + local changes # # Revision 1.1 90/08/11 13:51:29 lwall # Initial revision diff --git a/gnu/usr.bin/perl/emacs/cperl-mode.el b/gnu/usr.bin/perl/emacs/cperl-mode.el index 3d7be098c08..371d4203214 100644 --- a/gnu/usr.bin/perl/emacs/cperl-mode.el +++ b/gnu/usr.bin/perl/emacs/cperl-mode.el @@ -46,9 +46,9 @@ ;;; Commentary: -;; $Id: cperl-mode.el 4.5 1998/07/28 08:55:41 vera Exp vera $ +;; $Id: cperl-mode.el,v 4.19 1998/12/10 03:31:23 ilya Exp ilya $ -;;; Before (future?) RMS Emacs 20.3: To use this mode put the following into +;;; Before RMS Emacs 20.3: To use this mode put the following into ;;; your .emacs file: ;; (autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t) @@ -66,7 +66,7 @@ ;;; `cperl-non-problems', `cperl-praise', `cperl-speed'. <<<<<< ;;; Additional useful commands to put into your .emacs file (before -;;; (future?) RMS Emacs 20.3): +;;; RMS Emacs 20.3): ;; (setq auto-mode-alist ;; (append '(("\\.\\([pP][Llm]\\|al\\)$" . perl-mode)) auto-mode-alist )) @@ -501,12 +501,12 @@ ;;; Debugging code in `cperl-electric-keywords' was leaking a message; ;;;; After 1.41: -;;; RMS changes for (future?) 20.3 merged +;;; RMS changes for 20.3 merged ;;;; 2.0.1.0: RMS mode (has 3 misprints) ;;;; After 2.0: -;;; RMS whitespace changes for (future?) 20.3 merged +;;; RMS whitespace changes for 20.3 merged ;;;; After 2.1: ;;; History updated @@ -800,6 +800,114 @@ ;;; `constant-face' was backward. ;;; (`font-lock-other-type-face'): Done via `defface' too. +;;;; After 4.5: +;;; (`cperl-init-faces-weak'): use `cperl-force-face'. +;;; (`cperl-after-block-p'): After END/BEGIN we are a block. +;;; (`cperl-mode'): `font-lock-unfontify-region-function' +;;; was set to a wrong function. +;;; (`cperl-comment-indent'): Commenting __END__ was not working. +;;; (`cperl-indent-for-comment'): Likewise. +;;; (Indenting is still misbehaving at toplevel.) + +;;;; After 4.5: +;;; (`cperl-unwind-to-safe'): Signature changed, unwinds end too. +;;; (`cperl-find-pods-heres'): mark qq[]-etc sections as syntax-type=string +;;; (`cperl-fontify-syntaxically'): Unwinds start and end to go out of +;;; long strings (not very successful). + +;;; >>>> CPerl should be usable in write mode too now <<<< + +;;; (`cperl-syntaxify-by-font-lock'): Better default - off in text-mode. +;;; (`cperl-tips'): Updated docs. +;;; (`cperl-problems'): Updated docs. + +;;;; After 4.6: +;;; (`cperl-calculate-indent'): Did not consider `,' as continuation mark for statements. +;;; (`cperl-write-tags'): Correct for XEmacs's `visit-tags-table-buffer'. + +;;;; After 4.7: +;;; (`cperl-calculate-indent'): Avoid parse-data optimization at toplevel. +;;; Should indent correctly at toplevel too. +;;; (`cperl-tags-hier-init'): Gross hack to pretend we work (are we?). +;;; (`cperl-find-pods-heres'): Was not processing sub protos after a comment ine. +;;; Was treating $a++ <= 5 as a glob. + +;;;; After 4.8: +;;; (toplevel): require custom unprotected => failure on 19.28. +;;; (`cperl-xemacs-p') defined when compile too +;;; (`cperl-tags-hier-init'): Another try to work around XEmacs problems +;;; Better progress messages. +;;; (`cperl-find-tags'): Was writing line/pos in a wrong order, +;;; pos off by 1 and not at beg-of-line. +;;; (`cperl-etags-snarf-tag'): New macro +;;; (`cperl-etags-goto-tag-location'): New macro +;;; (`cperl-write-tags'): When removing old TAGS info was not +;;; relativizing filename + +;;;; After 4.9: +;;; (`cperl-version'): New variable. New menu entry + +;;;; After 4.10: +;;; (`cperl-tips'): Updated. +;;; (`cperl-non-problems'): Updated. +;;; random: References to future 20.3 removed. + +;;;; After 4.11: +;;; (`perl-font-lock-keywords'): Would not highlight `sub foo($$);'. +;;; Docstrings: Menu was described as `CPerl' instead of `Perl' + +;;;; After 4.12: +;;; (`cperl-toggle-construct-fix'): Was toggling to t instead of 1. +;;; (`cperl-ps-print-init'): Associate `cperl-array-face', `cperl-hash-face' +;;; remove `font-lock-emphasized-face'. +;;; remove `font-lock-other-emphasized-face'. +;;; remove `font-lock-reference-face'. +;;; remove `font-lock-keyword-face'. +;;; Use `eval-after-load'. +;;; (`cperl-init-faces'): remove init `font-lock-other-emphasized-face'. +;;; remove init `font-lock-emphasized-face'. +;;; remove init `font-lock-keyword-face'. +;;; (`cperl-tips-faces'): New variable and an entry into Mini-docs. +;;; (`cperl-indent-region'): Do not indent whitespace lines +;;; (`cperl-indent-exp'): Was not processing else-blocks. +;;; (`cperl-calculate-indent'): Remove another parse-data optimization +;;; at toplevel: would indent correctly. +;;; (`cperl-get-state'): NOP line removed. + +;;;; After 4.13: +;;; (`cperl-ps-print-init'): Remove not-CPerl-related faces. +;;; (`cperl-ps-print'): New function and menu entry. +;;; (`cperl-ps-print-face-properties'): New configuration variable. +;;; (`cperl-invalid-face'): New configuration variable. +;;; (`cperl-nonoverridable-face'): New face. Renamed from +;;; `font-lock-other-type-face'. +;;; (`perl-font-lock-keywords'): Highlight trailing whitespace +;;; (`cperl-contract-levels'): Documentation corrected. +;;; (`cperl-contract-level'): Likewise. + +;;;; After 4.14: +;;; (`cperl-ps-print'): `ps-print-face-extension-alist' was not in old Emaxen, +;;; same with `ps-extend-face-list' +;;; (`cperl-ps-extend-face-list'): New macro. + +;;;; After 4.15: +;;; (`cperl-init-faces'): Interpolate `cperl-invalid-face'. +;;; (`cperl-forward-re'): Emit a meaningful error instead of a cryptic +;;; one for uncomplete REx near end-of-buffer. +;;; (`cperl-find-pods-heres'): Tolerate unfinished REx at end-of-buffer. + +;;;; After 4.16: +;;; (`cperl-find-pods-heres'): `unwind-protect' was left commented. + +;;;; After 4.17: +;;; (`cperl-invalid-face'): Change to ''underline. + +;;;; After 4.18: +;;; (`cperl-find-pods-heres'): / and ? after : start a REx. +;;; (`cperl-after-expr-p'): Skip labels when checking +;;; (`cperl-calculate-indent'): Correct for labels when calculating +;;; indentation of continuations. +;;; Docstring updated. ;;; Code: @@ -808,6 +916,7 @@ (condition-case nil (require 'custom) (error nil)) + (defconst cperl-xemacs-p (string-match "XEmacs\\|Lucid" emacs-version)) (or (fboundp 'defgroup) (defmacro defgroup (name val doc &rest arr) nil)) @@ -826,6 +935,11 @@ ((fboundp 'valid-color-name-p) (` (valid-color-name-p (, col)))) ;; XEmacs 19.11 (t (` (x-valid-color-name-p (, col))))))) + (if (fboundp 'ps-extend-face-list) + (defmacro cperl-ps-extend-face-list (arg) + (` (ps-extend-face-list (, arg)))) + (defmacro cperl-ps-extend-face-list (arg) + (` (error "This version of Emacs has no `ps-extend-face-list'.")))) (defmacro cperl-is-face (arg) ; Takes quoted arg (cond ((fboundp 'find-face) (` (find-face (, arg)))) @@ -846,9 +960,31 @@ (or (cperl-is-face (quote (, arg))) (cperl-make-face (, arg) (, descr))) (or (boundp (quote (, arg))) ; We use unquoted variants too - (defconst (, arg) (quote (, arg)) (, descr)))))))) + (defconst (, arg) (quote (, arg)) (, descr)))))) + (if cperl-xemacs-p + (defmacro cperl-etags-snarf-tag (file line) + (` (progn + (beginning-of-line 2) + (list (, file) (, line))))) + (defmacro cperl-etags-snarf-tag (file line) + (` (etags-snarf-tag)))) + (if cperl-xemacs-p + (defmacro cperl-etags-goto-tag-location (elt) + (` ;;(progn + ;; (switch-to-buffer (get-file-buffer (elt (, elt) 0))) + ;; (set-buffer (get-file-buffer (elt (, elt) 0))) + ;; Probably will not work due to some save-excursion??? + ;; Or save-file-position? + ;; (message "Did I get to line %s?" (elt (, elt) 1)) + (goto-line (string-to-int (elt (, elt) 1))))) + ;;) + (defmacro cperl-etags-goto-tag-location (elt) + (` (etags-goto-tag-location (, elt))))))) + +(condition-case nil + (require 'custom) + (error nil)) ; Already fixed by eval-when-compile -(require 'custom) (defun cperl-choose-color (&rest list) (let (answer) (while list @@ -1100,6 +1236,11 @@ Font for POD headers." :type 'face :group 'cperl-faces) +(defcustom cperl-invalid-face ''underline ; later evaluated by `font-lock' + "*The result of evaluation of this expression highlights trailing whitespace." + :type 'face + :group 'cperl-faces) + (defcustom cperl-pod-here-fontify '(featurep 'font-lock) "*Not-nil after evaluation means to highlight pod and here-docs sections." :type 'boolean @@ -1214,7 +1355,8 @@ may be merged to be on the same line when indenting a region." :group 'cperl-indentation-details) (defcustom cperl-syntaxify-by-font-lock - (boundp 'parse-sexp-lookup-properties) + (and window-system + (boundp 'parse-sexp-lookup-properties)) "*Non-nil means that CPerl uses `font-lock's routines for syntaxification. Having it TRUE may be not completely debugged yet." :type '(choice (const message) boolean) @@ -1227,6 +1369,25 @@ when syntaxifying a chunk of buffer." :type 'boolean :group 'cperl-speed) +(defcustom cperl-ps-print-face-properties + '((font-lock-keyword-face nil nil bold shadow) + (font-lock-variable-name-face nil nil bold) + (font-lock-function-name-face nil nil bold italic box) + (font-lock-constant-face nil "LightGray" bold) + (cperl-array-face nil "LightGray" bold underline) + (cperl-hash-face nil "LightGray" bold italic underline) + (font-lock-comment-face nil "LightGray" italic) + (font-lock-string-face nil nil italic underline) + (cperl-nonoverridable-face nil nil italic underline) + (font-lock-type-face nil nil underline) + (underline nil "LightGray" strikeout)) + "List given as an argument to `ps-extend-face-list' in `cperl-ps-print'." + :type '(repeat (cons symbol + (cons (choice (const nil) string) + (cons (choice (const nil) string) + (repeat symbol))))) + :group 'cperl-faces) + (if window-system (progn (defvar cperl-dark-background @@ -1234,7 +1395,7 @@ when syntaxifying a chunk of buffer." (defvar cperl-dark-foreground (cperl-choose-color "orchid1" "orange")) - (defface font-lock-other-type-face + (defface cperl-nonoverridable-face (` ((((class grayscale) (background light)) (:background "Gray90" :italic t :underline t)) (((class grayscale) (background dark)) @@ -1285,6 +1446,13 @@ and/or Subdirectory `cperl-mode' may contain yet newer development releases and/or patches to related files. +For best results apply to an older Emacs the patches from + ftp://ftp.math.ohio-state.edu/pub/users/ilya/cperl-mode/patches +\(this upgrades syntax-parsing abilities of RMS Emaxen v19.34 and +v20.2 up to the level of RMS Emacs v20.3 - a must for a good Perl +mode.) You will not get much from XEmacs, it's syntax abilities are +too primitive. + Get support packages choose-color.el (or font-lock-extra.el before 19.30), imenu-go.el from the same place. \(Look for other files there too... ;-). Get a patch for imenu.el in 19.29. Note that for 19.30 and @@ -1300,20 +1468,25 @@ older version was on http://www.metronet.com:70/9/perlinfo/perl5/manual/perl5-info.tar.gz If you use imenu-go, run imenu on perl5-info buffer (you can do it -from CPerl menu). If many files are related, generate TAGS files from -Tools/Tags submenu in CPerl menu. +from Perl menu). If many files are related, generate TAGS files from +Tools/Tags submenu in Perl menu. If some class structure is too complicated, use Tools/Hierarchy-view -from CPerl menu, or hierarchic view of imenu. The second one uses the +from Perl menu, or hierarchic view of imenu. The second one uses the current buffer only, the first one requires generation of TAGS from -CPerl/Tools/Tags menu beforehand. +Perl/Tools/Tags menu beforehand. + +Run Perl/Tools/Insert-spaces-if-needed to fix your lazy typing. + +Switch auto-help on/off with Perl/Tools/Auto-help. -Run CPerl/Tools/Insert-spaces-if-needed to fix your lazy typing. +Though with contemporary Emaxen CPerl mode should maintain the correct +parsing of Perl even when editing, sometimes it may be lost. Fix this by -Switch auto-help on/off with CPerl/Tools/Auto-help. + M-x norm RET -Before reporting (non-)problems look in the problem section on what I -know about them.") +Before reporting (non-)problems look in the problem section of online +micro-docs on what I know about CPerl problems.") (defvar cperl-problems 'please-ignore-this-line "Some faces will not be shown on some versions of Emacs unless you @@ -1322,13 +1495,14 @@ install choose-color.el, available from Emacs had a _very_ restricted syntax parsing engine until RMS's Emacs 20.1. Most problems below are corrected starting from this version of -Emacs, and all of them should go with (future) RMS's version 20.3. +Emacs, and all of them should go with RMS's version 20.3. +(Or apply patches to Emacs 19.33/34 - see tips.) Note that even with newer Emacsen interaction of `font-lock' and syntaxification is not cleaned up. You may get slightly different colors basing on the order of fontification and syntaxification. This might be corrected by setting `cperl-syntaxify-by-font-lock' to t, but -the corresponding code is still extremely buggy. +the corresponding code may still contain some bugs. Even with older Emacsen CPerl mode tries to corrects some Emacs misunderstandings, however, for efficiency reasons the degree of @@ -1350,9 +1524,10 @@ to insert it as $ {aaa} (legal in perl5, not in perl4). Similar problems arise in regexps, when /(\\s|$)/ should be rewritten as /($|\\s)/. Note that such a transposition is not always possible. -The solution is to upgrade your Emacs. Note that RMS's 20.2 has some -bugs related to `syntax-table' text properties. Patches are available -on the main CPerl download site, and on CPAN. +The solution is to upgrade your Emacs or patch an older one. Note +that RMS's 20.2 has some bugs related to `syntax-table' text +properties. Patches are available on the main CPerl download site, +and on CPAN. If these bugs cannot be fixed on your machine (say, you have an inferior environment and cannot recompile), you may still disable all the fancy stuff @@ -1360,7 +1535,9 @@ via `cperl-use-syntax-table-text-property'." ) (defvar cperl-non-problems 'please-ignore-this-line "As you know from `problems' section, Perl syntax is too hard for CPerl on -older Emacsen. +older Emacsen. Here is what you can do if you cannot upgrade, or if +you want to switch off these capabilities on RMS Emacs 20.2 (+patches) or 20.3 +or better. Please skip this docs if you run a capable Emacs already. Most of the time, if you write your own code, you may find an equivalent \(and almost as readable) expression (what is discussed below is usually @@ -1419,8 +1596,11 @@ as far as bugs reports I see are concerned.") 1) It does 99% of Perl syntax correct (as opposed to 80-90% in Perl mode - but the latter number may have improved too in last years) even -without `syntax-table' property; When using this property, it should -handle 99.995% of lines correct - or somesuch. +with old Emaxen which do not support `syntax-table' property. + +When using `syntax-table' property for syntax assist hints, it should +handle 99.995% of lines correct - or somesuch. It automatically +updates syntax assist hints when you edit your script. 2) It is generally believed to be \"the most user-friendly Emacs package\" whatever it may mean (I doubt that the people who say similar @@ -1471,6 +1651,7 @@ voice); n) Highlights (by user-choice) either 3-delimiters constructs (such as tr/a/b/), or regular expressions and `y/tr'. + m) Highlights trailing whitespace. 5) The indentation engine was very smart, but most of tricks may be not needed anymore with the support for `syntax-table' property. Has @@ -1533,6 +1714,41 @@ B) Speed of editing operations. of, say, long POD sections. ") +(defvar cperl-tips-faces 'please-ignore-this-line + "CPerl mode uses following faces for highlighting: + + cperl-array-face Array names + cperl-hash-face Hash names + font-lock-comment-face Comments, PODs and whatever is considered + syntaxically to be not code + font-lock-constant-face HERE-doc delimiters, labels, delimiters of + 2-arg operators s/y/tr/ or of RExen, + font-lock-function-name-face Special-cased m// and s//foo/, _ as + a target of a file tests, file tests, + subroutine names at the moment of definition + (except those conflicting with Perl operators), + package names (when recognized), format names + font-lock-keyword-face Control flow switch constructs, declarators + cperl-nonoverridable-face Non-overridable keywords, modifiers of RExen + font-lock-string-face Strings, qw() constructs, RExen, POD sections, + literal parts and the terminator of formats + and whatever is syntaxically considered + as string literals + font-lock-type-face Overridable keywords + font-lock-variable-name-face Variable declarations, indirect array and + hash names, POD headers/item names + cperl-invalid-face Trailing whitespace + +Note that in several situations the highlighting tries to inform about +possible confusion, such as different colors for function names in +declarations depending on what they (do not) override, or special cases +m// and s/// which do not do what one would expect them to do. + +Help with best setup of these faces for printout requested (for each of +the faces: please specify bold, italic, underline, shadow and box.) + +\(Not finished.)") + ;;; Portability stuff: @@ -1774,6 +1990,8 @@ B) Speed of editing operations. ["Insert spaces if needed" cperl-find-bad-style t] ["Class Hierarchy from TAGS" cperl-tags-hier-init t] ;;["Update classes" (cperl-tags-hier-init t) tags-table-list] + ["CPerl pretty print (exprmntl)" cperl-ps-print + (fboundp 'ps-extend-face-list)] ["Imenu on info" cperl-imenu-on-info (featurep 'imenu)] ("Tags" ;;; ["Create tags for current file" cperl-etags t] @@ -1832,7 +2050,11 @@ B) Speed of editing operations. ["Non-problems" (describe-variable 'cperl-non-problems) t] ["Speed" (describe-variable 'cperl-speed) t] ["Praise" (describe-variable 'cperl-praise) t] - ["CPerl mode" (describe-function 'cperl-mode) t])))) + ["Faces" (describe-variable 'cperl-tips-faces) t] + ["CPerl mode" (describe-function 'cperl-mode) t] + ["CPerl version" + (message "The version of master-file for this CPerl is %s" + cperl-version) t])))) (error nil)) (autoload 'c-macro-expand "cmacexp" @@ -2147,7 +2369,7 @@ or as help on variables `cperl-tips', `cperl-problems', ;; Fix broken font-lock: (or (boundp 'font-lock-unfontify-region-function) (set 'font-lock-unfontify-region-function - 'font-lock-default-unfontify-buffer)) + 'font-lock-default-unfontify-region)) (make-variable-buffer-local 'font-lock-unfontify-region-function) (set 'font-lock-unfontify-region-function 'cperl-font-lock-unfontify-region-function) @@ -2225,13 +2447,28 @@ or as help on variables `cperl-tips', `cperl-problems', ;; based on its context. Do fallback if comment is found wrong. (defvar cperl-wrong-comment) +(defvar cperl-st-cfence '(14)) ; Comment-fence +(defvar cperl-st-sfence '(15)) ; String-fence +(defvar cperl-st-punct '(1)) +(defvar cperl-st-word '(2)) +(defvar cperl-st-bra '(4 . ?\>)) +(defvar cperl-st-ket '(5 . ?\<)) + (defun cperl-comment-indent () - (let ((p (point)) (c (current-column)) was) + (let ((p (point)) (c (current-column)) was phony) (if (looking-at "^#") 0 ; Existing comment at bol stays there. ;; Wrong comment found (save-excursion - (setq was (cperl-to-comment-or-eol)) + (setq was (cperl-to-comment-or-eol) + phony (eq (get-text-property (point) 'syntax-table) + cperl-st-cfence)) + (if phony + (progn + (re-search-forward "#\\|$") ; Hmm, what about embedded #? + (if (eq (preceding-char) ?\#) + (forward-char -1)) + (setq was nil))) (if (= (point) p) (progn (skip-chars-backward " \t") @@ -2935,11 +3172,13 @@ Return the amount the indentation changed by." (looking-at "[a-zA-Z_][a-zA-Z0-9_]*:[^:]")))) (defun cperl-get-state (&optional parse-start start-state) - ;; returns list (START STATE DEPTH PRESTART), START is a good place - ;; to start parsing, STATE is what is returned by - ;; `parse-partial-sexp'. DEPTH is true is we are immediately after - ;; end of block which contains START. PRESTART is the position - ;; basing on which START was found. + ;; returns list (START STATE DEPTH PRESTART), + ;; START is a good place to start parsing, or equal to + ;; PARSE-START if preset, + ;; STATE is what is returned by `parse-partial-sexp'. + ;; DEPTH is true is we are immediately after end of block + ;; which contains START. + ;; PRESTART is the position basing on which START was found. (save-excursion (let ((start-point (point)) depth state start prestart) (if (and parse-start @@ -2960,7 +3199,6 @@ Return the amount the indentation changed by." (beginning-of-line 2))) ; Go to the next line. (if start (goto-char start))) ; Not at the start of file (setq start (point)) - (if (< start start-point) (setq parse-start start)) (or state (setq state (parse-partial-sexp start start-point -1 nil start-state))) (list start state depth prestart)))) @@ -2990,7 +3228,10 @@ Return the amount the indentation changed by." (defun cperl-calculate-indent (&optional parse-data) ; was parse-start "Return appropriate indentation for current line as Perl code. In usual case returns an integer: the column to indent to. -Returns nil if line starts inside a string, t if in a comment." +Returns nil if line starts inside a string, t if in a comment. + +Will not correct the indentation for labels, but will correct it for braces +and closing parentheses and brackets.." (save-excursion (if (or (memq (get-text-property (point) 'syntax-type) @@ -3030,19 +3271,21 @@ Returns nil if line starts inside a string, t if in a comment." (goto-char pre-indent-point) (let* ((case-fold-search nil) (s-s (cperl-get-state (car parse-data) (nth 1 parse-data))) - (start (nth 0 s-s)) + (start (or (nth 2 parse-data) + (nth 0 s-s))) (state (nth 1 s-s)) (containing-sexp (car (cdr state))) - (start-indent (save-excursion - (goto-char start) - (- (current-indentation) - (if (nth 2 s-s) cperl-indent-level 0)))) old-indent) - (if parse-data + (if (and + ;;containing-sexp ;; We are buggy at toplevel :-( + parse-data) (progn (setcar parse-data pre-indent-point) (setcar (cdr parse-data) state) - (setq old-indent (nth 2 parse-data)))) + (or (nth 2 parse-data) + (setcar (cddr parse-data) start)) + ;; Before this point: end of statement + (setq old-indent (nth 3 parse-data)))) ;; (or parse-start (null symbol) ;; (setq parse-start (symbol-value symbol) ;; start-indent (nth 2 parse-start) @@ -3092,7 +3335,10 @@ Returns nil if line starts inside a string, t if in a comment." ;; unless that ends in a closeparen without semicolon, ;; in which case this line is the first argument decl. (skip-chars-forward " \t") - (+ start-indent + (+ (save-excursion + (goto-char start) + (- (current-indentation) + (if (nth 2 s-s) cperl-indent-level 0))) (if (= char-after ?{) cperl-continued-brace-offset 0) (progn (cperl-backward-to-noncomment (or old-indent (point-min))) @@ -3101,10 +3347,12 @@ Returns nil if line starts inside a string, t if in a comment." ;; or function's arg decls. Set basic-indent accordingly. ;; Now add a little if this is a continuation line. (if (or (bobp) + (eq (point) old-indent) ; old-indent was at comment (eq (preceding-char) ?\;) ;; Had ?\) too (and (eq (preceding-char) ?\}) - (cperl-after-block-and-statement-beg start)) + (cperl-after-block-and-statement-beg + (point-min))) ; Was start - too close (memq char-after (append ")]}" nil)) (and (eq (preceding-char) ?\:) ; label (progn @@ -3114,7 +3362,7 @@ Returns nil if line starts inside a string, t if in a comment." (progn (if (and parse-data (not (eq char-after ?\C-j))) - (setcdr (cdr parse-data) + (setcdr (cddr parse-data) (list pre-indent-point))) 0) cperl-continued-statement-offset)))) @@ -3146,11 +3394,13 @@ Returns nil if line starts inside a string, t if in a comment." (cperl-backward-to-noncomment containing-sexp) ;; Back up over label lines, since they don't ;; affect whether our line is a continuation. - (while (or (eq (preceding-char) ?\,) + ;; (Had \, too) + (while ;;(or (eq (preceding-char) ?\,) (and (eq (preceding-char) ?:) (or;;(eq (char-after (- (point) 2)) ?\') ; ???? (memq (char-syntax (char-after (- (point) 2))) - '(?w ?_))))) + '(?w ?_)))) + ;;) (if (eq (preceding-char) ?\,) ;; Will go to beginning of line, essentially. ;; Will ignore embedded sexpr XXXX. @@ -3166,12 +3416,22 @@ Returns nil if line starts inside a string, t if in a comment." ;; This line is continuation of preceding line's statement; ;; indent `cperl-continued-statement-offset' more than the ;; previous line of the statement. + ;; + ;; There might be a label on this line, just + ;; consider it bad style and ignore it. (progn (cperl-backward-to-start-of-continued-exp containing-sexp) (+ (if (memq char-after (append "}])" nil)) 0 ; Closing parenth cperl-continued-statement-offset) - (current-column) + (if (looking-at "\\w+[ \t]*:") + (if (> (current-indentation) cperl-min-label-indent) + (- (current-indentation) cperl-label-offset) + ;; Do not move `parse-data', this should + ;; be quick anyway (this comment comes + ;;from different location): + (cperl-calculate-indent)) + (current-column)) (if (eq char-after ?\{) cperl-continued-brace-offset 0))) ;; This line starts a new statement. @@ -3487,13 +3747,6 @@ Returns true if comment is found." (defsubst cperl-1+ (p) (min (point-max) (1+ p))) -(defvar cperl-st-cfence '(14)) ; Comment-fence -(defvar cperl-st-sfence '(15)) ; String-fence -(defvar cperl-st-punct '(1)) -(defvar cperl-st-word '(2)) -(defvar cperl-st-bra '(4 . ?\>)) -(defvar cperl-st-ket '(5 . ?\<)) - (defsubst cperl-modify-syntax-type (at how) (if (< at (point-max)) (progn @@ -3537,7 +3790,7 @@ Returns true if comment is found." (skip-chars-forward " \t") ;; ender means matching-char matcher. (setq b (point) - starter (char-after b) + starter (if (eobp) 0 (char-after b)) ender (cdr (assoc starter cperl-starters))) ;; What if starter == ?\\ ???? (if set-st @@ -3642,11 +3895,15 @@ Returns true if comment is found." ;; Start-to-end is marked `here-doc-group' ==> t ;; The body is marked `syntax-type' ==> `here-doc' ;; The delimiter is marked `syntax-type' ==> `here-doc-delim' -;; a) FORMATs: +;; c) FORMATs: ;; After-initial-line--to-end is marked `syntax-type' ==> `format' +;; d) 'Q'uoted string: +;; part between markers inclusive is marked `syntax-type' ==> `string' -(defun cperl-unwind-to-safe (before) - (let ((pos (point))) +(defun cperl-unwind-to-safe (before &optional end) + ;; if BEFORE, go to the previous start-of-line on each step of unwinding + (let ((pos (point)) opos) + (setq opos pos) (while (and pos (get-text-property pos 'syntax-type)) (setq pos (previous-single-property-change pos 'syntax-type)) (if pos @@ -3657,7 +3914,14 @@ Returns true if comment is found." (setq pos (point))) (goto-char (setq pos (cperl-1- pos)))) ;; Up to the start - (goto-char (point-min)))))) + (goto-char (point-min)))) + (if end + ;; Do the same for end, going small steps + (progn + (while (and end (get-text-property end 'syntax-type)) + (setq pos end + end (next-single-property-change end 'syntax-type))) + (or end pos))))) (defun cperl-find-pods-heres (&optional min max non-inter end ignore-max) "Scans the buffer for hard-to-parse Perl constructions. @@ -3693,10 +3957,10 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (if (boundp 'font-lock-function-name-face) font-lock-function-name-face 'font-lock-function-name-face)) - (font-lock-other-type-face - (if (boundp 'font-lock-other-type-face) - font-lock-other-type-face - 'font-lock-other-type-face)) + (cperl-nonoverridable-face + (if (boundp 'cperl-nonoverridable-face) + cperl-nonoverridable-face + 'cperl-nonoverridable-face)) (stop-point (if ignore-max (point-max) max)) @@ -3970,6 +4234,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', i b c (char-after (match-beginning b1)) bb (char-after (1- (match-beginning b1))) ; tmp holder + ;; bb == "Not a stringy" bb (if (eq b1 10) ; user variables/whatever (or (memq bb '(?\$ ?\@ ?\% ?\* ?\#)) ; $#y @@ -3980,6 +4245,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', ?\&)))) ;; or <$file> (and (eq c ?\<) + ;; Do not stringify : (save-match-data (looking-at "\\s *\\$?\\([_a-zA-Z:][_a-zA-Z0-9:]*\\s *\\)?>")))) @@ -3995,10 +4261,10 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', ;; What is below: regexp-p? (and (or (memq (preceding-char) - (append (if (eq c ?\?) + (append (if (memq c '(?\? ?\<)) ;; $a++ ? 1 : 2 - "~{(=|&*!,;" - "~{(=|&+-*!,;") nil)) + "~{(=|&*!,;:" + "~{(=|&+-*!,;:") nil)) (and (eq (preceding-char) ?\}) (cperl-after-block-p (point-min))) (and (eq (char-syntax (preceding-char)) ?w) @@ -4069,9 +4335,11 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', ;; Considered as 1arg form (progn (cperl-commentify b (point) t) + (put-text-property b (point) 'syntax-type 'string) (and go - (setq e1 (1+ e1)) - (forward-char 1))) + (setq e1 (cperl-1+ e1)) + (or (eobp) + (forward-char 1)))) (cperl-commentify b i t) (if (looking-at "\\sw*e") ; s///e (progn @@ -4083,8 +4351,10 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (if (and tag (eq (preceding-char) ?\>)) (progn (cperl-modify-syntax-type (1- (point)) cperl-st-ket) - (cperl-modify-syntax-type i cperl-st-bra)))) + (cperl-modify-syntax-type i cperl-st-bra))) + (put-text-property b i 'syntax-type 'string)) (cperl-commentify b1 (point) t) + (put-text-property b (point) 'syntax-type 'string) (if qtag (cperl-modify-syntax-type (1+ i) cperl-st-punct)) (setq tail nil))) @@ -4094,7 +4364,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (forward-word 1) ; skip modifiers s///s (if tail (cperl-commentify tail (point) t)) (cperl-postpone-fontification - e1 (point) 'face font-lock-other-type-face))) + e1 (point) 'face cperl-nonoverridable-face))) ;; Check whether it is m// which means "previous match" ;; and highlight differently (if (and (eq e (+ 2 b)) @@ -4118,7 +4388,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (not (eq ?\< (char-after b))))))) (progn (cperl-postpone-fontification - b (1+ b) 'face font-lock-constant-face) + b (cperl-1+ b) 'face font-lock-constant-face) (cperl-postpone-fontification (1- e) e 'face font-lock-constant-face)))) (if i2 @@ -4136,8 +4406,8 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', '(?\$ ?\@ ?\% ?\& ?\*)) nil (setq state (parse-partial-sexp - state-point (1- b) nil nil state) - state-point (1- b)) + state-point b nil nil state) + state-point b) (if (or (nth 3 state) (nth 4 state)) nil ;; Mark as string @@ -4233,7 +4503,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (if (eq (char-syntax (preceding-char)) ?w) ; else {} (save-excursion (forward-sexp -1) - (or (looking-at "\\(else\\|grep\\|map\\)\\>") + (or (looking-at "\\(else\\|grep\\|map\\|BEGIN\\|END\\)\\>") ;; sub f {} (progn (cperl-backward-to-noncomment lim) @@ -4257,11 +4527,19 @@ CHARS is a string that contains good characters to have before us (however, (setq p (point)) (beginning-of-line) (if (looking-at "^[ \t]*\\(#\\|$\\)") nil ; Only comment, skip - ;; Else: last iteration (What to do with labels?) + ;; Else: last iteration, or a label (cperl-to-comment-or-eol) (skip-chars-backward " \t") (if (< p (point)) (goto-char p)) - (setq stop t))) + (setq p (point)) + (if (and (eq (preceding-char) ?:) + (progn + (forward-char -1) + (skip-chars-backward " \t\n\f" lim) + (eq (char-syntax (preceding-char)) ?w))) + (forward-sexp -1) ; Possibly label. Skip it + (goto-char p) + (setq stop t)))) (or (bobp) ; ???? Needed (eq (point) lim) (progn @@ -4300,8 +4578,9 @@ CHARS is a string that contains good characters to have before us (however, (defun cperl-indent-exp () "Simple variant of indentation of continued-sexp. -Should be slow. Will not indent comment if it starts at `comment-indent' -or looks like continuation of the comment on the previous line. + +Will not indent comment if it starts at `comment-indent' or looks like +continuation of the comment on the previous line. If `cperl-indent-region-fix-constructs', will improve spacing on conditional/loop constructs." @@ -4319,7 +4598,10 @@ conditional/loop constructs." (while (< (point) tmp-end) (parse-partial-sexp (point) tmp-end nil t) ; To start-sexp or eol (or (eolp) (forward-sexp 1))) - (if (> (point) tmp-end) (progn (end-of-line) (setq tmp-end (point))) + (if (> (point) tmp-end) + (save-excursion + (end-of-line) + (setq tmp-end (point))) (setq done t))) (goto-char tmp-end) (setq tmp-end (point-marker))) @@ -4328,16 +4610,18 @@ conditional/loop constructs." (cperl-indent-region (point) tmp-end)))) (defun cperl-fix-line-spacing (&optional end parse-data) - "Improve whitespace in a conditional/loop construct." + "Improve whitespace in a conditional/loop construct. +Returns some position at the last line." (interactive) (or end (setq end (point-max))) - (let (p pp ml have-brace + (let (p pp ml have-brace ret (ee (save-excursion (end-of-line) (point))) (cperl-indent-region-fix-constructs (or cperl-indent-region-fix-constructs 1))) (save-excursion (beginning-of-line) + (setq ret (point)) ;; }? continue ;; blah; } (if (not @@ -4429,8 +4713,11 @@ conditional/loop constructs." (progn (delete-horizontal-space) (insert "\n") + (setq ret (point)) (if (cperl-indent-line parse-data) - (cperl-fix-line-spacing end parse-data))) + (progn + (cperl-fix-line-spacing end parse-data) + (setq ret (point))))) (insert (make-string cperl-indent-region-fix-constructs ?\ )))) ((and (looking-at "[ \t]*\n") @@ -4457,8 +4744,9 @@ conditional/loop constructs." (goto-char (1+ pp)) (delete-horizontal-space) (insert "\n") + (setq ret (point)) (if (cperl-indent-line parse-data) - (cperl-fix-line-spacing end parse-data)))))))))) + (setq ret (cperl-fix-line-spacing end parse-data))))))))))) (beginning-of-line) (setq p (point) pp (save-excursion (end-of-line) (point))) ; May be different from ee. ;; Now check whether there is a hanging `}' @@ -4494,10 +4782,12 @@ conditional/loop constructs." (and (eq (preceding-char) ?\} ) (cperl-after-block-p (point-min))) (insert ";")) - (insert "\n")) + (insert "\n") + (setq ret (point))) (if (cperl-indent-line parse-data) - (cperl-fix-line-spacing end parse-data)) - (beginning-of-line))))))) + (setq ret (cperl-fix-line-spacing end parse-data))) + (beginning-of-line))))) + ret)) (defvar cperl-update-start) ; Do not need to make them local (defvar cperl-update-end) @@ -4518,9 +4808,9 @@ conditional/loop constructs." (cperl-update-syntaxification end end) (save-excursion (let (cperl-update-start cperl-update-end (h-a-c after-change-functions)) - (let (st comm old-comm-indent new-comm-indent p pp i + (let (st comm old-comm-indent new-comm-indent p pp i empty (indent-info (if cperl-emacs-can-parse - (list nil nil) ; Cannot use '(), since will modify + (list nil nil nil) ; Cannot use '(), since will modify nil)) after-change-functions ; Speed it up! (pm 0) (imenu-scanning-message "Indenting... (%3d%%)")) @@ -4539,13 +4829,18 @@ conditional/loop constructs." (imenu-progress-message pm (/ (* 100 (- (point) start)) (- end start -1)))) (setq st (point)) - (if (and (setq comm (looking-at "[ \t]*#")) - (or (eq (current-indentation) (or old-comm-indent - comment-column)) - (setq old-comm-indent nil))) + (if (or + (setq empty (looking-at "[ \t]*\n")) + (and (setq comm (looking-at "[ \t]*#")) + (or (eq (current-indentation) (or old-comm-indent + comment-column)) + (setq old-comm-indent nil)))) (if (and old-comm-indent + (not empty) (= (current-indentation) old-comm-indent) - (not (eq (get-text-property (point) 'syntax-type) 'pod))) + (not (eq (get-text-property (point) 'syntax-type) 'pod)) + (not (eq (get-text-property (point) 'syntax-table) + cperl-st-cfence))) (let ((comment-column new-comm-indent)) (indent-for-comment))) (progn @@ -4554,12 +4849,15 @@ conditional/loop constructs." (not i) (progn (if cperl-indent-region-fix-constructs - (cperl-fix-line-spacing end indent-info)) + (goto-char (cperl-fix-line-spacing end indent-info))) (if (setq old-comm-indent (and (cperl-to-comment-or-eol) (not (memq (get-text-property (point) 'syntax-type) '(pod here-doc))) + (not (eq (get-text-property (point) + 'syntax-table) + cperl-st-cfence)) (current-column))) (progn (indent-for-comment) (skip-chars-backward " \t") @@ -4917,7 +5215,10 @@ indentation and initial hashes. Behaves usually outside of comment." (defun cperl-init-faces-weak () ;; Allow `cperl-find-pods-heres' to run. (or (boundp 'font-lock-constant-face) - (setq font-lock-constant-face 'font-lock-constant-face))) + (cperl-force-face font-lock-constant-face + "Face for constant and label names") + ;;(setq font-lock-constant-face 'font-lock-constant-face) + )) (defun cperl-init-faces () (condition-case errs @@ -4932,6 +5233,7 @@ indentation and initial hashes. Behaves usually outside of comment." (setq t-font-lock-keywords (list + (list "[ \t]+$" 0 cperl-invalid-face t) (cons (concat "\\(^\\|[^$@%&\\]\\)\\<\\(" @@ -5038,14 +5340,14 @@ indentation and initial hashes. Behaves usually outside of comment." "u\\(se\\|n\\(shift\\|ti\\(l\\|e\\)\\|def\\|less\\)\\)\\|" "while\\|y\\|__\\(END\\|DATA\\)__" ;__DATA__ added manually "\\|[sm]" ; Added manually - "\\)\\>") 2 'font-lock-other-type-face) + "\\)\\>") 2 'cperl-nonoverridable-face) ;; (mapconcat 'identity ;; '("#endif" "#else" "#ifdef" "#ifndef" "#if" ;; "#include" "#define" "#undef") ;; "\\|") '("-[rwxoRWXOezsfdlpSbctugkTBMAC]\\>\\([ \t]+_\\>\\)?" 0 font-lock-function-name-face keep) ; Not very good, triggers at "[a-z]" - '("\\ (length file) 0) + (setq file nil)) + (require 'ps-print) ; To get ps-print-face-extension-alist + (let ((ps-print-color-p t) + (ps-print-face-extension-alist ps-print-face-extension-alist)) + (cperl-ps-extend-face-list cperl-ps-print-face-properties) + (ps-print-buffer-with-faces file))) + +;;; (defun cperl-ps-print-init () +;;; "Initialization of `ps-print' components for faces used in CPerl." +;;; ;; Guard against old versions +;;; (defvar ps-underlined-faces nil) +;;; (defvar ps-bold-faces nil) +;;; (defvar ps-italic-faces nil) +;;; (setq ps-bold-faces +;;; (append '(font-lock-emphasized-face +;;; cperl-array-face +;;; font-lock-keyword-face +;;; font-lock-variable-name-face +;;; font-lock-constant-face +;;; font-lock-reference-face +;;; font-lock-other-emphasized-face +;;; cperl-hash-face) +;;; ps-bold-faces)) +;;; (setq ps-italic-faces +;;; (append '(cperl-nonoverridable-face +;;; font-lock-constant-face +;;; font-lock-reference-face +;;; font-lock-other-emphasized-face +;;; cperl-hash-face) +;;; ps-italic-faces)) +;;; (setq ps-underlined-faces +;;; (append '(font-lock-emphasized-face +;;; cperl-array-face +;;; font-lock-other-emphasized-face +;;; cperl-hash-face +;;; cperl-nonoverridable-face font-lock-type-face) +;;; ps-underlined-faces)) +;;; (cons 'font-lock-type-face ps-underlined-faces)) (if (cperl-enable-font-lock) (cperl-windowed-init)) @@ -5457,7 +5805,7 @@ indentation and initial hashes. Behaves usually outside of comment." ;;(cperl-extra-newline-before-brace . nil) ; ??? (cperl-continued-statement-offset . 4))) "(Experimental) list of variables to set to get a particular indentation style. -Should be used via `cperl-set-style' or via CPerl menu.") +Should be used via `cperl-set-style' or via Perl menu.") (defun cperl-set-style (style) "Set CPerl-mode variables to use one of several different indentation styles. @@ -5799,7 +6147,9 @@ See `cperl-lazy-help-time' too." "Toggle whether `indent-region'/`indent-sexp' fix whitespace too." (interactive) (setq cperl-indent-region-fix-constructs - (not cperl-indent-region-fix-constructs)) + (if cperl-indent-region-fix-constructs + nil + 1)) (message "indent-region/indent-sexp will %sbe automatically fix whitespace." (if cperl-indent-region-fix-constructs "" "not "))) @@ -5889,8 +6239,10 @@ See `cperl-lazy-help-time' too." (lambda (elt) (cond ((string-match "^[_a-zA-Z]" (car elt)) (goto-char (cdr elt)) + (beginning-of-line) ; pos should be of the start of the line (list (car elt) - (point) (count-lines 1 (point)) + (point) + (1+ (count-lines 1 (point))) ; 1+ since at beg-o-l (buffer-substring (progn (skip-chars-forward ":_a-zA-Z0-9") @@ -5911,9 +6263,9 @@ See `cperl-lazy-help-time' too." (substring (car elt) 8) (car elt) ) 1 - (number-to-string (elt elt 1)) + (number-to-string (elt elt 2)) ; Line "," - (number-to-string (elt elt 2)) + (number-to-string (1- (elt elt 1))) ; Char pos 0-based "\n") (if (and (string-match "^[_a-zA-Z]+::" (car elt)) (string-match "^sub[ \t]+\\([_a-zA-Z]+\\)[^:_a-zA-Z]" @@ -5965,11 +6317,13 @@ Use as (setq topdir default-directory)) (let ((tags-file-name "TAGS") (case-fold-search (eq system-type 'emx)) - xs) + xs rel) (save-excursion (cond (inbuffer nil) ; Already there ((file-exists-p tags-file-name) - (visit-tags-table-buffer tags-file-name)) + (if cperl-xemacs-p + (visit-tags-table-buffer) + (visit-tags-table-buffer tags-file-name))) (t (set-buffer (find-file-noselect tags-file-name)))) (cond (dir @@ -6000,7 +6354,12 @@ Use as (erase (erase-buffer)) (t (goto-char 1) - (if (search-forward (concat "\f\n" file ",") nil t) + (setq rel file) + ;; On case-preserving filesystems (EMX on OS/2) case might be encoded in properties + (set-text-properties 0 (length rel) nil rel) + (and (equal topdir (substring rel 0 (length topdir))) + (setq rel (substring file (length topdir)))) + (if (search-forward (concat "\f\n" rel ",") nil t) (progn (search-backward "\f\n") (delete-region (point) @@ -6052,11 +6411,12 @@ Use as (setq ;;str (buffer-substring (match-beginning 1) (match-end 1)) name (buffer-substring (match-beginning 2) (match-end 2)) ;;pos (buffer-substring (match-beginning 3) (match-end 3)) - line (buffer-substring (match-beginning 4) (match-end 4)) + line (buffer-substring (match-beginning 3) (match-end 3)) ord (if pack 1 0) - info (etags-snarf-tag) ; Moves to beginning of the next line file (file-of-tag) - fileind (format "%s:%s" file line)) + fileind (format "%s:%s" file line) + ;; Moves to beginning of the next line: + info (cperl-etags-snarf-tag file line)) ;; Move back (forward-char -1) ;; Make new member of hierarchy name ==> file ==> pos if needed @@ -6082,22 +6442,31 @@ One may build such TAGS files from CPerl mode menu." (require 'etags) (require 'imenu) (if (or update (null (nth 2 cperl-hierarchy))) - (let (pack name cons1 to l1 l2 l3 l4 + (let (pack name cons1 to l1 l2 l3 l4 b (remover (function (lambda (elt) ; (name (file1...) (file2..)) (or (nthcdr 2 elt) ;; Only in one file (setcdr elt (cdr (nth 1 elt)))))))) ;; (setq cperl-hierarchy '(() () ())) ; Would write into '() later! (setq cperl-hierarchy (list l1 l2 l3)) - (or tags-table-list - (call-interactively 'visit-tags-table)) - (message "Updating list of classes...") - (mapcar - (function - (lambda (tagsfile) - (set-buffer (get-file-buffer tagsfile)) - (cperl-tags-hier-fill))) - tags-table-list) + (if cperl-xemacs-p ; Not checked + (progn + (or tags-file-name + ;; Does this work in XEmacs? + (call-interactively 'visit-tags-table)) + (message "Updating list of classes...") + (set-buffer (get-file-buffer tags-file-name)) + (cperl-tags-hier-fill)) + (or tags-table-list + (call-interactively 'visit-tags-table)) + (mapcar + (function + (lambda (tagsfile) + (message "Updating list of classes... %s" tagsfile) + (set-buffer (get-file-buffer tagsfile)) + (cperl-tags-hier-fill))) + tags-table-list) + (message "Updating list of classes... postprocessing...")) (mapcar remover (car cperl-hierarchy)) (mapcar remover (nth 1 cperl-hierarchy)) (setq to (list nil (cons "Packages: " (nth 1 cperl-hierarchy)) @@ -6122,7 +6491,7 @@ One may build such TAGS files from CPerl mode menu." (if (vectorp update) (progn (find-file (elt update 0)) - (etags-goto-tag-location (elt update 1)))) + (cperl-etags-goto-tag-location (elt update 1)))) (if (eq update -999) (cperl-tags-hier-init t))) (defun cperl-tags-treeify (to level) @@ -7127,7 +7496,7 @@ We suppose that the regexp is scanned already." (or done (forward-char -1))))) (defun cperl-contract-level () - "Find an enclosing group in regexp and contract it. Unfinished. + "Find an enclosing group in regexp and contract it. \(Experimental, may change semantics, recheck the result.) We suppose that the regexp is scanned already." (interactive) @@ -7150,7 +7519,7 @@ We suppose that the regexp is scanned already." (just-one-space)))))) (defun cperl-contract-levels () - "Find an enclosing group in regexp and contract all the kids. Unfinished. + "Find an enclosing group in regexp and contract all the kids. \(Experimental, may change semantics, recheck the result.) We suppose that the regexp is scanned already." (interactive) @@ -7388,9 +7757,12 @@ We suppose that the regexp is scanned already." (defvar cperl-d-l nil) (defun cperl-fontify-syntaxically (end) - (and cperl-syntaxify-unwind - (cperl-unwind-to-safe t)) - (let ((start (point)) (dbg (point))) + ;; Some vars for debugging only + (let (start (dbg (point)) (iend end) + (istate (car cperl-syntax-state))) + (and cperl-syntaxify-unwind + (setq end (cperl-unwind-to-safe t end))) + (setq start (point)) (or cperl-syntax-done-to (setq cperl-syntax-done-to (point-min))) (if (or (not (boundp 'font-lock-hot-pass)) @@ -7410,9 +7782,10 @@ We suppose that the regexp is scanned already." ;;(princ (format "Syntaxifying %s..%s from %s to %s\n" ;; dbg end start cperl-syntax-done-to))) (if (eq cperl-syntaxify-by-font-lock 'message) - (message "Syntaxified %s..%s from %s to %s, state at %s" - dbg end start cperl-syntax-done-to - (car cperl-syntax-state))) ; For debugging + (message "Syntaxified %s..%s from %s to %s(%s), state %s-->%s" + dbg iend + start end cperl-syntax-done-to + istate (car cperl-syntax-state))) ; For debugging nil)) ; Do not iterate (defun cperl-fontify-update (end) @@ -7434,6 +7807,12 @@ We suppose that the regexp is scanned already." (goto-char from) (cperl-fontify-syntaxically to))))) +(defvar cperl-version + (let ((v "$Revision: 4.19 $")) + (string-match ":\\s *\\([0-9.]+\\)" v) + (substring v (match-beginning 1) (match-end 1))) + "Version of IZ-supported CPerl package this file is based on.") + (provide 'cperl-mode) ;;; cperl-mode.el ends here diff --git a/gnu/usr.bin/perl/embed.h b/gnu/usr.bin/perl/embed.h index e7deb325750..d372b206872 100644 --- a/gnu/usr.bin/perl/embed.h +++ b/gnu/usr.bin/perl/embed.h @@ -1,38 +1,86 @@ /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by embed.pl from global.sym, intrpvar.h, - and thrdvar.h. Any changes made here will be lost! + This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, + perlvars.h and thrdvar.h. Any changes made here will be lost! */ /* (Doing namespace management portably in C is really gross.) */ -/* EMBED has no run-time penalty, but helps keep the Perl namespace - from colliding with that used by other libraries pulled in - by extensions or by embedding perl. Allow a cc -DNO_EMBED - override, however, to keep binary compatability with previous - versions of perl. -*/ -#ifndef NO_EMBED -# define EMBED 1 +/* NO_EMBED is no longer supported. i.e. EMBED is always active. */ + +/* provide binary compatible (but inconsistent) names */ +#if defined(PERL_BINCOMPAT_5005) +# define Perl_call_atexit perl_atexit +# define Perl_eval_sv perl_eval_sv +# define Perl_eval_pv perl_eval_pv +# define Perl_call_argv perl_call_argv +# define Perl_call_method perl_call_method +# define Perl_call_pv perl_call_pv +# define Perl_call_sv perl_call_sv +# define Perl_get_av perl_get_av +# define Perl_get_cv perl_get_cv +# define Perl_get_hv perl_get_hv +# define Perl_get_sv perl_get_sv +# define Perl_init_i18nl10n perl_init_i18nl10n +# define Perl_init_i18nl14n perl_init_i18nl14n +# define Perl_new_collate perl_new_collate +# define Perl_new_ctype perl_new_ctype +# define Perl_new_numeric perl_new_numeric +# define Perl_require_pv perl_require_pv +# define Perl_safesyscalloc Perl_safecalloc +# define Perl_safesysfree Perl_safefree +# define Perl_safesysmalloc Perl_safemalloc +# define Perl_safesysrealloc Perl_saferealloc +# define Perl_set_numeric_local perl_set_numeric_local +# define Perl_set_numeric_standard perl_set_numeric_standard +/* malloc() pollution was the default in earlier versions, so enable + * it for bincompat; but not for systems that used to do prevent that, + * or when they ask for {HIDE,EMBED}MYMALLOC */ +# if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC) +# if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \ + !defined(__QNX__) +# define PERL_POLLUTE_MALLOC +# endif +# endif #endif -/* Hide global symbols? */ +/* Hide global symbols */ -#ifdef EMBED +#if !defined(PERL_OBJECT) +#if !defined(PERL_IMPLICIT_CONTEXT) -#define AMG_names Perl_AMG_names -#define Error Perl_Error -#define Gv_AMupdate Perl_Gv_AMupdate -#define abs_amg Perl_abs_amg -#define add_amg Perl_add_amg -#define add_ass_amg Perl_add_ass_amg -#define additem Perl_additem +#if defined(PERL_IMPLICIT_SYS) +#endif +#if defined(USE_ITHREADS) +# if defined(PERL_IMPLICIT_SYS) +# endif +#endif +#if defined(MYMALLOC) +#define malloced_size Perl_malloced_size +#endif +#define get_context Perl_get_context +#define set_context Perl_set_context +#if defined(PERL_OBJECT) +#ifndef __BORLANDC__ +#endif +#endif +#if defined(PERL_OBJECT) +#else +#endif #define amagic_call Perl_amagic_call +#define Gv_AMupdate Perl_Gv_AMupdate #define append_elem Perl_append_elem #define append_list Perl_append_list #define apply Perl_apply -#define assertref Perl_assertref -#define atan2_amg Perl_atan2_amg +#define avhv_delete_ent Perl_avhv_delete_ent +#define avhv_exists_ent Perl_avhv_exists_ent +#define avhv_fetch_ent Perl_avhv_fetch_ent +#define avhv_store_ent Perl_avhv_store_ent +#define avhv_iternext Perl_avhv_iternext +#define avhv_iterval Perl_avhv_iterval +#define avhv_keys Perl_avhv_keys #define av_clear Perl_av_clear +#define av_delete Perl_av_delete +#define av_exists Perl_av_exists #define av_extend Perl_av_extend #define av_fake Perl_av_fake #define av_fetch Perl_av_fetch @@ -46,169 +94,134 @@ #define av_store Perl_av_store #define av_undef Perl_av_undef #define av_unshift Perl_av_unshift -#define avhv_exists_ent Perl_avhv_exists_ent -#define avhv_fetch_ent Perl_avhv_fetch_ent -#define avhv_iternext Perl_avhv_iternext -#define avhv_iterval Perl_avhv_iterval -#define avhv_keys Perl_avhv_keys -#define band_amg Perl_band_amg #define bind_match Perl_bind_match #define block_end Perl_block_end #define block_gimme Perl_block_gimme #define block_start Perl_block_start -#define block_type Perl_block_type -#define bool__amg Perl_bool__amg #define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL -#define bor_amg Perl_bor_amg -#define bset_obj_store Perl_bset_obj_store -#define bxor_amg Perl_bxor_amg -#define byterun Perl_byterun #define call_list Perl_call_list #define cando Perl_cando #define cast_ulong Perl_cast_ulong -#define check Perl_check -#define check_uni Perl_check_uni -#define checkcomma Perl_checkcomma -#define ck_aelem Perl_ck_aelem -#define ck_anoncode Perl_ck_anoncode -#define ck_bitop Perl_ck_bitop -#define ck_concat Perl_ck_concat -#define ck_delete Perl_ck_delete -#define ck_eof Perl_ck_eof -#define ck_eval Perl_ck_eval -#define ck_exec Perl_ck_exec -#define ck_exists Perl_ck_exists -#define ck_ftst Perl_ck_ftst -#define ck_fun Perl_ck_fun -#define ck_fun_locale Perl_ck_fun_locale -#define ck_glob Perl_ck_glob -#define ck_grep Perl_ck_grep -#define ck_gvconst Perl_ck_gvconst -#define ck_index Perl_ck_index -#define ck_lengthconst Perl_ck_lengthconst -#define ck_lfun Perl_ck_lfun -#define ck_listiob Perl_ck_listiob -#define ck_match Perl_ck_match -#define ck_null Perl_ck_null -#define ck_repeat Perl_ck_repeat -#define ck_require Perl_ck_require -#define ck_retarget Perl_ck_retarget -#define ck_rfun Perl_ck_rfun -#define ck_rvconst Perl_ck_rvconst -#define ck_scmp Perl_ck_scmp -#define ck_select Perl_ck_select -#define ck_shift Perl_ck_shift -#define ck_sort Perl_ck_sort -#define ck_spair Perl_ck_spair -#define ck_split Perl_ck_split -#define ck_subr Perl_ck_subr -#define ck_svconst Perl_ck_svconst -#define ck_trunc Perl_ck_trunc -#define compl_amg Perl_compl_amg -#define concat_amg Perl_concat_amg -#define concat_ass_amg Perl_concat_ass_amg +#define cast_i32 Perl_cast_i32 +#define cast_iv Perl_cast_iv +#define cast_uv Perl_cast_uv +#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) +#define my_chsize Perl_my_chsize +#endif +#if defined(USE_THREADS) #define condpair_magic Perl_condpair_magic +#endif #define convert Perl_convert -#define cos_amg Perl_cos_amg #define croak Perl_croak +#define vcroak Perl_vcroak +#if defined(PERL_IMPLICIT_CONTEXT) +#define croak_nocontext Perl_croak_nocontext +#define die_nocontext Perl_die_nocontext +#define deb_nocontext Perl_deb_nocontext +#define form_nocontext Perl_form_nocontext +#define load_module_nocontext Perl_load_module_nocontext +#define mess_nocontext Perl_mess_nocontext +#define warn_nocontext Perl_warn_nocontext +#define warner_nocontext Perl_warner_nocontext +#define newSVpvf_nocontext Perl_newSVpvf_nocontext +#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext +#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext +#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext +#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext +#define fprintf_nocontext Perl_fprintf_nocontext +#endif #define cv_ckproto Perl_cv_ckproto #define cv_clone Perl_cv_clone #define cv_const_sv Perl_cv_const_sv +#define op_const_sv Perl_op_const_sv #define cv_undef Perl_cv_undef #define cx_dump Perl_cx_dump +#define filter_add Perl_filter_add +#define filter_del Perl_filter_del +#define filter_read Perl_filter_read +#define get_op_descs Perl_get_op_descs +#define get_op_names Perl_get_op_names +#define get_no_modify Perl_get_no_modify +#define get_opargs Perl_get_opargs +#define get_ppaddr Perl_get_ppaddr #define cxinc Perl_cxinc -#define dc Perl_dc #define deb Perl_deb -#define deb_growlevel Perl_deb_growlevel -#define debop Perl_debop +#define vdeb Perl_vdeb #define debprofdump Perl_debprofdump +#define debop Perl_debop #define debstack Perl_debstack #define debstackptrs Perl_debstackptrs -#define dec_amg Perl_dec_amg #define delimcpy Perl_delimcpy #define deprecate Perl_deprecate -#define di Perl_di #define die Perl_die +#define vdie Perl_vdie #define die_where Perl_die_where -#define div_amg Perl_div_amg -#define div_ass_amg Perl_div_ass_amg +#define dounwind Perl_dounwind #define do_aexec Perl_do_aexec +#define do_aexec5 Perl_do_aexec5 #define do_binmode Perl_do_binmode -#define do_chomp Perl_do_chomp #define do_chop Perl_do_chop #define do_close Perl_do_close #define do_eof Perl_do_eof #define do_exec Perl_do_exec +#if !defined(WIN32) +#define do_exec3 Perl_do_exec3 +#endif #define do_execfree Perl_do_execfree +#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) #define do_ipcctl Perl_do_ipcctl #define do_ipcget Perl_do_ipcget -#define do_join Perl_do_join -#define do_kv Perl_do_kv #define do_msgrcv Perl_do_msgrcv #define do_msgsnd Perl_do_msgsnd +#define do_semop Perl_do_semop +#define do_shmio Perl_do_shmio +#endif +#define do_join Perl_do_join +#define do_kv Perl_do_kv #define do_open Perl_do_open +#define do_open9 Perl_do_open9 #define do_pipe Perl_do_pipe #define do_print Perl_do_print #define do_readline Perl_do_readline +#define do_chomp Perl_do_chomp #define do_seek Perl_do_seek -#define do_semop Perl_do_semop -#define do_shmio Perl_do_shmio #define do_sprintf Perl_do_sprintf #define do_sysseek Perl_do_sysseek #define do_tell Perl_do_tell #define do_trans Perl_do_trans +#define do_vecget Perl_do_vecget #define do_vecset Perl_do_vecset #define do_vop Perl_do_vop #define dofile Perl_dofile -#define dofindlabel Perl_dofindlabel -#define dopoptoeval Perl_dopoptoeval -#define dounwind Perl_dounwind #define dowantarray Perl_dowantarray -#define ds Perl_ds #define dump_all Perl_dump_all #define dump_eval Perl_dump_eval +#if defined(DUMP_FDS) #define dump_fds Perl_dump_fds +#endif #define dump_form Perl_dump_form -#define dump_gv Perl_dump_gv -#define dump_mstats Perl_dump_mstats -#define dump_op Perl_dump_op +#define gv_dump Perl_gv_dump +#define op_dump Perl_op_dump +#define pmop_dump Perl_pmop_dump #define dump_packsubs Perl_dump_packsubs -#define dump_pm Perl_dump_pm #define dump_sub Perl_dump_sub -#define eq_amg Perl_eq_amg -#define exp_amg Perl_exp_amg -#define expectterm Perl_expectterm -#define fallback_amg Perl_fallback_amg #define fbm_compile Perl_fbm_compile #define fbm_instr Perl_fbm_instr -#define fetch_gv Perl_fetch_gv -#define fetch_io Perl_fetch_io -#define filter_add Perl_filter_add -#define filter_del Perl_filter_del -#define filter_read Perl_filter_read #define find_script Perl_find_script +#if defined(USE_THREADS) #define find_threadsv Perl_find_threadsv -#define fold Perl_fold -#define fold_constants Perl_fold_constants -#define fold_locale Perl_fold_locale -#define force_ident Perl_force_ident +#endif #define force_list Perl_force_list -#define force_next Perl_force_next -#define force_word Perl_force_word +#define fold_constants Perl_fold_constants #define form Perl_form +#define vform Perl_vform #define free_tmps Perl_free_tmps -#define freq Perl_freq -#define ge_amg Perl_ge_amg #define gen_constant_list Perl_gen_constant_list -#define get_no_modify Perl_get_no_modify -#define get_op_descs Perl_get_op_descs -#define get_op_names Perl_get_op_names -#define get_opargs Perl_get_opargs -#define get_specialsv_list Perl_get_specialsv_list -#define get_vtbl Perl_get_vtbl +#if !defined(HAS_GETENV_LEN) +#define getenv_len Perl_getenv_len +#endif #define gp_free Perl_gp_free #define gp_ref Perl_gp_ref -#define gt_amg Perl_gt_amg #define gv_AVadd Perl_gv_AVadd #define gv_HVadd Perl_gv_HVadd #define gv_IOadd Perl_gv_IOadd @@ -244,39 +257,82 @@ #define hv_iterval Perl_hv_iterval #define hv_ksplit Perl_hv_ksplit #define hv_magic Perl_hv_magic -#define hv_stashpv Perl_hv_stashpv #define hv_store Perl_hv_store #define hv_store_ent Perl_hv_store_ent #define hv_undef Perl_hv_undef #define ibcmp Perl_ibcmp #define ibcmp_locale Perl_ibcmp_locale -#define inc_amg Perl_inc_amg #define ingroup Perl_ingroup +#define init_debugger Perl_init_debugger #define init_stacks Perl_init_stacks -#define init_thread_intern Perl_init_thread_intern -#define instr Perl_instr #define intro_my Perl_intro_my -#define intuit_more Perl_intuit_more -#define invert Perl_invert +#define instr Perl_instr #define io_close Perl_io_close +#define invert Perl_invert +#define is_uni_alnum Perl_is_uni_alnum +#define is_uni_alnumc Perl_is_uni_alnumc +#define is_uni_idfirst Perl_is_uni_idfirst +#define is_uni_alpha Perl_is_uni_alpha +#define is_uni_ascii Perl_is_uni_ascii +#define is_uni_space Perl_is_uni_space +#define is_uni_cntrl Perl_is_uni_cntrl +#define is_uni_graph Perl_is_uni_graph +#define is_uni_digit Perl_is_uni_digit +#define is_uni_upper Perl_is_uni_upper +#define is_uni_lower Perl_is_uni_lower +#define is_uni_print Perl_is_uni_print +#define is_uni_punct Perl_is_uni_punct +#define is_uni_xdigit Perl_is_uni_xdigit +#define to_uni_upper Perl_to_uni_upper +#define to_uni_title Perl_to_uni_title +#define to_uni_lower Perl_to_uni_lower +#define is_uni_alnum_lc Perl_is_uni_alnum_lc +#define is_uni_alnumc_lc Perl_is_uni_alnumc_lc +#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc +#define is_uni_alpha_lc Perl_is_uni_alpha_lc +#define is_uni_ascii_lc Perl_is_uni_ascii_lc +#define is_uni_space_lc Perl_is_uni_space_lc +#define is_uni_cntrl_lc Perl_is_uni_cntrl_lc +#define is_uni_graph_lc Perl_is_uni_graph_lc +#define is_uni_digit_lc Perl_is_uni_digit_lc +#define is_uni_upper_lc Perl_is_uni_upper_lc +#define is_uni_lower_lc Perl_is_uni_lower_lc +#define is_uni_print_lc Perl_is_uni_print_lc +#define is_uni_punct_lc Perl_is_uni_punct_lc +#define is_uni_xdigit_lc Perl_is_uni_xdigit_lc +#define to_uni_upper_lc Perl_to_uni_upper_lc +#define to_uni_title_lc Perl_to_uni_title_lc +#define to_uni_lower_lc Perl_to_uni_lower_lc +#define is_utf8_char Perl_is_utf8_char +#define is_utf8_alnum Perl_is_utf8_alnum +#define is_utf8_alnumc Perl_is_utf8_alnumc +#define is_utf8_idfirst Perl_is_utf8_idfirst +#define is_utf8_alpha Perl_is_utf8_alpha +#define is_utf8_ascii Perl_is_utf8_ascii +#define is_utf8_space Perl_is_utf8_space +#define is_utf8_cntrl Perl_is_utf8_cntrl +#define is_utf8_digit Perl_is_utf8_digit +#define is_utf8_graph Perl_is_utf8_graph +#define is_utf8_upper Perl_is_utf8_upper +#define is_utf8_lower Perl_is_utf8_lower +#define is_utf8_print Perl_is_utf8_print +#define is_utf8_punct Perl_is_utf8_punct +#define is_utf8_xdigit Perl_is_utf8_xdigit +#define is_utf8_mark Perl_is_utf8_mark #define jmaybe Perl_jmaybe #define keyword Perl_keyword -#define know_next Perl_know_next -#define le_amg Perl_le_amg #define leave_scope Perl_leave_scope #define lex_end Perl_lex_end #define lex_start Perl_lex_start #define linklist Perl_linklist #define list Perl_list #define listkids Perl_listkids +#define load_module Perl_load_module +#define vload_module Perl_vload_module #define localize Perl_localize -#define log_amg Perl_log_amg #define looks_like_number Perl_looks_like_number -#define lshift_amg Perl_lshift_amg -#define lshift_ass_amg Perl_lshift_ass_amg -#define lt_amg Perl_lt_amg -#define magic_clear_all_env Perl_magic_clear_all_env #define magic_clearenv Perl_magic_clearenv +#define magic_clear_all_env Perl_magic_clear_all_env #define magic_clearpack Perl_magic_clearpack #define magic_clearsig Perl_magic_clearsig #define magic_existspack Perl_magic_existspack @@ -294,20 +350,25 @@ #define magic_getuvar Perl_magic_getuvar #define magic_getvec Perl_magic_getvec #define magic_len Perl_magic_len +#if defined(USE_THREADS) #define magic_mutexfree Perl_magic_mutexfree +#endif #define magic_nextpack Perl_magic_nextpack +#define magic_regdata_cnt Perl_magic_regdata_cnt +#define magic_regdatum_get Perl_magic_regdatum_get #define magic_set Perl_magic_set -#define magic_set_all_env Perl_magic_set_all_env #define magic_setamagic Perl_magic_setamagic #define magic_setarylen Perl_magic_setarylen #define magic_setbm Perl_magic_setbm -#define magic_setcollxfrm Perl_magic_setcollxfrm #define magic_setdbline Perl_magic_setdbline +#if defined(USE_LOCALE_COLLATE) +#define magic_setcollxfrm Perl_magic_setcollxfrm +#endif #define magic_setdefelem Perl_magic_setdefelem #define magic_setenv Perl_magic_setenv #define magic_setfm Perl_magic_setfm -#define magic_setglob Perl_magic_setglob #define magic_setisa Perl_magic_setisa +#define magic_setglob Perl_magic_setglob #define magic_setmglob Perl_magic_setmglob #define magic_setnkeys Perl_magic_setnkeys #define magic_setpack Perl_magic_setpack @@ -317,13 +378,17 @@ #define magic_settaint Perl_magic_settaint #define magic_setuvar Perl_magic_setuvar #define magic_setvec Perl_magic_setvec +#define magic_set_all_env Perl_magic_set_all_env #define magic_sizepack Perl_magic_sizepack #define magic_wipepack Perl_magic_wipepack #define magicname Perl_magicname -#define malloced_size Perl_malloced_size #define markstack_grow Perl_markstack_grow +#if defined(USE_LOCALE_COLLATE) #define mem_collxfrm Perl_mem_collxfrm +#endif #define mess Perl_mess +#define vmess Perl_vmess +#define qerror Perl_qerror #define mg_clear Perl_mg_clear #define mg_copy Perl_mg_copy #define mg_find Perl_mg_find @@ -334,758 +399,5418 @@ #define mg_set Perl_mg_set #define mg_size Perl_mg_size #define mod Perl_mod -#define mod_amg Perl_mod_amg -#define mod_ass_amg Perl_mod_ass_amg -#define modkids Perl_modkids +#define mode_from_discipline Perl_mode_from_discipline #define moreswitches Perl_moreswitches -#define mstats Perl_mstats -#define mult_amg Perl_mult_amg -#define mult_ass_amg Perl_mult_ass_amg #define my Perl_my +#define my_atof Perl_my_atof +#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) #define my_bcopy Perl_my_bcopy +#endif +#if !defined(HAS_BZERO) && !defined(HAS_MEMSET) #define my_bzero Perl_my_bzero -#define my_chsize Perl_my_chsize +#endif #define my_exit Perl_my_exit #define my_failure_exit Perl_my_failure_exit -#define my_htonl Perl_my_htonl +#define my_fflush_all Perl_my_fflush_all #define my_lstat Perl_my_lstat +#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) #define my_memcmp Perl_my_memcmp +#endif +#if !defined(HAS_MEMSET) #define my_memset Perl_my_memset -#define my_ntohl Perl_my_ntohl +#endif +#if !defined(PERL_OBJECT) #define my_pclose Perl_my_pclose #define my_popen Perl_my_popen +#endif #define my_setenv Perl_my_setenv #define my_stat Perl_my_stat +#if defined(MYSWAP) #define my_swap Perl_my_swap +#define my_htonl Perl_my_htonl +#define my_ntohl Perl_my_ntohl +#endif #define my_unexec Perl_my_unexec -#define ncmp_amg Perl_ncmp_amg -#define ne_amg Perl_ne_amg -#define neg_amg Perl_neg_amg -#define newANONHASH Perl_newANONHASH #define newANONLIST Perl_newANONLIST +#define newANONHASH Perl_newANONHASH #define newANONSUB Perl_newANONSUB #define newASSIGNOP Perl_newASSIGNOP -#define newAV Perl_newAV -#define newAVREF Perl_newAVREF -#define newBINOP Perl_newBINOP #define newCONDOP Perl_newCONDOP #define newCONSTSUB Perl_newCONSTSUB -#define newCVREF Perl_newCVREF #define newFORM Perl_newFORM #define newFOROP Perl_newFOROP -#define newGVOP Perl_newGVOP -#define newGVREF Perl_newGVREF -#define newGVgen Perl_newGVgen -#define newHV Perl_newHV -#define newHVREF Perl_newHVREF -#define newHVhv Perl_newHVhv -#define newIO Perl_newIO -#define newLISTOP Perl_newLISTOP #define newLOGOP Perl_newLOGOP #define newLOOPEX Perl_newLOOPEX #define newLOOPOP Perl_newLOOPOP #define newNULLLIST Perl_newNULLLIST #define newOP Perl_newOP -#define newPMOP Perl_newPMOP #define newPROG Perl_newPROG -#define newPVOP Perl_newPVOP #define newRANGE Perl_newRANGE -#define newRV Perl_newRV -#define newRV_noinc Perl_newRV_noinc #define newSLICEOP Perl_newSLICEOP #define newSTATEOP Perl_newSTATEOP #define newSUB Perl_newSUB +#define newXS Perl_newXS +#define newAV Perl_newAV +#define newAVREF Perl_newAVREF +#define newBINOP Perl_newBINOP +#define newCVREF Perl_newCVREF +#define newGVOP Perl_newGVOP +#define newGVgen Perl_newGVgen +#define newGVREF Perl_newGVREF +#define newHVREF Perl_newHVREF +#define newHV Perl_newHV +#define newHVhv Perl_newHVhv +#define newIO Perl_newIO +#define newLISTOP Perl_newLISTOP +#define newPADOP Perl_newPADOP +#define newPMOP Perl_newPMOP +#define newPVOP Perl_newPVOP +#define newRV Perl_newRV +#define newRV_noinc Perl_newRV_noinc #define newSV Perl_newSV -#define newSVOP Perl_newSVOP #define newSVREF Perl_newSVREF +#define newSVOP Perl_newSVOP #define newSViv Perl_newSViv +#define newSVuv Perl_newSVuv #define newSVnv Perl_newSVnv #define newSVpv Perl_newSVpv -#define newSVpvf Perl_newSVpvf #define newSVpvn Perl_newSVpvn +#define newSVpvf Perl_newSVpvf +#define vnewSVpvf Perl_vnewSVpvf #define newSVrv Perl_newSVrv #define newSVsv Perl_newSVsv #define newUNOP Perl_newUNOP #define newWHILEOP Perl_newWHILEOP -#define newXS Perl_newXS -#define newXSUB Perl_newXSUB #define new_stackinfo Perl_new_stackinfo -#define new_struct_thread Perl_new_struct_thread #define nextargv Perl_nextargv #define ninstr Perl_ninstr -#define no_aelem Perl_no_aelem -#define no_dir_func Perl_no_dir_func -#define no_fh_allowed Perl_no_fh_allowed -#define no_func Perl_no_func -#define no_helem Perl_no_helem -#define no_mem Perl_no_mem -#define no_modify Perl_no_modify -#define no_myglob Perl_no_myglob -#define no_op Perl_no_op -#define no_security Perl_no_security -#define no_sock_func Perl_no_sock_func -#define no_symref Perl_no_symref -#define no_usym Perl_no_usym -#define no_wrongref Perl_no_wrongref -#define nointrp Perl_nointrp -#define nomem Perl_nomem -#define nomethod_amg Perl_nomethod_amg -#define not_amg Perl_not_amg -#define numer_amg Perl_numer_amg -#define oopsAV Perl_oopsAV #define oopsCV Perl_oopsCV -#define oopsHV Perl_oopsHV -#define op_const_sv Perl_op_const_sv -#define op_desc Perl_op_desc #define op_free Perl_op_free -#define op_name Perl_op_name -#define opargs Perl_opargs #define package Perl_package #define pad_alloc Perl_pad_alloc #define pad_allocmy Perl_pad_allocmy #define pad_findmy Perl_pad_findmy -#define pad_free Perl_pad_free +#define oopsAV Perl_oopsAV +#define oopsHV Perl_oopsHV #define pad_leavemy Perl_pad_leavemy -#define pad_reset Perl_pad_reset #define pad_sv Perl_pad_sv +#define pad_free Perl_pad_free +#define pad_reset Perl_pad_reset #define pad_swipe Perl_pad_swipe #define peep Perl_peep +#if defined(PERL_OBJECT) +#endif +#if defined(USE_THREADS) +#define new_struct_thread Perl_new_struct_thread +#endif +#define call_atexit Perl_call_atexit +#define call_argv Perl_call_argv +#define call_method Perl_call_method +#define call_pv Perl_call_pv +#define call_sv Perl_call_sv +#define eval_pv Perl_eval_pv +#define eval_sv Perl_eval_sv +#define get_sv Perl_get_sv +#define get_av Perl_get_av +#define get_hv Perl_get_hv +#define get_cv Perl_get_cv +#define init_i18nl10n Perl_init_i18nl10n +#define init_i18nl14n Perl_init_i18nl14n +#define new_collate Perl_new_collate +#define new_ctype Perl_new_ctype +#define new_numeric Perl_new_numeric +#define set_numeric_local Perl_set_numeric_local +#define set_numeric_radix Perl_set_numeric_radix +#define set_numeric_standard Perl_set_numeric_standard +#define require_pv Perl_require_pv #define pidgone Perl_pidgone #define pmflag Perl_pmflag #define pmruntime Perl_pmruntime #define pmtrans Perl_pmtrans #define pop_return Perl_pop_return #define pop_scope Perl_pop_scope -#define pow_amg Perl_pow_amg -#define pow_ass_amg Perl_pow_ass_amg +#define prepend_elem Perl_prepend_elem +#define push_return Perl_push_return +#define push_scope Perl_push_scope +#define ref Perl_ref +#define refkids Perl_refkids +#define regdump Perl_regdump +#define pregexec Perl_pregexec +#define pregfree Perl_pregfree +#define pregcomp Perl_pregcomp +#define re_intuit_start Perl_re_intuit_start +#define re_intuit_string Perl_re_intuit_string +#define regexec_flags Perl_regexec_flags +#define regnext Perl_regnext +#define regprop Perl_regprop +#define repeatcpy Perl_repeatcpy +#define rninstr Perl_rninstr +#define rsignal Perl_rsignal +#define rsignal_restore Perl_rsignal_restore +#define rsignal_save Perl_rsignal_save +#define rsignal_state Perl_rsignal_state +#define rxres_free Perl_rxres_free +#define rxres_restore Perl_rxres_restore +#define rxres_save Perl_rxres_save +#if !defined(HAS_RENAME) +#define same_dirent Perl_same_dirent +#endif +#define savepv Perl_savepv +#define savepvn Perl_savepvn +#define savestack_grow Perl_savestack_grow +#define save_aelem Perl_save_aelem +#define save_alloc Perl_save_alloc +#define save_aptr Perl_save_aptr +#define save_ary Perl_save_ary +#define save_clearsv Perl_save_clearsv +#define save_delete Perl_save_delete +#define save_destructor Perl_save_destructor +#define save_destructor_x Perl_save_destructor_x +#define save_freesv Perl_save_freesv +#define save_freeop Perl_save_freeop +#define save_freepv Perl_save_freepv +#define save_generic_svref Perl_save_generic_svref +#define save_gp Perl_save_gp +#define save_hash Perl_save_hash +#define save_helem Perl_save_helem +#define save_hints Perl_save_hints +#define save_hptr Perl_save_hptr +#define save_I16 Perl_save_I16 +#define save_I32 Perl_save_I32 +#define save_I8 Perl_save_I8 +#define save_int Perl_save_int +#define save_item Perl_save_item +#define save_iv Perl_save_iv +#define save_list Perl_save_list +#define save_long Perl_save_long +#define save_nogv Perl_save_nogv +#define save_op Perl_save_op +#define save_scalar Perl_save_scalar +#define save_pptr Perl_save_pptr +#define save_vptr Perl_save_vptr +#define save_re_context Perl_save_re_context +#define save_sptr Perl_save_sptr +#define save_svref Perl_save_svref +#define save_threadsv Perl_save_threadsv +#define sawparens Perl_sawparens +#define scalar Perl_scalar +#define scalarkids Perl_scalarkids +#define scalarseq Perl_scalarseq +#define scalarvoid Perl_scalarvoid +#define scan_bin Perl_scan_bin +#define scan_hex Perl_scan_hex +#define scan_num Perl_scan_num +#define scan_oct Perl_scan_oct +#define scope Perl_scope +#define screaminstr Perl_screaminstr +#if !defined(VMS) +#define setenv_getix Perl_setenv_getix +#endif +#define setdefout Perl_setdefout +#define sharepvn Perl_sharepvn +#define share_hek Perl_share_hek +#define sighandler Perl_sighandler +#define stack_grow Perl_stack_grow +#define start_subparse Perl_start_subparse +#define sub_crush_depth Perl_sub_crush_depth +#define sv_2bool Perl_sv_2bool +#define sv_2cv Perl_sv_2cv +#define sv_2io Perl_sv_2io +#define sv_2iv Perl_sv_2iv +#define sv_2mortal Perl_sv_2mortal +#define sv_2nv Perl_sv_2nv +#define sv_2pv Perl_sv_2pv +#define sv_2pvutf8 Perl_sv_2pvutf8 +#define sv_2pvbyte Perl_sv_2pvbyte +#define sv_2uv Perl_sv_2uv +#define sv_iv Perl_sv_iv +#define sv_uv Perl_sv_uv +#define sv_nv Perl_sv_nv +#define sv_pvn Perl_sv_pvn +#define sv_pvutf8n Perl_sv_pvutf8n +#define sv_pvbyten Perl_sv_pvbyten +#define sv_true Perl_sv_true +#define sv_add_arena Perl_sv_add_arena +#define sv_backoff Perl_sv_backoff +#define sv_bless Perl_sv_bless +#define sv_catpvf Perl_sv_catpvf +#define sv_vcatpvf Perl_sv_vcatpvf +#define sv_catpv Perl_sv_catpv +#define sv_catpvn Perl_sv_catpvn +#define sv_catsv Perl_sv_catsv +#define sv_chop Perl_sv_chop +#define sv_clean_all Perl_sv_clean_all +#define sv_clean_objs Perl_sv_clean_objs +#define sv_clear Perl_sv_clear +#define sv_cmp Perl_sv_cmp +#define sv_cmp_locale Perl_sv_cmp_locale +#if defined(USE_LOCALE_COLLATE) +#define sv_collxfrm Perl_sv_collxfrm +#endif +#define sv_compile_2op Perl_sv_compile_2op +#define sv_dec Perl_sv_dec +#define sv_dump Perl_sv_dump +#define sv_derived_from Perl_sv_derived_from +#define sv_eq Perl_sv_eq +#define sv_free Perl_sv_free +#define sv_free_arenas Perl_sv_free_arenas +#define sv_gets Perl_sv_gets +#define sv_grow Perl_sv_grow +#define sv_inc Perl_sv_inc +#define sv_insert Perl_sv_insert +#define sv_isa Perl_sv_isa +#define sv_isobject Perl_sv_isobject +#define sv_len Perl_sv_len +#define sv_len_utf8 Perl_sv_len_utf8 +#define sv_magic Perl_sv_magic +#define sv_mortalcopy Perl_sv_mortalcopy +#define sv_newmortal Perl_sv_newmortal +#define sv_newref Perl_sv_newref +#define sv_peek Perl_sv_peek +#define sv_pos_u2b Perl_sv_pos_u2b +#define sv_pos_b2u Perl_sv_pos_b2u +#define sv_pvn_force Perl_sv_pvn_force +#define sv_pvutf8n_force Perl_sv_pvutf8n_force +#define sv_pvbyten_force Perl_sv_pvbyten_force +#define sv_reftype Perl_sv_reftype +#define sv_replace Perl_sv_replace +#define sv_report_used Perl_sv_report_used +#define sv_reset Perl_sv_reset +#define sv_setpvf Perl_sv_setpvf +#define sv_vsetpvf Perl_sv_vsetpvf +#define sv_setiv Perl_sv_setiv +#define sv_setpviv Perl_sv_setpviv +#define sv_setuv Perl_sv_setuv +#define sv_setnv Perl_sv_setnv +#define sv_setref_iv Perl_sv_setref_iv +#define sv_setref_nv Perl_sv_setref_nv +#define sv_setref_pv Perl_sv_setref_pv +#define sv_setref_pvn Perl_sv_setref_pvn +#define sv_setpv Perl_sv_setpv +#define sv_setpvn Perl_sv_setpvn +#define sv_setsv Perl_sv_setsv +#define sv_taint Perl_sv_taint +#define sv_tainted Perl_sv_tainted +#define sv_unmagic Perl_sv_unmagic +#define sv_unref Perl_sv_unref +#define sv_untaint Perl_sv_untaint +#define sv_upgrade Perl_sv_upgrade +#define sv_usepvn Perl_sv_usepvn +#define sv_vcatpvfn Perl_sv_vcatpvfn +#define sv_vsetpvfn Perl_sv_vsetpvfn +#define str_to_version Perl_str_to_version +#define swash_init Perl_swash_init +#define swash_fetch Perl_swash_fetch +#define taint_env Perl_taint_env +#define taint_proper Perl_taint_proper +#define to_utf8_lower Perl_to_utf8_lower +#define to_utf8_upper Perl_to_utf8_upper +#define to_utf8_title Perl_to_utf8_title +#if defined(UNLINK_ALL_VERSIONS) +#define unlnk Perl_unlnk +#endif +#if defined(USE_THREADS) +#define unlock_condpair Perl_unlock_condpair +#endif +#define unsharepvn Perl_unsharepvn +#define unshare_hek Perl_unshare_hek +#define utilize Perl_utilize +#define utf16_to_utf8 Perl_utf16_to_utf8 +#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed +#define utf8_distance Perl_utf8_distance +#define utf8_hop Perl_utf8_hop +#define utf8_to_uv Perl_utf8_to_uv +#define uv_to_utf8 Perl_uv_to_utf8 +#define vivify_defelem Perl_vivify_defelem +#define vivify_ref Perl_vivify_ref +#define wait4pid Perl_wait4pid +#define report_closed_fh Perl_report_closed_fh +#define report_uninit Perl_report_uninit +#define warn Perl_warn +#define vwarn Perl_vwarn +#define warner Perl_warner +#define vwarner Perl_vwarner +#define watch Perl_watch +#define whichsig Perl_whichsig +#define yyerror Perl_yyerror +#if defined(USE_PURE_BISON) +#define yylex Perl_yylex +#else +#define yylex Perl_yylex +#endif +#define yyparse Perl_yyparse +#define yywarn Perl_yywarn +#if defined(MYMALLOC) +#define dump_mstats Perl_dump_mstats +#define get_mstats Perl_get_mstats +#endif +#define safesysmalloc Perl_safesysmalloc +#define safesyscalloc Perl_safesyscalloc +#define safesysrealloc Perl_safesysrealloc +#define safesysfree Perl_safesysfree +#if defined(LEAKTEST) +#define safexmalloc Perl_safexmalloc +#define safexcalloc Perl_safexcalloc +#define safexrealloc Perl_safexrealloc +#define safexfree Perl_safexfree +#endif +#if defined(PERL_GLOBAL_STRUCT) +#define GetVars Perl_GetVars +#endif +#define runops_standard Perl_runops_standard +#define runops_debug Perl_runops_debug +#define sv_catpvf_mg Perl_sv_catpvf_mg +#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg +#define sv_catpv_mg Perl_sv_catpv_mg +#define sv_catpvn_mg Perl_sv_catpvn_mg +#define sv_catsv_mg Perl_sv_catsv_mg +#define sv_setpvf_mg Perl_sv_setpvf_mg +#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg +#define sv_setiv_mg Perl_sv_setiv_mg +#define sv_setpviv_mg Perl_sv_setpviv_mg +#define sv_setuv_mg Perl_sv_setuv_mg +#define sv_setnv_mg Perl_sv_setnv_mg +#define sv_setpv_mg Perl_sv_setpv_mg +#define sv_setpvn_mg Perl_sv_setpvn_mg +#define sv_setsv_mg Perl_sv_setsv_mg +#define sv_usepvn_mg Perl_sv_usepvn_mg +#define get_vtbl Perl_get_vtbl +#define pv_display Perl_pv_display +#define dump_indent Perl_dump_indent +#define dump_vindent Perl_dump_vindent +#define do_gv_dump Perl_do_gv_dump +#define do_gvgv_dump Perl_do_gvgv_dump +#define do_hv_dump Perl_do_hv_dump +#define do_magic_dump Perl_do_magic_dump +#define do_op_dump Perl_do_op_dump +#define do_pmop_dump Perl_do_pmop_dump +#define do_sv_dump Perl_do_sv_dump +#define magic_dump Perl_magic_dump +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define default_protect Perl_default_protect +#define vdefault_protect Perl_vdefault_protect +#endif +#define reginitcolors Perl_reginitcolors +#define sv_2pv_nolen Perl_sv_2pv_nolen +#define sv_2pvutf8_nolen Perl_sv_2pvutf8_nolen +#define sv_2pvbyte_nolen Perl_sv_2pvbyte_nolen +#define sv_pv Perl_sv_pv +#define sv_pvutf8 Perl_sv_pvutf8 +#define sv_pvbyte Perl_sv_pvbyte +#define sv_utf8_upgrade Perl_sv_utf8_upgrade +#define sv_utf8_downgrade Perl_sv_utf8_downgrade +#define sv_utf8_encode Perl_sv_utf8_encode +#define sv_utf8_decode Perl_sv_utf8_decode +#define sv_force_normal Perl_sv_force_normal +#define tmps_grow Perl_tmps_grow +#define sv_rvweaken Perl_sv_rvweaken +#define magic_killbackrefs Perl_magic_killbackrefs +#define newANONATTRSUB Perl_newANONATTRSUB +#define newATTRSUB Perl_newATTRSUB +#define newMYSUB Perl_newMYSUB +#define my_attrs Perl_my_attrs +#define boot_core_xsutils Perl_boot_core_xsutils +#if defined(USE_ITHREADS) +#define cx_dup Perl_cx_dup +#define si_dup Perl_si_dup +#define ss_dup Perl_ss_dup +#define any_dup Perl_any_dup +#define he_dup Perl_he_dup +#define re_dup Perl_re_dup +#define fp_dup Perl_fp_dup +#define dirp_dup Perl_dirp_dup +#define gp_dup Perl_gp_dup +#define mg_dup Perl_mg_dup +#define sv_dup Perl_sv_dup +#if defined(HAVE_INTERP_INTERN) +#define sys_intern_dup Perl_sys_intern_dup +#endif +#define ptr_table_new Perl_ptr_table_new +#define ptr_table_fetch Perl_ptr_table_fetch +#define ptr_table_store Perl_ptr_table_store +#define ptr_table_split Perl_ptr_table_split +#endif +#if defined(PERL_OBJECT) +#else +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) +#define avhv_index_sv S_avhv_index_sv +#define avhv_index S_avhv_index +#endif +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) +#define do_trans_CC_simple S_do_trans_CC_simple +#define do_trans_CC_count S_do_trans_CC_count +#define do_trans_CC_complex S_do_trans_CC_complex +#define do_trans_UU_simple S_do_trans_UU_simple +#define do_trans_UU_count S_do_trans_UU_count +#define do_trans_UU_complex S_do_trans_UU_complex +#define do_trans_UC_simple S_do_trans_UC_simple +#define do_trans_CU_simple S_do_trans_CU_simple +#define do_trans_UC_trivial S_do_trans_UC_trivial +#define do_trans_CU_trivial S_do_trans_CU_trivial +#endif +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) +#define gv_init_sv S_gv_init_sv +#endif +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) +#define hsplit S_hsplit +#define hfreeentries S_hfreeentries +#define more_he S_more_he +#define new_he S_new_he +#define del_he S_del_he +#define save_hek S_save_hek +#define hv_magic_check S_hv_magic_check +#endif +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) +#define save_magic S_save_magic +#define magic_methpack S_magic_methpack +#define magic_methcall S_magic_methcall +#endif +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) +#define list_assignment S_list_assignment +#define bad_type S_bad_type +#define cop_free S_cop_free +#define modkids S_modkids +#define no_bareword_allowed S_no_bareword_allowed +#define no_fh_allowed S_no_fh_allowed +#define scalarboolean S_scalarboolean +#define too_few_arguments S_too_few_arguments +#define too_many_arguments S_too_many_arguments +#define op_clear S_op_clear +#define null S_null +#define pad_addlex S_pad_addlex +#define pad_findlex S_pad_findlex +#define newDEFSVOP S_newDEFSVOP +#define new_logop S_new_logop +#define simplify_sort S_simplify_sort +#define is_handle_constructor S_is_handle_constructor +#define gv_ename S_gv_ename +#define cv_dump S_cv_dump +#define cv_clone2 S_cv_clone2 +#define scalar_mod_type S_scalar_mod_type +#define my_kid S_my_kid +#define dup_attrlist S_dup_attrlist +#define apply_attrs S_apply_attrs +# if defined(PL_OP_SLAB_ALLOC) +#define Slab_Alloc S_Slab_Alloc +# endif +#endif +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) +#define find_beginning S_find_beginning +#define forbid_setid S_forbid_setid +#define incpush S_incpush +#define init_interp S_init_interp +#define init_ids S_init_ids +#define init_lexer S_init_lexer +#define init_main_stash S_init_main_stash +#define init_perllib S_init_perllib +#define init_postdump_symbols S_init_postdump_symbols +#define init_predump_symbols S_init_predump_symbols +#define my_exit_jump S_my_exit_jump +#define nuke_stacks S_nuke_stacks +#define open_script S_open_script +#define usage S_usage +#define validate_suid S_validate_suid +# if defined(IAMSUID) +#define fd_on_nosuid_fs S_fd_on_nosuid_fs +# endif +#define parse_body S_parse_body +#define run_body S_run_body +#define call_body S_call_body +#define call_list_body S_call_list_body +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define vparse_body S_vparse_body +#define vrun_body S_vrun_body +#define vcall_body S_vcall_body +#define vcall_list_body S_vcall_list_body +#endif +# if defined(USE_THREADS) +#define init_main_thread S_init_main_thread +# endif +#endif +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) +#define doencodes S_doencodes +#define refto S_refto +#define seed S_seed +#define mul128 S_mul128 +#define is_an_int S_is_an_int +#define div128 S_div128 +#endif +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) +#define docatch S_docatch +#define docatch_body S_docatch_body +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define vdocatch_body S_vdocatch_body +#endif +#define dofindlabel S_dofindlabel +#define doparseform S_doparseform +#define dopoptoeval S_dopoptoeval +#define dopoptolabel S_dopoptolabel +#define dopoptoloop S_dopoptoloop +#define dopoptosub S_dopoptosub +#define dopoptosub_at S_dopoptosub_at +#define free_closures S_free_closures +#define save_lines S_save_lines +#define doeval S_doeval +#define doopen_pmc S_doopen_pmc +#define qsortsv S_qsortsv +#endif +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) +#define do_maybe_phash S_do_maybe_phash +#define do_oddball S_do_oddball +#define get_db_sub S_get_db_sub +#define method_common S_method_common +#endif +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) +#define doform S_doform +#define emulate_eaccess S_emulate_eaccess +# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) +#define dooneliner S_dooneliner +# endif +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) +#define reg S_reg +#define reganode S_reganode +#define regatom S_regatom +#define regbranch S_regbranch +#define reguni S_reguni +#define regclass S_regclass +#define regclassutf8 S_regclassutf8 +#define regcurly S_regcurly +#define reg_node S_reg_node +#define regpiece S_regpiece +#define reginsert S_reginsert +#define regoptail S_regoptail +#define regtail S_regtail +#define regwhite S_regwhite +#define nextchar S_nextchar +#define dumpuntil S_dumpuntil +#define put_byte S_put_byte +#define scan_commit S_scan_commit +#define cl_anything S_cl_anything +#define cl_is_anything S_cl_is_anything +#define cl_init S_cl_init +#define cl_init_zero S_cl_init_zero +#define cl_and S_cl_and +#define cl_or S_cl_or +#define study_chunk S_study_chunk +#define add_data S_add_data +#define re_croak2 S_re_croak2 +#define regpposixcc S_regpposixcc +#define checkposixcc S_checkposixcc +#endif +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) +#define regmatch S_regmatch +#define regrepeat S_regrepeat +#define regrepeat_hard S_regrepeat_hard +#define regtry S_regtry +#define reginclass S_reginclass +#define reginclassutf8 S_reginclassutf8 +#define regcppush S_regcppush +#define regcppop S_regcppop +#define regcp_set_to S_regcp_set_to +#define cache_re S_cache_re +#define reghop S_reghop +#define reghopmaybe S_reghopmaybe +#define find_byclass S_find_byclass +#endif +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) +#define debprof S_debprof +#endif +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) +#define save_scalar_at S_save_scalar_at +#endif +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) +#define asIV S_asIV +#define asUV S_asUV +#define more_sv S_more_sv +#define more_xiv S_more_xiv +#define more_xnv S_more_xnv +#define more_xpv S_more_xpv +#define more_xpviv S_more_xpviv +#define more_xpvnv S_more_xpvnv +#define more_xpvcv S_more_xpvcv +#define more_xpvav S_more_xpvav +#define more_xpvhv S_more_xpvhv +#define more_xpvmg S_more_xpvmg +#define more_xpvlv S_more_xpvlv +#define more_xpvbm S_more_xpvbm +#define more_xrv S_more_xrv +#define new_xiv S_new_xiv +#define new_xnv S_new_xnv +#define new_xpv S_new_xpv +#define new_xpviv S_new_xpviv +#define new_xpvnv S_new_xpvnv +#define new_xpvcv S_new_xpvcv +#define new_xpvav S_new_xpvav +#define new_xpvhv S_new_xpvhv +#define new_xpvmg S_new_xpvmg +#define new_xpvlv S_new_xpvlv +#define new_xpvbm S_new_xpvbm +#define new_xrv S_new_xrv +#define del_xiv S_del_xiv +#define del_xnv S_del_xnv +#define del_xpv S_del_xpv +#define del_xpviv S_del_xpviv +#define del_xpvnv S_del_xpvnv +#define del_xpvcv S_del_xpvcv +#define del_xpvav S_del_xpvav +#define del_xpvhv S_del_xpvhv +#define del_xpvmg S_del_xpvmg +#define del_xpvlv S_del_xpvlv +#define del_xpvbm S_del_xpvbm +#define del_xrv S_del_xrv +#define sv_unglob S_sv_unglob +#define not_a_number S_not_a_number +#define visit S_visit +#define sv_add_backref S_sv_add_backref +#define sv_del_backref S_sv_del_backref +# if defined(DEBUGGING) +#define del_sv S_del_sv +# endif +#endif +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) +#define check_uni S_check_uni +#define force_next S_force_next +#define force_version S_force_version +#define force_word S_force_word +#define tokeq S_tokeq +#define scan_const S_scan_const +#define scan_formline S_scan_formline +#define scan_heredoc S_scan_heredoc +#define scan_ident S_scan_ident +#define scan_inputsymbol S_scan_inputsymbol +#define scan_pat S_scan_pat +#define scan_str S_scan_str +#define scan_subst S_scan_subst +#define scan_trans S_scan_trans +#define scan_word S_scan_word +#define skipspace S_skipspace +#define checkcomma S_checkcomma +#define force_ident S_force_ident +#define incline S_incline +#define intuit_method S_intuit_method +#define intuit_more S_intuit_more +#define lop S_lop +#define missingterm S_missingterm +#define no_op S_no_op +#define set_csh S_set_csh +#define sublex_done S_sublex_done +#define sublex_push S_sublex_push +#define sublex_start S_sublex_start +#define filter_gets S_filter_gets +#define new_constant S_new_constant +#define ao S_ao +#define depcom S_depcom +#define incl_perldb S_incl_perldb +#if 0 +#define utf16_textfilter S_utf16_textfilter +#define utf16rev_textfilter S_utf16rev_textfilter +#endif +# if defined(CRIPPLED_CC) +#define uni S_uni +# endif +# if defined(PERL_CR_FILTER) +#define cr_textfilter S_cr_textfilter +# endif +#endif +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) +#define isa_lookup S_isa_lookup +#endif +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) +#define mess_alloc S_mess_alloc +# if defined(LEAKTEST) +#define xstat S_xstat +# endif +#endif +#if defined(PERL_OBJECT) +#endif +#define ck_anoncode Perl_ck_anoncode +#define ck_bitop Perl_ck_bitop +#define ck_concat Perl_ck_concat +#define ck_defined Perl_ck_defined +#define ck_delete Perl_ck_delete +#define ck_eof Perl_ck_eof +#define ck_eval Perl_ck_eval +#define ck_exec Perl_ck_exec +#define ck_exists Perl_ck_exists +#define ck_exit Perl_ck_exit +#define ck_ftst Perl_ck_ftst +#define ck_fun Perl_ck_fun +#define ck_fun_locale Perl_ck_fun_locale +#define ck_glob Perl_ck_glob +#define ck_grep Perl_ck_grep +#define ck_index Perl_ck_index +#define ck_join Perl_ck_join +#define ck_lengthconst Perl_ck_lengthconst +#define ck_lfun Perl_ck_lfun +#define ck_listiob Perl_ck_listiob +#define ck_match Perl_ck_match +#define ck_method Perl_ck_method +#define ck_null Perl_ck_null +#define ck_open Perl_ck_open +#define ck_repeat Perl_ck_repeat +#define ck_require Perl_ck_require +#define ck_rfun Perl_ck_rfun +#define ck_rvconst Perl_ck_rvconst +#define ck_sassign Perl_ck_sassign +#define ck_scmp Perl_ck_scmp +#define ck_select Perl_ck_select +#define ck_shift Perl_ck_shift +#define ck_sort Perl_ck_sort +#define ck_spair Perl_ck_spair +#define ck_split Perl_ck_split +#define ck_subr Perl_ck_subr +#define ck_svconst Perl_ck_svconst +#define ck_trunc Perl_ck_trunc +#define pp_aassign Perl_pp_aassign +#define pp_abs Perl_pp_abs +#define pp_accept Perl_pp_accept +#define pp_add Perl_pp_add +#define pp_aelem Perl_pp_aelem +#define pp_aelemfast Perl_pp_aelemfast +#define pp_alarm Perl_pp_alarm +#define pp_and Perl_pp_and +#define pp_andassign Perl_pp_andassign +#define pp_anoncode Perl_pp_anoncode +#define pp_anonhash Perl_pp_anonhash +#define pp_anonlist Perl_pp_anonlist +#define pp_aslice Perl_pp_aslice +#define pp_atan2 Perl_pp_atan2 +#define pp_av2arylen Perl_pp_av2arylen +#define pp_backtick Perl_pp_backtick +#define pp_bind Perl_pp_bind +#define pp_binmode Perl_pp_binmode +#define pp_bit_and Perl_pp_bit_and +#define pp_bit_or Perl_pp_bit_or +#define pp_bit_xor Perl_pp_bit_xor +#define pp_bless Perl_pp_bless +#define pp_caller Perl_pp_caller +#define pp_chdir Perl_pp_chdir +#define pp_chmod Perl_pp_chmod +#define pp_chomp Perl_pp_chomp +#define pp_chop Perl_pp_chop +#define pp_chown Perl_pp_chown +#define pp_chr Perl_pp_chr +#define pp_chroot Perl_pp_chroot +#define pp_close Perl_pp_close +#define pp_closedir Perl_pp_closedir +#define pp_complement Perl_pp_complement +#define pp_concat Perl_pp_concat +#define pp_cond_expr Perl_pp_cond_expr +#define pp_connect Perl_pp_connect +#define pp_const Perl_pp_const +#define pp_cos Perl_pp_cos +#define pp_crypt Perl_pp_crypt +#define pp_dbmclose Perl_pp_dbmclose +#define pp_dbmopen Perl_pp_dbmopen +#define pp_dbstate Perl_pp_dbstate +#define pp_defined Perl_pp_defined +#define pp_delete Perl_pp_delete +#define pp_die Perl_pp_die +#define pp_divide Perl_pp_divide +#define pp_dofile Perl_pp_dofile +#define pp_dump Perl_pp_dump +#define pp_each Perl_pp_each +#define pp_egrent Perl_pp_egrent +#define pp_ehostent Perl_pp_ehostent +#define pp_enetent Perl_pp_enetent +#define pp_enter Perl_pp_enter +#define pp_entereval Perl_pp_entereval +#define pp_enteriter Perl_pp_enteriter +#define pp_enterloop Perl_pp_enterloop +#define pp_entersub Perl_pp_entersub +#define pp_entertry Perl_pp_entertry +#define pp_enterwrite Perl_pp_enterwrite +#define pp_eof Perl_pp_eof +#define pp_eprotoent Perl_pp_eprotoent +#define pp_epwent Perl_pp_epwent +#define pp_eq Perl_pp_eq +#define pp_eservent Perl_pp_eservent +#define pp_exec Perl_pp_exec +#define pp_exists Perl_pp_exists +#define pp_exit Perl_pp_exit +#define pp_exp Perl_pp_exp +#define pp_fcntl Perl_pp_fcntl +#define pp_fileno Perl_pp_fileno +#define pp_flip Perl_pp_flip +#define pp_flock Perl_pp_flock +#define pp_flop Perl_pp_flop +#define pp_fork Perl_pp_fork +#define pp_formline Perl_pp_formline +#define pp_ftatime Perl_pp_ftatime +#define pp_ftbinary Perl_pp_ftbinary +#define pp_ftblk Perl_pp_ftblk +#define pp_ftchr Perl_pp_ftchr +#define pp_ftctime Perl_pp_ftctime +#define pp_ftdir Perl_pp_ftdir +#define pp_fteexec Perl_pp_fteexec +#define pp_fteowned Perl_pp_fteowned +#define pp_fteread Perl_pp_fteread +#define pp_ftewrite Perl_pp_ftewrite +#define pp_ftfile Perl_pp_ftfile +#define pp_ftis Perl_pp_ftis +#define pp_ftlink Perl_pp_ftlink +#define pp_ftmtime Perl_pp_ftmtime +#define pp_ftpipe Perl_pp_ftpipe +#define pp_ftrexec Perl_pp_ftrexec +#define pp_ftrowned Perl_pp_ftrowned +#define pp_ftrread Perl_pp_ftrread +#define pp_ftrwrite Perl_pp_ftrwrite +#define pp_ftsgid Perl_pp_ftsgid +#define pp_ftsize Perl_pp_ftsize +#define pp_ftsock Perl_pp_ftsock +#define pp_ftsuid Perl_pp_ftsuid +#define pp_ftsvtx Perl_pp_ftsvtx +#define pp_fttext Perl_pp_fttext +#define pp_fttty Perl_pp_fttty +#define pp_ftzero Perl_pp_ftzero +#define pp_ge Perl_pp_ge +#define pp_gelem Perl_pp_gelem +#define pp_getc Perl_pp_getc +#define pp_getlogin Perl_pp_getlogin +#define pp_getpeername Perl_pp_getpeername +#define pp_getpgrp Perl_pp_getpgrp +#define pp_getppid Perl_pp_getppid +#define pp_getpriority Perl_pp_getpriority +#define pp_getsockname Perl_pp_getsockname +#define pp_ggrent Perl_pp_ggrent +#define pp_ggrgid Perl_pp_ggrgid +#define pp_ggrnam Perl_pp_ggrnam +#define pp_ghbyaddr Perl_pp_ghbyaddr +#define pp_ghbyname Perl_pp_ghbyname +#define pp_ghostent Perl_pp_ghostent +#define pp_glob Perl_pp_glob +#define pp_gmtime Perl_pp_gmtime +#define pp_gnbyaddr Perl_pp_gnbyaddr +#define pp_gnbyname Perl_pp_gnbyname +#define pp_gnetent Perl_pp_gnetent +#define pp_goto Perl_pp_goto +#define pp_gpbyname Perl_pp_gpbyname +#define pp_gpbynumber Perl_pp_gpbynumber +#define pp_gprotoent Perl_pp_gprotoent +#define pp_gpwent Perl_pp_gpwent +#define pp_gpwnam Perl_pp_gpwnam +#define pp_gpwuid Perl_pp_gpwuid +#define pp_grepstart Perl_pp_grepstart +#define pp_grepwhile Perl_pp_grepwhile +#define pp_gsbyname Perl_pp_gsbyname +#define pp_gsbyport Perl_pp_gsbyport +#define pp_gservent Perl_pp_gservent +#define pp_gsockopt Perl_pp_gsockopt +#define pp_gt Perl_pp_gt +#define pp_gv Perl_pp_gv +#define pp_gvsv Perl_pp_gvsv +#define pp_helem Perl_pp_helem +#define pp_hex Perl_pp_hex +#define pp_hslice Perl_pp_hslice +#define pp_i_add Perl_pp_i_add +#define pp_i_divide Perl_pp_i_divide +#define pp_i_eq Perl_pp_i_eq +#define pp_i_ge Perl_pp_i_ge +#define pp_i_gt Perl_pp_i_gt +#define pp_i_le Perl_pp_i_le +#define pp_i_lt Perl_pp_i_lt +#define pp_i_modulo Perl_pp_i_modulo +#define pp_i_multiply Perl_pp_i_multiply +#define pp_i_ncmp Perl_pp_i_ncmp +#define pp_i_ne Perl_pp_i_ne +#define pp_i_negate Perl_pp_i_negate +#define pp_i_subtract Perl_pp_i_subtract +#define pp_index Perl_pp_index +#define pp_int Perl_pp_int +#define pp_ioctl Perl_pp_ioctl +#define pp_iter Perl_pp_iter +#define pp_join Perl_pp_join +#define pp_keys Perl_pp_keys +#define pp_kill Perl_pp_kill +#define pp_last Perl_pp_last +#define pp_lc Perl_pp_lc +#define pp_lcfirst Perl_pp_lcfirst +#define pp_le Perl_pp_le +#define pp_leave Perl_pp_leave +#define pp_leaveeval Perl_pp_leaveeval +#define pp_leaveloop Perl_pp_leaveloop +#define pp_leavesub Perl_pp_leavesub +#define pp_leavesublv Perl_pp_leavesublv +#define pp_leavetry Perl_pp_leavetry +#define pp_leavewrite Perl_pp_leavewrite +#define pp_left_shift Perl_pp_left_shift +#define pp_length Perl_pp_length +#define pp_lineseq Perl_pp_lineseq +#define pp_link Perl_pp_link +#define pp_list Perl_pp_list +#define pp_listen Perl_pp_listen +#define pp_localtime Perl_pp_localtime +#define pp_lock Perl_pp_lock +#define pp_log Perl_pp_log +#define pp_lslice Perl_pp_lslice +#define pp_lstat Perl_pp_lstat +#define pp_lt Perl_pp_lt +#define pp_mapstart Perl_pp_mapstart +#define pp_mapwhile Perl_pp_mapwhile +#define pp_match Perl_pp_match +#define pp_method Perl_pp_method +#define pp_method_named Perl_pp_method_named +#define pp_mkdir Perl_pp_mkdir +#define pp_modulo Perl_pp_modulo +#define pp_msgctl Perl_pp_msgctl +#define pp_msgget Perl_pp_msgget +#define pp_msgrcv Perl_pp_msgrcv +#define pp_msgsnd Perl_pp_msgsnd +#define pp_multiply Perl_pp_multiply +#define pp_ncmp Perl_pp_ncmp +#define pp_ne Perl_pp_ne +#define pp_negate Perl_pp_negate +#define pp_next Perl_pp_next +#define pp_nextstate Perl_pp_nextstate +#define pp_not Perl_pp_not +#define pp_null Perl_pp_null +#define pp_oct Perl_pp_oct +#define pp_open Perl_pp_open +#define pp_open_dir Perl_pp_open_dir +#define pp_or Perl_pp_or +#define pp_orassign Perl_pp_orassign +#define pp_ord Perl_pp_ord +#define pp_pack Perl_pp_pack +#define pp_padany Perl_pp_padany +#define pp_padav Perl_pp_padav +#define pp_padhv Perl_pp_padhv +#define pp_padsv Perl_pp_padsv +#define pp_pipe_op Perl_pp_pipe_op +#define pp_pop Perl_pp_pop +#define pp_pos Perl_pp_pos +#define pp_postdec Perl_pp_postdec +#define pp_postinc Perl_pp_postinc +#define pp_pow Perl_pp_pow +#define pp_predec Perl_pp_predec +#define pp_preinc Perl_pp_preinc +#define pp_print Perl_pp_print +#define pp_prototype Perl_pp_prototype +#define pp_prtf Perl_pp_prtf +#define pp_push Perl_pp_push +#define pp_pushmark Perl_pp_pushmark +#define pp_pushre Perl_pp_pushre +#define pp_qr Perl_pp_qr +#define pp_quotemeta Perl_pp_quotemeta +#define pp_rand Perl_pp_rand +#define pp_range Perl_pp_range +#define pp_rcatline Perl_pp_rcatline +#define pp_read Perl_pp_read +#define pp_readdir Perl_pp_readdir +#define pp_readline Perl_pp_readline +#define pp_readlink Perl_pp_readlink +#define pp_recv Perl_pp_recv +#define pp_redo Perl_pp_redo +#define pp_ref Perl_pp_ref +#define pp_refgen Perl_pp_refgen +#define pp_regcmaybe Perl_pp_regcmaybe +#define pp_regcomp Perl_pp_regcomp +#define pp_regcreset Perl_pp_regcreset +#define pp_rename Perl_pp_rename +#define pp_repeat Perl_pp_repeat +#define pp_require Perl_pp_require +#define pp_reset Perl_pp_reset +#define pp_return Perl_pp_return +#define pp_reverse Perl_pp_reverse +#define pp_rewinddir Perl_pp_rewinddir +#define pp_right_shift Perl_pp_right_shift +#define pp_rindex Perl_pp_rindex +#define pp_rmdir Perl_pp_rmdir +#define pp_rv2av Perl_pp_rv2av +#define pp_rv2cv Perl_pp_rv2cv +#define pp_rv2gv Perl_pp_rv2gv +#define pp_rv2hv Perl_pp_rv2hv +#define pp_rv2sv Perl_pp_rv2sv +#define pp_sassign Perl_pp_sassign +#define pp_scalar Perl_pp_scalar +#define pp_schomp Perl_pp_schomp +#define pp_schop Perl_pp_schop +#define pp_scmp Perl_pp_scmp +#define pp_scope Perl_pp_scope +#define pp_seek Perl_pp_seek +#define pp_seekdir Perl_pp_seekdir +#define pp_select Perl_pp_select +#define pp_semctl Perl_pp_semctl +#define pp_semget Perl_pp_semget +#define pp_semop Perl_pp_semop +#define pp_send Perl_pp_send +#define pp_seq Perl_pp_seq +#define pp_setpgrp Perl_pp_setpgrp +#define pp_setpriority Perl_pp_setpriority +#define pp_setstate Perl_pp_setstate +#define pp_sge Perl_pp_sge +#define pp_sgrent Perl_pp_sgrent +#define pp_sgt Perl_pp_sgt +#define pp_shift Perl_pp_shift +#define pp_shmctl Perl_pp_shmctl +#define pp_shmget Perl_pp_shmget +#define pp_shmread Perl_pp_shmread +#define pp_shmwrite Perl_pp_shmwrite +#define pp_shostent Perl_pp_shostent +#define pp_shutdown Perl_pp_shutdown +#define pp_sin Perl_pp_sin +#define pp_sle Perl_pp_sle +#define pp_sleep Perl_pp_sleep +#define pp_slt Perl_pp_slt +#define pp_sne Perl_pp_sne +#define pp_snetent Perl_pp_snetent +#define pp_socket Perl_pp_socket +#define pp_sockpair Perl_pp_sockpair +#define pp_sort Perl_pp_sort +#define pp_splice Perl_pp_splice +#define pp_split Perl_pp_split +#define pp_sprintf Perl_pp_sprintf +#define pp_sprotoent Perl_pp_sprotoent +#define pp_spwent Perl_pp_spwent +#define pp_sqrt Perl_pp_sqrt +#define pp_srand Perl_pp_srand +#define pp_srefgen Perl_pp_srefgen +#define pp_sselect Perl_pp_sselect +#define pp_sservent Perl_pp_sservent +#define pp_ssockopt Perl_pp_ssockopt +#define pp_stat Perl_pp_stat +#define pp_stringify Perl_pp_stringify +#define pp_stub Perl_pp_stub +#define pp_study Perl_pp_study +#define pp_subst Perl_pp_subst +#define pp_substcont Perl_pp_substcont +#define pp_substr Perl_pp_substr +#define pp_subtract Perl_pp_subtract +#define pp_symlink Perl_pp_symlink +#define pp_syscall Perl_pp_syscall +#define pp_sysopen Perl_pp_sysopen +#define pp_sysread Perl_pp_sysread +#define pp_sysseek Perl_pp_sysseek +#define pp_system Perl_pp_system +#define pp_syswrite Perl_pp_syswrite +#define pp_tell Perl_pp_tell +#define pp_telldir Perl_pp_telldir +#define pp_threadsv Perl_pp_threadsv +#define pp_tie Perl_pp_tie +#define pp_tied Perl_pp_tied +#define pp_time Perl_pp_time +#define pp_tms Perl_pp_tms +#define pp_trans Perl_pp_trans +#define pp_truncate Perl_pp_truncate +#define pp_uc Perl_pp_uc +#define pp_ucfirst Perl_pp_ucfirst +#define pp_umask Perl_pp_umask +#define pp_undef Perl_pp_undef +#define pp_unlink Perl_pp_unlink +#define pp_unpack Perl_pp_unpack +#define pp_unshift Perl_pp_unshift +#define pp_unstack Perl_pp_unstack +#define pp_untie Perl_pp_untie +#define pp_utime Perl_pp_utime +#define pp_values Perl_pp_values +#define pp_vec Perl_pp_vec +#define pp_wait Perl_pp_wait +#define pp_waitpid Perl_pp_waitpid +#define pp_wantarray Perl_pp_wantarray +#define pp_warn Perl_pp_warn +#define pp_xor Perl_pp_xor + +#else /* PERL_IMPLICIT_CONTEXT */ + +#if defined(PERL_IMPLICIT_SYS) +#endif +#if defined(USE_ITHREADS) +# if defined(PERL_IMPLICIT_SYS) +# endif +#endif +#if defined(MYMALLOC) +#define malloced_size Perl_malloced_size +#endif +#define get_context Perl_get_context +#define set_context Perl_set_context +#if defined(PERL_OBJECT) +#ifndef __BORLANDC__ +#endif +#endif +#if defined(PERL_OBJECT) +#else +#endif +#define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d) +#define Gv_AMupdate(a) Perl_Gv_AMupdate(aTHX_ a) +#define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c) +#define append_list(a,b,c) Perl_append_list(aTHX_ a,b,c) +#define apply(a,b,c) Perl_apply(aTHX_ a,b,c) +#define avhv_delete_ent(a,b,c,d) Perl_avhv_delete_ent(aTHX_ a,b,c,d) +#define avhv_exists_ent(a,b,c) Perl_avhv_exists_ent(aTHX_ a,b,c) +#define avhv_fetch_ent(a,b,c,d) Perl_avhv_fetch_ent(aTHX_ a,b,c,d) +#define avhv_store_ent(a,b,c,d) Perl_avhv_store_ent(aTHX_ a,b,c,d) +#define avhv_iternext(a) Perl_avhv_iternext(aTHX_ a) +#define avhv_iterval(a,b) Perl_avhv_iterval(aTHX_ a,b) +#define avhv_keys(a) Perl_avhv_keys(aTHX_ a) +#define av_clear(a) Perl_av_clear(aTHX_ a) +#define av_delete(a,b,c) Perl_av_delete(aTHX_ a,b,c) +#define av_exists(a,b) Perl_av_exists(aTHX_ a,b) +#define av_extend(a,b) Perl_av_extend(aTHX_ a,b) +#define av_fake(a,b) Perl_av_fake(aTHX_ a,b) +#define av_fetch(a,b,c) Perl_av_fetch(aTHX_ a,b,c) +#define av_fill(a,b) Perl_av_fill(aTHX_ a,b) +#define av_len(a) Perl_av_len(aTHX_ a) +#define av_make(a,b) Perl_av_make(aTHX_ a,b) +#define av_pop(a) Perl_av_pop(aTHX_ a) +#define av_push(a,b) Perl_av_push(aTHX_ a,b) +#define av_reify(a) Perl_av_reify(aTHX_ a) +#define av_shift(a) Perl_av_shift(aTHX_ a) +#define av_store(a,b,c) Perl_av_store(aTHX_ a,b,c) +#define av_undef(a) Perl_av_undef(aTHX_ a) +#define av_unshift(a,b) Perl_av_unshift(aTHX_ a,b) +#define bind_match(a,b,c) Perl_bind_match(aTHX_ a,b,c) +#define block_end(a,b) Perl_block_end(aTHX_ a,b) +#define block_gimme() Perl_block_gimme(aTHX) +#define block_start(a) Perl_block_start(aTHX_ a) +#define boot_core_UNIVERSAL() Perl_boot_core_UNIVERSAL(aTHX) +#define call_list(a,b) Perl_call_list(aTHX_ a,b) +#define cando(a,b,c) Perl_cando(aTHX_ a,b,c) +#define cast_ulong(a) Perl_cast_ulong(aTHX_ a) +#define cast_i32(a) Perl_cast_i32(aTHX_ a) +#define cast_iv(a) Perl_cast_iv(aTHX_ a) +#define cast_uv(a) Perl_cast_uv(aTHX_ a) +#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) +#define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b) +#endif +#if defined(USE_THREADS) +#define condpair_magic(a) Perl_condpair_magic(aTHX_ a) +#endif +#define convert(a,b,c) Perl_convert(aTHX_ a,b,c) +#define vcroak(a,b) Perl_vcroak(aTHX_ a,b) +#if defined(PERL_IMPLICIT_CONTEXT) +#endif +#define cv_ckproto(a,b,c) Perl_cv_ckproto(aTHX_ a,b,c) +#define cv_clone(a) Perl_cv_clone(aTHX_ a) +#define cv_const_sv(a) Perl_cv_const_sv(aTHX_ a) +#define op_const_sv(a,b) Perl_op_const_sv(aTHX_ a,b) +#define cv_undef(a) Perl_cv_undef(aTHX_ a) +#define cx_dump(a) Perl_cx_dump(aTHX_ a) +#define filter_add(a,b) Perl_filter_add(aTHX_ a,b) +#define filter_del(a) Perl_filter_del(aTHX_ a) +#define filter_read(a,b,c) Perl_filter_read(aTHX_ a,b,c) +#define get_op_descs() Perl_get_op_descs(aTHX) +#define get_op_names() Perl_get_op_names(aTHX) +#define get_no_modify() Perl_get_no_modify(aTHX) +#define get_opargs() Perl_get_opargs(aTHX) +#define get_ppaddr() Perl_get_ppaddr(aTHX) +#define cxinc() Perl_cxinc(aTHX) +#define vdeb(a,b) Perl_vdeb(aTHX_ a,b) +#define debprofdump() Perl_debprofdump(aTHX) +#define debop(a) Perl_debop(aTHX_ a) +#define debstack() Perl_debstack(aTHX) +#define debstackptrs() Perl_debstackptrs(aTHX) +#define delimcpy(a,b,c,d,e,f) Perl_delimcpy(aTHX_ a,b,c,d,e,f) +#define deprecate(a) Perl_deprecate(aTHX_ a) +#define vdie(a,b) Perl_vdie(aTHX_ a,b) +#define die_where(a,b) Perl_die_where(aTHX_ a,b) +#define dounwind(a) Perl_dounwind(aTHX_ a) +#define do_aexec(a,b,c) Perl_do_aexec(aTHX_ a,b,c) +#define do_aexec5(a,b,c,d,e) Perl_do_aexec5(aTHX_ a,b,c,d,e) +#define do_binmode(a,b,c) Perl_do_binmode(aTHX_ a,b,c) +#define do_chop(a,b) Perl_do_chop(aTHX_ a,b) +#define do_close(a,b) Perl_do_close(aTHX_ a,b) +#define do_eof(a) Perl_do_eof(aTHX_ a) +#define do_exec(a) Perl_do_exec(aTHX_ a) +#if !defined(WIN32) +#define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c) +#endif +#define do_execfree() Perl_do_execfree(aTHX) +#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) +#define do_ipcctl(a,b,c) Perl_do_ipcctl(aTHX_ a,b,c) +#define do_ipcget(a,b,c) Perl_do_ipcget(aTHX_ a,b,c) +#define do_msgrcv(a,b) Perl_do_msgrcv(aTHX_ a,b) +#define do_msgsnd(a,b) Perl_do_msgsnd(aTHX_ a,b) +#define do_semop(a,b) Perl_do_semop(aTHX_ a,b) +#define do_shmio(a,b,c) Perl_do_shmio(aTHX_ a,b,c) +#endif +#define do_join(a,b,c,d) Perl_do_join(aTHX_ a,b,c,d) +#define do_kv() Perl_do_kv(aTHX) +#define do_open(a,b,c,d,e,f,g) Perl_do_open(aTHX_ a,b,c,d,e,f,g) +#define do_open9(a,b,c,d,e,f,g,h,i) Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i) +#define do_pipe(a,b,c) Perl_do_pipe(aTHX_ a,b,c) +#define do_print(a,b) Perl_do_print(aTHX_ a,b) +#define do_readline() Perl_do_readline(aTHX) +#define do_chomp(a) Perl_do_chomp(aTHX_ a) +#define do_seek(a,b,c) Perl_do_seek(aTHX_ a,b,c) +#define do_sprintf(a,b,c) Perl_do_sprintf(aTHX_ a,b,c) +#define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c) +#define do_tell(a) Perl_do_tell(aTHX_ a) +#define do_trans(a) Perl_do_trans(aTHX_ a) +#define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c) +#define do_vecset(a) Perl_do_vecset(aTHX_ a) +#define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d) +#define dofile(a) Perl_dofile(aTHX_ a) +#define dowantarray() Perl_dowantarray(aTHX) +#define dump_all() Perl_dump_all(aTHX) +#define dump_eval() Perl_dump_eval(aTHX) +#if defined(DUMP_FDS) +#define dump_fds(a) Perl_dump_fds(aTHX_ a) +#endif +#define dump_form(a) Perl_dump_form(aTHX_ a) +#define gv_dump(a) Perl_gv_dump(aTHX_ a) +#define op_dump(a) Perl_op_dump(aTHX_ a) +#define pmop_dump(a) Perl_pmop_dump(aTHX_ a) +#define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a) +#define dump_sub(a) Perl_dump_sub(aTHX_ a) +#define fbm_compile(a,b) Perl_fbm_compile(aTHX_ a,b) +#define fbm_instr(a,b,c,d) Perl_fbm_instr(aTHX_ a,b,c,d) +#define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d) +#if defined(USE_THREADS) +#define find_threadsv(a) Perl_find_threadsv(aTHX_ a) +#endif +#define force_list(a) Perl_force_list(aTHX_ a) +#define fold_constants(a) Perl_fold_constants(aTHX_ a) +#define vform(a,b) Perl_vform(aTHX_ a,b) +#define free_tmps() Perl_free_tmps(aTHX) +#define gen_constant_list(a) Perl_gen_constant_list(aTHX_ a) +#if !defined(HAS_GETENV_LEN) +#define getenv_len(a,b) Perl_getenv_len(aTHX_ a,b) +#endif +#define gp_free(a) Perl_gp_free(aTHX_ a) +#define gp_ref(a) Perl_gp_ref(aTHX_ a) +#define gv_AVadd(a) Perl_gv_AVadd(aTHX_ a) +#define gv_HVadd(a) Perl_gv_HVadd(aTHX_ a) +#define gv_IOadd(a) Perl_gv_IOadd(aTHX_ a) +#define gv_autoload4(a,b,c,d) Perl_gv_autoload4(aTHX_ a,b,c,d) +#define gv_check(a) Perl_gv_check(aTHX_ a) +#define gv_efullname(a,b) Perl_gv_efullname(aTHX_ a,b) +#define gv_efullname3(a,b,c) Perl_gv_efullname3(aTHX_ a,b,c) +#define gv_fetchfile(a) Perl_gv_fetchfile(aTHX_ a) +#define gv_fetchmeth(a,b,c,d) Perl_gv_fetchmeth(aTHX_ a,b,c,d) +#define gv_fetchmethod(a,b) Perl_gv_fetchmethod(aTHX_ a,b) +#define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c) +#define gv_fetchpv(a,b,c) Perl_gv_fetchpv(aTHX_ a,b,c) +#define gv_fullname(a,b) Perl_gv_fullname(aTHX_ a,b) +#define gv_fullname3(a,b,c) Perl_gv_fullname3(aTHX_ a,b,c) +#define gv_init(a,b,c,d,e) Perl_gv_init(aTHX_ a,b,c,d,e) +#define gv_stashpv(a,b) Perl_gv_stashpv(aTHX_ a,b) +#define gv_stashpvn(a,b,c) Perl_gv_stashpvn(aTHX_ a,b,c) +#define gv_stashsv(a,b) Perl_gv_stashsv(aTHX_ a,b) +#define hv_clear(a) Perl_hv_clear(aTHX_ a) +#define hv_delayfree_ent(a,b) Perl_hv_delayfree_ent(aTHX_ a,b) +#define hv_delete(a,b,c,d) Perl_hv_delete(aTHX_ a,b,c,d) +#define hv_delete_ent(a,b,c,d) Perl_hv_delete_ent(aTHX_ a,b,c,d) +#define hv_exists(a,b,c) Perl_hv_exists(aTHX_ a,b,c) +#define hv_exists_ent(a,b,c) Perl_hv_exists_ent(aTHX_ a,b,c) +#define hv_fetch(a,b,c,d) Perl_hv_fetch(aTHX_ a,b,c,d) +#define hv_fetch_ent(a,b,c,d) Perl_hv_fetch_ent(aTHX_ a,b,c,d) +#define hv_free_ent(a,b) Perl_hv_free_ent(aTHX_ a,b) +#define hv_iterinit(a) Perl_hv_iterinit(aTHX_ a) +#define hv_iterkey(a,b) Perl_hv_iterkey(aTHX_ a,b) +#define hv_iterkeysv(a) Perl_hv_iterkeysv(aTHX_ a) +#define hv_iternext(a) Perl_hv_iternext(aTHX_ a) +#define hv_iternextsv(a,b,c) Perl_hv_iternextsv(aTHX_ a,b,c) +#define hv_iterval(a,b) Perl_hv_iterval(aTHX_ a,b) +#define hv_ksplit(a,b) Perl_hv_ksplit(aTHX_ a,b) +#define hv_magic(a,b,c) Perl_hv_magic(aTHX_ a,b,c) +#define hv_store(a,b,c,d,e) Perl_hv_store(aTHX_ a,b,c,d,e) +#define hv_store_ent(a,b,c,d) Perl_hv_store_ent(aTHX_ a,b,c,d) +#define hv_undef(a) Perl_hv_undef(aTHX_ a) +#define ibcmp(a,b,c) Perl_ibcmp(aTHX_ a,b,c) +#define ibcmp_locale(a,b,c) Perl_ibcmp_locale(aTHX_ a,b,c) +#define ingroup(a,b) Perl_ingroup(aTHX_ a,b) +#define init_debugger() Perl_init_debugger(aTHX) +#define init_stacks() Perl_init_stacks(aTHX) +#define intro_my() Perl_intro_my(aTHX) +#define instr(a,b) Perl_instr(aTHX_ a,b) +#define io_close(a,b) Perl_io_close(aTHX_ a,b) +#define invert(a) Perl_invert(aTHX_ a) +#define is_uni_alnum(a) Perl_is_uni_alnum(aTHX_ a) +#define is_uni_alnumc(a) Perl_is_uni_alnumc(aTHX_ a) +#define is_uni_idfirst(a) Perl_is_uni_idfirst(aTHX_ a) +#define is_uni_alpha(a) Perl_is_uni_alpha(aTHX_ a) +#define is_uni_ascii(a) Perl_is_uni_ascii(aTHX_ a) +#define is_uni_space(a) Perl_is_uni_space(aTHX_ a) +#define is_uni_cntrl(a) Perl_is_uni_cntrl(aTHX_ a) +#define is_uni_graph(a) Perl_is_uni_graph(aTHX_ a) +#define is_uni_digit(a) Perl_is_uni_digit(aTHX_ a) +#define is_uni_upper(a) Perl_is_uni_upper(aTHX_ a) +#define is_uni_lower(a) Perl_is_uni_lower(aTHX_ a) +#define is_uni_print(a) Perl_is_uni_print(aTHX_ a) +#define is_uni_punct(a) Perl_is_uni_punct(aTHX_ a) +#define is_uni_xdigit(a) Perl_is_uni_xdigit(aTHX_ a) +#define to_uni_upper(a) Perl_to_uni_upper(aTHX_ a) +#define to_uni_title(a) Perl_to_uni_title(aTHX_ a) +#define to_uni_lower(a) Perl_to_uni_lower(aTHX_ a) +#define is_uni_alnum_lc(a) Perl_is_uni_alnum_lc(aTHX_ a) +#define is_uni_alnumc_lc(a) Perl_is_uni_alnumc_lc(aTHX_ a) +#define is_uni_idfirst_lc(a) Perl_is_uni_idfirst_lc(aTHX_ a) +#define is_uni_alpha_lc(a) Perl_is_uni_alpha_lc(aTHX_ a) +#define is_uni_ascii_lc(a) Perl_is_uni_ascii_lc(aTHX_ a) +#define is_uni_space_lc(a) Perl_is_uni_space_lc(aTHX_ a) +#define is_uni_cntrl_lc(a) Perl_is_uni_cntrl_lc(aTHX_ a) +#define is_uni_graph_lc(a) Perl_is_uni_graph_lc(aTHX_ a) +#define is_uni_digit_lc(a) Perl_is_uni_digit_lc(aTHX_ a) +#define is_uni_upper_lc(a) Perl_is_uni_upper_lc(aTHX_ a) +#define is_uni_lower_lc(a) Perl_is_uni_lower_lc(aTHX_ a) +#define is_uni_print_lc(a) Perl_is_uni_print_lc(aTHX_ a) +#define is_uni_punct_lc(a) Perl_is_uni_punct_lc(aTHX_ a) +#define is_uni_xdigit_lc(a) Perl_is_uni_xdigit_lc(aTHX_ a) +#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a) +#define to_uni_title_lc(a) Perl_to_uni_title_lc(aTHX_ a) +#define to_uni_lower_lc(a) Perl_to_uni_lower_lc(aTHX_ a) +#define is_utf8_char(a) Perl_is_utf8_char(aTHX_ a) +#define is_utf8_alnum(a) Perl_is_utf8_alnum(aTHX_ a) +#define is_utf8_alnumc(a) Perl_is_utf8_alnumc(aTHX_ a) +#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a) +#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a) +#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a) +#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a) +#define is_utf8_cntrl(a) Perl_is_utf8_cntrl(aTHX_ a) +#define is_utf8_digit(a) Perl_is_utf8_digit(aTHX_ a) +#define is_utf8_graph(a) Perl_is_utf8_graph(aTHX_ a) +#define is_utf8_upper(a) Perl_is_utf8_upper(aTHX_ a) +#define is_utf8_lower(a) Perl_is_utf8_lower(aTHX_ a) +#define is_utf8_print(a) Perl_is_utf8_print(aTHX_ a) +#define is_utf8_punct(a) Perl_is_utf8_punct(aTHX_ a) +#define is_utf8_xdigit(a) Perl_is_utf8_xdigit(aTHX_ a) +#define is_utf8_mark(a) Perl_is_utf8_mark(aTHX_ a) +#define jmaybe(a) Perl_jmaybe(aTHX_ a) +#define keyword(a,b) Perl_keyword(aTHX_ a,b) +#define leave_scope(a) Perl_leave_scope(aTHX_ a) +#define lex_end() Perl_lex_end(aTHX) +#define lex_start(a) Perl_lex_start(aTHX_ a) +#define linklist(a) Perl_linklist(aTHX_ a) +#define list(a) Perl_list(aTHX_ a) +#define listkids(a) Perl_listkids(aTHX_ a) +#define vload_module(a,b,c,d) Perl_vload_module(aTHX_ a,b,c,d) +#define localize(a,b) Perl_localize(aTHX_ a,b) +#define looks_like_number(a) Perl_looks_like_number(aTHX_ a) +#define magic_clearenv(a,b) Perl_magic_clearenv(aTHX_ a,b) +#define magic_clear_all_env(a,b) Perl_magic_clear_all_env(aTHX_ a,b) +#define magic_clearpack(a,b) Perl_magic_clearpack(aTHX_ a,b) +#define magic_clearsig(a,b) Perl_magic_clearsig(aTHX_ a,b) +#define magic_existspack(a,b) Perl_magic_existspack(aTHX_ a,b) +#define magic_freeregexp(a,b) Perl_magic_freeregexp(aTHX_ a,b) +#define magic_get(a,b) Perl_magic_get(aTHX_ a,b) +#define magic_getarylen(a,b) Perl_magic_getarylen(aTHX_ a,b) +#define magic_getdefelem(a,b) Perl_magic_getdefelem(aTHX_ a,b) +#define magic_getglob(a,b) Perl_magic_getglob(aTHX_ a,b) +#define magic_getnkeys(a,b) Perl_magic_getnkeys(aTHX_ a,b) +#define magic_getpack(a,b) Perl_magic_getpack(aTHX_ a,b) +#define magic_getpos(a,b) Perl_magic_getpos(aTHX_ a,b) +#define magic_getsig(a,b) Perl_magic_getsig(aTHX_ a,b) +#define magic_getsubstr(a,b) Perl_magic_getsubstr(aTHX_ a,b) +#define magic_gettaint(a,b) Perl_magic_gettaint(aTHX_ a,b) +#define magic_getuvar(a,b) Perl_magic_getuvar(aTHX_ a,b) +#define magic_getvec(a,b) Perl_magic_getvec(aTHX_ a,b) +#define magic_len(a,b) Perl_magic_len(aTHX_ a,b) +#if defined(USE_THREADS) +#define magic_mutexfree(a,b) Perl_magic_mutexfree(aTHX_ a,b) +#endif +#define magic_nextpack(a,b,c) Perl_magic_nextpack(aTHX_ a,b,c) +#define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b) +#define magic_regdatum_get(a,b) Perl_magic_regdatum_get(aTHX_ a,b) +#define magic_set(a,b) Perl_magic_set(aTHX_ a,b) +#define magic_setamagic(a,b) Perl_magic_setamagic(aTHX_ a,b) +#define magic_setarylen(a,b) Perl_magic_setarylen(aTHX_ a,b) +#define magic_setbm(a,b) Perl_magic_setbm(aTHX_ a,b) +#define magic_setdbline(a,b) Perl_magic_setdbline(aTHX_ a,b) +#if defined(USE_LOCALE_COLLATE) +#define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b) +#endif +#define magic_setdefelem(a,b) Perl_magic_setdefelem(aTHX_ a,b) +#define magic_setenv(a,b) Perl_magic_setenv(aTHX_ a,b) +#define magic_setfm(a,b) Perl_magic_setfm(aTHX_ a,b) +#define magic_setisa(a,b) Perl_magic_setisa(aTHX_ a,b) +#define magic_setglob(a,b) Perl_magic_setglob(aTHX_ a,b) +#define magic_setmglob(a,b) Perl_magic_setmglob(aTHX_ a,b) +#define magic_setnkeys(a,b) Perl_magic_setnkeys(aTHX_ a,b) +#define magic_setpack(a,b) Perl_magic_setpack(aTHX_ a,b) +#define magic_setpos(a,b) Perl_magic_setpos(aTHX_ a,b) +#define magic_setsig(a,b) Perl_magic_setsig(aTHX_ a,b) +#define magic_setsubstr(a,b) Perl_magic_setsubstr(aTHX_ a,b) +#define magic_settaint(a,b) Perl_magic_settaint(aTHX_ a,b) +#define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b) +#define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b) +#define magic_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b) +#define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b) +#define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b) +#define magicname(a,b,c) Perl_magicname(aTHX_ a,b,c) +#define markstack_grow() Perl_markstack_grow(aTHX) +#if defined(USE_LOCALE_COLLATE) +#define mem_collxfrm(a,b,c) Perl_mem_collxfrm(aTHX_ a,b,c) +#endif +#define vmess(a,b) Perl_vmess(aTHX_ a,b) +#define qerror(a) Perl_qerror(aTHX_ a) +#define mg_clear(a) Perl_mg_clear(aTHX_ a) +#define mg_copy(a,b,c,d) Perl_mg_copy(aTHX_ a,b,c,d) +#define mg_find(a,b) Perl_mg_find(aTHX_ a,b) +#define mg_free(a) Perl_mg_free(aTHX_ a) +#define mg_get(a) Perl_mg_get(aTHX_ a) +#define mg_length(a) Perl_mg_length(aTHX_ a) +#define mg_magical(a) Perl_mg_magical(aTHX_ a) +#define mg_set(a) Perl_mg_set(aTHX_ a) +#define mg_size(a) Perl_mg_size(aTHX_ a) +#define mod(a,b) Perl_mod(aTHX_ a,b) +#define mode_from_discipline(a) Perl_mode_from_discipline(aTHX_ a) +#define moreswitches(a) Perl_moreswitches(aTHX_ a) +#define my(a) Perl_my(aTHX_ a) +#define my_atof(a) Perl_my_atof(aTHX_ a) +#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) +#define my_bcopy Perl_my_bcopy +#endif +#if !defined(HAS_BZERO) && !defined(HAS_MEMSET) +#define my_bzero Perl_my_bzero +#endif +#define my_exit(a) Perl_my_exit(aTHX_ a) +#define my_failure_exit() Perl_my_failure_exit(aTHX) +#define my_fflush_all() Perl_my_fflush_all(aTHX) +#define my_lstat() Perl_my_lstat(aTHX) +#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) +#define my_memcmp Perl_my_memcmp +#endif +#if !defined(HAS_MEMSET) +#define my_memset Perl_my_memset +#endif +#if !defined(PERL_OBJECT) +#define my_pclose(a) Perl_my_pclose(aTHX_ a) +#define my_popen(a,b) Perl_my_popen(aTHX_ a,b) +#endif +#define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b) +#define my_stat() Perl_my_stat(aTHX) +#if defined(MYSWAP) +#define my_swap(a) Perl_my_swap(aTHX_ a) +#define my_htonl(a) Perl_my_htonl(aTHX_ a) +#define my_ntohl(a) Perl_my_ntohl(aTHX_ a) +#endif +#define my_unexec() Perl_my_unexec(aTHX) +#define newANONLIST(a) Perl_newANONLIST(aTHX_ a) +#define newANONHASH(a) Perl_newANONHASH(aTHX_ a) +#define newANONSUB(a,b,c) Perl_newANONSUB(aTHX_ a,b,c) +#define newASSIGNOP(a,b,c,d) Perl_newASSIGNOP(aTHX_ a,b,c,d) +#define newCONDOP(a,b,c,d) Perl_newCONDOP(aTHX_ a,b,c,d) +#define newCONSTSUB(a,b,c) Perl_newCONSTSUB(aTHX_ a,b,c) +#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c) +#define newFOROP(a,b,c,d,e,f,g) Perl_newFOROP(aTHX_ a,b,c,d,e,f,g) +#define newLOGOP(a,b,c,d) Perl_newLOGOP(aTHX_ a,b,c,d) +#define newLOOPEX(a,b) Perl_newLOOPEX(aTHX_ a,b) +#define newLOOPOP(a,b,c,d) Perl_newLOOPOP(aTHX_ a,b,c,d) +#define newNULLLIST() Perl_newNULLLIST(aTHX) +#define newOP(a,b) Perl_newOP(aTHX_ a,b) +#define newPROG(a) Perl_newPROG(aTHX_ a) +#define newRANGE(a,b,c) Perl_newRANGE(aTHX_ a,b,c) +#define newSLICEOP(a,b,c) Perl_newSLICEOP(aTHX_ a,b,c) +#define newSTATEOP(a,b,c) Perl_newSTATEOP(aTHX_ a,b,c) +#define newSUB(a,b,c,d) Perl_newSUB(aTHX_ a,b,c,d) +#define newXS(a,b,c) Perl_newXS(aTHX_ a,b,c) +#define newAV() Perl_newAV(aTHX) +#define newAVREF(a) Perl_newAVREF(aTHX_ a) +#define newBINOP(a,b,c,d) Perl_newBINOP(aTHX_ a,b,c,d) +#define newCVREF(a,b) Perl_newCVREF(aTHX_ a,b) +#define newGVOP(a,b,c) Perl_newGVOP(aTHX_ a,b,c) +#define newGVgen(a) Perl_newGVgen(aTHX_ a) +#define newGVREF(a,b) Perl_newGVREF(aTHX_ a,b) +#define newHVREF(a) Perl_newHVREF(aTHX_ a) +#define newHV() Perl_newHV(aTHX) +#define newHVhv(a) Perl_newHVhv(aTHX_ a) +#define newIO() Perl_newIO(aTHX) +#define newLISTOP(a,b,c,d) Perl_newLISTOP(aTHX_ a,b,c,d) +#define newPADOP(a,b,c) Perl_newPADOP(aTHX_ a,b,c) +#define newPMOP(a,b) Perl_newPMOP(aTHX_ a,b) +#define newPVOP(a,b,c) Perl_newPVOP(aTHX_ a,b,c) +#define newRV(a) Perl_newRV(aTHX_ a) +#define newRV_noinc(a) Perl_newRV_noinc(aTHX_ a) +#define newSV(a) Perl_newSV(aTHX_ a) +#define newSVREF(a) Perl_newSVREF(aTHX_ a) +#define newSVOP(a,b,c) Perl_newSVOP(aTHX_ a,b,c) +#define newSViv(a) Perl_newSViv(aTHX_ a) +#define newSVuv(a) Perl_newSVuv(aTHX_ a) +#define newSVnv(a) Perl_newSVnv(aTHX_ a) +#define newSVpv(a,b) Perl_newSVpv(aTHX_ a,b) +#define newSVpvn(a,b) Perl_newSVpvn(aTHX_ a,b) +#define vnewSVpvf(a,b) Perl_vnewSVpvf(aTHX_ a,b) +#define newSVrv(a,b) Perl_newSVrv(aTHX_ a,b) +#define newSVsv(a) Perl_newSVsv(aTHX_ a) +#define newUNOP(a,b,c) Perl_newUNOP(aTHX_ a,b,c) +#define newWHILEOP(a,b,c,d,e,f,g) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g) +#define new_stackinfo(a,b) Perl_new_stackinfo(aTHX_ a,b) +#define nextargv(a) Perl_nextargv(aTHX_ a) +#define ninstr(a,b,c,d) Perl_ninstr(aTHX_ a,b,c,d) +#define oopsCV(a) Perl_oopsCV(aTHX_ a) +#define op_free(a) Perl_op_free(aTHX_ a) +#define package(a) Perl_package(aTHX_ a) +#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b) +#define pad_allocmy(a) Perl_pad_allocmy(aTHX_ a) +#define pad_findmy(a) Perl_pad_findmy(aTHX_ a) +#define oopsAV(a) Perl_oopsAV(aTHX_ a) +#define oopsHV(a) Perl_oopsHV(aTHX_ a) +#define pad_leavemy(a) Perl_pad_leavemy(aTHX_ a) +#define pad_sv(a) Perl_pad_sv(aTHX_ a) +#define pad_free(a) Perl_pad_free(aTHX_ a) +#define pad_reset() Perl_pad_reset(aTHX) +#define pad_swipe(a) Perl_pad_swipe(aTHX_ a) +#define peep(a) Perl_peep(aTHX_ a) +#if defined(PERL_OBJECT) +#endif +#if defined(USE_THREADS) +#define new_struct_thread(a) Perl_new_struct_thread(aTHX_ a) +#endif +#define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b) +#define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c) +#define call_method(a,b) Perl_call_method(aTHX_ a,b) +#define call_pv(a,b) Perl_call_pv(aTHX_ a,b) +#define call_sv(a,b) Perl_call_sv(aTHX_ a,b) +#define eval_pv(a,b) Perl_eval_pv(aTHX_ a,b) +#define eval_sv(a,b) Perl_eval_sv(aTHX_ a,b) +#define get_sv(a,b) Perl_get_sv(aTHX_ a,b) +#define get_av(a,b) Perl_get_av(aTHX_ a,b) +#define get_hv(a,b) Perl_get_hv(aTHX_ a,b) +#define get_cv(a,b) Perl_get_cv(aTHX_ a,b) +#define init_i18nl10n(a) Perl_init_i18nl10n(aTHX_ a) +#define init_i18nl14n(a) Perl_init_i18nl14n(aTHX_ a) +#define new_collate(a) Perl_new_collate(aTHX_ a) +#define new_ctype(a) Perl_new_ctype(aTHX_ a) +#define new_numeric(a) Perl_new_numeric(aTHX_ a) +#define set_numeric_local() Perl_set_numeric_local(aTHX) +#define set_numeric_radix() Perl_set_numeric_radix(aTHX) +#define set_numeric_standard() Perl_set_numeric_standard(aTHX) +#define require_pv(a) Perl_require_pv(aTHX_ a) +#define pidgone(a,b) Perl_pidgone(aTHX_ a,b) +#define pmflag(a,b) Perl_pmflag(aTHX_ a,b) +#define pmruntime(a,b,c) Perl_pmruntime(aTHX_ a,b,c) +#define pmtrans(a,b,c) Perl_pmtrans(aTHX_ a,b,c) +#define pop_return() Perl_pop_return(aTHX) +#define pop_scope() Perl_pop_scope(aTHX) +#define prepend_elem(a,b,c) Perl_prepend_elem(aTHX_ a,b,c) +#define push_return(a) Perl_push_return(aTHX_ a) +#define push_scope() Perl_push_scope(aTHX) +#define ref(a,b) Perl_ref(aTHX_ a,b) +#define refkids(a,b) Perl_refkids(aTHX_ a,b) +#define regdump(a) Perl_regdump(aTHX_ a) +#define pregexec(a,b,c,d,e,f,g) Perl_pregexec(aTHX_ a,b,c,d,e,f,g) +#define pregfree(a) Perl_pregfree(aTHX_ a) +#define pregcomp(a,b,c) Perl_pregcomp(aTHX_ a,b,c) +#define re_intuit_start(a,b,c,d,e,f) Perl_re_intuit_start(aTHX_ a,b,c,d,e,f) +#define re_intuit_string(a) Perl_re_intuit_string(aTHX_ a) +#define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h) +#define regnext(a) Perl_regnext(aTHX_ a) +#define regprop(a,b) Perl_regprop(aTHX_ a,b) +#define repeatcpy(a,b,c,d) Perl_repeatcpy(aTHX_ a,b,c,d) +#define rninstr(a,b,c,d) Perl_rninstr(aTHX_ a,b,c,d) +#define rsignal(a,b) Perl_rsignal(aTHX_ a,b) +#define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b) +#define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c) +#define rsignal_state(a) Perl_rsignal_state(aTHX_ a) +#define rxres_free(a) Perl_rxres_free(aTHX_ a) +#define rxres_restore(a,b) Perl_rxres_restore(aTHX_ a,b) +#define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b) +#if !defined(HAS_RENAME) +#define same_dirent(a,b) Perl_same_dirent(aTHX_ a,b) +#endif +#define savepv(a) Perl_savepv(aTHX_ a) +#define savepvn(a,b) Perl_savepvn(aTHX_ a,b) +#define savestack_grow() Perl_savestack_grow(aTHX) +#define save_aelem(a,b,c) Perl_save_aelem(aTHX_ a,b,c) +#define save_alloc(a,b) Perl_save_alloc(aTHX_ a,b) +#define save_aptr(a) Perl_save_aptr(aTHX_ a) +#define save_ary(a) Perl_save_ary(aTHX_ a) +#define save_clearsv(a) Perl_save_clearsv(aTHX_ a) +#define save_delete(a,b,c) Perl_save_delete(aTHX_ a,b,c) +#define save_destructor(a,b) Perl_save_destructor(aTHX_ a,b) +#define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b) +#define save_freesv(a) Perl_save_freesv(aTHX_ a) +#define save_freeop(a) Perl_save_freeop(aTHX_ a) +#define save_freepv(a) Perl_save_freepv(aTHX_ a) +#define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a) +#define save_gp(a,b) Perl_save_gp(aTHX_ a,b) +#define save_hash(a) Perl_save_hash(aTHX_ a) +#define save_helem(a,b,c) Perl_save_helem(aTHX_ a,b,c) +#define save_hints() Perl_save_hints(aTHX) +#define save_hptr(a) Perl_save_hptr(aTHX_ a) +#define save_I16(a) Perl_save_I16(aTHX_ a) +#define save_I32(a) Perl_save_I32(aTHX_ a) +#define save_I8(a) Perl_save_I8(aTHX_ a) +#define save_int(a) Perl_save_int(aTHX_ a) +#define save_item(a) Perl_save_item(aTHX_ a) +#define save_iv(a) Perl_save_iv(aTHX_ a) +#define save_list(a,b) Perl_save_list(aTHX_ a,b) +#define save_long(a) Perl_save_long(aTHX_ a) +#define save_nogv(a) Perl_save_nogv(aTHX_ a) +#define save_op() Perl_save_op(aTHX) +#define save_scalar(a) Perl_save_scalar(aTHX_ a) +#define save_pptr(a) Perl_save_pptr(aTHX_ a) +#define save_vptr(a) Perl_save_vptr(aTHX_ a) +#define save_re_context() Perl_save_re_context(aTHX) +#define save_sptr(a) Perl_save_sptr(aTHX_ a) +#define save_svref(a) Perl_save_svref(aTHX_ a) +#define save_threadsv(a) Perl_save_threadsv(aTHX_ a) +#define sawparens(a) Perl_sawparens(aTHX_ a) +#define scalar(a) Perl_scalar(aTHX_ a) +#define scalarkids(a) Perl_scalarkids(aTHX_ a) +#define scalarseq(a) Perl_scalarseq(aTHX_ a) +#define scalarvoid(a) Perl_scalarvoid(aTHX_ a) +#define scan_bin(a,b,c) Perl_scan_bin(aTHX_ a,b,c) +#define scan_hex(a,b,c) Perl_scan_hex(aTHX_ a,b,c) +#define scan_num(a) Perl_scan_num(aTHX_ a) +#define scan_oct(a,b,c) Perl_scan_oct(aTHX_ a,b,c) +#define scope(a) Perl_scope(aTHX_ a) +#define screaminstr(a,b,c,d,e,f) Perl_screaminstr(aTHX_ a,b,c,d,e,f) +#if !defined(VMS) +#define setenv_getix(a) Perl_setenv_getix(aTHX_ a) +#endif +#define setdefout(a) Perl_setdefout(aTHX_ a) +#define sharepvn(a,b,c) Perl_sharepvn(aTHX_ a,b,c) +#define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c) +#define sighandler Perl_sighandler +#define stack_grow(a,b,c) Perl_stack_grow(aTHX_ a,b,c) +#define start_subparse(a,b) Perl_start_subparse(aTHX_ a,b) +#define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a) +#define sv_2bool(a) Perl_sv_2bool(aTHX_ a) +#define sv_2cv(a,b,c,d) Perl_sv_2cv(aTHX_ a,b,c,d) +#define sv_2io(a) Perl_sv_2io(aTHX_ a) +#define sv_2iv(a) Perl_sv_2iv(aTHX_ a) +#define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a) +#define sv_2nv(a) Perl_sv_2nv(aTHX_ a) +#define sv_2pv(a,b) Perl_sv_2pv(aTHX_ a,b) +#define sv_2pvutf8(a,b) Perl_sv_2pvutf8(aTHX_ a,b) +#define sv_2pvbyte(a,b) Perl_sv_2pvbyte(aTHX_ a,b) +#define sv_2uv(a) Perl_sv_2uv(aTHX_ a) +#define sv_iv(a) Perl_sv_iv(aTHX_ a) +#define sv_uv(a) Perl_sv_uv(aTHX_ a) +#define sv_nv(a) Perl_sv_nv(aTHX_ a) +#define sv_pvn(a,b) Perl_sv_pvn(aTHX_ a,b) +#define sv_pvutf8n(a,b) Perl_sv_pvutf8n(aTHX_ a,b) +#define sv_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b) +#define sv_true(a) Perl_sv_true(aTHX_ a) +#define sv_add_arena(a,b,c) Perl_sv_add_arena(aTHX_ a,b,c) +#define sv_backoff(a) Perl_sv_backoff(aTHX_ a) +#define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b) +#define sv_vcatpvf(a,b,c) Perl_sv_vcatpvf(aTHX_ a,b,c) +#define sv_catpv(a,b) Perl_sv_catpv(aTHX_ a,b) +#define sv_catpvn(a,b,c) Perl_sv_catpvn(aTHX_ a,b,c) +#define sv_catsv(a,b) Perl_sv_catsv(aTHX_ a,b) +#define sv_chop(a,b) Perl_sv_chop(aTHX_ a,b) +#define sv_clean_all() Perl_sv_clean_all(aTHX) +#define sv_clean_objs() Perl_sv_clean_objs(aTHX) +#define sv_clear(a) Perl_sv_clear(aTHX_ a) +#define sv_cmp(a,b) Perl_sv_cmp(aTHX_ a,b) +#define sv_cmp_locale(a,b) Perl_sv_cmp_locale(aTHX_ a,b) +#if defined(USE_LOCALE_COLLATE) +#define sv_collxfrm(a,b) Perl_sv_collxfrm(aTHX_ a,b) +#endif +#define sv_compile_2op(a,b,c,d) Perl_sv_compile_2op(aTHX_ a,b,c,d) +#define sv_dec(a) Perl_sv_dec(aTHX_ a) +#define sv_dump(a) Perl_sv_dump(aTHX_ a) +#define sv_derived_from(a,b) Perl_sv_derived_from(aTHX_ a,b) +#define sv_eq(a,b) Perl_sv_eq(aTHX_ a,b) +#define sv_free(a) Perl_sv_free(aTHX_ a) +#define sv_free_arenas() Perl_sv_free_arenas(aTHX) +#define sv_gets(a,b,c) Perl_sv_gets(aTHX_ a,b,c) +#define sv_grow(a,b) Perl_sv_grow(aTHX_ a,b) +#define sv_inc(a) Perl_sv_inc(aTHX_ a) +#define sv_insert(a,b,c,d,e) Perl_sv_insert(aTHX_ a,b,c,d,e) +#define sv_isa(a,b) Perl_sv_isa(aTHX_ a,b) +#define sv_isobject(a) Perl_sv_isobject(aTHX_ a) +#define sv_len(a) Perl_sv_len(aTHX_ a) +#define sv_len_utf8(a) Perl_sv_len_utf8(aTHX_ a) +#define sv_magic(a,b,c,d,e) Perl_sv_magic(aTHX_ a,b,c,d,e) +#define sv_mortalcopy(a) Perl_sv_mortalcopy(aTHX_ a) +#define sv_newmortal() Perl_sv_newmortal(aTHX) +#define sv_newref(a) Perl_sv_newref(aTHX_ a) +#define sv_peek(a) Perl_sv_peek(aTHX_ a) +#define sv_pos_u2b(a,b,c) Perl_sv_pos_u2b(aTHX_ a,b,c) +#define sv_pos_b2u(a,b) Perl_sv_pos_b2u(aTHX_ a,b) +#define sv_pvn_force(a,b) Perl_sv_pvn_force(aTHX_ a,b) +#define sv_pvutf8n_force(a,b) Perl_sv_pvutf8n_force(aTHX_ a,b) +#define sv_pvbyten_force(a,b) Perl_sv_pvbyten_force(aTHX_ a,b) +#define sv_reftype(a,b) Perl_sv_reftype(aTHX_ a,b) +#define sv_replace(a,b) Perl_sv_replace(aTHX_ a,b) +#define sv_report_used() Perl_sv_report_used(aTHX) +#define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b) +#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c) +#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b) +#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b) +#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b) +#define sv_setnv(a,b) Perl_sv_setnv(aTHX_ a,b) +#define sv_setref_iv(a,b,c) Perl_sv_setref_iv(aTHX_ a,b,c) +#define sv_setref_nv(a,b,c) Perl_sv_setref_nv(aTHX_ a,b,c) +#define sv_setref_pv(a,b,c) Perl_sv_setref_pv(aTHX_ a,b,c) +#define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d) +#define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b) +#define sv_setpvn(a,b,c) Perl_sv_setpvn(aTHX_ a,b,c) +#define sv_setsv(a,b) Perl_sv_setsv(aTHX_ a,b) +#define sv_taint(a) Perl_sv_taint(aTHX_ a) +#define sv_tainted(a) Perl_sv_tainted(aTHX_ a) +#define sv_unmagic(a,b) Perl_sv_unmagic(aTHX_ a,b) +#define sv_unref(a) Perl_sv_unref(aTHX_ a) +#define sv_untaint(a) Perl_sv_untaint(aTHX_ a) +#define sv_upgrade(a,b) Perl_sv_upgrade(aTHX_ a,b) +#define sv_usepvn(a,b,c) Perl_sv_usepvn(aTHX_ a,b,c) +#define sv_vcatpvfn(a,b,c,d,e,f,g) Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g) +#define sv_vsetpvfn(a,b,c,d,e,f,g) Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g) +#define str_to_version(a) Perl_str_to_version(aTHX_ a) +#define swash_init(a,b,c,d,e) Perl_swash_init(aTHX_ a,b,c,d,e) +#define swash_fetch(a,b) Perl_swash_fetch(aTHX_ a,b) +#define taint_env() Perl_taint_env(aTHX) +#define taint_proper(a,b) Perl_taint_proper(aTHX_ a,b) +#define to_utf8_lower(a) Perl_to_utf8_lower(aTHX_ a) +#define to_utf8_upper(a) Perl_to_utf8_upper(aTHX_ a) +#define to_utf8_title(a) Perl_to_utf8_title(aTHX_ a) +#if defined(UNLINK_ALL_VERSIONS) +#define unlnk(a) Perl_unlnk(aTHX_ a) +#endif +#if defined(USE_THREADS) +#define unlock_condpair(a) Perl_unlock_condpair(aTHX_ a) +#endif +#define unsharepvn(a,b,c) Perl_unsharepvn(aTHX_ a,b,c) +#define unshare_hek(a) Perl_unshare_hek(aTHX_ a) +#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e) +#define utf16_to_utf8(a,b,c) Perl_utf16_to_utf8(aTHX_ a,b,c) +#define utf16_to_utf8_reversed(a,b,c) Perl_utf16_to_utf8_reversed(aTHX_ a,b,c) +#define utf8_distance(a,b) Perl_utf8_distance(aTHX_ a,b) +#define utf8_hop(a,b) Perl_utf8_hop(aTHX_ a,b) +#define utf8_to_uv(a,b) Perl_utf8_to_uv(aTHX_ a,b) +#define uv_to_utf8(a,b) Perl_uv_to_utf8(aTHX_ a,b) +#define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a) +#define vivify_ref(a,b) Perl_vivify_ref(aTHX_ a,b) +#define wait4pid(a,b,c) Perl_wait4pid(aTHX_ a,b,c) +#define report_closed_fh(a,b,c,d) Perl_report_closed_fh(aTHX_ a,b,c,d) +#define report_uninit() Perl_report_uninit(aTHX) +#define vwarn(a,b) Perl_vwarn(aTHX_ a,b) +#define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c) +#define watch(a) Perl_watch(aTHX_ a) +#define whichsig(a) Perl_whichsig(aTHX_ a) +#define yyerror(a) Perl_yyerror(aTHX_ a) +#if defined(USE_PURE_BISON) +#define yylex(a,b) Perl_yylex(aTHX_ a,b) +#else +#define yylex() Perl_yylex(aTHX) +#endif +#define yyparse() Perl_yyparse(aTHX) +#define yywarn(a) Perl_yywarn(aTHX_ a) +#if defined(MYMALLOC) +#define dump_mstats(a) Perl_dump_mstats(aTHX_ a) +#define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c) +#endif +#define safesysmalloc Perl_safesysmalloc +#define safesyscalloc Perl_safesyscalloc +#define safesysrealloc Perl_safesysrealloc +#define safesysfree Perl_safesysfree +#if defined(LEAKTEST) +#define safexmalloc Perl_safexmalloc +#define safexcalloc Perl_safexcalloc +#define safexrealloc Perl_safexrealloc +#define safexfree Perl_safexfree +#endif +#if defined(PERL_GLOBAL_STRUCT) +#define GetVars() Perl_GetVars(aTHX) +#endif +#define runops_standard() Perl_runops_standard(aTHX) +#define runops_debug() Perl_runops_debug(aTHX) +#define sv_vcatpvf_mg(a,b,c) Perl_sv_vcatpvf_mg(aTHX_ a,b,c) +#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b) +#define sv_catpvn_mg(a,b,c) Perl_sv_catpvn_mg(aTHX_ a,b,c) +#define sv_catsv_mg(a,b) Perl_sv_catsv_mg(aTHX_ a,b) +#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c) +#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b) +#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b) +#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b) +#define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b) +#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b) +#define sv_setpvn_mg(a,b,c) Perl_sv_setpvn_mg(aTHX_ a,b,c) +#define sv_setsv_mg(a,b) Perl_sv_setsv_mg(aTHX_ a,b) +#define sv_usepvn_mg(a,b,c) Perl_sv_usepvn_mg(aTHX_ a,b,c) +#define get_vtbl(a) Perl_get_vtbl(aTHX_ a) +#define pv_display(a,b,c,d,e) Perl_pv_display(aTHX_ a,b,c,d,e) +#define dump_vindent(a,b,c,d) Perl_dump_vindent(aTHX_ a,b,c,d) +#define do_gv_dump(a,b,c,d) Perl_do_gv_dump(aTHX_ a,b,c,d) +#define do_gvgv_dump(a,b,c,d) Perl_do_gvgv_dump(aTHX_ a,b,c,d) +#define do_hv_dump(a,b,c,d) Perl_do_hv_dump(aTHX_ a,b,c,d) +#define do_magic_dump(a,b,c,d,e,f,g) Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g) +#define do_op_dump(a,b,c) Perl_do_op_dump(aTHX_ a,b,c) +#define do_pmop_dump(a,b,c) Perl_do_pmop_dump(aTHX_ a,b,c) +#define do_sv_dump(a,b,c,d,e,f,g) Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g) +#define magic_dump(a) Perl_magic_dump(aTHX_ a) +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define vdefault_protect(a,b,c,d) Perl_vdefault_protect(aTHX_ a,b,c,d) +#endif +#define reginitcolors() Perl_reginitcolors(aTHX) +#define sv_2pv_nolen(a) Perl_sv_2pv_nolen(aTHX_ a) +#define sv_2pvutf8_nolen(a) Perl_sv_2pvutf8_nolen(aTHX_ a) +#define sv_2pvbyte_nolen(a) Perl_sv_2pvbyte_nolen(aTHX_ a) +#define sv_pv(a) Perl_sv_pv(aTHX_ a) +#define sv_pvutf8(a) Perl_sv_pvutf8(aTHX_ a) +#define sv_pvbyte(a) Perl_sv_pvbyte(aTHX_ a) +#define sv_utf8_upgrade(a) Perl_sv_utf8_upgrade(aTHX_ a) +#define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b) +#define sv_utf8_encode(a) Perl_sv_utf8_encode(aTHX_ a) +#define sv_utf8_decode(a) Perl_sv_utf8_decode(aTHX_ a) +#define sv_force_normal(a) Perl_sv_force_normal(aTHX_ a) +#define tmps_grow(a) Perl_tmps_grow(aTHX_ a) +#define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a) +#define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b) +#define newANONATTRSUB(a,b,c,d) Perl_newANONATTRSUB(aTHX_ a,b,c,d) +#define newATTRSUB(a,b,c,d,e) Perl_newATTRSUB(aTHX_ a,b,c,d,e) +#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e) +#define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b) +#define boot_core_xsutils() Perl_boot_core_xsutils(aTHX) +#if defined(USE_ITHREADS) +#define cx_dup(a,b,c) Perl_cx_dup(aTHX_ a,b,c) +#define si_dup(a) Perl_si_dup(aTHX_ a) +#define ss_dup(a) Perl_ss_dup(aTHX_ a) +#define any_dup(a,b) Perl_any_dup(aTHX_ a,b) +#define he_dup(a,b) Perl_he_dup(aTHX_ a,b) +#define re_dup(a) Perl_re_dup(aTHX_ a) +#define fp_dup(a,b) Perl_fp_dup(aTHX_ a,b) +#define dirp_dup(a) Perl_dirp_dup(aTHX_ a) +#define gp_dup(a) Perl_gp_dup(aTHX_ a) +#define mg_dup(a) Perl_mg_dup(aTHX_ a) +#define sv_dup(a) Perl_sv_dup(aTHX_ a) +#if defined(HAVE_INTERP_INTERN) +#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b) +#endif +#define ptr_table_new() Perl_ptr_table_new(aTHX) +#define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b) +#define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c) +#define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a) +#endif +#if defined(PERL_OBJECT) +#else +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) +#define avhv_index_sv(a) S_avhv_index_sv(aTHX_ a) +#define avhv_index(a,b,c) S_avhv_index(aTHX_ a,b,c) +#endif +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) +#define do_trans_CC_simple(a) S_do_trans_CC_simple(aTHX_ a) +#define do_trans_CC_count(a) S_do_trans_CC_count(aTHX_ a) +#define do_trans_CC_complex(a) S_do_trans_CC_complex(aTHX_ a) +#define do_trans_UU_simple(a) S_do_trans_UU_simple(aTHX_ a) +#define do_trans_UU_count(a) S_do_trans_UU_count(aTHX_ a) +#define do_trans_UU_complex(a) S_do_trans_UU_complex(aTHX_ a) +#define do_trans_UC_simple(a) S_do_trans_UC_simple(aTHX_ a) +#define do_trans_CU_simple(a) S_do_trans_CU_simple(aTHX_ a) +#define do_trans_UC_trivial(a) S_do_trans_UC_trivial(aTHX_ a) +#define do_trans_CU_trivial(a) S_do_trans_CU_trivial(aTHX_ a) +#endif +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) +#define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b) +#endif +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) +#define hsplit(a) S_hsplit(aTHX_ a) +#define hfreeentries(a) S_hfreeentries(aTHX_ a) +#define more_he() S_more_he(aTHX) +#define new_he() S_new_he(aTHX) +#define del_he(a) S_del_he(aTHX_ a) +#define save_hek(a,b,c) S_save_hek(aTHX_ a,b,c) +#define hv_magic_check(a,b,c) S_hv_magic_check(aTHX_ a,b,c) +#endif +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) +#define save_magic(a,b) S_save_magic(aTHX_ a,b) +#define magic_methpack(a,b,c) S_magic_methpack(aTHX_ a,b,c) +#define magic_methcall(a,b,c,d,e,f) S_magic_methcall(aTHX_ a,b,c,d,e,f) +#endif +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) +#define list_assignment(a) S_list_assignment(aTHX_ a) +#define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d) +#define cop_free(a) S_cop_free(aTHX_ a) +#define modkids(a,b) S_modkids(aTHX_ a,b) +#define no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a) +#define no_fh_allowed(a) S_no_fh_allowed(aTHX_ a) +#define scalarboolean(a) S_scalarboolean(aTHX_ a) +#define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b) +#define too_many_arguments(a,b) S_too_many_arguments(aTHX_ a,b) +#define op_clear(a) S_op_clear(aTHX_ a) +#define null(a) S_null(aTHX_ a) +#define pad_addlex(a) S_pad_addlex(aTHX_ a) +#define pad_findlex(a,b,c,d,e,f,g) S_pad_findlex(aTHX_ a,b,c,d,e,f,g) +#define newDEFSVOP() S_newDEFSVOP(aTHX) +#define new_logop(a,b,c,d) S_new_logop(aTHX_ a,b,c,d) +#define simplify_sort(a) S_simplify_sort(aTHX_ a) +#define is_handle_constructor(a,b) S_is_handle_constructor(aTHX_ a,b) +#define gv_ename(a) S_gv_ename(aTHX_ a) +#define cv_dump(a) S_cv_dump(aTHX_ a) +#define cv_clone2(a,b) S_cv_clone2(aTHX_ a,b) +#define scalar_mod_type(a,b) S_scalar_mod_type(aTHX_ a,b) +#define my_kid(a,b) S_my_kid(aTHX_ a,b) +#define dup_attrlist(a) S_dup_attrlist(aTHX_ a) +#define apply_attrs(a,b,c) S_apply_attrs(aTHX_ a,b,c) +# if defined(PL_OP_SLAB_ALLOC) +#define Slab_Alloc(a,b) S_Slab_Alloc(aTHX_ a,b) +# endif +#endif +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) +#define find_beginning() S_find_beginning(aTHX) +#define forbid_setid(a) S_forbid_setid(aTHX_ a) +#define incpush(a,b,c) S_incpush(aTHX_ a,b,c) +#define init_interp() S_init_interp(aTHX) +#define init_ids() S_init_ids(aTHX) +#define init_lexer() S_init_lexer(aTHX) +#define init_main_stash() S_init_main_stash(aTHX) +#define init_perllib() S_init_perllib(aTHX) +#define init_postdump_symbols(a,b,c) S_init_postdump_symbols(aTHX_ a,b,c) +#define init_predump_symbols() S_init_predump_symbols(aTHX) +#define my_exit_jump() S_my_exit_jump(aTHX) +#define nuke_stacks() S_nuke_stacks(aTHX) +#define open_script(a,b,c,d) S_open_script(aTHX_ a,b,c,d) +#define usage(a) S_usage(aTHX_ a) +#define validate_suid(a,b,c) S_validate_suid(aTHX_ a,b,c) +# if defined(IAMSUID) +#define fd_on_nosuid_fs(a) S_fd_on_nosuid_fs(aTHX_ a) +# endif +#define parse_body(a,b) S_parse_body(aTHX_ a,b) +#define run_body(a) S_run_body(aTHX_ a) +#define call_body(a,b) S_call_body(aTHX_ a,b) +#define call_list_body(a) S_call_list_body(aTHX_ a) +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define vparse_body(a) S_vparse_body(aTHX_ a) +#define vrun_body(a) S_vrun_body(aTHX_ a) +#define vcall_body(a) S_vcall_body(aTHX_ a) +#define vcall_list_body(a) S_vcall_list_body(aTHX_ a) +#endif +# if defined(USE_THREADS) +#define init_main_thread() S_init_main_thread(aTHX) +# endif +#endif +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) +#define doencodes(a,b,c) S_doencodes(aTHX_ a,b,c) +#define refto(a) S_refto(aTHX_ a) +#define seed() S_seed(aTHX) +#define mul128(a,b) S_mul128(aTHX_ a,b) +#define is_an_int(a,b) S_is_an_int(aTHX_ a,b) +#define div128(a,b) S_div128(aTHX_ a,b) +#endif +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) +#define docatch(a) S_docatch(aTHX_ a) +#define docatch_body() S_docatch_body(aTHX) +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define vdocatch_body(a) S_vdocatch_body(aTHX_ a) +#endif +#define dofindlabel(a,b,c,d) S_dofindlabel(aTHX_ a,b,c,d) +#define doparseform(a) S_doparseform(aTHX_ a) +#define dopoptoeval(a) S_dopoptoeval(aTHX_ a) +#define dopoptolabel(a) S_dopoptolabel(aTHX_ a) +#define dopoptoloop(a) S_dopoptoloop(aTHX_ a) +#define dopoptosub(a) S_dopoptosub(aTHX_ a) +#define dopoptosub_at(a,b) S_dopoptosub_at(aTHX_ a,b) +#define free_closures() S_free_closures(aTHX) +#define save_lines(a,b) S_save_lines(aTHX_ a,b) +#define doeval(a,b) S_doeval(aTHX_ a,b) +#define doopen_pmc(a,b) S_doopen_pmc(aTHX_ a,b) +#define qsortsv(a,b,c) S_qsortsv(aTHX_ a,b,c) +#endif +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) +#define do_maybe_phash(a,b,c,d,e) S_do_maybe_phash(aTHX_ a,b,c,d,e) +#define do_oddball(a,b,c) S_do_oddball(aTHX_ a,b,c) +#define get_db_sub(a,b) S_get_db_sub(aTHX_ a,b) +#define method_common(a,b) S_method_common(aTHX_ a,b) +#endif +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) +#define doform(a,b,c) S_doform(aTHX_ a,b,c) +#define emulate_eaccess(a,b) S_emulate_eaccess(aTHX_ a,b) +# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) +#define dooneliner(a,b) S_dooneliner(aTHX_ a,b) +# endif +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) +#define reg(a,b) S_reg(aTHX_ a,b) +#define reganode(a,b) S_reganode(aTHX_ a,b) +#define regatom(a) S_regatom(aTHX_ a) +#define regbranch(a,b) S_regbranch(aTHX_ a,b) +#define reguni(a,b,c) S_reguni(aTHX_ a,b,c) +#define regclass() S_regclass(aTHX) +#define regclassutf8() S_regclassutf8(aTHX) +#define regcurly(a) S_regcurly(aTHX_ a) +#define reg_node(a) S_reg_node(aTHX_ a) +#define regpiece(a) S_regpiece(aTHX_ a) +#define reginsert(a,b) S_reginsert(aTHX_ a,b) +#define regoptail(a,b) S_regoptail(aTHX_ a,b) +#define regtail(a,b) S_regtail(aTHX_ a,b) +#define regwhite(a,b) S_regwhite(aTHX_ a,b) +#define nextchar() S_nextchar(aTHX) +#define dumpuntil(a,b,c,d,e) S_dumpuntil(aTHX_ a,b,c,d,e) +#define put_byte(a,b) S_put_byte(aTHX_ a,b) +#define scan_commit(a) S_scan_commit(aTHX_ a) +#define cl_anything(a) S_cl_anything(aTHX_ a) +#define cl_is_anything(a) S_cl_is_anything(aTHX_ a) +#define cl_init(a) S_cl_init(aTHX_ a) +#define cl_init_zero(a) S_cl_init_zero(aTHX_ a) +#define cl_and(a,b) S_cl_and(aTHX_ a,b) +#define cl_or(a,b) S_cl_or(aTHX_ a,b) +#define study_chunk(a,b,c,d,e) S_study_chunk(aTHX_ a,b,c,d,e) +#define add_data(a,b) S_add_data(aTHX_ a,b) +#define regpposixcc(a) S_regpposixcc(aTHX_ a) +#define checkposixcc() S_checkposixcc(aTHX) +#endif +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) +#define regmatch(a) S_regmatch(aTHX_ a) +#define regrepeat(a,b) S_regrepeat(aTHX_ a,b) +#define regrepeat_hard(a,b,c) S_regrepeat_hard(aTHX_ a,b,c) +#define regtry(a,b) S_regtry(aTHX_ a,b) +#define reginclass(a,b) S_reginclass(aTHX_ a,b) +#define reginclassutf8(a,b) S_reginclassutf8(aTHX_ a,b) +#define regcppush(a) S_regcppush(aTHX_ a) +#define regcppop() S_regcppop(aTHX) +#define regcp_set_to(a) S_regcp_set_to(aTHX_ a) +#define cache_re(a) S_cache_re(aTHX_ a) +#define reghop(a,b) S_reghop(aTHX_ a,b) +#define reghopmaybe(a,b) S_reghopmaybe(aTHX_ a,b) +#define find_byclass(a,b,c,d,e,f) S_find_byclass(aTHX_ a,b,c,d,e,f) +#endif +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) +#define debprof(a) S_debprof(aTHX_ a) +#endif +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) +#define save_scalar_at(a) S_save_scalar_at(aTHX_ a) +#endif +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) +#define asIV(a) S_asIV(aTHX_ a) +#define asUV(a) S_asUV(aTHX_ a) +#define more_sv() S_more_sv(aTHX) +#define more_xiv() S_more_xiv(aTHX) +#define more_xnv() S_more_xnv(aTHX) +#define more_xpv() S_more_xpv(aTHX) +#define more_xpviv() S_more_xpviv(aTHX) +#define more_xpvnv() S_more_xpvnv(aTHX) +#define more_xpvcv() S_more_xpvcv(aTHX) +#define more_xpvav() S_more_xpvav(aTHX) +#define more_xpvhv() S_more_xpvhv(aTHX) +#define more_xpvmg() S_more_xpvmg(aTHX) +#define more_xpvlv() S_more_xpvlv(aTHX) +#define more_xpvbm() S_more_xpvbm(aTHX) +#define more_xrv() S_more_xrv(aTHX) +#define new_xiv() S_new_xiv(aTHX) +#define new_xnv() S_new_xnv(aTHX) +#define new_xpv() S_new_xpv(aTHX) +#define new_xpviv() S_new_xpviv(aTHX) +#define new_xpvnv() S_new_xpvnv(aTHX) +#define new_xpvcv() S_new_xpvcv(aTHX) +#define new_xpvav() S_new_xpvav(aTHX) +#define new_xpvhv() S_new_xpvhv(aTHX) +#define new_xpvmg() S_new_xpvmg(aTHX) +#define new_xpvlv() S_new_xpvlv(aTHX) +#define new_xpvbm() S_new_xpvbm(aTHX) +#define new_xrv() S_new_xrv(aTHX) +#define del_xiv(a) S_del_xiv(aTHX_ a) +#define del_xnv(a) S_del_xnv(aTHX_ a) +#define del_xpv(a) S_del_xpv(aTHX_ a) +#define del_xpviv(a) S_del_xpviv(aTHX_ a) +#define del_xpvnv(a) S_del_xpvnv(aTHX_ a) +#define del_xpvcv(a) S_del_xpvcv(aTHX_ a) +#define del_xpvav(a) S_del_xpvav(aTHX_ a) +#define del_xpvhv(a) S_del_xpvhv(aTHX_ a) +#define del_xpvmg(a) S_del_xpvmg(aTHX_ a) +#define del_xpvlv(a) S_del_xpvlv(aTHX_ a) +#define del_xpvbm(a) S_del_xpvbm(aTHX_ a) +#define del_xrv(a) S_del_xrv(aTHX_ a) +#define sv_unglob(a) S_sv_unglob(aTHX_ a) +#define not_a_number(a) S_not_a_number(aTHX_ a) +#define visit(a) S_visit(aTHX_ a) +#define sv_add_backref(a,b) S_sv_add_backref(aTHX_ a,b) +#define sv_del_backref(a) S_sv_del_backref(aTHX_ a) +# if defined(DEBUGGING) +#define del_sv(a) S_del_sv(aTHX_ a) +# endif +#endif +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) +#define check_uni() S_check_uni(aTHX) +#define force_next(a) S_force_next(aTHX_ a) +#define force_version(a) S_force_version(aTHX_ a) +#define force_word(a,b,c,d,e) S_force_word(aTHX_ a,b,c,d,e) +#define tokeq(a) S_tokeq(aTHX_ a) +#define scan_const(a) S_scan_const(aTHX_ a) +#define scan_formline(a) S_scan_formline(aTHX_ a) +#define scan_heredoc(a) S_scan_heredoc(aTHX_ a) +#define scan_ident(a,b,c,d,e) S_scan_ident(aTHX_ a,b,c,d,e) +#define scan_inputsymbol(a) S_scan_inputsymbol(aTHX_ a) +#define scan_pat(a,b) S_scan_pat(aTHX_ a,b) +#define scan_str(a,b,c) S_scan_str(aTHX_ a,b,c) +#define scan_subst(a) S_scan_subst(aTHX_ a) +#define scan_trans(a) S_scan_trans(aTHX_ a) +#define scan_word(a,b,c,d,e) S_scan_word(aTHX_ a,b,c,d,e) +#define skipspace(a) S_skipspace(aTHX_ a) +#define checkcomma(a,b,c) S_checkcomma(aTHX_ a,b,c) +#define force_ident(a,b) S_force_ident(aTHX_ a,b) +#define incline(a) S_incline(aTHX_ a) +#define intuit_method(a,b) S_intuit_method(aTHX_ a,b) +#define intuit_more(a) S_intuit_more(aTHX_ a) +#define lop(a,b,c) S_lop(aTHX_ a,b,c) +#define missingterm(a) S_missingterm(aTHX_ a) +#define no_op(a,b) S_no_op(aTHX_ a,b) +#define set_csh() S_set_csh(aTHX) +#define sublex_done() S_sublex_done(aTHX) +#define sublex_push() S_sublex_push(aTHX) +#define sublex_start() S_sublex_start(aTHX) +#define filter_gets(a,b,c) S_filter_gets(aTHX_ a,b,c) +#define new_constant(a,b,c,d,e,f) S_new_constant(aTHX_ a,b,c,d,e,f) +#define ao(a) S_ao(aTHX_ a) +#define depcom() S_depcom(aTHX) +#define incl_perldb() S_incl_perldb(aTHX) +#if 0 +#define utf16_textfilter(a,b,c) S_utf16_textfilter(aTHX_ a,b,c) +#define utf16rev_textfilter(a,b,c) S_utf16rev_textfilter(aTHX_ a,b,c) +#endif +# if defined(CRIPPLED_CC) +#define uni(a,b) S_uni(aTHX_ a,b) +# endif +# if defined(PERL_CR_FILTER) +#define cr_textfilter(a,b,c) S_cr_textfilter(aTHX_ a,b,c) +# endif +#endif +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) +#define isa_lookup(a,b,c,d) S_isa_lookup(aTHX_ a,b,c,d) +#endif +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) +#define mess_alloc() S_mess_alloc(aTHX) +# if defined(LEAKTEST) +#define xstat(a) S_xstat(aTHX_ a) +# endif +#endif +#if defined(PERL_OBJECT) +#endif +#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a) +#define ck_bitop(a) Perl_ck_bitop(aTHX_ a) +#define ck_concat(a) Perl_ck_concat(aTHX_ a) +#define ck_defined(a) Perl_ck_defined(aTHX_ a) +#define ck_delete(a) Perl_ck_delete(aTHX_ a) +#define ck_eof(a) Perl_ck_eof(aTHX_ a) +#define ck_eval(a) Perl_ck_eval(aTHX_ a) +#define ck_exec(a) Perl_ck_exec(aTHX_ a) +#define ck_exists(a) Perl_ck_exists(aTHX_ a) +#define ck_exit(a) Perl_ck_exit(aTHX_ a) +#define ck_ftst(a) Perl_ck_ftst(aTHX_ a) +#define ck_fun(a) Perl_ck_fun(aTHX_ a) +#define ck_fun_locale(a) Perl_ck_fun_locale(aTHX_ a) +#define ck_glob(a) Perl_ck_glob(aTHX_ a) +#define ck_grep(a) Perl_ck_grep(aTHX_ a) +#define ck_index(a) Perl_ck_index(aTHX_ a) +#define ck_join(a) Perl_ck_join(aTHX_ a) +#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a) +#define ck_lfun(a) Perl_ck_lfun(aTHX_ a) +#define ck_listiob(a) Perl_ck_listiob(aTHX_ a) +#define ck_match(a) Perl_ck_match(aTHX_ a) +#define ck_method(a) Perl_ck_method(aTHX_ a) +#define ck_null(a) Perl_ck_null(aTHX_ a) +#define ck_open(a) Perl_ck_open(aTHX_ a) +#define ck_repeat(a) Perl_ck_repeat(aTHX_ a) +#define ck_require(a) Perl_ck_require(aTHX_ a) +#define ck_rfun(a) Perl_ck_rfun(aTHX_ a) +#define ck_rvconst(a) Perl_ck_rvconst(aTHX_ a) +#define ck_sassign(a) Perl_ck_sassign(aTHX_ a) +#define ck_scmp(a) Perl_ck_scmp(aTHX_ a) +#define ck_select(a) Perl_ck_select(aTHX_ a) +#define ck_shift(a) Perl_ck_shift(aTHX_ a) +#define ck_sort(a) Perl_ck_sort(aTHX_ a) +#define ck_spair(a) Perl_ck_spair(aTHX_ a) +#define ck_split(a) Perl_ck_split(aTHX_ a) +#define ck_subr(a) Perl_ck_subr(aTHX_ a) +#define ck_svconst(a) Perl_ck_svconst(aTHX_ a) +#define ck_trunc(a) Perl_ck_trunc(aTHX_ a) +#define pp_aassign() Perl_pp_aassign(aTHX) +#define pp_abs() Perl_pp_abs(aTHX) +#define pp_accept() Perl_pp_accept(aTHX) +#define pp_add() Perl_pp_add(aTHX) +#define pp_aelem() Perl_pp_aelem(aTHX) +#define pp_aelemfast() Perl_pp_aelemfast(aTHX) +#define pp_alarm() Perl_pp_alarm(aTHX) +#define pp_and() Perl_pp_and(aTHX) +#define pp_andassign() Perl_pp_andassign(aTHX) +#define pp_anoncode() Perl_pp_anoncode(aTHX) +#define pp_anonhash() Perl_pp_anonhash(aTHX) +#define pp_anonlist() Perl_pp_anonlist(aTHX) +#define pp_aslice() Perl_pp_aslice(aTHX) +#define pp_atan2() Perl_pp_atan2(aTHX) +#define pp_av2arylen() Perl_pp_av2arylen(aTHX) +#define pp_backtick() Perl_pp_backtick(aTHX) +#define pp_bind() Perl_pp_bind(aTHX) +#define pp_binmode() Perl_pp_binmode(aTHX) +#define pp_bit_and() Perl_pp_bit_and(aTHX) +#define pp_bit_or() Perl_pp_bit_or(aTHX) +#define pp_bit_xor() Perl_pp_bit_xor(aTHX) +#define pp_bless() Perl_pp_bless(aTHX) +#define pp_caller() Perl_pp_caller(aTHX) +#define pp_chdir() Perl_pp_chdir(aTHX) +#define pp_chmod() Perl_pp_chmod(aTHX) +#define pp_chomp() Perl_pp_chomp(aTHX) +#define pp_chop() Perl_pp_chop(aTHX) +#define pp_chown() Perl_pp_chown(aTHX) +#define pp_chr() Perl_pp_chr(aTHX) +#define pp_chroot() Perl_pp_chroot(aTHX) +#define pp_close() Perl_pp_close(aTHX) +#define pp_closedir() Perl_pp_closedir(aTHX) +#define pp_complement() Perl_pp_complement(aTHX) +#define pp_concat() Perl_pp_concat(aTHX) +#define pp_cond_expr() Perl_pp_cond_expr(aTHX) +#define pp_connect() Perl_pp_connect(aTHX) +#define pp_const() Perl_pp_const(aTHX) +#define pp_cos() Perl_pp_cos(aTHX) +#define pp_crypt() Perl_pp_crypt(aTHX) +#define pp_dbmclose() Perl_pp_dbmclose(aTHX) +#define pp_dbmopen() Perl_pp_dbmopen(aTHX) +#define pp_dbstate() Perl_pp_dbstate(aTHX) +#define pp_defined() Perl_pp_defined(aTHX) +#define pp_delete() Perl_pp_delete(aTHX) +#define pp_die() Perl_pp_die(aTHX) +#define pp_divide() Perl_pp_divide(aTHX) +#define pp_dofile() Perl_pp_dofile(aTHX) +#define pp_dump() Perl_pp_dump(aTHX) +#define pp_each() Perl_pp_each(aTHX) +#define pp_egrent() Perl_pp_egrent(aTHX) +#define pp_ehostent() Perl_pp_ehostent(aTHX) +#define pp_enetent() Perl_pp_enetent(aTHX) +#define pp_enter() Perl_pp_enter(aTHX) +#define pp_entereval() Perl_pp_entereval(aTHX) +#define pp_enteriter() Perl_pp_enteriter(aTHX) +#define pp_enterloop() Perl_pp_enterloop(aTHX) +#define pp_entersub() Perl_pp_entersub(aTHX) +#define pp_entertry() Perl_pp_entertry(aTHX) +#define pp_enterwrite() Perl_pp_enterwrite(aTHX) +#define pp_eof() Perl_pp_eof(aTHX) +#define pp_eprotoent() Perl_pp_eprotoent(aTHX) +#define pp_epwent() Perl_pp_epwent(aTHX) +#define pp_eq() Perl_pp_eq(aTHX) +#define pp_eservent() Perl_pp_eservent(aTHX) +#define pp_exec() Perl_pp_exec(aTHX) +#define pp_exists() Perl_pp_exists(aTHX) +#define pp_exit() Perl_pp_exit(aTHX) +#define pp_exp() Perl_pp_exp(aTHX) +#define pp_fcntl() Perl_pp_fcntl(aTHX) +#define pp_fileno() Perl_pp_fileno(aTHX) +#define pp_flip() Perl_pp_flip(aTHX) +#define pp_flock() Perl_pp_flock(aTHX) +#define pp_flop() Perl_pp_flop(aTHX) +#define pp_fork() Perl_pp_fork(aTHX) +#define pp_formline() Perl_pp_formline(aTHX) +#define pp_ftatime() Perl_pp_ftatime(aTHX) +#define pp_ftbinary() Perl_pp_ftbinary(aTHX) +#define pp_ftblk() Perl_pp_ftblk(aTHX) +#define pp_ftchr() Perl_pp_ftchr(aTHX) +#define pp_ftctime() Perl_pp_ftctime(aTHX) +#define pp_ftdir() Perl_pp_ftdir(aTHX) +#define pp_fteexec() Perl_pp_fteexec(aTHX) +#define pp_fteowned() Perl_pp_fteowned(aTHX) +#define pp_fteread() Perl_pp_fteread(aTHX) +#define pp_ftewrite() Perl_pp_ftewrite(aTHX) +#define pp_ftfile() Perl_pp_ftfile(aTHX) +#define pp_ftis() Perl_pp_ftis(aTHX) +#define pp_ftlink() Perl_pp_ftlink(aTHX) +#define pp_ftmtime() Perl_pp_ftmtime(aTHX) +#define pp_ftpipe() Perl_pp_ftpipe(aTHX) +#define pp_ftrexec() Perl_pp_ftrexec(aTHX) +#define pp_ftrowned() Perl_pp_ftrowned(aTHX) +#define pp_ftrread() Perl_pp_ftrread(aTHX) +#define pp_ftrwrite() Perl_pp_ftrwrite(aTHX) +#define pp_ftsgid() Perl_pp_ftsgid(aTHX) +#define pp_ftsize() Perl_pp_ftsize(aTHX) +#define pp_ftsock() Perl_pp_ftsock(aTHX) +#define pp_ftsuid() Perl_pp_ftsuid(aTHX) +#define pp_ftsvtx() Perl_pp_ftsvtx(aTHX) +#define pp_fttext() Perl_pp_fttext(aTHX) +#define pp_fttty() Perl_pp_fttty(aTHX) +#define pp_ftzero() Perl_pp_ftzero(aTHX) +#define pp_ge() Perl_pp_ge(aTHX) +#define pp_gelem() Perl_pp_gelem(aTHX) +#define pp_getc() Perl_pp_getc(aTHX) +#define pp_getlogin() Perl_pp_getlogin(aTHX) +#define pp_getpeername() Perl_pp_getpeername(aTHX) +#define pp_getpgrp() Perl_pp_getpgrp(aTHX) +#define pp_getppid() Perl_pp_getppid(aTHX) +#define pp_getpriority() Perl_pp_getpriority(aTHX) +#define pp_getsockname() Perl_pp_getsockname(aTHX) +#define pp_ggrent() Perl_pp_ggrent(aTHX) +#define pp_ggrgid() Perl_pp_ggrgid(aTHX) +#define pp_ggrnam() Perl_pp_ggrnam(aTHX) +#define pp_ghbyaddr() Perl_pp_ghbyaddr(aTHX) +#define pp_ghbyname() Perl_pp_ghbyname(aTHX) +#define pp_ghostent() Perl_pp_ghostent(aTHX) +#define pp_glob() Perl_pp_glob(aTHX) +#define pp_gmtime() Perl_pp_gmtime(aTHX) +#define pp_gnbyaddr() Perl_pp_gnbyaddr(aTHX) +#define pp_gnbyname() Perl_pp_gnbyname(aTHX) +#define pp_gnetent() Perl_pp_gnetent(aTHX) +#define pp_goto() Perl_pp_goto(aTHX) +#define pp_gpbyname() Perl_pp_gpbyname(aTHX) +#define pp_gpbynumber() Perl_pp_gpbynumber(aTHX) +#define pp_gprotoent() Perl_pp_gprotoent(aTHX) +#define pp_gpwent() Perl_pp_gpwent(aTHX) +#define pp_gpwnam() Perl_pp_gpwnam(aTHX) +#define pp_gpwuid() Perl_pp_gpwuid(aTHX) +#define pp_grepstart() Perl_pp_grepstart(aTHX) +#define pp_grepwhile() Perl_pp_grepwhile(aTHX) +#define pp_gsbyname() Perl_pp_gsbyname(aTHX) +#define pp_gsbyport() Perl_pp_gsbyport(aTHX) +#define pp_gservent() Perl_pp_gservent(aTHX) +#define pp_gsockopt() Perl_pp_gsockopt(aTHX) +#define pp_gt() Perl_pp_gt(aTHX) +#define pp_gv() Perl_pp_gv(aTHX) +#define pp_gvsv() Perl_pp_gvsv(aTHX) +#define pp_helem() Perl_pp_helem(aTHX) +#define pp_hex() Perl_pp_hex(aTHX) +#define pp_hslice() Perl_pp_hslice(aTHX) +#define pp_i_add() Perl_pp_i_add(aTHX) +#define pp_i_divide() Perl_pp_i_divide(aTHX) +#define pp_i_eq() Perl_pp_i_eq(aTHX) +#define pp_i_ge() Perl_pp_i_ge(aTHX) +#define pp_i_gt() Perl_pp_i_gt(aTHX) +#define pp_i_le() Perl_pp_i_le(aTHX) +#define pp_i_lt() Perl_pp_i_lt(aTHX) +#define pp_i_modulo() Perl_pp_i_modulo(aTHX) +#define pp_i_multiply() Perl_pp_i_multiply(aTHX) +#define pp_i_ncmp() Perl_pp_i_ncmp(aTHX) +#define pp_i_ne() Perl_pp_i_ne(aTHX) +#define pp_i_negate() Perl_pp_i_negate(aTHX) +#define pp_i_subtract() Perl_pp_i_subtract(aTHX) +#define pp_index() Perl_pp_index(aTHX) +#define pp_int() Perl_pp_int(aTHX) +#define pp_ioctl() Perl_pp_ioctl(aTHX) +#define pp_iter() Perl_pp_iter(aTHX) +#define pp_join() Perl_pp_join(aTHX) +#define pp_keys() Perl_pp_keys(aTHX) +#define pp_kill() Perl_pp_kill(aTHX) +#define pp_last() Perl_pp_last(aTHX) +#define pp_lc() Perl_pp_lc(aTHX) +#define pp_lcfirst() Perl_pp_lcfirst(aTHX) +#define pp_le() Perl_pp_le(aTHX) +#define pp_leave() Perl_pp_leave(aTHX) +#define pp_leaveeval() Perl_pp_leaveeval(aTHX) +#define pp_leaveloop() Perl_pp_leaveloop(aTHX) +#define pp_leavesub() Perl_pp_leavesub(aTHX) +#define pp_leavesublv() Perl_pp_leavesublv(aTHX) +#define pp_leavetry() Perl_pp_leavetry(aTHX) +#define pp_leavewrite() Perl_pp_leavewrite(aTHX) +#define pp_left_shift() Perl_pp_left_shift(aTHX) +#define pp_length() Perl_pp_length(aTHX) +#define pp_lineseq() Perl_pp_lineseq(aTHX) +#define pp_link() Perl_pp_link(aTHX) +#define pp_list() Perl_pp_list(aTHX) +#define pp_listen() Perl_pp_listen(aTHX) +#define pp_localtime() Perl_pp_localtime(aTHX) +#define pp_lock() Perl_pp_lock(aTHX) +#define pp_log() Perl_pp_log(aTHX) +#define pp_lslice() Perl_pp_lslice(aTHX) +#define pp_lstat() Perl_pp_lstat(aTHX) +#define pp_lt() Perl_pp_lt(aTHX) +#define pp_mapstart() Perl_pp_mapstart(aTHX) +#define pp_mapwhile() Perl_pp_mapwhile(aTHX) +#define pp_match() Perl_pp_match(aTHX) +#define pp_method() Perl_pp_method(aTHX) +#define pp_method_named() Perl_pp_method_named(aTHX) +#define pp_mkdir() Perl_pp_mkdir(aTHX) +#define pp_modulo() Perl_pp_modulo(aTHX) +#define pp_msgctl() Perl_pp_msgctl(aTHX) +#define pp_msgget() Perl_pp_msgget(aTHX) +#define pp_msgrcv() Perl_pp_msgrcv(aTHX) +#define pp_msgsnd() Perl_pp_msgsnd(aTHX) +#define pp_multiply() Perl_pp_multiply(aTHX) +#define pp_ncmp() Perl_pp_ncmp(aTHX) +#define pp_ne() Perl_pp_ne(aTHX) +#define pp_negate() Perl_pp_negate(aTHX) +#define pp_next() Perl_pp_next(aTHX) +#define pp_nextstate() Perl_pp_nextstate(aTHX) +#define pp_not() Perl_pp_not(aTHX) +#define pp_null() Perl_pp_null(aTHX) +#define pp_oct() Perl_pp_oct(aTHX) +#define pp_open() Perl_pp_open(aTHX) +#define pp_open_dir() Perl_pp_open_dir(aTHX) +#define pp_or() Perl_pp_or(aTHX) +#define pp_orassign() Perl_pp_orassign(aTHX) +#define pp_ord() Perl_pp_ord(aTHX) +#define pp_pack() Perl_pp_pack(aTHX) +#define pp_padany() Perl_pp_padany(aTHX) +#define pp_padav() Perl_pp_padav(aTHX) +#define pp_padhv() Perl_pp_padhv(aTHX) +#define pp_padsv() Perl_pp_padsv(aTHX) +#define pp_pipe_op() Perl_pp_pipe_op(aTHX) +#define pp_pop() Perl_pp_pop(aTHX) +#define pp_pos() Perl_pp_pos(aTHX) +#define pp_postdec() Perl_pp_postdec(aTHX) +#define pp_postinc() Perl_pp_postinc(aTHX) +#define pp_pow() Perl_pp_pow(aTHX) +#define pp_predec() Perl_pp_predec(aTHX) +#define pp_preinc() Perl_pp_preinc(aTHX) +#define pp_print() Perl_pp_print(aTHX) +#define pp_prototype() Perl_pp_prototype(aTHX) +#define pp_prtf() Perl_pp_prtf(aTHX) +#define pp_push() Perl_pp_push(aTHX) +#define pp_pushmark() Perl_pp_pushmark(aTHX) +#define pp_pushre() Perl_pp_pushre(aTHX) +#define pp_qr() Perl_pp_qr(aTHX) +#define pp_quotemeta() Perl_pp_quotemeta(aTHX) +#define pp_rand() Perl_pp_rand(aTHX) +#define pp_range() Perl_pp_range(aTHX) +#define pp_rcatline() Perl_pp_rcatline(aTHX) +#define pp_read() Perl_pp_read(aTHX) +#define pp_readdir() Perl_pp_readdir(aTHX) +#define pp_readline() Perl_pp_readline(aTHX) +#define pp_readlink() Perl_pp_readlink(aTHX) +#define pp_recv() Perl_pp_recv(aTHX) +#define pp_redo() Perl_pp_redo(aTHX) +#define pp_ref() Perl_pp_ref(aTHX) +#define pp_refgen() Perl_pp_refgen(aTHX) +#define pp_regcmaybe() Perl_pp_regcmaybe(aTHX) +#define pp_regcomp() Perl_pp_regcomp(aTHX) +#define pp_regcreset() Perl_pp_regcreset(aTHX) +#define pp_rename() Perl_pp_rename(aTHX) +#define pp_repeat() Perl_pp_repeat(aTHX) +#define pp_require() Perl_pp_require(aTHX) +#define pp_reset() Perl_pp_reset(aTHX) +#define pp_return() Perl_pp_return(aTHX) +#define pp_reverse() Perl_pp_reverse(aTHX) +#define pp_rewinddir() Perl_pp_rewinddir(aTHX) +#define pp_right_shift() Perl_pp_right_shift(aTHX) +#define pp_rindex() Perl_pp_rindex(aTHX) +#define pp_rmdir() Perl_pp_rmdir(aTHX) +#define pp_rv2av() Perl_pp_rv2av(aTHX) +#define pp_rv2cv() Perl_pp_rv2cv(aTHX) +#define pp_rv2gv() Perl_pp_rv2gv(aTHX) +#define pp_rv2hv() Perl_pp_rv2hv(aTHX) +#define pp_rv2sv() Perl_pp_rv2sv(aTHX) +#define pp_sassign() Perl_pp_sassign(aTHX) +#define pp_scalar() Perl_pp_scalar(aTHX) +#define pp_schomp() Perl_pp_schomp(aTHX) +#define pp_schop() Perl_pp_schop(aTHX) +#define pp_scmp() Perl_pp_scmp(aTHX) +#define pp_scope() Perl_pp_scope(aTHX) +#define pp_seek() Perl_pp_seek(aTHX) +#define pp_seekdir() Perl_pp_seekdir(aTHX) +#define pp_select() Perl_pp_select(aTHX) +#define pp_semctl() Perl_pp_semctl(aTHX) +#define pp_semget() Perl_pp_semget(aTHX) +#define pp_semop() Perl_pp_semop(aTHX) +#define pp_send() Perl_pp_send(aTHX) +#define pp_seq() Perl_pp_seq(aTHX) +#define pp_setpgrp() Perl_pp_setpgrp(aTHX) +#define pp_setpriority() Perl_pp_setpriority(aTHX) +#define pp_setstate() Perl_pp_setstate(aTHX) +#define pp_sge() Perl_pp_sge(aTHX) +#define pp_sgrent() Perl_pp_sgrent(aTHX) +#define pp_sgt() Perl_pp_sgt(aTHX) +#define pp_shift() Perl_pp_shift(aTHX) +#define pp_shmctl() Perl_pp_shmctl(aTHX) +#define pp_shmget() Perl_pp_shmget(aTHX) +#define pp_shmread() Perl_pp_shmread(aTHX) +#define pp_shmwrite() Perl_pp_shmwrite(aTHX) +#define pp_shostent() Perl_pp_shostent(aTHX) +#define pp_shutdown() Perl_pp_shutdown(aTHX) +#define pp_sin() Perl_pp_sin(aTHX) +#define pp_sle() Perl_pp_sle(aTHX) +#define pp_sleep() Perl_pp_sleep(aTHX) +#define pp_slt() Perl_pp_slt(aTHX) +#define pp_sne() Perl_pp_sne(aTHX) +#define pp_snetent() Perl_pp_snetent(aTHX) +#define pp_socket() Perl_pp_socket(aTHX) +#define pp_sockpair() Perl_pp_sockpair(aTHX) +#define pp_sort() Perl_pp_sort(aTHX) +#define pp_splice() Perl_pp_splice(aTHX) +#define pp_split() Perl_pp_split(aTHX) +#define pp_sprintf() Perl_pp_sprintf(aTHX) +#define pp_sprotoent() Perl_pp_sprotoent(aTHX) +#define pp_spwent() Perl_pp_spwent(aTHX) +#define pp_sqrt() Perl_pp_sqrt(aTHX) +#define pp_srand() Perl_pp_srand(aTHX) +#define pp_srefgen() Perl_pp_srefgen(aTHX) +#define pp_sselect() Perl_pp_sselect(aTHX) +#define pp_sservent() Perl_pp_sservent(aTHX) +#define pp_ssockopt() Perl_pp_ssockopt(aTHX) +#define pp_stat() Perl_pp_stat(aTHX) +#define pp_stringify() Perl_pp_stringify(aTHX) +#define pp_stub() Perl_pp_stub(aTHX) +#define pp_study() Perl_pp_study(aTHX) +#define pp_subst() Perl_pp_subst(aTHX) +#define pp_substcont() Perl_pp_substcont(aTHX) +#define pp_substr() Perl_pp_substr(aTHX) +#define pp_subtract() Perl_pp_subtract(aTHX) +#define pp_symlink() Perl_pp_symlink(aTHX) +#define pp_syscall() Perl_pp_syscall(aTHX) +#define pp_sysopen() Perl_pp_sysopen(aTHX) +#define pp_sysread() Perl_pp_sysread(aTHX) +#define pp_sysseek() Perl_pp_sysseek(aTHX) +#define pp_system() Perl_pp_system(aTHX) +#define pp_syswrite() Perl_pp_syswrite(aTHX) +#define pp_tell() Perl_pp_tell(aTHX) +#define pp_telldir() Perl_pp_telldir(aTHX) +#define pp_threadsv() Perl_pp_threadsv(aTHX) +#define pp_tie() Perl_pp_tie(aTHX) +#define pp_tied() Perl_pp_tied(aTHX) +#define pp_time() Perl_pp_time(aTHX) +#define pp_tms() Perl_pp_tms(aTHX) +#define pp_trans() Perl_pp_trans(aTHX) +#define pp_truncate() Perl_pp_truncate(aTHX) +#define pp_uc() Perl_pp_uc(aTHX) +#define pp_ucfirst() Perl_pp_ucfirst(aTHX) +#define pp_umask() Perl_pp_umask(aTHX) +#define pp_undef() Perl_pp_undef(aTHX) +#define pp_unlink() Perl_pp_unlink(aTHX) +#define pp_unpack() Perl_pp_unpack(aTHX) +#define pp_unshift() Perl_pp_unshift(aTHX) +#define pp_unstack() Perl_pp_unstack(aTHX) +#define pp_untie() Perl_pp_untie(aTHX) +#define pp_utime() Perl_pp_utime(aTHX) +#define pp_values() Perl_pp_values(aTHX) +#define pp_vec() Perl_pp_vec(aTHX) +#define pp_wait() Perl_pp_wait(aTHX) +#define pp_waitpid() Perl_pp_waitpid(aTHX) +#define pp_wantarray() Perl_pp_wantarray(aTHX) +#define pp_warn() Perl_pp_warn(aTHX) +#define pp_xor() Perl_pp_xor(aTHX) + +#endif /* PERL_IMPLICIT_CONTEXT */ +#else /* PERL_OBJECT */ + +#if defined(PERL_IMPLICIT_SYS) +#endif +#if defined(USE_ITHREADS) +# if defined(PERL_IMPLICIT_SYS) +# endif +#endif +#if defined(MYMALLOC) +#define malloc Perl_malloc +#define calloc Perl_calloc +#define realloc Perl_realloc +#define mfree Perl_mfree +#define malloced_size Perl_malloced_size +#endif +#define get_context Perl_get_context +#define set_context Perl_set_context +#if defined(PERL_OBJECT) +#ifndef __BORLANDC__ +#endif +#endif +#if defined(PERL_OBJECT) +#else +#endif +#define Perl_amagic_call CPerlObj::Perl_amagic_call +#define amagic_call Perl_amagic_call +#define Perl_Gv_AMupdate CPerlObj::Perl_Gv_AMupdate +#define Gv_AMupdate Perl_Gv_AMupdate +#define Perl_append_elem CPerlObj::Perl_append_elem +#define append_elem Perl_append_elem +#define Perl_append_list CPerlObj::Perl_append_list +#define append_list Perl_append_list +#define Perl_apply CPerlObj::Perl_apply +#define apply Perl_apply +#define Perl_avhv_delete_ent CPerlObj::Perl_avhv_delete_ent +#define avhv_delete_ent Perl_avhv_delete_ent +#define Perl_avhv_exists_ent CPerlObj::Perl_avhv_exists_ent +#define avhv_exists_ent Perl_avhv_exists_ent +#define Perl_avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent +#define avhv_fetch_ent Perl_avhv_fetch_ent +#define Perl_avhv_store_ent CPerlObj::Perl_avhv_store_ent +#define avhv_store_ent Perl_avhv_store_ent +#define Perl_avhv_iternext CPerlObj::Perl_avhv_iternext +#define avhv_iternext Perl_avhv_iternext +#define Perl_avhv_iterval CPerlObj::Perl_avhv_iterval +#define avhv_iterval Perl_avhv_iterval +#define Perl_avhv_keys CPerlObj::Perl_avhv_keys +#define avhv_keys Perl_avhv_keys +#define Perl_av_clear CPerlObj::Perl_av_clear +#define av_clear Perl_av_clear +#define Perl_av_delete CPerlObj::Perl_av_delete +#define av_delete Perl_av_delete +#define Perl_av_exists CPerlObj::Perl_av_exists +#define av_exists Perl_av_exists +#define Perl_av_extend CPerlObj::Perl_av_extend +#define av_extend Perl_av_extend +#define Perl_av_fake CPerlObj::Perl_av_fake +#define av_fake Perl_av_fake +#define Perl_av_fetch CPerlObj::Perl_av_fetch +#define av_fetch Perl_av_fetch +#define Perl_av_fill CPerlObj::Perl_av_fill +#define av_fill Perl_av_fill +#define Perl_av_len CPerlObj::Perl_av_len +#define av_len Perl_av_len +#define Perl_av_make CPerlObj::Perl_av_make +#define av_make Perl_av_make +#define Perl_av_pop CPerlObj::Perl_av_pop +#define av_pop Perl_av_pop +#define Perl_av_push CPerlObj::Perl_av_push +#define av_push Perl_av_push +#define Perl_av_reify CPerlObj::Perl_av_reify +#define av_reify Perl_av_reify +#define Perl_av_shift CPerlObj::Perl_av_shift +#define av_shift Perl_av_shift +#define Perl_av_store CPerlObj::Perl_av_store +#define av_store Perl_av_store +#define Perl_av_undef CPerlObj::Perl_av_undef +#define av_undef Perl_av_undef +#define Perl_av_unshift CPerlObj::Perl_av_unshift +#define av_unshift Perl_av_unshift +#define Perl_bind_match CPerlObj::Perl_bind_match +#define bind_match Perl_bind_match +#define Perl_block_end CPerlObj::Perl_block_end +#define block_end Perl_block_end +#define Perl_block_gimme CPerlObj::Perl_block_gimme +#define block_gimme Perl_block_gimme +#define Perl_block_start CPerlObj::Perl_block_start +#define block_start Perl_block_start +#define Perl_boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL +#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL +#define Perl_call_list CPerlObj::Perl_call_list +#define call_list Perl_call_list +#define Perl_cando CPerlObj::Perl_cando +#define cando Perl_cando +#define Perl_cast_ulong CPerlObj::Perl_cast_ulong +#define cast_ulong Perl_cast_ulong +#define Perl_cast_i32 CPerlObj::Perl_cast_i32 +#define cast_i32 Perl_cast_i32 +#define Perl_cast_iv CPerlObj::Perl_cast_iv +#define cast_iv Perl_cast_iv +#define Perl_cast_uv CPerlObj::Perl_cast_uv +#define cast_uv Perl_cast_uv +#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) +#define Perl_my_chsize CPerlObj::Perl_my_chsize +#define my_chsize Perl_my_chsize +#endif +#if defined(USE_THREADS) +#define Perl_condpair_magic CPerlObj::Perl_condpair_magic +#define condpair_magic Perl_condpair_magic +#endif +#define Perl_convert CPerlObj::Perl_convert +#define convert Perl_convert +#define Perl_croak CPerlObj::Perl_croak +#define croak Perl_croak +#define Perl_vcroak CPerlObj::Perl_vcroak +#define vcroak Perl_vcroak +#if defined(PERL_IMPLICIT_CONTEXT) +#define Perl_croak_nocontext CPerlObj::Perl_croak_nocontext +#define croak_nocontext Perl_croak_nocontext +#define Perl_die_nocontext CPerlObj::Perl_die_nocontext +#define die_nocontext Perl_die_nocontext +#define Perl_deb_nocontext CPerlObj::Perl_deb_nocontext +#define deb_nocontext Perl_deb_nocontext +#define Perl_form_nocontext CPerlObj::Perl_form_nocontext +#define form_nocontext Perl_form_nocontext +#define Perl_load_module_nocontext CPerlObj::Perl_load_module_nocontext +#define load_module_nocontext Perl_load_module_nocontext +#define Perl_mess_nocontext CPerlObj::Perl_mess_nocontext +#define mess_nocontext Perl_mess_nocontext +#define Perl_warn_nocontext CPerlObj::Perl_warn_nocontext +#define warn_nocontext Perl_warn_nocontext +#define Perl_warner_nocontext CPerlObj::Perl_warner_nocontext +#define warner_nocontext Perl_warner_nocontext +#define Perl_newSVpvf_nocontext CPerlObj::Perl_newSVpvf_nocontext +#define newSVpvf_nocontext Perl_newSVpvf_nocontext +#define Perl_sv_catpvf_nocontext CPerlObj::Perl_sv_catpvf_nocontext +#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext +#define Perl_sv_setpvf_nocontext CPerlObj::Perl_sv_setpvf_nocontext +#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext +#define Perl_sv_catpvf_mg_nocontext CPerlObj::Perl_sv_catpvf_mg_nocontext +#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext +#define Perl_sv_setpvf_mg_nocontext CPerlObj::Perl_sv_setpvf_mg_nocontext +#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext +#define Perl_fprintf_nocontext CPerlObj::Perl_fprintf_nocontext +#define fprintf_nocontext Perl_fprintf_nocontext +#endif +#define Perl_cv_ckproto CPerlObj::Perl_cv_ckproto +#define cv_ckproto Perl_cv_ckproto +#define Perl_cv_clone CPerlObj::Perl_cv_clone +#define cv_clone Perl_cv_clone +#define Perl_cv_const_sv CPerlObj::Perl_cv_const_sv +#define cv_const_sv Perl_cv_const_sv +#define Perl_op_const_sv CPerlObj::Perl_op_const_sv +#define op_const_sv Perl_op_const_sv +#define Perl_cv_undef CPerlObj::Perl_cv_undef +#define cv_undef Perl_cv_undef +#define Perl_cx_dump CPerlObj::Perl_cx_dump +#define cx_dump Perl_cx_dump +#define Perl_filter_add CPerlObj::Perl_filter_add +#define filter_add Perl_filter_add +#define Perl_filter_del CPerlObj::Perl_filter_del +#define filter_del Perl_filter_del +#define Perl_filter_read CPerlObj::Perl_filter_read +#define filter_read Perl_filter_read +#define Perl_get_op_descs CPerlObj::Perl_get_op_descs +#define get_op_descs Perl_get_op_descs +#define Perl_get_op_names CPerlObj::Perl_get_op_names +#define get_op_names Perl_get_op_names +#define Perl_get_no_modify CPerlObj::Perl_get_no_modify +#define get_no_modify Perl_get_no_modify +#define Perl_get_opargs CPerlObj::Perl_get_opargs +#define get_opargs Perl_get_opargs +#define Perl_get_ppaddr CPerlObj::Perl_get_ppaddr +#define get_ppaddr Perl_get_ppaddr +#define Perl_cxinc CPerlObj::Perl_cxinc +#define cxinc Perl_cxinc +#define Perl_deb CPerlObj::Perl_deb +#define deb Perl_deb +#define Perl_vdeb CPerlObj::Perl_vdeb +#define vdeb Perl_vdeb +#define Perl_debprofdump CPerlObj::Perl_debprofdump +#define debprofdump Perl_debprofdump +#define Perl_debop CPerlObj::Perl_debop +#define debop Perl_debop +#define Perl_debstack CPerlObj::Perl_debstack +#define debstack Perl_debstack +#define Perl_debstackptrs CPerlObj::Perl_debstackptrs +#define debstackptrs Perl_debstackptrs +#define Perl_delimcpy CPerlObj::Perl_delimcpy +#define delimcpy Perl_delimcpy +#define Perl_deprecate CPerlObj::Perl_deprecate +#define deprecate Perl_deprecate +#define Perl_die CPerlObj::Perl_die +#define die Perl_die +#define Perl_vdie CPerlObj::Perl_vdie +#define vdie Perl_vdie +#define Perl_die_where CPerlObj::Perl_die_where +#define die_where Perl_die_where +#define Perl_dounwind CPerlObj::Perl_dounwind +#define dounwind Perl_dounwind +#define Perl_do_aexec CPerlObj::Perl_do_aexec +#define do_aexec Perl_do_aexec +#define Perl_do_aexec5 CPerlObj::Perl_do_aexec5 +#define do_aexec5 Perl_do_aexec5 +#define Perl_do_binmode CPerlObj::Perl_do_binmode +#define do_binmode Perl_do_binmode +#define Perl_do_chop CPerlObj::Perl_do_chop +#define do_chop Perl_do_chop +#define Perl_do_close CPerlObj::Perl_do_close +#define do_close Perl_do_close +#define Perl_do_eof CPerlObj::Perl_do_eof +#define do_eof Perl_do_eof +#define Perl_do_exec CPerlObj::Perl_do_exec +#define do_exec Perl_do_exec +#if !defined(WIN32) +#define Perl_do_exec3 CPerlObj::Perl_do_exec3 +#define do_exec3 Perl_do_exec3 +#endif +#define Perl_do_execfree CPerlObj::Perl_do_execfree +#define do_execfree Perl_do_execfree +#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) +#define Perl_do_ipcctl CPerlObj::Perl_do_ipcctl +#define do_ipcctl Perl_do_ipcctl +#define Perl_do_ipcget CPerlObj::Perl_do_ipcget +#define do_ipcget Perl_do_ipcget +#define Perl_do_msgrcv CPerlObj::Perl_do_msgrcv +#define do_msgrcv Perl_do_msgrcv +#define Perl_do_msgsnd CPerlObj::Perl_do_msgsnd +#define do_msgsnd Perl_do_msgsnd +#define Perl_do_semop CPerlObj::Perl_do_semop +#define do_semop Perl_do_semop +#define Perl_do_shmio CPerlObj::Perl_do_shmio +#define do_shmio Perl_do_shmio +#endif +#define Perl_do_join CPerlObj::Perl_do_join +#define do_join Perl_do_join +#define Perl_do_kv CPerlObj::Perl_do_kv +#define do_kv Perl_do_kv +#define Perl_do_open CPerlObj::Perl_do_open +#define do_open Perl_do_open +#define Perl_do_open9 CPerlObj::Perl_do_open9 +#define do_open9 Perl_do_open9 +#define Perl_do_pipe CPerlObj::Perl_do_pipe +#define do_pipe Perl_do_pipe +#define Perl_do_print CPerlObj::Perl_do_print +#define do_print Perl_do_print +#define Perl_do_readline CPerlObj::Perl_do_readline +#define do_readline Perl_do_readline +#define Perl_do_chomp CPerlObj::Perl_do_chomp +#define do_chomp Perl_do_chomp +#define Perl_do_seek CPerlObj::Perl_do_seek +#define do_seek Perl_do_seek +#define Perl_do_sprintf CPerlObj::Perl_do_sprintf +#define do_sprintf Perl_do_sprintf +#define Perl_do_sysseek CPerlObj::Perl_do_sysseek +#define do_sysseek Perl_do_sysseek +#define Perl_do_tell CPerlObj::Perl_do_tell +#define do_tell Perl_do_tell +#define Perl_do_trans CPerlObj::Perl_do_trans +#define do_trans Perl_do_trans +#define Perl_do_vecget CPerlObj::Perl_do_vecget +#define do_vecget Perl_do_vecget +#define Perl_do_vecset CPerlObj::Perl_do_vecset +#define do_vecset Perl_do_vecset +#define Perl_do_vop CPerlObj::Perl_do_vop +#define do_vop Perl_do_vop +#define Perl_dofile CPerlObj::Perl_dofile +#define dofile Perl_dofile +#define Perl_dowantarray CPerlObj::Perl_dowantarray +#define dowantarray Perl_dowantarray +#define Perl_dump_all CPerlObj::Perl_dump_all +#define dump_all Perl_dump_all +#define Perl_dump_eval CPerlObj::Perl_dump_eval +#define dump_eval Perl_dump_eval +#if defined(DUMP_FDS) +#define Perl_dump_fds CPerlObj::Perl_dump_fds +#define dump_fds Perl_dump_fds +#endif +#define Perl_dump_form CPerlObj::Perl_dump_form +#define dump_form Perl_dump_form +#define Perl_gv_dump CPerlObj::Perl_gv_dump +#define gv_dump Perl_gv_dump +#define Perl_op_dump CPerlObj::Perl_op_dump +#define op_dump Perl_op_dump +#define Perl_pmop_dump CPerlObj::Perl_pmop_dump +#define pmop_dump Perl_pmop_dump +#define Perl_dump_packsubs CPerlObj::Perl_dump_packsubs +#define dump_packsubs Perl_dump_packsubs +#define Perl_dump_sub CPerlObj::Perl_dump_sub +#define dump_sub Perl_dump_sub +#define Perl_fbm_compile CPerlObj::Perl_fbm_compile +#define fbm_compile Perl_fbm_compile +#define Perl_fbm_instr CPerlObj::Perl_fbm_instr +#define fbm_instr Perl_fbm_instr +#define Perl_find_script CPerlObj::Perl_find_script +#define find_script Perl_find_script +#if defined(USE_THREADS) +#define Perl_find_threadsv CPerlObj::Perl_find_threadsv +#define find_threadsv Perl_find_threadsv +#endif +#define Perl_force_list CPerlObj::Perl_force_list +#define force_list Perl_force_list +#define Perl_fold_constants CPerlObj::Perl_fold_constants +#define fold_constants Perl_fold_constants +#define Perl_form CPerlObj::Perl_form +#define form Perl_form +#define Perl_vform CPerlObj::Perl_vform +#define vform Perl_vform +#define Perl_free_tmps CPerlObj::Perl_free_tmps +#define free_tmps Perl_free_tmps +#define Perl_gen_constant_list CPerlObj::Perl_gen_constant_list +#define gen_constant_list Perl_gen_constant_list +#if !defined(HAS_GETENV_LEN) +#define Perl_getenv_len CPerlObj::Perl_getenv_len +#define getenv_len Perl_getenv_len +#endif +#define Perl_gp_free CPerlObj::Perl_gp_free +#define gp_free Perl_gp_free +#define Perl_gp_ref CPerlObj::Perl_gp_ref +#define gp_ref Perl_gp_ref +#define Perl_gv_AVadd CPerlObj::Perl_gv_AVadd +#define gv_AVadd Perl_gv_AVadd +#define Perl_gv_HVadd CPerlObj::Perl_gv_HVadd +#define gv_HVadd Perl_gv_HVadd +#define Perl_gv_IOadd CPerlObj::Perl_gv_IOadd +#define gv_IOadd Perl_gv_IOadd +#define Perl_gv_autoload4 CPerlObj::Perl_gv_autoload4 +#define gv_autoload4 Perl_gv_autoload4 +#define Perl_gv_check CPerlObj::Perl_gv_check +#define gv_check Perl_gv_check +#define Perl_gv_efullname CPerlObj::Perl_gv_efullname +#define gv_efullname Perl_gv_efullname +#define Perl_gv_efullname3 CPerlObj::Perl_gv_efullname3 +#define gv_efullname3 Perl_gv_efullname3 +#define Perl_gv_fetchfile CPerlObj::Perl_gv_fetchfile +#define gv_fetchfile Perl_gv_fetchfile +#define Perl_gv_fetchmeth CPerlObj::Perl_gv_fetchmeth +#define gv_fetchmeth Perl_gv_fetchmeth +#define Perl_gv_fetchmethod CPerlObj::Perl_gv_fetchmethod +#define gv_fetchmethod Perl_gv_fetchmethod +#define Perl_gv_fetchmethod_autoload CPerlObj::Perl_gv_fetchmethod_autoload +#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload +#define Perl_gv_fetchpv CPerlObj::Perl_gv_fetchpv +#define gv_fetchpv Perl_gv_fetchpv +#define Perl_gv_fullname CPerlObj::Perl_gv_fullname +#define gv_fullname Perl_gv_fullname +#define Perl_gv_fullname3 CPerlObj::Perl_gv_fullname3 +#define gv_fullname3 Perl_gv_fullname3 +#define Perl_gv_init CPerlObj::Perl_gv_init +#define gv_init Perl_gv_init +#define Perl_gv_stashpv CPerlObj::Perl_gv_stashpv +#define gv_stashpv Perl_gv_stashpv +#define Perl_gv_stashpvn CPerlObj::Perl_gv_stashpvn +#define gv_stashpvn Perl_gv_stashpvn +#define Perl_gv_stashsv CPerlObj::Perl_gv_stashsv +#define gv_stashsv Perl_gv_stashsv +#define Perl_hv_clear CPerlObj::Perl_hv_clear +#define hv_clear Perl_hv_clear +#define Perl_hv_delayfree_ent CPerlObj::Perl_hv_delayfree_ent +#define hv_delayfree_ent Perl_hv_delayfree_ent +#define Perl_hv_delete CPerlObj::Perl_hv_delete +#define hv_delete Perl_hv_delete +#define Perl_hv_delete_ent CPerlObj::Perl_hv_delete_ent +#define hv_delete_ent Perl_hv_delete_ent +#define Perl_hv_exists CPerlObj::Perl_hv_exists +#define hv_exists Perl_hv_exists +#define Perl_hv_exists_ent CPerlObj::Perl_hv_exists_ent +#define hv_exists_ent Perl_hv_exists_ent +#define Perl_hv_fetch CPerlObj::Perl_hv_fetch +#define hv_fetch Perl_hv_fetch +#define Perl_hv_fetch_ent CPerlObj::Perl_hv_fetch_ent +#define hv_fetch_ent Perl_hv_fetch_ent +#define Perl_hv_free_ent CPerlObj::Perl_hv_free_ent +#define hv_free_ent Perl_hv_free_ent +#define Perl_hv_iterinit CPerlObj::Perl_hv_iterinit +#define hv_iterinit Perl_hv_iterinit +#define Perl_hv_iterkey CPerlObj::Perl_hv_iterkey +#define hv_iterkey Perl_hv_iterkey +#define Perl_hv_iterkeysv CPerlObj::Perl_hv_iterkeysv +#define hv_iterkeysv Perl_hv_iterkeysv +#define Perl_hv_iternext CPerlObj::Perl_hv_iternext +#define hv_iternext Perl_hv_iternext +#define Perl_hv_iternextsv CPerlObj::Perl_hv_iternextsv +#define hv_iternextsv Perl_hv_iternextsv +#define Perl_hv_iterval CPerlObj::Perl_hv_iterval +#define hv_iterval Perl_hv_iterval +#define Perl_hv_ksplit CPerlObj::Perl_hv_ksplit +#define hv_ksplit Perl_hv_ksplit +#define Perl_hv_magic CPerlObj::Perl_hv_magic +#define hv_magic Perl_hv_magic +#define Perl_hv_store CPerlObj::Perl_hv_store +#define hv_store Perl_hv_store +#define Perl_hv_store_ent CPerlObj::Perl_hv_store_ent +#define hv_store_ent Perl_hv_store_ent +#define Perl_hv_undef CPerlObj::Perl_hv_undef +#define hv_undef Perl_hv_undef +#define Perl_ibcmp CPerlObj::Perl_ibcmp +#define ibcmp Perl_ibcmp +#define Perl_ibcmp_locale CPerlObj::Perl_ibcmp_locale +#define ibcmp_locale Perl_ibcmp_locale +#define Perl_ingroup CPerlObj::Perl_ingroup +#define ingroup Perl_ingroup +#define Perl_init_debugger CPerlObj::Perl_init_debugger +#define init_debugger Perl_init_debugger +#define Perl_init_stacks CPerlObj::Perl_init_stacks +#define init_stacks Perl_init_stacks +#define Perl_intro_my CPerlObj::Perl_intro_my +#define intro_my Perl_intro_my +#define Perl_instr CPerlObj::Perl_instr +#define instr Perl_instr +#define Perl_io_close CPerlObj::Perl_io_close +#define io_close Perl_io_close +#define Perl_invert CPerlObj::Perl_invert +#define invert Perl_invert +#define Perl_is_uni_alnum CPerlObj::Perl_is_uni_alnum +#define is_uni_alnum Perl_is_uni_alnum +#define Perl_is_uni_alnumc CPerlObj::Perl_is_uni_alnumc +#define is_uni_alnumc Perl_is_uni_alnumc +#define Perl_is_uni_idfirst CPerlObj::Perl_is_uni_idfirst +#define is_uni_idfirst Perl_is_uni_idfirst +#define Perl_is_uni_alpha CPerlObj::Perl_is_uni_alpha +#define is_uni_alpha Perl_is_uni_alpha +#define Perl_is_uni_ascii CPerlObj::Perl_is_uni_ascii +#define is_uni_ascii Perl_is_uni_ascii +#define Perl_is_uni_space CPerlObj::Perl_is_uni_space +#define is_uni_space Perl_is_uni_space +#define Perl_is_uni_cntrl CPerlObj::Perl_is_uni_cntrl +#define is_uni_cntrl Perl_is_uni_cntrl +#define Perl_is_uni_graph CPerlObj::Perl_is_uni_graph +#define is_uni_graph Perl_is_uni_graph +#define Perl_is_uni_digit CPerlObj::Perl_is_uni_digit +#define is_uni_digit Perl_is_uni_digit +#define Perl_is_uni_upper CPerlObj::Perl_is_uni_upper +#define is_uni_upper Perl_is_uni_upper +#define Perl_is_uni_lower CPerlObj::Perl_is_uni_lower +#define is_uni_lower Perl_is_uni_lower +#define Perl_is_uni_print CPerlObj::Perl_is_uni_print +#define is_uni_print Perl_is_uni_print +#define Perl_is_uni_punct CPerlObj::Perl_is_uni_punct +#define is_uni_punct Perl_is_uni_punct +#define Perl_is_uni_xdigit CPerlObj::Perl_is_uni_xdigit +#define is_uni_xdigit Perl_is_uni_xdigit +#define Perl_to_uni_upper CPerlObj::Perl_to_uni_upper +#define to_uni_upper Perl_to_uni_upper +#define Perl_to_uni_title CPerlObj::Perl_to_uni_title +#define to_uni_title Perl_to_uni_title +#define Perl_to_uni_lower CPerlObj::Perl_to_uni_lower +#define to_uni_lower Perl_to_uni_lower +#define Perl_is_uni_alnum_lc CPerlObj::Perl_is_uni_alnum_lc +#define is_uni_alnum_lc Perl_is_uni_alnum_lc +#define Perl_is_uni_alnumc_lc CPerlObj::Perl_is_uni_alnumc_lc +#define is_uni_alnumc_lc Perl_is_uni_alnumc_lc +#define Perl_is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc +#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc +#define Perl_is_uni_alpha_lc CPerlObj::Perl_is_uni_alpha_lc +#define is_uni_alpha_lc Perl_is_uni_alpha_lc +#define Perl_is_uni_ascii_lc CPerlObj::Perl_is_uni_ascii_lc +#define is_uni_ascii_lc Perl_is_uni_ascii_lc +#define Perl_is_uni_space_lc CPerlObj::Perl_is_uni_space_lc +#define is_uni_space_lc Perl_is_uni_space_lc +#define Perl_is_uni_cntrl_lc CPerlObj::Perl_is_uni_cntrl_lc +#define is_uni_cntrl_lc Perl_is_uni_cntrl_lc +#define Perl_is_uni_graph_lc CPerlObj::Perl_is_uni_graph_lc +#define is_uni_graph_lc Perl_is_uni_graph_lc +#define Perl_is_uni_digit_lc CPerlObj::Perl_is_uni_digit_lc +#define is_uni_digit_lc Perl_is_uni_digit_lc +#define Perl_is_uni_upper_lc CPerlObj::Perl_is_uni_upper_lc +#define is_uni_upper_lc Perl_is_uni_upper_lc +#define Perl_is_uni_lower_lc CPerlObj::Perl_is_uni_lower_lc +#define is_uni_lower_lc Perl_is_uni_lower_lc +#define Perl_is_uni_print_lc CPerlObj::Perl_is_uni_print_lc +#define is_uni_print_lc Perl_is_uni_print_lc +#define Perl_is_uni_punct_lc CPerlObj::Perl_is_uni_punct_lc +#define is_uni_punct_lc Perl_is_uni_punct_lc +#define Perl_is_uni_xdigit_lc CPerlObj::Perl_is_uni_xdigit_lc +#define is_uni_xdigit_lc Perl_is_uni_xdigit_lc +#define Perl_to_uni_upper_lc CPerlObj::Perl_to_uni_upper_lc +#define to_uni_upper_lc Perl_to_uni_upper_lc +#define Perl_to_uni_title_lc CPerlObj::Perl_to_uni_title_lc +#define to_uni_title_lc Perl_to_uni_title_lc +#define Perl_to_uni_lower_lc CPerlObj::Perl_to_uni_lower_lc +#define to_uni_lower_lc Perl_to_uni_lower_lc +#define Perl_is_utf8_char CPerlObj::Perl_is_utf8_char +#define is_utf8_char Perl_is_utf8_char +#define Perl_is_utf8_alnum CPerlObj::Perl_is_utf8_alnum +#define is_utf8_alnum Perl_is_utf8_alnum +#define Perl_is_utf8_alnumc CPerlObj::Perl_is_utf8_alnumc +#define is_utf8_alnumc Perl_is_utf8_alnumc +#define Perl_is_utf8_idfirst CPerlObj::Perl_is_utf8_idfirst +#define is_utf8_idfirst Perl_is_utf8_idfirst +#define Perl_is_utf8_alpha CPerlObj::Perl_is_utf8_alpha +#define is_utf8_alpha Perl_is_utf8_alpha +#define Perl_is_utf8_ascii CPerlObj::Perl_is_utf8_ascii +#define is_utf8_ascii Perl_is_utf8_ascii +#define Perl_is_utf8_space CPerlObj::Perl_is_utf8_space +#define is_utf8_space Perl_is_utf8_space +#define Perl_is_utf8_cntrl CPerlObj::Perl_is_utf8_cntrl +#define is_utf8_cntrl Perl_is_utf8_cntrl +#define Perl_is_utf8_digit CPerlObj::Perl_is_utf8_digit +#define is_utf8_digit Perl_is_utf8_digit +#define Perl_is_utf8_graph CPerlObj::Perl_is_utf8_graph +#define is_utf8_graph Perl_is_utf8_graph +#define Perl_is_utf8_upper CPerlObj::Perl_is_utf8_upper +#define is_utf8_upper Perl_is_utf8_upper +#define Perl_is_utf8_lower CPerlObj::Perl_is_utf8_lower +#define is_utf8_lower Perl_is_utf8_lower +#define Perl_is_utf8_print CPerlObj::Perl_is_utf8_print +#define is_utf8_print Perl_is_utf8_print +#define Perl_is_utf8_punct CPerlObj::Perl_is_utf8_punct +#define is_utf8_punct Perl_is_utf8_punct +#define Perl_is_utf8_xdigit CPerlObj::Perl_is_utf8_xdigit +#define is_utf8_xdigit Perl_is_utf8_xdigit +#define Perl_is_utf8_mark CPerlObj::Perl_is_utf8_mark +#define is_utf8_mark Perl_is_utf8_mark +#define Perl_jmaybe CPerlObj::Perl_jmaybe +#define jmaybe Perl_jmaybe +#define Perl_keyword CPerlObj::Perl_keyword +#define keyword Perl_keyword +#define Perl_leave_scope CPerlObj::Perl_leave_scope +#define leave_scope Perl_leave_scope +#define Perl_lex_end CPerlObj::Perl_lex_end +#define lex_end Perl_lex_end +#define Perl_lex_start CPerlObj::Perl_lex_start +#define lex_start Perl_lex_start +#define Perl_linklist CPerlObj::Perl_linklist +#define linklist Perl_linklist +#define Perl_list CPerlObj::Perl_list +#define list Perl_list +#define Perl_listkids CPerlObj::Perl_listkids +#define listkids Perl_listkids +#define Perl_load_module CPerlObj::Perl_load_module +#define load_module Perl_load_module +#define Perl_vload_module CPerlObj::Perl_vload_module +#define vload_module Perl_vload_module +#define Perl_localize CPerlObj::Perl_localize +#define localize Perl_localize +#define Perl_looks_like_number CPerlObj::Perl_looks_like_number +#define looks_like_number Perl_looks_like_number +#define Perl_magic_clearenv CPerlObj::Perl_magic_clearenv +#define magic_clearenv Perl_magic_clearenv +#define Perl_magic_clear_all_env CPerlObj::Perl_magic_clear_all_env +#define magic_clear_all_env Perl_magic_clear_all_env +#define Perl_magic_clearpack CPerlObj::Perl_magic_clearpack +#define magic_clearpack Perl_magic_clearpack +#define Perl_magic_clearsig CPerlObj::Perl_magic_clearsig +#define magic_clearsig Perl_magic_clearsig +#define Perl_magic_existspack CPerlObj::Perl_magic_existspack +#define magic_existspack Perl_magic_existspack +#define Perl_magic_freeregexp CPerlObj::Perl_magic_freeregexp +#define magic_freeregexp Perl_magic_freeregexp +#define Perl_magic_get CPerlObj::Perl_magic_get +#define magic_get Perl_magic_get +#define Perl_magic_getarylen CPerlObj::Perl_magic_getarylen +#define magic_getarylen Perl_magic_getarylen +#define Perl_magic_getdefelem CPerlObj::Perl_magic_getdefelem +#define magic_getdefelem Perl_magic_getdefelem +#define Perl_magic_getglob CPerlObj::Perl_magic_getglob +#define magic_getglob Perl_magic_getglob +#define Perl_magic_getnkeys CPerlObj::Perl_magic_getnkeys +#define magic_getnkeys Perl_magic_getnkeys +#define Perl_magic_getpack CPerlObj::Perl_magic_getpack +#define magic_getpack Perl_magic_getpack +#define Perl_magic_getpos CPerlObj::Perl_magic_getpos +#define magic_getpos Perl_magic_getpos +#define Perl_magic_getsig CPerlObj::Perl_magic_getsig +#define magic_getsig Perl_magic_getsig +#define Perl_magic_getsubstr CPerlObj::Perl_magic_getsubstr +#define magic_getsubstr Perl_magic_getsubstr +#define Perl_magic_gettaint CPerlObj::Perl_magic_gettaint +#define magic_gettaint Perl_magic_gettaint +#define Perl_magic_getuvar CPerlObj::Perl_magic_getuvar +#define magic_getuvar Perl_magic_getuvar +#define Perl_magic_getvec CPerlObj::Perl_magic_getvec +#define magic_getvec Perl_magic_getvec +#define Perl_magic_len CPerlObj::Perl_magic_len +#define magic_len Perl_magic_len +#if defined(USE_THREADS) +#define Perl_magic_mutexfree CPerlObj::Perl_magic_mutexfree +#define magic_mutexfree Perl_magic_mutexfree +#endif +#define Perl_magic_nextpack CPerlObj::Perl_magic_nextpack +#define magic_nextpack Perl_magic_nextpack +#define Perl_magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt +#define magic_regdata_cnt Perl_magic_regdata_cnt +#define Perl_magic_regdatum_get CPerlObj::Perl_magic_regdatum_get +#define magic_regdatum_get Perl_magic_regdatum_get +#define Perl_magic_set CPerlObj::Perl_magic_set +#define magic_set Perl_magic_set +#define Perl_magic_setamagic CPerlObj::Perl_magic_setamagic +#define magic_setamagic Perl_magic_setamagic +#define Perl_magic_setarylen CPerlObj::Perl_magic_setarylen +#define magic_setarylen Perl_magic_setarylen +#define Perl_magic_setbm CPerlObj::Perl_magic_setbm +#define magic_setbm Perl_magic_setbm +#define Perl_magic_setdbline CPerlObj::Perl_magic_setdbline +#define magic_setdbline Perl_magic_setdbline +#if defined(USE_LOCALE_COLLATE) +#define Perl_magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm +#define magic_setcollxfrm Perl_magic_setcollxfrm +#endif +#define Perl_magic_setdefelem CPerlObj::Perl_magic_setdefelem +#define magic_setdefelem Perl_magic_setdefelem +#define Perl_magic_setenv CPerlObj::Perl_magic_setenv +#define magic_setenv Perl_magic_setenv +#define Perl_magic_setfm CPerlObj::Perl_magic_setfm +#define magic_setfm Perl_magic_setfm +#define Perl_magic_setisa CPerlObj::Perl_magic_setisa +#define magic_setisa Perl_magic_setisa +#define Perl_magic_setglob CPerlObj::Perl_magic_setglob +#define magic_setglob Perl_magic_setglob +#define Perl_magic_setmglob CPerlObj::Perl_magic_setmglob +#define magic_setmglob Perl_magic_setmglob +#define Perl_magic_setnkeys CPerlObj::Perl_magic_setnkeys +#define magic_setnkeys Perl_magic_setnkeys +#define Perl_magic_setpack CPerlObj::Perl_magic_setpack +#define magic_setpack Perl_magic_setpack +#define Perl_magic_setpos CPerlObj::Perl_magic_setpos +#define magic_setpos Perl_magic_setpos +#define Perl_magic_setsig CPerlObj::Perl_magic_setsig +#define magic_setsig Perl_magic_setsig +#define Perl_magic_setsubstr CPerlObj::Perl_magic_setsubstr +#define magic_setsubstr Perl_magic_setsubstr +#define Perl_magic_settaint CPerlObj::Perl_magic_settaint +#define magic_settaint Perl_magic_settaint +#define Perl_magic_setuvar CPerlObj::Perl_magic_setuvar +#define magic_setuvar Perl_magic_setuvar +#define Perl_magic_setvec CPerlObj::Perl_magic_setvec +#define magic_setvec Perl_magic_setvec +#define Perl_magic_set_all_env CPerlObj::Perl_magic_set_all_env +#define magic_set_all_env Perl_magic_set_all_env +#define Perl_magic_sizepack CPerlObj::Perl_magic_sizepack +#define magic_sizepack Perl_magic_sizepack +#define Perl_magic_wipepack CPerlObj::Perl_magic_wipepack +#define magic_wipepack Perl_magic_wipepack +#define Perl_magicname CPerlObj::Perl_magicname +#define magicname Perl_magicname +#define Perl_markstack_grow CPerlObj::Perl_markstack_grow +#define markstack_grow Perl_markstack_grow +#if defined(USE_LOCALE_COLLATE) +#define Perl_mem_collxfrm CPerlObj::Perl_mem_collxfrm +#define mem_collxfrm Perl_mem_collxfrm +#endif +#define Perl_mess CPerlObj::Perl_mess +#define mess Perl_mess +#define Perl_vmess CPerlObj::Perl_vmess +#define vmess Perl_vmess +#define Perl_qerror CPerlObj::Perl_qerror +#define qerror Perl_qerror +#define Perl_mg_clear CPerlObj::Perl_mg_clear +#define mg_clear Perl_mg_clear +#define Perl_mg_copy CPerlObj::Perl_mg_copy +#define mg_copy Perl_mg_copy +#define Perl_mg_find CPerlObj::Perl_mg_find +#define mg_find Perl_mg_find +#define Perl_mg_free CPerlObj::Perl_mg_free +#define mg_free Perl_mg_free +#define Perl_mg_get CPerlObj::Perl_mg_get +#define mg_get Perl_mg_get +#define Perl_mg_length CPerlObj::Perl_mg_length +#define mg_length Perl_mg_length +#define Perl_mg_magical CPerlObj::Perl_mg_magical +#define mg_magical Perl_mg_magical +#define Perl_mg_set CPerlObj::Perl_mg_set +#define mg_set Perl_mg_set +#define Perl_mg_size CPerlObj::Perl_mg_size +#define mg_size Perl_mg_size +#define Perl_mod CPerlObj::Perl_mod +#define mod Perl_mod +#define Perl_mode_from_discipline CPerlObj::Perl_mode_from_discipline +#define mode_from_discipline Perl_mode_from_discipline +#define Perl_moreswitches CPerlObj::Perl_moreswitches +#define moreswitches Perl_moreswitches +#define Perl_my CPerlObj::Perl_my +#define my Perl_my +#define Perl_my_atof CPerlObj::Perl_my_atof +#define my_atof Perl_my_atof +#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) +#define Perl_my_bcopy CPerlObj::Perl_my_bcopy +#define my_bcopy Perl_my_bcopy +#endif +#if !defined(HAS_BZERO) && !defined(HAS_MEMSET) +#define Perl_my_bzero CPerlObj::Perl_my_bzero +#define my_bzero Perl_my_bzero +#endif +#define Perl_my_exit CPerlObj::Perl_my_exit +#define my_exit Perl_my_exit +#define Perl_my_failure_exit CPerlObj::Perl_my_failure_exit +#define my_failure_exit Perl_my_failure_exit +#define Perl_my_fflush_all CPerlObj::Perl_my_fflush_all +#define my_fflush_all Perl_my_fflush_all +#define Perl_my_lstat CPerlObj::Perl_my_lstat +#define my_lstat Perl_my_lstat +#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) +#define Perl_my_memcmp CPerlObj::Perl_my_memcmp +#define my_memcmp Perl_my_memcmp +#endif +#if !defined(HAS_MEMSET) +#define Perl_my_memset CPerlObj::Perl_my_memset +#define my_memset Perl_my_memset +#endif +#if !defined(PERL_OBJECT) +#define Perl_my_pclose CPerlObj::Perl_my_pclose +#define my_pclose Perl_my_pclose +#define Perl_my_popen CPerlObj::Perl_my_popen +#define my_popen Perl_my_popen +#endif +#define Perl_my_setenv CPerlObj::Perl_my_setenv +#define my_setenv Perl_my_setenv +#define Perl_my_stat CPerlObj::Perl_my_stat +#define my_stat Perl_my_stat +#if defined(MYSWAP) +#define Perl_my_swap CPerlObj::Perl_my_swap +#define my_swap Perl_my_swap +#define Perl_my_htonl CPerlObj::Perl_my_htonl +#define my_htonl Perl_my_htonl +#define Perl_my_ntohl CPerlObj::Perl_my_ntohl +#define my_ntohl Perl_my_ntohl +#endif +#define Perl_my_unexec CPerlObj::Perl_my_unexec +#define my_unexec Perl_my_unexec +#define Perl_newANONLIST CPerlObj::Perl_newANONLIST +#define newANONLIST Perl_newANONLIST +#define Perl_newANONHASH CPerlObj::Perl_newANONHASH +#define newANONHASH Perl_newANONHASH +#define Perl_newANONSUB CPerlObj::Perl_newANONSUB +#define newANONSUB Perl_newANONSUB +#define Perl_newASSIGNOP CPerlObj::Perl_newASSIGNOP +#define newASSIGNOP Perl_newASSIGNOP +#define Perl_newCONDOP CPerlObj::Perl_newCONDOP +#define newCONDOP Perl_newCONDOP +#define Perl_newCONSTSUB CPerlObj::Perl_newCONSTSUB +#define newCONSTSUB Perl_newCONSTSUB +#define Perl_newFORM CPerlObj::Perl_newFORM +#define newFORM Perl_newFORM +#define Perl_newFOROP CPerlObj::Perl_newFOROP +#define newFOROP Perl_newFOROP +#define Perl_newLOGOP CPerlObj::Perl_newLOGOP +#define newLOGOP Perl_newLOGOP +#define Perl_newLOOPEX CPerlObj::Perl_newLOOPEX +#define newLOOPEX Perl_newLOOPEX +#define Perl_newLOOPOP CPerlObj::Perl_newLOOPOP +#define newLOOPOP Perl_newLOOPOP +#define Perl_newNULLLIST CPerlObj::Perl_newNULLLIST +#define newNULLLIST Perl_newNULLLIST +#define Perl_newOP CPerlObj::Perl_newOP +#define newOP Perl_newOP +#define Perl_newPROG CPerlObj::Perl_newPROG +#define newPROG Perl_newPROG +#define Perl_newRANGE CPerlObj::Perl_newRANGE +#define newRANGE Perl_newRANGE +#define Perl_newSLICEOP CPerlObj::Perl_newSLICEOP +#define newSLICEOP Perl_newSLICEOP +#define Perl_newSTATEOP CPerlObj::Perl_newSTATEOP +#define newSTATEOP Perl_newSTATEOP +#define Perl_newSUB CPerlObj::Perl_newSUB +#define newSUB Perl_newSUB +#define Perl_newXS CPerlObj::Perl_newXS +#define newXS Perl_newXS +#define Perl_newAV CPerlObj::Perl_newAV +#define newAV Perl_newAV +#define Perl_newAVREF CPerlObj::Perl_newAVREF +#define newAVREF Perl_newAVREF +#define Perl_newBINOP CPerlObj::Perl_newBINOP +#define newBINOP Perl_newBINOP +#define Perl_newCVREF CPerlObj::Perl_newCVREF +#define newCVREF Perl_newCVREF +#define Perl_newGVOP CPerlObj::Perl_newGVOP +#define newGVOP Perl_newGVOP +#define Perl_newGVgen CPerlObj::Perl_newGVgen +#define newGVgen Perl_newGVgen +#define Perl_newGVREF CPerlObj::Perl_newGVREF +#define newGVREF Perl_newGVREF +#define Perl_newHVREF CPerlObj::Perl_newHVREF +#define newHVREF Perl_newHVREF +#define Perl_newHV CPerlObj::Perl_newHV +#define newHV Perl_newHV +#define Perl_newHVhv CPerlObj::Perl_newHVhv +#define newHVhv Perl_newHVhv +#define Perl_newIO CPerlObj::Perl_newIO +#define newIO Perl_newIO +#define Perl_newLISTOP CPerlObj::Perl_newLISTOP +#define newLISTOP Perl_newLISTOP +#define Perl_newPADOP CPerlObj::Perl_newPADOP +#define newPADOP Perl_newPADOP +#define Perl_newPMOP CPerlObj::Perl_newPMOP +#define newPMOP Perl_newPMOP +#define Perl_newPVOP CPerlObj::Perl_newPVOP +#define newPVOP Perl_newPVOP +#define Perl_newRV CPerlObj::Perl_newRV +#define newRV Perl_newRV +#define Perl_newRV_noinc CPerlObj::Perl_newRV_noinc +#define newRV_noinc Perl_newRV_noinc +#define Perl_newSV CPerlObj::Perl_newSV +#define newSV Perl_newSV +#define Perl_newSVREF CPerlObj::Perl_newSVREF +#define newSVREF Perl_newSVREF +#define Perl_newSVOP CPerlObj::Perl_newSVOP +#define newSVOP Perl_newSVOP +#define Perl_newSViv CPerlObj::Perl_newSViv +#define newSViv Perl_newSViv +#define Perl_newSVuv CPerlObj::Perl_newSVuv +#define newSVuv Perl_newSVuv +#define Perl_newSVnv CPerlObj::Perl_newSVnv +#define newSVnv Perl_newSVnv +#define Perl_newSVpv CPerlObj::Perl_newSVpv +#define newSVpv Perl_newSVpv +#define Perl_newSVpvn CPerlObj::Perl_newSVpvn +#define newSVpvn Perl_newSVpvn +#define Perl_newSVpvf CPerlObj::Perl_newSVpvf +#define newSVpvf Perl_newSVpvf +#define Perl_vnewSVpvf CPerlObj::Perl_vnewSVpvf +#define vnewSVpvf Perl_vnewSVpvf +#define Perl_newSVrv CPerlObj::Perl_newSVrv +#define newSVrv Perl_newSVrv +#define Perl_newSVsv CPerlObj::Perl_newSVsv +#define newSVsv Perl_newSVsv +#define Perl_newUNOP CPerlObj::Perl_newUNOP +#define newUNOP Perl_newUNOP +#define Perl_newWHILEOP CPerlObj::Perl_newWHILEOP +#define newWHILEOP Perl_newWHILEOP +#define Perl_new_stackinfo CPerlObj::Perl_new_stackinfo +#define new_stackinfo Perl_new_stackinfo +#define Perl_nextargv CPerlObj::Perl_nextargv +#define nextargv Perl_nextargv +#define Perl_ninstr CPerlObj::Perl_ninstr +#define ninstr Perl_ninstr +#define Perl_oopsCV CPerlObj::Perl_oopsCV +#define oopsCV Perl_oopsCV +#define Perl_op_free CPerlObj::Perl_op_free +#define op_free Perl_op_free +#define Perl_package CPerlObj::Perl_package +#define package Perl_package +#define Perl_pad_alloc CPerlObj::Perl_pad_alloc +#define pad_alloc Perl_pad_alloc +#define Perl_pad_allocmy CPerlObj::Perl_pad_allocmy +#define pad_allocmy Perl_pad_allocmy +#define Perl_pad_findmy CPerlObj::Perl_pad_findmy +#define pad_findmy Perl_pad_findmy +#define Perl_oopsAV CPerlObj::Perl_oopsAV +#define oopsAV Perl_oopsAV +#define Perl_oopsHV CPerlObj::Perl_oopsHV +#define oopsHV Perl_oopsHV +#define Perl_pad_leavemy CPerlObj::Perl_pad_leavemy +#define pad_leavemy Perl_pad_leavemy +#define Perl_pad_sv CPerlObj::Perl_pad_sv +#define pad_sv Perl_pad_sv +#define Perl_pad_free CPerlObj::Perl_pad_free +#define pad_free Perl_pad_free +#define Perl_pad_reset CPerlObj::Perl_pad_reset +#define pad_reset Perl_pad_reset +#define Perl_pad_swipe CPerlObj::Perl_pad_swipe +#define pad_swipe Perl_pad_swipe +#define Perl_peep CPerlObj::Perl_peep +#define peep Perl_peep +#if defined(PERL_OBJECT) +#define Perl_construct CPerlObj::Perl_construct +#define Perl_destruct CPerlObj::Perl_destruct +#define Perl_free CPerlObj::Perl_free +#define Perl_run CPerlObj::Perl_run +#define Perl_parse CPerlObj::Perl_parse +#endif +#if defined(USE_THREADS) +#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread +#define new_struct_thread Perl_new_struct_thread +#endif +#define Perl_call_atexit CPerlObj::Perl_call_atexit +#define call_atexit Perl_call_atexit +#define Perl_call_argv CPerlObj::Perl_call_argv +#define call_argv Perl_call_argv +#define Perl_call_method CPerlObj::Perl_call_method +#define call_method Perl_call_method +#define Perl_call_pv CPerlObj::Perl_call_pv +#define call_pv Perl_call_pv +#define Perl_call_sv CPerlObj::Perl_call_sv +#define call_sv Perl_call_sv +#define Perl_eval_pv CPerlObj::Perl_eval_pv +#define eval_pv Perl_eval_pv +#define Perl_eval_sv CPerlObj::Perl_eval_sv +#define eval_sv Perl_eval_sv +#define Perl_get_sv CPerlObj::Perl_get_sv +#define get_sv Perl_get_sv +#define Perl_get_av CPerlObj::Perl_get_av +#define get_av Perl_get_av +#define Perl_get_hv CPerlObj::Perl_get_hv +#define get_hv Perl_get_hv +#define Perl_get_cv CPerlObj::Perl_get_cv +#define get_cv Perl_get_cv +#define Perl_init_i18nl10n CPerlObj::Perl_init_i18nl10n +#define init_i18nl10n Perl_init_i18nl10n +#define Perl_init_i18nl14n CPerlObj::Perl_init_i18nl14n +#define init_i18nl14n Perl_init_i18nl14n +#define Perl_new_collate CPerlObj::Perl_new_collate +#define new_collate Perl_new_collate +#define Perl_new_ctype CPerlObj::Perl_new_ctype +#define new_ctype Perl_new_ctype +#define Perl_new_numeric CPerlObj::Perl_new_numeric +#define new_numeric Perl_new_numeric +#define Perl_set_numeric_local CPerlObj::Perl_set_numeric_local +#define set_numeric_local Perl_set_numeric_local +#define Perl_set_numeric_radix CPerlObj::Perl_set_numeric_radix +#define set_numeric_radix Perl_set_numeric_radix +#define Perl_set_numeric_standard CPerlObj::Perl_set_numeric_standard +#define set_numeric_standard Perl_set_numeric_standard +#define Perl_require_pv CPerlObj::Perl_require_pv +#define require_pv Perl_require_pv +#define Perl_pidgone CPerlObj::Perl_pidgone +#define pidgone Perl_pidgone +#define Perl_pmflag CPerlObj::Perl_pmflag +#define pmflag Perl_pmflag +#define Perl_pmruntime CPerlObj::Perl_pmruntime +#define pmruntime Perl_pmruntime +#define Perl_pmtrans CPerlObj::Perl_pmtrans +#define pmtrans Perl_pmtrans +#define Perl_pop_return CPerlObj::Perl_pop_return +#define pop_return Perl_pop_return +#define Perl_pop_scope CPerlObj::Perl_pop_scope +#define pop_scope Perl_pop_scope +#define Perl_prepend_elem CPerlObj::Perl_prepend_elem +#define prepend_elem Perl_prepend_elem +#define Perl_push_return CPerlObj::Perl_push_return +#define push_return Perl_push_return +#define Perl_push_scope CPerlObj::Perl_push_scope +#define push_scope Perl_push_scope +#define Perl_ref CPerlObj::Perl_ref +#define ref Perl_ref +#define Perl_refkids CPerlObj::Perl_refkids +#define refkids Perl_refkids +#define Perl_regdump CPerlObj::Perl_regdump +#define regdump Perl_regdump +#define Perl_pregexec CPerlObj::Perl_pregexec +#define pregexec Perl_pregexec +#define Perl_pregfree CPerlObj::Perl_pregfree +#define pregfree Perl_pregfree +#define Perl_pregcomp CPerlObj::Perl_pregcomp +#define pregcomp Perl_pregcomp +#define Perl_re_intuit_start CPerlObj::Perl_re_intuit_start +#define re_intuit_start Perl_re_intuit_start +#define Perl_re_intuit_string CPerlObj::Perl_re_intuit_string +#define re_intuit_string Perl_re_intuit_string +#define Perl_regexec_flags CPerlObj::Perl_regexec_flags +#define regexec_flags Perl_regexec_flags +#define Perl_regnext CPerlObj::Perl_regnext +#define regnext Perl_regnext +#define Perl_regprop CPerlObj::Perl_regprop +#define regprop Perl_regprop +#define Perl_repeatcpy CPerlObj::Perl_repeatcpy +#define repeatcpy Perl_repeatcpy +#define Perl_rninstr CPerlObj::Perl_rninstr +#define rninstr Perl_rninstr +#define Perl_rsignal CPerlObj::Perl_rsignal +#define rsignal Perl_rsignal +#define Perl_rsignal_restore CPerlObj::Perl_rsignal_restore +#define rsignal_restore Perl_rsignal_restore +#define Perl_rsignal_save CPerlObj::Perl_rsignal_save +#define rsignal_save Perl_rsignal_save +#define Perl_rsignal_state CPerlObj::Perl_rsignal_state +#define rsignal_state Perl_rsignal_state +#define Perl_rxres_free CPerlObj::Perl_rxres_free +#define rxres_free Perl_rxres_free +#define Perl_rxres_restore CPerlObj::Perl_rxres_restore +#define rxres_restore Perl_rxres_restore +#define Perl_rxres_save CPerlObj::Perl_rxres_save +#define rxres_save Perl_rxres_save +#if !defined(HAS_RENAME) +#define Perl_same_dirent CPerlObj::Perl_same_dirent +#define same_dirent Perl_same_dirent +#endif +#define Perl_savepv CPerlObj::Perl_savepv +#define savepv Perl_savepv +#define Perl_savepvn CPerlObj::Perl_savepvn +#define savepvn Perl_savepvn +#define Perl_savestack_grow CPerlObj::Perl_savestack_grow +#define savestack_grow Perl_savestack_grow +#define Perl_save_aelem CPerlObj::Perl_save_aelem +#define save_aelem Perl_save_aelem +#define Perl_save_alloc CPerlObj::Perl_save_alloc +#define save_alloc Perl_save_alloc +#define Perl_save_aptr CPerlObj::Perl_save_aptr +#define save_aptr Perl_save_aptr +#define Perl_save_ary CPerlObj::Perl_save_ary +#define save_ary Perl_save_ary +#define Perl_save_clearsv CPerlObj::Perl_save_clearsv +#define save_clearsv Perl_save_clearsv +#define Perl_save_delete CPerlObj::Perl_save_delete +#define save_delete Perl_save_delete +#define Perl_save_destructor CPerlObj::Perl_save_destructor +#define save_destructor Perl_save_destructor +#define Perl_save_destructor_x CPerlObj::Perl_save_destructor_x +#define save_destructor_x Perl_save_destructor_x +#define Perl_save_freesv CPerlObj::Perl_save_freesv +#define save_freesv Perl_save_freesv +#define Perl_save_freeop CPerlObj::Perl_save_freeop +#define save_freeop Perl_save_freeop +#define Perl_save_freepv CPerlObj::Perl_save_freepv +#define save_freepv Perl_save_freepv +#define Perl_save_generic_svref CPerlObj::Perl_save_generic_svref +#define save_generic_svref Perl_save_generic_svref +#define Perl_save_gp CPerlObj::Perl_save_gp +#define save_gp Perl_save_gp +#define Perl_save_hash CPerlObj::Perl_save_hash +#define save_hash Perl_save_hash +#define Perl_save_helem CPerlObj::Perl_save_helem +#define save_helem Perl_save_helem +#define Perl_save_hints CPerlObj::Perl_save_hints +#define save_hints Perl_save_hints +#define Perl_save_hptr CPerlObj::Perl_save_hptr +#define save_hptr Perl_save_hptr +#define Perl_save_I16 CPerlObj::Perl_save_I16 +#define save_I16 Perl_save_I16 +#define Perl_save_I32 CPerlObj::Perl_save_I32 +#define save_I32 Perl_save_I32 +#define Perl_save_I8 CPerlObj::Perl_save_I8 +#define save_I8 Perl_save_I8 +#define Perl_save_int CPerlObj::Perl_save_int +#define save_int Perl_save_int +#define Perl_save_item CPerlObj::Perl_save_item +#define save_item Perl_save_item +#define Perl_save_iv CPerlObj::Perl_save_iv +#define save_iv Perl_save_iv +#define Perl_save_list CPerlObj::Perl_save_list +#define save_list Perl_save_list +#define Perl_save_long CPerlObj::Perl_save_long +#define save_long Perl_save_long +#define Perl_save_nogv CPerlObj::Perl_save_nogv +#define save_nogv Perl_save_nogv +#define Perl_save_op CPerlObj::Perl_save_op +#define save_op Perl_save_op +#define Perl_save_scalar CPerlObj::Perl_save_scalar +#define save_scalar Perl_save_scalar +#define Perl_save_pptr CPerlObj::Perl_save_pptr +#define save_pptr Perl_save_pptr +#define Perl_save_vptr CPerlObj::Perl_save_vptr +#define save_vptr Perl_save_vptr +#define Perl_save_re_context CPerlObj::Perl_save_re_context +#define save_re_context Perl_save_re_context +#define Perl_save_sptr CPerlObj::Perl_save_sptr +#define save_sptr Perl_save_sptr +#define Perl_save_svref CPerlObj::Perl_save_svref +#define save_svref Perl_save_svref +#define Perl_save_threadsv CPerlObj::Perl_save_threadsv +#define save_threadsv Perl_save_threadsv +#define Perl_sawparens CPerlObj::Perl_sawparens +#define sawparens Perl_sawparens +#define Perl_scalar CPerlObj::Perl_scalar +#define scalar Perl_scalar +#define Perl_scalarkids CPerlObj::Perl_scalarkids +#define scalarkids Perl_scalarkids +#define Perl_scalarseq CPerlObj::Perl_scalarseq +#define scalarseq Perl_scalarseq +#define Perl_scalarvoid CPerlObj::Perl_scalarvoid +#define scalarvoid Perl_scalarvoid +#define Perl_scan_bin CPerlObj::Perl_scan_bin +#define scan_bin Perl_scan_bin +#define Perl_scan_hex CPerlObj::Perl_scan_hex +#define scan_hex Perl_scan_hex +#define Perl_scan_num CPerlObj::Perl_scan_num +#define scan_num Perl_scan_num +#define Perl_scan_oct CPerlObj::Perl_scan_oct +#define scan_oct Perl_scan_oct +#define Perl_scope CPerlObj::Perl_scope +#define scope Perl_scope +#define Perl_screaminstr CPerlObj::Perl_screaminstr +#define screaminstr Perl_screaminstr +#if !defined(VMS) +#define Perl_setenv_getix CPerlObj::Perl_setenv_getix +#define setenv_getix Perl_setenv_getix +#endif +#define Perl_setdefout CPerlObj::Perl_setdefout +#define setdefout Perl_setdefout +#define Perl_sharepvn CPerlObj::Perl_sharepvn +#define sharepvn Perl_sharepvn +#define Perl_share_hek CPerlObj::Perl_share_hek +#define share_hek Perl_share_hek +#define Perl_sighandler CPerlObj::Perl_sighandler +#define sighandler Perl_sighandler +#define Perl_stack_grow CPerlObj::Perl_stack_grow +#define stack_grow Perl_stack_grow +#define Perl_start_subparse CPerlObj::Perl_start_subparse +#define start_subparse Perl_start_subparse +#define Perl_sub_crush_depth CPerlObj::Perl_sub_crush_depth +#define sub_crush_depth Perl_sub_crush_depth +#define Perl_sv_2bool CPerlObj::Perl_sv_2bool +#define sv_2bool Perl_sv_2bool +#define Perl_sv_2cv CPerlObj::Perl_sv_2cv +#define sv_2cv Perl_sv_2cv +#define Perl_sv_2io CPerlObj::Perl_sv_2io +#define sv_2io Perl_sv_2io +#define Perl_sv_2iv CPerlObj::Perl_sv_2iv +#define sv_2iv Perl_sv_2iv +#define Perl_sv_2mortal CPerlObj::Perl_sv_2mortal +#define sv_2mortal Perl_sv_2mortal +#define Perl_sv_2nv CPerlObj::Perl_sv_2nv +#define sv_2nv Perl_sv_2nv +#define Perl_sv_2pv CPerlObj::Perl_sv_2pv +#define sv_2pv Perl_sv_2pv +#define Perl_sv_2pvutf8 CPerlObj::Perl_sv_2pvutf8 +#define sv_2pvutf8 Perl_sv_2pvutf8 +#define Perl_sv_2pvbyte CPerlObj::Perl_sv_2pvbyte +#define sv_2pvbyte Perl_sv_2pvbyte +#define Perl_sv_2uv CPerlObj::Perl_sv_2uv +#define sv_2uv Perl_sv_2uv +#define Perl_sv_iv CPerlObj::Perl_sv_iv +#define sv_iv Perl_sv_iv +#define Perl_sv_uv CPerlObj::Perl_sv_uv +#define sv_uv Perl_sv_uv +#define Perl_sv_nv CPerlObj::Perl_sv_nv +#define sv_nv Perl_sv_nv +#define Perl_sv_pvn CPerlObj::Perl_sv_pvn +#define sv_pvn Perl_sv_pvn +#define Perl_sv_pvutf8n CPerlObj::Perl_sv_pvutf8n +#define sv_pvutf8n Perl_sv_pvutf8n +#define Perl_sv_pvbyten CPerlObj::Perl_sv_pvbyten +#define sv_pvbyten Perl_sv_pvbyten +#define Perl_sv_true CPerlObj::Perl_sv_true +#define sv_true Perl_sv_true +#define Perl_sv_add_arena CPerlObj::Perl_sv_add_arena +#define sv_add_arena Perl_sv_add_arena +#define Perl_sv_backoff CPerlObj::Perl_sv_backoff +#define sv_backoff Perl_sv_backoff +#define Perl_sv_bless CPerlObj::Perl_sv_bless +#define sv_bless Perl_sv_bless +#define Perl_sv_catpvf CPerlObj::Perl_sv_catpvf +#define sv_catpvf Perl_sv_catpvf +#define Perl_sv_vcatpvf CPerlObj::Perl_sv_vcatpvf +#define sv_vcatpvf Perl_sv_vcatpvf +#define Perl_sv_catpv CPerlObj::Perl_sv_catpv +#define sv_catpv Perl_sv_catpv +#define Perl_sv_catpvn CPerlObj::Perl_sv_catpvn +#define sv_catpvn Perl_sv_catpvn +#define Perl_sv_catsv CPerlObj::Perl_sv_catsv +#define sv_catsv Perl_sv_catsv +#define Perl_sv_chop CPerlObj::Perl_sv_chop +#define sv_chop Perl_sv_chop +#define Perl_sv_clean_all CPerlObj::Perl_sv_clean_all +#define sv_clean_all Perl_sv_clean_all +#define Perl_sv_clean_objs CPerlObj::Perl_sv_clean_objs +#define sv_clean_objs Perl_sv_clean_objs +#define Perl_sv_clear CPerlObj::Perl_sv_clear +#define sv_clear Perl_sv_clear +#define Perl_sv_cmp CPerlObj::Perl_sv_cmp +#define sv_cmp Perl_sv_cmp +#define Perl_sv_cmp_locale CPerlObj::Perl_sv_cmp_locale +#define sv_cmp_locale Perl_sv_cmp_locale +#if defined(USE_LOCALE_COLLATE) +#define Perl_sv_collxfrm CPerlObj::Perl_sv_collxfrm +#define sv_collxfrm Perl_sv_collxfrm +#endif +#define Perl_sv_compile_2op CPerlObj::Perl_sv_compile_2op +#define sv_compile_2op Perl_sv_compile_2op +#define Perl_sv_dec CPerlObj::Perl_sv_dec +#define sv_dec Perl_sv_dec +#define Perl_sv_dump CPerlObj::Perl_sv_dump +#define sv_dump Perl_sv_dump +#define Perl_sv_derived_from CPerlObj::Perl_sv_derived_from +#define sv_derived_from Perl_sv_derived_from +#define Perl_sv_eq CPerlObj::Perl_sv_eq +#define sv_eq Perl_sv_eq +#define Perl_sv_free CPerlObj::Perl_sv_free +#define sv_free Perl_sv_free +#define Perl_sv_free_arenas CPerlObj::Perl_sv_free_arenas +#define sv_free_arenas Perl_sv_free_arenas +#define Perl_sv_gets CPerlObj::Perl_sv_gets +#define sv_gets Perl_sv_gets +#define Perl_sv_grow CPerlObj::Perl_sv_grow +#define sv_grow Perl_sv_grow +#define Perl_sv_inc CPerlObj::Perl_sv_inc +#define sv_inc Perl_sv_inc +#define Perl_sv_insert CPerlObj::Perl_sv_insert +#define sv_insert Perl_sv_insert +#define Perl_sv_isa CPerlObj::Perl_sv_isa +#define sv_isa Perl_sv_isa +#define Perl_sv_isobject CPerlObj::Perl_sv_isobject +#define sv_isobject Perl_sv_isobject +#define Perl_sv_len CPerlObj::Perl_sv_len +#define sv_len Perl_sv_len +#define Perl_sv_len_utf8 CPerlObj::Perl_sv_len_utf8 +#define sv_len_utf8 Perl_sv_len_utf8 +#define Perl_sv_magic CPerlObj::Perl_sv_magic +#define sv_magic Perl_sv_magic +#define Perl_sv_mortalcopy CPerlObj::Perl_sv_mortalcopy +#define sv_mortalcopy Perl_sv_mortalcopy +#define Perl_sv_newmortal CPerlObj::Perl_sv_newmortal +#define sv_newmortal Perl_sv_newmortal +#define Perl_sv_newref CPerlObj::Perl_sv_newref +#define sv_newref Perl_sv_newref +#define Perl_sv_peek CPerlObj::Perl_sv_peek +#define sv_peek Perl_sv_peek +#define Perl_sv_pos_u2b CPerlObj::Perl_sv_pos_u2b +#define sv_pos_u2b Perl_sv_pos_u2b +#define Perl_sv_pos_b2u CPerlObj::Perl_sv_pos_b2u +#define sv_pos_b2u Perl_sv_pos_b2u +#define Perl_sv_pvn_force CPerlObj::Perl_sv_pvn_force +#define sv_pvn_force Perl_sv_pvn_force +#define Perl_sv_pvutf8n_force CPerlObj::Perl_sv_pvutf8n_force +#define sv_pvutf8n_force Perl_sv_pvutf8n_force +#define Perl_sv_pvbyten_force CPerlObj::Perl_sv_pvbyten_force +#define sv_pvbyten_force Perl_sv_pvbyten_force +#define Perl_sv_reftype CPerlObj::Perl_sv_reftype +#define sv_reftype Perl_sv_reftype +#define Perl_sv_replace CPerlObj::Perl_sv_replace +#define sv_replace Perl_sv_replace +#define Perl_sv_report_used CPerlObj::Perl_sv_report_used +#define sv_report_used Perl_sv_report_used +#define Perl_sv_reset CPerlObj::Perl_sv_reset +#define sv_reset Perl_sv_reset +#define Perl_sv_setpvf CPerlObj::Perl_sv_setpvf +#define sv_setpvf Perl_sv_setpvf +#define Perl_sv_vsetpvf CPerlObj::Perl_sv_vsetpvf +#define sv_vsetpvf Perl_sv_vsetpvf +#define Perl_sv_setiv CPerlObj::Perl_sv_setiv +#define sv_setiv Perl_sv_setiv +#define Perl_sv_setpviv CPerlObj::Perl_sv_setpviv +#define sv_setpviv Perl_sv_setpviv +#define Perl_sv_setuv CPerlObj::Perl_sv_setuv +#define sv_setuv Perl_sv_setuv +#define Perl_sv_setnv CPerlObj::Perl_sv_setnv +#define sv_setnv Perl_sv_setnv +#define Perl_sv_setref_iv CPerlObj::Perl_sv_setref_iv +#define sv_setref_iv Perl_sv_setref_iv +#define Perl_sv_setref_nv CPerlObj::Perl_sv_setref_nv +#define sv_setref_nv Perl_sv_setref_nv +#define Perl_sv_setref_pv CPerlObj::Perl_sv_setref_pv +#define sv_setref_pv Perl_sv_setref_pv +#define Perl_sv_setref_pvn CPerlObj::Perl_sv_setref_pvn +#define sv_setref_pvn Perl_sv_setref_pvn +#define Perl_sv_setpv CPerlObj::Perl_sv_setpv +#define sv_setpv Perl_sv_setpv +#define Perl_sv_setpvn CPerlObj::Perl_sv_setpvn +#define sv_setpvn Perl_sv_setpvn +#define Perl_sv_setsv CPerlObj::Perl_sv_setsv +#define sv_setsv Perl_sv_setsv +#define Perl_sv_taint CPerlObj::Perl_sv_taint +#define sv_taint Perl_sv_taint +#define Perl_sv_tainted CPerlObj::Perl_sv_tainted +#define sv_tainted Perl_sv_tainted +#define Perl_sv_unmagic CPerlObj::Perl_sv_unmagic +#define sv_unmagic Perl_sv_unmagic +#define Perl_sv_unref CPerlObj::Perl_sv_unref +#define sv_unref Perl_sv_unref +#define Perl_sv_untaint CPerlObj::Perl_sv_untaint +#define sv_untaint Perl_sv_untaint +#define Perl_sv_upgrade CPerlObj::Perl_sv_upgrade +#define sv_upgrade Perl_sv_upgrade +#define Perl_sv_usepvn CPerlObj::Perl_sv_usepvn +#define sv_usepvn Perl_sv_usepvn +#define Perl_sv_vcatpvfn CPerlObj::Perl_sv_vcatpvfn +#define sv_vcatpvfn Perl_sv_vcatpvfn +#define Perl_sv_vsetpvfn CPerlObj::Perl_sv_vsetpvfn +#define sv_vsetpvfn Perl_sv_vsetpvfn +#define Perl_str_to_version CPerlObj::Perl_str_to_version +#define str_to_version Perl_str_to_version +#define Perl_swash_init CPerlObj::Perl_swash_init +#define swash_init Perl_swash_init +#define Perl_swash_fetch CPerlObj::Perl_swash_fetch +#define swash_fetch Perl_swash_fetch +#define Perl_taint_env CPerlObj::Perl_taint_env +#define taint_env Perl_taint_env +#define Perl_taint_proper CPerlObj::Perl_taint_proper +#define taint_proper Perl_taint_proper +#define Perl_to_utf8_lower CPerlObj::Perl_to_utf8_lower +#define to_utf8_lower Perl_to_utf8_lower +#define Perl_to_utf8_upper CPerlObj::Perl_to_utf8_upper +#define to_utf8_upper Perl_to_utf8_upper +#define Perl_to_utf8_title CPerlObj::Perl_to_utf8_title +#define to_utf8_title Perl_to_utf8_title +#if defined(UNLINK_ALL_VERSIONS) +#define Perl_unlnk CPerlObj::Perl_unlnk +#define unlnk Perl_unlnk +#endif +#if defined(USE_THREADS) +#define Perl_unlock_condpair CPerlObj::Perl_unlock_condpair +#define unlock_condpair Perl_unlock_condpair +#endif +#define Perl_unsharepvn CPerlObj::Perl_unsharepvn +#define unsharepvn Perl_unsharepvn +#define Perl_unshare_hek CPerlObj::Perl_unshare_hek +#define unshare_hek Perl_unshare_hek +#define Perl_utilize CPerlObj::Perl_utilize +#define utilize Perl_utilize +#define Perl_utf16_to_utf8 CPerlObj::Perl_utf16_to_utf8 +#define utf16_to_utf8 Perl_utf16_to_utf8 +#define Perl_utf16_to_utf8_reversed CPerlObj::Perl_utf16_to_utf8_reversed +#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed +#define Perl_utf8_distance CPerlObj::Perl_utf8_distance +#define utf8_distance Perl_utf8_distance +#define Perl_utf8_hop CPerlObj::Perl_utf8_hop +#define utf8_hop Perl_utf8_hop +#define Perl_utf8_to_uv CPerlObj::Perl_utf8_to_uv +#define utf8_to_uv Perl_utf8_to_uv +#define Perl_uv_to_utf8 CPerlObj::Perl_uv_to_utf8 +#define uv_to_utf8 Perl_uv_to_utf8 +#define Perl_vivify_defelem CPerlObj::Perl_vivify_defelem +#define vivify_defelem Perl_vivify_defelem +#define Perl_vivify_ref CPerlObj::Perl_vivify_ref +#define vivify_ref Perl_vivify_ref +#define Perl_wait4pid CPerlObj::Perl_wait4pid +#define wait4pid Perl_wait4pid +#define Perl_report_closed_fh CPerlObj::Perl_report_closed_fh +#define report_closed_fh Perl_report_closed_fh +#define Perl_report_uninit CPerlObj::Perl_report_uninit +#define report_uninit Perl_report_uninit +#define Perl_warn CPerlObj::Perl_warn +#define warn Perl_warn +#define Perl_vwarn CPerlObj::Perl_vwarn +#define vwarn Perl_vwarn +#define Perl_warner CPerlObj::Perl_warner +#define warner Perl_warner +#define Perl_vwarner CPerlObj::Perl_vwarner +#define vwarner Perl_vwarner +#define Perl_watch CPerlObj::Perl_watch +#define watch Perl_watch +#define Perl_whichsig CPerlObj::Perl_whichsig +#define whichsig Perl_whichsig +#define Perl_yyerror CPerlObj::Perl_yyerror +#define yyerror Perl_yyerror +#if defined(USE_PURE_BISON) +#define Perl_yylex CPerlObj::Perl_yylex +#define yylex Perl_yylex +#else +#define Perl_yylex CPerlObj::Perl_yylex +#define yylex Perl_yylex +#endif +#define Perl_yyparse CPerlObj::Perl_yyparse +#define yyparse Perl_yyparse +#define Perl_yywarn CPerlObj::Perl_yywarn +#define yywarn Perl_yywarn +#if defined(MYMALLOC) +#define Perl_dump_mstats CPerlObj::Perl_dump_mstats +#define dump_mstats Perl_dump_mstats +#define Perl_get_mstats CPerlObj::Perl_get_mstats +#define get_mstats Perl_get_mstats +#endif +#define Perl_safesysmalloc CPerlObj::Perl_safesysmalloc +#define safesysmalloc Perl_safesysmalloc +#define Perl_safesyscalloc CPerlObj::Perl_safesyscalloc +#define safesyscalloc Perl_safesyscalloc +#define Perl_safesysrealloc CPerlObj::Perl_safesysrealloc +#define safesysrealloc Perl_safesysrealloc +#define Perl_safesysfree CPerlObj::Perl_safesysfree +#define safesysfree Perl_safesysfree +#if defined(LEAKTEST) +#define Perl_safexmalloc CPerlObj::Perl_safexmalloc +#define safexmalloc Perl_safexmalloc +#define Perl_safexcalloc CPerlObj::Perl_safexcalloc +#define safexcalloc Perl_safexcalloc +#define Perl_safexrealloc CPerlObj::Perl_safexrealloc +#define safexrealloc Perl_safexrealloc +#define Perl_safexfree CPerlObj::Perl_safexfree +#define safexfree Perl_safexfree +#endif +#if defined(PERL_GLOBAL_STRUCT) +#define Perl_GetVars CPerlObj::Perl_GetVars +#define GetVars Perl_GetVars +#endif +#define Perl_runops_standard CPerlObj::Perl_runops_standard +#define runops_standard Perl_runops_standard +#define Perl_runops_debug CPerlObj::Perl_runops_debug +#define runops_debug Perl_runops_debug +#define Perl_sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg +#define sv_catpvf_mg Perl_sv_catpvf_mg +#define Perl_sv_vcatpvf_mg CPerlObj::Perl_sv_vcatpvf_mg +#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg +#define Perl_sv_catpv_mg CPerlObj::Perl_sv_catpv_mg +#define sv_catpv_mg Perl_sv_catpv_mg +#define Perl_sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg +#define sv_catpvn_mg Perl_sv_catpvn_mg +#define Perl_sv_catsv_mg CPerlObj::Perl_sv_catsv_mg +#define sv_catsv_mg Perl_sv_catsv_mg +#define Perl_sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg +#define sv_setpvf_mg Perl_sv_setpvf_mg +#define Perl_sv_vsetpvf_mg CPerlObj::Perl_sv_vsetpvf_mg +#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg +#define Perl_sv_setiv_mg CPerlObj::Perl_sv_setiv_mg +#define sv_setiv_mg Perl_sv_setiv_mg +#define Perl_sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg +#define sv_setpviv_mg Perl_sv_setpviv_mg +#define Perl_sv_setuv_mg CPerlObj::Perl_sv_setuv_mg +#define sv_setuv_mg Perl_sv_setuv_mg +#define Perl_sv_setnv_mg CPerlObj::Perl_sv_setnv_mg +#define sv_setnv_mg Perl_sv_setnv_mg +#define Perl_sv_setpv_mg CPerlObj::Perl_sv_setpv_mg +#define sv_setpv_mg Perl_sv_setpv_mg +#define Perl_sv_setpvn_mg CPerlObj::Perl_sv_setpvn_mg +#define sv_setpvn_mg Perl_sv_setpvn_mg +#define Perl_sv_setsv_mg CPerlObj::Perl_sv_setsv_mg +#define sv_setsv_mg Perl_sv_setsv_mg +#define Perl_sv_usepvn_mg CPerlObj::Perl_sv_usepvn_mg +#define sv_usepvn_mg Perl_sv_usepvn_mg +#define Perl_get_vtbl CPerlObj::Perl_get_vtbl +#define get_vtbl Perl_get_vtbl +#define Perl_pv_display CPerlObj::Perl_pv_display +#define pv_display Perl_pv_display +#define Perl_dump_indent CPerlObj::Perl_dump_indent +#define dump_indent Perl_dump_indent +#define Perl_dump_vindent CPerlObj::Perl_dump_vindent +#define dump_vindent Perl_dump_vindent +#define Perl_do_gv_dump CPerlObj::Perl_do_gv_dump +#define do_gv_dump Perl_do_gv_dump +#define Perl_do_gvgv_dump CPerlObj::Perl_do_gvgv_dump +#define do_gvgv_dump Perl_do_gvgv_dump +#define Perl_do_hv_dump CPerlObj::Perl_do_hv_dump +#define do_hv_dump Perl_do_hv_dump +#define Perl_do_magic_dump CPerlObj::Perl_do_magic_dump +#define do_magic_dump Perl_do_magic_dump +#define Perl_do_op_dump CPerlObj::Perl_do_op_dump +#define do_op_dump Perl_do_op_dump +#define Perl_do_pmop_dump CPerlObj::Perl_do_pmop_dump +#define do_pmop_dump Perl_do_pmop_dump +#define Perl_do_sv_dump CPerlObj::Perl_do_sv_dump +#define do_sv_dump Perl_do_sv_dump +#define Perl_magic_dump CPerlObj::Perl_magic_dump +#define magic_dump Perl_magic_dump +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define Perl_default_protect CPerlObj::Perl_default_protect +#define default_protect Perl_default_protect +#define Perl_vdefault_protect CPerlObj::Perl_vdefault_protect +#define vdefault_protect Perl_vdefault_protect +#endif +#define Perl_reginitcolors CPerlObj::Perl_reginitcolors +#define reginitcolors Perl_reginitcolors +#define Perl_sv_2pv_nolen CPerlObj::Perl_sv_2pv_nolen +#define sv_2pv_nolen Perl_sv_2pv_nolen +#define Perl_sv_2pvutf8_nolen CPerlObj::Perl_sv_2pvutf8_nolen +#define sv_2pvutf8_nolen Perl_sv_2pvutf8_nolen +#define Perl_sv_2pvbyte_nolen CPerlObj::Perl_sv_2pvbyte_nolen +#define sv_2pvbyte_nolen Perl_sv_2pvbyte_nolen +#define Perl_sv_pv CPerlObj::Perl_sv_pv +#define sv_pv Perl_sv_pv +#define Perl_sv_pvutf8 CPerlObj::Perl_sv_pvutf8 +#define sv_pvutf8 Perl_sv_pvutf8 +#define Perl_sv_pvbyte CPerlObj::Perl_sv_pvbyte +#define sv_pvbyte Perl_sv_pvbyte +#define Perl_sv_utf8_upgrade CPerlObj::Perl_sv_utf8_upgrade +#define sv_utf8_upgrade Perl_sv_utf8_upgrade +#define Perl_sv_utf8_downgrade CPerlObj::Perl_sv_utf8_downgrade +#define sv_utf8_downgrade Perl_sv_utf8_downgrade +#define Perl_sv_utf8_encode CPerlObj::Perl_sv_utf8_encode +#define sv_utf8_encode Perl_sv_utf8_encode +#define Perl_sv_utf8_decode CPerlObj::Perl_sv_utf8_decode +#define sv_utf8_decode Perl_sv_utf8_decode +#define Perl_sv_force_normal CPerlObj::Perl_sv_force_normal +#define sv_force_normal Perl_sv_force_normal +#define Perl_tmps_grow CPerlObj::Perl_tmps_grow +#define tmps_grow Perl_tmps_grow +#define Perl_sv_rvweaken CPerlObj::Perl_sv_rvweaken +#define sv_rvweaken Perl_sv_rvweaken +#define Perl_magic_killbackrefs CPerlObj::Perl_magic_killbackrefs +#define magic_killbackrefs Perl_magic_killbackrefs +#define Perl_newANONATTRSUB CPerlObj::Perl_newANONATTRSUB +#define newANONATTRSUB Perl_newANONATTRSUB +#define Perl_newATTRSUB CPerlObj::Perl_newATTRSUB +#define newATTRSUB Perl_newATTRSUB +#define Perl_newMYSUB CPerlObj::Perl_newMYSUB +#define newMYSUB Perl_newMYSUB +#define Perl_my_attrs CPerlObj::Perl_my_attrs +#define my_attrs Perl_my_attrs +#define Perl_boot_core_xsutils CPerlObj::Perl_boot_core_xsutils +#define boot_core_xsutils Perl_boot_core_xsutils +#if defined(USE_ITHREADS) +#define Perl_cx_dup CPerlObj::Perl_cx_dup +#define cx_dup Perl_cx_dup +#define Perl_si_dup CPerlObj::Perl_si_dup +#define si_dup Perl_si_dup +#define Perl_ss_dup CPerlObj::Perl_ss_dup +#define ss_dup Perl_ss_dup +#define Perl_any_dup CPerlObj::Perl_any_dup +#define any_dup Perl_any_dup +#define Perl_he_dup CPerlObj::Perl_he_dup +#define he_dup Perl_he_dup +#define Perl_re_dup CPerlObj::Perl_re_dup +#define re_dup Perl_re_dup +#define Perl_fp_dup CPerlObj::Perl_fp_dup +#define fp_dup Perl_fp_dup +#define Perl_dirp_dup CPerlObj::Perl_dirp_dup +#define dirp_dup Perl_dirp_dup +#define Perl_gp_dup CPerlObj::Perl_gp_dup +#define gp_dup Perl_gp_dup +#define Perl_mg_dup CPerlObj::Perl_mg_dup +#define mg_dup Perl_mg_dup +#define Perl_sv_dup CPerlObj::Perl_sv_dup +#define sv_dup Perl_sv_dup +#if defined(HAVE_INTERP_INTERN) +#define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup +#define sys_intern_dup Perl_sys_intern_dup +#endif +#define Perl_ptr_table_new CPerlObj::Perl_ptr_table_new +#define ptr_table_new Perl_ptr_table_new +#define Perl_ptr_table_fetch CPerlObj::Perl_ptr_table_fetch +#define ptr_table_fetch Perl_ptr_table_fetch +#define Perl_ptr_table_store CPerlObj::Perl_ptr_table_store +#define ptr_table_store Perl_ptr_table_store +#define Perl_ptr_table_split CPerlObj::Perl_ptr_table_split +#define ptr_table_split Perl_ptr_table_split +#endif +#if defined(PERL_OBJECT) +#else +#endif +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) +#define S_avhv_index_sv CPerlObj::S_avhv_index_sv +#define avhv_index_sv S_avhv_index_sv +#define S_avhv_index CPerlObj::S_avhv_index +#define avhv_index S_avhv_index +#endif +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) +#define S_do_trans_CC_simple CPerlObj::S_do_trans_CC_simple +#define do_trans_CC_simple S_do_trans_CC_simple +#define S_do_trans_CC_count CPerlObj::S_do_trans_CC_count +#define do_trans_CC_count S_do_trans_CC_count +#define S_do_trans_CC_complex CPerlObj::S_do_trans_CC_complex +#define do_trans_CC_complex S_do_trans_CC_complex +#define S_do_trans_UU_simple CPerlObj::S_do_trans_UU_simple +#define do_trans_UU_simple S_do_trans_UU_simple +#define S_do_trans_UU_count CPerlObj::S_do_trans_UU_count +#define do_trans_UU_count S_do_trans_UU_count +#define S_do_trans_UU_complex CPerlObj::S_do_trans_UU_complex +#define do_trans_UU_complex S_do_trans_UU_complex +#define S_do_trans_UC_simple CPerlObj::S_do_trans_UC_simple +#define do_trans_UC_simple S_do_trans_UC_simple +#define S_do_trans_CU_simple CPerlObj::S_do_trans_CU_simple +#define do_trans_CU_simple S_do_trans_CU_simple +#define S_do_trans_UC_trivial CPerlObj::S_do_trans_UC_trivial +#define do_trans_UC_trivial S_do_trans_UC_trivial +#define S_do_trans_CU_trivial CPerlObj::S_do_trans_CU_trivial +#define do_trans_CU_trivial S_do_trans_CU_trivial +#endif +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) +#define S_gv_init_sv CPerlObj::S_gv_init_sv +#define gv_init_sv S_gv_init_sv +#endif +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) +#define S_hsplit CPerlObj::S_hsplit +#define hsplit S_hsplit +#define S_hfreeentries CPerlObj::S_hfreeentries +#define hfreeentries S_hfreeentries +#define S_more_he CPerlObj::S_more_he +#define more_he S_more_he +#define S_new_he CPerlObj::S_new_he +#define new_he S_new_he +#define S_del_he CPerlObj::S_del_he +#define del_he S_del_he +#define S_save_hek CPerlObj::S_save_hek +#define save_hek S_save_hek +#define S_hv_magic_check CPerlObj::S_hv_magic_check +#define hv_magic_check S_hv_magic_check +#endif +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) +#define S_save_magic CPerlObj::S_save_magic +#define save_magic S_save_magic +#define S_magic_methpack CPerlObj::S_magic_methpack +#define magic_methpack S_magic_methpack +#define S_magic_methcall CPerlObj::S_magic_methcall +#define magic_methcall S_magic_methcall +#endif +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) +#define S_list_assignment CPerlObj::S_list_assignment +#define list_assignment S_list_assignment +#define S_bad_type CPerlObj::S_bad_type +#define bad_type S_bad_type +#define S_cop_free CPerlObj::S_cop_free +#define cop_free S_cop_free +#define S_modkids CPerlObj::S_modkids +#define modkids S_modkids +#define S_no_bareword_allowed CPerlObj::S_no_bareword_allowed +#define no_bareword_allowed S_no_bareword_allowed +#define S_no_fh_allowed CPerlObj::S_no_fh_allowed +#define no_fh_allowed S_no_fh_allowed +#define S_scalarboolean CPerlObj::S_scalarboolean +#define scalarboolean S_scalarboolean +#define S_too_few_arguments CPerlObj::S_too_few_arguments +#define too_few_arguments S_too_few_arguments +#define S_too_many_arguments CPerlObj::S_too_many_arguments +#define too_many_arguments S_too_many_arguments +#define S_op_clear CPerlObj::S_op_clear +#define op_clear S_op_clear +#define S_null CPerlObj::S_null +#define null S_null +#define S_pad_addlex CPerlObj::S_pad_addlex +#define pad_addlex S_pad_addlex +#define S_pad_findlex CPerlObj::S_pad_findlex +#define pad_findlex S_pad_findlex +#define S_newDEFSVOP CPerlObj::S_newDEFSVOP +#define newDEFSVOP S_newDEFSVOP +#define S_new_logop CPerlObj::S_new_logop +#define new_logop S_new_logop +#define S_simplify_sort CPerlObj::S_simplify_sort +#define simplify_sort S_simplify_sort +#define S_is_handle_constructor CPerlObj::S_is_handle_constructor +#define is_handle_constructor S_is_handle_constructor +#define S_gv_ename CPerlObj::S_gv_ename +#define gv_ename S_gv_ename +#define S_cv_dump CPerlObj::S_cv_dump +#define cv_dump S_cv_dump +#define S_cv_clone2 CPerlObj::S_cv_clone2 +#define cv_clone2 S_cv_clone2 +#define S_scalar_mod_type CPerlObj::S_scalar_mod_type +#define scalar_mod_type S_scalar_mod_type +#define S_my_kid CPerlObj::S_my_kid +#define my_kid S_my_kid +#define S_dup_attrlist CPerlObj::S_dup_attrlist +#define dup_attrlist S_dup_attrlist +#define S_apply_attrs CPerlObj::S_apply_attrs +#define apply_attrs S_apply_attrs +# if defined(PL_OP_SLAB_ALLOC) +#define S_Slab_Alloc CPerlObj::S_Slab_Alloc +#define Slab_Alloc S_Slab_Alloc +# endif +#endif +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) +#define S_find_beginning CPerlObj::S_find_beginning +#define find_beginning S_find_beginning +#define S_forbid_setid CPerlObj::S_forbid_setid +#define forbid_setid S_forbid_setid +#define S_incpush CPerlObj::S_incpush +#define incpush S_incpush +#define S_init_interp CPerlObj::S_init_interp +#define init_interp S_init_interp +#define S_init_ids CPerlObj::S_init_ids +#define init_ids S_init_ids +#define S_init_lexer CPerlObj::S_init_lexer +#define init_lexer S_init_lexer +#define S_init_main_stash CPerlObj::S_init_main_stash +#define init_main_stash S_init_main_stash +#define S_init_perllib CPerlObj::S_init_perllib +#define init_perllib S_init_perllib +#define S_init_postdump_symbols CPerlObj::S_init_postdump_symbols +#define init_postdump_symbols S_init_postdump_symbols +#define S_init_predump_symbols CPerlObj::S_init_predump_symbols +#define init_predump_symbols S_init_predump_symbols +#define S_my_exit_jump CPerlObj::S_my_exit_jump +#define my_exit_jump S_my_exit_jump +#define S_nuke_stacks CPerlObj::S_nuke_stacks +#define nuke_stacks S_nuke_stacks +#define S_open_script CPerlObj::S_open_script +#define open_script S_open_script +#define S_usage CPerlObj::S_usage +#define usage S_usage +#define S_validate_suid CPerlObj::S_validate_suid +#define validate_suid S_validate_suid +# if defined(IAMSUID) +#define S_fd_on_nosuid_fs CPerlObj::S_fd_on_nosuid_fs +#define fd_on_nosuid_fs S_fd_on_nosuid_fs +# endif +#define S_parse_body CPerlObj::S_parse_body +#define parse_body S_parse_body +#define S_run_body CPerlObj::S_run_body +#define run_body S_run_body +#define S_call_body CPerlObj::S_call_body +#define call_body S_call_body +#define S_call_list_body CPerlObj::S_call_list_body +#define call_list_body S_call_list_body +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define S_vparse_body CPerlObj::S_vparse_body +#define vparse_body S_vparse_body +#define S_vrun_body CPerlObj::S_vrun_body +#define vrun_body S_vrun_body +#define S_vcall_body CPerlObj::S_vcall_body +#define vcall_body S_vcall_body +#define S_vcall_list_body CPerlObj::S_vcall_list_body +#define vcall_list_body S_vcall_list_body +#endif +# if defined(USE_THREADS) +#define S_init_main_thread CPerlObj::S_init_main_thread +#define init_main_thread S_init_main_thread +# endif +#endif +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) +#define S_doencodes CPerlObj::S_doencodes +#define doencodes S_doencodes +#define S_refto CPerlObj::S_refto +#define refto S_refto +#define S_seed CPerlObj::S_seed +#define seed S_seed +#define S_mul128 CPerlObj::S_mul128 +#define mul128 S_mul128 +#define S_is_an_int CPerlObj::S_is_an_int +#define is_an_int S_is_an_int +#define S_div128 CPerlObj::S_div128 +#define div128 S_div128 +#endif +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) +#define S_docatch CPerlObj::S_docatch +#define docatch S_docatch +#define S_docatch_body CPerlObj::S_docatch_body +#define docatch_body S_docatch_body +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +#define S_vdocatch_body CPerlObj::S_vdocatch_body +#define vdocatch_body S_vdocatch_body +#endif +#define S_dofindlabel CPerlObj::S_dofindlabel +#define dofindlabel S_dofindlabel +#define S_doparseform CPerlObj::S_doparseform +#define doparseform S_doparseform +#define S_dopoptoeval CPerlObj::S_dopoptoeval +#define dopoptoeval S_dopoptoeval +#define S_dopoptolabel CPerlObj::S_dopoptolabel +#define dopoptolabel S_dopoptolabel +#define S_dopoptoloop CPerlObj::S_dopoptoloop +#define dopoptoloop S_dopoptoloop +#define S_dopoptosub CPerlObj::S_dopoptosub +#define dopoptosub S_dopoptosub +#define S_dopoptosub_at CPerlObj::S_dopoptosub_at +#define dopoptosub_at S_dopoptosub_at +#define S_free_closures CPerlObj::S_free_closures +#define free_closures S_free_closures +#define S_save_lines CPerlObj::S_save_lines +#define save_lines S_save_lines +#define S_doeval CPerlObj::S_doeval +#define doeval S_doeval +#define S_doopen_pmc CPerlObj::S_doopen_pmc +#define doopen_pmc S_doopen_pmc +#define S_qsortsv CPerlObj::S_qsortsv +#define qsortsv S_qsortsv +#endif +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) +#define S_do_maybe_phash CPerlObj::S_do_maybe_phash +#define do_maybe_phash S_do_maybe_phash +#define S_do_oddball CPerlObj::S_do_oddball +#define do_oddball S_do_oddball +#define S_get_db_sub CPerlObj::S_get_db_sub +#define get_db_sub S_get_db_sub +#define S_method_common CPerlObj::S_method_common +#define method_common S_method_common +#endif +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) +#define S_doform CPerlObj::S_doform +#define doform S_doform +#define S_emulate_eaccess CPerlObj::S_emulate_eaccess +#define emulate_eaccess S_emulate_eaccess +# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) +#define S_dooneliner CPerlObj::S_dooneliner +#define dooneliner S_dooneliner +# endif +#endif +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) +#define S_reg CPerlObj::S_reg +#define reg S_reg +#define S_reganode CPerlObj::S_reganode +#define reganode S_reganode +#define S_regatom CPerlObj::S_regatom +#define regatom S_regatom +#define S_regbranch CPerlObj::S_regbranch +#define regbranch S_regbranch +#define S_reguni CPerlObj::S_reguni +#define reguni S_reguni +#define S_regclass CPerlObj::S_regclass +#define regclass S_regclass +#define S_regclassutf8 CPerlObj::S_regclassutf8 +#define regclassutf8 S_regclassutf8 +#define S_regcurly CPerlObj::S_regcurly +#define regcurly S_regcurly +#define S_reg_node CPerlObj::S_reg_node +#define reg_node S_reg_node +#define S_regpiece CPerlObj::S_regpiece +#define regpiece S_regpiece +#define S_reginsert CPerlObj::S_reginsert +#define reginsert S_reginsert +#define S_regoptail CPerlObj::S_regoptail +#define regoptail S_regoptail +#define S_regtail CPerlObj::S_regtail +#define regtail S_regtail +#define S_regwhite CPerlObj::S_regwhite +#define regwhite S_regwhite +#define S_nextchar CPerlObj::S_nextchar +#define nextchar S_nextchar +#define S_dumpuntil CPerlObj::S_dumpuntil +#define dumpuntil S_dumpuntil +#define S_put_byte CPerlObj::S_put_byte +#define put_byte S_put_byte +#define S_scan_commit CPerlObj::S_scan_commit +#define scan_commit S_scan_commit +#define S_cl_anything CPerlObj::S_cl_anything +#define cl_anything S_cl_anything +#define S_cl_is_anything CPerlObj::S_cl_is_anything +#define cl_is_anything S_cl_is_anything +#define S_cl_init CPerlObj::S_cl_init +#define cl_init S_cl_init +#define S_cl_init_zero CPerlObj::S_cl_init_zero +#define cl_init_zero S_cl_init_zero +#define S_cl_and CPerlObj::S_cl_and +#define cl_and S_cl_and +#define S_cl_or CPerlObj::S_cl_or +#define cl_or S_cl_or +#define S_study_chunk CPerlObj::S_study_chunk +#define study_chunk S_study_chunk +#define S_add_data CPerlObj::S_add_data +#define add_data S_add_data +#define S_re_croak2 CPerlObj::S_re_croak2 +#define re_croak2 S_re_croak2 +#define S_regpposixcc CPerlObj::S_regpposixcc +#define regpposixcc S_regpposixcc +#define S_checkposixcc CPerlObj::S_checkposixcc +#define checkposixcc S_checkposixcc +#endif +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) +#define S_regmatch CPerlObj::S_regmatch +#define regmatch S_regmatch +#define S_regrepeat CPerlObj::S_regrepeat +#define regrepeat S_regrepeat +#define S_regrepeat_hard CPerlObj::S_regrepeat_hard +#define regrepeat_hard S_regrepeat_hard +#define S_regtry CPerlObj::S_regtry +#define regtry S_regtry +#define S_reginclass CPerlObj::S_reginclass +#define reginclass S_reginclass +#define S_reginclassutf8 CPerlObj::S_reginclassutf8 +#define reginclassutf8 S_reginclassutf8 +#define S_regcppush CPerlObj::S_regcppush +#define regcppush S_regcppush +#define S_regcppop CPerlObj::S_regcppop +#define regcppop S_regcppop +#define S_regcp_set_to CPerlObj::S_regcp_set_to +#define regcp_set_to S_regcp_set_to +#define S_cache_re CPerlObj::S_cache_re +#define cache_re S_cache_re +#define S_reghop CPerlObj::S_reghop +#define reghop S_reghop +#define S_reghopmaybe CPerlObj::S_reghopmaybe +#define reghopmaybe S_reghopmaybe +#define S_find_byclass CPerlObj::S_find_byclass +#define find_byclass S_find_byclass +#endif +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) +#define S_debprof CPerlObj::S_debprof +#define debprof S_debprof +#endif +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) +#define S_save_scalar_at CPerlObj::S_save_scalar_at +#define save_scalar_at S_save_scalar_at +#endif +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) +#define S_asIV CPerlObj::S_asIV +#define asIV S_asIV +#define S_asUV CPerlObj::S_asUV +#define asUV S_asUV +#define S_more_sv CPerlObj::S_more_sv +#define more_sv S_more_sv +#define S_more_xiv CPerlObj::S_more_xiv +#define more_xiv S_more_xiv +#define S_more_xnv CPerlObj::S_more_xnv +#define more_xnv S_more_xnv +#define S_more_xpv CPerlObj::S_more_xpv +#define more_xpv S_more_xpv +#define S_more_xpviv CPerlObj::S_more_xpviv +#define more_xpviv S_more_xpviv +#define S_more_xpvnv CPerlObj::S_more_xpvnv +#define more_xpvnv S_more_xpvnv +#define S_more_xpvcv CPerlObj::S_more_xpvcv +#define more_xpvcv S_more_xpvcv +#define S_more_xpvav CPerlObj::S_more_xpvav +#define more_xpvav S_more_xpvav +#define S_more_xpvhv CPerlObj::S_more_xpvhv +#define more_xpvhv S_more_xpvhv +#define S_more_xpvmg CPerlObj::S_more_xpvmg +#define more_xpvmg S_more_xpvmg +#define S_more_xpvlv CPerlObj::S_more_xpvlv +#define more_xpvlv S_more_xpvlv +#define S_more_xpvbm CPerlObj::S_more_xpvbm +#define more_xpvbm S_more_xpvbm +#define S_more_xrv CPerlObj::S_more_xrv +#define more_xrv S_more_xrv +#define S_new_xiv CPerlObj::S_new_xiv +#define new_xiv S_new_xiv +#define S_new_xnv CPerlObj::S_new_xnv +#define new_xnv S_new_xnv +#define S_new_xpv CPerlObj::S_new_xpv +#define new_xpv S_new_xpv +#define S_new_xpviv CPerlObj::S_new_xpviv +#define new_xpviv S_new_xpviv +#define S_new_xpvnv CPerlObj::S_new_xpvnv +#define new_xpvnv S_new_xpvnv +#define S_new_xpvcv CPerlObj::S_new_xpvcv +#define new_xpvcv S_new_xpvcv +#define S_new_xpvav CPerlObj::S_new_xpvav +#define new_xpvav S_new_xpvav +#define S_new_xpvhv CPerlObj::S_new_xpvhv +#define new_xpvhv S_new_xpvhv +#define S_new_xpvmg CPerlObj::S_new_xpvmg +#define new_xpvmg S_new_xpvmg +#define S_new_xpvlv CPerlObj::S_new_xpvlv +#define new_xpvlv S_new_xpvlv +#define S_new_xpvbm CPerlObj::S_new_xpvbm +#define new_xpvbm S_new_xpvbm +#define S_new_xrv CPerlObj::S_new_xrv +#define new_xrv S_new_xrv +#define S_del_xiv CPerlObj::S_del_xiv +#define del_xiv S_del_xiv +#define S_del_xnv CPerlObj::S_del_xnv +#define del_xnv S_del_xnv +#define S_del_xpv CPerlObj::S_del_xpv +#define del_xpv S_del_xpv +#define S_del_xpviv CPerlObj::S_del_xpviv +#define del_xpviv S_del_xpviv +#define S_del_xpvnv CPerlObj::S_del_xpvnv +#define del_xpvnv S_del_xpvnv +#define S_del_xpvcv CPerlObj::S_del_xpvcv +#define del_xpvcv S_del_xpvcv +#define S_del_xpvav CPerlObj::S_del_xpvav +#define del_xpvav S_del_xpvav +#define S_del_xpvhv CPerlObj::S_del_xpvhv +#define del_xpvhv S_del_xpvhv +#define S_del_xpvmg CPerlObj::S_del_xpvmg +#define del_xpvmg S_del_xpvmg +#define S_del_xpvlv CPerlObj::S_del_xpvlv +#define del_xpvlv S_del_xpvlv +#define S_del_xpvbm CPerlObj::S_del_xpvbm +#define del_xpvbm S_del_xpvbm +#define S_del_xrv CPerlObj::S_del_xrv +#define del_xrv S_del_xrv +#define S_sv_unglob CPerlObj::S_sv_unglob +#define sv_unglob S_sv_unglob +#define S_not_a_number CPerlObj::S_not_a_number +#define not_a_number S_not_a_number +#define S_visit CPerlObj::S_visit +#define visit S_visit +#define S_sv_add_backref CPerlObj::S_sv_add_backref +#define sv_add_backref S_sv_add_backref +#define S_sv_del_backref CPerlObj::S_sv_del_backref +#define sv_del_backref S_sv_del_backref +# if defined(DEBUGGING) +#define S_del_sv CPerlObj::S_del_sv +#define del_sv S_del_sv +# endif +#endif +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) +#define S_check_uni CPerlObj::S_check_uni +#define check_uni S_check_uni +#define S_force_next CPerlObj::S_force_next +#define force_next S_force_next +#define S_force_version CPerlObj::S_force_version +#define force_version S_force_version +#define S_force_word CPerlObj::S_force_word +#define force_word S_force_word +#define S_tokeq CPerlObj::S_tokeq +#define tokeq S_tokeq +#define S_scan_const CPerlObj::S_scan_const +#define scan_const S_scan_const +#define S_scan_formline CPerlObj::S_scan_formline +#define scan_formline S_scan_formline +#define S_scan_heredoc CPerlObj::S_scan_heredoc +#define scan_heredoc S_scan_heredoc +#define S_scan_ident CPerlObj::S_scan_ident +#define scan_ident S_scan_ident +#define S_scan_inputsymbol CPerlObj::S_scan_inputsymbol +#define scan_inputsymbol S_scan_inputsymbol +#define S_scan_pat CPerlObj::S_scan_pat +#define scan_pat S_scan_pat +#define S_scan_str CPerlObj::S_scan_str +#define scan_str S_scan_str +#define S_scan_subst CPerlObj::S_scan_subst +#define scan_subst S_scan_subst +#define S_scan_trans CPerlObj::S_scan_trans +#define scan_trans S_scan_trans +#define S_scan_word CPerlObj::S_scan_word +#define scan_word S_scan_word +#define S_skipspace CPerlObj::S_skipspace +#define skipspace S_skipspace +#define S_checkcomma CPerlObj::S_checkcomma +#define checkcomma S_checkcomma +#define S_force_ident CPerlObj::S_force_ident +#define force_ident S_force_ident +#define S_incline CPerlObj::S_incline +#define incline S_incline +#define S_intuit_method CPerlObj::S_intuit_method +#define intuit_method S_intuit_method +#define S_intuit_more CPerlObj::S_intuit_more +#define intuit_more S_intuit_more +#define S_lop CPerlObj::S_lop +#define lop S_lop +#define S_missingterm CPerlObj::S_missingterm +#define missingterm S_missingterm +#define S_no_op CPerlObj::S_no_op +#define no_op S_no_op +#define S_set_csh CPerlObj::S_set_csh +#define set_csh S_set_csh +#define S_sublex_done CPerlObj::S_sublex_done +#define sublex_done S_sublex_done +#define S_sublex_push CPerlObj::S_sublex_push +#define sublex_push S_sublex_push +#define S_sublex_start CPerlObj::S_sublex_start +#define sublex_start S_sublex_start +#define S_filter_gets CPerlObj::S_filter_gets +#define filter_gets S_filter_gets +#define S_new_constant CPerlObj::S_new_constant +#define new_constant S_new_constant +#define S_ao CPerlObj::S_ao +#define ao S_ao +#define S_depcom CPerlObj::S_depcom +#define depcom S_depcom +#define S_incl_perldb CPerlObj::S_incl_perldb +#define incl_perldb S_incl_perldb +#if 0 +#define S_utf16_textfilter CPerlObj::S_utf16_textfilter +#define utf16_textfilter S_utf16_textfilter +#define S_utf16rev_textfilter CPerlObj::S_utf16rev_textfilter +#define utf16rev_textfilter S_utf16rev_textfilter +#endif +# if defined(CRIPPLED_CC) +#define S_uni CPerlObj::S_uni +#define uni S_uni +# endif +# if defined(PERL_CR_FILTER) +#define S_cr_textfilter CPerlObj::S_cr_textfilter +#define cr_textfilter S_cr_textfilter +# endif +#endif +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) +#define S_isa_lookup CPerlObj::S_isa_lookup +#define isa_lookup S_isa_lookup +#endif +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) +#define S_mess_alloc CPerlObj::S_mess_alloc +#define mess_alloc S_mess_alloc +# if defined(LEAKTEST) +#define S_xstat CPerlObj::S_xstat +#define xstat S_xstat +# endif +#endif +#if defined(PERL_OBJECT) +#endif +#define Perl_ck_anoncode CPerlObj::Perl_ck_anoncode +#define ck_anoncode Perl_ck_anoncode +#define Perl_ck_bitop CPerlObj::Perl_ck_bitop +#define ck_bitop Perl_ck_bitop +#define Perl_ck_concat CPerlObj::Perl_ck_concat +#define ck_concat Perl_ck_concat +#define Perl_ck_defined CPerlObj::Perl_ck_defined +#define ck_defined Perl_ck_defined +#define Perl_ck_delete CPerlObj::Perl_ck_delete +#define ck_delete Perl_ck_delete +#define Perl_ck_eof CPerlObj::Perl_ck_eof +#define ck_eof Perl_ck_eof +#define Perl_ck_eval CPerlObj::Perl_ck_eval +#define ck_eval Perl_ck_eval +#define Perl_ck_exec CPerlObj::Perl_ck_exec +#define ck_exec Perl_ck_exec +#define Perl_ck_exists CPerlObj::Perl_ck_exists +#define ck_exists Perl_ck_exists +#define Perl_ck_exit CPerlObj::Perl_ck_exit +#define ck_exit Perl_ck_exit +#define Perl_ck_ftst CPerlObj::Perl_ck_ftst +#define ck_ftst Perl_ck_ftst +#define Perl_ck_fun CPerlObj::Perl_ck_fun +#define ck_fun Perl_ck_fun +#define Perl_ck_fun_locale CPerlObj::Perl_ck_fun_locale +#define ck_fun_locale Perl_ck_fun_locale +#define Perl_ck_glob CPerlObj::Perl_ck_glob +#define ck_glob Perl_ck_glob +#define Perl_ck_grep CPerlObj::Perl_ck_grep +#define ck_grep Perl_ck_grep +#define Perl_ck_index CPerlObj::Perl_ck_index +#define ck_index Perl_ck_index +#define Perl_ck_join CPerlObj::Perl_ck_join +#define ck_join Perl_ck_join +#define Perl_ck_lengthconst CPerlObj::Perl_ck_lengthconst +#define ck_lengthconst Perl_ck_lengthconst +#define Perl_ck_lfun CPerlObj::Perl_ck_lfun +#define ck_lfun Perl_ck_lfun +#define Perl_ck_listiob CPerlObj::Perl_ck_listiob +#define ck_listiob Perl_ck_listiob +#define Perl_ck_match CPerlObj::Perl_ck_match +#define ck_match Perl_ck_match +#define Perl_ck_method CPerlObj::Perl_ck_method +#define ck_method Perl_ck_method +#define Perl_ck_null CPerlObj::Perl_ck_null +#define ck_null Perl_ck_null +#define Perl_ck_open CPerlObj::Perl_ck_open +#define ck_open Perl_ck_open +#define Perl_ck_repeat CPerlObj::Perl_ck_repeat +#define ck_repeat Perl_ck_repeat +#define Perl_ck_require CPerlObj::Perl_ck_require +#define ck_require Perl_ck_require +#define Perl_ck_rfun CPerlObj::Perl_ck_rfun +#define ck_rfun Perl_ck_rfun +#define Perl_ck_rvconst CPerlObj::Perl_ck_rvconst +#define ck_rvconst Perl_ck_rvconst +#define Perl_ck_sassign CPerlObj::Perl_ck_sassign +#define ck_sassign Perl_ck_sassign +#define Perl_ck_scmp CPerlObj::Perl_ck_scmp +#define ck_scmp Perl_ck_scmp +#define Perl_ck_select CPerlObj::Perl_ck_select +#define ck_select Perl_ck_select +#define Perl_ck_shift CPerlObj::Perl_ck_shift +#define ck_shift Perl_ck_shift +#define Perl_ck_sort CPerlObj::Perl_ck_sort +#define ck_sort Perl_ck_sort +#define Perl_ck_spair CPerlObj::Perl_ck_spair +#define ck_spair Perl_ck_spair +#define Perl_ck_split CPerlObj::Perl_ck_split +#define ck_split Perl_ck_split +#define Perl_ck_subr CPerlObj::Perl_ck_subr +#define ck_subr Perl_ck_subr +#define Perl_ck_svconst CPerlObj::Perl_ck_svconst +#define ck_svconst Perl_ck_svconst +#define Perl_ck_trunc CPerlObj::Perl_ck_trunc +#define ck_trunc Perl_ck_trunc +#define Perl_pp_aassign CPerlObj::Perl_pp_aassign #define pp_aassign Perl_pp_aassign +#define Perl_pp_abs CPerlObj::Perl_pp_abs #define pp_abs Perl_pp_abs +#define Perl_pp_accept CPerlObj::Perl_pp_accept #define pp_accept Perl_pp_accept +#define Perl_pp_add CPerlObj::Perl_pp_add #define pp_add Perl_pp_add +#define Perl_pp_aelem CPerlObj::Perl_pp_aelem #define pp_aelem Perl_pp_aelem +#define Perl_pp_aelemfast CPerlObj::Perl_pp_aelemfast #define pp_aelemfast Perl_pp_aelemfast +#define Perl_pp_alarm CPerlObj::Perl_pp_alarm #define pp_alarm Perl_pp_alarm +#define Perl_pp_and CPerlObj::Perl_pp_and #define pp_and Perl_pp_and +#define Perl_pp_andassign CPerlObj::Perl_pp_andassign #define pp_andassign Perl_pp_andassign +#define Perl_pp_anoncode CPerlObj::Perl_pp_anoncode #define pp_anoncode Perl_pp_anoncode +#define Perl_pp_anonhash CPerlObj::Perl_pp_anonhash #define pp_anonhash Perl_pp_anonhash +#define Perl_pp_anonlist CPerlObj::Perl_pp_anonlist #define pp_anonlist Perl_pp_anonlist +#define Perl_pp_aslice CPerlObj::Perl_pp_aslice #define pp_aslice Perl_pp_aslice +#define Perl_pp_atan2 CPerlObj::Perl_pp_atan2 #define pp_atan2 Perl_pp_atan2 +#define Perl_pp_av2arylen CPerlObj::Perl_pp_av2arylen #define pp_av2arylen Perl_pp_av2arylen +#define Perl_pp_backtick CPerlObj::Perl_pp_backtick #define pp_backtick Perl_pp_backtick +#define Perl_pp_bind CPerlObj::Perl_pp_bind #define pp_bind Perl_pp_bind +#define Perl_pp_binmode CPerlObj::Perl_pp_binmode #define pp_binmode Perl_pp_binmode +#define Perl_pp_bit_and CPerlObj::Perl_pp_bit_and #define pp_bit_and Perl_pp_bit_and +#define Perl_pp_bit_or CPerlObj::Perl_pp_bit_or #define pp_bit_or Perl_pp_bit_or +#define Perl_pp_bit_xor CPerlObj::Perl_pp_bit_xor #define pp_bit_xor Perl_pp_bit_xor +#define Perl_pp_bless CPerlObj::Perl_pp_bless #define pp_bless Perl_pp_bless +#define Perl_pp_caller CPerlObj::Perl_pp_caller #define pp_caller Perl_pp_caller +#define Perl_pp_chdir CPerlObj::Perl_pp_chdir #define pp_chdir Perl_pp_chdir +#define Perl_pp_chmod CPerlObj::Perl_pp_chmod #define pp_chmod Perl_pp_chmod +#define Perl_pp_chomp CPerlObj::Perl_pp_chomp #define pp_chomp Perl_pp_chomp +#define Perl_pp_chop CPerlObj::Perl_pp_chop #define pp_chop Perl_pp_chop +#define Perl_pp_chown CPerlObj::Perl_pp_chown #define pp_chown Perl_pp_chown +#define Perl_pp_chr CPerlObj::Perl_pp_chr #define pp_chr Perl_pp_chr +#define Perl_pp_chroot CPerlObj::Perl_pp_chroot #define pp_chroot Perl_pp_chroot +#define Perl_pp_close CPerlObj::Perl_pp_close #define pp_close Perl_pp_close +#define Perl_pp_closedir CPerlObj::Perl_pp_closedir #define pp_closedir Perl_pp_closedir +#define Perl_pp_complement CPerlObj::Perl_pp_complement #define pp_complement Perl_pp_complement +#define Perl_pp_concat CPerlObj::Perl_pp_concat #define pp_concat Perl_pp_concat +#define Perl_pp_cond_expr CPerlObj::Perl_pp_cond_expr #define pp_cond_expr Perl_pp_cond_expr +#define Perl_pp_connect CPerlObj::Perl_pp_connect #define pp_connect Perl_pp_connect +#define Perl_pp_const CPerlObj::Perl_pp_const #define pp_const Perl_pp_const +#define Perl_pp_cos CPerlObj::Perl_pp_cos #define pp_cos Perl_pp_cos +#define Perl_pp_crypt CPerlObj::Perl_pp_crypt #define pp_crypt Perl_pp_crypt -#define pp_cswitch Perl_pp_cswitch +#define Perl_pp_dbmclose CPerlObj::Perl_pp_dbmclose #define pp_dbmclose Perl_pp_dbmclose +#define Perl_pp_dbmopen CPerlObj::Perl_pp_dbmopen #define pp_dbmopen Perl_pp_dbmopen +#define Perl_pp_dbstate CPerlObj::Perl_pp_dbstate #define pp_dbstate Perl_pp_dbstate +#define Perl_pp_defined CPerlObj::Perl_pp_defined #define pp_defined Perl_pp_defined +#define Perl_pp_delete CPerlObj::Perl_pp_delete #define pp_delete Perl_pp_delete +#define Perl_pp_die CPerlObj::Perl_pp_die #define pp_die Perl_pp_die +#define Perl_pp_divide CPerlObj::Perl_pp_divide #define pp_divide Perl_pp_divide +#define Perl_pp_dofile CPerlObj::Perl_pp_dofile #define pp_dofile Perl_pp_dofile +#define Perl_pp_dump CPerlObj::Perl_pp_dump #define pp_dump Perl_pp_dump +#define Perl_pp_each CPerlObj::Perl_pp_each #define pp_each Perl_pp_each +#define Perl_pp_egrent CPerlObj::Perl_pp_egrent #define pp_egrent Perl_pp_egrent +#define Perl_pp_ehostent CPerlObj::Perl_pp_ehostent #define pp_ehostent Perl_pp_ehostent +#define Perl_pp_enetent CPerlObj::Perl_pp_enetent #define pp_enetent Perl_pp_enetent +#define Perl_pp_enter CPerlObj::Perl_pp_enter #define pp_enter Perl_pp_enter +#define Perl_pp_entereval CPerlObj::Perl_pp_entereval #define pp_entereval Perl_pp_entereval +#define Perl_pp_enteriter CPerlObj::Perl_pp_enteriter #define pp_enteriter Perl_pp_enteriter +#define Perl_pp_enterloop CPerlObj::Perl_pp_enterloop #define pp_enterloop Perl_pp_enterloop +#define Perl_pp_entersub CPerlObj::Perl_pp_entersub #define pp_entersub Perl_pp_entersub -#define pp_entersubr Perl_pp_entersubr +#define Perl_pp_entertry CPerlObj::Perl_pp_entertry #define pp_entertry Perl_pp_entertry +#define Perl_pp_enterwrite CPerlObj::Perl_pp_enterwrite #define pp_enterwrite Perl_pp_enterwrite +#define Perl_pp_eof CPerlObj::Perl_pp_eof #define pp_eof Perl_pp_eof +#define Perl_pp_eprotoent CPerlObj::Perl_pp_eprotoent #define pp_eprotoent Perl_pp_eprotoent +#define Perl_pp_epwent CPerlObj::Perl_pp_epwent #define pp_epwent Perl_pp_epwent +#define Perl_pp_eq CPerlObj::Perl_pp_eq #define pp_eq Perl_pp_eq +#define Perl_pp_eservent CPerlObj::Perl_pp_eservent #define pp_eservent Perl_pp_eservent -#define pp_evalonce Perl_pp_evalonce +#define Perl_pp_exec CPerlObj::Perl_pp_exec #define pp_exec Perl_pp_exec +#define Perl_pp_exists CPerlObj::Perl_pp_exists #define pp_exists Perl_pp_exists +#define Perl_pp_exit CPerlObj::Perl_pp_exit #define pp_exit Perl_pp_exit +#define Perl_pp_exp CPerlObj::Perl_pp_exp #define pp_exp Perl_pp_exp +#define Perl_pp_fcntl CPerlObj::Perl_pp_fcntl #define pp_fcntl Perl_pp_fcntl +#define Perl_pp_fileno CPerlObj::Perl_pp_fileno #define pp_fileno Perl_pp_fileno +#define Perl_pp_flip CPerlObj::Perl_pp_flip #define pp_flip Perl_pp_flip +#define Perl_pp_flock CPerlObj::Perl_pp_flock #define pp_flock Perl_pp_flock +#define Perl_pp_flop CPerlObj::Perl_pp_flop #define pp_flop Perl_pp_flop +#define Perl_pp_fork CPerlObj::Perl_pp_fork #define pp_fork Perl_pp_fork +#define Perl_pp_formline CPerlObj::Perl_pp_formline #define pp_formline Perl_pp_formline +#define Perl_pp_ftatime CPerlObj::Perl_pp_ftatime #define pp_ftatime Perl_pp_ftatime +#define Perl_pp_ftbinary CPerlObj::Perl_pp_ftbinary #define pp_ftbinary Perl_pp_ftbinary +#define Perl_pp_ftblk CPerlObj::Perl_pp_ftblk #define pp_ftblk Perl_pp_ftblk +#define Perl_pp_ftchr CPerlObj::Perl_pp_ftchr #define pp_ftchr Perl_pp_ftchr +#define Perl_pp_ftctime CPerlObj::Perl_pp_ftctime #define pp_ftctime Perl_pp_ftctime +#define Perl_pp_ftdir CPerlObj::Perl_pp_ftdir #define pp_ftdir Perl_pp_ftdir +#define Perl_pp_fteexec CPerlObj::Perl_pp_fteexec #define pp_fteexec Perl_pp_fteexec +#define Perl_pp_fteowned CPerlObj::Perl_pp_fteowned #define pp_fteowned Perl_pp_fteowned +#define Perl_pp_fteread CPerlObj::Perl_pp_fteread #define pp_fteread Perl_pp_fteread +#define Perl_pp_ftewrite CPerlObj::Perl_pp_ftewrite #define pp_ftewrite Perl_pp_ftewrite +#define Perl_pp_ftfile CPerlObj::Perl_pp_ftfile #define pp_ftfile Perl_pp_ftfile +#define Perl_pp_ftis CPerlObj::Perl_pp_ftis #define pp_ftis Perl_pp_ftis +#define Perl_pp_ftlink CPerlObj::Perl_pp_ftlink #define pp_ftlink Perl_pp_ftlink +#define Perl_pp_ftmtime CPerlObj::Perl_pp_ftmtime #define pp_ftmtime Perl_pp_ftmtime +#define Perl_pp_ftpipe CPerlObj::Perl_pp_ftpipe #define pp_ftpipe Perl_pp_ftpipe +#define Perl_pp_ftrexec CPerlObj::Perl_pp_ftrexec #define pp_ftrexec Perl_pp_ftrexec +#define Perl_pp_ftrowned CPerlObj::Perl_pp_ftrowned #define pp_ftrowned Perl_pp_ftrowned +#define Perl_pp_ftrread CPerlObj::Perl_pp_ftrread #define pp_ftrread Perl_pp_ftrread +#define Perl_pp_ftrwrite CPerlObj::Perl_pp_ftrwrite #define pp_ftrwrite Perl_pp_ftrwrite +#define Perl_pp_ftsgid CPerlObj::Perl_pp_ftsgid #define pp_ftsgid Perl_pp_ftsgid +#define Perl_pp_ftsize CPerlObj::Perl_pp_ftsize #define pp_ftsize Perl_pp_ftsize +#define Perl_pp_ftsock CPerlObj::Perl_pp_ftsock #define pp_ftsock Perl_pp_ftsock +#define Perl_pp_ftsuid CPerlObj::Perl_pp_ftsuid #define pp_ftsuid Perl_pp_ftsuid +#define Perl_pp_ftsvtx CPerlObj::Perl_pp_ftsvtx #define pp_ftsvtx Perl_pp_ftsvtx +#define Perl_pp_fttext CPerlObj::Perl_pp_fttext #define pp_fttext Perl_pp_fttext +#define Perl_pp_fttty CPerlObj::Perl_pp_fttty #define pp_fttty Perl_pp_fttty +#define Perl_pp_ftzero CPerlObj::Perl_pp_ftzero #define pp_ftzero Perl_pp_ftzero +#define Perl_pp_ge CPerlObj::Perl_pp_ge #define pp_ge Perl_pp_ge +#define Perl_pp_gelem CPerlObj::Perl_pp_gelem #define pp_gelem Perl_pp_gelem +#define Perl_pp_getc CPerlObj::Perl_pp_getc #define pp_getc Perl_pp_getc +#define Perl_pp_getlogin CPerlObj::Perl_pp_getlogin #define pp_getlogin Perl_pp_getlogin +#define Perl_pp_getpeername CPerlObj::Perl_pp_getpeername #define pp_getpeername Perl_pp_getpeername +#define Perl_pp_getpgrp CPerlObj::Perl_pp_getpgrp #define pp_getpgrp Perl_pp_getpgrp +#define Perl_pp_getppid CPerlObj::Perl_pp_getppid #define pp_getppid Perl_pp_getppid +#define Perl_pp_getpriority CPerlObj::Perl_pp_getpriority #define pp_getpriority Perl_pp_getpriority +#define Perl_pp_getsockname CPerlObj::Perl_pp_getsockname #define pp_getsockname Perl_pp_getsockname +#define Perl_pp_ggrent CPerlObj::Perl_pp_ggrent #define pp_ggrent Perl_pp_ggrent +#define Perl_pp_ggrgid CPerlObj::Perl_pp_ggrgid #define pp_ggrgid Perl_pp_ggrgid +#define Perl_pp_ggrnam CPerlObj::Perl_pp_ggrnam #define pp_ggrnam Perl_pp_ggrnam +#define Perl_pp_ghbyaddr CPerlObj::Perl_pp_ghbyaddr #define pp_ghbyaddr Perl_pp_ghbyaddr +#define Perl_pp_ghbyname CPerlObj::Perl_pp_ghbyname #define pp_ghbyname Perl_pp_ghbyname +#define Perl_pp_ghostent CPerlObj::Perl_pp_ghostent #define pp_ghostent Perl_pp_ghostent +#define Perl_pp_glob CPerlObj::Perl_pp_glob #define pp_glob Perl_pp_glob +#define Perl_pp_gmtime CPerlObj::Perl_pp_gmtime #define pp_gmtime Perl_pp_gmtime +#define Perl_pp_gnbyaddr CPerlObj::Perl_pp_gnbyaddr #define pp_gnbyaddr Perl_pp_gnbyaddr +#define Perl_pp_gnbyname CPerlObj::Perl_pp_gnbyname #define pp_gnbyname Perl_pp_gnbyname +#define Perl_pp_gnetent CPerlObj::Perl_pp_gnetent #define pp_gnetent Perl_pp_gnetent +#define Perl_pp_goto CPerlObj::Perl_pp_goto #define pp_goto Perl_pp_goto +#define Perl_pp_gpbyname CPerlObj::Perl_pp_gpbyname #define pp_gpbyname Perl_pp_gpbyname +#define Perl_pp_gpbynumber CPerlObj::Perl_pp_gpbynumber #define pp_gpbynumber Perl_pp_gpbynumber +#define Perl_pp_gprotoent CPerlObj::Perl_pp_gprotoent #define pp_gprotoent Perl_pp_gprotoent +#define Perl_pp_gpwent CPerlObj::Perl_pp_gpwent #define pp_gpwent Perl_pp_gpwent +#define Perl_pp_gpwnam CPerlObj::Perl_pp_gpwnam #define pp_gpwnam Perl_pp_gpwnam +#define Perl_pp_gpwuid CPerlObj::Perl_pp_gpwuid #define pp_gpwuid Perl_pp_gpwuid +#define Perl_pp_grepstart CPerlObj::Perl_pp_grepstart #define pp_grepstart Perl_pp_grepstart +#define Perl_pp_grepwhile CPerlObj::Perl_pp_grepwhile #define pp_grepwhile Perl_pp_grepwhile +#define Perl_pp_gsbyname CPerlObj::Perl_pp_gsbyname #define pp_gsbyname Perl_pp_gsbyname +#define Perl_pp_gsbyport CPerlObj::Perl_pp_gsbyport #define pp_gsbyport Perl_pp_gsbyport +#define Perl_pp_gservent CPerlObj::Perl_pp_gservent #define pp_gservent Perl_pp_gservent +#define Perl_pp_gsockopt CPerlObj::Perl_pp_gsockopt #define pp_gsockopt Perl_pp_gsockopt +#define Perl_pp_gt CPerlObj::Perl_pp_gt #define pp_gt Perl_pp_gt +#define Perl_pp_gv CPerlObj::Perl_pp_gv #define pp_gv Perl_pp_gv +#define Perl_pp_gvsv CPerlObj::Perl_pp_gvsv #define pp_gvsv Perl_pp_gvsv +#define Perl_pp_helem CPerlObj::Perl_pp_helem #define pp_helem Perl_pp_helem +#define Perl_pp_hex CPerlObj::Perl_pp_hex #define pp_hex Perl_pp_hex +#define Perl_pp_hslice CPerlObj::Perl_pp_hslice #define pp_hslice Perl_pp_hslice +#define Perl_pp_i_add CPerlObj::Perl_pp_i_add #define pp_i_add Perl_pp_i_add +#define Perl_pp_i_divide CPerlObj::Perl_pp_i_divide #define pp_i_divide Perl_pp_i_divide +#define Perl_pp_i_eq CPerlObj::Perl_pp_i_eq #define pp_i_eq Perl_pp_i_eq +#define Perl_pp_i_ge CPerlObj::Perl_pp_i_ge #define pp_i_ge Perl_pp_i_ge +#define Perl_pp_i_gt CPerlObj::Perl_pp_i_gt #define pp_i_gt Perl_pp_i_gt +#define Perl_pp_i_le CPerlObj::Perl_pp_i_le #define pp_i_le Perl_pp_i_le +#define Perl_pp_i_lt CPerlObj::Perl_pp_i_lt #define pp_i_lt Perl_pp_i_lt +#define Perl_pp_i_modulo CPerlObj::Perl_pp_i_modulo #define pp_i_modulo Perl_pp_i_modulo +#define Perl_pp_i_multiply CPerlObj::Perl_pp_i_multiply #define pp_i_multiply Perl_pp_i_multiply +#define Perl_pp_i_ncmp CPerlObj::Perl_pp_i_ncmp #define pp_i_ncmp Perl_pp_i_ncmp +#define Perl_pp_i_ne CPerlObj::Perl_pp_i_ne #define pp_i_ne Perl_pp_i_ne +#define Perl_pp_i_negate CPerlObj::Perl_pp_i_negate #define pp_i_negate Perl_pp_i_negate +#define Perl_pp_i_subtract CPerlObj::Perl_pp_i_subtract #define pp_i_subtract Perl_pp_i_subtract +#define Perl_pp_index CPerlObj::Perl_pp_index #define pp_index Perl_pp_index +#define Perl_pp_int CPerlObj::Perl_pp_int #define pp_int Perl_pp_int -#define pp_interp Perl_pp_interp +#define Perl_pp_ioctl CPerlObj::Perl_pp_ioctl #define pp_ioctl Perl_pp_ioctl +#define Perl_pp_iter CPerlObj::Perl_pp_iter #define pp_iter Perl_pp_iter +#define Perl_pp_join CPerlObj::Perl_pp_join #define pp_join Perl_pp_join +#define Perl_pp_keys CPerlObj::Perl_pp_keys #define pp_keys Perl_pp_keys +#define Perl_pp_kill CPerlObj::Perl_pp_kill #define pp_kill Perl_pp_kill +#define Perl_pp_last CPerlObj::Perl_pp_last #define pp_last Perl_pp_last +#define Perl_pp_lc CPerlObj::Perl_pp_lc #define pp_lc Perl_pp_lc +#define Perl_pp_lcfirst CPerlObj::Perl_pp_lcfirst #define pp_lcfirst Perl_pp_lcfirst +#define Perl_pp_le CPerlObj::Perl_pp_le #define pp_le Perl_pp_le +#define Perl_pp_leave CPerlObj::Perl_pp_leave #define pp_leave Perl_pp_leave +#define Perl_pp_leaveeval CPerlObj::Perl_pp_leaveeval #define pp_leaveeval Perl_pp_leaveeval +#define Perl_pp_leaveloop CPerlObj::Perl_pp_leaveloop #define pp_leaveloop Perl_pp_leaveloop +#define Perl_pp_leavesub CPerlObj::Perl_pp_leavesub #define pp_leavesub Perl_pp_leavesub +#define Perl_pp_leavesublv CPerlObj::Perl_pp_leavesublv +#define pp_leavesublv Perl_pp_leavesublv +#define Perl_pp_leavetry CPerlObj::Perl_pp_leavetry #define pp_leavetry Perl_pp_leavetry +#define Perl_pp_leavewrite CPerlObj::Perl_pp_leavewrite #define pp_leavewrite Perl_pp_leavewrite +#define Perl_pp_left_shift CPerlObj::Perl_pp_left_shift #define pp_left_shift Perl_pp_left_shift +#define Perl_pp_length CPerlObj::Perl_pp_length #define pp_length Perl_pp_length +#define Perl_pp_lineseq CPerlObj::Perl_pp_lineseq #define pp_lineseq Perl_pp_lineseq +#define Perl_pp_link CPerlObj::Perl_pp_link #define pp_link Perl_pp_link +#define Perl_pp_list CPerlObj::Perl_pp_list #define pp_list Perl_pp_list +#define Perl_pp_listen CPerlObj::Perl_pp_listen #define pp_listen Perl_pp_listen +#define Perl_pp_localtime CPerlObj::Perl_pp_localtime #define pp_localtime Perl_pp_localtime +#define Perl_pp_lock CPerlObj::Perl_pp_lock #define pp_lock Perl_pp_lock +#define Perl_pp_log CPerlObj::Perl_pp_log #define pp_log Perl_pp_log +#define Perl_pp_lslice CPerlObj::Perl_pp_lslice #define pp_lslice Perl_pp_lslice +#define Perl_pp_lstat CPerlObj::Perl_pp_lstat #define pp_lstat Perl_pp_lstat +#define Perl_pp_lt CPerlObj::Perl_pp_lt #define pp_lt Perl_pp_lt -#define pp_map Perl_pp_map +#define Perl_pp_mapstart CPerlObj::Perl_pp_mapstart #define pp_mapstart Perl_pp_mapstart +#define Perl_pp_mapwhile CPerlObj::Perl_pp_mapwhile #define pp_mapwhile Perl_pp_mapwhile +#define Perl_pp_match CPerlObj::Perl_pp_match #define pp_match Perl_pp_match +#define Perl_pp_method CPerlObj::Perl_pp_method #define pp_method Perl_pp_method +#define Perl_pp_method_named CPerlObj::Perl_pp_method_named +#define pp_method_named Perl_pp_method_named +#define Perl_pp_mkdir CPerlObj::Perl_pp_mkdir #define pp_mkdir Perl_pp_mkdir +#define Perl_pp_modulo CPerlObj::Perl_pp_modulo #define pp_modulo Perl_pp_modulo +#define Perl_pp_msgctl CPerlObj::Perl_pp_msgctl #define pp_msgctl Perl_pp_msgctl +#define Perl_pp_msgget CPerlObj::Perl_pp_msgget #define pp_msgget Perl_pp_msgget +#define Perl_pp_msgrcv CPerlObj::Perl_pp_msgrcv #define pp_msgrcv Perl_pp_msgrcv +#define Perl_pp_msgsnd CPerlObj::Perl_pp_msgsnd #define pp_msgsnd Perl_pp_msgsnd +#define Perl_pp_multiply CPerlObj::Perl_pp_multiply #define pp_multiply Perl_pp_multiply +#define Perl_pp_ncmp CPerlObj::Perl_pp_ncmp #define pp_ncmp Perl_pp_ncmp +#define Perl_pp_ne CPerlObj::Perl_pp_ne #define pp_ne Perl_pp_ne +#define Perl_pp_negate CPerlObj::Perl_pp_negate #define pp_negate Perl_pp_negate +#define Perl_pp_next CPerlObj::Perl_pp_next #define pp_next Perl_pp_next +#define Perl_pp_nextstate CPerlObj::Perl_pp_nextstate #define pp_nextstate Perl_pp_nextstate +#define Perl_pp_not CPerlObj::Perl_pp_not #define pp_not Perl_pp_not -#define pp_nswitch Perl_pp_nswitch +#define Perl_pp_null CPerlObj::Perl_pp_null #define pp_null Perl_pp_null +#define Perl_pp_oct CPerlObj::Perl_pp_oct #define pp_oct Perl_pp_oct +#define Perl_pp_open CPerlObj::Perl_pp_open #define pp_open Perl_pp_open +#define Perl_pp_open_dir CPerlObj::Perl_pp_open_dir #define pp_open_dir Perl_pp_open_dir +#define Perl_pp_or CPerlObj::Perl_pp_or #define pp_or Perl_pp_or +#define Perl_pp_orassign CPerlObj::Perl_pp_orassign #define pp_orassign Perl_pp_orassign +#define Perl_pp_ord CPerlObj::Perl_pp_ord #define pp_ord Perl_pp_ord +#define Perl_pp_pack CPerlObj::Perl_pp_pack #define pp_pack Perl_pp_pack +#define Perl_pp_padany CPerlObj::Perl_pp_padany #define pp_padany Perl_pp_padany +#define Perl_pp_padav CPerlObj::Perl_pp_padav #define pp_padav Perl_pp_padav +#define Perl_pp_padhv CPerlObj::Perl_pp_padhv #define pp_padhv Perl_pp_padhv +#define Perl_pp_padsv CPerlObj::Perl_pp_padsv #define pp_padsv Perl_pp_padsv +#define Perl_pp_pipe_op CPerlObj::Perl_pp_pipe_op #define pp_pipe_op Perl_pp_pipe_op +#define Perl_pp_pop CPerlObj::Perl_pp_pop #define pp_pop Perl_pp_pop +#define Perl_pp_pos CPerlObj::Perl_pp_pos #define pp_pos Perl_pp_pos +#define Perl_pp_postdec CPerlObj::Perl_pp_postdec #define pp_postdec Perl_pp_postdec +#define Perl_pp_postinc CPerlObj::Perl_pp_postinc #define pp_postinc Perl_pp_postinc +#define Perl_pp_pow CPerlObj::Perl_pp_pow #define pp_pow Perl_pp_pow +#define Perl_pp_predec CPerlObj::Perl_pp_predec #define pp_predec Perl_pp_predec +#define Perl_pp_preinc CPerlObj::Perl_pp_preinc #define pp_preinc Perl_pp_preinc +#define Perl_pp_print CPerlObj::Perl_pp_print #define pp_print Perl_pp_print +#define Perl_pp_prototype CPerlObj::Perl_pp_prototype #define pp_prototype Perl_pp_prototype +#define Perl_pp_prtf CPerlObj::Perl_pp_prtf #define pp_prtf Perl_pp_prtf +#define Perl_pp_push CPerlObj::Perl_pp_push #define pp_push Perl_pp_push +#define Perl_pp_pushmark CPerlObj::Perl_pp_pushmark #define pp_pushmark Perl_pp_pushmark +#define Perl_pp_pushre CPerlObj::Perl_pp_pushre #define pp_pushre Perl_pp_pushre +#define Perl_pp_qr CPerlObj::Perl_pp_qr #define pp_qr Perl_pp_qr +#define Perl_pp_quotemeta CPerlObj::Perl_pp_quotemeta #define pp_quotemeta Perl_pp_quotemeta +#define Perl_pp_rand CPerlObj::Perl_pp_rand #define pp_rand Perl_pp_rand +#define Perl_pp_range CPerlObj::Perl_pp_range #define pp_range Perl_pp_range +#define Perl_pp_rcatline CPerlObj::Perl_pp_rcatline #define pp_rcatline Perl_pp_rcatline +#define Perl_pp_read CPerlObj::Perl_pp_read #define pp_read Perl_pp_read +#define Perl_pp_readdir CPerlObj::Perl_pp_readdir #define pp_readdir Perl_pp_readdir +#define Perl_pp_readline CPerlObj::Perl_pp_readline #define pp_readline Perl_pp_readline +#define Perl_pp_readlink CPerlObj::Perl_pp_readlink #define pp_readlink Perl_pp_readlink +#define Perl_pp_recv CPerlObj::Perl_pp_recv #define pp_recv Perl_pp_recv +#define Perl_pp_redo CPerlObj::Perl_pp_redo #define pp_redo Perl_pp_redo +#define Perl_pp_ref CPerlObj::Perl_pp_ref #define pp_ref Perl_pp_ref +#define Perl_pp_refgen CPerlObj::Perl_pp_refgen #define pp_refgen Perl_pp_refgen +#define Perl_pp_regcmaybe CPerlObj::Perl_pp_regcmaybe #define pp_regcmaybe Perl_pp_regcmaybe +#define Perl_pp_regcomp CPerlObj::Perl_pp_regcomp #define pp_regcomp Perl_pp_regcomp +#define Perl_pp_regcreset CPerlObj::Perl_pp_regcreset #define pp_regcreset Perl_pp_regcreset +#define Perl_pp_rename CPerlObj::Perl_pp_rename #define pp_rename Perl_pp_rename +#define Perl_pp_repeat CPerlObj::Perl_pp_repeat #define pp_repeat Perl_pp_repeat +#define Perl_pp_require CPerlObj::Perl_pp_require #define pp_require Perl_pp_require +#define Perl_pp_reset CPerlObj::Perl_pp_reset #define pp_reset Perl_pp_reset +#define Perl_pp_return CPerlObj::Perl_pp_return #define pp_return Perl_pp_return +#define Perl_pp_reverse CPerlObj::Perl_pp_reverse #define pp_reverse Perl_pp_reverse +#define Perl_pp_rewinddir CPerlObj::Perl_pp_rewinddir #define pp_rewinddir Perl_pp_rewinddir +#define Perl_pp_right_shift CPerlObj::Perl_pp_right_shift #define pp_right_shift Perl_pp_right_shift +#define Perl_pp_rindex CPerlObj::Perl_pp_rindex #define pp_rindex Perl_pp_rindex +#define Perl_pp_rmdir CPerlObj::Perl_pp_rmdir #define pp_rmdir Perl_pp_rmdir +#define Perl_pp_rv2av CPerlObj::Perl_pp_rv2av #define pp_rv2av Perl_pp_rv2av +#define Perl_pp_rv2cv CPerlObj::Perl_pp_rv2cv #define pp_rv2cv Perl_pp_rv2cv +#define Perl_pp_rv2gv CPerlObj::Perl_pp_rv2gv #define pp_rv2gv Perl_pp_rv2gv +#define Perl_pp_rv2hv CPerlObj::Perl_pp_rv2hv #define pp_rv2hv Perl_pp_rv2hv +#define Perl_pp_rv2sv CPerlObj::Perl_pp_rv2sv #define pp_rv2sv Perl_pp_rv2sv +#define Perl_pp_sassign CPerlObj::Perl_pp_sassign #define pp_sassign Perl_pp_sassign +#define Perl_pp_scalar CPerlObj::Perl_pp_scalar #define pp_scalar Perl_pp_scalar +#define Perl_pp_schomp CPerlObj::Perl_pp_schomp #define pp_schomp Perl_pp_schomp +#define Perl_pp_schop CPerlObj::Perl_pp_schop #define pp_schop Perl_pp_schop +#define Perl_pp_scmp CPerlObj::Perl_pp_scmp #define pp_scmp Perl_pp_scmp +#define Perl_pp_scope CPerlObj::Perl_pp_scope #define pp_scope Perl_pp_scope +#define Perl_pp_seek CPerlObj::Perl_pp_seek #define pp_seek Perl_pp_seek +#define Perl_pp_seekdir CPerlObj::Perl_pp_seekdir #define pp_seekdir Perl_pp_seekdir +#define Perl_pp_select CPerlObj::Perl_pp_select #define pp_select Perl_pp_select +#define Perl_pp_semctl CPerlObj::Perl_pp_semctl #define pp_semctl Perl_pp_semctl +#define Perl_pp_semget CPerlObj::Perl_pp_semget #define pp_semget Perl_pp_semget +#define Perl_pp_semop CPerlObj::Perl_pp_semop #define pp_semop Perl_pp_semop +#define Perl_pp_send CPerlObj::Perl_pp_send #define pp_send Perl_pp_send +#define Perl_pp_seq CPerlObj::Perl_pp_seq #define pp_seq Perl_pp_seq +#define Perl_pp_setpgrp CPerlObj::Perl_pp_setpgrp #define pp_setpgrp Perl_pp_setpgrp +#define Perl_pp_setpriority CPerlObj::Perl_pp_setpriority #define pp_setpriority Perl_pp_setpriority +#define Perl_pp_setstate CPerlObj::Perl_pp_setstate +#define pp_setstate Perl_pp_setstate +#define Perl_pp_sge CPerlObj::Perl_pp_sge #define pp_sge Perl_pp_sge +#define Perl_pp_sgrent CPerlObj::Perl_pp_sgrent #define pp_sgrent Perl_pp_sgrent +#define Perl_pp_sgt CPerlObj::Perl_pp_sgt #define pp_sgt Perl_pp_sgt +#define Perl_pp_shift CPerlObj::Perl_pp_shift #define pp_shift Perl_pp_shift +#define Perl_pp_shmctl CPerlObj::Perl_pp_shmctl #define pp_shmctl Perl_pp_shmctl +#define Perl_pp_shmget CPerlObj::Perl_pp_shmget #define pp_shmget Perl_pp_shmget +#define Perl_pp_shmread CPerlObj::Perl_pp_shmread #define pp_shmread Perl_pp_shmread +#define Perl_pp_shmwrite CPerlObj::Perl_pp_shmwrite #define pp_shmwrite Perl_pp_shmwrite +#define Perl_pp_shostent CPerlObj::Perl_pp_shostent #define pp_shostent Perl_pp_shostent +#define Perl_pp_shutdown CPerlObj::Perl_pp_shutdown #define pp_shutdown Perl_pp_shutdown +#define Perl_pp_sin CPerlObj::Perl_pp_sin #define pp_sin Perl_pp_sin +#define Perl_pp_sle CPerlObj::Perl_pp_sle #define pp_sle Perl_pp_sle +#define Perl_pp_sleep CPerlObj::Perl_pp_sleep #define pp_sleep Perl_pp_sleep +#define Perl_pp_slt CPerlObj::Perl_pp_slt #define pp_slt Perl_pp_slt +#define Perl_pp_sne CPerlObj::Perl_pp_sne #define pp_sne Perl_pp_sne +#define Perl_pp_snetent CPerlObj::Perl_pp_snetent #define pp_snetent Perl_pp_snetent +#define Perl_pp_socket CPerlObj::Perl_pp_socket #define pp_socket Perl_pp_socket +#define Perl_pp_sockpair CPerlObj::Perl_pp_sockpair #define pp_sockpair Perl_pp_sockpair +#define Perl_pp_sort CPerlObj::Perl_pp_sort #define pp_sort Perl_pp_sort +#define Perl_pp_splice CPerlObj::Perl_pp_splice #define pp_splice Perl_pp_splice +#define Perl_pp_split CPerlObj::Perl_pp_split #define pp_split Perl_pp_split +#define Perl_pp_sprintf CPerlObj::Perl_pp_sprintf #define pp_sprintf Perl_pp_sprintf +#define Perl_pp_sprotoent CPerlObj::Perl_pp_sprotoent #define pp_sprotoent Perl_pp_sprotoent +#define Perl_pp_spwent CPerlObj::Perl_pp_spwent #define pp_spwent Perl_pp_spwent +#define Perl_pp_sqrt CPerlObj::Perl_pp_sqrt #define pp_sqrt Perl_pp_sqrt +#define Perl_pp_srand CPerlObj::Perl_pp_srand #define pp_srand Perl_pp_srand +#define Perl_pp_srefgen CPerlObj::Perl_pp_srefgen #define pp_srefgen Perl_pp_srefgen +#define Perl_pp_sselect CPerlObj::Perl_pp_sselect #define pp_sselect Perl_pp_sselect +#define Perl_pp_sservent CPerlObj::Perl_pp_sservent #define pp_sservent Perl_pp_sservent +#define Perl_pp_ssockopt CPerlObj::Perl_pp_ssockopt #define pp_ssockopt Perl_pp_ssockopt +#define Perl_pp_stat CPerlObj::Perl_pp_stat #define pp_stat Perl_pp_stat +#define Perl_pp_stringify CPerlObj::Perl_pp_stringify #define pp_stringify Perl_pp_stringify +#define Perl_pp_stub CPerlObj::Perl_pp_stub #define pp_stub Perl_pp_stub +#define Perl_pp_study CPerlObj::Perl_pp_study #define pp_study Perl_pp_study +#define Perl_pp_subst CPerlObj::Perl_pp_subst #define pp_subst Perl_pp_subst +#define Perl_pp_substcont CPerlObj::Perl_pp_substcont #define pp_substcont Perl_pp_substcont +#define Perl_pp_substr CPerlObj::Perl_pp_substr #define pp_substr Perl_pp_substr +#define Perl_pp_subtract CPerlObj::Perl_pp_subtract #define pp_subtract Perl_pp_subtract +#define Perl_pp_symlink CPerlObj::Perl_pp_symlink #define pp_symlink Perl_pp_symlink +#define Perl_pp_syscall CPerlObj::Perl_pp_syscall #define pp_syscall Perl_pp_syscall +#define Perl_pp_sysopen CPerlObj::Perl_pp_sysopen #define pp_sysopen Perl_pp_sysopen +#define Perl_pp_sysread CPerlObj::Perl_pp_sysread #define pp_sysread Perl_pp_sysread +#define Perl_pp_sysseek CPerlObj::Perl_pp_sysseek #define pp_sysseek Perl_pp_sysseek +#define Perl_pp_system CPerlObj::Perl_pp_system #define pp_system Perl_pp_system +#define Perl_pp_syswrite CPerlObj::Perl_pp_syswrite #define pp_syswrite Perl_pp_syswrite +#define Perl_pp_tell CPerlObj::Perl_pp_tell #define pp_tell Perl_pp_tell +#define Perl_pp_telldir CPerlObj::Perl_pp_telldir #define pp_telldir Perl_pp_telldir +#define Perl_pp_threadsv CPerlObj::Perl_pp_threadsv #define pp_threadsv Perl_pp_threadsv +#define Perl_pp_tie CPerlObj::Perl_pp_tie #define pp_tie Perl_pp_tie +#define Perl_pp_tied CPerlObj::Perl_pp_tied #define pp_tied Perl_pp_tied +#define Perl_pp_time CPerlObj::Perl_pp_time #define pp_time Perl_pp_time +#define Perl_pp_tms CPerlObj::Perl_pp_tms #define pp_tms Perl_pp_tms +#define Perl_pp_trans CPerlObj::Perl_pp_trans #define pp_trans Perl_pp_trans +#define Perl_pp_truncate CPerlObj::Perl_pp_truncate #define pp_truncate Perl_pp_truncate +#define Perl_pp_uc CPerlObj::Perl_pp_uc #define pp_uc Perl_pp_uc +#define Perl_pp_ucfirst CPerlObj::Perl_pp_ucfirst #define pp_ucfirst Perl_pp_ucfirst +#define Perl_pp_umask CPerlObj::Perl_pp_umask #define pp_umask Perl_pp_umask +#define Perl_pp_undef CPerlObj::Perl_pp_undef #define pp_undef Perl_pp_undef +#define Perl_pp_unlink CPerlObj::Perl_pp_unlink #define pp_unlink Perl_pp_unlink +#define Perl_pp_unpack CPerlObj::Perl_pp_unpack #define pp_unpack Perl_pp_unpack +#define Perl_pp_unshift CPerlObj::Perl_pp_unshift #define pp_unshift Perl_pp_unshift +#define Perl_pp_unstack CPerlObj::Perl_pp_unstack #define pp_unstack Perl_pp_unstack +#define Perl_pp_untie CPerlObj::Perl_pp_untie #define pp_untie Perl_pp_untie +#define Perl_pp_utime CPerlObj::Perl_pp_utime #define pp_utime Perl_pp_utime +#define Perl_pp_values CPerlObj::Perl_pp_values #define pp_values Perl_pp_values +#define Perl_pp_vec CPerlObj::Perl_pp_vec #define pp_vec Perl_pp_vec +#define Perl_pp_wait CPerlObj::Perl_pp_wait #define pp_wait Perl_pp_wait +#define Perl_pp_waitpid CPerlObj::Perl_pp_waitpid #define pp_waitpid Perl_pp_waitpid +#define Perl_pp_wantarray CPerlObj::Perl_pp_wantarray #define pp_wantarray Perl_pp_wantarray +#define Perl_pp_warn CPerlObj::Perl_pp_warn #define pp_warn Perl_pp_warn +#define Perl_pp_xor CPerlObj::Perl_pp_xor #define pp_xor Perl_pp_xor -#define ppaddr Perl_ppaddr -#define pregcomp Perl_pregcomp -#define pregexec Perl_pregexec -#define pregfree Perl_pregfree -#define prepend_elem Perl_prepend_elem -#define psig_name Perl_psig_name -#define psig_ptr Perl_psig_ptr -#define push_return Perl_push_return -#define push_scope Perl_push_scope -#define q Perl_q -#define reall_srchlen Perl_reall_srchlen -#define ref Perl_ref -#define refkids Perl_refkids -#define regdump Perl_regdump -#define regexec_flags Perl_regexec_flags -#define regkind Perl_regkind -#define regnext Perl_regnext -#define regprop Perl_regprop -#define repeat_amg Perl_repeat_amg -#define repeat_ass_amg Perl_repeat_ass_amg -#define repeatcpy Perl_repeatcpy -#define rninstr Perl_rninstr -#define rshift_amg Perl_rshift_amg -#define rshift_ass_amg Perl_rshift_ass_amg -#define rsignal Perl_rsignal -#define rsignal_restore Perl_rsignal_restore -#define rsignal_save Perl_rsignal_save -#define rsignal_state Perl_rsignal_state -#define runops_debug Perl_runops_debug -#define runops_standard Perl_runops_standard -#define rxres_free Perl_rxres_free -#define rxres_restore Perl_rxres_restore -#define rxres_save Perl_rxres_save -#define safecalloc Perl_safecalloc -#define safefree Perl_safefree -#define safemalloc Perl_safemalloc -#define saferealloc Perl_saferealloc -#define safexcalloc Perl_safexcalloc -#define safexfree Perl_safexfree -#define safexmalloc Perl_safexmalloc -#define safexrealloc Perl_safexrealloc -#define same_dirent Perl_same_dirent -#define save_I16 Perl_save_I16 -#define save_I32 Perl_save_I32 -#define save_aelem Perl_save_aelem -#define save_aptr Perl_save_aptr -#define save_ary Perl_save_ary -#define save_clearsv Perl_save_clearsv -#define save_delete Perl_save_delete -#define save_destructor Perl_save_destructor -#define save_freeop Perl_save_freeop -#define save_freepv Perl_save_freepv -#define save_freesv Perl_save_freesv -#define save_generic_svref Perl_save_generic_svref -#define save_gp Perl_save_gp -#define save_hash Perl_save_hash -#define save_helem Perl_save_helem -#define save_hints Perl_save_hints -#define save_hptr Perl_save_hptr -#define save_int Perl_save_int -#define save_item Perl_save_item -#define save_iv Perl_save_iv -#define save_list Perl_save_list -#define save_long Perl_save_long -#define save_nogv Perl_save_nogv -#define save_op Perl_save_op -#define save_pptr Perl_save_pptr -#define save_scalar Perl_save_scalar -#define save_sptr Perl_save_sptr -#define save_svref Perl_save_svref -#define save_threadsv Perl_save_threadsv -#define savepv Perl_savepv -#define savepvn Perl_savepvn -#define savestack_grow Perl_savestack_grow -#define saw_return Perl_saw_return -#define sawparens Perl_sawparens -#define scalar Perl_scalar -#define scalarkids Perl_scalarkids -#define scalarseq Perl_scalarseq -#define scalarvoid Perl_scalarvoid -#define scan_const Perl_scan_const -#define scan_formline Perl_scan_formline -#define scan_heredoc Perl_scan_heredoc -#define scan_hex Perl_scan_hex -#define scan_ident Perl_scan_ident -#define scan_inputsymbol Perl_scan_inputsymbol -#define scan_num Perl_scan_num -#define scan_oct Perl_scan_oct -#define scan_pat Perl_scan_pat -#define scan_prefix Perl_scan_prefix -#define scan_str Perl_scan_str -#define scan_subst Perl_scan_subst -#define scan_trans Perl_scan_trans -#define scan_word Perl_scan_word -#define scmp_amg Perl_scmp_amg -#define scope Perl_scope -#define screaminstr Perl_screaminstr -#define seq_amg Perl_seq_amg -#define setdefout Perl_setdefout -#define setenv_getix Perl_setenv_getix -#define sge_amg Perl_sge_amg -#define sgt_amg Perl_sgt_amg -#define share_hek Perl_share_hek -#define sharepvn Perl_sharepvn -#define sig_name Perl_sig_name -#define sig_num Perl_sig_num -#define sighandler Perl_sighandler -#define simple Perl_simple -#define sin_amg Perl_sin_amg -#define skipspace Perl_skipspace -#define sle_amg Perl_sle_amg -#define slt_amg Perl_slt_amg -#define sne_amg Perl_sne_amg -#define sqrt_amg Perl_sqrt_amg -#define stack_grow Perl_stack_grow -#define start_subparse Perl_start_subparse -#define string_amg Perl_string_amg -#define sub_crush_depth Perl_sub_crush_depth -#define subtr_amg Perl_subtr_amg -#define subtr_ass_amg Perl_subtr_ass_amg -#define sv_2bool Perl_sv_2bool -#define sv_2cv Perl_sv_2cv -#define sv_2io Perl_sv_2io -#define sv_2iv Perl_sv_2iv -#define sv_2mortal Perl_sv_2mortal -#define sv_2nv Perl_sv_2nv -#define sv_2pv Perl_sv_2pv -#define sv_2uv Perl_sv_2uv -#define sv_add_arena Perl_sv_add_arena -#define sv_backoff Perl_sv_backoff -#define sv_bless Perl_sv_bless -#define sv_catpv Perl_sv_catpv -#define sv_catpv_mg Perl_sv_catpv_mg -#define sv_catpvf Perl_sv_catpvf -#define sv_catpvf_mg Perl_sv_catpvf_mg -#define sv_catpvn Perl_sv_catpvn -#define sv_catpvn_mg Perl_sv_catpvn_mg -#define sv_catsv Perl_sv_catsv -#define sv_catsv_mg Perl_sv_catsv_mg -#define sv_chop Perl_sv_chop -#define sv_clean_all Perl_sv_clean_all -#define sv_clean_objs Perl_sv_clean_objs -#define sv_clear Perl_sv_clear -#define sv_cmp Perl_sv_cmp -#define sv_cmp_locale Perl_sv_cmp_locale -#define sv_collxfrm Perl_sv_collxfrm -#define sv_compile_2op Perl_sv_compile_2op -#define sv_dec Perl_sv_dec -#define sv_derived_from Perl_sv_derived_from -#define sv_dump Perl_sv_dump -#define sv_eq Perl_sv_eq -#define sv_free Perl_sv_free -#define sv_free_arenas Perl_sv_free_arenas -#define sv_gets Perl_sv_gets -#define sv_grow Perl_sv_grow -#define sv_inc Perl_sv_inc -#define sv_insert Perl_sv_insert -#define sv_isa Perl_sv_isa -#define sv_isobject Perl_sv_isobject -#define sv_iv Perl_sv_iv -#define sv_len Perl_sv_len -#define sv_magic Perl_sv_magic -#define sv_mortalcopy Perl_sv_mortalcopy -#define sv_newmortal Perl_sv_newmortal -#define sv_newref Perl_sv_newref -#define sv_nv Perl_sv_nv -#define sv_peek Perl_sv_peek -#define sv_pvn Perl_sv_pvn -#define sv_pvn_force Perl_sv_pvn_force -#define sv_ref Perl_sv_ref -#define sv_reftype Perl_sv_reftype -#define sv_replace Perl_sv_replace -#define sv_report_used Perl_sv_report_used -#define sv_reset Perl_sv_reset -#define sv_setiv Perl_sv_setiv -#define sv_setiv_mg Perl_sv_setiv_mg -#define sv_setnv Perl_sv_setnv -#define sv_setnv_mg Perl_sv_setnv_mg -#define sv_setptrobj Perl_sv_setptrobj -#define sv_setpv Perl_sv_setpv -#define sv_setpv_mg Perl_sv_setpv_mg -#define sv_setpvf Perl_sv_setpvf -#define sv_setpvf_mg Perl_sv_setpvf_mg -#define sv_setpviv Perl_sv_setpviv -#define sv_setpviv_mg Perl_sv_setpviv_mg -#define sv_setpvn Perl_sv_setpvn -#define sv_setpvn_mg Perl_sv_setpvn_mg -#define sv_setref_iv Perl_sv_setref_iv -#define sv_setref_nv Perl_sv_setref_nv -#define sv_setref_pv Perl_sv_setref_pv -#define sv_setref_pvn Perl_sv_setref_pvn -#define sv_setsv Perl_sv_setsv -#define sv_setsv_mg Perl_sv_setsv_mg -#define sv_setuv Perl_sv_setuv -#define sv_setuv_mg Perl_sv_setuv_mg -#define sv_taint Perl_sv_taint -#define sv_tainted Perl_sv_tainted -#define sv_true Perl_sv_true -#define sv_unmagic Perl_sv_unmagic -#define sv_unref Perl_sv_unref -#define sv_untaint Perl_sv_untaint -#define sv_upgrade Perl_sv_upgrade -#define sv_usepvn Perl_sv_usepvn -#define sv_usepvn_mg Perl_sv_usepvn_mg -#define sv_uv Perl_sv_uv -#define sv_vcatpvfn Perl_sv_vcatpvfn -#define sv_vsetpvfn Perl_sv_vsetpvfn -#define taint_env Perl_taint_env -#define taint_proper Perl_taint_proper -#define too_few_arguments Perl_too_few_arguments -#define too_many_arguments Perl_too_many_arguments -#define unlnk Perl_unlnk -#define unlock_condpair Perl_unlock_condpair -#define unshare_hek Perl_unshare_hek -#define unsharepvn Perl_unsharepvn -#define utilize Perl_utilize -#define varies Perl_varies -#define vivify_defelem Perl_vivify_defelem -#define vivify_ref Perl_vivify_ref -#define vtbl_amagic Perl_vtbl_amagic -#define vtbl_amagicelem Perl_vtbl_amagicelem -#define vtbl_arylen Perl_vtbl_arylen -#define vtbl_bm Perl_vtbl_bm -#define vtbl_collxfrm Perl_vtbl_collxfrm -#define vtbl_dbline Perl_vtbl_dbline -#define vtbl_defelem Perl_vtbl_defelem -#define vtbl_env Perl_vtbl_env -#define vtbl_envelem Perl_vtbl_envelem -#define vtbl_fm Perl_vtbl_fm -#define vtbl_glob Perl_vtbl_glob -#define vtbl_isa Perl_vtbl_isa -#define vtbl_isaelem Perl_vtbl_isaelem -#define vtbl_mglob Perl_vtbl_mglob -#define vtbl_mutex Perl_vtbl_mutex -#define vtbl_nkeys Perl_vtbl_nkeys -#define vtbl_pack Perl_vtbl_pack -#define vtbl_packelem Perl_vtbl_packelem -#define vtbl_pos Perl_vtbl_pos -#define vtbl_regexp Perl_vtbl_regexp -#define vtbl_sig Perl_vtbl_sig -#define vtbl_sigelem Perl_vtbl_sigelem -#define vtbl_substr Perl_vtbl_substr -#define vtbl_sv Perl_vtbl_sv -#define vtbl_taint Perl_vtbl_taint -#define vtbl_uvar Perl_vtbl_uvar -#define vtbl_vec Perl_vtbl_vec -#define wait4pid Perl_wait4pid -#define warn Perl_warn -#define warn_nl Perl_warn_nl -#define warn_nosemi Perl_warn_nosemi -#define warn_reserved Perl_warn_reserved -#define warn_uninit Perl_warn_uninit -#define watch Perl_watch -#define watchaddr Perl_watchaddr -#define watchok Perl_watchok -#define whichsig Perl_whichsig -#define yychar Perl_yychar -#define yycheck Perl_yycheck -#define yydebug Perl_yydebug -#define yydefred Perl_yydefred -#define yydestruct Perl_yydestruct -#define yydgoto Perl_yydgoto -#define yyerrflag Perl_yyerrflag -#define yyerror Perl_yyerror -#define yygindex Perl_yygindex -#define yylen Perl_yylen -#define yylex Perl_yylex -#define yylhs Perl_yylhs -#define yylval Perl_yylval -#define yyname Perl_yyname -#define yynerrs Perl_yynerrs -#define yyparse Perl_yyparse -#define yyrindex Perl_yyrindex -#define yyrule Perl_yyrule -#define yysindex Perl_yysindex -#define yytable Perl_yytable -#define yyval Perl_yyval -#define yywarn Perl_yywarn -#endif /* EMBED */ +#endif /* PERL_OBJECT */ + +/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to + disable them. + */ + +#if !defined(PERL_CORE) +# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr)) +# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr)) +#endif + +#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005) + +/* Compatibility for various misnamed functions. All functions + in the API that begin with "perl_" (not "Perl_") take an explicit + interpreter context pointer. + The following are not like that, but since they had a "perl_" + prefix in previous versions, we provide compatibility macros. + */ +# define perl_atexit(a,b) call_atexit(a,b) +# define perl_call_argv(a,b,c) call_argv(a,b,c) +# define perl_call_pv(a,b) call_pv(a,b) +# define perl_call_method(a,b) call_method(a,b) +# define perl_call_sv(a,b) call_sv(a,b) +# define perl_eval_sv(a,b) eval_sv(a,b) +# define perl_eval_pv(a,b) eval_pv(a,b) +# define perl_require_pv(a) require_pv(a) +# define perl_get_sv(a,b) get_sv(a,b) +# define perl_get_av(a,b) get_av(a,b) +# define perl_get_hv(a,b) get_hv(a,b) +# define perl_get_cv(a,b) get_cv(a,b) +# define perl_init_i18nl10n(a) init_i18nl10n(a) +# define perl_init_i18nl14n(a) init_i18nl14n(a) +# define perl_new_ctype(a) new_ctype(a) +# define perl_new_collate(a) new_collate(a) +# define perl_new_numeric(a) new_numeric(a) + +/* varargs functions can't be handled with CPP macros. :-( + This provides a set of compatibility functions that don't take + an extra argument but grab the context pointer using the macro + dTHX. + */ +#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT) +# define croak Perl_croak_nocontext +# define deb Perl_deb_nocontext +# define die Perl_die_nocontext +# define form Perl_form_nocontext +# define load_module Perl_load_module_nocontext +# define mess Perl_mess_nocontext +# define newSVpvf Perl_newSVpvf_nocontext +# define sv_catpvf Perl_sv_catpvf_nocontext +# define sv_setpvf Perl_sv_setpvf_nocontext +# define warn Perl_warn_nocontext +# define warner Perl_warner_nocontext +# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext +# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext +#endif + +#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */ + +#if !defined(PERL_IMPLICIT_CONTEXT) +/* undefined symbols, point them back at the usual ones */ +# define Perl_croak_nocontext Perl_croak +# define Perl_die_nocontext Perl_die +# define Perl_deb_nocontext Perl_deb +# define Perl_form_nocontext Perl_form +# define Perl_load_module_nocontext Perl_load_module +# define Perl_mess_nocontext Perl_mess +# define Perl_newSVpvf_nocontext Perl_newSVpvf +# define Perl_sv_catpvf_nocontext Perl_sv_catpvf +# define Perl_sv_setpvf_nocontext Perl_sv_setpvf +# define Perl_warn_nocontext Perl_warn +# define Perl_warner_nocontext Perl_warner +# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg +# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg +#endif diff --git a/gnu/usr.bin/perl/embed.pl b/gnu/usr.bin/perl/embed.pl index 497b97df355..593ab19f554 100644 --- a/gnu/usr.bin/perl/embed.pl +++ b/gnu/usr.bin/perl/embed.pl @@ -1,6 +1,184 @@ #!/usr/bin/perl -w -require 5.003; +require 5.003; # keep this compatible, an old perl is all we may have before + # we build the new one + +# +# See database of global and static function prototypes at the __END__. +# This is used to generate prototype headers under various configurations, +# export symbols lists for different platforms, and macros to provide an +# implicit interpreter context argument. +# + +my $END = tell DATA; + +# walk table providing an array of components in each line to +# subroutine, printing the result +sub walk_table (&@) { + my $function = shift; + my $filename = shift || '-'; + my $leader = shift; + my $trailer = shift; + my $F; + local *F; + if (ref $filename) { # filehandle + $F = $filename; + } + else { + open F, ">$filename" or die "Can't open $filename: $!"; + $F = \*F; + } + print $F $leader if $leader; + seek DATA, $END, 0; # so we may restart + while () { + chomp; + next if /^:/; + while (s|\\$||) { + $_ .= ; + chomp; + } + my @args; + if (/^\s*(#|$)/) { + @args = $_; + } + else { + @args = split /\s*\|\s*/, $_; + } + print $F $function->(@args); + } + print $F $trailer if $trailer; + close $F unless ref $filename; +} + +sub munge_c_files () { + my $functions = {}; + unless (@ARGV) { + warn "\@ARGV empty, nothing to do\n"; + return; + } + walk_table { + if (@_ > 1) { + $functions->{$_[2]} = \@_ if $_[@_-1] =~ /\.\.\./; + } + } '/dev/null'; + local $^I = '.bak'; + while (<>) { +# if (/^#\s*include\s+"perl.h"/) { +# my $file = uc $ARGV; +# $file =~ s/\./_/g; +# print "#define PERL_IN_$file\n"; +# } +# s{^(\w+)\s*\(} +# { +# my $f = $1; +# my $repl = "$f("; +# if (exists $functions->{$f}) { +# my $flags = $functions->{$f}[0]; +# $repl = "Perl_$repl" if $flags =~ /p/; +# unless ($flags =~ /n/) { +# $repl .= "pTHX"; +# $repl .= "_ " if @{$functions->{$f}} > 3; +# } +# warn("$ARGV:$.:$repl\n"); +# } +# $repl; +# }e; + s{(\b(\w+)[ \t]*\([ \t]*(?!aTHX))} + { + my $repl = $1; + my $f = $2; + if (exists $functions->{$f}) { + $repl .= "aTHX_ "; + warn("$ARGV:$.:$`#$repl#$'"); + } + $repl; + }eg; + print; + close ARGV if eof; # restart $. + } + exit; +} + +#munge_c_files(); + +# generate proto.h +my $wrote_protected = 0; + +sub write_protos { + my $ret = ""; + if (@_ == 1) { + my $arg = shift; + $ret .= "$arg\n"; + } + else { + my ($flags,$retval,$func,@args) = @_; + if ($flags =~ /s/) { + $retval = "STATIC $retval"; + $func = "S_$func"; + } + else { + $retval = "PERL_CALLCONV $retval"; + if ($flags =~ /p/) { + $func = "Perl_$func"; + } + } + $ret .= "$retval\t$func("; + unless ($flags =~ /n/) { + $ret .= "pTHX"; + $ret .= "_ " if @args; + } + if (@args) { + $ret .= join ", ", @args; + } + else { + $ret .= "void" if $flags =~ /n/; + } + $ret .= ")"; + $ret .= " __attribute__((noreturn))" if $flags =~ /r/; + if( $flags =~ /f/ ) { + my $prefix = $flags =~ /n/ ? '' : 'pTHX_'; + my $args = scalar @args; + $ret .= "\n#ifdef CHECK_FORMAT\n"; + $ret .= sprintf " __attribute__((format(printf,%s%d,%s%d)))", + $prefix, $args - 1, $prefix, $args; + $ret .= "\n#endif\n"; + } + $ret .= ";\n"; + } + $ret; +} + +# generates global.sym (API export list), and populates %global with global symbols +sub write_global_sym { + my $ret = ""; + if (@_ > 1) { + my ($flags,$retval,$func,@args) = @_; + if ($flags =~ /A/ && $flags !~ /x/) { # public API, so export + $func = "Perl_$func" if $flags =~ /p/; + $ret = "$func\n"; + } + } + $ret; +} + + +walk_table(\&write_protos, 'proto.h', <<'EOT'); +/* + * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + * This file is autogenerated from data in embed.pl. Edit that file + * and run 'make regen_headers' to effect changes. + */ + +EOT + +walk_table(\&write_global_sym, 'global.sym', <<'EOT'); +# +# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! +# This file is autogenerated from data in embed.pl. Edit that file +# and run 'make regen_headers' to effect changes. +# + +EOT # XXX others that may need adding # warnhook @@ -9,6 +187,7 @@ require 5.003; my @extvars = qw(sv_undef sv_yes sv_no na dowarn curcop compiling tainting tainted stack_base stack_sp sv_arenaroot + no_modify curstash DBsub DBsingle debstash rsfp stdingv @@ -23,31 +202,37 @@ my @extvars = qw(sv_undef sv_yes sv_no na dowarn sub readsyms (\%$) { my ($syms, $file) = @_; - %$syms = (); local (*FILE, $_); open(FILE, "< $file") or die "embed.pl: Can't open $file: $!\n"; while () { s/[ \t]*#.*//; # Delete comments. if (/^\s*(\S+)\s*$/) { - $$syms{$1} = 1; + my $sym = $1; + warn "duplicate symbol $sym while processing $file\n" + if exists $$syms{$sym}; + $$syms{$sym} = 1; } } close(FILE); } -readsyms %global, 'global.sym'; +# Perl_pp_* and Perl_ck_* are in pp.sym +readsyms my %ppsym, 'pp.sym'; -sub readvars(\%$$) { - my ($syms, $file,$pre) = @_; - %$syms = (); +sub readvars(\%$$@) { + my ($syms, $file,$pre,$keep_pre) = @_; local (*FILE, $_); open(FILE, "< $file") or die "embed.pl: Can't open $file: $!\n"; while () { s/[ \t]*#.*//; # Delete comments. - if (/PERLVARI?C?\($pre(\w+)/) { - $$syms{$1} = 1; + if (/PERLVARA?I?C?\($pre(\w+)/) { + my $sym = $1; + $sym = $pre . $sym if $keep_pre; + warn "duplicate symbol $sym while processing $file\n" + if exists $$syms{$sym}; + $$syms{$sym} = $pre || 1; } } close(FILE); @@ -60,93 +245,293 @@ readvars %intrp, 'intrpvar.h','I'; readvars %thread, 'thrdvar.h','T'; readvars %globvar, 'perlvars.h','G'; -foreach my $sym (sort keys %intrp) - { - if (exists $global{$sym}) - { - delete $global{$sym}; - warn "$sym in global.sym as well as intrpvar.h\n"; - } - } - -foreach my $sym (sort keys %globvar) - { - if (exists $global{$sym}) - { - delete $global{$sym}; - warn "$sym in global.sym as well as perlvars.h\n"; - } - } - -foreach my $sym (sort keys %thread) - { +foreach my $sym (sort keys %thread) { warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym}; - if (exists $global{$sym}) - { - delete $global{$sym}; - warn "$sym in global.sym as well as thrdvar.h\n"; - } - } +} + +sub undefine ($) { + my ($sym) = @_; + "#undef $sym\n"; +} sub hide ($$) { my ($from, $to) = @_; my $t = int(length($from) / 8); "#define $from" . "\t" x ($t < 3 ? 3 - $t : 1) . "$to\n"; } -sub embed ($) { - my ($sym) = @_; - hide($sym, "Perl_$sym"); -} -sub embedvar ($) { - my ($sym) = @_; -# hide($sym, "Perl_$sym"); - return ''; + +sub bincompat_var ($$) { + my ($pfx, $sym) = @_; + my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHXo'); + undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr($arg))"); } sub multon ($$$) { my ($sym,$pre,$ptr) = @_; hide("PL_$sym", "($ptr$pre$sym)"); } + sub multoff ($$) { my ($sym,$pre) = @_; return hide("PL_$pre$sym", "PL_$sym"); } unlink 'embed.h'; -open(EM, '> embed.h') - or die "Can't create embed.h: $!\n"; +open(EM, '> embed.h') or die "Can't create embed.h: $!\n"; print EM <<'END'; /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by embed.pl from global.sym, intrpvar.h, - and thrdvar.h. Any changes made here will be lost! + This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, + perlvars.h and thrdvar.h. Any changes made here will be lost! */ /* (Doing namespace management portably in C is really gross.) */ -/* EMBED has no run-time penalty, but helps keep the Perl namespace - from colliding with that used by other libraries pulled in - by extensions or by embedding perl. Allow a cc -DNO_EMBED - override, however, to keep binary compatability with previous - versions of perl. -*/ -#ifndef NO_EMBED -# define EMBED 1 +/* NO_EMBED is no longer supported. i.e. EMBED is always active. */ + +/* provide binary compatible (but inconsistent) names */ +#if defined(PERL_BINCOMPAT_5005) +# define Perl_call_atexit perl_atexit +# define Perl_eval_sv perl_eval_sv +# define Perl_eval_pv perl_eval_pv +# define Perl_call_argv perl_call_argv +# define Perl_call_method perl_call_method +# define Perl_call_pv perl_call_pv +# define Perl_call_sv perl_call_sv +# define Perl_get_av perl_get_av +# define Perl_get_cv perl_get_cv +# define Perl_get_hv perl_get_hv +# define Perl_get_sv perl_get_sv +# define Perl_init_i18nl10n perl_init_i18nl10n +# define Perl_init_i18nl14n perl_init_i18nl14n +# define Perl_new_collate perl_new_collate +# define Perl_new_ctype perl_new_ctype +# define Perl_new_numeric perl_new_numeric +# define Perl_require_pv perl_require_pv +# define Perl_safesyscalloc Perl_safecalloc +# define Perl_safesysfree Perl_safefree +# define Perl_safesysmalloc Perl_safemalloc +# define Perl_safesysrealloc Perl_saferealloc +# define Perl_set_numeric_local perl_set_numeric_local +# define Perl_set_numeric_standard perl_set_numeric_standard +/* malloc() pollution was the default in earlier versions, so enable + * it for bincompat; but not for systems that used to do prevent that, + * or when they ask for {HIDE,EMBED}MYMALLOC */ +# if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC) +# if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \ + !defined(__QNX__) +# define PERL_POLLUTE_MALLOC +# endif +# endif #endif -/* Hide global symbols? */ +/* Hide global symbols */ -#ifdef EMBED +#if !defined(PERL_OBJECT) +#if !defined(PERL_IMPLICIT_CONTEXT) END -for $sym (sort keys %global) { - print EM embed($sym); +walk_table { + my $ret = ""; + if (@_ == 1) { + my $arg = shift; + $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; + } + else { + my ($flags,$retval,$func,@args) = @_; + unless ($flags =~ /o/) { + if ($flags =~ /s/) { + $ret .= hide($func,"S_$func"); + } + elsif ($flags =~ /p/) { + $ret .= hide($func,"Perl_$func"); + } + } + } + $ret; +} \*EM; + +for $sym (sort keys %ppsym) { + $sym =~ s/^Perl_//; + print EM hide($sym, "Perl_$sym"); } print EM <<'END'; -#endif /* EMBED */ +#else /* PERL_IMPLICIT_CONTEXT */ + +END + +my @az = ('a'..'z'); + +walk_table { + my $ret = ""; + if (@_ == 1) { + my $arg = shift; + $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; + } + else { + my ($flags,$retval,$func,@args) = @_; + unless ($flags =~ /o/) { + my $args = scalar @args; + if ($args and $args[$args-1] =~ /\.\.\./) { + # we're out of luck for varargs functions under CPP + } + elsif ($flags =~ /n/) { + if ($flags =~ /s/) { + $ret .= hide($func,"S_$func"); + } + elsif ($flags =~ /p/) { + $ret .= hide($func,"Perl_$func"); + } + } + else { + my $alist = join(",", @az[0..$args-1]); + $ret = "#define $func($alist)"; + my $t = int(length($ret) / 8); + $ret .= "\t" x ($t < 4 ? 4 - $t : 1); + if ($flags =~ /s/) { + $ret .= "S_$func(aTHX"; + } + elsif ($flags =~ /p/) { + $ret .= "Perl_$func(aTHX"; + } + $ret .= "_ " if $alist; + $ret .= $alist . ")\n"; + } + } + } + $ret; +} \*EM; + +for $sym (sort keys %ppsym) { + $sym =~ s/^Perl_//; + if ($sym =~ /^ck_/) { + print EM hide("$sym(a)", "Perl_$sym(aTHX_ a)"); + } + elsif ($sym =~ /^pp_/) { + print EM hide("$sym()", "Perl_$sym(aTHX)"); + } + else { + warn "Illegal symbol '$sym' in pp.sym"; + } +} + +print EM <<'END'; + +#endif /* PERL_IMPLICIT_CONTEXT */ +#else /* PERL_OBJECT */ + +END + +walk_table { + my $ret = ""; + if (@_ == 1) { + my $arg = shift; + $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; + } + else { + my ($flags,$retval,$func,@args) = @_; + if ($flags =~ /s/) { + $ret .= hide("S_$func","CPerlObj::S_$func") if $flags !~ /j/; + $ret .= hide($func,"S_$func"); + } + elsif ($flags =~ /p/) { + $ret .= hide("Perl_$func","CPerlObj::Perl_$func") if $flags !~ /j/; + $ret .= hide($func,"Perl_$func"); + } + else { + $ret .= hide($func,"CPerlObj::$func") if $flags !~ /j/; + } + } + $ret; +} \*EM; + +for $sym (sort keys %ppsym) { + $sym =~ s/^Perl_//; + print EM hide("Perl_$sym", "CPerlObj::Perl_$sym"); + print EM hide($sym, "Perl_$sym"); +} + +print EM <<'END'; + +#endif /* PERL_OBJECT */ + +/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to + disable them. + */ + +#if !defined(PERL_CORE) +# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr)) +# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr)) +#endif + +#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005) + +/* Compatibility for various misnamed functions. All functions + in the API that begin with "perl_" (not "Perl_") take an explicit + interpreter context pointer. + The following are not like that, but since they had a "perl_" + prefix in previous versions, we provide compatibility macros. + */ +# define perl_atexit(a,b) call_atexit(a,b) +# define perl_call_argv(a,b,c) call_argv(a,b,c) +# define perl_call_pv(a,b) call_pv(a,b) +# define perl_call_method(a,b) call_method(a,b) +# define perl_call_sv(a,b) call_sv(a,b) +# define perl_eval_sv(a,b) eval_sv(a,b) +# define perl_eval_pv(a,b) eval_pv(a,b) +# define perl_require_pv(a) require_pv(a) +# define perl_get_sv(a,b) get_sv(a,b) +# define perl_get_av(a,b) get_av(a,b) +# define perl_get_hv(a,b) get_hv(a,b) +# define perl_get_cv(a,b) get_cv(a,b) +# define perl_init_i18nl10n(a) init_i18nl10n(a) +# define perl_init_i18nl14n(a) init_i18nl14n(a) +# define perl_new_ctype(a) new_ctype(a) +# define perl_new_collate(a) new_collate(a) +# define perl_new_numeric(a) new_numeric(a) + +/* varargs functions can't be handled with CPP macros. :-( + This provides a set of compatibility functions that don't take + an extra argument but grab the context pointer using the macro + dTHX. + */ +#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT) +# define croak Perl_croak_nocontext +# define deb Perl_deb_nocontext +# define die Perl_die_nocontext +# define form Perl_form_nocontext +# define load_module Perl_load_module_nocontext +# define mess Perl_mess_nocontext +# define newSVpvf Perl_newSVpvf_nocontext +# define sv_catpvf Perl_sv_catpvf_nocontext +# define sv_setpvf Perl_sv_setpvf_nocontext +# define warn Perl_warn_nocontext +# define warner Perl_warner_nocontext +# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext +# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext +#endif + +#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */ + +#if !defined(PERL_IMPLICIT_CONTEXT) +/* undefined symbols, point them back at the usual ones */ +# define Perl_croak_nocontext Perl_croak +# define Perl_die_nocontext Perl_die +# define Perl_deb_nocontext Perl_deb +# define Perl_form_nocontext Perl_form +# define Perl_load_module_nocontext Perl_load_module +# define Perl_mess_nocontext Perl_mess +# define Perl_newSVpvf_nocontext Perl_newSVpvf +# define Perl_sv_catpvf_nocontext Perl_sv_catpvf +# define Perl_sv_setpvf_nocontext Perl_sv_setpvf +# define Perl_warn_nocontext Perl_warn +# define Perl_warner_nocontext Perl_warner +# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg +# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg +#endif END @@ -158,110 +543,130 @@ open(EM, '> embedvar.h') print EM <<'END'; /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by embed.pl from global.sym, intrpvar.h, - and thrdvar.h. Any changes made here will be lost! + This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, + perlvars.h and thrdvar.h. Any changes made here will be lost! */ /* (Doing namespace management portably in C is really gross.) */ -/* EMBED has no run-time penalty, but helps keep the Perl namespace - from colliding with that used by other libraries pulled in - by extensions or by embedding perl. Allow a cc -DNO_EMBED - override, however, to keep binary compatability with previous - versions of perl. -*/ +/* + The following combinations of MULTIPLICITY, USE_THREADS, PERL_OBJECT + and PERL_IMPLICIT_CONTEXT are supported: + 1) none + 2) MULTIPLICITY # supported for compatibility + 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT + 4) USE_THREADS && PERL_IMPLICIT_CONTEXT + 5) MULTIPLICITY && USE_THREADS && PERL_IMPLICIT_CONTEXT + 6) PERL_OBJECT && PERL_IMPLICIT_CONTEXT + All other combinations of these flags are errors. -/* Put interpreter-specific symbols into a struct? */ + #3, #4, #5, and #6 are supported directly, while #2 is a special + case of #3 (supported by redefining vTHX appropriately). +*/ -#ifdef MULTIPLICITY +#if defined(MULTIPLICITY) +/* cases 2, 3 and 5 above */ -#ifndef USE_THREADS -/* If we do not have threads then per-thread vars are per-interpreter */ +# if defined(PERL_IMPLICIT_CONTEXT) +# define vTHX aTHX +# else +# define vTHX PERL_GET_INTERP +# endif END for $sym (sort keys %thread) { - print EM multon($sym,'T','PL_curinterp->'); + print EM multon($sym,'T','vTHX->'); } print EM <<'END'; -#endif /* !USE_THREADS */ +# if defined(PERL_OBJECT) +# include "error: PERL_OBJECT + MULTIPLICITY don't go together" +# endif -/* These are always per-interpreter if there is more than one */ +# if defined(USE_THREADS) +/* case 5 above */ END for $sym (sort keys %intrp) { - print EM multon($sym,'I','PL_curinterp->'); + print EM multon($sym,'I','PERL_GET_INTERP->'); } print EM <<'END'; -#else /* !MULTIPLICITY */ +# else /* !USE_THREADS */ +/* cases 2 and 3 above */ END for $sym (sort keys %intrp) { - print EM multoff($sym,'I'); + print EM multon($sym,'I','vTHX->'); } print EM <<'END'; -#ifndef USE_THREADS +# endif /* USE_THREADS */ + +#else /* !MULTIPLICITY */ + +# if defined(PERL_OBJECT) +/* case 6 above */ END for $sym (sort keys %thread) { - print EM multoff($sym,'T'); + print EM multon($sym,'T','aTHXo->interp.'); } -print EM <<'END'; -#endif /* USE_THREADS */ +for $sym (sort keys %intrp) { + print EM multon($sym,'I','aTHXo->interp.'); +} + +print EM <<'END'; -/* Hide what would have been interpreter-specific symbols? */ +# else /* !PERL_OBJECT */ -#ifdef EMBED +/* cases 1 and 4 above */ END for $sym (sort keys %intrp) { - print EM embedvar($sym); + print EM multoff($sym,'I'); } print EM <<'END'; -#ifndef USE_THREADS +# if defined(USE_THREADS) +/* case 4 above */ END for $sym (sort keys %thread) { - print EM embedvar($sym); + print EM multon($sym,'T','aTHX->'); } print EM <<'END'; -#endif /* USE_THREADS */ -#endif /* EMBED */ -#endif /* MULTIPLICITY */ - -/* Now same trickey for per-thread variables */ - -#ifdef USE_THREADS +# else /* !USE_THREADS */ +/* case 1 above */ END for $sym (sort keys %thread) { - print EM multon($sym,'T','thr->'); + print EM multoff($sym,'T'); } print EM <<'END'; -#endif /* USE_THREADS */ +# endif /* USE_THREADS */ +# endif /* PERL_OBJECT */ +#endif /* MULTIPLICITY */ -#ifdef PERL_GLOBAL_STRUCT +#if defined(PERL_GLOBAL_STRUCT) END @@ -281,35 +686,1809 @@ for $sym (sort keys %globvar) { print EM <<'END'; -#ifdef EMBED +#endif /* PERL_GLOBAL_STRUCT */ + +#ifdef PERL_POLLUTE /* disabled by default in 5.6.0 */ END -for $sym (sort keys %globvar) { - print EM embedvar($sym); +for $sym (sort @extvars) { + print EM hide($sym,"PL_$sym"); } print EM <<'END'; -#endif /* EMBED */ -#endif /* PERL_GLOBAL_STRUCT */ - +#endif /* PERL_POLLUTE */ END -print EM <<'END'; +close(EM); + +unlink 'objXSUB.h'; +open(OBX, '> objXSUB.h') + or die "Can't create objXSUB.h: $!\n"; + +print OBX <<'EOT'; +/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, + perlvars.h and thrdvar.h. Any changes made here will be lost! +*/ + +#ifndef __objXSUB_h__ +#define __objXSUB_h__ + +/* method calls via pPerl (static functions without a "this" pointer need these) */ + +#if defined(PERL_CORE) && defined(PERL_OBJECT) + +/* XXX soon to be eliminated, only a few things in PERLCORE need these now */ + +EOT + +walk_table { + my $ret = ""; + if (@_ == 1) { + my $arg = shift; + $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; + } + else { + my ($flags,$retval,$func,@args) = @_; + if ($flags =~ /A/ && $flags !~ /j/) { # API function needing macros + if ($flags =~ /p/) { + $ret .= undefine("Perl_$func") . hide("Perl_$func","pPerl->Perl_$func"); + $ret .= undefine($func) . hide($func,"Perl_$func"); + } + else { + $ret .= undefine($func) . hide($func,"pPerl->$func"); + } + } + } + $ret; +} \*OBX; + +# NOTE: not part of API +#for $sym (sort keys %ppsym) { +# $sym =~ s/^Perl_//; +# print OBX undefine("Perl_$sym") . hide("Perl_$sym", "pPerl->Perl_$sym"); +# print OBX undefine($sym) . hide($sym, "Perl_$sym"); +#} + +print OBX <<'EOT'; + +#endif /* PERL_CORE && PERL_OBJECT */ +#endif /* __objXSUB_h__ */ +EOT + +close(OBX); + +unlink 'perlapi.h'; +unlink 'perlapi.c'; +open(CAPI, '> perlapi.c') or die "Can't create perlapi.c: $!\n"; +open(CAPIH, '> perlapi.h') or die "Can't create perlapi.h: $!\n"; + +print CAPIH <<'EOT'; +/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, + perlvars.h and thrdvar.h. Any changes made here will be lost! +*/ + +/* declare accessor functions for Perl variables */ +#ifndef __perlapi_h__ +#define __perlapi_h__ + +#if defined(PERL_OBJECT) || defined (MULTIPLICITY) + +#if defined(PERL_OBJECT) +# undef aTHXo +# define aTHXo pPerl +# undef aTHXo_ +# define aTHXo_ aTHXo, +#endif /* PERL_OBJECT */ + +START_EXTERN_C + +#undef PERLVAR +#undef PERLVARA +#undef PERLVARI +#undef PERLVARIC +#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHXo); +#define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \ + EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHXo); +#define PERLVARI(v,t,i) PERLVAR(v,t) +#define PERLVARIC(v,t,i) PERLVAR(v, const t) + +#include "thrdvar.h" +#include "intrpvar.h" +#include "perlvars.h" + +#undef PERLVAR +#undef PERLVARA +#undef PERLVARI +#undef PERLVARIC + +END_EXTERN_C + +#if defined(PERL_CORE) + +/* accessor functions for Perl variables (provide binary compatibility) */ + +/* these need to be mentioned here, or most linkers won't put them in + the perl executable */ + +#ifndef PERL_NO_FORCE_LINK + +START_EXTERN_C + +#ifndef DOINIT +EXT void *PL_force_link_funcs[]; +#else +EXT void *PL_force_link_funcs[] = { +#undef PERLVAR +#undef PERLVARA +#undef PERLVARI +#undef PERLVARIC +#define PERLVAR(v,t) (void*)Perl_##v##_ptr, +#define PERLVARA(v,n,t) PERLVAR(v,t) +#define PERLVARI(v,t,i) PERLVAR(v,t) +#define PERLVARIC(v,t,i) PERLVAR(v,t) + +#include "thrdvar.h" +#include "intrpvar.h" +#include "perlvars.h" + +#undef PERLVAR +#undef PERLVARA +#undef PERLVARI +#undef PERLVARIC +}; +#endif /* DOINIT */ + +START_EXTERN_C + +#endif /* PERL_NO_FORCE_LINK */ + +#else /* !PERL_CORE */ + +EOT + +foreach my $sym (sort keys %intrp) { + print CAPIH bincompat_var('I',$sym); +} + +foreach my $sym (sort keys %thread) { + print CAPIH bincompat_var('T',$sym); +} + +foreach my $sym (sort keys %globvar) { + print CAPIH bincompat_var('G',$sym); +} -#ifndef MIN_PERL_DEFINE +print CAPIH <<'EOT'; + +#endif /* !PERL_CORE */ +#endif /* PERL_OBJECT || MULTIPLICITY */ + +#endif /* __perlapi_h__ */ + +EOT +close CAPIH; + +print CAPI <<'EOT'; +/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h, + perlvars.h and thrdvar.h. Any changes made here will be lost! +*/ + +#include "EXTERN.h" +#include "perl.h" +#include "perlapi.h" + +#if defined(PERL_OBJECT) || defined (MULTIPLICITY) + +/* accessor functions for Perl variables (provides binary compatibility) */ +START_EXTERN_C + +#undef PERLVAR +#undef PERLVARA +#undef PERLVARI +#undef PERLVARIC + +#if defined(PERL_OBJECT) +#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \ + { return &(aTHXo->interp.v); } +#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ + { return &(aTHXo->interp.v); } +#else /* MULTIPLICITY */ +#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHX) \ + { return &(aTHX->v); } +#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHX) \ + { return &(aTHX->v); } +#endif + +#define PERLVARI(v,t,i) PERLVAR(v,t) +#define PERLVARIC(v,t,i) PERLVAR(v, const t) + +#include "thrdvar.h" +#include "intrpvar.h" + +#undef PERLVAR +#undef PERLVARA +#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \ + { return &(PL_##v); } +#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \ + { return &(PL_##v); } +#include "perlvars.h" + +#undef PERLVAR +#undef PERLVARA +#undef PERLVARI +#undef PERLVARIC + +#if defined(PERL_OBJECT) + +/* C-API layer for PERL_OBJECT */ + +EOT + +# functions that take va_list* for implementing vararg functions +# NOTE: makedef.pl must be updated if you add symbols to %vfuncs +my %vfuncs = qw( + Perl_croak Perl_vcroak + Perl_warn Perl_vwarn + Perl_warner Perl_vwarner + Perl_die Perl_vdie + Perl_form Perl_vform + Perl_load_module Perl_vload_module + Perl_mess Perl_vmess + Perl_deb Perl_vdeb + Perl_newSVpvf Perl_vnewSVpvf + Perl_sv_setpvf Perl_sv_vsetpvf + Perl_sv_setpvf_mg Perl_sv_vsetpvf_mg + Perl_sv_catpvf Perl_sv_vcatpvf + Perl_sv_catpvf_mg Perl_sv_vcatpvf_mg + Perl_dump_indent Perl_dump_vindent + Perl_default_protect Perl_vdefault_protect +); + +sub emit_func { + my ($addcontext, $rettype,$func,@args) = @_; + my @aargs = @args; + my $a; + for $a (@aargs) { $a =~ s/^.*\b(\w+)$/$1/ } + my $ctxarg = ''; + if (not $addcontext) { + $ctxarg = 'pTHXo'; + $ctxarg .= '_ ' if @args; + } + my $decl = ''; + if ($addcontext) { + $decl .= " dTHXo;\n"; + } + local $" = ', '; + my $return = ($rettype =~ /^\s*(void|Free_t|Signal_t)\s*$/ + ? '' : 'return '); + my $emitval = ''; + if (@args and $args[$#args] =~ /\.\.\./) { + pop @aargs; + my $retarg = ''; + my $ctxfunc = $func; + $ctxfunc =~ s/_nocontext$//; + return $emitval unless exists $vfuncs{$ctxfunc}; + if (length $return) { + $decl .= " $rettype retval;\n"; + $retarg .= "retval = "; + $return = "\n ${return}retval;\n"; + } + $emitval .= <$vfuncs{$ctxfunc}(@aargs, &args); + va_end(args);$return +} +EOT + } + else { + $emitval .= <$func(@aargs); +} +EOT + } + $emitval; +} + +# XXXX temporary hack +my $sym; +for $sym (qw( + perl_construct + perl_destruct + perl_free + perl_run + perl_parse + )) +{ + $skipapi_funcs{$sym}++; +} + +walk_table { + my $ret = ""; + if (@_ == 1) { + my $arg = shift; + $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/; + } + else { + my ($flags,$retval,$func,@args) = @_; + return $ret if exists $skipapi_funcs{$func}; + if ($flags =~ /A/ && $flags !~ /j/) { # in public API, needed for XSUBS + $ret .= "\n"; + my $addctx = 1 if $flags =~ /n/; + if ($flags =~ /p/) { + $ret .= undefine("Perl_$func"); + $ret .= emit_func($addctx,$retval,"Perl_$func",@args); + } + else { + $ret .= undefine($func); + $ret .= emit_func($addctx,$retval,$func,@args); + } + } + } + $ret; +} \*CAPI; + +# NOTE: not part of the API +#for $sym (sort keys %ppsym) { +# $sym =~ s/^Perl_//; +# print CAPI "\n"; +# print CAPI undefine("Perl_$sym"); +# if ($sym =~ /^ck_/) { +# print CAPI emit_func(0, 'OP *',"Perl_$sym",'OP *o'); +# } +# else { # pp_foo +# print CAPI emit_func(0, 'OP *',"Perl_$sym"); +# } +#} + +print CAPI <<'EOT'; + +#undef Perl_fprintf_nocontext +int +Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...) +{ + dTHXo; + va_list(arglist); + va_start(arglist, format); + return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist); +} + +END_EXTERN_C + +#endif /* PERL_OBJECT */ +#endif /* PERL_OBJECT || MULTIPLICITY */ +EOT + +close(CAPI); + +# autogenerate documentation from comments in source files + +my %apidocs; +my %gutsdocs; +my %docfuncs; + +sub autodoc ($) { # parse a file and extract documentation info + my($fh) = @_; + my($in, $doc); + +FUNC: + while (defined($in = <$fh>)) { + if ($in =~ /^=for\s+apidoc\s+(.*)\n/) { + my $proto = $1; + $proto = "||$proto" unless $proto =~ /\|/; + my($flags, $ret, $name, @args) = split /\|/, $proto; + my $docs = ""; +DOC: + while (defined($doc = <$fh>)) { + last DOC if $doc =~ /^=\w+/; + $docs .= $doc; + } + $docs = "\n$docs" if $docs and $docs !~ /^\n/; + if ($flags =~ /m/) { + if ($flags =~ /A/) { + $apidocs{$name} = [$flags, $docs, $ret, @args]; + } + else { + $gutsdocs{$name} = [$flags, $docs, $ret, @args]; + } + } + else { + $docfuncs{$name} = [$flags, $docs, $ret, @args]; + } + if ($doc =~ /^=for/) { + $in = $doc; + redo FUNC; + } + } + } +} + +sub docout ($$$) { # output the docs for one function + my($fh, $name, $docref) = @_; + my($flags, $docs, $ret, @args) = @$docref; + + $docs .= "NOTE: the perl_ form of this function is deprecated.\n\n" + if $flags =~ /p/; + + print $fh "=item $name\n$docs"; + + if ($flags =~ /U/) { # no usage + # nothing + } elsif ($flags =~ /s/) { # semicolon ("dTHR;") + print $fh "\t\t$name;\n\n"; + } elsif ($flags =~ /n/) { # no args + print $fh "\t$ret\t$name\n\n"; + } else { # full usage + print $fh "\t$ret\t$name"; + print $fh "(" . join(", ", @args) . ")"; + print $fh "\n\n"; + } +} + +my $file; +for $file (glob('*.c'), glob('*.h')) { + open F, "< $file" or die "Cannot open $file for docs: $!\n"; + autodoc(\*F); + close F or die "Error closing $file: $!\n"; +} + +unlink "pod/perlapi.pod"; +open (DOC, ">pod/perlapi.pod") or + die "Can't create pod/perlapi.pod: $!\n"; + +walk_table { # load documented functions into approriate hash + if (@_ > 1) { + my($flags, $retval, $func, @args) = @_; + return "" unless $flags =~ /d/; + $func =~ s/\t//g; $flags =~ s/p//; # clean up fields from embed.pl + $retval =~ s/\t//; + if ($flags =~ /A/) { + my $docref = delete $docfuncs{$func}; + warn "no docs for $func\n" unless $docref and @$docref; + $apidocs{$func} = [$docref->[0] . 'A', $docref->[1], $retval, @args]; + } else { + my $docref = delete $docfuncs{$func}; + $gutsdocs{$func} = [$docref->[0], $docref->[1], $retval, @args]; + } + } + return ""; +} \*DOC; + +for (sort keys %docfuncs) { + warn "Unable to place $_!\n"; +} + +print DOC <<'_EOB_'; +=head1 NAME + +perlapi - autogenerated documentation for the perl public API + +=head1 DESCRIPTION + +This file contains the documentation of the perl public API generated by +embed.pl, specifically a listing of functions, macros, flags, and variables +that may be used by extension writers. The interfaces of any functions that +are not listed here are subject to change without notice. For this reason, +blindly using functions listed in proto.h is to be avoided when writing +extensions. + +Note that all Perl API global variables must be referenced with the C +prefix. Some macros are provided for compatibility with the older, +unadorned names, but this support may be disabled in a future release. + +The listing is alphabetical, case insensitive. + +=over 8 + +_EOB_ + +my $key; +for $key (sort { uc($a) cmp uc($b); } keys %apidocs) { # case insensitive sort + docout(\*DOC, $key, $apidocs{$key}); +} + +print DOC <<'_EOE_'; +=back + +=head1 AUTHORS + +Until May 1997, this document was maintained by Jeff Okamoto +. It is now maintained as part of Perl itself. + +With lots of help and suggestions from Dean Roehrich, Malcolm Beattie, +Andreas Koenig, Paul Hudson, Ilya Zakharevich, Paul Marquess, Neil +Bowers, Matthew Green, Tim Bunce, Spider Boardman, Ulrich Pfeifer, +Stephen McCamant, and Gurusamy Sarathy. + +API Listing originally by Dean Roehrich . + +Updated to be autogenerated from comments in the source by Benjamin Stuhl. + +=head1 SEE ALSO + +perlguts(1), perlxs(1), perlxstut(1), perlintern(1) + +_EOE_ + + +close(DOC); + +open(GUTS, ">pod/perlintern.pod") or + die "Unable to create pod/perlintern.pod: $!\n"; +print GUTS <<'END'; +=head1 NAME + +perlintern - autogenerated documentation of purely B + Perl functions + +=head1 DESCRIPTION + +This file is the autogenerated documentation of functions in the +Perl intrepreter that are documented using Perl's internal documentation +format but are not marked as part of the Perl API. In other words, +B! + +=over 8 END -for $sym (sort @extvars) { - print EM hide($sym,"PL_$sym"); +for $key (sort { uc($a) cmp uc($b); } keys %gutsdocs) { + docout(\*GUTS, $key, $gutsdocs{$key}); } -print EM <<'END'; +print GUTS <<'END'; +=back + +=head1 AUTHORS + +The autodocumentation system was orignally added to the Perl core by +Benjamin Stuhl. Documentation is by whoever was kind enough to +document their functions. + +=head1 SEE ALSO + +perlguts(1), perlapi(1) -#endif /* MIN_PERL_DEFINE */ END +close GUTS; + + +__END__ + +: Lines are of the form: +: flags|return_type|function_name|arg1|arg2|...|argN +: +: A line may be continued on another by ending it with a backslash. +: Leading and trailing whitespace will be ignored in each component. +: +: flags are single letters with following meanings: +: A member of public API +: d function has documentation with its source +: s static function, should have an S_ prefix in source +: file +: n has no implicit interpreter/thread context argument +: p function has a Perl_ prefix +: f function takes printf style format string, varargs +: r function never returns +: o has no compatibility macro (#define foo Perl_foo) +: j not a member of CPerlObj +: x not exported +: +: Individual flags may be separated by whitespace. +: +: New global functions should be added at the end for binary compatibility +: in some configurations. + +START_EXTERN_C + +#if defined(PERL_IMPLICIT_SYS) +Ajno |PerlInterpreter* |perl_alloc_using \ + |struct IPerlMem* m|struct IPerlMem* ms \ + |struct IPerlMem* mp|struct IPerlEnv* e \ + |struct IPerlStdIO* io|struct IPerlLIO* lio \ + |struct IPerlDir* d|struct IPerlSock* s \ + |struct IPerlProc* p +#endif +Ajnod |PerlInterpreter* |perl_alloc +Ajnod |void |perl_construct |PerlInterpreter* interp +Ajnod |void |perl_destruct |PerlInterpreter* interp +Ajnod |void |perl_free |PerlInterpreter* interp +Ajnod |int |perl_run |PerlInterpreter* interp +Ajnod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \ + |int argc|char** argv|char** env +#if defined(USE_ITHREADS) +: XXX: perl_clone needs docs +Ajno |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags +# if defined(PERL_IMPLICIT_SYS) +Ajno |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \ + |struct IPerlMem* m|struct IPerlMem* ms \ + |struct IPerlMem* mp|struct IPerlEnv* e \ + |struct IPerlStdIO* io|struct IPerlLIO* lio \ + |struct IPerlDir* d|struct IPerlSock* s \ + |struct IPerlProc* p +# endif +#endif -close(EM); +#if defined(MYMALLOC) +Ajnop |Malloc_t|malloc |MEM_SIZE nbytes +Ajnop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size +Ajnop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes +Ajnop |Free_t |mfree |Malloc_t where +jnp |MEM_SIZE|malloced_size |void *p +#endif + +Ajnp |void* |get_context +Ajnp |void |set_context |void *thx + +END_EXTERN_C + +/* functions with flag 'n' should come before here */ +#if defined(PERL_OBJECT) +class CPerlObj { +public: + struct interpreter interp; + CPerlObj(IPerlMem*, IPerlMem*, IPerlMem*, IPerlEnv*, IPerlStdIO*, + IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*); + void* operator new(size_t nSize, IPerlMem *pvtbl); +#ifndef __BORLANDC__ + static void operator delete(void* pPerl, IPerlMem *pvtbl); +#endif + int do_aspawn (void *vreally, void **vmark, void **vsp); +#endif +#if defined(PERL_OBJECT) +public: +#else +START_EXTERN_C +#endif +# include "pp_proto.h" +Ap |SV* |amagic_call |SV* left|SV* right|int method|int dir +Ap |bool |Gv_AMupdate |HV* stash +p |OP* |append_elem |I32 optype|OP* head|OP* tail +p |OP* |append_list |I32 optype|LISTOP* first|LISTOP* last +p |I32 |apply |I32 type|SV** mark|SV** sp +Ap |SV* |avhv_delete_ent|AV *ar|SV* keysv|I32 flags|U32 hash +Ap |bool |avhv_exists_ent|AV *ar|SV* keysv|U32 hash +Ap |SV** |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash +Ap |SV** |avhv_store_ent |AV *ar|SV* keysv|SV* val|U32 hash +Ap |HE* |avhv_iternext |AV *ar +Ap |SV* |avhv_iterval |AV *ar|HE* entry +Ap |HV* |avhv_keys |AV *ar +Apd |void |av_clear |AV* ar +Ap |SV* |av_delete |AV* ar|I32 key|I32 flags +Ap |bool |av_exists |AV* ar|I32 key +Apd |void |av_extend |AV* ar|I32 key +Ap |AV* |av_fake |I32 size|SV** svp +Apd |SV** |av_fetch |AV* ar|I32 key|I32 lval +Ap |void |av_fill |AV* ar|I32 fill +Apd |I32 |av_len |AV* ar +Apd |AV* |av_make |I32 size|SV** svp +Apd |SV* |av_pop |AV* ar +Apd |void |av_push |AV* ar|SV* val +Ap |void |av_reify |AV* ar +Apd |SV* |av_shift |AV* ar +Apd |SV** |av_store |AV* ar|I32 key|SV* val +Apd |void |av_undef |AV* ar +Apd |void |av_unshift |AV* ar|I32 num +p |OP* |bind_match |I32 type|OP* left|OP* pat +p |OP* |block_end |I32 floor|OP* seq +Ap |I32 |block_gimme +p |int |block_start |int full +p |void |boot_core_UNIVERSAL +Ap |void |call_list |I32 oldscope|AV* av_list +p |bool |cando |Mode_t mode|Uid_t effective|Stat_t* statbufp +Ap |U32 |cast_ulong |NV f +Ap |I32 |cast_i32 |NV f +Ap |IV |cast_iv |NV f +Ap |UV |cast_uv |NV f +#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) +Ap |I32 |my_chsize |int fd|Off_t length +#endif +#if defined(USE_THREADS) +Ap |MAGIC* |condpair_magic |SV *sv +#endif +p |OP* |convert |I32 optype|I32 flags|OP* o +Afprd |void |croak |const char* pat|... +Apr |void |vcroak |const char* pat|va_list* args +#if defined(PERL_IMPLICIT_CONTEXT) +Afnrp |void |croak_nocontext|const char* pat|... +Afnp |OP* |die_nocontext |const char* pat|... +Afnp |void |deb_nocontext |const char* pat|... +Afnp |char* |form_nocontext |const char* pat|... +Afnp |void |load_module_nocontext|U32 flags|SV* name|SV* ver|... +Afnp |SV* |mess_nocontext |const char* pat|... +Afnp |void |warn_nocontext |const char* pat|... +Afnp |void |warner_nocontext|U32 err|const char* pat|... +Afnp |SV* |newSVpvf_nocontext|const char* pat|... +Afnp |void |sv_catpvf_nocontext|SV* sv|const char* pat|... +Afnp |void |sv_setpvf_nocontext|SV* sv|const char* pat|... +Afnp |void |sv_catpvf_mg_nocontext|SV* sv|const char* pat|... +Afnp |void |sv_setpvf_mg_nocontext|SV* sv|const char* pat|... +Afnp |int |fprintf_nocontext|PerlIO* stream|const char* fmt|... +#endif +p |void |cv_ckproto |CV* cv|GV* gv|char* p +p |CV* |cv_clone |CV* proto +Ap |SV* |cv_const_sv |CV* cv +p |SV* |op_const_sv |OP* o|CV* cv +Ap |void |cv_undef |CV* cv +Ap |void |cx_dump |PERL_CONTEXT* cs +Ap |SV* |filter_add |filter_t funcp|SV* datasv +Ap |void |filter_del |filter_t funcp +Ap |I32 |filter_read |int idx|SV* buffer|int maxlen +Ap |char** |get_op_descs +Ap |char** |get_op_names +p |char* |get_no_modify +p |U32* |get_opargs +Ap |PPADDR_t*|get_ppaddr +p |I32 |cxinc +Afp |void |deb |const char* pat|... +Ap |void |vdeb |const char* pat|va_list* args +Ap |void |debprofdump +Ap |I32 |debop |OP* o +Ap |I32 |debstack +Ap |I32 |debstackptrs +Ap |char* |delimcpy |char* to|char* toend|char* from \ + |char* fromend|int delim|I32* retlen +p |void |deprecate |char* s +Afp |OP* |die |const char* pat|... +p |OP* |vdie |const char* pat|va_list* args +p |OP* |die_where |char* message|STRLEN msglen +Ap |void |dounwind |I32 cxix +p |bool |do_aexec |SV* really|SV** mark|SV** sp +p |bool |do_aexec5 |SV* really|SV** mark|SV** sp|int fd|int flag +Ap |int |do_binmode |PerlIO *fp|int iotype|int flag +p |void |do_chop |SV* asv|SV* sv +Ap |bool |do_close |GV* gv|bool not_implicit +p |bool |do_eof |GV* gv +p |bool |do_exec |char* cmd +#if !defined(WIN32) +p |bool |do_exec3 |char* cmd|int fd|int flag +#endif +p |void |do_execfree +#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) +p |I32 |do_ipcctl |I32 optype|SV** mark|SV** sp +p |I32 |do_ipcget |I32 optype|SV** mark|SV** sp +p |I32 |do_msgrcv |SV** mark|SV** sp +p |I32 |do_msgsnd |SV** mark|SV** sp +p |I32 |do_semop |SV** mark|SV** sp +p |I32 |do_shmio |I32 optype|SV** mark|SV** sp +#endif +p |void |do_join |SV* sv|SV* del|SV** mark|SV** sp +p |OP* |do_kv +Ap |bool |do_open |GV* gv|char* name|I32 len|int as_raw \ + |int rawmode|int rawperm|PerlIO* supplied_fp +Ap |bool |do_open9 |GV *gv|char *name|I32 len|int as_raw \ + |int rawmode|int rawperm|PerlIO *supplied_fp \ + |SV *svs|I32 num +p |void |do_pipe |SV* sv|GV* rgv|GV* wgv +p |bool |do_print |SV* sv|PerlIO* fp +p |OP* |do_readline +p |I32 |do_chomp |SV* sv +p |bool |do_seek |GV* gv|Off_t pos|int whence +p |void |do_sprintf |SV* sv|I32 len|SV** sarg +p |Off_t |do_sysseek |GV* gv|Off_t pos|int whence +p |Off_t |do_tell |GV* gv +p |I32 |do_trans |SV* sv +p |UV |do_vecget |SV* sv|I32 offset|I32 size +p |void |do_vecset |SV* sv +p |void |do_vop |I32 optype|SV* sv|SV* left|SV* right +p |OP* |dofile |OP* term +Ap |I32 |dowantarray +Ap |void |dump_all +Ap |void |dump_eval +#if defined(DUMP_FDS) +Ap |void |dump_fds |char* s +#endif +Ap |void |dump_form |GV* gv +Ap |void |gv_dump |GV* gv +Ap |void |op_dump |OP* arg +Ap |void |pmop_dump |PMOP* pm +Ap |void |dump_packsubs |HV* stash +Ap |void |dump_sub |GV* gv +Apd |void |fbm_compile |SV* sv|U32 flags +Apd |char* |fbm_instr |unsigned char* big|unsigned char* bigend \ + |SV* littlesv|U32 flags +p |char* |find_script |char *scriptname|bool dosearch \ + |char **search_ext|I32 flags +#if defined(USE_THREADS) +p |PADOFFSET|find_threadsv|const char *name +#endif +p |OP* |force_list |OP* arg +p |OP* |fold_constants |OP* arg +Afp |char* |form |const char* pat|... +Ap |char* |vform |const char* pat|va_list* args +Ap |void |free_tmps +p |OP* |gen_constant_list|OP* o +#if !defined(HAS_GETENV_LEN) +p |char* |getenv_len |char* key|unsigned long *len +#endif +Ap |void |gp_free |GV* gv +Ap |GP* |gp_ref |GP* gp +Ap |GV* |gv_AVadd |GV* gv +Ap |GV* |gv_HVadd |GV* gv +Ap |GV* |gv_IOadd |GV* gv +Ap |GV* |gv_autoload4 |HV* stash|const char* name|STRLEN len \ + |I32 method +Ap |void |gv_check |HV* stash +Ap |void |gv_efullname |SV* sv|GV* gv +Ap |void |gv_efullname3 |SV* sv|GV* gv|const char* prefix +Ap |GV* |gv_fetchfile |const char* name +Apd |GV* |gv_fetchmeth |HV* stash|const char* name|STRLEN len \ + |I32 level +Apd |GV* |gv_fetchmethod |HV* stash|const char* name +Apd |GV* |gv_fetchmethod_autoload|HV* stash|const char* name \ + |I32 autoload +Ap |GV* |gv_fetchpv |const char* name|I32 add|I32 sv_type +Ap |void |gv_fullname |SV* sv|GV* gv +Ap |void |gv_fullname3 |SV* sv|GV* gv|const char* prefix +Ap |void |gv_init |GV* gv|HV* stash|const char* name \ + |STRLEN len|int multi +Apd |HV* |gv_stashpv |const char* name|I32 create +Ap |HV* |gv_stashpvn |const char* name|U32 namelen|I32 create +Apd |HV* |gv_stashsv |SV* sv|I32 create +Apd |void |hv_clear |HV* tb +Ap |void |hv_delayfree_ent|HV* hv|HE* entry +Apd |SV* |hv_delete |HV* tb|const char* key|U32 klen|I32 flags +Apd |SV* |hv_delete_ent |HV* tb|SV* key|I32 flags|U32 hash +Apd |bool |hv_exists |HV* tb|const char* key|U32 klen +Apd |bool |hv_exists_ent |HV* tb|SV* key|U32 hash +Apd |SV** |hv_fetch |HV* tb|const char* key|U32 klen|I32 lval +Apd |HE* |hv_fetch_ent |HV* tb|SV* key|I32 lval|U32 hash +Ap |void |hv_free_ent |HV* hv|HE* entry +Apd |I32 |hv_iterinit |HV* tb +Apd |char* |hv_iterkey |HE* entry|I32* retlen +Apd |SV* |hv_iterkeysv |HE* entry +Apd |HE* |hv_iternext |HV* tb +Apd |SV* |hv_iternextsv |HV* hv|char** key|I32* retlen +Apd |SV* |hv_iterval |HV* tb|HE* entry +Ap |void |hv_ksplit |HV* hv|IV newmax +Apd |void |hv_magic |HV* hv|GV* gv|int how +Apd |SV** |hv_store |HV* tb|const char* key|U32 klen|SV* val \ + |U32 hash +Apd |HE* |hv_store_ent |HV* tb|SV* key|SV* val|U32 hash +Apd |void |hv_undef |HV* tb +Ap |I32 |ibcmp |const char* a|const char* b|I32 len +Ap |I32 |ibcmp_locale |const char* a|const char* b|I32 len +p |bool |ingroup |Gid_t testgid|Uid_t effective +p |void |init_debugger +Ap |void |init_stacks +p |U32 |intro_my +Ap |char* |instr |const char* big|const char* little +p |bool |io_close |IO* io|bool not_implicit +p |OP* |invert |OP* cmd +Ap |bool |is_uni_alnum |U32 c +Ap |bool |is_uni_alnumc |U32 c +Ap |bool |is_uni_idfirst |U32 c +Ap |bool |is_uni_alpha |U32 c +Ap |bool |is_uni_ascii |U32 c +Ap |bool |is_uni_space |U32 c +Ap |bool |is_uni_cntrl |U32 c +Ap |bool |is_uni_graph |U32 c +Ap |bool |is_uni_digit |U32 c +Ap |bool |is_uni_upper |U32 c +Ap |bool |is_uni_lower |U32 c +Ap |bool |is_uni_print |U32 c +Ap |bool |is_uni_punct |U32 c +Ap |bool |is_uni_xdigit |U32 c +Ap |U32 |to_uni_upper |U32 c +Ap |U32 |to_uni_title |U32 c +Ap |U32 |to_uni_lower |U32 c +Ap |bool |is_uni_alnum_lc|U32 c +Ap |bool |is_uni_alnumc_lc|U32 c +Ap |bool |is_uni_idfirst_lc|U32 c +Ap |bool |is_uni_alpha_lc|U32 c +Ap |bool |is_uni_ascii_lc|U32 c +Ap |bool |is_uni_space_lc|U32 c +Ap |bool |is_uni_cntrl_lc|U32 c +Ap |bool |is_uni_graph_lc|U32 c +Ap |bool |is_uni_digit_lc|U32 c +Ap |bool |is_uni_upper_lc|U32 c +Ap |bool |is_uni_lower_lc|U32 c +Ap |bool |is_uni_print_lc|U32 c +Ap |bool |is_uni_punct_lc|U32 c +Ap |bool |is_uni_xdigit_lc|U32 c +Ap |U32 |to_uni_upper_lc|U32 c +Ap |U32 |to_uni_title_lc|U32 c +Ap |U32 |to_uni_lower_lc|U32 c +Ap |int |is_utf8_char |U8 *p +Ap |bool |is_utf8_alnum |U8 *p +Ap |bool |is_utf8_alnumc |U8 *p +Ap |bool |is_utf8_idfirst|U8 *p +Ap |bool |is_utf8_alpha |U8 *p +Ap |bool |is_utf8_ascii |U8 *p +Ap |bool |is_utf8_space |U8 *p +Ap |bool |is_utf8_cntrl |U8 *p +Ap |bool |is_utf8_digit |U8 *p +Ap |bool |is_utf8_graph |U8 *p +Ap |bool |is_utf8_upper |U8 *p +Ap |bool |is_utf8_lower |U8 *p +Ap |bool |is_utf8_print |U8 *p +Ap |bool |is_utf8_punct |U8 *p +Ap |bool |is_utf8_xdigit |U8 *p +Ap |bool |is_utf8_mark |U8 *p +p |OP* |jmaybe |OP* arg +p |I32 |keyword |char* d|I32 len +Ap |void |leave_scope |I32 base +p |void |lex_end +p |void |lex_start |SV* line +p |OP* |linklist |OP* o +p |OP* |list |OP* o +p |OP* |listkids |OP* o +Afp |void |load_module|U32 flags|SV* name|SV* ver|... +Ap |void |vload_module|U32 flags|SV* name|SV* ver|va_list* args +p |OP* |localize |OP* arg|I32 lexical +Apd |I32 |looks_like_number|SV* sv +p |int |magic_clearenv |SV* sv|MAGIC* mg +p |int |magic_clear_all_env|SV* sv|MAGIC* mg +p |int |magic_clearpack|SV* sv|MAGIC* mg +p |int |magic_clearsig |SV* sv|MAGIC* mg +p |int |magic_existspack|SV* sv|MAGIC* mg +p |int |magic_freeregexp|SV* sv|MAGIC* mg +p |int |magic_get |SV* sv|MAGIC* mg +p |int |magic_getarylen|SV* sv|MAGIC* mg +p |int |magic_getdefelem|SV* sv|MAGIC* mg +p |int |magic_getglob |SV* sv|MAGIC* mg +p |int |magic_getnkeys |SV* sv|MAGIC* mg +p |int |magic_getpack |SV* sv|MAGIC* mg +p |int |magic_getpos |SV* sv|MAGIC* mg +p |int |magic_getsig |SV* sv|MAGIC* mg +p |int |magic_getsubstr|SV* sv|MAGIC* mg +p |int |magic_gettaint |SV* sv|MAGIC* mg +p |int |magic_getuvar |SV* sv|MAGIC* mg +p |int |magic_getvec |SV* sv|MAGIC* mg +p |U32 |magic_len |SV* sv|MAGIC* mg +#if defined(USE_THREADS) +p |int |magic_mutexfree|SV* sv|MAGIC* mg +#endif +p |int |magic_nextpack |SV* sv|MAGIC* mg|SV* key +p |U32 |magic_regdata_cnt|SV* sv|MAGIC* mg +p |int |magic_regdatum_get|SV* sv|MAGIC* mg +p |int |magic_set |SV* sv|MAGIC* mg +p |int |magic_setamagic|SV* sv|MAGIC* mg +p |int |magic_setarylen|SV* sv|MAGIC* mg +p |int |magic_setbm |SV* sv|MAGIC* mg +p |int |magic_setdbline|SV* sv|MAGIC* mg +#if defined(USE_LOCALE_COLLATE) +p |int |magic_setcollxfrm|SV* sv|MAGIC* mg +#endif +p |int |magic_setdefelem|SV* sv|MAGIC* mg +p |int |magic_setenv |SV* sv|MAGIC* mg +p |int |magic_setfm |SV* sv|MAGIC* mg +p |int |magic_setisa |SV* sv|MAGIC* mg +p |int |magic_setglob |SV* sv|MAGIC* mg +p |int |magic_setmglob |SV* sv|MAGIC* mg +p |int |magic_setnkeys |SV* sv|MAGIC* mg +p |int |magic_setpack |SV* sv|MAGIC* mg +p |int |magic_setpos |SV* sv|MAGIC* mg +p |int |magic_setsig |SV* sv|MAGIC* mg +p |int |magic_setsubstr|SV* sv|MAGIC* mg +p |int |magic_settaint |SV* sv|MAGIC* mg +p |int |magic_setuvar |SV* sv|MAGIC* mg +p |int |magic_setvec |SV* sv|MAGIC* mg +p |int |magic_set_all_env|SV* sv|MAGIC* mg +p |U32 |magic_sizepack |SV* sv|MAGIC* mg +p |int |magic_wipepack |SV* sv|MAGIC* mg +p |void |magicname |char* sym|char* name|I32 namlen +Ap |void |markstack_grow +#if defined(USE_LOCALE_COLLATE) +p |char* |mem_collxfrm |const char* s|STRLEN len|STRLEN* xlen +#endif +Afp |SV* |mess |const char* pat|... +Ap |SV* |vmess |const char* pat|va_list* args +p |void |qerror |SV* err +Apd |int |mg_clear |SV* sv +Apd |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen +Apd |MAGIC* |mg_find |SV* sv|int type +Apd |int |mg_free |SV* sv +Apd |int |mg_get |SV* sv +Apd |U32 |mg_length |SV* sv +Apd |void |mg_magical |SV* sv +Apd |int |mg_set |SV* sv +Ap |I32 |mg_size |SV* sv +p |OP* |mod |OP* o|I32 type +p |int |mode_from_discipline|SV* discp +Ap |char* |moreswitches |char* s +p |OP* |my |OP* o +Ap |NV |my_atof |const char *s +#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) +Anp |char* |my_bcopy |const char* from|char* to|I32 len +#endif +#if !defined(HAS_BZERO) && !defined(HAS_MEMSET) +Anp |char* |my_bzero |char* loc|I32 len +#endif +Apr |void |my_exit |U32 status +Apr |void |my_failure_exit +Ap |I32 |my_fflush_all +Ap |I32 |my_lstat +#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP) +Anp |I32 |my_memcmp |const char* s1|const char* s2|I32 len +#endif +#if !defined(HAS_MEMSET) +Anp |void* |my_memset |char* loc|I32 ch|I32 len +#endif +#if !defined(PERL_OBJECT) +Ap |I32 |my_pclose |PerlIO* ptr +Ap |PerlIO*|my_popen |char* cmd|char* mode +#endif +Ap |void |my_setenv |char* nam|char* val +Ap |I32 |my_stat +#if defined(MYSWAP) +Ap |short |my_swap |short s +Ap |long |my_htonl |long l +Ap |long |my_ntohl |long l +#endif +p |void |my_unexec +Ap |OP* |newANONLIST |OP* o +Ap |OP* |newANONHASH |OP* o +Ap |OP* |newANONSUB |I32 floor|OP* proto|OP* block +Ap |OP* |newASSIGNOP |I32 flags|OP* left|I32 optype|OP* right +Ap |OP* |newCONDOP |I32 flags|OP* expr|OP* trueop|OP* falseop +Apd |void |newCONSTSUB |HV* stash|char* name|SV* sv +Ap |void |newFORM |I32 floor|OP* o|OP* block +Ap |OP* |newFOROP |I32 flags|char* label|line_t forline \ + |OP* sclr|OP* expr|OP*block|OP*cont +Ap |OP* |newLOGOP |I32 optype|I32 flags|OP* left|OP* right +Ap |OP* |newLOOPEX |I32 type|OP* label +Ap |OP* |newLOOPOP |I32 flags|I32 debuggable|OP* expr|OP* block +Ap |OP* |newNULLLIST +Ap |OP* |newOP |I32 optype|I32 flags +Ap |void |newPROG |OP* o +Ap |OP* |newRANGE |I32 flags|OP* left|OP* right +Ap |OP* |newSLICEOP |I32 flags|OP* subscript|OP* listop +Ap |OP* |newSTATEOP |I32 flags|char* label|OP* o +Ap |CV* |newSUB |I32 floor|OP* o|OP* proto|OP* block +Apd |CV* |newXS |char* name|XSUBADDR_t f|char* filename +Apd |AV* |newAV +Ap |OP* |newAVREF |OP* o +Ap |OP* |newBINOP |I32 type|I32 flags|OP* first|OP* last +Ap |OP* |newCVREF |I32 flags|OP* o +Ap |OP* |newGVOP |I32 type|I32 flags|GV* gv +Ap |GV* |newGVgen |char* pack +Ap |OP* |newGVREF |I32 type|OP* o +Ap |OP* |newHVREF |OP* o +Apd |HV* |newHV +Ap |HV* |newHVhv |HV* hv +Ap |IO* |newIO +Ap |OP* |newLISTOP |I32 type|I32 flags|OP* first|OP* last +Ap |OP* |newPADOP |I32 type|I32 flags|SV* sv +Ap |OP* |newPMOP |I32 type|I32 flags +Ap |OP* |newPVOP |I32 type|I32 flags|char* pv +Ap |SV* |newRV |SV* pref +Apd |SV* |newRV_noinc |SV *sv +Ap |SV* |newSV |STRLEN len +Ap |OP* |newSVREF |OP* o +Ap |OP* |newSVOP |I32 type|I32 flags|SV* sv +Apd |SV* |newSViv |IV i +Apd |SV* |newSVuv |UV u +Apd |SV* |newSVnv |NV n +Apd |SV* |newSVpv |const char* s|STRLEN len +Apd |SV* |newSVpvn |const char* s|STRLEN len +Afpd |SV* |newSVpvf |const char* pat|... +Ap |SV* |vnewSVpvf |const char* pat|va_list* args +Apd |SV* |newSVrv |SV* rv|const char* classname +Apd |SV* |newSVsv |SV* old +Ap |OP* |newUNOP |I32 type|I32 flags|OP* first +Ap |OP* |newWHILEOP |I32 flags|I32 debuggable|LOOP* loop \ + |I32 whileline|OP* expr|OP* block|OP* cont + +Ap |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems +p |PerlIO*|nextargv |GV* gv +Ap |char* |ninstr |const char* big|const char* bigend \ + |const char* little|const char* lend +p |OP* |oopsCV |OP* o +Ap |void |op_free |OP* arg +p |void |package |OP* o +p |PADOFFSET|pad_alloc |I32 optype|U32 tmptype +p |PADOFFSET|pad_allocmy |char* name +p |PADOFFSET|pad_findmy |char* name +p |OP* |oopsAV |OP* o +p |OP* |oopsHV |OP* o +p |void |pad_leavemy |I32 fill +Ap |SV* |pad_sv |PADOFFSET po +p |void |pad_free |PADOFFSET po +p |void |pad_reset +p |void |pad_swipe |PADOFFSET po +p |void |peep |OP* o +#if defined(PERL_OBJECT) +Aox |void |Perl_construct +Aox |void |Perl_destruct +Aox |void |Perl_free +Aox |int |Perl_run +Aox |int |Perl_parse |XSINIT_t xsinit \ + |int argc|char** argv|char** env +#endif +#if defined(USE_THREADS) +Ap |struct perl_thread* |new_struct_thread|struct perl_thread *t +#endif +Ap |void |call_atexit |ATEXIT_t fn|void *ptr +Apd |I32 |call_argv |const char* sub_name|I32 flags|char** argv +Apd |I32 |call_method |const char* methname|I32 flags +Apd |I32 |call_pv |const char* sub_name|I32 flags +Apd |I32 |call_sv |SV* sv|I32 flags +Apd |SV* |eval_pv |const char* p|I32 croak_on_error +Apd |I32 |eval_sv |SV* sv|I32 flags +Apd |SV* |get_sv |const char* name|I32 create +Apd |AV* |get_av |const char* name|I32 create +Apd |HV* |get_hv |const char* name|I32 create +Apd |CV* |get_cv |const char* name|I32 create +Ap |int |init_i18nl10n |int printwarn +Ap |int |init_i18nl14n |int printwarn +Ap |void |new_collate |const char* newcoll +Ap |void |new_ctype |const char* newctype +Ap |void |new_numeric |const char* newcoll +Ap |void |set_numeric_local +Ap |void |set_numeric_radix +Ap |void |set_numeric_standard +Apd |void |require_pv |const char* pv +p |void |pidgone |Pid_t pid|int status +Ap |void |pmflag |U16* pmfl|int ch +p |OP* |pmruntime |OP* pm|OP* expr|OP* repl +p |OP* |pmtrans |OP* o|OP* expr|OP* repl +p |OP* |pop_return +Ap |void |pop_scope +p |OP* |prepend_elem |I32 optype|OP* head|OP* tail +p |void |push_return |OP* o +Ap |void |push_scope +p |OP* |ref |OP* o|I32 type +p |OP* |refkids |OP* o|I32 type +Ap |void |regdump |regexp* r +Ap |I32 |pregexec |regexp* prog|char* stringarg \ + |char* strend|char* strbeg|I32 minend \ + |SV* screamer|U32 nosave +Ap |void |pregfree |struct regexp* r +Ap |regexp*|pregcomp |char* exp|char* xend|PMOP* pm +Ap |char* |re_intuit_start|regexp* prog|SV* sv|char* strpos \ + |char* strend|U32 flags \ + |struct re_scream_pos_data_s *data +Ap |SV* |re_intuit_string|regexp* prog +Ap |I32 |regexec_flags |regexp* prog|char* stringarg \ + |char* strend|char* strbeg|I32 minend \ + |SV* screamer|void* data|U32 flags +Ap |regnode*|regnext |regnode* p +p |void |regprop |SV* sv|regnode* o +Ap |void |repeatcpy |char* to|const char* from|I32 len|I32 count +Ap |char* |rninstr |const char* big|const char* bigend \ + |const char* little|const char* lend +p |Sighandler_t|rsignal |int i|Sighandler_t t +p |int |rsignal_restore|int i|Sigsave_t* t +p |int |rsignal_save |int i|Sighandler_t t1|Sigsave_t* t2 +p |Sighandler_t|rsignal_state|int i +p |void |rxres_free |void** rsp +p |void |rxres_restore |void** rsp|REGEXP* prx +p |void |rxres_save |void** rsp|REGEXP* prx +#if !defined(HAS_RENAME) +p |I32 |same_dirent |char* a|char* b +#endif +Apd |char* |savepv |const char* sv +Apd |char* |savepvn |const char* sv|I32 len +Ap |void |savestack_grow +Ap |void |save_aelem |AV* av|I32 idx|SV **sptr +Ap |I32 |save_alloc |I32 size|I32 pad +Ap |void |save_aptr |AV** aptr +Ap |AV* |save_ary |GV* gv +Ap |void |save_clearsv |SV** svp +Ap |void |save_delete |HV* hv|char* key|I32 klen +Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|void* p +Ap |void |save_destructor_x|DESTRUCTORFUNC_t f|void* p +Ap |void |save_freesv |SV* sv +p |void |save_freeop |OP* o +Ap |void |save_freepv |char* pv +Ap |void |save_generic_svref|SV** sptr +Ap |void |save_gp |GV* gv|I32 empty +Ap |HV* |save_hash |GV* gv +Ap |void |save_helem |HV* hv|SV *key|SV **sptr +Ap |void |save_hints +Ap |void |save_hptr |HV** hptr +Ap |void |save_I16 |I16* intp +Ap |void |save_I32 |I32* intp +Ap |void |save_I8 |I8* bytep +Ap |void |save_int |int* intp +Ap |void |save_item |SV* item +Ap |void |save_iv |IV* iv +Ap |void |save_list |SV** sarg|I32 maxsarg +Ap |void |save_long |long* longp +Ap |void |save_nogv |GV* gv +p |void |save_op +Ap |SV* |save_scalar |GV* gv +Ap |void |save_pptr |char** pptr +Ap |void |save_vptr |void* pptr +Ap |void |save_re_context +Ap |void |save_sptr |SV** sptr +Ap |SV* |save_svref |SV** sptr +Ap |SV** |save_threadsv |PADOFFSET i +p |OP* |sawparens |OP* o +p |OP* |scalar |OP* o +p |OP* |scalarkids |OP* o +p |OP* |scalarseq |OP* o +p |OP* |scalarvoid |OP* o +Ap |NV |scan_bin |char* start|I32 len|I32* retlen +Ap |NV |scan_hex |char* start|I32 len|I32* retlen +Ap |char* |scan_num |char* s +Ap |NV |scan_oct |char* start|I32 len|I32* retlen +p |OP* |scope |OP* o +Ap |char* |screaminstr |SV* bigsv|SV* littlesv|I32 start_shift \ + |I32 end_shift|I32 *state|I32 last +#if !defined(VMS) +p |I32 |setenv_getix |char* nam +#endif +p |void |setdefout |GV* gv +Ap |char* |sharepvn |const char* sv|I32 len|U32 hash +p |HEK* |share_hek |const char* sv|I32 len|U32 hash +np |Signal_t |sighandler |int sig +Ap |SV** |stack_grow |SV** sp|SV**p|int n +Ap |I32 |start_subparse |I32 is_format|U32 flags +p |void |sub_crush_depth|CV* cv +Ap |bool |sv_2bool |SV* sv +Ap |CV* |sv_2cv |SV* sv|HV** st|GV** gvp|I32 lref +Ap |IO* |sv_2io |SV* sv +Ap |IV |sv_2iv |SV* sv +Apd |SV* |sv_2mortal |SV* sv +Ap |NV |sv_2nv |SV* sv +Ap |char* |sv_2pv |SV* sv|STRLEN* lp +Ap |char* |sv_2pvutf8 |SV* sv|STRLEN* lp +Ap |char* |sv_2pvbyte |SV* sv|STRLEN* lp +Ap |UV |sv_2uv |SV* sv +Ap |IV |sv_iv |SV* sv +Ap |UV |sv_uv |SV* sv +Ap |NV |sv_nv |SV* sv +Ap |char* |sv_pvn |SV *sv|STRLEN *len +Ap |char* |sv_pvutf8n |SV *sv|STRLEN *len +Ap |char* |sv_pvbyten |SV *sv|STRLEN *len +Ap |I32 |sv_true |SV *sv +p |void |sv_add_arena |char* ptr|U32 size|U32 flags +Ap |int |sv_backoff |SV* sv +Apd |SV* |sv_bless |SV* sv|HV* stash +Afpd |void |sv_catpvf |SV* sv|const char* pat|... +Ap |void |sv_vcatpvf |SV* sv|const char* pat|va_list* args +Apd |void |sv_catpv |SV* sv|const char* ptr +Apd |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len +Apd |void |sv_catsv |SV* dsv|SV* ssv +Apd |void |sv_chop |SV* sv|char* ptr +p |void |sv_clean_all +p |void |sv_clean_objs +Ap |void |sv_clear |SV* sv +Apd |I32 |sv_cmp |SV* sv1|SV* sv2 +Ap |I32 |sv_cmp_locale |SV* sv1|SV* sv2 +#if defined(USE_LOCALE_COLLATE) +Ap |char* |sv_collxfrm |SV* sv|STRLEN* nxp +#endif +Ap |OP* |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp +Apd |void |sv_dec |SV* sv +Ap |void |sv_dump |SV* sv +Apd |bool |sv_derived_from|SV* sv|const char* name +Apd |I32 |sv_eq |SV* sv1|SV* sv2 +Ap |void |sv_free |SV* sv +p |void |sv_free_arenas +Ap |char* |sv_gets |SV* sv|PerlIO* fp|I32 append +Apd |char* |sv_grow |SV* sv|STRLEN newlen +Apd |void |sv_inc |SV* sv +Apd |void |sv_insert |SV* bigsv|STRLEN offset|STRLEN len \ + |char* little|STRLEN littlelen +Apd |int |sv_isa |SV* sv|const char* name +Apd |int |sv_isobject |SV* sv +Apd |STRLEN |sv_len |SV* sv +Ap |STRLEN |sv_len_utf8 |SV* sv +Apd |void |sv_magic |SV* sv|SV* obj|int how|const char* name \ + |I32 namlen +Apd |SV* |sv_mortalcopy |SV* oldsv +Apd |SV* |sv_newmortal +Ap |SV* |sv_newref |SV* sv +Ap |char* |sv_peek |SV* sv +Ap |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp +Ap |void |sv_pos_b2u |SV* sv|I32* offsetp +Ap |char* |sv_pvn_force |SV* sv|STRLEN* lp +Ap |char* |sv_pvutf8n_force|SV* sv|STRLEN* lp +Ap |char* |sv_pvbyten_force|SV* sv|STRLEN* lp +Ap |char* |sv_reftype |SV* sv|int ob +Ap |void |sv_replace |SV* sv|SV* nsv +Ap |void |sv_report_used +Ap |void |sv_reset |char* s|HV* stash +Afpd |void |sv_setpvf |SV* sv|const char* pat|... +Ap |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args +Apd |void |sv_setiv |SV* sv|IV num +Apd |void |sv_setpviv |SV* sv|IV num +Apd |void |sv_setuv |SV* sv|UV num +Apd |void |sv_setnv |SV* sv|NV num +Apd |SV* |sv_setref_iv |SV* rv|const char* classname|IV iv +Apd |SV* |sv_setref_nv |SV* rv|const char* classname|NV nv +Apd |SV* |sv_setref_pv |SV* rv|const char* classname|void* pv +Apd |SV* |sv_setref_pvn |SV* rv|const char* classname|char* pv \ + |STRLEN n +Apd |void |sv_setpv |SV* sv|const char* ptr +Apd |void |sv_setpvn |SV* sv|const char* ptr|STRLEN len +Apd |void |sv_setsv |SV* dsv|SV* ssv +Ap |void |sv_taint |SV* sv +Ap |bool |sv_tainted |SV* sv +Ap |int |sv_unmagic |SV* sv|int type +Apd |void |sv_unref |SV* sv +Ap |void |sv_untaint |SV* sv +Apd |bool |sv_upgrade |SV* sv|U32 mt +Apd |void |sv_usepvn |SV* sv|char* ptr|STRLEN len +Apd |void |sv_vcatpvfn |SV* sv|const char* pat|STRLEN patlen \ + |va_list* args|SV** svargs|I32 svmax \ + |bool *maybe_tainted +Apd |void |sv_vsetpvfn |SV* sv|const char* pat|STRLEN patlen \ + |va_list* args|SV** svargs|I32 svmax \ + |bool *maybe_tainted +Ap |NV |str_to_version |SV *sv +Ap |SV* |swash_init |char* pkg|char* name|SV* listsv \ + |I32 minbits|I32 none +Ap |UV |swash_fetch |SV *sv|U8 *ptr +Ap |void |taint_env +Ap |void |taint_proper |const char* f|const char* s +Ap |UV |to_utf8_lower |U8 *p +Ap |UV |to_utf8_upper |U8 *p +Ap |UV |to_utf8_title |U8 *p +#if defined(UNLINK_ALL_VERSIONS) +Ap |I32 |unlnk |char* f +#endif +#if defined(USE_THREADS) +Ap |void |unlock_condpair|void* svv +#endif +Ap |void |unsharepvn |const char* sv|I32 len|U32 hash +p |void |unshare_hek |HEK* hek +p |void |utilize |int aver|I32 floor|OP* version|OP* id|OP* arg +Ap |U8* |utf16_to_utf8 |U16* p|U8 *d|I32 bytelen +Ap |U8* |utf16_to_utf8_reversed|U16* p|U8 *d|I32 bytelen +Ap |I32 |utf8_distance |U8 *a|U8 *b +Ap |U8* |utf8_hop |U8 *s|I32 off +Ap |UV |utf8_to_uv |U8 *s|I32* retlen +Ap |U8* |uv_to_utf8 |U8 *d|UV uv +p |void |vivify_defelem |SV* sv +p |void |vivify_ref |SV* sv|U32 to_what +p |I32 |wait4pid |Pid_t pid|int* statusp|int flags +p |void |report_closed_fh|GV *gv|IO *io|const char *func|const char *obj +p |void |report_uninit +Afpd |void |warn |const char* pat|... +Ap |void |vwarn |const char* pat|va_list* args +Afp |void |warner |U32 err|const char* pat|... +Ap |void |vwarner |U32 err|const char* pat|va_list* args +p |void |watch |char** addr +p |I32 |whichsig |char* sig +p |int |yyerror |char* s +#if defined(USE_PURE_BISON) +p |int |yylex |YYSTYPE *lvalp|int *lcharp +#else +p |int |yylex +#endif +p |int |yyparse +p |int |yywarn |char* s +#if defined(MYMALLOC) +Ap |void |dump_mstats |char* s +Ap |int |get_mstats |perl_mstats_t *buf|int buflen|int level +#endif +Anp |Malloc_t|safesysmalloc |MEM_SIZE nbytes +Anp |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size +Anp |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes +Anp |Free_t |safesysfree |Malloc_t where +#if defined(LEAKTEST) +Anp |Malloc_t|safexmalloc |I32 x|MEM_SIZE size +Anp |Malloc_t|safexcalloc |I32 x|MEM_SIZE elements|MEM_SIZE size +Anp |Malloc_t|safexrealloc |Malloc_t where|MEM_SIZE size +Anp |void |safexfree |Malloc_t where +#endif +#if defined(PERL_GLOBAL_STRUCT) +Ap |struct perl_vars *|GetVars +#endif +Ap |int |runops_standard +Ap |int |runops_debug +Afpd |void |sv_catpvf_mg |SV *sv|const char* pat|... +Ap |void |sv_vcatpvf_mg |SV* sv|const char* pat|va_list* args +Apd |void |sv_catpv_mg |SV *sv|const char *ptr +Apd |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len +Apd |void |sv_catsv_mg |SV *dstr|SV *sstr +Afpd |void |sv_setpvf_mg |SV *sv|const char* pat|... +Ap |void |sv_vsetpvf_mg |SV* sv|const char* pat|va_list* args +Apd |void |sv_setiv_mg |SV *sv|IV i +Apd |void |sv_setpviv_mg |SV *sv|IV iv +Apd |void |sv_setuv_mg |SV *sv|UV u +Apd |void |sv_setnv_mg |SV *sv|NV num +Apd |void |sv_setpv_mg |SV *sv|const char *ptr +Apd |void |sv_setpvn_mg |SV *sv|const char *ptr|STRLEN len +Apd |void |sv_setsv_mg |SV *dstr|SV *sstr +Apd |void |sv_usepvn_mg |SV *sv|char *ptr|STRLEN len +Ap |MGVTBL*|get_vtbl |int vtbl_id +p |char* |pv_display |SV *sv|char *pv|STRLEN cur|STRLEN len \ + |STRLEN pvlim +Afp |void |dump_indent |I32 level|PerlIO *file|const char* pat|... +Ap |void |dump_vindent |I32 level|PerlIO *file|const char* pat \ + |va_list *args +Ap |void |do_gv_dump |I32 level|PerlIO *file|char *name|GV *sv +Ap |void |do_gvgv_dump |I32 level|PerlIO *file|char *name|GV *sv +Ap |void |do_hv_dump |I32 level|PerlIO *file|char *name|HV *sv +Ap |void |do_magic_dump |I32 level|PerlIO *file|MAGIC *mg|I32 nest \ + |I32 maxnest|bool dumpops|STRLEN pvlim +Ap |void |do_op_dump |I32 level|PerlIO *file|OP *o +Ap |void |do_pmop_dump |I32 level|PerlIO *file|PMOP *pm +Ap |void |do_sv_dump |I32 level|PerlIO *file|SV *sv|I32 nest \ + |I32 maxnest|bool dumpops|STRLEN pvlim +Ap |void |magic_dump |MAGIC *mg +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +Ap |void* |default_protect|volatile JMPENV *je|int *excpt \ + |protect_body_t body|... +Ap |void* |vdefault_protect|volatile JMPENV *je|int *excpt \ + |protect_body_t body|va_list *args +#endif +Ap |void |reginitcolors +Ap |char* |sv_2pv_nolen |SV* sv +Ap |char* |sv_2pvutf8_nolen|SV* sv +Ap |char* |sv_2pvbyte_nolen|SV* sv +Ap |char* |sv_pv |SV *sv +Ap |char* |sv_pvutf8 |SV *sv +Ap |char* |sv_pvbyte |SV *sv +Ap |void |sv_utf8_upgrade|SV *sv +Ap |bool |sv_utf8_downgrade|SV *sv|bool fail_ok +Ap |void |sv_utf8_encode |SV *sv +Ap |bool |sv_utf8_decode |SV *sv +Ap |void |sv_force_normal|SV *sv +Ap |void |tmps_grow |I32 n +Ap |SV* |sv_rvweaken |SV *sv +p |int |magic_killbackrefs|SV *sv|MAGIC *mg +Ap |OP* |newANONATTRSUB |I32 floor|OP *proto|OP *attrs|OP *block +Ap |CV* |newATTRSUB |I32 floor|OP *o|OP *proto|OP *attrs|OP *block +Ap |void |newMYSUB |I32 floor|OP *o|OP *proto|OP *attrs|OP *block +p |OP * |my_attrs |OP *o|OP *attrs +p |void |boot_core_xsutils +#if defined(USE_ITHREADS) +Ap |PERL_CONTEXT*|cx_dup |PERL_CONTEXT* cx|I32 ix|I32 max +Ap |PERL_SI*|si_dup |PERL_SI* si +Ap |ANY* |ss_dup |PerlInterpreter* proto_perl +Ap |void* |any_dup |void* v|PerlInterpreter* proto_perl +Ap |HE* |he_dup |HE* e|bool shared +Ap |REGEXP*|re_dup |REGEXP* r +Ap |PerlIO*|fp_dup |PerlIO* fp|char type +Ap |DIR* |dirp_dup |DIR* dp +Ap |GP* |gp_dup |GP* gp +Ap |MAGIC* |mg_dup |MAGIC* mg +Ap |SV* |sv_dup |SV* sstr +#if defined(HAVE_INTERP_INTERN) +Ap |void |sys_intern_dup |struct interp_intern* src \ + |struct interp_intern* dst +#endif +Ap |PTR_TBL_t*|ptr_table_new +Ap |void* |ptr_table_fetch|PTR_TBL_t *tbl|void *sv +Ap |void |ptr_table_store|PTR_TBL_t *tbl|void *oldsv|void *newsv +Ap |void |ptr_table_split|PTR_TBL_t *tbl +#endif + +#if defined(PERL_OBJECT) +protected: +#else +END_EXTERN_C +#endif + +#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT) +s |I32 |avhv_index_sv |SV* sv +s |I32 |avhv_index |AV* av|SV* sv|U32 hash +#endif + +#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT) +s |I32 |do_trans_CC_simple |SV *sv +s |I32 |do_trans_CC_count |SV *sv +s |I32 |do_trans_CC_complex |SV *sv +s |I32 |do_trans_UU_simple |SV *sv +s |I32 |do_trans_UU_count |SV *sv +s |I32 |do_trans_UU_complex |SV *sv +s |I32 |do_trans_UC_simple |SV *sv +s |I32 |do_trans_CU_simple |SV *sv +s |I32 |do_trans_UC_trivial |SV *sv +s |I32 |do_trans_CU_trivial |SV *sv +#endif + +#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT) +s |void |gv_init_sv |GV *gv|I32 sv_type +#endif + +#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) +s |void |hsplit |HV *hv +s |void |hfreeentries |HV *hv +s |void |more_he +s |HE* |new_he +s |void |del_he |HE *p +s |HEK* |save_hek |const char *str|I32 len|U32 hash +s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store +#endif + +#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) +s |void |save_magic |I32 mgs_ix|SV *sv +s |int |magic_methpack |SV *sv|MAGIC *mg|char *meth +s |int |magic_methcall |SV *sv|MAGIC *mg|char *meth|I32 f \ + |int n|SV *val +#endif + +#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT) +s |I32 |list_assignment|OP *o +s |void |bad_type |I32 n|char *t|char *name|OP *kid +s |void |cop_free |COP *cop +s |OP* |modkids |OP *o|I32 type +s |void |no_bareword_allowed|OP *o +s |OP* |no_fh_allowed |OP *o +s |OP* |scalarboolean |OP *o +s |OP* |too_few_arguments|OP *o|char* name +s |OP* |too_many_arguments|OP *o|char* name +s |void |op_clear |OP* o +s |void |null |OP* o +s |PADOFFSET|pad_addlex |SV* name +s |PADOFFSET|pad_findlex |char* name|PADOFFSET newoff|U32 seq \ + |CV* startcv|I32 cx_ix|I32 saweval|U32 flags +s |OP* |newDEFSVOP +s |OP* |new_logop |I32 type|I32 flags|OP **firstp|OP **otherp +s |void |simplify_sort |OP *o +s |bool |is_handle_constructor |OP *o|I32 argnum +s |char* |gv_ename |GV *gv +s |void |cv_dump |CV *cv +s |CV* |cv_clone2 |CV *proto|CV *outside +s |bool |scalar_mod_type|OP *o|I32 type +s |OP * |my_kid |OP *o|OP *attrs +s |OP * |dup_attrlist |OP *o +s |void |apply_attrs |HV *stash|SV *target|OP *attrs +# if defined(PL_OP_SLAB_ALLOC) +s |void* |Slab_Alloc |int m|size_t sz +# endif +#endif + +#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT) +s |void |find_beginning +s |void |forbid_setid |char * +s |void |incpush |char *|int|int +s |void |init_interp +s |void |init_ids +s |void |init_lexer +s |void |init_main_stash +s |void |init_perllib +s |void |init_postdump_symbols|int|char **|char ** +s |void |init_predump_symbols +rs |void |my_exit_jump +s |void |nuke_stacks +s |void |open_script |char *|bool|SV *|int *fd +s |void |usage |char * +s |void |validate_suid |char *|char*|int +# if defined(IAMSUID) +s |int |fd_on_nosuid_fs|int fd +# endif +s |void* |parse_body |char **env|XSINIT_t xsinit +s |void* |run_body |I32 oldscope +s |void |call_body |OP *myop|int is_eval +s |void* |call_list_body |CV *cv +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +s |void* |vparse_body |va_list args +s |void* |vrun_body |va_list args +s |void* |vcall_body |va_list args +s |void* |vcall_list_body|va_list args +#endif +# if defined(USE_THREADS) +s |struct perl_thread * |init_main_thread +# endif +#endif + +#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT) +s |void |doencodes |SV* sv|char* s|I32 len +s |SV* |refto |SV* sv +s |U32 |seed +s |SV* |mul128 |SV *sv|U8 m +s |SV* |is_an_int |char *s|STRLEN l +s |int |div128 |SV *pnum|bool *done +#endif + +#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT) +s |OP* |docatch |OP *o +s |void* |docatch_body +#if defined(PERL_FLEXIBLE_EXCEPTIONS) +s |void* |vdocatch_body |va_list args +#endif +s |OP* |dofindlabel |OP *o|char *label|OP **opstack|OP **oplimit +s |void |doparseform |SV *sv +s |I32 |dopoptoeval |I32 startingblock +s |I32 |dopoptolabel |char *label +s |I32 |dopoptoloop |I32 startingblock +s |I32 |dopoptosub |I32 startingblock +s |I32 |dopoptosub_at |PERL_CONTEXT* cxstk|I32 startingblock +s |void |free_closures +s |void |save_lines |AV *array|SV *sv +s |OP* |doeval |int gimme|OP** startop +s |PerlIO *|doopen_pmc |const char *name|const char *mode +s |void |qsortsv |SV ** array|size_t num_elts|SVCOMPARE_t f +#endif + +#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT) +s |int |do_maybe_phash |AV *ary|SV **lelem|SV **firstlelem \ + |SV **relem|SV **lastrelem +s |void |do_oddball |HV *hash|SV **relem|SV **firstrelem +s |CV* |get_db_sub |SV **svp|CV *cv +s |SV* |method_common |SV* meth|U32* hashp +#endif + +#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT) +s |OP* |doform |CV *cv|GV *gv|OP *retop +s |int |emulate_eaccess|const char* path|Mode_t mode +# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) +s |int |dooneliner |char *cmd|char *filename +# endif +#endif + +#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT) +s |regnode*|reg |I32|I32 * +s |regnode*|reganode |U8|U32 +s |regnode*|regatom |I32 * +s |regnode*|regbranch |I32 *|I32 +s |void |reguni |UV|char *|I32* +s |regnode*|regclass +s |regnode*|regclassutf8 +s |I32 |regcurly |char * +s |regnode*|reg_node |U8 +s |regnode*|regpiece |I32 * +s |void |reginsert |U8|regnode * +s |void |regoptail |regnode *|regnode * +s |void |regtail |regnode *|regnode * +s |char*|regwhite |char *|char * +s |char*|nextchar +s |regnode*|dumpuntil |regnode *start|regnode *node \ + |regnode *last|SV* sv|I32 l +s |void |put_byte |SV* sv|int c +s |void |scan_commit |struct scan_data_t *data +s |void |cl_anything |struct regnode_charclass_class *cl +s |int |cl_is_anything |struct regnode_charclass_class *cl +s |void |cl_init |struct regnode_charclass_class *cl +s |void |cl_init_zero |struct regnode_charclass_class *cl +s |void |cl_and |struct regnode_charclass_class *cl \ + |struct regnode_charclass_class *and_with +s |void |cl_or |struct regnode_charclass_class *cl \ + |struct regnode_charclass_class *or_with +s |I32 |study_chunk |regnode **scanp|I32 *deltap \ + |regnode *last|struct scan_data_t *data \ + |U32 flags +s |I32 |add_data |I32 n|char *s +rs |void|re_croak2 |const char* pat1|const char* pat2|... +s |I32 |regpposixcc |I32 value +s |void |checkposixcc +#endif + +#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT) +s |I32 |regmatch |regnode *prog +s |I32 |regrepeat |regnode *p|I32 max +s |I32 |regrepeat_hard |regnode *p|I32 max|I32 *lp +s |I32 |regtry |regexp *prog|char *startpos +s |bool |reginclass |regnode *p|I32 c +s |bool |reginclassutf8 |regnode *f|U8* p +s |CHECKPOINT|regcppush |I32 parenfloor +s |char*|regcppop +s |char*|regcp_set_to |I32 ss +s |void |cache_re |regexp *prog +s |U8* |reghop |U8 *pos|I32 off +s |U8* |reghopmaybe |U8 *pos|I32 off +s |char* |find_byclass |regexp * prog|regnode *c|char *s|char *strend|char *startpos|I32 norun +#endif + +#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT) +s |void |debprof |OP *o +#endif + +#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT) +s |SV* |save_scalar_at |SV **sptr +#endif + +#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) +s |IV |asIV |SV* sv +s |UV |asUV |SV* sv +s |SV* |more_sv +s |void |more_xiv +s |void |more_xnv +s |void |more_xpv +s |void |more_xpviv +s |void |more_xpvnv +s |void |more_xpvcv +s |void |more_xpvav +s |void |more_xpvhv +s |void |more_xpvmg +s |void |more_xpvlv +s |void |more_xpvbm +s |void |more_xrv +s |XPVIV* |new_xiv +s |XPVNV* |new_xnv +s |XPV* |new_xpv +s |XPVIV* |new_xpviv +s |XPVNV* |new_xpvnv +s |XPVCV* |new_xpvcv +s |XPVAV* |new_xpvav +s |XPVHV* |new_xpvhv +s |XPVMG* |new_xpvmg +s |XPVLV* |new_xpvlv +s |XPVBM* |new_xpvbm +s |XRV* |new_xrv +s |void |del_xiv |XPVIV* p +s |void |del_xnv |XPVNV* p +s |void |del_xpv |XPV* p +s |void |del_xpviv |XPVIV* p +s |void |del_xpvnv |XPVNV* p +s |void |del_xpvcv |XPVCV* p +s |void |del_xpvav |XPVAV* p +s |void |del_xpvhv |XPVHV* p +s |void |del_xpvmg |XPVMG* p +s |void |del_xpvlv |XPVLV* p +s |void |del_xpvbm |XPVBM* p +s |void |del_xrv |XRV* p +s |void |sv_unglob |SV* sv +s |void |not_a_number |SV *sv +s |void |visit |SVFUNC_t f +s |void |sv_add_backref |SV *tsv|SV *sv +s |void |sv_del_backref |SV *sv +# if defined(DEBUGGING) +s |void |del_sv |SV *p +# endif +#endif + +#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) +s |void |check_uni +s |void |force_next |I32 type +s |char* |force_version |char *start +s |char* |force_word |char *start|int token|int check_keyword \ + |int allow_pack|int allow_tick +s |SV* |tokeq |SV *sv +s |char* |scan_const |char *start +s |char* |scan_formline |char *s +s |char* |scan_heredoc |char *s +s |char* |scan_ident |char *s|char *send|char *dest \ + |STRLEN destlen|I32 ck_uni +s |char* |scan_inputsymbol|char *start +s |char* |scan_pat |char *start|I32 type +s |char* |scan_str |char *start|int keep_quoted|int keep_delims +s |char* |scan_subst |char *start +s |char* |scan_trans |char *start +s |char* |scan_word |char *s|char *dest|STRLEN destlen \ + |int allow_package|STRLEN *slp +s |char* |skipspace |char *s +s |void |checkcomma |char *s|char *name|char *what +s |void |force_ident |char *s|int kind +s |void |incline |char *s +s |int |intuit_method |char *s|GV *gv +s |int |intuit_more |char *s +s |I32 |lop |I32 f|int x|char *s +s |void |missingterm |char *s +s |void |no_op |char *what|char *s +s |void |set_csh +s |I32 |sublex_done +s |I32 |sublex_push +s |I32 |sublex_start +s |char * |filter_gets |SV *sv|PerlIO *fp|STRLEN append +s |SV* |new_constant |char *s|STRLEN len|const char *key|SV *sv \ + |SV *pv|const char *type +s |int |ao |int toketype +s |void |depcom +s |char* |incl_perldb +#if 0 +s |I32 |utf16_textfilter|int idx|SV *sv|int maxlen +s |I32 |utf16rev_textfilter|int idx|SV *sv|int maxlen +#endif +# if defined(CRIPPLED_CC) +s |int |uni |I32 f|char *s +# endif +# if defined(PERL_CR_FILTER) +s |I32 |cr_textfilter |int idx|SV *sv|int maxlen +# endif +#endif + +#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) +s |SV*|isa_lookup |HV *stash|const char *name|int len|int level +#endif + +#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT) +s |SV* |mess_alloc +# if defined(LEAKTEST) +s |void |xstat |int +# endif +#endif + +#if defined(PERL_OBJECT) +}; +#endif diff --git a/gnu/usr.bin/perl/ext/B/byteperl.c b/gnu/usr.bin/perl/ext/B/byteperl.c deleted file mode 100644 index 6b53e3b174a..00000000000 --- a/gnu/usr.bin/perl/ext/B/byteperl.c +++ /dev/null @@ -1,110 +0,0 @@ -#include "EXTERN.h" -#include "perl.h" -#ifndef PATCHLEVEL -#include "patchlevel.h" -#endif - -static void xs_init _((void)); -static PerlInterpreter *my_perl; - -int -#ifndef CAN_PROTOTYPE -main(argc, argv, env) -int argc; -char **argv; -char **env; -#else /* def(CAN_PROTOTYPE) */ -main(int argc, char **argv, char **env) -#endif /* def(CAN_PROTOTYPE) */ -{ - int exitstatus; - int i; - char **fakeargv; - FILE *fp; -#ifdef INDIRECT_BGET_MACROS - struct bytestream bs; -#endif /* INDIRECT_BGET_MACROS */ - - INIT_SPECIALSV_LIST; - PERL_SYS_INIT(&argc,&argv); - -#if PATCHLEVEL > 3 || (PATCHLEVEL == 3 && SUBVERSION >= 1) - perl_init_i18nl10n(1); -#else - perl_init_i18nl14n(1); -#endif - - if (!PL_do_undump) { - my_perl = perl_alloc(); - if (!my_perl) -#ifdef VMS - exit(vaxc$errno); -#else - exit(1); -#endif - perl_construct( my_perl ); - } - -#ifdef CSH - if (!PL_cshlen) - PL_cshlen = strlen(PL_cshname); -#endif - - if (argc < 2) - fp = stdin; - else { -#ifdef WIN32 - fp = fopen(argv[1], "rb"); -#else - fp = fopen(argv[1], "r"); -#endif - if (!fp) { - perror(argv[1]); -#ifdef VMS - exit(vaxc$errno); -#else - exit(1); -#endif - } - argv++; - argc--; - } - New(666, fakeargv, argc + 4, char *); - fakeargv[0] = argv[0]; - fakeargv[1] = "-e"; - fakeargv[2] = ""; - fakeargv[3] = "--"; - for (i = 1; i < argc; i++) - fakeargv[i + 3] = argv[i]; - fakeargv[argc + 3] = 0; - - exitstatus = perl_parse(my_perl, xs_init, argc + 3, fakeargv, NULL); - if (exitstatus) - exit( exitstatus ); - - sv_setpv(GvSV(gv_fetchpv("0", TRUE, SVt_PV)), argv[0]); - PL_main_cv = PL_compcv; - PL_compcv = 0; - -#ifdef INDIRECT_BGET_MACROS - bs.data = fp; - bs.fgetc = (int(*) _((void*)))fgetc; - bs.fread = (int(*) _((char*,size_t,size_t,void*)))fread; - bs.freadpv = freadpv; - byterun(bs); -#else - byterun(fp); -#endif /* INDIRECT_BGET_MACROS */ - - exitstatus = perl_run( my_perl ); - - perl_destruct( my_perl ); - perl_free( my_perl ); - - exit( exitstatus ); -} - -static void -xs_init() -{ -} diff --git a/gnu/usr.bin/perl/ext/DB_File/DB_File.pm b/gnu/usr.bin/perl/ext/DB_File/DB_File.pm index e5759ff5585..00b24b90e61 100644 --- a/gnu/usr.bin/perl/ext/DB_File/DB_File.pm +++ b/gnu/usr.bin/perl/ext/DB_File/DB_File.pm @@ -1,10 +1,10 @@ # DB_File.pm -- Perl 5 interface to Berkeley DB # # written by Paul Marquess (Paul.Marquess@btinternet.com) -# last modified 6th March 1999 -# version 1.65 +# last modified 16th January 2000 +# version 1.72 # -# Copyright (c) 1995-9 Paul Marquess. All rights reserved. +# Copyright (c) 1995-2000 Paul Marquess. All rights reserved. # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. @@ -141,11 +141,13 @@ sub TIEHASH package DB_File ; use strict; -use vars qw($VERSION @ISA @EXPORT $AUTOLOAD $DB_BTREE $DB_HASH $DB_RECNO $db_version) ; +use vars qw($VERSION @ISA @EXPORT $AUTOLOAD $DB_BTREE $DB_HASH $DB_RECNO + $db_version $use_XSLoader + ) ; use Carp; -$VERSION = "1.65" ; +$VERSION = "1.72" ; #typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE; $DB_BTREE = new DB_File::BTREEINFO ; @@ -155,8 +157,18 @@ $DB_RECNO = new DB_File::RECNOINFO ; require Tie::Hash; require Exporter; use AutoLoader; -require DynaLoader; -@ISA = qw(Tie::Hash Exporter DynaLoader); +BEGIN { + $use_XSLoader = 1 ; + eval { require XSLoader } ; + + if ($@) { + $use_XSLoader = 0 ; + require DynaLoader; + @ISA = qw(DynaLoader); + } +} + +push @ISA, qw(Tie::Hash Exporter); @EXPORT = qw( $DB_BTREE $DB_HASH $DB_RECNO @@ -196,7 +208,7 @@ sub AUTOLOAD { ($constname = $AUTOLOAD) =~ s/.*:://; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { - if ($! =~ /Invalid/) { + if ($! =~ /Invalid/ || $!{EINVAL}) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } @@ -219,19 +231,10 @@ eval { push(@EXPORT, @O); }; -## import borrowed from IO::File -## exports Fcntl constants if available. -#sub import { -# my $pkg = shift; -# my $callpkg = caller; -# Exporter::export $pkg, $callpkg, @_; -# eval { -# require Fcntl; -# Exporter::export 'Fcntl', $callpkg, '/^O_/'; -# }; -#} - -bootstrap DB_File $VERSION; +if ($use_XSLoader) + { XSLoader::load("DB_File", $VERSION)} +else + { bootstrap DB_File $VERSION } # Preloaded methods go here. Autoload methods go after __END__, and are # processed by the autosplit program. @@ -408,6 +411,12 @@ DB_File - Perl5 access to Berkeley DB version 1.x $a = $X->shift; $X->unshift(list); + # DBM Filters + $old_filter = $db->filter_store_key ( sub { ... } ) ; + $old_filter = $db->filter_store_value( sub { ... } ) ; + $old_filter = $db->filter_fetch_key ( sub { ... } ) ; + $old_filter = $db->filter_fetch_value( sub { ... } ) ; + untie %hash ; untie @array ; @@ -415,10 +424,10 @@ DB_File - Perl5 access to Berkeley DB version 1.x B is a module which allows Perl programs to make use of the facilities provided by Berkeley DB version 1.x (if you have a newer -version of DB, see L). It is -assumed that you have a copy of the Berkeley DB manual pages at hand -when reading this documentation. The interface defined here mirrors the -Berkeley DB interface closely. +version of DB, see L). +It is assumed that you have a copy of the Berkeley DB manual pages at +hand when reading this documentation. The interface defined here +mirrors the Berkeley DB interface closely. Berkeley DB is a C library which provides a consistent interface to a number of database formats. B provides an interface to all @@ -459,32 +468,28 @@ number. =back -=head2 Using DB_File with Berkeley DB version 2 +=head2 Using DB_File with Berkeley DB version 2 or 3 Although B is intended to be used with Berkeley DB version 1, -it can also be used with version 2. In this case the interface is +it can also be used with version 2.or 3 In this case the interface is limited to the functionality provided by Berkeley DB 1.x. Anywhere the -version 2 interface differs, B arranges for it to work like -version 1. This feature allows B scripts that were built with -version 1 to be migrated to version 2 without any changes. +version 2 or 3 interface differs, B arranges for it to work +like version 1. This feature allows B scripts that were built +with version 1 to be migrated to version 2 or 3 without any changes. If you want to make use of the new features available in Berkeley DB -2.x, use the Perl module B instead. - -At the time of writing this document the B module is still -alpha quality (the version number is < 1.0), and so unsuitable for use -in any serious development work. Once its version number is >= 1.0, it -is considered stable enough for real work. +2.x or greater, use the Perl module B instead. -B The database file format has changed in Berkeley DB version 2. -If you cannot recreate your databases, you must dump any existing -databases with the C utility that comes with Berkeley DB. -Once you have rebuilt DB_File to use Berkeley DB version 2, your +B The database file format has changed in both Berkeley DB +version 2 and 3. If you cannot recreate your databases, you must dump +any existing databases with the C utility that comes with +Berkeley DB. +Once you have rebuilt DB_File to use Berkeley DB version 2 or 3, your databases can be recreated using C. Refer to the Berkeley DB documentation for further details. -Please read L<"COPYRIGHT"> before using version 2.x of Berkeley DB with -DB_File. +Please read L<"COPYRIGHT"> before using version 2.x or 3.x of Berkeley +DB with DB_File. =head2 Interface to Berkeley DB @@ -664,6 +669,7 @@ contents of the database. use DB_File ; use vars qw( %h $k $v ) ; + unlink "fruit" ; tie %h, "DB_File", "fruit", O_RDWR|O_CREAT, 0640, $DB_HASH or die "Cannot open file 'fruit': $!\n"; @@ -723,6 +729,7 @@ insensitive compare function will be used. # specify the Perl sub that will do the comparison $DB_BTREE->{'compare'} = \&Compare ; + unlink "tree" ; tie %h, "DB_File", "tree", O_RDWR|O_CREAT, 0640, $DB_BTREE or die "Cannot open file 'tree': $!\n" ; @@ -799,7 +806,7 @@ code: # iterate through the associative array # and print each key/value pair. - foreach (keys %h) + foreach (sort keys %h) { print "$_ -> $h{$_}\n" } untie %h ; @@ -901,6 +908,19 @@ particular value occurred in the BTREE. So assuming the database created above, we can use C like this: + use strict ; + use DB_File ; + + use vars qw($filename $x %h ) ; + + $filename = "tree" ; + + # Enable duplicate records + $DB_BTREE->{'flags'} = R_DUP ; + + $x = tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0640, $DB_BTREE + or die "Cannot open $filename: $!\n"; + my $cnt = $x->get_dup("Wall") ; print "Wall occurred $cnt times\n" ; @@ -908,7 +928,7 @@ this: print "Larry is there\n" if $hash{'Larry'} ; print "There are $hash{'Brick'} Brick Walls\n" ; - my @list = $x->get_dup("Wall") ; + my @list = sort $x->get_dup("Wall") ; print "Wall => [@list]\n" ; @list = $x->get_dup("Smith") ; @@ -931,7 +951,7 @@ and it will print: $status = $X->find_dup($key, $value) ; -This method checks for the existance of a specific key/value pair. If the +This method checks for the existence of a specific key/value pair. If the pair exists, the cursor is left pointing to the pair and the method returns 0. Otherwise the method returns a non-zero value. @@ -961,7 +981,7 @@ Assuming the database from the previous example: prints this - Larry Wall is there + Larry Wall is there Harry Wall is not there @@ -973,7 +993,7 @@ This method deletes a specific key/value pair. It returns 0 if they exist and have been deleted successfully. Otherwise the method returns a non-zero value. -Again assuming the existance of the C database +Again assuming the existence of the C database use strict ; use DB_File ; @@ -1053,7 +1073,7 @@ and print the first matching key/value pair given a partial key. $st == 0 ; $st = $x->seq($key, $value, R_NEXT) ) - { print "$key -> $value\n" } + { print "$key -> $value\n" } print "\nPARTIAL MATCH\n" ; @@ -1126,8 +1146,11 @@ L for a workaround). use strict ; use DB_File ; + my $filename = "text" ; + unlink $filename ; + my @h ; - tie @h, "DB_File", "text", O_RDWR|O_CREAT, 0640, $DB_RECNO + tie @h, "DB_File", $filename, O_RDWR|O_CREAT, 0640, $DB_RECNO or die "Cannot open file 'text': $!\n" ; # Add a few key/value pairs to the file @@ -1160,7 +1183,7 @@ Here is the output from the script: The array contains 5 entries popped black - unshifted white + shifted white Element 1 Exists with value blue The last element is green The 2nd last element is yellow @@ -1466,8 +1489,8 @@ R_CURSOR is the only valid flag at present. Returns the file descriptor for the underlying database. -See L for an example of how to make use of the -C method to lock your database. +See L for an explanation for why you should +not use C to lock your database. =item B<$status = $X-Eseq($key, $value, $flags) ;> @@ -1488,67 +1511,262 @@ R_RECNOSYNC is the only valid flag at present. =back -=head1 HINTS AND TIPS +=head1 DBM FILTERS +A DBM Filter is a piece of code that is be used when you I +want to make the same transformation to all keys and/or values in a +DBM database. -=head2 Locking Databases +There are four methods associated with DBM Filters. All work identically, +and each is used to install (or uninstall) a single DBM Filter. Each +expects a single parameter, namely a reference to a sub. The only +difference between them is the place that the filter is installed. -Concurrent access of a read-write database by several parties requires -them all to use some kind of locking. Here's an example of Tom's that -uses the I method to get the file descriptor, and then a careful -open() to give something Perl will flock() for you. Run this repeatedly -in the background to watch the locks granted in proper order. +To summarise: - use DB_File; +=over 5 - use strict; +=item B - sub LOCK_SH { 1 } - sub LOCK_EX { 2 } - sub LOCK_NB { 4 } - sub LOCK_UN { 8 } +If a filter has been installed with this method, it will be invoked +every time you write a key to a DBM database. - my($oldval, $fd, $db, %db, $value, $key); +=item B - $key = shift || 'default'; - $value = shift || 'magic'; +If a filter has been installed with this method, it will be invoked +every time you write a value to a DBM database. - $value .= " $$"; - $db = tie(%db, 'DB_File', '/tmp/foo.db', O_CREAT|O_RDWR, 0644) - || die "dbcreat /tmp/foo.db $!"; - $fd = $db->fd; - print "$$: db fd is $fd\n"; - open(DB_FH, "+<&=$fd") || die "dup $!"; +=item B +If a filter has been installed with this method, it will be invoked +every time you read a key from a DBM database. - unless (flock (DB_FH, LOCK_SH | LOCK_NB)) { - print "$$: CONTENTION; can't read during write update! - Waiting for read lock ($!) ...."; - unless (flock (DB_FH, LOCK_SH)) { die "flock: $!" } - } - print "$$: Read lock granted\n"; +=item B - $oldval = $db{$key}; - print "$$: Old value was $oldval\n"; - flock(DB_FH, LOCK_UN); +If a filter has been installed with this method, it will be invoked +every time you read a value from a DBM database. - unless (flock (DB_FH, LOCK_EX | LOCK_NB)) { - print "$$: CONTENTION; must have exclusive lock! - Waiting for write lock ($!) ...."; - unless (flock (DB_FH, LOCK_EX)) { die "flock: $!" } - } +=back - print "$$: Write lock granted\n"; - $db{$key} = $value; - $db->sync; # to flush - sleep 10; +You can use any combination of the methods, from none, to all four. +All filter methods return the existing filter, if present, or C +in not. + +To delete a filter pass C to it. + +=head2 The Filter + +When each filter is called by Perl, a local copy of C<$_> will contain +the key or value to be filtered. Filtering is achieved by modifying +the contents of C<$_>. The return code from the filter is ignored. + +=head2 An Example -- the NULL termination problem. + +Consider the following scenario. You have a DBM database +that you need to share with a third-party C application. The C application +assumes that I keys and values are NULL terminated. Unfortunately +when Perl writes to DBM databases it doesn't use NULL termination, so +your Perl application will have to manage NULL termination itself. When +you write to the database you will have to use something like this: + + $hash{"$key\0"} = "$value\0" ; + +Similarly the NULL needs to be taken into account when you are considering +the length of existing keys/values. + +It would be much better if you could ignore the NULL terminations issue +in the main application code and have a mechanism that automatically +added the terminating NULL to all keys and values whenever you write to +the database and have them removed when you read from the database. As I'm +sure you have already guessed, this is a problem that DBM Filters can +fix very easily. + + use strict ; + use DB_File ; + + my %hash ; + my $filename = "/tmp/filt" ; + unlink $filename ; + + my $db = tie %hash, 'DB_File', $filename, O_CREAT|O_RDWR, 0666, $DB_HASH + or die "Cannot open $filename: $!\n" ; + + # Install DBM Filters + $db->filter_fetch_key ( sub { s/\0$// } ) ; + $db->filter_store_key ( sub { $_ .= "\0" } ) ; + $db->filter_fetch_value( sub { s/\0$// } ) ; + $db->filter_store_value( sub { $_ .= "\0" } ) ; + + $hash{"abc"} = "def" ; + my $a = $hash{"ABC"} ; + # ... + undef $db ; + untie %hash ; + +Hopefully the contents of each of the filters should be +self-explanatory. Both "fetch" filters remove the terminating NULL, +and both "store" filters add a terminating NULL. + + +=head2 Another Example -- Key is a C int. + +Here is another real-life example. By default, whenever Perl writes to +a DBM database it always writes the key and value as strings. So when +you use this: + + $hash{12345} = "soemthing" ; + +the key 12345 will get stored in the DBM database as the 5 byte string +"12345". If you actually want the key to be stored in the DBM database +as a C int, you will have to use C when writing, and C +when reading. + +Here is a DBM Filter that does it: + + use strict ; + use DB_File ; + my %hash ; + my $filename = "/tmp/filt" ; + unlink $filename ; + + + my $db = tie %hash, 'DB_File', $filename, O_CREAT|O_RDWR, 0666, $DB_HASH + or die "Cannot open $filename: $!\n" ; + + $db->filter_fetch_key ( sub { $_ = unpack("i", $_) } ) ; + $db->filter_store_key ( sub { $_ = pack ("i", $_) } ) ; + $hash{123} = "def" ; + # ... + undef $db ; + untie %hash ; + +This time only two filters have been used -- we only need to manipulate +the contents of the key, so it wasn't necessary to install any value +filters. + +=head1 HINTS AND TIPS + + +=head2 Locking: The Trouble with fd + +Until version 1.72 of this module, the recommended technique for locking +B databases was to flock the filehandle returned from the "fd" +function. Unfortunately this technique has been shown to be fundamentally +flawed (Kudos to David Harris for tracking this down). Use it at your own +peril! + +The locking technique went like this. + + $db = tie(%db, 'DB_File', '/tmp/foo.db', O_CREAT|O_RDWR, 0644) + || die "dbcreat /tmp/foo.db $!"; + $fd = $db->fd; + open(DB_FH, "+<&=$fd") || die "dup $!"; + flock (DB_FH, LOCK_EX) || die "flock: $!"; + ... + $db{"Tom"} = "Jerry" ; + ... flock(DB_FH, LOCK_UN); undef $db; untie %db; close(DB_FH); - print "$$: Updated db to $key=$value\n"; + +In simple terms, this is what happens: + +=over 5 + +=item 1. + +Use "tie" to open the database. + +=item 2. + +Lock the database with fd & flock. + +=item 3. + +Read & Write to the database. + +=item 4. + +Unlock and close the database. + +=back + +Here is the crux of the problem. A side-effect of opening the B +database in step 2 is that an initial block from the database will get +read from disk and cached in memory. + +To see why this is a problem, consider what can happen when two processes, +say "A" and "B", both want to update the same B database +using the locking steps outlined above. Assume process "A" has already +opened the database and has a write lock, but it hasn't actually updated +the database yet (it has finished step 2, but not started step 3 yet). Now +process "B" tries to open the same database - step 1 will succeed, +but it will block on step 2 until process "A" releases the lock. The +important thing to notice here is that at this point in time both +processes will have cached identical initial blocks from the database. + +Now process "A" updates the database and happens to change some of the +data held in the initial buffer. Process "A" terminates, flushing +all cached data to disk and releasing the database lock. At this point +the database on disk will correctly reflect the changes made by process +"A". + +With the lock released, process "B" can now continue. It also updates the +database and unfortunately it too modifies the data that was in its +initial buffer. Once that data gets flushed to disk it will overwrite +some/all of the changes process "A" made to the database. + +The result of this scenario is at best a database that doesn't contain +what you expect. At worst the database will corrupt. + +The above won't happen every time competing process update the same +B database, but it does illustrate why the technique should +not be used. + +=head2 Safe ways to lock a database + +Starting with version 2.x, Berkeley DB has internal support for locking. +The companion module to this one, B, provides an interface +to this locking functionality. If you are serious about locking +Berkeley DB databases, I strongly recommend using B. + +If using B isn't an option, there are a number of modules +available on CPAN that can be used to implement locking. Each one +implements locking differently and has different goals in mind. It is +therefore worth knowing the difference, so that you can pick the right +one for your application. Here are the three locking wrappers: + +=over 5 + +=item B + +A B wrapper which creates copies of the database file for +read access, so that you have a kind of a multiversioning concurrent read +system. However, updates are still serial. Use for databases where reads +may be lengthy and consistency problems may occur. + +=item B + +A B wrapper that has the ability to lock and unlock the database +while it is being used. Avoids the tie-before-flock problem by simply +re-tie-ing the database when you get or drop a lock. Because of the +flexibility in dropping and re-acquiring the lock in the middle of a +session, this can be massaged into a system that will work with long +updates and/or reads if the application follows the hints in the POD +documentation. + +=item B + +An extremely lightweight B wrapper that simply flocks a lockfile +before tie-ing the database and drops the lock after the untie. Allows +one to use the same lockfile for multiple databases to avoid deadlock +problems, if desired. Use for databases where updates are reads are +quick and simple flock locking semantics are enough. + +=back =head2 Sharing Databases With C Applications @@ -1557,7 +1775,7 @@ shared by both a Perl and a C application. The vast majority of problems that are reported in this area boil down to the fact that C strings are NULL terminated, whilst Perl strings are -not. +not. See L for a generic way to work around this problem. Here is a real example. Netscape 2.0 keeps a record of the locations you visit along with the time you last visited them in a DB_HASH database. @@ -1654,7 +1872,7 @@ C<%x>, and C<$X> above hold a reference to the object. The call to untie() will destroy the first, but C<$X> still holds a valid reference, so the destructor will not get called and the database file F will remain open. The fact that Berkeley DB then reports the -attempt to open a database that is alreday open via the catch-all +attempt to open a database that is already open via the catch-all "Invalid argument" doesn't help. If you run the script with the C<-w> flag the error message becomes: @@ -1746,6 +1964,19 @@ double quotes, like this: Although it might seem like a real pain, it is really worth the effort of having a C in all your scripts. +=head1 REFERENCES + +Articles that are either about B or make use of it. + +=over 5 + +=item 1. + +I, Tim Kientzle (tkientzle@ddj.com), +Dr. Dobb's Journal, Issue 295, January 1999, pp 34-41 + +=back + =head1 HISTORY Moved to the Changes file. @@ -1768,13 +1999,12 @@ date, so the most recent version can always be found on CPAN (see L for details), in the directory F. -This version of B will work with either version 1.x or 2.x of -Berkeley DB, but is limited to the functionality provided by version 1. +This version of B will work with either version 1.x, 2.x or +3.x of Berkeley DB, but is limited to the functionality provided by +version 1. -The official web site for Berkeley DB is -F. The ftp equivalent is -F. Both versions 1 and 2 of Berkeley DB are -available there. +The official web site for Berkeley DB is F. +All versions of Berkeley DB are available there. Alternatively, Berkeley DB version 1 is available at your nearest CPAN archive in F. @@ -1785,7 +2015,7 @@ compile properly on IRIX 5.3. =head1 COPYRIGHT -Copyright (c) 1995-9 Paul Marquess. All rights reserved. This program +Copyright (c) 1995-1999 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -1794,7 +2024,7 @@ makes use of, namely Berkeley DB, is not. Berkeley DB has its own copyright and its own license. Please take the time to read it. Here are are few words taken from the Berkeley DB FAQ (at -http://www.sleepycat.com) regarding the license: +F) regarding the license: Do I have to license DB to use it in Perl scripts? @@ -1811,7 +2041,8 @@ Berkeley DB authors or the author of DB_File. See L<"AUTHOR"> for details. =head1 SEE ALSO -L, L, L, L, L +L, L, L, L, L, +L =head1 AUTHOR diff --git a/gnu/usr.bin/perl/ext/DB_File/DB_File.xs b/gnu/usr.bin/perl/ext/DB_File/DB_File.xs index 94113eb4e28..2b76bab7226 100644 --- a/gnu/usr.bin/perl/ext/DB_File/DB_File.xs +++ b/gnu/usr.bin/perl/ext/DB_File/DB_File.xs @@ -3,12 +3,12 @@ DB_File.xs -- Perl 5 interface to Berkeley DB written by Paul Marquess - last modified 6th March 1999 - version 1.65 + last modified 16th January 2000 + version 1.72 All comments/suggestions/problems are welcome - Copyright (c) 1995-9 Paul Marquess. All rights reserved. + Copyright (c) 1995-2000 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -65,8 +65,23 @@ to fix a flag mapping problem with O_RDONLY on the Hurd 1.65 - Fixed a bug in the PUSH logic. Added BOOT check that using 2.3.4 or greater - - + 1.66 - Added DBM filter code + 1.67 - Backed off the use of newSVpvn. + Fixed DBM Filter code for Perl 5.004. + Fixed a small memory leak in the filter code. + 1.68 - fixed backward compatability bug with R_IAFTER & R_IBEFORE + merged in the 5.005_58 changes + 1.69 - fixed a bug in push -- DB_APPEND wasn't working properly. + Fixed the R_SETCURSOR bug introduced in 1.68 + Added a new Perl variable $DB_File::db_ver + 1.70 - Initialise $DB_File::db_ver and $DB_File::db_version with + GV_ADD|GV_ADDMULT -- bug spotted by Nick Ing-Simmons. + Added a BOOT check to test for equivalent versions of db.h & + libdb.a/so. + 1.71 - Support for Berkeley DB version 3. + Support for Berkeley DB 2/3's backward compatability mode. + Rewrote push + 1.72 - No change to DB_File.xs */ @@ -75,10 +90,10 @@ #include "XSUB.h" #ifndef PERL_VERSION -#include "patchlevel.h" -#define PERL_REVISION 5 -#define PERL_VERSION PATCHLEVEL -#define PERL_SUBVERSION SUBVERSION +# include "patchlevel.h" +# define PERL_REVISION 5 +# define PERL_VERSION PATCHLEVEL +# define PERL_SUBVERSION SUBVERSION #endif #if PERL_REVISION == 5 && (PERL_VERSION < 4 || (PERL_VERSION == 4 && PERL_SUBVERSION <= 75 )) @@ -88,6 +103,11 @@ #endif +/* DEFSV appears first in 5.004_56 */ +#ifndef DEFSV +# define DEFSV GvSV(defgv) +#endif + /* Being the Berkeley DB we prefer the (which will be * shortly #included by the ) __attribute__ to the possibly * already defined __attribute__, for example by GNUC or by Perl. */ @@ -98,33 +118,65 @@ be defined here. This clashes with a field name in db.h, so get rid of it. */ #ifdef op -#undef op +# undef op +#endif + +#ifdef COMPAT185 +# include +#else +# include +#endif + +#ifndef pTHX +# define pTHX +# define pTHX_ +# define aTHX +# define aTHX_ +#endif + +#ifndef newSVpvn +# define newSVpvn(a,b) newSVpv(a,b) #endif -#include #include /* #define TRACE */ +#define DBM_FILTERING + +#ifdef TRACE +# define Trace(x) printf x +#else +# define Trace(x) +#endif +#define DBT_clear(x) Zero(&x, 1, DBT) ; #ifdef DB_VERSION_MAJOR +#if DB_VERSION_MAJOR == 2 +# define BERKELEY_DB_1_OR_2 +#endif + /* map version 2 features & constants onto their version 1 equivalent */ #ifdef DB_Prefix_t -#undef DB_Prefix_t +# undef DB_Prefix_t #endif #define DB_Prefix_t size_t #ifdef DB_Hash_t -#undef DB_Hash_t +# undef DB_Hash_t #endif #define DB_Hash_t u_int32_t /* DBTYPE stays the same */ /* HASHINFO, RECNOINFO and BTREEINFO map to DB_INFO */ -typedef DB_INFO INFO ; +#if DB_VERSION_MAJOR == 2 + typedef DB_INFO INFO ; +#else /* DB_VERSION_MAJOR > 2 */ +# define DB_FIXEDLEN (0x8000) +#endif /* DB_VERSION_MAJOR == 2 */ /* version 2 has db_recno_t in place of recno_t */ typedef db_recno_t recno_t; @@ -138,11 +190,18 @@ typedef db_recno_t recno_t; #define R_NEXT DB_NEXT #define R_NOOVERWRITE DB_NOOVERWRITE #define R_PREV DB_PREV -#define R_SETCURSOR 0 + +#if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 5 +# define R_SETCURSOR 0x800000 +#else +# define R_SETCURSOR (-100) +#endif + #define R_RECNOSYNC 0 #define R_FIXEDLEN DB_FIXEDLEN #define R_DUP DB_DUP + #define db_HA_hash h_hash #define db_HA_ffactor h_ffactor #define db_HA_nelem h_nelem @@ -177,13 +236,15 @@ typedef db_recno_t recno_t; #define DB_flags(x, v) x |= v #if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 5 -#define flagSet(flags, bitmask) ((flags) & (bitmask)) +# define flagSet(flags, bitmask) ((flags) & (bitmask)) #else -#define flagSet(flags, bitmask) (((flags) & DB_OPFLAGS_MASK) == (bitmask)) +# define flagSet(flags, bitmask) (((flags) & DB_OPFLAGS_MASK) == (bitmask)) #endif #else /* db version 1.x */ +#define BERKELEY_DB_1_OR_2 + typedef union INFO { HASHINFO hash ; RECNOINFO recno ; @@ -192,17 +253,17 @@ typedef union INFO { #ifdef mDB_Prefix_t -#ifdef DB_Prefix_t -#undef DB_Prefix_t -#endif -#define DB_Prefix_t mDB_Prefix_t +# ifdef DB_Prefix_t +# undef DB_Prefix_t +# endif +# define DB_Prefix_t mDB_Prefix_t #endif #ifdef mDB_Hash_t -#ifdef DB_Hash_t -#undef DB_Hash_t -#endif -#define DB_Hash_t mDB_Hash_t +# ifdef DB_Hash_t +# undef DB_Hash_t +# endif +# define DB_Hash_t mDB_Hash_t #endif #define db_HA_hash hash.hash @@ -248,20 +309,21 @@ typedef union INFO { #define db_get(db, key, value, flags) ((db->dbp)->get)(db->dbp, TXN &key, &value, flags) #ifdef DB_VERSION_MAJOR -#define db_DESTROY(db) ((db->dbp)->close)(db->dbp, 0) +#define db_DESTROY(db) ( db->cursor->c_close(db->cursor),\ + (db->dbp->close)(db->dbp, 0) ) #define db_close(db) ((db->dbp)->close)(db->dbp, 0) #define db_del(db, key, flags) (flagSet(flags, R_CURSOR) \ ? ((db->cursor)->c_del)(db->cursor, 0) \ : ((db->dbp)->del)(db->dbp, NULL, &key, flags) ) -#else +#else /* ! DB_VERSION_MAJOR */ #define db_DESTROY(db) ((db->dbp)->close)(db->dbp) #define db_close(db) ((db->dbp)->close)(db->dbp) #define db_del(db, key, flags) ((db->dbp)->del)(db->dbp, &key, flags) #define db_put(db, key, value, flags) ((db->dbp)->put)(db->dbp, &key, &value, flags) -#endif +#endif /* ! DB_VERSION_MAJOR */ #define db_seq(db, key, value, flags) do_SEQ(db, key, value, flags) @@ -273,32 +335,70 @@ typedef struct { SV * prefix ; SV * hash ; int in_memory ; +#ifdef BERKELEY_DB_1_OR_2 INFO info ; +#endif #ifdef DB_VERSION_MAJOR DBC * cursor ; #endif +#ifdef DBM_FILTERING + SV * filter_fetch_key ; + SV * filter_store_key ; + SV * filter_fetch_value ; + SV * filter_store_value ; + int filtering ; +#endif /* DBM_FILTERING */ + } DB_File_type; typedef DB_File_type * DB_File ; typedef DBT DBTKEY ; +#ifdef DBM_FILTERING + +#define ckFilter(arg,type,name) \ + if (db->type) { \ + SV * save_defsv ; \ + /* printf("filtering %s\n", name) ;*/ \ + if (db->filtering) \ + croak("recursion detected in %s", name) ; \ + db->filtering = TRUE ; \ + save_defsv = newSVsv(DEFSV) ; \ + sv_setsv(DEFSV, arg) ; \ + PUSHMARK(sp) ; \ + (void) perl_call_sv(db->type, G_DISCARD|G_NOARGS); \ + sv_setsv(arg, DEFSV) ; \ + sv_setsv(DEFSV, save_defsv) ; \ + SvREFCNT_dec(save_defsv) ; \ + db->filtering = FALSE ; \ + /*printf("end of filtering %s\n", name) ;*/ \ + } + +#else + +#define ckFilter(arg,type, name) + +#endif /* DBM_FILTERING */ + #define my_sv_setpvn(sv, d, s) sv_setpvn(sv, (s ? d : (void*)""), s) -#define OutputValue(arg, name) \ - { if (RETVAL == 0) { \ - my_sv_setpvn(arg, name.data, name.size) ; \ - } \ +#define OutputValue(arg, name) \ + { if (RETVAL == 0) { \ + my_sv_setpvn(arg, name.data, name.size) ; \ + ckFilter(arg, filter_fetch_value,"filter_fetch_value") ; \ + } \ } -#define OutputKey(arg, name) \ - { if (RETVAL == 0) \ - { \ - if (db->type != DB_RECNO) { \ - my_sv_setpvn(arg, name.data, name.size); \ - } \ - else \ - sv_setiv(arg, (I32)*(I32*)name.data - 1); \ - } \ +#define OutputKey(arg, name) \ + { if (RETVAL == 0) \ + { \ + if (db->type != DB_RECNO) { \ + my_sv_setpvn(arg, name.data, name.size); \ + } \ + else \ + sv_setiv(arg, (I32)*(I32*)name.data - 1); \ + ckFilter(arg, filter_fetch_key,"filter_fetch_key") ; \ + } \ } @@ -311,26 +411,57 @@ static DBTKEY empty ; #ifdef DB_VERSION_MAJOR static int +#ifdef CAN_PROTOTYPE +db_put(DB_File db, DBTKEY key, DBT value, u_int flags) +#else db_put(db, key, value, flags) DB_File db ; DBTKEY key ; DBT value ; u_int flags ; - +#endif { int status ; - if (flagSet(flags, R_CURSOR)) { - status = ((db->cursor)->c_del)(db->cursor, 0); - if (status != 0) - return status ; - -#if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 5 - flags &= ~R_CURSOR ; + if (flagSet(flags, R_IAFTER) || flagSet(flags, R_IBEFORE)) { + DBC * temp_cursor ; + DBT l_key, l_value; + +#if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 6 + if (((db->dbp)->cursor)(db->dbp, NULL, &temp_cursor) != 0) #else - flags &= ~DB_OPFLAGS_MASK ; + if (((db->dbp)->cursor)(db->dbp, NULL, &temp_cursor, 0) != 0) #endif + return (-1) ; + + memset(&l_key, 0, sizeof(l_key)); + l_key.data = key.data; + l_key.size = key.size; + memset(&l_value, 0, sizeof(l_value)); + l_value.data = value.data; + l_value.size = value.size; + + if ( temp_cursor->c_get(temp_cursor, &l_key, &l_value, DB_SET) != 0) { + (void)temp_cursor->c_close(temp_cursor); + return (-1); + } + status = temp_cursor->c_put(temp_cursor, &key, &value, flags); + (void)temp_cursor->c_close(temp_cursor); + + return (status) ; + } + + + if (flagSet(flags, R_CURSOR)) { + return ((db->cursor)->c_put)(db->cursor, &key, &value, DB_CURRENT); + } + + if (flagSet(flags, R_SETCURSOR)) { + if ((db->dbp)->put(db->dbp, NULL, &key, &value, 0) != 0) + return -1 ; + return ((db->cursor)->c_get)(db->cursor, &key, &value, DB_SET_RANGE); + } return ((db->dbp)->put)(db->dbp, NULL, &key, &value, flags) ; @@ -339,42 +470,19 @@ u_int flags ; #endif /* DB_VERSION_MAJOR */ -static void -GetVersionInfo() -{ - SV * ver_sv = perl_get_sv("DB_File::db_version", TRUE) ; -#ifdef DB_VERSION_MAJOR - int Major, Minor, Patch ; - - (void)db_version(&Major, &Minor, &Patch) ; - - /* check that libdb is recent enough -- we need 2.3.4 or greater */ - if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4))) - croak("DB_File needs Berkeley DB 2.3.4 or greater, you have %d.%d.%d\n", - Major, Minor, Patch) ; - -#if PERL_VERSION > 3 - sv_setpvf(ver_sv, "%d.%d", Major, Minor) ; -#else - { - char buffer[40] ; - sprintf(buffer, "%d.%d", Major, Minor) ; - sv_setpv(ver_sv, buffer) ; - } -#endif - -#else - sv_setiv(ver_sv, 1) ; -#endif - -} - static int +#ifdef CAN_PROTOTYPE +btree_compare(const DBT *key1, const DBT *key2) +#else btree_compare(key1, key2) const DBT * key1 ; const DBT * key2 ; +#endif { +#ifdef dTHX + dTHX; +#endif dSP ; void * data1, * data2 ; int retval ; @@ -383,6 +491,7 @@ const DBT * key2 ; data1 = key1->data ; data2 = key2->data ; +#ifndef newSVpvn /* As newSVpv will assume that the data pointer is a null terminated C string if the size parameter is 0, make sure that data points to an empty string if the length is 0 @@ -391,14 +500,15 @@ const DBT * key2 ; data1 = "" ; if (key2->size == 0) data2 = "" ; +#endif ENTER ; SAVETMPS; PUSHMARK(SP) ; EXTEND(SP,2) ; - PUSHs(sv_2mortal(newSVpv(data1,key1->size))); - PUSHs(sv_2mortal(newSVpv(data2,key2->size))); + PUSHs(sv_2mortal(newSVpvn(data1,key1->size))); + PUSHs(sv_2mortal(newSVpvn(data2,key2->size))); PUTBACK ; count = perl_call_sv(CurrentDB->compare, G_SCALAR); @@ -418,10 +528,17 @@ const DBT * key2 ; } static DB_Prefix_t +#ifdef CAN_PROTOTYPE +btree_prefix(const DBT *key1, const DBT *key2) +#else btree_prefix(key1, key2) const DBT * key1 ; const DBT * key2 ; +#endif { +#ifdef dTHX + dTHX; +#endif dSP ; void * data1, * data2 ; int retval ; @@ -430,6 +547,7 @@ const DBT * key2 ; data1 = key1->data ; data2 = key2->data ; +#ifndef newSVpvn /* As newSVpv will assume that the data pointer is a null terminated C string if the size parameter is 0, make sure that data points to an empty string if the length is 0 @@ -438,14 +556,15 @@ const DBT * key2 ; data1 = "" ; if (key2->size == 0) data2 = "" ; +#endif ENTER ; SAVETMPS; PUSHMARK(SP) ; EXTEND(SP,2) ; - PUSHs(sv_2mortal(newSVpv(data1,key1->size))); - PUSHs(sv_2mortal(newSVpv(data2,key2->size))); + PUSHs(sv_2mortal(newSVpvn(data1,key1->size))); + PUSHs(sv_2mortal(newSVpvn(data2,key2->size))); PUTBACK ; count = perl_call_sv(CurrentDB->prefix, G_SCALAR); @@ -465,16 +584,25 @@ const DBT * key2 ; } static DB_Hash_t +#ifdef CAN_PROTOTYPE +hash_cb(const void *data, size_t size) +#else hash_cb(data, size) const void * data ; size_t size ; +#endif { +#ifdef dTHX + dTHX; +#endif dSP ; int retval ; int count ; +#ifndef newSVpvn if (size == 0) data = "" ; +#endif /* DGH - Next two lines added to fix corrupted stack problem */ ENTER ; @@ -482,7 +610,7 @@ size_t size ; PUSHMARK(SP) ; - XPUSHs(sv_2mortal(newSVpv((char*)data,size))); + XPUSHs(sv_2mortal(newSVpvn((char*)data,size))); PUTBACK ; count = perl_call_sv(CurrentDB->hash, G_SCALAR); @@ -502,11 +630,15 @@ size_t size ; } -#ifdef TRACE +#if defined(TRACE) && defined(BERKELEY_DB_1_OR_2) static void +#ifdef CAN_PROTOTYPE +PrintHash(INFO *hash) +#else PrintHash(hash) INFO * hash ; +#endif { printf ("HASH Info\n") ; printf (" hash = %s\n", @@ -520,8 +652,12 @@ INFO * hash ; } static void +#ifdef CAN_PROTOTYPE +PrintRecno(INFO *recno) +#else PrintRecno(recno) INFO * recno ; +#endif { printf ("RECNO Info\n") ; printf (" flags = %d\n", recno->db_RE_flags) ; @@ -534,8 +670,12 @@ INFO * recno ; } static void +#ifdef CAN_PROTOTYPE +PrintBtree(INFO *btree) +#else PrintBtree(btree) INFO * btree ; +#endif { printf ("BTREE Info\n") ; printf (" compare = %s\n", @@ -562,15 +702,19 @@ INFO * btree ; static I32 +#ifdef CAN_PROTOTYPE +GetArrayLength(pTHX_ DB_File db) +#else GetArrayLength(db) DB_File db ; +#endif { DBT key ; DBT value ; int RETVAL ; - DBT_flags(key) ; - DBT_flags(value) ; + DBT_clear(key) ; + DBT_clear(value) ; RETVAL = do_SEQ(db, key, value, R_LAST) ; if (RETVAL == 0) RETVAL = *(I32 *)key.data ; @@ -581,13 +725,17 @@ DB_File db ; } static recno_t +#ifdef CAN_PROTOTYPE +GetRecnoKey(pTHX_ DB_File db, I32 value) +#else GetRecnoKey(db, value) DB_File db ; I32 value ; +#endif { if (value < 0) { /* Get the length of the array */ - I32 length = GetArrayLength(db) ; + I32 length = GetArrayLength(aTHX_ db) ; /* check for attempt to write before start of array */ if (length + value + 1 <= 0) @@ -601,14 +749,22 @@ I32 value ; return value ; } + static DB_File +#ifdef CAN_PROTOTYPE +ParseOpenInfo(pTHX_ int isHASH, char *name, int flags, int mode, SV *sv) +#else ParseOpenInfo(isHASH, name, flags, mode, sv) int isHASH ; char * name ; int flags ; int mode ; SV * sv ; +#endif { + +#ifdef BERKELEY_DB_1_OR_2 /* Berkeley DB Version 1 or 2 */ + SV ** svp; HV * action ; DB_File RETVAL = (DB_File)safemalloc(sizeof(DB_File_type)) ; @@ -620,6 +776,11 @@ SV * sv ; Zero(RETVAL, 1, DB_File_type) ; /* Default to HASH */ +#ifdef DBM_FILTERING + RETVAL->filtering = 0 ; + RETVAL->filter_fetch_key = RETVAL->filter_store_key = + RETVAL->filter_fetch_value = RETVAL->filter_store_value = +#endif /* DBM_FILTERING */ RETVAL->hash = RETVAL->compare = RETVAL->prefix = NULL ; RETVAL->type = DB_HASH ; @@ -864,25 +1025,275 @@ SV * sv ; } #else + +#if defined(DB_LIBRARY_COMPATIBILITY_API) && DB_VERSION_MAJOR > 2 + RETVAL->dbp = __db185_open(name, flags, mode, RETVAL->type, openinfo) ; +#else RETVAL->dbp = dbopen(name, flags, mode, RETVAL->type, openinfo) ; +#endif /* DB_LIBRARY_COMPATIBILITY_API */ + #endif return (RETVAL) ; -} +#else /* Berkeley DB Version > 2 */ + + SV ** svp; + HV * action ; + DB_File RETVAL = (DB_File)safemalloc(sizeof(DB_File_type)) ; + DB * dbp ; + STRLEN n_a; + int status ; + +/* printf("In ParseOpenInfo name=[%s] flags=[%d] mode = [%d]\n", name, flags, mode) ; */ + Zero(RETVAL, 1, DB_File_type) ; + + /* Default to HASH */ +#ifdef DBM_FILTERING + RETVAL->filtering = 0 ; + RETVAL->filter_fetch_key = RETVAL->filter_store_key = + RETVAL->filter_fetch_value = RETVAL->filter_store_value = +#endif /* DBM_FILTERING */ + RETVAL->hash = RETVAL->compare = RETVAL->prefix = NULL ; + RETVAL->type = DB_HASH ; + + /* DGH - Next line added to avoid SEGV on existing hash DB */ + CurrentDB = RETVAL; + + /* fd for 1.86 hash in memory files doesn't return -1 like 1.85 */ + RETVAL->in_memory = (name == NULL) ; + + status = db_create(&RETVAL->dbp, NULL,0) ; + /* printf("db_create returned %d %s\n", status, db_strerror(status)) ; */ + if (status) { + RETVAL->dbp = NULL ; + return (RETVAL) ; + } + dbp = RETVAL->dbp ; + + if (sv) + { + if (! SvROK(sv) ) + croak ("type parameter is not a reference") ; + + svp = hv_fetch( (HV*)SvRV(sv), "GOT", 3, FALSE) ; + if (svp && SvOK(*svp)) + action = (HV*) SvRV(*svp) ; + else + croak("internal error") ; + + if (sv_isa(sv, "DB_File::HASHINFO")) + { + + if (!isHASH) + croak("DB_File can only tie an associative array to a DB_HASH database") ; + + RETVAL->type = DB_HASH ; + + svp = hv_fetch(action, "hash", 4, FALSE); + + if (svp && SvOK(*svp)) + { + (void)dbp->set_h_hash(dbp, hash_cb) ; + RETVAL->hash = newSVsv(*svp) ; + } + + svp = hv_fetch(action, "ffactor", 7, FALSE); + if (svp) + (void)dbp->set_h_ffactor(dbp, SvIV(*svp)) ; + + svp = hv_fetch(action, "nelem", 5, FALSE); + if (svp) + (void)dbp->set_h_nelem(dbp, SvIV(*svp)) ; + + svp = hv_fetch(action, "bsize", 5, FALSE); + if (svp) + (void)dbp->set_pagesize(dbp, SvIV(*svp)); + + svp = hv_fetch(action, "cachesize", 9, FALSE); + if (svp) + (void)dbp->set_cachesize(dbp, 0, SvIV(*svp), 0) ; + + svp = hv_fetch(action, "lorder", 6, FALSE); + if (svp) + (void)dbp->set_lorder(dbp, SvIV(*svp)) ; + + PrintHash(info) ; + } + else if (sv_isa(sv, "DB_File::BTREEINFO")) + { + if (!isHASH) + croak("DB_File can only tie an associative array to a DB_BTREE database"); + + RETVAL->type = DB_BTREE ; + + svp = hv_fetch(action, "compare", 7, FALSE); + if (svp && SvOK(*svp)) + { + (void)dbp->set_bt_compare(dbp, btree_compare) ; + RETVAL->compare = newSVsv(*svp) ; + } + + svp = hv_fetch(action, "prefix", 6, FALSE); + if (svp && SvOK(*svp)) + { + (void)dbp->set_bt_prefix(dbp, btree_prefix) ; + RETVAL->prefix = newSVsv(*svp) ; + } + + svp = hv_fetch(action, "flags", 5, FALSE); + if (svp) + (void)dbp->set_flags(dbp, SvIV(*svp)) ; + + svp = hv_fetch(action, "cachesize", 9, FALSE); + if (svp) + (void)dbp->set_cachesize(dbp, 0, SvIV(*svp), 0) ; + + svp = hv_fetch(action, "psize", 5, FALSE); + if (svp) + (void)dbp->set_pagesize(dbp, SvIV(*svp)) ; + + svp = hv_fetch(action, "lorder", 6, FALSE); + if (svp) + (void)dbp->set_lorder(dbp, SvIV(*svp)) ; + + PrintBtree(info) ; + + } + else if (sv_isa(sv, "DB_File::RECNOINFO")) + { + int fixed = FALSE ; + + if (isHASH) + croak("DB_File can only tie an array to a DB_RECNO database"); + + RETVAL->type = DB_RECNO ; + + svp = hv_fetch(action, "flags", 5, FALSE); + if (svp) { + int flags = SvIV(*svp) ; + /* remove FIXDLEN, if present */ + if (flags & DB_FIXEDLEN) { + fixed = TRUE ; + flags &= ~DB_FIXEDLEN ; + } + } + + svp = hv_fetch(action, "cachesize", 9, FALSE); + if (svp) { + status = dbp->set_cachesize(dbp, 0, SvIV(*svp), 0) ; + } + + svp = hv_fetch(action, "psize", 5, FALSE); + if (svp) { + status = dbp->set_pagesize(dbp, SvIV(*svp)) ; + } + + svp = hv_fetch(action, "lorder", 6, FALSE); + if (svp) { + status = dbp->set_lorder(dbp, SvIV(*svp)) ; + } + + svp = hv_fetch(action, "bval", 4, FALSE); + if (svp && SvOK(*svp)) + { + int value ; + if (SvPOK(*svp)) + value = (int)*SvPV(*svp, n_a) ; + else + value = SvIV(*svp) ; + + if (fixed) { + status = dbp->set_re_pad(dbp, value) ; + } + else { + status = dbp->set_re_delim(dbp, value) ; + } + + } + + if (fixed) { + svp = hv_fetch(action, "reclen", 6, FALSE); + if (svp) { + u_int32_t len = (u_int32_t)SvIV(*svp) ; + status = dbp->set_re_len(dbp, len) ; + } + } + + if (name != NULL) { + status = dbp->set_re_source(dbp, name) ; + name = NULL ; + } + + svp = hv_fetch(action, "bfname", 6, FALSE); + if (svp && SvOK(*svp)) { + char * ptr = SvPV(*svp,n_a) ; + name = (char*) n_a ? ptr : NULL ; + } + else + name = NULL ; + + + status = dbp->set_flags(dbp, DB_RENUMBER) ; + + if (flags){ + (void)dbp->set_flags(dbp, flags) ; + } + PrintRecno(info) ; + } + else + croak("type is not of type DB_File::HASHINFO, DB_File::BTREEINFO or DB_File::RECNOINFO"); + } + + { + int Flags = 0 ; + int status ; + + /* Map 1.x flags to 3.x flags */ + if ((flags & O_CREAT) == O_CREAT) + Flags |= DB_CREATE ; + +#if O_RDONLY == 0 + if (flags == O_RDONLY) +#else + if ((flags & O_RDONLY) == O_RDONLY && (flags & O_RDWR) != O_RDWR) +#endif + Flags |= DB_RDONLY ; + +#ifdef O_TRUNC + if ((flags & O_TRUNC) == O_TRUNC) + Flags |= DB_TRUNCATE ; +#endif + + status = RETVAL->dbp->open(RETVAL->dbp, name, NULL, RETVAL->type, + Flags, mode) ; + /* printf("open returned %d %s\n", status, db_strerror(status)) ; */ + + if (status == 0) + status = (RETVAL->dbp->cursor)(RETVAL->dbp, NULL, &RETVAL->cursor, + 0) ; + /* printf("cursor returned %d %s\n", status, db_strerror(status)) ; */ + + if (status) + RETVAL->dbp = NULL ; + + } + + return (RETVAL) ; + +#endif /* Berkeley DB Version > 2 */ + +} /* ParseOpenInfo */ -static int -not_here(s) -char *s; -{ - croak("DB_File::%s not implemented on this architecture", s); - return -1; -} static double +#ifdef CAN_PROTOTYPE +constant(char *name, int arg) +#else constant(name, arg) char *name; int arg; +#endif { errno = 0; switch (*name) { @@ -1115,11 +1526,11 @@ MODULE = DB_File PACKAGE = DB_File PREFIX = db_ BOOT: { - GetVersionInfo() ; + __getBerkeleyDBInfo() ; + DBT_clear(empty) ; empty.data = &zero ; empty.size = sizeof(recno_t) ; - DBT_flags(empty) ; } double @@ -1146,7 +1557,7 @@ db_DoTie_(isHASH, dbtype, name=undef, flags=O_CREAT|O_RDWR, mode=0666, type=DB_H if (items == 6) sv = ST(5) ; - RETVAL = ParseOpenInfo(isHASH, name, flags, mode, sv) ; + RETVAL = ParseOpenInfo(aTHX_ isHASH, name, flags, mode, sv) ; if (RETVAL->dbp == NULL) RETVAL = NULL ; } @@ -1165,7 +1576,17 @@ db_DESTROY(db) SvREFCNT_dec(db->compare) ; if (db->prefix) SvREFCNT_dec(db->prefix) ; - Safefree(db) ; +#ifdef DBM_FILTERING + if (db->filter_fetch_key) + SvREFCNT_dec(db->filter_fetch_key) ; + if (db->filter_store_key) + SvREFCNT_dec(db->filter_store_key) ; + if (db->filter_fetch_value) + SvREFCNT_dec(db->filter_fetch_value) ; + if (db->filter_store_value) + SvREFCNT_dec(db->filter_store_value) ; +#endif /* DBM_FILTERING */ + safefree(db) ; #ifdef DB_VERSION_MAJOR if (RETVAL > 0) RETVAL = -1 ; @@ -1189,7 +1610,7 @@ db_EXISTS(db, key) { DBT value ; - DBT_flags(value) ; + DBT_clear(value) ; CurrentDB = db ; RETVAL = (((db->dbp)->get)(db->dbp, TXN &key, &value, 0) == 0) ; } @@ -1205,7 +1626,7 @@ db_FETCH(db, key, flags=0) { DBT value ; - DBT_flags(value) ; + DBT_clear(value) ; CurrentDB = db ; /* RETVAL = ((db->dbp)->get)(db->dbp, TXN &key, &value, flags) ; */ RETVAL = db_get(db, key, value, flags) ; @@ -1231,8 +1652,8 @@ db_FIRSTKEY(db) DBTKEY key ; DBT value ; - DBT_flags(key) ; - DBT_flags(value) ; + DBT_clear(key) ; + DBT_clear(value) ; CurrentDB = db ; RETVAL = do_SEQ(db, key, value, R_FIRST) ; ST(0) = sv_newmortal(); @@ -1247,7 +1668,7 @@ db_NEXTKEY(db, key) { DBT value ; - DBT_flags(value) ; + DBT_clear(value) ; CurrentDB = db ; RETVAL = do_SEQ(db, key, value, R_NEXT) ; ST(0) = sv_newmortal(); @@ -1271,8 +1692,8 @@ unshift(db, ...) DB * Db = db->dbp ; STRLEN n_a; - DBT_flags(key) ; - DBT_flags(value) ; + DBT_clear(key) ; + DBT_clear(value) ; CurrentDB = db ; #ifdef DB_VERSION_MAJOR /* get the first value */ @@ -1309,8 +1730,8 @@ pop(db) DBTKEY key ; DBT value ; - DBT_flags(key) ; - DBT_flags(value) ; + DBT_clear(key) ; + DBT_clear(value) ; CurrentDB = db ; /* First get the final value */ @@ -1336,8 +1757,8 @@ shift(db) DBT value ; DBTKEY key ; - DBT_flags(key) ; - DBT_flags(value) ; + DBT_clear(key) ; + DBT_clear(value) ; CurrentDB = db ; /* get the first value */ RETVAL = do_SEQ(db, key, value, R_FIRST) ; @@ -1365,50 +1786,44 @@ push(db, ...) DB * Db = db->dbp ; int i ; STRLEN n_a; + int keyval ; DBT_flags(key) ; DBT_flags(value) ; CurrentDB = db ; -#ifdef DB_VERSION_MAJOR - RETVAL = 0 ; - key = empty ; - for (i = 1 ; i < items ; ++i) - { - value.data = SvPV(ST(i), n_a) ; - value.size = n_a ; - RETVAL = (Db->put)(Db, NULL, &key, &value, DB_APPEND) ; - if (RETVAL != 0) - break; - } -#else /* Set the Cursor to the Last element */ RETVAL = do_SEQ(db, key, value, R_LAST) ; +#ifndef DB_VERSION_MAJOR if (RETVAL >= 0) +#endif { - if (RETVAL == 1) - key = empty ; - for (i = items - 1 ; i > 0 ; --i) + if (RETVAL == 0) + keyval = *(int*)key.data ; + else + keyval = 0 ; + for (i = 1 ; i < items ; ++i) { value.data = SvPV(ST(i), n_a) ; value.size = n_a ; - RETVAL = (Db->put)(Db, &key, &value, R_IAFTER) ; + ++ keyval ; + key.data = &keyval ; + key.size = sizeof(int) ; + RETVAL = (Db->put)(Db, TXN &key, &value, 0) ; if (RETVAL != 0) break; } } -#endif } OUTPUT: RETVAL - I32 length(db) DB_File db ALIAS: FETCHSIZE = 1 CODE: CurrentDB = db ; - RETVAL = GetArrayLength(db) ; + RETVAL = GetArrayLength(aTHX_ db) ; OUTPUT: RETVAL @@ -1443,7 +1858,7 @@ db_get(db, key, value, flags=0) u_int flags CODE: CurrentDB = db ; - DBT_flags(value) ; + DBT_clear(value) ; RETVAL = db_get(db, key, value, flags) ; #ifdef DB_VERSION_MAJOR if (RETVAL > 0) @@ -1518,7 +1933,7 @@ db_seq(db, key, value, flags) u_int flags CODE: CurrentDB = db ; - DBT_flags(value) ; + DBT_clear(value) ; RETVAL = db_seq(db, key, value, flags); #ifdef DB_VERSION_MAJOR if (RETVAL > 0) @@ -1531,3 +1946,56 @@ db_seq(db, key, value, flags) key value +#ifdef DBM_FILTERING + +#define setFilter(type) \ + { \ + if (db->type) \ + RETVAL = sv_mortalcopy(db->type) ; \ + ST(0) = RETVAL ; \ + if (db->type && (code == &PL_sv_undef)) { \ + SvREFCNT_dec(db->type) ; \ + db->type = NULL ; \ + } \ + else if (code) { \ + if (db->type) \ + sv_setsv(db->type, code) ; \ + else \ + db->type = newSVsv(code) ; \ + } \ + } + + +SV * +filter_fetch_key(db, code) + DB_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_fetch_key) ; + +SV * +filter_store_key(db, code) + DB_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_store_key) ; + +SV * +filter_fetch_value(db, code) + DB_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_fetch_value) ; + +SV * +filter_store_value(db, code) + DB_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_store_value) ; + +#endif /* DBM_FILTERING */ diff --git a/gnu/usr.bin/perl/ext/DB_File/Makefile.PL b/gnu/usr.bin/perl/ext/DB_File/Makefile.PL index 1a13e0bbd8e..cac6578bb30 100644 --- a/gnu/usr.bin/perl/ext/DB_File/Makefile.PL +++ b/gnu/usr.bin/perl/ext/DB_File/Makefile.PL @@ -14,7 +14,15 @@ WriteMakefile( MAN3PODS => {}, # Pods will be built by installman. #INC => '-I/usr/local/include', VERSION_FROM => 'DB_File.pm', + OBJECT => 'version$(OBJ_EXT) DB_File$(OBJ_EXT)', XSPROTOARG => '-noprototypes', - DEFINE => "$OS2", + DEFINE => $OS2 || "", ); +sub MY::postamble { + ' +version$(OBJ_EXT): version.c + +' ; +} + diff --git a/gnu/usr.bin/perl/ext/DB_File/typemap b/gnu/usr.bin/perl/ext/DB_File/typemap index 994ba272323..41a24f4a863 100644 --- a/gnu/usr.bin/perl/ext/DB_File/typemap +++ b/gnu/usr.bin/perl/ext/DB_File/typemap @@ -1,8 +1,8 @@ # typemap for Perl 5 interface to Berkeley # # written by Paul Marquess -# last modified 21st February 1999 -# version 1.65 +# last modified 7th September 1999 +# version 1.71 # #################################### DB SECTION # @@ -15,21 +15,23 @@ DBTKEY T_dbtkeydatum INPUT T_dbtkeydatum + ckFilter($arg, filter_store_key, \"filter_store_key\"); + DBT_clear($var) ; if (db->type != DB_RECNO) { $var.data = SvPV($arg, PL_na); $var.size = (int)PL_na; - DBT_flags($var); } else { - Value = GetRecnoKey(db, SvIV($arg)) ; + Value = GetRecnoKey(aTHX_ db, SvIV($arg)) ; $var.data = & Value; $var.size = (int)sizeof(recno_t); - DBT_flags($var); } T_dbtdatum + ckFilter($arg, filter_store_value, \"filter_store_value\"); + DBT_clear($var) ; $var.data = SvPV($arg, PL_na); $var.size = (int)PL_na; - DBT_flags($var); + OUTPUT diff --git a/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL b/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL index 2141fdeb2f6..83cbd770b06 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL +++ b/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL @@ -8,14 +8,19 @@ WriteMakefile( SKIP => [qw(dynamic dynamic_lib dynamic_bs)], XSPROTOARG => '-noprototypes', # XXX remove later? VERSION_FROM => 'DynaLoader_pm.PL', - PL_FILES => {'DynaLoader_pm.PL'=>'DynaLoader.pm'}, - PM => {'DynaLoader.pm' => '$(INST_LIBDIR)/DynaLoader.pm'}, - clean => {FILES => 'DynaLoader.c DynaLoader.xs DynaLoader.pm'}, + PL_FILES => {'DynaLoader_pm.PL'=>'DynaLoader.pm', + 'XSLoader_pm.PL'=>'XSLoader.pm'}, + PM => {'DynaLoader.pm' => '$(INST_LIBDIR)/DynaLoader.pm', + 'XSLoader.pm' => '$(INST_LIBDIR)/XSLoader.pm'}, + depend => {'DynaLoader.o' => 'dlutils.c'}, + clean => {FILES => 'DynaLoader.c DynaLoader.xs DynaLoader.pm ' . + 'XSLoader.pm'}, ); sub MY::postamble { ' DynaLoader.xs: $(DLSRC) + $(RM_F) $@ $(CP) $? $@ # Perform very simple tests just to check for major gaffs. diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_aix.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_aix.xs index ea5040857d0..35242ed652d 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_aix.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_aix.xs @@ -20,6 +20,15 @@ #include "perl.h" #include "XSUB.h" +/* When building as a 64-bit binary on AIX, define this to get the + * correct structure definitions. Also determines the field-name + * macros and gates some logic in readEntries(). -- Steven N. Hirsch + * */ +#ifdef USE_64_BIT_ALL +# define __XCOFF64__ +# define __XCOFF32__ +#endif + #include #include #include @@ -29,6 +38,39 @@ #include #include +#ifdef USE_64_BIT_ALL +# define AIX_SCNHDR SCNHDR_64 +# define AIX_LDHDR LDHDR_64 +# define AIX_LDSYM LDSYM_64 +# define AIX_LDHDRSZ LDHDRSZ_64 +#else +# define AIX_SCNHDR SCNHDR +# define AIX_LDHDR LDHDR +# define AIX_LDSYM LDSYM +# define AIX_LDHDRSZ LDHDRSZ +#endif + +/* When using Perl extensions written in C++ the longer versions + * of load() and unload() from libC and libC_r need to be used, + * otherwise statics in the extensions won't get initialized right. + * -- Stephanie Beals */ + +/* Older AIX C compilers cannot deal with C++ double-slash comments in + the ibmcxx and/or xlC includes. Since we only need a single file, + be more fine-grained about what's included */ +#ifdef USE_libC /* The define comes, when it comes, from hints/aix.pl. */ +# define LOAD loadAndInit +# define UNLOAD terminateAndUnload +# if defined(USE_xlC_load_h) +# include "/usr/lpp/xlC/include/load.h" +# elif defined(USE_ibmcxx_load_h) +# include "/usr/ibmcxx/include/load.h" +# endif +#else +# define LOAD load +# define UNLOAD unload +#endif + /* * AIX 4.3 does remove some useful definitions from ldfcn.h. Define * these here to compensate for that lossage. @@ -77,19 +119,18 @@ typedef struct Module { * We keep a list of all loaded modules to be able to call the fini * handlers at atexit() time. */ -static ModulePtr modList; +static ModulePtr modList; /* XXX threaded */ /* * The last error from one of the dl* routines is kept in static * variables here. Each error is returned only once to the caller. */ -static char errbuf[BUFSIZ]; -static int errvalid; +static char errbuf[BUFSIZ]; /* XXX threaded */ +static int errvalid; /* XXX threaded */ static void caterr(char *); static int readExports(ModulePtr); static void terminate(void); -static void *findMain(void); static char *strerror_failed = "(strerror failed)"; static char *strerror_r_failed = "(strerror_r failed)"; @@ -104,7 +145,7 @@ char *strerrorcat(char *str, int err) { if (buf == 0) return 0; - if (strerror_r(err, buf, sizeof(buf)) == 0) + if (strerror_r(err, buf, BUFSIZ) == 0) msg = buf; else msg = strerror_r_failed; @@ -132,7 +173,7 @@ char *strerrorcpy(char *str, int err) { if (buf == 0) return 0; - if (strerror_r(err, buf, sizeof(buf)) == 0) + if (strerror_r(err, buf, BUFSIZ) == 0) msg = buf; else msg = strerror_r_failed; @@ -154,17 +195,16 @@ char *strerrorcpy(char *str, int err) { /* ARGSUSED */ void *dlopen(char *path, int mode) { + dTHX; register ModulePtr mp; - static void *mainModule; + static int inited; /* XXX threaded */ /* * Upon the first call register a terminate handler that will - * close all libraries. Also get a reference to the main module - * for use with loadbind. + * close all libraries. */ - if (!mainModule) { - if ((mainModule = findMain()) == NULL) - return NULL; + if (!inited) { + inited++; atexit(terminate); } /* @@ -190,11 +230,19 @@ void *dlopen(char *path, int mode) safefree(mp); return NULL; } + /* * load should be declared load(const char *...). Thus we * cast the path to a normal char *. Ugly. */ - if ((mp->entry = (void *)load((char *)path, L_NOAUTODEFER, NULL)) == NULL) { + if ((mp->entry = (void *)LOAD((char *)path, +#ifdef L_LIBPATH_EXEC + L_LIBPATH_EXEC | +#endif + L_NOAUTODEFER, + NULL)) == NULL) { + int saverrno = errno; + safefree(mp->name); safefree(mp); errvalid++; @@ -206,27 +254,34 @@ void *dlopen(char *path, int mode) * can be further described by querying the loader about * the last error. */ - if (errno == ENOEXEC) { - char *tmp[BUFSIZ/sizeof(char *)]; - if (loadquery(L_GETMESSAGES, tmp, sizeof(tmp)) == -1) - strerrorcpy(errbuf, errno); + if (saverrno == ENOEXEC) { + char *moreinfo[BUFSIZ/sizeof(char *)]; + if (loadquery(L_GETMESSAGES, moreinfo, sizeof(moreinfo)) == -1) + strerrorcpy(errbuf, saverrno); else { char **p; - for (p = tmp; *p; p++) + for (p = moreinfo; *p; p++) caterr(*p); } } else - strerrorcat(errbuf, errno); + strerrorcat(errbuf, saverrno); return NULL; } mp->refCnt = 1; mp->next = modList; modList = mp; - if (loadbind(0, mainModule, mp->entry) == -1) { + /* + * Assume anonymous exports come from the module this dlopen + * is linked into, that holds true as long as dlopen and all + * of the perl core are in the same shared object. + */ + if (loadbind(0, (void *)dlopen, mp->entry) == -1) { + int saverrno = errno; + dlclose(mp); errvalid++; strcpy(errbuf, "loadbind: "); - strerrorcat(errbuf, errno); + strerrorcat(errbuf, saverrno); return NULL; } if (readExports(mp) == -1) { @@ -311,7 +366,7 @@ int dlclose(void *handle) if (--mp->refCnt > 0) return 0; - result = unload(mp->entry); + result = UNLOAD(mp->entry); if (result == -1) { errvalid++; strerrorcpy(errbuf, errno); @@ -364,11 +419,12 @@ void *calloc(size_t ne, size_t sz) */ static int readExports(ModulePtr mp) { + dTHX; LDFILE *ldp = NULL; - SCNHDR sh; - LDHDR *lhp; + AIX_SCNHDR sh; + AIX_LDHDR *lhp; char *ldbuf; - LDSYM *ls; + AIX_LDSYM *ls; int i; ExportPtr ep; @@ -412,7 +468,7 @@ static int readExports(ModulePtr mp) } /* * Traverse the list of loaded modules. The entry point - * returned by load() does actually point to the data + * returned by LOAD() does actually point to the data * segment origin. */ lp = (struct ld_info *)buf; @@ -434,7 +490,11 @@ static int readExports(ModulePtr mp) return -1; } } +#ifdef USE_64_BIT_ALL + if (TYPE(ldp) != U803XTOCMAGIC) { +#else if (TYPE(ldp) != U802TOCMAGIC) { +#endif errvalid++; strcpy(errbuf, "readExports: bad magic"); while(ldclose(ldp) == FAILURE) @@ -482,8 +542,8 @@ static int readExports(ModulePtr mp) ; return -1; } - lhp = (LDHDR *)ldbuf; - ls = (LDSYM *)(ldbuf+LDHDRSZ); + lhp = (AIX_LDHDR *)ldbuf; + ls = (AIX_LDSYM *)(ldbuf+AIX_LDHDRSZ); /* * Count the number of exports to include in our export table. */ @@ -507,15 +567,19 @@ static int readExports(ModulePtr mp) * the entry point we got from load. */ ep = mp->exports; - ls = (LDSYM *)(ldbuf+LDHDRSZ); + ls = (AIX_LDSYM *)(ldbuf+AIX_LDHDRSZ); for (i = lhp->l_nsyms; i; i--, ls++) { char *symname; if (!LDR_EXPORT(*ls)) continue; +#ifndef USE_64_BIT_ALL if (ls->l_zeroes == 0) +#endif symname = ls->l_offset+lhp->l_stoff+ldbuf; +#ifndef USE_64_BIT_ALL else symname = ls->l_name; +#endif ep->name = savepv(symname); ep->addr = (void *)((unsigned long)mp->entry + ls->l_value); ep++; @@ -526,56 +590,10 @@ static int readExports(ModulePtr mp) return 0; } -/* - * Find the main modules entry point. This is used as export pointer - * for loadbind() to be able to resolve references to the main part. - */ -static void * findMain(void) -{ - struct ld_info *lp; - char *buf; - int size = 4*1024; - int i; - void *ret; - - if ((buf = safemalloc(size)) == NULL) { - errvalid++; - strcpy(errbuf, "findMain: "); - strerrorcat(errbuf, errno); - return NULL; - } - while ((i = loadquery(L_GETINFO, buf, size)) == -1 && errno == ENOMEM) { - safefree(buf); - size += 4*1024; - if ((buf = safemalloc(size)) == NULL) { - errvalid++; - strcpy(errbuf, "findMain: "); - strerrorcat(errbuf, errno); - return NULL; - } - } - if (i == -1) { - errvalid++; - strcpy(errbuf, "findMain: "); - strerrorcat(errbuf, errno); - safefree(buf); - return NULL; - } - /* - * The first entry is the main module. The entry point - * returned by load() does actually point to the data - * segment origin. - */ - lp = (struct ld_info *)buf; - ret = lp->ldinfo_dataorg; - safefree(buf); - return ret; -} - /* dl_dlopen.xs * * Platform: SunOS/Solaris, possibly others which use dlopen. - * Author: Paul Marquess (pmarquess@bfsec.bt.co.uk) + * Author: Paul Marquess (Paul.Marquess@btinternet.com) * Created: 10th July 1994 * * Modified: @@ -597,15 +615,15 @@ static void * findMain(void) static void -dl_private_init() +dl_private_init(pTHX) { - (void)dl_generic_private_init(); + (void)dl_generic_private_init(aTHX); } MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(); + (void)dl_private_init(aTHX); void * @@ -613,16 +631,16 @@ dl_load_file(filename, flags=0) char * filename int flags CODE: - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filename,flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags)); if (flags & 0x01) - warn("Can't make loaded symbols global on this platform while loading %s",filename); + Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename); RETVAL = dlopen(filename, 1) ; - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " libref=%x\n", RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("%s",dlerror()) ; + SaveError(aTHX_ "%s",dlerror()) ; else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL) ); void * @@ -630,15 +648,15 @@ dl_find_symbol(libhandle, symbolname) void * libhandle char * symbolname CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_find_symbol(handle=%x, symbol=%s)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%x, symbol=%s)\n", libhandle, symbolname)); RETVAL = dlsym(libhandle, symbolname); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " symbolref = %x\n", RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " symbolref = %x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("%s",dlerror()) ; + SaveError(aTHX_ "%s",dlerror()) ; else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL)); void @@ -655,9 +673,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%x)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_beos.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_beos.xs index 42a27cb1f17..705c8bc4d07 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_beos.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_beos.xs @@ -18,15 +18,15 @@ #include "dlutils.c" /* SaveError() etc */ static void -dl_private_init() +dl_private_init(pTHX) { - (void)dl_generic_private_init(); + (void)dl_generic_private_init(aTHX); } MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(); + (void)dl_private_init(aTHX); void * @@ -45,16 +45,16 @@ dl_load_file(filename, flags=0) strcpy(path, filename); } - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", path, flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", path, flags)); bogo = load_add_on(path); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " libref=%lx\n", (unsigned long) RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL)); ST(0) = sv_newmortal() ; if (bogo < 0) { - SaveError("%s", strerror(bogo)); - PerlIO_printf(PerlIO_stderr(), "load_add_on(%s) : %d (%s)\n", path, bogo, strerror(bogo)); + SaveError(aTHX_ "%s", strerror(bogo)); + PerlIO_printf(Perl_debug_log, "load_add_on(%s) : %d (%s)\n", path, bogo, strerror(bogo)); } else { RETVAL = (void *) bogo; - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL) ); } free(path); } @@ -67,23 +67,23 @@ dl_find_symbol(libhandle, symbolname) status_t retcode; void *adr = 0; #ifdef DLSYM_NEEDS_UNDERSCORE - symbolname = form("_%s", symbolname); + symbolname = Perl_form_nocontext("_%s", symbolname); #endif RETVAL = NULL; - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%lx, symbol=%s)\n", (unsigned long) libhandle, symbolname)); retcode = get_image_symbol((image_id) libhandle, symbolname, B_SYMBOL_TYPE_TEXT, (void **) &adr); RETVAL = adr; - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, " symbolref = %lx\n", (unsigned long) RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) { - SaveError("%s", strerror(retcode)) ; - PerlIO_printf(PerlIO_stderr(), "retcode = %p (%s)\n", retcode, strerror(retcode)); + SaveError(aTHX_ "%s", strerror(retcode)) ; + PerlIO_printf(Perl_debug_log, "retcode = %p (%s)\n", retcode, strerror(retcode)); } else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL)); void @@ -100,9 +100,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%lx)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n", perl_name, (unsigned long) symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)_((CV *)))symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_cygwin32.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_cygwin32.xs deleted file mode 100644 index b64ab3e3456..00000000000 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_cygwin32.xs +++ /dev/null @@ -1,153 +0,0 @@ -/* dl_cygwin32.xs - * - * Platform: Win32 (Windows NT/Windows 95) - * Author: Wei-Yuen Tan (wyt@hip.com) - * Created: A warm day in June, 1995 - * - * Modified: - * August 23rd 1995 - rewritten after losing everything when I - * wiped off my NT partition (eek!) - */ -/* Modified from the original dl_win32.xs to work with cygwin32 - -John Cerney 3/26/97 -*/ -/* Porting notes: - -I merely took Paul's dl_dlopen.xs, took out extraneous stuff and -replaced the appropriate SunOS calls with the corresponding Win32 -calls. - -*/ - -#define WIN32_LEAN_AND_MEAN -// Defines from windows needed for this function only. Can't include full -// Cygwin32 windows headers because of problems with CONTEXT redefinition -// Removed logic to tell not dynamically load static modules. It is assumed that all -// modules are dynamically built. This should be similar to the behavoir on sunOS. -// Leaving in the logic would have required changes to the standard perlmain.c code -// -// // Includes call a dll function to initialize it's impure_ptr. -#include -void (*impure_setupptr)(struct _reent *); // pointer to the impure_setup routine - -//#include -#define LOAD_WITH_ALTERED_SEARCH_PATH (8) -typedef void *HANDLE; -typedef HANDLE HINSTANCE; -#define STDCALL __attribute__ ((stdcall)) -typedef int STDCALL (*FARPROC)(); - -HINSTANCE -STDCALL -LoadLibraryExA( - char* lpLibFileName, - HANDLE hFile, - unsigned int dwFlags - ); -unsigned int -STDCALL -GetLastError( - void - ); -FARPROC -STDCALL -GetProcAddress( - HINSTANCE hModule, - char* lpProcName - ); - -#include - -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#include "dlutils.c" /* SaveError() etc */ - -static void -dl_private_init() -{ - (void)dl_generic_private_init(); -} - - -MODULE = DynaLoader PACKAGE = DynaLoader - -BOOT: - (void)dl_private_init(); - -void * -dl_load_file(filename,flags=0) - char * filename - int flags - PREINIT: - CODE: - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(),"dl_load_file(%s):\n", filename)); - - RETVAL = (void*) LoadLibraryExA(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ) ; - - DLDEBUG(2,PerlIO_printf(PerlIO_stderr()," libref=%x\n", RETVAL)); - ST(0) = sv_newmortal() ; - if (RETVAL == NULL){ - SaveError("%d",GetLastError()) ; - } - else{ - // setup the dll's impure_ptr: - impure_setupptr = GetProcAddress(RETVAL, "impure_setup"); - if( impure_setupptr == NULL){ - printf( - "Cygwin32 dynaloader error: could not load impure_setup symbol\n"); - RETVAL = NULL; - } - else{ - // setup the DLLs impure_ptr: - (*impure_setupptr)(_impure_ptr); - sv_setiv( ST(0), (IV)RETVAL); - } - } - - - -void * -dl_find_symbol(libhandle, symbolname) - void * libhandle - char * symbolname - CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(),"dl_find_symbol(handle=%x, symbol=%s)\n", - libhandle, symbolname)); - RETVAL = (void*) GetProcAddress((HINSTANCE) libhandle, symbolname); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr()," symbolref = %x\n", RETVAL)); - ST(0) = sv_newmortal() ; - if (RETVAL == NULL) - SaveError("%d",GetLastError()) ; - else - sv_setiv( ST(0), (IV)RETVAL); - - -void -dl_undef_symbols() - PPCODE: - - - -# These functions should not need changing on any platform: - -void -dl_install_xsub(perl_name, symref, filename="$Package") - char * perl_name - void * symref - char * filename - CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(),"dl_install_xsub(name=%s, symref=%x)\n", - perl_name, symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename))); - - -char * -dl_error() - CODE: - RETVAL = LastError ; - OUTPUT: - RETVAL - -# end. diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_dld.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_dld.xs index 2443ab0d694..d8fad2ac5e2 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_dld.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_dld.xs @@ -48,12 +48,12 @@ static AV *dl_resolve_using = Nullav; static AV *dl_require_symbols = Nullav; static void -dl_private_init() +dl_private_init(pTHX) { int dlderr; - dl_generic_private_init(); - dl_resolve_using = perl_get_av("DynaLoader::dl_resolve_using", 0x4); - dl_require_symbols = perl_get_av("DynaLoader::dl_require_symbols", 0x4); + dl_generic_private_init(aTHX); + dl_resolve_using = get_av("DynaLoader::dl_resolve_using", GV_ADDMULTI); + dl_require_symbols = get_av("DynaLoader::dl_require_symbols", GV_ADDMULTI); #ifdef __linux__ dlderr = dld_init("/proc/self/exe"); if (dlderr) { @@ -61,8 +61,8 @@ dl_private_init() dlderr = dld_init(dld_find_executable(PL_origargv[0])); if (dlderr) { char *msg = dld_strerror(dlderr); - SaveError("dld_init(%s) failed: %s", PL_origargv[0], msg); - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "%s", LastError)); + SaveError(aTHX_ "dld_init(%s) failed: %s", PL_origargv[0], msg); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "%s", LastError)); } #ifdef __linux__ } @@ -85,40 +85,40 @@ dl_load_file(filename, flags=0) GV *gv; CODE: RETVAL = filename; - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filename,flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags)); if (flags & 0x01) - croak("Can't make loaded symbols global on this platform while loading %s",filename); + Perl_croak(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename); max = AvFILL(dl_require_symbols); for (x = 0; x <= max; x++) { char *sym = SvPVX(*av_fetch(dl_require_symbols, x, 0)); - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dld_create_ref(%s)\n", sym)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_create_ref(%s)\n", sym)); if (dlderr = dld_create_reference(sym)) { - SaveError("dld_create_reference(%s): %s", sym, + SaveError(aTHX_ "dld_create_reference(%s): %s", sym, dld_strerror(dlderr)); goto haverror; } } - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dld_link(%s)\n", filename)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(%s)\n", filename)); if (dlderr = dld_link(filename)) { - SaveError("dld_link(%s): %s", filename, dld_strerror(dlderr)); + SaveError(aTHX_ "dld_link(%s): %s", filename, dld_strerror(dlderr)); goto haverror; } max = AvFILL(dl_resolve_using); for (x = 0; x <= max; x++) { char *sym = SvPVX(*av_fetch(dl_resolve_using, x, 0)); - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dld_link(%s)\n", sym)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(%s)\n", sym)); if (dlderr = dld_link(sym)) { - SaveError("dld_link(%s): %s", sym, dld_strerror(dlderr)); + SaveError(aTHX_ "dld_link(%s): %s", sym, dld_strerror(dlderr)); goto haverror; } } - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "libref=%s\n", RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "libref=%s\n", RETVAL)); haverror: ST(0) = sv_newmortal() ; if (dlderr == 0) - sv_setiv(ST(0), (IV)RETVAL); + sv_setiv(ST(0), PTR2IV(RETVAL)); void * @@ -126,16 +126,16 @@ dl_find_symbol(libhandle, symbolname) void * libhandle char * symbolname CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_find_symbol(handle=%x, symbol=%s)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%x, symbol=%s)\n", libhandle, symbolname)); RETVAL = (void *)dld_get_func(symbolname); /* if RETVAL==NULL we should try looking for a non-function symbol */ - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " symbolref = %x\n", RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " symbolref = %x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("dl_find_symbol: Unable to find '%s' symbol", symbolname) ; + SaveError(aTHX_ "dl_find_symbol: Unable to find '%s' symbol", symbolname) ; else - sv_setiv(ST(0), (IV)RETVAL); + sv_setiv(ST(0), PTR2IV(RETVAL)); void @@ -160,9 +160,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%x)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_dlopen.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_dlopen.xs index 24592056531..8e4936d128d 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_dlopen.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_dlopen.xs @@ -1,15 +1,17 @@ /* dl_dlopen.xs * * Platform: SunOS/Solaris, possibly others which use dlopen. - * Author: Paul Marquess (pmarquess@bfsec.bt.co.uk) + * Author: Paul Marquess (Paul.Marquess@btinternet.com) * Created: 10th July 1994 * * Modified: - * 15th July 1994 - Added code to explicitly save any error messages. - * 3rd August 1994 - Upgraded to v3 spec. - * 9th August 1994 - Changed to use IV - * 10th August 1994 - Tim Bunce: Added RTLD_LAZY, switchable debugging, - * basic FreeBSD support, removed ClearError + * 15th July 1994 - Added code to explicitly save any error messages. + * 3rd August 1994 - Upgraded to v3 spec. + * 9th August 1994 - Changed to use IV + * 10th August 1994 - Tim Bunce: Added RTLD_LAZY, switchable debugging, + * basic FreeBSD support, removed ClearError + * 29th Feburary 2000 - Alan Burlison: Added functionality to close dlopen'd + * files when the interpreter exits * */ @@ -37,6 +39,17 @@ RTLD_LAZY (==2) on Solaris 2. + dlclose + ------- + int + dlclose(handle) + void * handle; + + This function takes the handle returned by a previous invocation of + dlopen and closes the associated dynamic object file. It returns zero + on success, and non-zero on failure. + + dlsym ------ void * @@ -57,7 +70,7 @@ Returns a null-terminated string which describes the last error that occurred with either dlopen or dlsym. After each call to dlerror the error message will be reset to a null pointer. The - SaveError function is used to save the error as soo as it happens. + SaveError function is used to save the error as soon as it happens. Return Types @@ -131,24 +144,35 @@ static void -dl_private_init() +dl_private_init(pTHX) { - (void)dl_generic_private_init(); + (void)dl_generic_private_init(aTHX); } MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(); + (void)dl_private_init(aTHX); void * dl_load_file(filename, flags=0) char * filename int flags - PREINIT: + PREINIT: int mode = RTLD_LAZY; - CODE: + CODE: +{ +#if defined(DLOPEN_WONT_DO_RELATIVE_PATHS) + char pathbuf[PATH_MAX + 2]; + if (*filename != '/' && strchr(filename, '/')) { + if (getcwd(pathbuf, PATH_MAX - strlen(filename))) { + strcat(pathbuf, "/"); + strcat(pathbuf, filename); + filename = pathbuf; + } + } +#endif #ifdef RTLD_NOW if (dl_nonlazy) mode = RTLD_NOW; @@ -157,16 +181,30 @@ dl_load_file(filename, flags=0) #ifdef RTLD_GLOBAL mode |= RTLD_GLOBAL; #else - warn("Can't make loaded symbols global on this platform while loading %s",filename); + Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename); #endif - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filename,flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags)); RETVAL = dlopen(filename, mode) ; - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " libref=%lx\n", (unsigned long) RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("%s",dlerror()) ; + SaveError(aTHX_ "%s",dlerror()) ; else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL)); +} + + +int +dl_unload_file(libref) + void * libref + CODE: + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_unload_file(%lx):\n", libref)); + RETVAL = (dlclose(libref) == 0 ? 1 : 0); + if (!RETVAL) + SaveError(aTHX_ "%s", dlerror()) ; + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " retval = %d\n", RETVAL)); + OUTPUT: + RETVAL void * @@ -175,19 +213,19 @@ dl_find_symbol(libhandle, symbolname) char * symbolname CODE: #ifdef DLSYM_NEEDS_UNDERSCORE - symbolname = form("_%s", symbolname); + symbolname = Perl_form_nocontext("_%s", symbolname); #endif - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%lx, symbol=%s)\n", (unsigned long) libhandle, symbolname)); RETVAL = dlsym(libhandle, symbolname); - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, " symbolref = %lx\n", (unsigned long) RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("%s",dlerror()) ; + SaveError(aTHX_ "%s",dlerror()) ; else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL)); void @@ -204,9 +242,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%lx)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n", perl_name, (unsigned long) symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)_((CV *)))symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_hpux.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_hpux.xs index a82e0eac111..582c047be87 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_hpux.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_hpux.xs @@ -33,16 +33,16 @@ static AV *dl_resolve_using = Nullav; static void -dl_private_init() +dl_private_init(pTHX) { - (void)dl_generic_private_init(); - dl_resolve_using = perl_get_av("DynaLoader::dl_resolve_using", 0x4); + (void)dl_generic_private_init(aTHX); + dl_resolve_using = get_av("DynaLoader::dl_resolve_using", GV_ADDMULTI); } MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(); + (void)dl_private_init(aTHX); void * @@ -53,9 +53,9 @@ dl_load_file(filename, flags=0) shl_t obj = NULL; int i, max, bind_type; CODE: - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filename,flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags)); if (flags & 0x01) - warn("Can't make loaded symbols global on this platform while loading %s",filename); + Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename); if (dl_nonlazy) { bind_type = BIND_IMMEDIATE|BIND_VERBOSE; } else { @@ -76,23 +76,23 @@ dl_load_file(filename, flags=0) max = AvFILL(dl_resolve_using); for (i = 0; i <= max; i++) { char *sym = SvPVX(*av_fetch(dl_resolve_using, i, 0)); - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s) (dependent)\n", sym)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s) (dependent)\n", sym)); obj = shl_load(sym, bind_type, 0L); if (obj == NULL) { goto end; } } - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s): ", filename)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s): ", filename)); obj = shl_load(filename, bind_type, 0L); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " libref=%x\n", obj)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", obj)); end: ST(0) = sv_newmortal() ; if (obj == NULL) - SaveError("%s",Strerror(errno)); + SaveError(aTHX_ "%s",Strerror(errno)); else - sv_setiv( ST(0), (IV)obj); + sv_setiv( ST(0), PTR2IV(obj) ); void * @@ -104,9 +104,9 @@ dl_find_symbol(libhandle, symbolname) void *symaddr = NULL; int status; #ifdef __hp9000s300 - symbolname = form("_%s", symbolname); + symbolname = Perl_form_nocontext("_%s", symbolname); #endif - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%lx, symbol=%s)\n", (unsigned long) libhandle, symbolname)); @@ -114,17 +114,17 @@ dl_find_symbol(libhandle, symbolname) errno = 0; status = shl_findsym(&obj, symbolname, TYPE_PROCEDURE, &symaddr); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " symbolref(PROCEDURE) = %x\n", symaddr)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " symbolref(PROCEDURE) = %x\n", symaddr)); if (status == -1 && errno == 0) { /* try TYPE_DATA instead */ status = shl_findsym(&obj, symbolname, TYPE_DATA, &symaddr); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " symbolref(DATA) = %x\n", symaddr)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " symbolref(DATA) = %x\n", symaddr)); } if (status == -1) { - SaveError("%s",(errno) ? Strerror(errno) : "Symbol not found") ; + SaveError(aTHX_ "%s",(errno) ? Strerror(errno) : "Symbol not found") ; } else { - sv_setiv( ST(0), (IV)symaddr); + sv_setiv( ST(0), PTR2IV(symaddr) ); } @@ -142,9 +142,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%x)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_next.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_next.xs index dfa8a3eac8c..b8c19f203ec 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_next.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_next.xs @@ -72,6 +72,7 @@ enum dyldErrorSource static void TranslateError (const char *path, enum dyldErrorSource type, int number) { + dTHX; char *error; unsigned int index; static char *OFIErrorStrings[] = @@ -92,11 +93,11 @@ static void TranslateError index = number; if (index > NUM_OFI_ERRORS - 1) index = NUM_OFI_ERRORS - 1; - error = form(OFIErrorStrings[index], path, number); + error = Perl_form_nocontext(OFIErrorStrings[index], path, number); break; default: - error = form("%s(%d): Totally unknown error type %d\n", + error = Perl_form_nocontext("%s(%d): Totally unknown error type %d\n", path, number, type); break; } @@ -209,7 +210,7 @@ char *symbol; NXStream *nxerr = OpenError(); unsigned long symref = 0; - if (!rld_lookup(nxerr, form("_%s", symbol), &symref)) + if (!rld_lookup(nxerr, Perl_form_nocontext("_%s", symbol), &symref)) TransferError(nxerr); CloseError(nxerr); return (void*) symref; @@ -222,16 +223,16 @@ char *symbol; static void -dl_private_init() +dl_private_init(pTHX) { - (void)dl_generic_private_init(); - dl_resolve_using = perl_get_av("DynaLoader::dl_resolve_using", 0x4); + (void)dl_generic_private_init(aTHX); + dl_resolve_using = get_av("DynaLoader::dl_resolve_using", GV_ADDMULTI); } MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(); + (void)dl_private_init(aTHX); @@ -242,16 +243,16 @@ dl_load_file(filename, flags=0) PREINIT: int mode = 1; CODE: - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filename,flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags)); if (flags & 0x01) - warn("Can't make loaded symbols global on this platform while loading %s",filename); + Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename); RETVAL = dlopen(filename, mode) ; - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), " libref=%x\n", RETVAL)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("%s",dlerror()) ; + SaveError(aTHX_ "%s",dlerror()) ; else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL) ); void * @@ -260,19 +261,19 @@ dl_find_symbol(libhandle, symbolname) char * symbolname CODE: #if NS_TARGET_MAJOR >= 4 - symbolname = form("_%s", symbolname); + symbolname = Perl_form_nocontext("_%s", symbolname); #endif - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%lx, symbol=%s)\n", (unsigned long) libhandle, symbolname)); RETVAL = dlsym(libhandle, symbolname); - DLDEBUG(2, PerlIO_printf(PerlIO_stderr(), + DLDEBUG(2, PerlIO_printf(Perl_debug_log, " symbolref = %lx\n", (unsigned long) RETVAL)); ST(0) = sv_newmortal() ; if (RETVAL == NULL) - SaveError("%s",dlerror()) ; + SaveError(aTHX_ "%s",dlerror()) ; else - sv_setiv( ST(0), (IV)RETVAL); + sv_setiv( ST(0), PTR2IV(RETVAL) ); void @@ -289,9 +290,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%x)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dl_vms.xs b/gnu/usr.bin/perl/ext/DynaLoader/dl_vms.xs index 08fd2f3f460..d7a1f863f34 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dl_vms.xs +++ b/gnu/usr.bin/perl/ext/DynaLoader/dl_vms.xs @@ -65,6 +65,12 @@ static AV *dl_require_symbols = Nullav; #include #include +#if defined(VMS_WE_ARE_CASE_SENSITIVE) +#define DL_CASE_SENSITIVE 1<<4 +#else +#define DL_CASE_SENSITIVE 0 +#endif + typedef unsigned long int vmssts; struct libref { @@ -112,6 +118,7 @@ dl_set_error(sts,stv) vmssts stv; { vmssts vec[3]; + dTHX; vec[0] = stv ? 2 : 1; vec[1] = sts; vec[2] = stv; @@ -121,12 +128,13 @@ dl_set_error(sts,stv) static unsigned int findsym_handler(void *sig, void *mech) { + dTHX; unsigned long int myvec[8],args, *usig = (unsigned long int *) sig; /* Be paranoid and assume signal vector passed in might be readonly */ myvec[0] = args = usig[0] > 10 ? 9 : usig[0] - 1; while (--args) myvec[args] = usig[args]; _ckvmssts(sys$putmsg(myvec,copy_errmsg,0,0)); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "findsym_handler: received\n\t%s\n",LastError)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "findsym_handler: received\n\t%s\n",LastError)); return SS$_CONTINUE; } @@ -140,16 +148,16 @@ my_find_image_symbol(struct dsc$descriptor_s *imgname, { unsigned long int retsts; VAXC$ESTABLISH(findsym_handler); - retsts = lib$find_image_symbol(imgname,symname,entry,defspec); + retsts = lib$find_image_symbol(imgname,symname,entry,defspec,DL_CASE_SENSITIVE); return retsts; } static void -dl_private_init() +dl_private_init(pTHX) { - dl_generic_private_init(); - dl_require_symbols = perl_get_av("DynaLoader::dl_require_symbols", 0x4); + dl_generic_private_init(aTHX); + dl_require_symbols = get_av("DynaLoader::dl_require_symbols", 0x4); /* Set up the static control blocks for dl_expand_filespec() */ dlfab = cc$rms_fab; dlnam = cc$rms_nam; @@ -162,7 +170,7 @@ dl_private_init() MODULE = DynaLoader PACKAGE = DynaLoader BOOT: - (void)dl_private_init(); + (void)dl_private_init(aTHX); void dl_expandspec(filespec) @@ -177,11 +185,11 @@ dl_expandspec(filespec) dlfab.fab$b_fns = strlen(vmsspec); dlfab.fab$l_dna = 0; dlfab.fab$b_dns = 0; - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_expand_filespec(%s):\n",vmsspec)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_expand_filespec(%s):\n",vmsspec)); /* On the first pass, just parse the specification string */ dlnam.nam$b_nop = NAM$M_SYNCHK; sts = sys$parse(&dlfab); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tSYNCHK sys$parse = %d\n",sts)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tSYNCHK sys$parse = %d\n",sts)); if (!(sts & 1)) { dl_set_error(dlfab.fab$l_sts,dlfab.fab$l_stv); ST(0) = &PL_sv_undef; @@ -194,7 +202,7 @@ dl_expandspec(filespec) dlnam.nam$b_type + dlnam.nam$b_ver); deflen += dlnam.nam$b_type + dlnam.nam$b_ver; memcpy(vmsspec,dlnam.nam$l_name,dlnam.nam$b_name); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tsplit filespec: name = %.*s, default = %.*s\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tsplit filespec: name = %.*s, default = %.*s\n", dlnam.nam$b_name,vmsspec,deflen,defspec)); /* . . . and go back to expand it */ dlnam.nam$b_nop = 0; @@ -202,7 +210,7 @@ dl_expandspec(filespec) dlfab.fab$b_dns = deflen; dlfab.fab$b_fns = dlnam.nam$b_name; sts = sys$parse(&dlfab); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tname/default sys$parse = %d\n",sts)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tname/default sys$parse = %d\n",sts)); if (!(sts & 1)) { dl_set_error(dlfab.fab$l_sts,dlfab.fab$l_stv); ST(0) = &PL_sv_undef; @@ -210,14 +218,14 @@ dl_expandspec(filespec) else { /* Now find the actual file */ sts = sys$search(&dlfab); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tsys$search = %d\n",sts)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tsys$search = %d\n",sts)); if (!(sts & 1)) { dl_set_error(dlfab.fab$l_sts,dlfab.fab$l_stv); ST(0) = &PL_sv_undef; } else { - ST(0) = sv_2mortal(newSVpv(dlnam.nam$l_rsa,dlnam.nam$b_rsl)); - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "\tresult = \\%.*s\\\n", + ST(0) = sv_2mortal(newSVpvn(dlnam.nam$l_rsa,dlnam.nam$b_rsl)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "\tresult = \\%.*s\\\n", dlnam.nam$b_rsl,dlnam.nam$l_rsa)); } } @@ -228,6 +236,7 @@ dl_load_file(filespec, flags) char * filespec int flags PREINIT: + dTHX; char vmsspec[NAM$C_MAXRSS]; SV *reqSV, **reqSVhndl; STRLEN deflen; @@ -244,16 +253,16 @@ dl_load_file(filespec, flags) void (*entry)(); CODE: - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_load_file(%s,%x):\n", filespec,flags)); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filespec,flags)); specdsc.dsc$a_pointer = tovmsspec(filespec,vmsspec); specdsc.dsc$w_length = strlen(specdsc.dsc$a_pointer); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tVMS-ified filespec is %s\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tVMS-ified filespec is %s\n", specdsc.dsc$a_pointer)); New(1399,dlptr,1,struct libref); dlptr->name.dsc$b_dtype = dlptr->defspec.dsc$b_dtype = DSC$K_DTYPE_T; dlptr->name.dsc$b_class = dlptr->defspec.dsc$b_class = DSC$K_CLASS_S; sts = sys$filescan(&specdsc,namlst,0); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tsys$filescan: returns %d, name is %.*s\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tsys$filescan: returns %d, name is %.*s\n", sts,namlst[0].len,namlst[0].string)); if (!(sts & 1)) { failed = 1; @@ -269,21 +278,21 @@ dl_load_file(filespec, flags) memcpy(dlptr->defspec.dsc$a_pointer + deflen, namlst[0].string + namlst[0].len, dlptr->defspec.dsc$w_length - deflen); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tlibref = name: %s, defspec: %.*s\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tlibref = name: %s, defspec: %.*s\n", dlptr->name.dsc$a_pointer, dlptr->defspec.dsc$w_length, dlptr->defspec.dsc$a_pointer)); if (!(reqSVhndl = av_fetch(dl_require_symbols,0,FALSE)) || !(reqSV = *reqSVhndl)) { - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\t@dl_require_symbols empty, returning untested libref\n")); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\t@dl_require_symbols empty, returning untested libref\n")); } else { symdsc.dsc$w_length = SvCUR(reqSV); symdsc.dsc$a_pointer = SvPVX(reqSV); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\t$dl_require_symbols[0] = %.*s\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\t$dl_require_symbols[0] = %.*s\n", symdsc.dsc$w_length, symdsc.dsc$a_pointer)); sts = my_find_image_symbol(&(dlptr->name),&symdsc, &entry,&(dlptr->defspec)); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tlib$find_image_symbol returns %d\n",sts)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tlib$find_image_symbol returns %d\n",sts)); if (!(sts&1)) { failed = 1; dl_set_error(sts,0); @@ -298,7 +307,7 @@ dl_load_file(filespec, flags) ST(0) = &PL_sv_undef; } else { - ST(0) = sv_2mortal(newSViv((IV) dlptr)); + ST(0) = sv_2mortal(newSViv(PTR2IV(dlptr))); } @@ -313,19 +322,19 @@ dl_find_symbol(librefptr,symname) void (*entry)(); vmssts sts; - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "dl_find_dymbol(%.*s,%.*s):\n", + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_find_dymbol(%.*s,%.*s):\n", thislib.name.dsc$w_length, thislib.name.dsc$a_pointer, symdsc.dsc$w_length,symdsc.dsc$a_pointer)); sts = my_find_image_symbol(&(thislib.name),&symdsc, &entry,&(thislib.defspec)); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tlib$find_image_symbol returns %d\n",sts)); - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "\tentry point is %d\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tlib$find_image_symbol returns %d\n",sts)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "\tentry point is %d\n", (unsigned long int) entry)); if (!(sts & 1)) { /* error message already saved by findsym_handler */ ST(0) = &PL_sv_undef; } - else ST(0) = sv_2mortal(newSViv((IV) entry)); + else ST(0) = sv_2mortal(newSViv(PTR2IV(entry))); void @@ -341,9 +350,11 @@ dl_install_xsub(perl_name, symref, filename="$Package") void * symref char * filename CODE: - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "dl_install_xsub(name=%s, symref=%x)\n", + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n", perl_name, symref)); - ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename))); + ST(0) = sv_2mortal(newRV((SV*)newXS(perl_name, + (void(*)(pTHX_ CV *))symref, + filename))); char * diff --git a/gnu/usr.bin/perl/ext/DynaLoader/dlutils.c b/gnu/usr.bin/perl/ext/DynaLoader/dlutils.c index bfa1f78ac0a..9d88f5fdadf 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/dlutils.c +++ b/gnu/usr.bin/perl/ext/DynaLoader/dlutils.c @@ -3,6 +3,9 @@ * Currently this file is simply #included into dl_*.xs/.c files. * It should really be split into a dlutils.h and dlutils.c * + * Modified: + * 29th Feburary 2000 - Alan Burlison: Added functionality to close dlopen'd + * files when the interpreter exits */ @@ -18,46 +21,77 @@ static HV *dl_loaded_files = Nullhv; /* only needed on a few systems */ #ifdef DEBUGGING -static int dl_debug = 0; /* value copied from $DynaLoader::dl_error */ +static int dl_debug = 0; /* value copied from $DynaLoader::dl_debug */ #define DLDEBUG(level,code) if (dl_debug>=level) { code; } #else #define DLDEBUG(level,code) #endif +/* Close all dlopen'd files */ static void -dl_generic_private_init(CPERLarg) /* called by dl_*.xs dl_private_init() */ +dl_unload_all_files(pTHXo_ void *unused) +{ + CV *sub; + AV *dl_librefs; + SV *dl_libref; + + if ((sub = get_cv("DynaLoader::dl_unload_file", FALSE)) != NULL) { + dl_librefs = get_av("DynaLoader::dl_librefs", FALSE); + while ((dl_libref = av_pop(dl_librefs)) != &PL_sv_undef) { + dSP; + ENTER; + SAVETMPS; + PUSHMARK(SP); + XPUSHs(sv_2mortal(dl_libref)); + PUTBACK; + call_sv((SV*)sub, G_DISCARD | G_NODEBUG); + FREETMPS; + LEAVE; + } + } +} + + +static void +dl_generic_private_init(pTHXo) /* called by dl_*.xs dl_private_init() */ { char *perl_dl_nonlazy; #ifdef DEBUGGING - dl_debug = SvIV( perl_get_sv("DynaLoader::dl_debug", 0x04) ); + SV *sv = get_sv("DynaLoader::dl_debug", 0); + dl_debug = sv ? SvIV(sv) : 0; #endif if ( (perl_dl_nonlazy = getenv("PERL_DL_NONLAZY")) != NULL ) dl_nonlazy = atoi(perl_dl_nonlazy); if (dl_nonlazy) - DLDEBUG(1,PerlIO_printf(PerlIO_stderr(), "DynaLoader bind mode is 'non-lazy'\n")); + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "DynaLoader bind mode is 'non-lazy'\n")); #ifdef DL_LOADONCEONLY if (!dl_loaded_files) dl_loaded_files = newHV(); /* provide cache for dl_*.xs if needed */ #endif +#ifdef DL_UNLOAD_ALL_AT_EXIT + call_atexit(&dl_unload_all_files, (void*)0); +#endif } /* SaveError() takes printf style args and saves the result in LastError */ static void -SaveError(CPERLarg_ char* pat, ...) +SaveError(pTHXo_ char* pat, ...) { va_list args; + SV *msv; char *message; - int len; + STRLEN len; /* This code is based on croak/warn, see mess() in util.c */ va_start(args, pat); - message = mess(pat, &args); + msv = vmess(pat, &args); va_end(args); - len = strlen(message) + 1 ; /* include terminating null char */ + message = SvPV(msv,len); + len++; /* include terminating null char */ /* Allocate some memory for the error message */ if (LastError) @@ -67,6 +101,6 @@ SaveError(CPERLarg_ char* pat, ...) /* Copy message into LastError (including terminating null char) */ strncpy(LastError, message, len) ; - DLDEBUG(2,PerlIO_printf(PerlIO_stderr(), "DynaLoader: stored error msg '%s'\n",LastError)); + DLDEBUG(2,PerlIO_printf(Perl_debug_log, "DynaLoader: stored error msg '%s'\n",LastError)); } diff --git a/gnu/usr.bin/perl/ext/Fcntl/Fcntl.pm b/gnu/usr.bin/perl/ext/Fcntl/Fcntl.pm index f1edb8ed79d..92103a1eaf5 100644 --- a/gnu/usr.bin/perl/ext/Fcntl/Fcntl.pm +++ b/gnu/usr.bin/perl/ext/Fcntl/Fcntl.pm @@ -37,55 +37,99 @@ applications the newer versions of these constants are suggested (O_APPEND, O_ASYNC, O_CREAT, O_DEFER, O_EXCL, O_NDELAY, O_NONBLOCK, O_SYNC, O_TRUNC). -Please refer to your native fcntl() and open() documentation to see -what constants are implemented in your system. +For ease of use also the SEEK_* constants (for seek() and sysseek(), +e.g. SEEK_END) and the S_I* constants (for chmod() and stat()) are +available for import. They can be imported either separately or using +the tags C<:seek> and C<:mode>. + +Please refer to your native fcntl(2), open(2), fseek(3), lseek(2) +(equal to Perl's seek() and sysseek(), respectively), and chmod(2) +documentation to see what constants are implemented in your system. + +See L to learn about the uses of the O_* constants +with sysopen(). + +See L and L about the SEEK_* constants. + +See L about the S_I* constants. =cut -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD); +our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $AUTOLOAD); require Exporter; -require DynaLoader; -@ISA = qw(Exporter DynaLoader); +use XSLoader (); +@ISA = qw(Exporter); $VERSION = "1.03"; # Items to export into callers namespace by default # (move infrequently used names to @EXPORT_OK below) @EXPORT = qw( FD_CLOEXEC + F_ALLOCSP + F_ALLOCSP64 + F_COMPAT + F_DUP2FD F_DUPFD F_EXLCK + F_FREESP + F_FREESP64 + F_FSYNC + F_FSYNC64 F_GETFD F_GETFL F_GETLK + F_GETLK64 F_GETOWN + F_NODNY F_POSIX + F_RDACC + F_RDDNY F_RDLCK + F_RWACC + F_RWDNY F_SETFD F_SETFL F_SETLK + F_SETLK64 F_SETLKW + F_SETLKW64 F_SETOWN + F_SHARE F_SHLCK F_UNLCK + F_UNSHARE + F_WRACC + F_WRDNY F_WRLCK O_ACCMODE + O_ALIAS O_APPEND O_ASYNC O_BINARY O_CREAT O_DEFER + O_DIRECT + O_DIRECTORY O_DSYNC O_EXCL O_EXLOCK + O_LARGEFILE O_NDELAY O_NOCTTY + O_NOFOLLOW + O_NOINHERIT O_NONBLOCK + O_RANDOM + O_RAW O_RDONLY O_RDWR + O_RSRC O_RSYNC + O_SEQUENTIAL O_SHLOCK O_SYNC + O_TEMPORARY O_TEXT O_TRUNC O_WRONLY @@ -97,28 +141,69 @@ $VERSION = "1.03"; FASYNC FCREAT FDEFER + FDSYNC FEXCL + FLARGEFILE FNDELAY FNONBLOCK + FRSYNC FSYNC FTRUNC LOCK_EX LOCK_NB LOCK_SH LOCK_UN + S_ISUID S_ISGID S_ISVTX S_ISTXT + _S_IFMT S_IFREG S_IFDIR S_IFLNK + S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT + S_IRUSR S_IWUSR S_IXUSR S_IRWXU + S_IRGRP S_IWGRP S_IXGRP S_IRWXG + S_IROTH S_IWOTH S_IXOTH S_IRWXO + S_IREAD S_IWRITE S_IEXEC + &S_ISREG &S_ISDIR &S_ISLNK &S_ISSOCK &S_ISBLK &S_ISCHR &S_ISFIFO + &S_ISWHT &S_ISENFMT &S_IFMT &S_IMODE + SEEK_SET + SEEK_CUR + SEEK_END ); # Named groups of exports %EXPORT_TAGS = ( 'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)], - 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FEXCL - FNDELAY FNONBLOCK FSYNC FTRUNC)], + 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE + FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)], + 'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)], + 'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT + _S_IFMT S_IFREG S_IFDIR S_IFLNK + S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT + S_IRUSR S_IWUSR S_IXUSR S_IRWXU + S_IRGRP S_IWGRP S_IXGRP S_IRWXG + S_IROTH S_IWOTH S_IXOTH S_IRWXO + S_IREAD S_IWRITE S_IEXEC + S_ISREG S_ISDIR S_ISLNK S_ISSOCK + S_ISBLK S_ISCHR S_ISFIFO + S_ISWHT S_ISENFMT + S_IFMT S_IMODE + )], ); +sub S_IFMT { @_ ? ( $_[0] & _S_IFMT() ) : _S_IFMT() } +sub S_IMODE { $_[0] & 07777 } + +sub S_ISREG { ( $_[0] & _S_IFMT() ) == S_IFREG() } +sub S_ISDIR { ( $_[0] & _S_IFMT() ) == S_IFDIR() } +sub S_ISLNK { ( $_[0] & _S_IFMT() ) == S_IFLNK() } +sub S_ISSOCK { ( $_[0] & _S_IFMT() ) == S_IFSOCK() } +sub S_ISBLK { ( $_[0] & _S_IFMT() ) == S_IFBLK() } +sub S_ISCHR { ( $_[0] & _S_IFMT() ) == S_IFCHR() } +sub S_ISFIFO { ( $_[0] & _S_IFMT() ) == S_IFIFO() } +sub S_ISWHT { ( $_[0] & _S_IFMT() ) == S_IFWHT() } +sub S_ISENFMT { ( $_[0] & _S_IFMT() ) == S_IFENFMT() } + sub AUTOLOAD { (my $constname = $AUTOLOAD) =~ s/.*:://; my $val = constant($constname, 0); if ($! != 0) { - if ($! =~ /Invalid/) { + if ($! =~ /Invalid/ || $!{EINVAL}) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } @@ -132,6 +217,6 @@ sub AUTOLOAD { goto &$AUTOLOAD; } -bootstrap Fcntl $VERSION; +XSLoader::load 'Fcntl', $VERSION; 1; diff --git a/gnu/usr.bin/perl/ext/Fcntl/Fcntl.xs b/gnu/usr.bin/perl/ext/Fcntl/Fcntl.xs index 5149444b685..b597e03c1a1 100644 --- a/gnu/usr.bin/perl/ext/Fcntl/Fcntl.xs +++ b/gnu/usr.bin/perl/ext/Fcntl/Fcntl.xs @@ -1,3 +1,4 @@ +#define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" @@ -14,6 +15,10 @@ #endif #endif +#ifdef I_UNISTD +#include +#endif + /* This comment is a kludge to get metaconfig to see the symbols VAL_O_NONBLOCK VAL_EAGAIN @@ -40,8 +45,40 @@ constant(char *name, int arg) { errno = 0; switch (*name) { + case '_': + if (strEQ(name, "_S_IFMT")) /* Yes, on name _S_IFMT return S_IFMT. */ +#ifdef S_IFMT + return S_IFMT; +#else + goto not_there; +#endif + break; case 'F': if (strnEQ(name, "F_", 2)) { + if (strEQ(name, "F_ALLOCSP")) +#ifdef F_ALLOCSP + return F_ALLOCSP; +#else + goto not_there; +#endif + if (strEQ(name, "F_ALLOCSP64")) +#ifdef F_ALLOCSP64 + return F_ALLOCSP64; +#else + goto not_there; +#endif + if (strEQ(name, "F_COMPAT")) +#ifdef F_COMPAT + return F_COMPAT; +#else + goto not_there; +#endif + if (strEQ(name, "F_DUP2FD")) +#ifdef F_DUP2FD + return F_DUP2FD; +#else + goto not_there; +#endif if (strEQ(name, "F_DUPFD")) #ifdef F_DUPFD return F_DUPFD; @@ -53,6 +90,30 @@ constant(char *name, int arg) return F_EXLCK; #else goto not_there; +#endif + if (strEQ(name, "F_FREESP")) +#ifdef F_FREESP + return F_FREESP; +#else + goto not_there; +#endif + if (strEQ(name, "F_FREESP64")) +#ifdef F_FREESP64 + return F_FREESP64; +#else + goto not_there; +#endif + if (strEQ(name, "F_FSYNC")) +#ifdef F_FSYNC + return F_FSYNC; +#else + goto not_there; +#endif + if (strEQ(name, "F_FSYNC64")) +#ifdef F_FSYNC64 + return F_FSYNC64; +#else + goto not_there; #endif if (strEQ(name, "F_GETFD")) #ifdef F_GETFD @@ -71,24 +132,60 @@ constant(char *name, int arg) return F_GETLK; #else goto not_there; +#endif + if (strEQ(name, "F_GETLK64")) +#ifdef F_GETLK64 + return F_GETLK64; +#else + goto not_there; #endif if (strEQ(name, "F_GETOWN")) #ifdef F_GETOWN return F_GETOWN; #else goto not_there; +#endif + if (strEQ(name, "F_NODNY")) +#ifdef F_NODNY + return F_NODNY; +#else + goto not_there; #endif if (strEQ(name, "F_POSIX")) #ifdef F_POSIX return F_POSIX; #else goto not_there; +#endif + if (strEQ(name, "F_RDACC")) +#ifdef F_RDACC + return F_RDACC; +#else + goto not_there; +#endif + if (strEQ(name, "F_RDDNY")) +#ifdef F_RDDNY + return F_RDDNY; +#else + goto not_there; #endif if (strEQ(name, "F_RDLCK")) #ifdef F_RDLCK return F_RDLCK; #else goto not_there; +#endif + if (strEQ(name, "F_RWACC")) +#ifdef F_RWACC + return F_RWACC; +#else + goto not_there; +#endif + if (strEQ(name, "F_RWDNY")) +#ifdef F_RWDNY + return F_RWDNY; +#else + goto not_there; #endif if (strEQ(name, "F_SETFD")) #ifdef F_SETFD @@ -107,18 +204,36 @@ constant(char *name, int arg) return F_SETLK; #else goto not_there; +#endif + if (strEQ(name, "F_SETLK64")) +#ifdef F_SETLK64 + return F_SETLK64; +#else + goto not_there; #endif if (strEQ(name, "F_SETLKW")) #ifdef F_SETLKW return F_SETLKW; #else goto not_there; +#endif + if (strEQ(name, "F_SETLKW64")) +#ifdef F_SETLKW64 + return F_SETLKW64; +#else + goto not_there; #endif if (strEQ(name, "F_SETOWN")) #ifdef F_SETOWN return F_SETOWN; #else goto not_there; +#endif + if (strEQ(name, "F_SHARE")) +#ifdef F_SHARE + return F_SHARE; +#else + goto not_there; #endif if (strEQ(name, "F_SHLCK")) #ifdef F_SHLCK @@ -131,6 +246,24 @@ constant(char *name, int arg) return F_UNLCK; #else goto not_there; +#endif + if (strEQ(name, "F_UNSHARE")) +#ifdef F_UNSHARE + return F_UNSHARE; +#else + goto not_there; +#endif + if (strEQ(name, "F_WRACC")) +#ifdef F_WRACC + return F_WRACC; +#else + goto not_there; +#endif + if (strEQ(name, "F_WRDNY")) +#ifdef F_WRDNY + return F_WRDNY; +#else + goto not_there; #endif if (strEQ(name, "F_WRLCK")) #ifdef F_WRLCK @@ -170,12 +303,24 @@ constant(char *name, int arg) return FDEFER; #else goto not_there; +#endif + if (strEQ(name, "FDSYNC")) +#ifdef FDSYNC + return FDSYNC; +#else + goto not_there; #endif if (strEQ(name, "FEXCL")) #ifdef FEXCL return FEXCL; #else goto not_there; +#endif + if (strEQ(name, "FLARGEFILE")) +#ifdef FLARGEFILE + return FLARGEFILE; +#else + goto not_there; #endif if (strEQ(name, "FNDELAY")) #ifdef FNDELAY @@ -188,6 +333,12 @@ constant(char *name, int arg) return FNONBLOCK; #else goto not_there; +#endif + if (strEQ(name, "FRSYNC")) +#ifdef FRSYNC + return FRSYNC; +#else + goto not_there; #endif if (strEQ(name, "FSYNC")) #ifdef FSYNC @@ -270,6 +421,18 @@ constant(char *name, int arg) return O_DEFER; #else goto not_there; +#endif + if (strEQ(name, "O_DIRECT")) +#ifdef O_DIRECT + return O_DIRECT; +#else + goto not_there; +#endif + if (strEQ(name, "O_DIRECTORY")) +#ifdef O_DIRECTORY + return O_DIRECTORY; +#else + goto not_there; #endif if (strEQ(name, "O_DSYNC")) #ifdef O_DSYNC @@ -288,6 +451,12 @@ constant(char *name, int arg) return O_EXLOCK; #else goto not_there; +#endif + if (strEQ(name, "O_LARGEFILE")) +#ifdef O_LARGEFILE + return O_LARGEFILE; +#else + goto not_there; #endif if (strEQ(name, "O_NDELAY")) #ifdef O_NDELAY @@ -300,12 +469,36 @@ constant(char *name, int arg) return O_NOCTTY; #else goto not_there; +#endif + if (strEQ(name, "O_NOFOLLOW")) +#ifdef O_NOFOLLOW + return O_NOFOLLOW; +#else + goto not_there; +#endif + if (strEQ(name, "O_NOINHERIT")) +#ifdef O_NOINHERIT + return O_NOINHERIT; +#else + goto not_there; #endif if (strEQ(name, "O_NONBLOCK")) #ifdef O_NONBLOCK return O_NONBLOCK; #else goto not_there; +#endif + if (strEQ(name, "O_RANDOM")) +#ifdef O_RANDOM + return O_RANDOM; +#else + goto not_there; +#endif + if (strEQ(name, "O_RAW")) +#ifdef O_RAW + return O_RAW; +#else + goto not_there; #endif if (strEQ(name, "O_RDONLY")) #ifdef O_RDONLY @@ -324,6 +517,12 @@ constant(char *name, int arg) return O_RSYNC; #else goto not_there; +#endif + if (strEQ(name, "O_SEQUENTIAL")) +#ifdef O_SEQUENTIAL + return O_SEQUENTIAL; +#else + goto not_there; #endif if (strEQ(name, "O_SHLOCK")) #ifdef O_SHLOCK @@ -336,6 +535,12 @@ constant(char *name, int arg) return O_SYNC; #else goto not_there; +#endif + if (strEQ(name, "O_TEMPORARY")) +#ifdef O_TEMPORARY + return O_TEMPORARY; +#else + goto not_there; #endif if (strEQ(name, "O_TEXT")) #ifdef O_TEXT @@ -354,10 +559,215 @@ constant(char *name, int arg) return O_WRONLY; #else goto not_there; +#endif + if (strEQ(name, "O_ALIAS")) +#ifdef O_ALIAS + return O_ALIAS; +#else + goto not_there; +#endif + if (strEQ(name, "O_RSRC")) +#ifdef O_RSRC + return O_RSRC; +#else + goto not_there; #endif } else goto not_there; break; + case 'S': + switch (name[1]) { + case '_': + if (strEQ(name, "S_ISUID")) +#ifdef S_ISUID + return S_ISUID; +#else + goto not_there; +#endif + if (strEQ(name, "S_ISGID")) +#ifdef S_ISGID + return S_ISGID; +#else + goto not_there; +#endif + if (strEQ(name, "S_ISVTX")) +#ifdef S_ISVTX + return S_ISVTX; +#else + goto not_there; +#endif + if (strEQ(name, "S_ISTXT")) +#ifdef S_ISTXT + return S_ISTXT; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFREG")) +#ifdef S_IFREG + return S_IFREG; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFDIR")) +#ifdef S_IFDIR + return S_IFDIR; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFLNK")) +#ifdef S_IFLNK + return S_IFLNK; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFSOCK")) +#ifdef S_IFSOCK + return S_IFSOCK; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFBLK")) +#ifdef S_IFBLK + return S_IFBLK; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFCHR")) +#ifdef S_IFCHR + return S_IFCHR; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFIFO")) +#ifdef S_IFIFO + return S_IFIFO; +#else + goto not_there; +#endif + if (strEQ(name, "S_IFWHT")) +#ifdef S_IFWHT + return S_IFWHT; +#else + goto not_there; +#endif + if (strEQ(name, "S_ENFMT")) +#ifdef S_ENFMT + return S_ENFMT; +#else + goto not_there; +#endif + if (strEQ(name, "S_IRUSR")) +#ifdef S_IRUSR + return S_IRUSR; +#else + goto not_there; +#endif + if (strEQ(name, "S_IWUSR")) +#ifdef S_IWUSR + return S_IWUSR; +#else + goto not_there; +#endif + if (strEQ(name, "S_IXUSR")) +#ifdef S_IXUSR + return S_IXUSR; +#else + goto not_there; +#endif + if (strEQ(name, "S_IRWXU")) +#ifdef S_IRWXU + return S_IRWXU; +#else + goto not_there; +#endif + if (strEQ(name, "S_IRGRP")) +#ifdef S_IRGRP + return S_IRGRP; +#else + goto not_there; +#endif + if (strEQ(name, "S_IWGRP")) +#ifdef S_IWGRP + return S_IWGRP; +#else + goto not_there; +#endif + if (strEQ(name, "S_IXGRP")) +#ifdef S_IXGRP + return S_IXGRP; +#else + goto not_there; +#endif + if (strEQ(name, "S_IRWXG")) +#ifdef S_IRWXG + return S_IRWXG; +#else + goto not_there; +#endif + if (strEQ(name, "S_IROTH")) +#ifdef S_IROTH + return S_IROTH; +#else + goto not_there; +#endif + if (strEQ(name, "S_IWOTH")) +#ifdef S_IWOTH + return S_IWOTH; +#else + goto not_there; +#endif + if (strEQ(name, "S_IXOTH")) +#ifdef S_IXOTH + return S_IXOTH; +#else + goto not_there; +#endif + if (strEQ(name, "S_IRWXO")) +#ifdef S_IRWXO + return S_IRWXO; +#else + goto not_there; +#endif + if (strEQ(name, "S_IREAD")) +#ifdef S_IREAD + return S_IREAD; +#else + goto not_there; +#endif + if (strEQ(name, "S_IWRITE")) +#ifdef S_IWRITE + return S_IWRITE; +#else + goto not_there; +#endif + if (strEQ(name, "S_IEXEC")) +#ifdef S_IEXEC + return S_IEXEC; +#else + goto not_there; +#endif + break; + case 'E': + if (strEQ(name, "SEEK_CUR")) +#ifdef SEEK_CUR + return SEEK_CUR; +#else + return 1; +#endif + if (strEQ(name, "SEEK_END")) +#ifdef SEEK_END + return SEEK_END; +#else + return 2; +#endif + if (strEQ(name, "SEEK_SET")) +#ifdef SEEK_SET + return SEEK_SET; +#else + return 0; +#endif + break; + } } errno = EINVAL; return 0; diff --git a/gnu/usr.bin/perl/ext/GDBM_File/GDBM_File.pm b/gnu/usr.bin/perl/ext/GDBM_File/GDBM_File.pm index 09df4373fb6..ab866eecabe 100644 --- a/gnu/usr.bin/perl/ext/GDBM_File/GDBM_File.pm +++ b/gnu/usr.bin/perl/ext/GDBM_File/GDBM_File.pm @@ -33,21 +33,21 @@ The available functions and the gdbm/perl interface need to be documented. =head1 SEE ALSO -L, L. +L, L, L. =cut package GDBM_File; use strict; -use vars qw($VERSION @ISA @EXPORT $AUTOLOAD); +our($VERSION, @ISA, @EXPORT, $AUTOLOAD); require Carp; require Tie::Hash; require Exporter; use AutoLoader; -require DynaLoader; -@ISA = qw(Tie::Hash Exporter DynaLoader); +use XSLoader (); +@ISA = qw(Tie::Hash Exporter); @EXPORT = qw( GDBM_CACHESIZE GDBM_FAST @@ -59,14 +59,14 @@ require DynaLoader; GDBM_WRITER ); -$VERSION = "1.00"; +$VERSION = "1.03"; sub AUTOLOAD { my($constname); ($constname = $AUTOLOAD) =~ s/.*:://; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { - if ($! =~ /Invalid/) { + if ($! =~ /Invalid/ || $!{EINVAL}) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } @@ -78,7 +78,7 @@ sub AUTOLOAD { goto &$AUTOLOAD; } -bootstrap GDBM_File $VERSION; +XSLoader::load 'GDBM_File', $VERSION; # Preloaded methods go here. Autoload methods go after __END__, and are # processed by the autosplit program. diff --git a/gnu/usr.bin/perl/ext/GDBM_File/typemap b/gnu/usr.bin/perl/ext/GDBM_File/typemap index 317a8f3886c..4f79ae3e32a 100644 --- a/gnu/usr.bin/perl/ext/GDBM_File/typemap +++ b/gnu/usr.bin/perl/ext/GDBM_File/typemap @@ -2,8 +2,8 @@ #################################### DBM SECTION # -datum T_DATUM -gdatum T_GDATUM +datum_key T_DATUM_K +datum_value T_DATUM_V NDBM_File T_PTROBJ GDBM_File T_PTROBJ SDBM_File T_PTROBJ @@ -13,15 +13,20 @@ DBZ_File T_PTROBJ FATALFUNC T_OPAQUEPTR INPUT -T_DATUM +T_DATUM_K + ckFilter($arg, filter_store_key, \"filter_store_key\"); + $var.dptr = SvPV($arg, PL_na); + $var.dsize = (int)PL_na; +T_DATUM_V + ckFilter($arg, filter_store_value, \"filter_store_value\"); $var.dptr = SvPV($arg, PL_na); $var.dsize = (int)PL_na; -T_GDATUM - UNIMPLEMENTED OUTPUT -T_DATUM - sv_setpvn($arg, $var.dptr, $var.dsize); -T_GDATUM - sv_usepvn($arg, $var.dptr, $var.dsize); +T_DATUM_K + output_datum(aTHX_ $arg, $var.dptr, $var.dsize); + ckFilter($arg, filter_fetch_key,\"filter_fetch_key\"); +T_DATUM_V + output_datum(aTHX_ $arg, $var.dptr, $var.dsize); + ckFilter($arg, filter_fetch_value,\"filter_fetch_value\"); T_PTROBJ sv_setref_pv($arg, dbtype, (void*)$var); diff --git a/gnu/usr.bin/perl/ext/IO/IO.pm b/gnu/usr.bin/perl/ext/IO/IO.pm index 4d4c81ce405..0087530c7e6 100644 --- a/gnu/usr.bin/perl/ext/IO/IO.pm +++ b/gnu/usr.bin/perl/ext/IO/IO.pm @@ -2,6 +2,24 @@ package IO; +use XSLoader (); +use Carp; + +$VERSION = "1.20"; +XSLoader::load 'IO', $VERSION; + +sub import { + shift; + my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir); + + eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l) + or croak $@; +} + +1; + +__END__ + =head1 NAME IO - load various IO modules @@ -20,17 +38,10 @@ Currently this includes: IO::File IO::Pipe IO::Socket + IO::Dir For more information on any of these modules, please see its respective documentation. =cut -use IO::Handle; -use IO::Seekable; -use IO::File; -use IO::Pipe; -use IO::Socket; - -1; - diff --git a/gnu/usr.bin/perl/ext/IO/IO.xs b/gnu/usr.bin/perl/ext/IO/IO.xs index 300581ed4e2..1b79cfd4c09 100644 --- a/gnu/usr.bin/perl/ext/IO/IO.xs +++ b/gnu/usr.bin/perl/ext/IO/IO.xs @@ -1,20 +1,20 @@ +/* + * Copyright (c) 1997-8 Graham Barr . All rights reserved. + * This program is free software; you can redistribute it and/or + * modify it under the same terms as Perl itself. + */ + +#define PERL_NO_GET_CONTEXT #include "EXTERN.h" #define PERLIO_NOT_STDIO 1 #include "perl.h" #include "XSUB.h" - +#include "poll.h" #ifdef I_UNISTD # include #endif -#ifdef I_FCNTL -#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32) -#define _NO_OLDNAMES -#endif +#if defined(I_FCNTL) || defined(HAS_FCNTL) # include -#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32) -#undef _NO_OLDNAMES -#endif - #endif #ifdef PerlIO @@ -28,6 +28,12 @@ typedef FILE * InputStream; typedef FILE * OutputStream; #endif +#define MY_start_subparse(fmt,flags) start_subparse(fmt,flags) + +#ifndef gv_stashpvn +#define gv_stashpvn(str,len,flags) gv_stashpv(str,flags) +#endif + static int not_here(char *s) { @@ -35,56 +41,99 @@ not_here(char *s) return -1; } -static bool -constant(char *name, IV *pval) -{ - switch (*name) { - case '_': - if (strEQ(name, "_IOFBF")) -#ifdef _IOFBF - { *pval = _IOFBF; return TRUE; } -#else - return FALSE; -#endif - if (strEQ(name, "_IOLBF")) -#ifdef _IOLBF - { *pval = _IOLBF; return TRUE; } -#else - return FALSE; -#endif - if (strEQ(name, "_IONBF")) -#ifdef _IONBF - { *pval = _IONBF; return TRUE; } -#else - return FALSE; + +#ifndef PerlIO +#define PerlIO_fileno(f) fileno(f) #endif - break; - case 'S': - if (strEQ(name, "SEEK_SET")) -#ifdef SEEK_SET - { *pval = SEEK_SET; return TRUE; } + +static int +io_blocking(InputStream f, int block) +{ + int RETVAL; + if(!f) { + errno = EBADF; + return -1; + } +#if defined(HAS_FCNTL) + RETVAL = fcntl(PerlIO_fileno(f), F_GETFL, 0); + if (RETVAL >= 0) { + int mode = RETVAL; +#ifdef O_NONBLOCK + /* POSIX style */ +#if defined(O_NDELAY) && O_NDELAY != O_NONBLOCK + /* Ooops has O_NDELAY too - make sure we don't + * get SysV behaviour by mistake. */ + + /* E.g. In UNICOS and UNICOS/mk a F_GETFL returns an O_NDELAY + * after a successful F_SETFL of an O_NONBLOCK. */ + RETVAL = RETVAL & (O_NONBLOCK | O_NDELAY) ? 0 : 1; + + if (block >= 0) { + if ((mode & O_NDELAY) || ((block == 0) && !(mode & O_NONBLOCK))) { + int ret; + mode = (mode & ~O_NDELAY) | O_NONBLOCK; + ret = fcntl(PerlIO_fileno(f),F_SETFL,mode); + if(ret < 0) + RETVAL = ret; + } + else + if ((mode & O_NDELAY) || ((block > 0) && (mode & O_NONBLOCK))) { + int ret; + mode &= ~(O_NONBLOCK | O_NDELAY); + ret = fcntl(PerlIO_fileno(f),F_SETFL,mode); + if(ret < 0) + RETVAL = ret; + } + } #else - return FALSE; -#endif - if (strEQ(name, "SEEK_CUR")) -#ifdef SEEK_CUR - { *pval = SEEK_CUR; return TRUE; } + /* Standard POSIX */ + RETVAL = RETVAL & O_NONBLOCK ? 0 : 1; + + if ((block == 0) && !(mode & O_NONBLOCK)) { + int ret; + mode |= O_NONBLOCK; + ret = fcntl(PerlIO_fileno(f),F_SETFL,mode); + if(ret < 0) + RETVAL = ret; + } + else if ((block > 0) && (mode & O_NONBLOCK)) { + int ret; + mode &= ~O_NONBLOCK; + ret = fcntl(PerlIO_fileno(f),F_SETFL,mode); + if(ret < 0) + RETVAL = ret; + } +#endif #else - return FALSE; + /* Not POSIX - better have O_NDELAY or we can't cope. + * for BSD-ish machines this is an acceptable alternative + * for SysV we can't tell "would block" from EOF but that is + * the way SysV is... + */ + RETVAL = RETVAL & O_NDELAY ? 0 : 1; + + if ((block == 0) && !(mode & O_NDELAY)) { + int ret; + mode |= O_NDELAY; + ret = fcntl(PerlIO_fileno(f),F_SETFL,mode); + if(ret < 0) + RETVAL = ret; + } + else if ((block > 0) && (mode & O_NDELAY)) { + int ret; + mode &= ~O_NDELAY; + ret = fcntl(PerlIO_fileno(f),F_SETFL,mode); + if(ret < 0) + RETVAL = ret; + } #endif - if (strEQ(name, "SEEK_END")) -#ifdef SEEK_END - { *pval = SEEK_END; return TRUE; } + } + return RETVAL; #else - return FALSE; + return -1; #endif - break; - } - - return FALSE; } - MODULE = IO PACKAGE = IO::Seekable PREFIX = f SV * @@ -110,9 +159,9 @@ fsetpos(handle, pos) InputStream handle SV * pos CODE: - char *p; - STRLEN n_a; - if (handle && (p = SvPVx(pos, n_a)) && n_a == sizeof(Fpos_t)) + char *p; + STRLEN len; + if (handle && (p = SvPV(pos,len)) && len == sizeof(Fpos_t)) #ifdef PerlIO RETVAL = PerlIO_setpos(handle, (Fpos_t*)p); #else @@ -144,24 +193,63 @@ new_tmpfile(packname = "IO::File") if (do_open(gv, "+>&", 3, FALSE, 0, 0, fp)) { ST(0) = sv_2mortal(newRV((SV*)gv)); sv_bless(ST(0), gv_stashpv(packname, TRUE)); - SvREFCNT_dec(gv); /* undo increment in newRV() */ + SvREFCNT_dec(gv); /* undo increment in newRV() */ } else { ST(0) = &PL_sv_undef; SvREFCNT_dec(gv); } +MODULE = IO PACKAGE = IO::Poll + +void +_poll(timeout,...) + int timeout; +PPCODE: +{ +#ifdef HAS_POLL + int nfd = (items - 1) / 2; + SV *tmpsv = NEWSV(999,nfd * sizeof(struct pollfd)); + struct pollfd *fds = (struct pollfd *)SvPVX(tmpsv); + int i,j,ret; + for(i=1, j=0 ; j < nfd ; j++) { + fds[j].fd = SvIV(ST(i)); + i++; + fds[j].events = SvIV(ST(i)); + i++; + fds[j].revents = 0; + } + if((ret = poll(fds,nfd,timeout)) >= 0) { + for(i=1, j=0 ; j < nfd ; j++) { + sv_setiv(ST(i), fds[j].fd); i++; + sv_setiv(ST(i), fds[j].revents); i++; + } + } + SvREFCNT_dec(tmpsv); + XSRETURN_IV(ret); +#else + not_here("IO::Poll::poll"); +#endif +} + +MODULE = IO PACKAGE = IO::Handle PREFIX = io_ + +void +io_blocking(handle,blk=-1) + InputStream handle + int blk +PROTOTYPE: $;$ +CODE: +{ + int ret = io_blocking(handle, items == 1 ? -1 : blk ? 1 : 0); + if(ret >= 0) + XSRETURN_IV(ret); + else + XSRETURN_UNDEF; +} + MODULE = IO PACKAGE = IO::Handle PREFIX = f -SV * -constant(name) - char * name - CODE: - IV i; - if (constant(name, &i)) - ST(0) = sv_2mortal(newSViv(i)); - else - ST(0) = &PL_sv_undef; int ungetc(handle, c) @@ -274,8 +362,7 @@ setvbuf(handle, buf, type, size) int type int size CODE: -/* Should check HAS_SETVBUF once Configure tests for that */ -#if defined(PERLIO_IS_STDIO) && defined(_IOFBF) +#if defined(PERLIO_IS_STDIO) && defined(_IOFBF) && defined(HAS_SETVBUF) if (!handle) /* Try input stream. */ handle = IoIFP(sv_2io(ST(0))); if (handle) @@ -291,3 +378,84 @@ setvbuf(handle, buf, type, size) RETVAL +SysRet +fsync(handle) + OutputStream handle + CODE: +#ifdef HAS_FSYNC + if(handle) + RETVAL = fsync(PerlIO_fileno(handle)); + else { + RETVAL = -1; + errno = EINVAL; + } +#else + RETVAL = (SysRet) not_here("IO::Handle::sync"); +#endif + OUTPUT: + RETVAL + + +BOOT: +{ + HV *stash; + /* + * constant subs for IO::Poll + */ + stash = gv_stashpvn("IO::Poll", 8, TRUE); +#ifdef POLLIN + newCONSTSUB(stash,"POLLIN",newSViv(POLLIN)); +#endif +#ifdef POLLPRI + newCONSTSUB(stash,"POLLPRI", newSViv(POLLPRI)); +#endif +#ifdef POLLOUT + newCONSTSUB(stash,"POLLOUT", newSViv(POLLOUT)); +#endif +#ifdef POLLRDNORM + newCONSTSUB(stash,"POLLRDNORM", newSViv(POLLRDNORM)); +#endif +#ifdef POLLWRNORM + newCONSTSUB(stash,"POLLWRNORM", newSViv(POLLWRNORM)); +#endif +#ifdef POLLRDBAND + newCONSTSUB(stash,"POLLRDBAND", newSViv(POLLRDBAND)); +#endif +#ifdef POLLWRBAND + newCONSTSUB(stash,"POLLWRBAND", newSViv(POLLWRBAND)); +#endif +#ifdef POLLNORM + newCONSTSUB(stash,"POLLNORM", newSViv(POLLNORM)); +#endif +#ifdef POLLERR + newCONSTSUB(stash,"POLLERR", newSViv(POLLERR)); +#endif +#ifdef POLLHUP + newCONSTSUB(stash,"POLLHUP", newSViv(POLLHUP)); +#endif +#ifdef POLLNVAL + newCONSTSUB(stash,"POLLNVAL", newSViv(POLLNVAL)); +#endif + /* + * constant subs for IO::Handle + */ + stash = gv_stashpvn("IO::Handle", 10, TRUE); +#ifdef _IOFBF + newCONSTSUB(stash,"_IOFBF", newSViv(_IOFBF)); +#endif +#ifdef _IOLBF + newCONSTSUB(stash,"_IOLBF", newSViv(_IOLBF)); +#endif +#ifdef _IONBF + newCONSTSUB(stash,"_IONBF", newSViv(_IONBF)); +#endif +#ifdef SEEK_SET + newCONSTSUB(stash,"SEEK_SET", newSViv(SEEK_SET)); +#endif +#ifdef SEEK_CUR + newCONSTSUB(stash,"SEEK_CUR", newSViv(SEEK_CUR)); +#endif +#ifdef SEEK_END + newCONSTSUB(stash,"SEEK_END", newSViv(SEEK_END)); +#endif +} diff --git a/gnu/usr.bin/perl/ext/IO/Makefile.PL b/gnu/usr.bin/perl/ext/IO/Makefile.PL index 6a2d50dc83c..095d7c2b511 100644 --- a/gnu/usr.bin/perl/ext/IO/Makefile.PL +++ b/gnu/usr.bin/perl/ext/IO/Makefile.PL @@ -1,8 +1,9 @@ use ExtUtils::MakeMaker; +use Config qw(%Config); + WriteMakefile( - NAME => 'IO', - MAN3PODS => {}, # Pods will be built by installman. - XSPROTOARG => '-noprototypes', # XXX remove later? - VERSION_FROM => 'lib/IO/Handle.pm', - XS_VERSION => 1.15 + VERSION_FROM => "IO.pm", + NAME => "IO", + OBJECT => '$(O_FILES)', + MAN3PODS => {}, # Pods will be built by installman. ); diff --git a/gnu/usr.bin/perl/ext/IO/lib/IO/Handle.pm b/gnu/usr.bin/perl/ext/IO/lib/IO/Handle.pm index 7927641f7f1..930df55fec8 100644 --- a/gnu/usr.bin/perl/ext/IO/lib/IO/Handle.pm +++ b/gnu/usr.bin/perl/ext/IO/lib/IO/Handle.pm @@ -9,21 +9,21 @@ IO::Handle - supply object methods for I/O handles use IO::Handle; - $fh = new IO::Handle; - if ($fh->fdopen(fileno(STDIN),"r")) { - print $fh->getline; - $fh->close; + $io = new IO::Handle; + if ($io->fdopen(fileno(STDIN),"r")) { + print $io->getline; + $io->close; } - $fh = new IO::Handle; - if ($fh->fdopen(fileno(STDOUT),"w")) { - $fh->print("Some text\n"); + $io = new IO::Handle; + if ($io->fdopen(fileno(STDOUT),"w")) { + $io->print("Some text\n"); } use IO::Handle '_IOLBF'; - $fh->setvbuf($buffer_var, _IOLBF, 1024); + $io->setvbuf($buffer_var, _IOLBF, 1024); - undef $fh; # automatically closes the file if it's open + undef $io; # automatically closes the file if it's open autoflush STDOUT 1; @@ -36,9 +36,7 @@ in the IO hierarchy. If you are reading this documentation, looking for a replacement for the C package, then I suggest you read the documentation -for C - -A C object is a reference to a symbol (see the C package) +for C too. =head1 CONSTRUCTOR @@ -63,87 +61,123 @@ See L for complete descriptions of each of the following supported C methods, which are just front ends for the corresponding built-in functions: - close - fileno - getc - eof - read - truncate - stat - print - printf - sysread - syswrite + $io->close + $io->eof + $io->fileno + $io->format_write( [FORMAT_NAME] ) + $io->getc + $io->read ( BUF, LEN, [OFFSET] ) + $io->print ( ARGS ) + $io->printf ( FMT, [ARGS] ) + $io->stat + $io->sysread ( BUF, LEN, [OFFSET] ) + $io->syswrite ( BUF, LEN, [OFFSET] ) + $io->truncate ( LEN ) See L for complete descriptions of each of the following -supported C methods: +supported C methods. All of them return the previous +value of the attribute and takes an optional single argument that when +given will set the value. If no argument is given the previous value +is unchanged (except for $io->autoflush will actually turn ON +autoflush by default). - autoflush - output_field_separator - output_record_separator - input_record_separator - input_line_number - format_page_number - format_lines_per_page - format_lines_left - format_name - format_top_name - format_line_break_characters - format_formfeed - format_write + $io->autoflush ( [BOOL] ) $| + $io->format_page_number( [NUM] ) $% + $io->format_lines_per_page( [NUM] ) $= + $io->format_lines_left( [NUM] ) $- + $io->format_name( [STR] ) $~ + $io->format_top_name( [STR] ) $^ + $io->input_line_number( [NUM]) $. + +The following methods are not supported on a per-filehandle basis. + + IO::Handle->format_line_break_characters( [STR] ) $: + IO::Handle->format_formfeed( [STR]) $^L + IO::Handle->output_field_separator( [STR] ) $, + IO::Handle->output_record_separator( [STR] ) $\ + + IO::Handle->input_record_separator( [STR] ) $/ Furthermore, for doing normal I/O you might need these: =over -=item $fh->fdopen ( FD, MODE ) +=item $io->fdopen ( FD, MODE ) C is like an ordinary C except that its first parameter is not a filename but rather a file handle name, a IO::Handle object, or a file descriptor number. -=item $fh->opened +=item $io->opened Returns true if the object is currently a valid file descriptor. -=item $fh->getline +=item $io->getline -This works like <$fh> described in L +This works like <$io> described in L except that it's more readable and can be safely called in an array context but still returns just one line. -=item $fh->getlines +=item $io->getlines -This works like <$fh> when called in an array context to +This works like <$io> when called in an array context to read all the remaining lines in a file, except that it's more readable. It will also croak() if accidentally called in a scalar context. -=item $fh->ungetc ( ORD ) +=item $io->ungetc ( ORD ) Pushes a character with the given ordinal value back onto the given -handle's input stream. +handle's input stream. Only one character of pushback per handle is +guaranteed. -=item $fh->write ( BUF, LEN [, OFFSET }\] ) +=item $io->write ( BUF, LEN [, OFFSET ] ) This C is like C found in C, that is it is the opposite of read. The wrapper for the perl C function is called C. -=item $fh->flush - -Flush the given handle's buffer. - -=item $fh->error +=item $io->error Returns a true value if the given handle has experienced any errors since it was opened or since the last call to C. -=item $fh->clearerr +=item $io->clearerr Clear the given handle's error indicator. +=item $io->sync + +C synchronizes a file's in-memory state with that on the +physical medium. C does not operate at the perlio api level, but +operates on the file descriptor, this means that any data held at the +perlio api level will not be synchronized. To synchronize data that is +buffered at the perlio api level you must use the flush method. C +is not implemented on all platforms. See L. + +=item $io->flush + +C causes perl to flush any buffered data at the perlio api level. +Any unread data in the buffer will be discarded, and any unwritten data +will be written to the underlying file descriptor. + +=item $io->printflush ( ARGS ) + +Turns on autoflush, print ARGS and then restores the autoflush status of the +C object. + +=item $io->blocking ( [ BOOL ] ) + +If called with an argument C will turn on non-blocking IO if +C is false, and turn it off if C is true. + +C will return the value of the previous setting, or the +current setting if C is not given. + +If an error occurs C will return undef and C<$!> will be set. + =back + If the C functions setbuf() and/or setvbuf() are available, then C and C set the buffering policy for an IO::Handle. The calling sequences for the Perl functions @@ -152,7 +186,7 @@ C<_IOLBF>, and C<_IONBF> for setvbuf()--except that the buffer parameter specifies a scalar variable to use as a buffer. WARNING: A variable used as a buffer by C or C must not be modified in any way until the IO::Handle is closed or C or C is called -again, or memory corruption may result! Note that you need to import +again, or memory corruption may result! Note that you need to import the constants C<_IOFBF>, C<_IOLBF>, and C<_IONBF> explicitly. Lastly, there is a special method for working under B<-T> and setuid/gid @@ -160,7 +194,7 @@ scripts: =over -=item $fh->untaint +=item $io->untaint Marks the object as taint-clean, and as such data read from it will also be considered taint-clean. Note that this is a very trusting action to @@ -171,7 +205,8 @@ vulnerability should be kept in mind. =head1 NOTE -A C object is a GLOB reference. Some modules that +A C object is a reference to a symbol/GLOB reference (see +the C package). Some modules that inherit from C may want to keep object related variables in the hash table part of the GLOB. In an attempt to prevent modules trampling on each other I propose the that any such module should prefix @@ -193,22 +228,22 @@ class from C and inherit those methods. =head1 HISTORY -Derived from FileHandle.pm by Graham Barr EFE +Derived from FileHandle.pm by Graham Barr EFE =cut -require 5.000; +require 5.005_64; use strict; -use vars qw($VERSION $XS_VERSION @EXPORT_OK $AUTOLOAD @ISA); +our($VERSION, @EXPORT_OK, @ISA); use Carp; use Symbol; use SelectSaver; +use IO (); # Load the XS module require Exporter; @ISA = qw(Exporter); -$VERSION = "1.1505"; -$XS_VERSION = "1.15"; +$VERSION = "1.21"; @EXPORT_OK = qw( autoflush @@ -230,6 +265,9 @@ $XS_VERSION = "1.15"; getline getlines + printflush + flush + SEEK_SET SEEK_CUR SEEK_END @@ -238,30 +276,6 @@ $XS_VERSION = "1.15"; _IONBF ); - -################################################ -## Interaction with the XS. -## - -require DynaLoader; -@IO::ISA = qw(DynaLoader); -bootstrap IO $XS_VERSION; - -sub AUTOLOAD { - if ($AUTOLOAD =~ /::(_?[a-z])/) { - $AutoLoader::AUTOLOAD = $AUTOLOAD; - goto &AutoLoader::AUTOLOAD - } - my $constname = $AUTOLOAD; - $constname =~ s/.*:://; - my $val = constant($constname); - defined $val or croak "$constname is not a valid IO::Handle macro"; - no strict 'refs'; - *$AUTOLOAD = sub { $val }; - goto &$AUTOLOAD; -} - - ################################################ ## Constructors, destructors. ## @@ -269,18 +283,18 @@ sub AUTOLOAD { sub new { my $class = ref($_[0]) || $_[0] || "IO::Handle"; @_ == 1 or croak "usage: new $class"; - my $fh = gensym; - bless $fh, $class; + my $io = gensym; + bless $io, $class; } sub new_from_fd { my $class = ref($_[0]) || $_[0] || "IO::Handle"; @_ == 3 or croak "usage: new_from_fd $class FD, MODE"; - my $fh = gensym; + my $io = gensym; shift; - IO::Handle::fdopen($fh, @_) + IO::Handle::fdopen($io, @_) or return undef; - bless $fh, $class; + bless $io, $class; } # @@ -307,8 +321,8 @@ sub _open_mode_string { } sub fdopen { - @_ == 3 or croak 'usage: $fh->fdopen(FD, MODE)'; - my ($fh, $fd, $mode) = @_; + @_ == 3 or croak 'usage: $io->fdopen(FD, MODE)'; + my ($io, $fd, $mode) = @_; local(*GLOB); if (ref($fd) && "".$fd =~ /GLOB\(/o) { @@ -321,15 +335,15 @@ sub fdopen { $fd = "=$fd"; } - open($fh, _open_mode_string($mode) . '&' . $fd) - ? $fh : undef; + open($io, _open_mode_string($mode) . '&' . $fd) + ? $io : undef; } sub close { - @_ == 1 or croak 'usage: $fh->close()'; - my($fh) = @_; + @_ == 1 or croak 'usage: $io->close()'; + my($io) = @_; - close($fh); + close($io); } ################################################ @@ -340,39 +354,39 @@ sub close { # select sub opened { - @_ == 1 or croak 'usage: $fh->opened()'; + @_ == 1 or croak 'usage: $io->opened()'; defined fileno($_[0]); } sub fileno { - @_ == 1 or croak 'usage: $fh->fileno()'; + @_ == 1 or croak 'usage: $io->fileno()'; fileno($_[0]); } sub getc { - @_ == 1 or croak 'usage: $fh->getc()'; + @_ == 1 or croak 'usage: $io->getc()'; getc($_[0]); } sub eof { - @_ == 1 or croak 'usage: $fh->eof()'; + @_ == 1 or croak 'usage: $io->eof()'; eof($_[0]); } sub print { - @_ or croak 'usage: $fh->print([ARGS])'; + @_ or croak 'usage: $io->print(ARGS)'; my $this = shift; print $this @_; } sub printf { - @_ >= 2 or croak 'usage: $fh->printf(FMT,[ARGS])'; + @_ >= 2 or croak 'usage: $io->printf(FMT,[ARGS])'; my $this = shift; printf $this @_; } sub getline { - @_ == 1 or croak 'usage: $fh->getline'; + @_ == 1 or croak 'usage: $io->getline()'; my $this = shift; return scalar <$this>; } @@ -380,41 +394,43 @@ sub getline { *gets = \&getline; # deprecated sub getlines { - @_ == 1 or croak 'usage: $fh->getline()'; + @_ == 1 or croak 'usage: $io->getlines()'; wantarray or - croak 'Can\'t call $fh->getlines in a scalar context, use $fh->getline'; + croak 'Can\'t call $io->getlines in a scalar context, use $io->getline'; my $this = shift; return <$this>; } sub truncate { - @_ == 2 or croak 'usage: $fh->truncate(LEN)'; + @_ == 2 or croak 'usage: $io->truncate(LEN)'; truncate($_[0], $_[1]); } sub read { - @_ == 3 || @_ == 4 or croak '$fh->read(BUF, LEN [, OFFSET])'; + @_ == 3 || @_ == 4 or croak 'usage: $io->read(BUF, LEN [, OFFSET])'; read($_[0], $_[1], $_[2], $_[3] || 0); } sub sysread { - @_ == 3 || @_ == 4 or croak '$fh->sysread(BUF, LEN [, OFFSET])'; + @_ == 3 || @_ == 4 or croak 'usage: $io->sysread(BUF, LEN [, OFFSET])'; sysread($_[0], $_[1], $_[2], $_[3] || 0); } sub write { - @_ == 3 || @_ == 4 or croak '$fh->write(BUF, LEN [, OFFSET])'; + @_ >= 2 && @_ <= 4 or croak 'usage: $io->write(BUF [, LEN [, OFFSET]])'; local($\) = ""; + $_[2] = length($_[1]) unless defined $_[2]; print { $_[0] } substr($_[1], $_[3] || 0, $_[2]); } sub syswrite { - @_ == 3 || @_ == 4 or croak '$fh->syswrite(BUF, LEN [, OFFSET])'; + @_ >= 2 && @_ <= 4 or croak 'usage: $io->syswrite(BUF [, LEN [, OFFSET]])'; + $_[2] = length($_[1]) unless defined $_[2]; syswrite($_[0], $_[1], $_[2], $_[3] || 0); } sub stat { - @_ == 1 or croak 'usage: $fh->stat()'; + @_ == 1 or croak 'usage: $io->stat()'; stat($_[0]); } @@ -423,32 +439,39 @@ sub stat { ## sub autoflush { - my $old = new SelectSaver qualify($_[0], caller) if ref($_[0]); + my $old = new SelectSaver qualify($_[0], caller); my $prev = $|; $| = @_ > 1 ? $_[1] : 1; $prev; } sub output_field_separator { + carp "output_field_separator is not supported on a per-handle basis" + if ref($_[0]); my $prev = $,; $, = $_[1] if @_ > 1; $prev; } sub output_record_separator { + carp "output_record_separator is not supported on a per-handle basis" + if ref($_[0]); my $prev = $\; $\ = $_[1] if @_ > 1; $prev; } sub input_record_separator { + carp "input_record_separator is not supported on a per-handle basis" + if ref($_[0]); my $prev = $/; $/ = $_[1] if @_ > 1; $prev; } sub input_line_number { - # localizing $. doesn't work as advertised. grrrrrr. + local $.; + my $tell = tell qualify($_[0], caller) if ref($_[0]); my $prev = $.; $. = $_[1] if @_ > 1; $prev; @@ -490,50 +513,82 @@ sub format_top_name { } sub format_line_break_characters { + carp "format_line_break_characters is not supported on a per-handle basis" + if ref($_[0]); my $prev = $:; $: = $_[1] if @_ > 1; $prev; } sub format_formfeed { + carp "format_formfeed is not supported on a per-handle basis" + if ref($_[0]); my $prev = $^L; $^L = $_[1] if @_ > 1; $prev; } sub formline { - my $fh = shift; + my $io = shift; my $picture = shift; local($^A) = $^A; local($\) = ""; formline($picture, @_); - print $fh $^A; + print $io $^A; } sub format_write { - @_ < 3 || croak 'usage: $fh->write( [FORMAT_NAME] )'; + @_ < 3 || croak 'usage: $io->write( [FORMAT_NAME] )'; if (@_ == 2) { - my ($fh, $fmt) = @_; - my $oldfmt = $fh->format_name($fmt); - CORE::write($fh); - $fh->format_name($oldfmt); + my ($io, $fmt) = @_; + my $oldfmt = $io->format_name($fmt); + CORE::write($io); + $io->format_name($oldfmt); } else { CORE::write($_[0]); } } +# XXX undocumented sub fcntl { - @_ == 3 || croak 'usage: $fh->fcntl( OP, VALUE );'; - my ($fh, $op, $val) = @_; - my $r = fcntl($fh, $op, $val); - defined $r && $r eq "0 but true" ? 0 : $r; + @_ == 3 || croak 'usage: $io->fcntl( OP, VALUE );'; + my ($io, $op) = @_; + return fcntl($io, $op, $_[2]); } +# XXX undocumented sub ioctl { - @_ == 3 || croak 'usage: $fh->ioctl( OP, VALUE );'; - my ($fh, $op, $val) = @_; - my $r = ioctl($fh, $op, $val); - defined $r && $r eq "0 but true" ? 0 : $r; + @_ == 3 || croak 'usage: $io->ioctl( OP, VALUE );'; + my ($io, $op) = @_; + return ioctl($io, $op, $_[2]); +} + +# this sub is for compatability with older releases of IO that used +# a sub called constant to detemine if a constant existed -- GMB +# +# The SEEK_* and _IO?BF constants were the only constants at that time +# any new code should just chech defined(&CONSTANT_NAME) + +sub constant { + no strict 'refs'; + my $name = shift; + (($name =~ /^(SEEK_(SET|CUR|END)|_IO[FLN]BF)$/) && defined &{$name}) + ? &{$name}() : undef; +} + + +# so that flush.pl can be depriciated + +sub printflush { + my $io = shift; + my $old = new SelectSaver qualify($io, caller) if ref($io); + local $| = 1; + if(ref($io)) { + print $io @_; + } + else { + print @_; + } } 1; diff --git a/gnu/usr.bin/perl/ext/IO/lib/IO/Pipe.pm b/gnu/usr.bin/perl/ext/IO/lib/IO/Pipe.pm index 23c51b08319..27b5ad03e1a 100644 --- a/gnu/usr.bin/perl/ext/IO/lib/IO/Pipe.pm +++ b/gnu/usr.bin/perl/ext/IO/lib/IO/Pipe.pm @@ -1,20 +1,20 @@ # IO::Pipe.pm # -# Copyright (c) 1996 Graham Barr . All rights -# reserved. This program is free software; you can redistribute it and/or +# Copyright (c) 1996-8 Graham Barr . All rights reserved. +# This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. package IO::Pipe; -require 5.000; +require 5.005_64; use IO::Handle; use strict; -use vars qw($VERSION); +our($VERSION); use Carp; use Symbol; -$VERSION = "1.0902"; +$VERSION = "1.121"; sub new { my $type = shift; @@ -65,7 +65,7 @@ sub _doit { } bless $io, "IO::Handle"; $io->fdopen($fh, $mode); - $fh->close; + $fh->close; if ($do_spawn) { $pid = eval { system 1, @_ }; # 1 == P_NOWAIT @@ -88,8 +88,12 @@ sub _doit { } sub reader { - @_ >= 1 or croak 'usage: $pipe->reader()'; + @_ >= 1 or croak 'usage: $pipe->reader( [SUB_COMMAND_ARGS] )'; my $me = shift; + + return undef + unless(ref($me) || ref($me = $me->new)); + my $fh = ${*$me}[0]; my $pid = $me->_doit(0, $fh, @_) if(@_); @@ -97,6 +101,8 @@ sub reader { close ${*$me}[1]; bless $me, ref($fh); *$me = *$fh; # Alias self to handle + $me->fdopen($fh->fileno,"r") + unless defined($me->fileno); bless $fh; # Really wan't un-bless here ${*$me}{'io_pipe_pid'} = $pid if defined $pid; @@ -105,8 +111,12 @@ sub reader { } sub writer { - @_ >= 1 or croak 'usage: $pipe->writer()'; + @_ >= 1 or croak 'usage: $pipe->writer( [SUB_COMMAND_ARGS] )'; my $me = shift; + + return undef + unless(ref($me) || ref($me = $me->new)); + my $fh = ${*$me}[1]; my $pid = $me->_doit(1, $fh, @_) if(@_); @@ -114,6 +124,8 @@ sub writer { close ${*$me}[0]; bless $me, ref($fh); *$me = *$fh; # Alias self to handle + $me->fdopen($fh->fileno,"w") + unless defined($me->fileno); bless $fh; # Really wan't un-bless here ${*$me}{'io_pipe_pid'} = $pid if defined $pid; @@ -123,7 +135,7 @@ sub writer { package IO::Pipe::End; -use vars qw(@ISA); +our(@ISA); @ISA = qw(IO::Handle); @@ -143,7 +155,7 @@ __END__ =head1 NAME -IO::pipe - supply object methods for pipes +IO::Pipe - supply object methods for pipes =head1 SYNOPSIS @@ -228,12 +240,13 @@ L =head1 AUTHOR -Graham Barr +Graham Barr. Currently maintained by the Perl Porters. Please report all +bugs to . =head1 COPYRIGHT -Copyright (c) 1996 Graham Barr. All rights reserved. This program is free -software; you can redistribute it and/or modify it under the same terms -as Perl itself. +Copyright (c) 1996-8 Graham Barr . All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. =cut diff --git a/gnu/usr.bin/perl/ext/IO/lib/IO/Seekable.pm b/gnu/usr.bin/perl/ext/IO/lib/IO/Seekable.pm index 86154c5722d..e09d48b9bff 100644 --- a/gnu/usr.bin/perl/ext/IO/lib/IO/Seekable.pm +++ b/gnu/usr.bin/perl/ext/IO/lib/IO/Seekable.pm @@ -19,16 +19,17 @@ be inherited by other C based objects. It provides methods which allow seeking of the file descriptors. If the C functions fgetpos() and fsetpos() are available, then -C returns an opaque value that represents the -current position of the IO::File, and C uses +C<$io-Egetpos> returns an opaque value that represents the +current position of the IO::File, and C<$io-Esetpos(POS)> uses that value to return to a previously visited position. See L for complete descriptions of each of the following supported C methods, which are just front ends for the corresponding built-in functions: - seek - tell + $io->seek( POS, WHENCE ) + $io->sysseek( POS, WHENCE ) + $io->tell =head1 SEE ALSO @@ -39,29 +40,37 @@ L =head1 HISTORY -Derived from FileHandle.pm by Graham Barr Ebodg@tiuk.ti.comE +Derived from FileHandle.pm by Graham Barr Egbarr@pobox.comE =cut -require 5.000; +require 5.005_64; use Carp; use strict; -use vars qw($VERSION @EXPORT @ISA); -use IO::Handle qw(SEEK_SET SEEK_CUR SEEK_END); +our($VERSION, @EXPORT, @ISA); +use IO::Handle (); +# XXX we can't get these from IO::Handle or we'll get prototype +# mismatch warnings on C :-( +use Fcntl qw(SEEK_SET SEEK_CUR SEEK_END); require Exporter; @EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END); @ISA = qw(Exporter); -$VERSION = "1.06"; +$VERSION = "1.08"; sub seek { - @_ == 3 or croak 'usage: $fh->seek(POS, WHENCE)'; + @_ == 3 or croak 'usage: $io->seek(POS, WHENCE)'; seek($_[0], $_[1], $_[2]); } +sub sysseek { + @_ == 3 or croak 'usage: $io->sysseek(POS, WHENCE)'; + sysseek($_[0], $_[1], $_[2]); +} + sub tell { - @_ == 1 or croak 'usage: $fh->tell()'; + @_ == 1 or croak 'usage: $io->tell()'; tell($_[0]); } diff --git a/gnu/usr.bin/perl/ext/IO/lib/IO/Socket.pm b/gnu/usr.bin/perl/ext/IO/lib/IO/Socket.pm index 2b4bc49daf7..6884f02cf86 100644 --- a/gnu/usr.bin/perl/ext/IO/lib/IO/Socket.pm +++ b/gnu/usr.bin/perl/ext/IO/lib/IO/Socket.pm @@ -1,129 +1,29 @@ # IO::Socket.pm # -# Copyright (c) 1996 Graham Barr . All rights -# reserved. This program is free software; you can redistribute it and/or +# Copyright (c) 1997-8 Graham Barr . All rights reserved. +# This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. package IO::Socket; -=head1 NAME - -IO::Socket - Object interface to socket communications - -=head1 SYNOPSIS - - use IO::Socket; - -=head1 DESCRIPTION - -C provides an object interface to creating and using sockets. It -is built upon the L interface and inherits all the methods defined -by L. - -C only defines methods for those operations which are common to all -types of socket. Operations which are specified to a socket in a particular -domain have methods defined in sub classes of C - -C will export all functions (and constants) defined by L. - -=head1 CONSTRUCTOR - -=over 4 - -=item new ( [ARGS] ) - -Creates an C, which is a reference to a -newly created symbol (see the C package). C -optionally takes arguments, these arguments are in key-value pairs. -C only looks for one key C which tells new which domain -the socket will be in. All other arguments will be passed to the -configuration method of the package for that domain, See below. - -Cs will be in autoflush mode after creation. Note that -versions of IO::Socket prior to 1.1603 (as shipped with Perl 5.004_04) -did not do this. So if you need backward compatibility, you should -set autoflush explicitly. - -=back - -=head1 METHODS - -See L for complete descriptions of each of the following -supported C methods, which are just front ends for the -corresponding built-in functions: - - socket - socketpair - bind - listen - accept - send - recv - peername (getpeername) - sockname (getsockname) - -Some methods take slightly different arguments to those defined in L -in attempt to make the interface more flexible. These are - -=over 4 - -=item accept([PKG]) - -perform the system call C on the socket and return a new object. The -new object will be created in the same class as the listen socket, unless -C is specified. This object can be used to communicate with the client -that was trying to connect. In a scalar context the new socket is returned, -or undef upon failure. In an array context a two-element array is returned -containing the new socket and the peer address, the list will -be empty upon failure. - -Additional methods that are provided are - -=item timeout([VAL]) - -Set or get the timeout value associated with this socket. If called without -any arguments then the current setting is returned. If called with an argument -the current setting is changed and the previous value returned. - -=item sockopt(OPT [, VAL]) - -Unified method to both set and get options in the SOL_SOCKET level. If called -with one argument then getsockopt is called, otherwise setsockopt is called. - -=item sockdomain - -Returns the numerical number for the socket domain type. For example, for -a AF_INET socket the value of &AF_INET will be returned. - -=item socktype +require 5.005_64; -Returns the numerical number for the socket type. For example, for -a SOCK_STREAM socket the value of &SOCK_STREAM will be returned. - -=item protocol - -Returns the numerical number for the protocol being used on the socket, if -known. If the protocol is unknown, as with an AF_UNIX socket, zero -is returned. - -=back - -=cut - - -require 5.000; - -use Config; use IO::Handle; use Socket 1.3; use Carp; use strict; -use vars qw(@ISA $VERSION); +our(@ISA, $VERSION); use Exporter; +use Errno; + +# legacy + +require IO::Socket::INET; +require IO::Socket::UNIX if ($^O ne 'epoc'); @ISA = qw(IO::Handle); -$VERSION = "1.1603"; +$VERSION = "1.26"; sub import { my $pkg = shift; @@ -133,16 +33,17 @@ sub import { sub new { my($class,%arg) = @_; - my $fh = $class->SUPER::new(); - $fh->autoflush; + my $sock = $class->SUPER::new(); - ${*$fh}{'io_socket_timeout'} = delete $arg{Timeout}; + $sock->autoflush(1); - return scalar(%arg) ? $fh->configure(\%arg) - : $fh; + ${*$sock}{'io_socket_timeout'} = delete $arg{Timeout}; + + return scalar(%arg) ? $sock->configure(\%arg) + : $sock; } -my @domain2pkg = (); +my @domain2pkg; sub register_domain { my($p,$d) = @_; @@ -150,7 +51,7 @@ sub register_domain { } sub configure { - my($fh,$arg) = @_; + my($sock,$arg) = @_; my $domain = delete $arg->{Domain}; croak 'IO::Socket: Cannot configure a generic socket' @@ -160,150 +61,167 @@ sub configure { unless defined $domain2pkg[$domain]; croak "IO::Socket: Cannot configure socket in domain '$domain'" - unless ref($fh) eq "IO::Socket"; + unless ref($sock) eq "IO::Socket"; - bless($fh, $domain2pkg[$domain]); - $fh->configure($arg); + bless($sock, $domain2pkg[$domain]); + $sock->configure($arg); } sub socket { - @_ == 4 or croak 'usage: $fh->socket(DOMAIN, TYPE, PROTOCOL)'; - my($fh,$domain,$type,$protocol) = @_; + @_ == 4 or croak 'usage: $sock->socket(DOMAIN, TYPE, PROTOCOL)'; + my($sock,$domain,$type,$protocol) = @_; - socket($fh,$domain,$type,$protocol) or + socket($sock,$domain,$type,$protocol) or return undef; - ${*$fh}{'io_socket_domain'} = $domain; - ${*$fh}{'io_socket_type'} = $type; - ${*$fh}{'io_socket_proto'} = $protocol; + ${*$sock}{'io_socket_domain'} = $domain; + ${*$sock}{'io_socket_type'} = $type; + ${*$sock}{'io_socket_proto'} = $protocol; - $fh; + $sock; } sub socketpair { - @_ == 4 || croak 'usage: IO::Socket->pair(DOMAIN, TYPE, PROTOCOL)'; + @_ == 4 || croak 'usage: IO::Socket->socketpair(DOMAIN, TYPE, PROTOCOL)'; my($class,$domain,$type,$protocol) = @_; - my $fh1 = $class->new(); - my $fh2 = $class->new(); + my $sock1 = $class->new(); + my $sock2 = $class->new(); - socketpair($fh1,$fh2,$domain,$type,$protocol) or + socketpair($sock1,$sock2,$domain,$type,$protocol) or return (); - ${*$fh1}{'io_socket_type'} = ${*$fh2}{'io_socket_type'} = $type; - ${*$fh1}{'io_socket_proto'} = ${*$fh2}{'io_socket_proto'} = $protocol; + ${*$sock1}{'io_socket_type'} = ${*$sock2}{'io_socket_type'} = $type; + ${*$sock1}{'io_socket_proto'} = ${*$sock2}{'io_socket_proto'} = $protocol; - ($fh1,$fh2); + ($sock1,$sock2); } sub connect { - @_ == 2 || @_ == 3 or croak 'usage: $fh->connect(NAME) or $fh->connect(PORT, ADDR)'; - my $fh = shift; - my $addr = @_ == 1 ? shift : sockaddr_in(@_); - my $timeout = ${*$fh}{'io_socket_timeout'}; - local($SIG{ALRM}) = $timeout ? sub { undef $fh; } - : $SIG{ALRM} || 'DEFAULT'; - - eval { - croak 'connect: Bad address' - if(@_ == 2 && !defined $_[1]); - - if($timeout) { - defined $Config{d_alarm} && defined alarm($timeout) or - $timeout = 0; - } - - my $ok = connect($fh, $addr); - - alarm(0) - if($timeout); + @_ == 2 or croak 'usage: $sock->connect(NAME)'; + my $sock = shift; + my $addr = shift; + my $timeout = ${*$sock}{'io_socket_timeout'}; + my $err; + my $blocking; + $blocking = $sock->blocking(0) if $timeout; + + if (!connect($sock, $addr)) { + if ($timeout && $!{EINPROGRESS}) { + require IO::Select; + + my $sel = new IO::Select $sock; + + if (!$sel->can_write($timeout)) { + $err = $! || (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1); + $@ = "connect: timeout"; + } + elsif(!connect($sock,$addr) && not $!{EISCONN}) { + # Some systems refuse to re-connect() to + # an already open socket and set errno to EISCONN. + $err = $!; + $@ = "connect: $!"; + } + } + else { + $err = $!; + $@ = "connect: $!"; + } + } - croak "connect: timeout" - unless defined $fh; + $sock->blocking(1) if $blocking; - undef $fh unless $ok; - }; + $! = $err if $err; - $fh; + $err ? undef : $sock; } sub bind { - @_ == 2 || @_ == 3 or croak 'usage: $fh->bind(NAME) or $fh->bind(PORT, ADDR)'; - my $fh = shift; - my $addr = @_ == 1 ? shift : sockaddr_in(@_); + @_ == 2 or croak 'usage: $sock->bind(NAME)'; + my $sock = shift; + my $addr = shift; - return bind($fh, $addr) ? $fh - : undef; + return bind($sock, $addr) ? $sock + : undef; } sub listen { - @_ >= 1 && @_ <= 2 or croak 'usage: $fh->listen([QUEUE])'; - my($fh,$queue) = @_; + @_ >= 1 && @_ <= 2 or croak 'usage: $sock->listen([QUEUE])'; + my($sock,$queue) = @_; $queue = 5 unless $queue && $queue > 0; - return listen($fh, $queue) ? $fh - : undef; + return listen($sock, $queue) ? $sock + : undef; } sub accept { - @_ == 1 || @_ == 2 or croak 'usage $fh->accept([PKG])'; - my $fh = shift; - my $pkg = shift || $fh; - my $timeout = ${*$fh}{'io_socket_timeout'}; + @_ == 1 || @_ == 2 or croak 'usage $sock->accept([PKG])'; + my $sock = shift; + my $pkg = shift || $sock; + my $timeout = ${*$sock}{'io_socket_timeout'}; my $new = $pkg->new(Timeout => $timeout); my $peer = undef; - eval { - if($timeout) { - my $fdset = ""; - vec($fdset, $fh->fileno,1) = 1; - croak "accept: timeout" - unless select($fdset,undef,undef,$timeout); - } - $peer = accept($new,$fh); - }; - - return wantarray ? defined $peer ? ($new, $peer) - : () - : defined $peer ? $new - : undef; + if($timeout) { + require IO::Select; + + my $sel = new IO::Select $sock; + + unless ($sel->can_read($timeout)) { + $@ = 'accept: timeout'; + $! = (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1); + return; + } + } + + $peer = accept($new,$sock) + or return; + + return wantarray ? ($new, $peer) + : $new; } sub sockname { - @_ == 1 or croak 'usage: $fh->sockname()'; + @_ == 1 or croak 'usage: $sock->sockname()'; getsockname($_[0]); } sub peername { - @_ == 1 or croak 'usage: $fh->peername()'; - my($fh) = @_; - getpeername($fh) - || ${*$fh}{'io_socket_peername'} + @_ == 1 or croak 'usage: $sock->peername()'; + my($sock) = @_; + getpeername($sock) + || ${*$sock}{'io_socket_peername'} || undef; } +sub connected { + @_ == 1 or croak 'usage: $sock->connected()'; + my($sock) = @_; + getpeername($sock); +} + sub send { - @_ >= 2 && @_ <= 4 or croak 'usage: $fh->send(BUF, [FLAGS, [TO]])'; - my $fh = $_[0]; + @_ >= 2 && @_ <= 4 or croak 'usage: $sock->send(BUF, [FLAGS, [TO]])'; + my $sock = $_[0]; my $flags = $_[2] || 0; - my $peer = $_[3] || $fh->peername; + my $peer = $_[3] || $sock->peername; croak 'send: Cannot determine peer address' unless($peer); - my $r = defined(getpeername($fh)) - ? send($fh, $_[1], $flags) - : send($fh, $_[1], $flags, $peer); + my $r = defined(getpeername($sock)) + ? send($sock, $_[1], $flags) + : send($sock, $_[1], $flags, $peer); # remember who we send to, if it was sucessful - ${*$fh}{'io_socket_peername'} = $peer + ${*$sock}{'io_socket_peername'} = $peer if(@_ == 4 && defined $r); $r; } sub recv { - @_ == 3 || @_ == 4 or croak 'usage: $fh->recv(BUF, LEN [, FLAGS])'; + @_ == 3 || @_ == 4 or croak 'usage: $sock->recv(BUF, LEN [, FLAGS])'; my $sock = $_[0]; my $len = $_[2]; my $flags = $_[3] || 0; @@ -312,16 +230,21 @@ sub recv { ${*$sock}{'io_socket_peername'} = recv($sock, $_[1]='', $len, $flags); } +sub shutdown { + @_ == 2 or croak 'usage: $sock->shutdown(HOW)'; + my($sock, $how) = @_; + shutdown($sock, $how); +} sub setsockopt { - @_ == 4 or croak '$fh->setsockopt(LEVEL, OPTNAME)'; + @_ == 4 or croak '$sock->setsockopt(LEVEL, OPTNAME)'; setsockopt($_[0],$_[1],$_[2],$_[3]); } my $intsize = length(pack("i",0)); sub getsockopt { - @_ == 3 or croak '$fh->getsockopt(LEVEL, OPTNAME)'; + @_ == 3 or croak '$sock->getsockopt(LEVEL, OPTNAME)'; my $r = getsockopt($_[0],$_[1],$_[2]); # Just a guess $r = unpack("i", $r) @@ -330,399 +253,176 @@ sub getsockopt { } sub sockopt { - my $fh = shift; - @_ == 1 ? $fh->getsockopt(SOL_SOCKET,@_) - : $fh->setsockopt(SOL_SOCKET,@_); + my $sock = shift; + @_ == 1 ? $sock->getsockopt(SOL_SOCKET,@_) + : $sock->setsockopt(SOL_SOCKET,@_); } sub timeout { - @_ == 1 || @_ == 2 or croak 'usage: $fh->timeout([VALUE])'; - my($fh,$val) = @_; - my $r = ${*$fh}{'io_socket_timeout'} || undef; + @_ == 1 || @_ == 2 or croak 'usage: $sock->timeout([VALUE])'; + my($sock,$val) = @_; + my $r = ${*$sock}{'io_socket_timeout'} || undef; - ${*$fh}{'io_socket_timeout'} = 0 + $val + ${*$sock}{'io_socket_timeout'} = 0 + $val if(@_ == 2); $r; } sub sockdomain { - @_ == 1 or croak 'usage: $fh->sockdomain()'; - my $fh = shift; - ${*$fh}{'io_socket_domain'}; + @_ == 1 or croak 'usage: $sock->sockdomain()'; + my $sock = shift; + ${*$sock}{'io_socket_domain'}; } sub socktype { - @_ == 1 or croak 'usage: $fh->socktype()'; - my $fh = shift; - ${*$fh}{'io_socket_type'} + @_ == 1 or croak 'usage: $sock->socktype()'; + my $sock = shift; + ${*$sock}{'io_socket_type'} } sub protocol { - @_ == 1 or croak 'usage: $fh->protocol()'; - my($fh) = @_; - ${*$fh}{'io_socket_protocol'}; + @_ == 1 or croak 'usage: $sock->protocol()'; + my($sock) = @_; + ${*$sock}{'io_socket_proto'}; } -=head1 SUB-CLASSES - -=cut - -## -## AF_INET -## - -package IO::Socket::INET; - -use strict; -use vars qw(@ISA); -use Socket; -use Carp; -use Exporter; - -@ISA = qw(IO::Socket); - -IO::Socket::INET->register_domain( AF_INET ); - -my %socket_type = ( tcp => SOCK_STREAM, - udp => SOCK_DGRAM, - icmp => SOCK_RAW, - ); - -=head2 IO::Socket::INET - -C provides a constructor to create an AF_INET domain socket -and some related methods. The constructor can take the following options - - PeerAddr Remote host address [:] - PeerPort Remote port or service [()] | - LocalAddr Local host bind address hostname[:port] - LocalPort Local host bind port [()] | - Proto Protocol name (or number) "tcp" | "udp" | ... - Type Socket type SOCK_STREAM | SOCK_DGRAM | ... - Listen Queue size for listen - Reuse Set SO_REUSEADDR before binding - Timeout Timeout value for various operations - +1; -If C is defined then a listen socket is created, else if the -socket type, which is derived from the protocol, is SOCK_STREAM then -connect() is called. +__END__ -The C can be a hostname or the IP-address on the -"xx.xx.xx.xx" form. The C can be a number or a symbolic -service name. The service name might be followed by a number in -parenthesis which is used if the service is not known by the system. -The C specification can also be embedded in the C -by preceding it with a ":". - -If C is not given and you specify a symbolic C port, -then the constructor will try to derive C from the service -name. As a last resort C "tcp" is assumed. The C -parameter will be deduced from C if not specified. +=head1 NAME -If the constructor is only passed a single argument, it is assumed to -be a C specification. +IO::Socket - Object interface to socket communications -Examples: +=head1 SYNOPSIS - $sock = IO::Socket::INET->new(PeerAddr => 'www.perl.org', - PeerPort => 'http(80)', - Proto => 'tcp'); + use IO::Socket; - $sock = IO::Socket::INET->new(PeerAddr => 'localhost:smtp(25)'); +=head1 DESCRIPTION - $sock = IO::Socket::INET->new(Listen => 5, - LocalAddr => 'localhost', - LocalPort => 9000, - Proto => 'tcp'); +C provides an object interface to creating and using sockets. It +is built upon the L interface and inherits all the methods defined +by L. - $sock = IO::Socket::INET->new('127.0.0.1:25'); +C only defines methods for those operations which are common to all +types of socket. Operations which are specified to a socket in a particular +domain have methods defined in sub classes of C +C will export all functions (and constants) defined by L. -=head2 METHODS +=head1 CONSTRUCTOR =over 4 -=item sockaddr () - -Return the address part of the sockaddr structure for the socket - -=item sockport () - -Return the port number that the socket is using on the local host - -=item sockhost () - -Return the address part of the sockaddr structure for the socket in a -text form xx.xx.xx.xx - -=item peeraddr () - -Return the address part of the sockaddr structure for the socket on -the peer host +=item new ( [ARGS] ) -=item peerport () +Creates an C, which is a reference to a +newly created symbol (see the C package). C +optionally takes arguments, these arguments are in key-value pairs. +C only looks for one key C which tells new which domain +the socket will be in. All other arguments will be passed to the +configuration method of the package for that domain, See below. -Return the port number for the socket on the peer host. + NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE -=item peerhost () +As of VERSION 1.18 all IO::Socket objects have autoflush turned on +by default. This was not the case with earlier releases. -Return the address part of the sockaddr structure for the socket on the -peer host in a text form xx.xx.xx.xx + NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE =back -=cut - -sub new -{ - my $class = shift; - unshift(@_, "PeerAddr") if @_ == 1; - return $class->SUPER::new(@_); -} - -sub _sock_info { - my($addr,$port,$proto) = @_; - my @proto = (); - my @serv = (); - - $port = $1 - if(defined $addr && $addr =~ s,:([\w\(\)/]+)$,,); - - if(defined $proto) { - @proto = $proto =~ m,\D, ? getprotobyname($proto) - : getprotobynumber($proto); - - $proto = $proto[2] || undef; - } - - if(defined $port) { - $port =~ s,\((\d+)\)$,,; - - my $defport = $1 || undef; - my $pnum = ($port =~ m,^(\d+)$,)[0]; - - @serv= getservbyname($port, $proto[0] || "") - if($port =~ m,\D,); - - $port = $pnum || $serv[2] || $defport || undef; - - $proto = (getprotobyname($serv[3]))[2] || undef - if @serv && !$proto; - } - - return ($addr || undef, - $port || undef, - $proto || undef - ); -} - -sub _error { - my $fh = shift; - $@ = join("",ref($fh),": ",@_); - carp $@ if $^W; - close($fh) - if(defined fileno($fh)); - return undef; -} - -sub configure { - my($fh,$arg) = @_; - my($lport,$rport,$laddr,$raddr,$proto,$type); - - - ($laddr,$lport,$proto) = _sock_info($arg->{LocalAddr}, - $arg->{LocalPort}, - $arg->{Proto}); - - $laddr = defined $laddr ? inet_aton($laddr) - : INADDR_ANY; - - return _error($fh,"Bad hostname '",$arg->{LocalAddr},"'") - unless(defined $laddr); - - unless(exists $arg->{Listen}) { - ($raddr,$rport,$proto) = _sock_info($arg->{PeerAddr}, - $arg->{PeerPort}, - $proto); - } - - if(defined $raddr) { - $raddr = inet_aton($raddr); - return _error($fh,"Bad hostname '",$arg->{PeerAddr},"'") - unless(defined $raddr); - } - - $proto ||= (getprotobyname "tcp")[2]; - return _error($fh,'Cannot determine protocol') - unless($proto); - - my $pname = (getprotobynumber($proto))[0]; - $type = $arg->{Type} || $socket_type{$pname}; - - $fh->socket(AF_INET, $type, $proto) or - return _error($fh,"$!"); - - if ($arg->{Reuse}) { - $fh->sockopt(SO_REUSEADDR,1) or - return _error($fh); - } - - $fh->bind($lport || 0, $laddr) or - return _error($fh,"$!"); - - if(exists $arg->{Listen}) { - $fh->listen($arg->{Listen} || 5) or - return _error($fh,"$!"); - } - else { - return _error($fh,'Cannot determine remote port') - unless($rport || $type == SOCK_DGRAM || $type == SOCK_RAW); - - if($type == SOCK_STREAM || defined $raddr) { - return _error($fh,'Bad peer address') - unless(defined $raddr); - - $fh->connect($rport,$raddr) or - return _error($fh,"$!"); - } - } - - $fh; -} - -sub sockaddr { - @_ == 1 or croak 'usage: $fh->sockaddr()'; - my($fh) = @_; - (sockaddr_in($fh->sockname))[1]; -} - -sub sockport { - @_ == 1 or croak 'usage: $fh->sockport()'; - my($fh) = @_; - (sockaddr_in($fh->sockname))[0]; -} - -sub sockhost { - @_ == 1 or croak 'usage: $fh->sockhost()'; - my($fh) = @_; - inet_ntoa($fh->sockaddr); -} - -sub peeraddr { - @_ == 1 or croak 'usage: $fh->peeraddr()'; - my($fh) = @_; - (sockaddr_in($fh->peername))[1]; -} - -sub peerport { - @_ == 1 or croak 'usage: $fh->peerport()'; - my($fh) = @_; - (sockaddr_in($fh->peername))[0]; -} +=head1 METHODS -sub peerhost { - @_ == 1 or croak 'usage: $fh->peerhost()'; - my($fh) = @_; - inet_ntoa($fh->peeraddr); -} +See L for complete descriptions of each of the following +supported C methods, which are just front ends for the +corresponding built-in functions: -## -## AF_UNIX -## + socket + socketpair + bind + listen + accept + send + recv + peername (getpeername) + sockname (getsockname) + shutdown -package IO::Socket::UNIX; +Some methods take slightly different arguments to those defined in L +in attempt to make the interface more flexible. These are -use strict; -use vars qw(@ISA $VERSION); -use Socket; -use Carp; -use Exporter; +=over 4 -@ISA = qw(IO::Socket); +=item accept([PKG]) -IO::Socket::UNIX->register_domain( AF_UNIX ); +perform the system call C on the socket and return a new object. The +new object will be created in the same class as the listen socket, unless +C is specified. This object can be used to communicate with the client +that was trying to connect. In a scalar context the new socket is returned, +or undef upon failure. In an array context a two-element array is returned +containing the new socket and the peer address; the list will +be empty upon failure. -=head2 IO::Socket::UNIX +=item socketpair(DOMAIN, TYPE, PROTOCOL) -C provides a constructor to create an AF_UNIX domain socket -and some related methods. The constructor can take the following options +Call C and return a list of two sockets created, or an +empty list on failure. - Type Type of socket (eg SOCK_STREAM or SOCK_DGRAM) - Local Path to local fifo - Peer Path to peer fifo - Listen Create a listen socket +=back -=head2 METHODS +Additional methods that are provided are: =over 4 -=item hostpath() +=item timeout([VAL]) -Returns the pathname to the fifo at the local end +Set or get the timeout value associated with this socket. If called without +any arguments then the current setting is returned. If called with an argument +the current setting is changed and the previous value returned. -=item peerpath() +=item sockopt(OPT [, VAL]) -Returns the pathname to the fifo at the peer end +Unified method to both set and get options in the SOL_SOCKET level. If called +with one argument then getsockopt is called, otherwise setsockopt is called. -=back +=item sockdomain -=cut +Returns the numerical number for the socket domain type. For example, for +a AF_INET socket the value of &AF_INET will be returned. -sub configure { - my($fh,$arg) = @_; - my($bport,$cport); +=item socktype - my $type = $arg->{Type} || SOCK_STREAM; +Returns the numerical number for the socket type. For example, for +a SOCK_STREAM socket the value of &SOCK_STREAM will be returned. - $fh->socket(AF_UNIX, $type, 0) or - return undef; +=item protocol - if(exists $arg->{Local}) { - my $addr = sockaddr_un($arg->{Local}); - $fh->bind($addr) or - return undef; - } - if(exists $arg->{Listen}) { - $fh->listen($arg->{Listen} || 5) or - return undef; - } - elsif(exists $arg->{Peer}) { - my $addr = sockaddr_un($arg->{Peer}); - $fh->connect($addr) or - return undef; - } +Returns the numerical number for the protocol being used on the socket, if +known. If the protocol is unknown, as with an AF_UNIX socket, zero +is returned. - $fh; -} +=item connected -sub hostpath { - @_ == 1 or croak 'usage: $fh->hostpath()'; - my $n = $_[0]->sockname || return undef; - (sockaddr_un($n))[0]; -} +If the socket is in a connected state the the peer address is returned. +If the socket is not in a connected state then undef will be returned. -sub peerpath { - @_ == 1 or croak 'usage: $fh->peerpath()'; - my $n = $_[0]->peername || return undef; - (sockaddr_un($n))[0]; -} +=back =head1 SEE ALSO -L, L +L, L, L, L =head1 AUTHOR -Graham Barr EFE +Graham Barr. Currently maintained by the Perl Porters. Please report all +bugs to . =head1 COPYRIGHT -Copyright (c) 1996 Graham Barr. All rights reserved. This program is free -software; you can redistribute it and/or modify it under the same terms -as Perl itself. +Copyright (c) 1997-8 Graham Barr . All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. =cut - -1; # Keep require happy diff --git a/gnu/usr.bin/perl/ext/IPC/SysV/Makefile.PL b/gnu/usr.bin/perl/ext/IPC/SysV/Makefile.PL index 51715e78279..b7c5133866e 100644 --- a/gnu/usr.bin/perl/ext/IPC/SysV/Makefile.PL +++ b/gnu/usr.bin/perl/ext/IPC/SysV/Makefile.PL @@ -1,5 +1,5 @@ # This -*- perl -*- script makes the Makefile -# $Id: Makefile.PL,v 1.2 1999/04/29 22:51:30 millert Exp $ +# $Id: Makefile.PL,v 1.3 2000/04/06 17:05:23 millert Exp $ require 5.002; use ExtUtils::MakeMaker; diff --git a/gnu/usr.bin/perl/ext/NDBM_File/NDBM_File.pm b/gnu/usr.bin/perl/ext/NDBM_File/NDBM_File.pm index ed4fe2b36f9..f98669f4860 100644 --- a/gnu/usr.bin/perl/ext/NDBM_File/NDBM_File.pm +++ b/gnu/usr.bin/perl/ext/NDBM_File/NDBM_File.pm @@ -5,16 +5,14 @@ BEGIN { use strict; } } -use vars qw($VERSION @ISA); require Tie::Hash; -require DynaLoader; +use XSLoader (); -@ISA = qw(Tie::Hash DynaLoader); +our @ISA = qw(Tie::Hash); +our $VERSION = "1.03"; -$VERSION = "1.01"; - -bootstrap NDBM_File $VERSION; +XSLoader::load 'NDBM_File', $VERSION; 1; @@ -35,6 +33,6 @@ NDBM_File - Tied access to ndbm files =head1 DESCRIPTION -See L +See L, L =cut diff --git a/gnu/usr.bin/perl/ext/NDBM_File/typemap b/gnu/usr.bin/perl/ext/NDBM_File/typemap index 317a8f3886c..eeb5d59027f 100644 --- a/gnu/usr.bin/perl/ext/NDBM_File/typemap +++ b/gnu/usr.bin/perl/ext/NDBM_File/typemap @@ -2,7 +2,8 @@ #################################### DBM SECTION # -datum T_DATUM +datum_key T_DATUM_K +datum_value T_DATUM_V gdatum T_GDATUM NDBM_File T_PTROBJ GDBM_File T_PTROBJ @@ -13,14 +14,23 @@ DBZ_File T_PTROBJ FATALFUNC T_OPAQUEPTR INPUT -T_DATUM +T_DATUM_K + ckFilter($arg, filter_store_key, \"filter_store_key\"); + $var.dptr = SvPV($arg, PL_na); + $var.dsize = (int)PL_na; +T_DATUM_V + ckFilter($arg, filter_store_value, \"filter_store_value\"); $var.dptr = SvPV($arg, PL_na); $var.dsize = (int)PL_na; T_GDATUM UNIMPLEMENTED OUTPUT -T_DATUM +T_DATUM_K + sv_setpvn($arg, $var.dptr, $var.dsize); + ckFilter($arg, filter_fetch_key,\"filter_fetch_key\"); +T_DATUM_V sv_setpvn($arg, $var.dptr, $var.dsize); + ckFilter($arg, filter_fetch_value,\"filter_fetch_value\"); T_GDATUM sv_usepvn($arg, $var.dptr, $var.dsize); T_PTROBJ diff --git a/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.pm b/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.pm index 923640ff348..57fe4c352dd 100644 --- a/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.pm +++ b/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.pm @@ -1,16 +1,14 @@ package ODBM_File; use strict; -use vars qw($VERSION @ISA); require Tie::Hash; -require DynaLoader; +use XSLoader (); -@ISA = qw(Tie::Hash DynaLoader); +our @ISA = qw(Tie::Hash); +our $VERSION = "1.02"; -$VERSION = "1.00"; - -bootstrap ODBM_File $VERSION; +XSLoader::load 'ODBM_File', $VERSION; 1; @@ -30,6 +28,6 @@ ODBM_File - Tied access to odbm files =head1 DESCRIPTION -See L +See L, L =cut diff --git a/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.xs b/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.xs index 892c038a9ce..150f2ef8947 100644 --- a/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.xs +++ b/gnu/usr.bin/perl/ext/ODBM_File/ODBM_File.xs @@ -2,9 +2,6 @@ #include "perl.h" #include "XSUB.h" -#ifdef NULL -#undef NULL /* XXX Why? */ -#endif #ifdef I_DBM # include #else @@ -30,7 +27,37 @@ #include -typedef void* ODBM_File; +typedef struct { + void * dbp ; + SV * filter_fetch_key ; + SV * filter_store_key ; + SV * filter_fetch_value ; + SV * filter_store_value ; + int filtering ; + } ODBM_File_type; + +typedef ODBM_File_type * ODBM_File ; +typedef datum datum_key ; +typedef datum datum_value ; + +#define ckFilter(arg,type,name) \ + if (db->type) { \ + SV * save_defsv ; \ + /* printf("filtering %s\n", name) ;*/ \ + if (db->filtering) \ + croak("recursion detected in %s", name) ; \ + db->filtering = TRUE ; \ + save_defsv = newSVsv(DEFSV) ; \ + sv_setsv(DEFSV, arg) ; \ + PUSHMARK(sp) ; \ + (void) perl_call_sv(db->type, G_DISCARD|G_NOARGS); \ + sv_setsv(arg, DEFSV) ; \ + sv_setsv(DEFSV, save_defsv) ; \ + SvREFCNT_dec(save_defsv) ; \ + db->filtering = FALSE ; \ + /*printf("end of filtering %s\n", name) ;*/ \ + } + #define odbm_FETCH(db,key) fetch(key) #define odbm_STORE(db,key,value,flags) store(key,value) @@ -46,10 +73,6 @@ static int dbmrefcnt; MODULE = ODBM_File PACKAGE = ODBM_File PREFIX = odbm_ -#ifndef NULL -# define NULL 0 -#endif - ODBM_File odbm_TIEHASH(dbtype, filename, flags, mode) char * dbtype @@ -59,6 +82,7 @@ odbm_TIEHASH(dbtype, filename, flags, mode) CODE: { char *tmpbuf; + void * dbp ; if (dbmrefcnt++) croak("Old dbm can only open one database"); New(0, tmpbuf, strlen(filename) + 5, char); @@ -75,7 +99,10 @@ odbm_TIEHASH(dbtype, filename, flags, mode) else croak("ODBM_FILE: Can't open %s", filename); } - RETVAL = (void*)(dbminit(filename) >= 0 ? &dbmrefcnt : 0); + dbp = (void*)(dbminit(filename) >= 0 ? &dbmrefcnt : 0); + RETVAL = (ODBM_File)safemalloc(sizeof(ODBM_File_type)) ; + Zero(RETVAL, 1, ODBM_File_type) ; + RETVAL->dbp = dbp ; ST(0) = sv_mortalcopy(&PL_sv_undef); sv_setptrobj(ST(0), RETVAL, dbtype); } @@ -86,17 +113,18 @@ DESTROY(db) CODE: dbmrefcnt--; dbmclose(); + safefree(db); -datum +datum_value odbm_FETCH(db, key) ODBM_File db - datum key + datum_key key int odbm_STORE(db, key, value, flags = DBM_REPLACE) ODBM_File db - datum key - datum value + datum_key key + datum_value value int flags CLEANUP: if (RETVAL) { @@ -109,14 +137,66 @@ odbm_STORE(db, key, value, flags = DBM_REPLACE) int odbm_DELETE(db, key) ODBM_File db - datum key + datum_key key -datum +datum_key odbm_FIRSTKEY(db) ODBM_File db -datum +datum_key odbm_NEXTKEY(db, key) ODBM_File db - datum key + datum_key key + + +#define setFilter(type) \ + { \ + if (db->type) \ + RETVAL = sv_mortalcopy(db->type) ; \ + ST(0) = RETVAL ; \ + if (db->type && (code == &PL_sv_undef)) { \ + SvREFCNT_dec(db->type) ; \ + db->type = Nullsv ; \ + } \ + else if (code) { \ + if (db->type) \ + sv_setsv(db->type, code) ; \ + else \ + db->type = newSVsv(code) ; \ + } \ + } + + + +SV * +filter_fetch_key(db, code) + ODBM_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_fetch_key) ; + +SV * +filter_store_key(db, code) + ODBM_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_store_key) ; + +SV * +filter_fetch_value(db, code) + ODBM_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_fetch_value) ; + +SV * +filter_store_value(db, code) + ODBM_File db + SV * code + SV * RETVAL = &PL_sv_undef ; + CODE: + setFilter(filter_store_value) ; diff --git a/gnu/usr.bin/perl/ext/Opcode/Opcode.pm b/gnu/usr.bin/perl/ext/Opcode/Opcode.pm index 0ee6be69559..9338d392fae 100644 --- a/gnu/usr.bin/perl/ext/Opcode/Opcode.pm +++ b/gnu/usr.bin/perl/ext/Opcode/Opcode.pm @@ -1,8 +1,8 @@ package Opcode; -require 5.002; +require 5.005_64; -use vars qw($VERSION $XS_VERSION @ISA @EXPORT_OK); +our($VERSION, $XS_VERSION, @ISA, @EXPORT_OK); $VERSION = "1.04"; $XS_VERSION = "1.03"; @@ -10,8 +10,8 @@ $XS_VERSION = "1.03"; use strict; use Carp; use Exporter (); -use DynaLoader (); -@ISA = qw(Exporter DynaLoader); +use XSLoader (); +@ISA = qw(Exporter); BEGIN { @EXPORT_OK = qw( @@ -28,7 +28,7 @@ sub opset_to_hex ($); sub opdump (;$); use subs @EXPORT_OK; -bootstrap Opcode $XS_VERSION; +XSLoader::load 'Opcode', $XS_VERSION; _init_optags(); @@ -130,7 +130,7 @@ Your mileage will vary. If in any doubt B. =head1 Operator Names and Operator Lists The canonical list of operator names is the contents of the array -op_name defined and initialised in file F of the Perl +PL_op_name defined and initialised in file F of the Perl source distribution (and installed into the perl library). Each operator has both a terse name (its opname) and a more verbose or @@ -332,11 +332,11 @@ invert_opset function. cond_expr flip flop andassign orassign and or xor - warn die lineseq nextstate unstack scope enter leave + warn die lineseq nextstate scope enter leave setstate rv2cv anoncode prototype - entersub leavesub return method -- XXX loops via recursion? + entersub leavesub leavesublv return method method_named -- XXX loops via recursion? leaveeval -- needed for Safe to operate, is safe without entereval @@ -365,7 +365,7 @@ used to implement a resource attack (e.g., consume all available CPU time). grepstart grepwhile mapstart mapwhile enteriter iter - enterloop leaveloop + enterloop leaveloop unstack last next redo goto diff --git a/gnu/usr.bin/perl/ext/Opcode/Opcode.xs b/gnu/usr.bin/perl/ext/Opcode/Opcode.xs index e93b90046a3..581cbc94d93 100644 --- a/gnu/usr.bin/perl/ext/Opcode/Opcode.xs +++ b/gnu/usr.bin/perl/ext/Opcode/Opcode.xs @@ -1,3 +1,4 @@ +#define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" @@ -11,11 +12,11 @@ static SV *opset_all; /* mask with all bits set */ static IV opset_len; /* length of opmasks in bytes */ static int opcode_debug = 0; -static SV *new_opset _((SV *old_opset)); -static int verify_opset _((SV *opset, int fatal)); -static void set_opset_bits _((char *bitmap, SV *bitspec, int on, char *opname)); -static void put_op_bitspec _((char *optag, STRLEN len, SV *opset)); -static SV *get_op_bitspec _((char *opname, STRLEN len, int fatal)); +static SV *new_opset (pTHX_ SV *old_opset); +static int verify_opset (pTHX_ SV *opset, int fatal); +static void set_opset_bits (pTHX_ char *bitmap, SV *bitspec, int on, char *opname); +static void put_op_bitspec (pTHX_ char *optag, STRLEN len, SV *opset); +static SV *get_op_bitspec (pTHX_ char *opname, STRLEN len, int fatal); /* Initialise our private op_named_bits HV. @@ -27,7 +28,7 @@ static SV *get_op_bitspec _((char *opname, STRLEN len, int fatal)); */ static void -op_names_init(void) +op_names_init(pTHX) { int i; STRLEN len; @@ -43,16 +44,16 @@ op_names_init(void) hv_store(op_named_bits, op_names[i], strlen(op_names[i]), sv, 0); } - put_op_bitspec(":none",0, sv_2mortal(new_opset(Nullsv))); + put_op_bitspec(aTHX_ ":none",0, sv_2mortal(new_opset(aTHX_ Nullsv))); - opset_all = new_opset(Nullsv); + opset_all = new_opset(aTHX_ Nullsv); bitmap = SvPV(opset_all, len); i = len-1; /* deal with last byte specially, see below */ while(i-- > 0) bitmap[i] = 0xFF; /* Take care to set the right number of bits in the last byte */ bitmap[len-1] = (PL_maxo & 0x07) ? ~(0xFF << (PL_maxo & 0x07)) : 0xFF; - put_op_bitspec(":all",0, opset_all); /* don't mortalise */ + put_op_bitspec(aTHX_ ":all",0, opset_all); /* don't mortalise */ } @@ -62,10 +63,10 @@ op_names_init(void) */ static void -put_op_bitspec(char *optag, STRLEN len, SV *mask) +put_op_bitspec(pTHX_ char *optag, STRLEN len, SV *mask) { SV **svp; - verify_opset(mask,1); + verify_opset(aTHX_ mask,1); if (!len) len = strlen(optag); svp = hv_fetch(op_named_bits, optag, len, 1); @@ -83,7 +84,7 @@ put_op_bitspec(char *optag, STRLEN len, SV *mask) */ static SV * -get_op_bitspec(char *opname, STRLEN len, int fatal) +get_op_bitspec(pTHX_ char *opname, STRLEN len, int fatal) { SV **svp; if (!len) @@ -106,11 +107,11 @@ get_op_bitspec(char *opname, STRLEN len, int fatal) static SV * -new_opset(SV *old_opset) +new_opset(pTHX_ SV *old_opset) { SV *opset; if (old_opset) { - verify_opset(old_opset,1); + verify_opset(aTHX_ old_opset,1); opset = newSVsv(old_opset); } else { @@ -125,7 +126,7 @@ new_opset(SV *old_opset) static int -verify_opset(SV *opset, int fatal) +verify_opset(pTHX_ SV *opset, int fatal) { char *err = Nullch; if (!SvOK(opset)) err = "undefined"; @@ -139,7 +140,7 @@ verify_opset(SV *opset, int fatal) static void -set_opset_bits(char *bitmap, SV *bitspec, int on, char *opname) +set_opset_bits(pTHX_ char *bitmap, SV *bitspec, int on, char *opname) { if (SvIOK(bitspec)) { int myopcode = SvIV(bitspec); @@ -173,14 +174,14 @@ set_opset_bits(char *bitmap, SV *bitspec, int on, char *opname) static void -opmask_add(SV *opset) /* THE ONLY FUNCTION TO EDIT PL_op_mask ITSELF */ +opmask_add(pTHX_ SV *opset) /* THE ONLY FUNCTION TO EDIT PL_op_mask ITSELF */ { int i,j; char *bitmask; STRLEN len; int myopcode = 0; - verify_opset(opset,1); /* croaks on bad opset */ + verify_opset(aTHX_ opset,1); /* croaks on bad opset */ if (!PL_op_mask) /* caller must ensure PL_op_mask exists */ croak("Can't add to uninitialised PL_op_mask"); @@ -200,23 +201,23 @@ opmask_add(SV *opset) /* THE ONLY FUNCTION TO EDIT PL_op_mask ITSELF */ } static void -opmask_addlocal(SV *opset, char *op_mask_buf) /* Localise PL_op_mask then opmask_add() */ +opmask_addlocal(pTHX_ SV *opset, char *op_mask_buf) /* Localise PL_op_mask then opmask_add() */ { char *orig_op_mask = PL_op_mask; - SAVEPPTR(PL_op_mask); + SAVEVPTR(PL_op_mask); #if !defined(PERL_OBJECT) /* XXX casting to an ordinary function ptr from a member function ptr * is disallowed by Borland */ if (opcode_debug >= 2) - SAVEDESTRUCTOR((void(CPERLscope(*))_((void*)))warn,"PL_op_mask restored"); + SAVEDESTRUCTOR((void(*)(void*))Perl_warn,"PL_op_mask restored"); #endif PL_op_mask = &op_mask_buf[0]; if (orig_op_mask) Copy(orig_op_mask, PL_op_mask, PL_maxo, char); else Zero(PL_op_mask, PL_maxo, char); - opmask_add(opset); + opmask_add(aTHX_ opset); } @@ -230,7 +231,7 @@ BOOT: opset_len = (PL_maxo + 7) / 8; if (opcode_debug >= 1) warn("opset_len %ld\n", (long)opset_len); - op_names_init(); + op_names_init(aTHX); void @@ -244,7 +245,7 @@ PPCODE: ENTER; - opmask_addlocal(mask, op_mask_buf); + opmask_addlocal(aTHX_ mask, op_mask_buf); save_aptr(&PL_endav); PL_endav = (AV*)sv_2mortal((SV*)newAV()); /* ignore END blocks for now */ @@ -252,6 +253,8 @@ PPCODE: save_hptr(&PL_defstash); /* save current default stack */ /* the assignment to global defstash changes our sense of 'main' */ PL_defstash = gv_stashpv(Package, GV_ADDWARN); /* should exist already */ + save_hptr(&PL_curstash); + PL_curstash = PL_defstash; /* defstash must itself contain a main:: so we'll add that now */ /* take care with the ref counts (was cause of long standing bug) */ @@ -270,7 +273,10 @@ int verify_opset(opset, fatal = 0) SV *opset int fatal - +CODE: + RETVAL = verify_opset(aTHX_ opset,fatal); +OUTPUT: + RETVAL void invert_opset(opset) @@ -279,7 +285,7 @@ CODE: { char *bitmap; STRLEN len = opset_len; - opset = sv_2mortal(new_opset(opset)); /* verify and clone opset */ + opset = sv_2mortal(new_opset(aTHX_ opset)); /* verify and clone opset */ bitmap = SvPVX(opset); while(len-- > 0) bitmap[len] = ~bitmap[len]; @@ -300,7 +306,7 @@ PPCODE: int i, j, myopcode; char *bitmap = SvPV(opset, len); char **names = (desc) ? get_op_descs() : get_op_names(); - verify_opset(opset,1); + verify_opset(aTHX_ opset,1); for (myopcode=0, i=0; i < opset_len; i++) { U16 bits = bitmap[i]; for (j=0; j < 8 && myopcode < PL_maxo; j++, myopcode++) { @@ -318,21 +324,21 @@ CODE: SV *bitspec, *opset; char *bitmap; STRLEN len, on; - opset = sv_2mortal(new_opset(Nullsv)); + opset = sv_2mortal(new_opset(aTHX_ Nullsv)); bitmap = SvPVX(opset); for (i = 0; i < items; i++) { char *opname; on = 1; - if (verify_opset(ST(i),0)) { + if (verify_opset(aTHX_ ST(i),0)) { opname = "(opset)"; bitspec = ST(i); } else { opname = SvPV(ST(i), len); if (*opname == '!') { on=0; ++opname;--len; } - bitspec = get_op_bitspec(opname, len, 1); + bitspec = get_op_bitspec(aTHX_ opname, len, 1); } - set_opset_bits(bitmap, bitspec, on, opname); + set_opset_bits(aTHX_ bitmap, bitspec, on, opname); } ST(0) = opset; @@ -357,13 +363,13 @@ CODE: croak("Not a Safe object"); mask = *hv_fetch((HV*)SvRV(safe), "Mask",4, 1); if (ONLY_THESE) /* *_only = new mask, else edit current */ - sv_setsv(mask, sv_2mortal(new_opset(PERMITING ? opset_all : Nullsv))); + sv_setsv(mask, sv_2mortal(new_opset(aTHX_ PERMITING ? opset_all : Nullsv))); else - verify_opset(mask,1); /* croaks */ + verify_opset(aTHX_ mask,1); /* croaks */ bitmap = SvPVX(mask); for (i = 1; i < items; i++) { on = PERMITING ? 0 : 1; /* deny = mask bit on */ - if (verify_opset(ST(i),0)) { /* it's a valid mask */ + if (verify_opset(aTHX_ ST(i),0)) { /* it's a valid mask */ opname = "(opset)"; bitspec = ST(i); } @@ -371,9 +377,9 @@ CODE: opname = SvPV(ST(i), len); /* invert if op has ! prefix (only one allowed) */ if (*opname == '!') { on = !on; ++opname; --len; } - bitspec = get_op_bitspec(opname, len, 1); /* croaks */ + bitspec = get_op_bitspec(aTHX_ opname, len, 1); /* croaks */ } - set_opset_bits(bitmap, bitspec, on, opname); + set_opset_bits(aTHX_ bitmap, bitspec, on, opname); } ST(0) = &PL_sv_yes; @@ -388,10 +394,10 @@ PPCODE: char **op_desc = get_op_descs(); /* copy args to a scratch area since we may push output values onto */ /* the stack faster than we read values off it if masks are used. */ - args = (SV**)SvPVX(sv_2mortal(newSVpv((char*)&ST(0), items*sizeof(SV*)))); + args = (SV**)SvPVX(sv_2mortal(newSVpvn((char*)&ST(0), items*sizeof(SV*)))); for (i = 0; i < items; i++) { char *opname = SvPV(args[i], len); - SV *bitspec = get_op_bitspec(opname, len, 1); + SV *bitspec = get_op_bitspec(aTHX_ opname, len, 1); if (SvIOK(bitspec)) { myopcode = SvIV(bitspec); if (myopcode < 0 || myopcode >= PL_maxo) @@ -423,19 +429,19 @@ define_optag(optagsv, mask) CODE: STRLEN len; char *optag = SvPV(optagsv, len); - put_op_bitspec(optag, len, mask); /* croaks */ + put_op_bitspec(aTHX_ optag, len, mask); /* croaks */ ST(0) = &PL_sv_yes; void empty_opset() CODE: - ST(0) = sv_2mortal(new_opset(Nullsv)); + ST(0) = sv_2mortal(new_opset(aTHX_ Nullsv)); void full_opset() CODE: - ST(0) = sv_2mortal(new_opset(opset_all)); + ST(0) = sv_2mortal(new_opset(aTHX_ opset_all)); void opmask_add(opset) @@ -443,6 +449,8 @@ opmask_add(opset) PREINIT: if (!PL_op_mask) Newz(0, PL_op_mask, PL_maxo, char); +CODE: + opmask_add(aTHX_ opset); void opcodes() @@ -457,7 +465,7 @@ PPCODE: void opmask() CODE: - ST(0) = sv_2mortal(new_opset(Nullsv)); + ST(0) = sv_2mortal(new_opset(aTHX_ Nullsv)); if (PL_op_mask) { char *bitmap = SvPVX(ST(0)); int myopcode; diff --git a/gnu/usr.bin/perl/ext/Opcode/Safe.pm b/gnu/usr.bin/perl/ext/Opcode/Safe.pm index 2d09c2e5c74..7e1d6a34a7d 100644 --- a/gnu/usr.bin/perl/ext/Opcode/Safe.pm +++ b/gnu/usr.bin/perl/ext/Opcode/Safe.pm @@ -2,9 +2,8 @@ package Safe; use 5.003_11; use strict; -use vars qw($VERSION); -$VERSION = "2.06"; +our $VERSION = "2.06"; use Carp; @@ -235,7 +234,7 @@ sub rdo { 1; -__DATA__ +__END__ =head1 NAME diff --git a/gnu/usr.bin/perl/ext/POSIX/POSIX.pm b/gnu/usr.bin/perl/ext/POSIX/POSIX.pm index 84298cb69aa..9416f70809a 100644 --- a/gnu/usr.bin/perl/ext/POSIX/POSIX.pm +++ b/gnu/usr.bin/perl/ext/POSIX/POSIX.pm @@ -1,203 +1,34 @@ package POSIX; -use vars qw($VERSION @ISA %EXPORT_TAGS @EXPORT_OK $AUTOLOAD); +our(@ISA, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD) = (); -use Carp; use AutoLoader; -require Config; -use Symbol; -require Exporter; -require DynaLoader; -@ISA = qw(Exporter DynaLoader); - -$VERSION = "1.02" ; - -%EXPORT_TAGS = ( - - assert_h => [qw(assert NDEBUG)], - - ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower - isprint ispunct isspace isupper isxdigit tolower toupper)], - - dirent_h => [qw()], - - errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT - EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED - ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT - EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS - EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK - EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH - ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM - ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR - ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM - EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE - ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT - ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY - EUSERS EWOULDBLOCK EXDEV errno)], - - fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK - F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK - O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK - O_RDONLY O_RDWR O_TRUNC O_WRONLY - creat - SEEK_CUR SEEK_END SEEK_SET - S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU - S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID - S_IWGRP S_IWOTH S_IWUSR)], - - float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG - DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP - DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP - FLT_DIG FLT_EPSILON FLT_MANT_DIG - FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP - FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP - FLT_RADIX FLT_ROUNDS - LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG - LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP - LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)], - - grp_h => [qw()], - - limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX - INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON - MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX - PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN - SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX - ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX - _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT - _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX - _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX - _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)], +use XSLoader (); - locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC - LC_TIME NULL localeconv setlocale)], - - math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod - frexp ldexp log10 modf pow sinh tan tanh)], - - pwd_h => [qw()], - - setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)], - - signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK - SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM - SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL - SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN - SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR - SIG_IGN SIG_SETMASK SIG_UNBLOCK raise sigaction signal - sigpending sigprocmask sigsuspend)], - - stdarg_h => [qw()], - - stddef_h => [qw(NULL offsetof)], - - stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid - L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET - STREAM_MAX TMP_MAX stderr stdin stdout - clearerr fclose fdopen feof ferror fflush fgetc fgetpos - fgets fopen fprintf fputc fputs fread freopen - fscanf fseek fsetpos ftell fwrite getchar gets - perror putc putchar puts remove rewind - scanf setbuf setvbuf sscanf tmpfile tmpnam - ungetc vfprintf vprintf vsprintf)], - - stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX - abort atexit atof atoi atol bsearch calloc div - free getenv labs ldiv malloc mblen mbstowcs mbtowc - qsort realloc strtod strtol strtoul wcstombs wctomb)], - - string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat - strchr strcmp strcoll strcpy strcspn strerror strlen - strncat strncmp strncpy strpbrk strrchr strspn strstr - strtok strxfrm)], - - sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU - S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG - S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR - fstat mkfifo)], - - sys_times_h => [qw()], - - sys_types_h => [qw()], - - sys_utsname_h => [qw(uname)], - - sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED - WNOHANG WSTOPSIG WTERMSIG WUNTRACED)], - - termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400 - B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL - CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK - ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR - INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST - PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION - TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW - TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART - VSTOP VSUSP VTIME - cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain - tcflow tcflush tcgetattr tcsendbreak tcsetattr )], - - time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime - difftime mktime strftime tzset tzname)], - - unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET - STRERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK - _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON - _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX - _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED - _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS - _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX - _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL - _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_SAVED_IDS - _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION - _exit access ctermid cuserid - dup2 dup execl execle execlp execv execve execvp - fpathconf getcwd getegid geteuid getgid getgroups - getpid getuid isatty lseek pathconf pause setgid setpgid - setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)], - - utime_h => [qw()], - -); - -Exporter::export_tags(); - -@EXPORT_OK = qw( - closedir opendir readdir rewinddir - fcntl open - getgrgid getgrnam - atan2 cos exp log sin sqrt - getpwnam getpwuid - kill - fileno getc printf rename sprintf - abs exit rand srand system - chmod mkdir stat umask - times - wait waitpid - gmtime localtime time - alarm chdir chown close fork getlogin getppid getpgrp link - pipe read rmdir sleep unlink write - utime - nice -); +our $VERSION = "1.03" ; # Grandfather old foo_h form to new :foo_h form +my $loaded; + sub import { + load_imports() unless $loaded++; my $this = shift; my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_; local $Exporter::ExportLevel = 1; Exporter::import($this,@list); } +sub croak { require Carp; goto &Carp::croak } -bootstrap POSIX $VERSION; +XSLoader::load 'POSIX', $VERSION; my $EINVAL = constant("EINVAL", 0); my $EAGAIN = constant("EAGAIN", 0); sub AUTOLOAD { if ($AUTOLOAD =~ /::(_?[a-z])/) { + # require AutoLoader; $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD } @@ -273,7 +104,7 @@ sub closedir { sub opendir { usage "opendir(directory)" if @_ != 1; - my $dirhandle = gensym; + my $dirhandle; CORE::opendir($dirhandle, $_[0]) ? $dirhandle : undef; @@ -932,3 +763,178 @@ sub utime { CORE::utime($_[1], $_[2], $_[0]); } +sub load_imports { +%EXPORT_TAGS = ( + + assert_h => [qw(assert NDEBUG)], + + ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower + isprint ispunct isspace isupper isxdigit tolower toupper)], + + dirent_h => [qw()], + + errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT + EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED + ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT + EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS + EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK + EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH + ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM + ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR + ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM + EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE + ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT + ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY + EUSERS EWOULDBLOCK EXDEV errno)], + + fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK + F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK + O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK + O_RDONLY O_RDWR O_TRUNC O_WRONLY + creat + SEEK_CUR SEEK_END SEEK_SET + S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU + S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID + S_IWGRP S_IWOTH S_IWUSR)], + + float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG + DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP + DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP + FLT_DIG FLT_EPSILON FLT_MANT_DIG + FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP + FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP + FLT_RADIX FLT_ROUNDS + LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG + LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP + LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)], + + grp_h => [qw()], + + limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX + INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON + MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX + PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN + SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX + ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX + _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT + _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX + _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX + _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)], + + locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC + LC_TIME NULL localeconv setlocale)], + + math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod + frexp ldexp log10 modf pow sinh tan tanh)], + + pwd_h => [qw()], + + setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)], + + signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK + SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM + SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL + SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN + SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR + SIG_IGN SIG_SETMASK SIG_UNBLOCK raise sigaction signal + sigpending sigprocmask sigsuspend)], + + stdarg_h => [qw()], + + stddef_h => [qw(NULL offsetof)], + + stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid + L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET + STREAM_MAX TMP_MAX stderr stdin stdout + clearerr fclose fdopen feof ferror fflush fgetc fgetpos + fgets fopen fprintf fputc fputs fread freopen + fscanf fseek fsetpos ftell fwrite getchar gets + perror putc putchar puts remove rewind + scanf setbuf setvbuf sscanf tmpfile tmpnam + ungetc vfprintf vprintf vsprintf)], + + stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX + abort atexit atof atoi atol bsearch calloc div + free getenv labs ldiv malloc mblen mbstowcs mbtowc + qsort realloc strtod strtol strtoul wcstombs wctomb)], + + string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat + strchr strcmp strcoll strcpy strcspn strerror strlen + strncat strncmp strncpy strpbrk strrchr strspn strstr + strtok strxfrm)], + + sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU + S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG + S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR + fstat mkfifo)], + + sys_times_h => [qw()], + + sys_types_h => [qw()], + + sys_utsname_h => [qw(uname)], + + sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED + WNOHANG WSTOPSIG WTERMSIG WUNTRACED)], + + termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400 + B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL + CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK + ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR + INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST + PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION + TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW + TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART + VSTOP VSUSP VTIME + cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain + tcflow tcflush tcgetattr tcsendbreak tcsetattr )], + + time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime + difftime mktime strftime tzset tzname)], + + unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET + STRERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK + _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON + _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX + _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED + _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS + _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX + _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL + _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_SAVED_IDS + _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION + _exit access ctermid cuserid + dup2 dup execl execle execlp execv execve execvp + fpathconf getcwd getegid geteuid getgid getgroups + getpid getuid isatty lseek pathconf pause setgid setpgid + setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)], + + utime_h => [qw()], + +); + +# Exporter::export_tags(); +for (values %EXPORT_TAGS) { + push @EXPORT, @$_; +} + +@EXPORT_OK = qw( + closedir opendir readdir rewinddir + fcntl open + getgrgid getgrnam + atan2 cos exp log sin sqrt + getpwnam getpwuid + kill + fileno getc printf rename sprintf + abs exit rand srand system + chmod mkdir stat umask + times + wait waitpid + gmtime localtime time + alarm chdir chown close fork getlogin getppid getpgrp link + pipe read rmdir sleep unlink write + utime + nice +); + +require Exporter; +} diff --git a/gnu/usr.bin/perl/ext/POSIX/POSIX.pod b/gnu/usr.bin/perl/ext/POSIX/POSIX.pod index 6a4a61aca62..08300e4337b 100644 --- a/gnu/usr.bin/perl/ext/POSIX/POSIX.pod +++ b/gnu/usr.bin/perl/ext/POSIX/POSIX.pod @@ -847,31 +847,35 @@ setjmp() is C-specific: use eval {} instead. =item setlocale -Modifies and queries program's locale. +Modifies and queries program's locale. The following examples assume + + use POSIX qw(setlocale LC_ALL LC_CTYPE); + +has been issued. The following will set the traditional UNIX system locale behavior (the second argument C<"C">). - $loc = POSIX::setlocale( &POSIX::LC_ALL, "C" ); + $loc = setlocale( LC_ALL, "C" ); -The following will query (the missing second argument) the current -LC_CTYPE category. +The following will query the current LC_CTYPE category. (No second +argument means 'query'.) - $loc = POSIX::setlocale( &POSIX::LC_CTYPE); + $loc = setlocale( LC_CTYPE ); The following will set the LC_CTYPE behaviour according to the locale environment variables (the second argument C<"">). Please see your systems L documentation for the locale environment variables' meaning or consult L. - $loc = POSIX::setlocale( &POSIX::LC_CTYPE, ""); + $loc = setlocale( LC_CTYPE, "" ); The following will set the LC_COLLATE behaviour to Argentinian Spanish. B: The naming and availability of locales depends on your operating system. Please consult L for how to find out which locales are available in your system. - $loc = POSIX::setlocale( &POSIX::LC_ALL, "es_AR.ISO8859-1" ); + $loc = setlocale( LC_ALL, "es_AR.ISO8859-1" ); =item setpgid @@ -1015,8 +1019,13 @@ The month (C), weekday (C), and yearday (C) begin at zero. I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The year (C) is given in years since 1900. I.e., the year 1995 is 95; the year 2001 is 101. Consult your system's C manpage for details -about these and the other arguments. The given arguments are made consistent -by calling C before calling your system's C function. +about these and the other arguments. +If you want your code to be portable, your format (C) argument +should use only the conversion specifiers defined by the ANSI C +standard. These are C. +The given arguments are made consistent +as though by calling C before calling your system's +C function, except that the C value is not affected. The string for Tuesday, December 12, 1995. diff --git a/gnu/usr.bin/perl/ext/POSIX/POSIX.xs b/gnu/usr.bin/perl/ext/POSIX/POSIX.xs index 15e026e212b..3a523d1d07a 100644 --- a/gnu/usr.bin/perl/ext/POSIX/POSIX.xs +++ b/gnu/usr.bin/perl/ext/POSIX/POSIX.xs @@ -1,11 +1,14 @@ #ifdef WIN32 #define _POSIX_ #endif + +#define PERL_NO_GET_CONTEXT + #include "EXTERN.h" #define PERLIO_NOT_STDIO 1 #include "perl.h" #include "XSUB.h" -#ifdef PERL_OBJECT /* XXX _very_ temporary hacks */ +#if defined(PERL_OBJECT) || defined(PERL_CAPI) || defined(PERL_IMPLICIT_SYS) # undef signal # undef open # undef setmode @@ -78,6 +81,7 @@ /* The non-POSIX CRTL times() has void return type, so we just get the current time directly */ clock_t vms_times(struct tms *PL_bufptr) { + dTHX; clock_t retval; /* Get wall time and convert to 10 ms intervals to * produce the return value that the POSIX standard expects */ @@ -102,6 +106,9 @@ } # define times(t) vms_times(t) #else +#if defined (__CYGWIN__) +# define tzname _tzname +#endif #if defined (WIN32) # undef mkfifo # define mkfifo(a,b) not_here("mkfifo") @@ -135,8 +142,12 @@ #else # ifndef HAS_MKFIFO -# ifndef mkfifo -# define mkfifo(path, mode) (mknod((path), (mode) | S_IFIFO, 0)) +# ifdef OS2 +# define mkfifo(a,b) not_here("mkfifo") +# else /* !( defined OS2 ) */ +# ifndef mkfifo +# define mkfifo(path, mode) (mknod((path), (mode) | S_IFIFO, 0)) +# endif # endif # endif /* !HAS_MKFIFO */ @@ -177,10 +188,10 @@ typedef struct termios* POSIX__Termios; #endif /* Possibly needed prototypes */ -char *cuserid _((char *)); -double strtod _((const char *, char **)); -long strtol _((const char *, char **, int)); -unsigned long strtoul _((const char *, char **, int)); +char *cuserid (char *); +double strtod (const char *, char **); +long strtol (const char *, char **, int); +unsigned long strtoul (const char *, char **, int); #ifndef HAS_CUSERID #define cuserid(a) (char *) not_here("cuserid") @@ -278,7 +289,7 @@ unsigned long strtoul _((const char *, char **, int)); #endif #ifdef HAS_TZNAME -# ifndef WIN32 +# if !defined(WIN32) && !defined(__CYGWIN__) extern char *tzname[]; # endif #else @@ -303,14 +314,13 @@ char *tzname[] = { "" , "" }; */ #ifdef HAS_GNULIBC # ifndef STRUCT_TM_HASZONE -# define STRUCT_TM_HAS_ZONE +# define STRUCT_TM_HASZONE # endif #endif #ifdef STRUCT_TM_HASZONE static void -init_tm(ptm) /* see mktime, strftime and asctime */ - struct tm *ptm; +init_tm(struct tm *ptm) /* see mktime, strftime and asctime */ { Time_t now; (void)time(&now); @@ -321,6 +331,202 @@ init_tm(ptm) /* see mktime, strftime and asctime */ # define init_tm(ptm) #endif +/* + * mini_mktime - normalise struct tm values without the localtime() + * semantics (and overhead) of mktime(). + */ +static void +mini_mktime(struct tm *ptm) +{ + int yearday; + int secs; + int month, mday, year, jday; + int odd_cent, odd_year; + +#define DAYS_PER_YEAR 365 +#define DAYS_PER_QYEAR (4*DAYS_PER_YEAR+1) +#define DAYS_PER_CENT (25*DAYS_PER_QYEAR-1) +#define DAYS_PER_QCENT (4*DAYS_PER_CENT+1) +#define SECS_PER_HOUR (60*60) +#define SECS_PER_DAY (24*SECS_PER_HOUR) +/* parentheses deliberately absent on these two, otherwise they don't work */ +#define MONTH_TO_DAYS 153/5 +#define DAYS_TO_MONTH 5/153 +/* offset to bias by March (month 4) 1st between month/mday & year finding */ +#define YEAR_ADJUST (4*MONTH_TO_DAYS+1) +/* as used here, the algorithm leaves Sunday as day 1 unless we adjust it */ +#define WEEKDAY_BIAS 6 /* (1+6)%7 makes Sunday 0 again */ + +/* + * Year/day algorithm notes: + * + * With a suitable offset for numeric value of the month, one can find + * an offset into the year by considering months to have 30.6 (153/5) days, + * using integer arithmetic (i.e., with truncation). To avoid too much + * messing about with leap days, we consider January and February to be + * the 13th and 14th month of the previous year. After that transformation, + * we need the month index we use to be high by 1 from 'normal human' usage, + * so the month index values we use run from 4 through 15. + * + * Given that, and the rules for the Gregorian calendar (leap years are those + * divisible by 4 unless also divisible by 100, when they must be divisible + * by 400 instead), we can simply calculate the number of days since some + * arbitrary 'beginning of time' by futzing with the (adjusted) year number, + * the days we derive from our month index, and adding in the day of the + * month. The value used here is not adjusted for the actual origin which + * it normally would use (1 January A.D. 1), since we're not exposing it. + * We're only building the value so we can turn around and get the + * normalised values for the year, month, day-of-month, and day-of-year. + * + * For going backward, we need to bias the value we're using so that we find + * the right year value. (Basically, we don't want the contribution of + * March 1st to the number to apply while deriving the year). Having done + * that, we 'count up' the contribution to the year number by accounting for + * full quadracenturies (400-year periods) with their extra leap days, plus + * the contribution from full centuries (to avoid counting in the lost leap + * days), plus the contribution from full quad-years (to count in the normal + * leap days), plus the leftover contribution from any non-leap years. + * At this point, if we were working with an actual leap day, we'll have 0 + * days left over. This is also true for March 1st, however. So, we have + * to special-case that result, and (earlier) keep track of the 'odd' + * century and year contributions. If we got 4 extra centuries in a qcent, + * or 4 extra years in a qyear, then it's a leap day and we call it 29 Feb. + * Otherwise, we add back in the earlier bias we removed (the 123 from + * figuring in March 1st), find the month index (integer division by 30.6), + * and the remainder is the day-of-month. We then have to convert back to + * 'real' months (including fixing January and February from being 14/15 in + * the previous year to being in the proper year). After that, to get + * tm_yday, we work with the normalised year and get a new yearday value for + * January 1st, which we subtract from the yearday value we had earlier, + * representing the date we've re-built. This is done from January 1 + * because tm_yday is 0-origin. + * + * Since POSIX time routines are only guaranteed to work for times since the + * UNIX epoch (00:00:00 1 Jan 1970 UTC), the fact that this algorithm + * applies Gregorian calendar rules even to dates before the 16th century + * doesn't bother me. Besides, you'd need cultural context for a given + * date to know whether it was Julian or Gregorian calendar, and that's + * outside the scope for this routine. Since we convert back based on the + * same rules we used to build the yearday, you'll only get strange results + * for input which needed normalising, or for the 'odd' century years which + * were leap years in the Julian calander but not in the Gregorian one. + * I can live with that. + * + * This algorithm also fails to handle years before A.D. 1 gracefully, but + * that's still outside the scope for POSIX time manipulation, so I don't + * care. + */ + + year = 1900 + ptm->tm_year; + month = ptm->tm_mon; + mday = ptm->tm_mday; + /* allow given yday with no month & mday to dominate the result */ + if (ptm->tm_yday >= 0 && mday <= 0 && month <= 0) { + month = 0; + mday = 0; + jday = 1 + ptm->tm_yday; + } + else { + jday = 0; + } + if (month >= 2) + month+=2; + else + month+=14, year--; + yearday = DAYS_PER_YEAR * year + year/4 - year/100 + year/400; + yearday += month*MONTH_TO_DAYS + mday + jday; + /* + * Note that we don't know when leap-seconds were or will be, + * so we have to trust the user if we get something which looks + * like a sensible leap-second. Wild values for seconds will + * be rationalised, however. + */ + if ((unsigned) ptm->tm_sec <= 60) { + secs = 0; + } + else { + secs = ptm->tm_sec; + ptm->tm_sec = 0; + } + secs += 60 * ptm->tm_min; + secs += SECS_PER_HOUR * ptm->tm_hour; + if (secs < 0) { + if (secs-(secs/SECS_PER_DAY*SECS_PER_DAY) < 0) { + /* got negative remainder, but need positive time */ + /* back off an extra day to compensate */ + yearday += (secs/SECS_PER_DAY)-1; + secs -= SECS_PER_DAY * (secs/SECS_PER_DAY - 1); + } + else { + yearday += (secs/SECS_PER_DAY); + secs -= SECS_PER_DAY * (secs/SECS_PER_DAY); + } + } + else if (secs >= SECS_PER_DAY) { + yearday += (secs/SECS_PER_DAY); + secs %= SECS_PER_DAY; + } + ptm->tm_hour = secs/SECS_PER_HOUR; + secs %= SECS_PER_HOUR; + ptm->tm_min = secs/60; + secs %= 60; + ptm->tm_sec += secs; + /* done with time of day effects */ + /* + * The algorithm for yearday has (so far) left it high by 428. + * To avoid mistaking a legitimate Feb 29 as Mar 1, we need to + * bias it by 123 while trying to figure out what year it + * really represents. Even with this tweak, the reverse + * translation fails for years before A.D. 0001. + * It would still fail for Feb 29, but we catch that one below. + */ + jday = yearday; /* save for later fixup vis-a-vis Jan 1 */ + yearday -= YEAR_ADJUST; + year = (yearday / DAYS_PER_QCENT) * 400; + yearday %= DAYS_PER_QCENT; + odd_cent = yearday / DAYS_PER_CENT; + year += odd_cent * 100; + yearday %= DAYS_PER_CENT; + year += (yearday / DAYS_PER_QYEAR) * 4; + yearday %= DAYS_PER_QYEAR; + odd_year = yearday / DAYS_PER_YEAR; + year += odd_year; + yearday %= DAYS_PER_YEAR; + if (!yearday && (odd_cent==4 || odd_year==4)) { /* catch Feb 29 */ + month = 1; + yearday = 29; + } + else { + yearday += YEAR_ADJUST; /* recover March 1st crock */ + month = yearday*DAYS_TO_MONTH; + yearday -= month*MONTH_TO_DAYS; + /* recover other leap-year adjustment */ + if (month > 13) { + month-=14; + year++; + } + else { + month-=2; + } + } + ptm->tm_year = year - 1900; + if (yearday) { + ptm->tm_mday = yearday; + ptm->tm_mon = month; + } + else { + ptm->tm_mday = 31; + ptm->tm_mon = month - 1; + } + /* re-build yearday based on Jan 1 to get tm_yday */ + year--; + yearday = year*DAYS_PER_YEAR + year/4 - year/100 + year/400; + yearday += 14*MONTH_TO_DAYS + 1; + ptm->tm_yday = jday - yearday; + /* fix tm_wday if not overridden by caller */ + if ((unsigned)ptm->tm_wday > 6) + ptm->tm_wday = (jday + WEEKDAY_BIAS) % 7; +} #ifdef HAS_LONG_DOUBLE # if LONG_DOUBLESIZE > DOUBLESIZE @@ -348,7 +554,7 @@ not_here(char *s) } static -#ifdef HAS_LONG_DOUBLE +#if defined(HAS_LONG_DOUBLE) && (LONG_DOUBLESIZE > DOUBLESIZE) long double #else double @@ -1519,9 +1725,10 @@ constant(char *name, int arg) #else goto not_there; #endif - if (strEQ(name, "L_tmpname")) -#ifdef L_tmpname - return L_tmpname; + /* L_tmpnam[e] was a typo--retained for compatibility */ + if (strEQ(name, "L_tmpname") || strEQ(name, "L_tmpnam")) +#ifdef L_tmpnam + return L_tmpnam; #else goto not_there; #endif @@ -3045,7 +3252,7 @@ setlocale(category, locale = 0) else #endif newctype = RETVAL; - perl_new_ctype(newctype); + new_ctype(newctype); } #endif /* USE_LOCALE_CTYPE */ #ifdef USE_LOCALE_COLLATE @@ -3062,7 +3269,7 @@ setlocale(category, locale = 0) else #endif newcoll = RETVAL; - perl_new_collate(newcoll); + new_collate(newcoll); } #endif /* USE_LOCALE_COLLATE */ #ifdef USE_LOCALE_NUMERIC @@ -3079,7 +3286,7 @@ setlocale(category, locale = 0) else #endif newnum = RETVAL; - perl_new_numeric(newnum); + new_numeric(newnum); } #endif /* USE_LOCALE_NUMERIC */ } @@ -3167,17 +3374,15 @@ sigaction(sig, action, oldaction = 0) # This code is really grody because we're trying to make the signal # interface look beautiful, which is hard. - if (!PL_siggv) - gv_fetchpv("SIG", TRUE, SVt_PVHV); - { + GV *siggv = gv_fetchpv("SIG", TRUE, SVt_PVHV); struct sigaction act; struct sigaction oact; POSIX__SigSet sigset; SV** svp; - SV** sigsvp = hv_fetch(GvHVn(PL_siggv), - sig_name[sig], - strlen(sig_name[sig]), + SV** sigsvp = hv_fetch(GvHVn(siggv), + PL_sig_name[sig], + strlen(PL_sig_name[sig]), TRUE); STRLEN n_a; @@ -3196,7 +3401,7 @@ sigaction(sig, action, oldaction = 0) croak("Can't supply an action without a HANDLER"); sv_setpv(*sigsvp, SvPV(*svp, n_a)); mg_set(*sigsvp); /* handles DEFAULT and IGNORE */ - act.sa_handler = sighandler; + act.sa_handler = PL_sighandlerp; /* Set up any desired mask. */ svp = hv_fetch(action, "MASK", 4, FALSE); @@ -3262,7 +3467,7 @@ INIT: } else if (sv_derived_from(ST(2), "POSIX::SigSet")) { IV tmp = SvIV((SV*)SvRV(ST(2))); - oldsigset = (POSIX__SigSet) tmp; + oldsigset = INT2PTR(POSIX__SigSet,tmp); } else { New(0, oldsigset, 1, sigset_t); @@ -3367,9 +3572,18 @@ write(fd, buffer, nbytes) char * buffer size_t nbytes -char * -tmpnam(s = 0) - char * s = 0; +SV * +tmpnam() + PREINIT: + STRLEN i; + int len; + CODE: + RETVAL = newSVpvn("", 0); + SvGROW(RETVAL, L_tmpnam); + len = strlen(tmpnam(SvPV(RETVAL, i))); + SvCUR_set(RETVAL, len); + OUTPUT: + RETVAL void abort() @@ -3434,10 +3648,12 @@ strtol(str, base = 0) char *unparsed; PPCODE: num = strtol(str, &unparsed, base); - if (num >= IV_MIN && num <= IV_MAX) - PUSHs(sv_2mortal(newSViv((IV)num))); - else +#if IVSIZE <= LONGSIZE + if (num < IV_MIN || num > IV_MAX) PUSHs(sv_2mortal(newSVnv((double)num))); + else +#endif + PUSHs(sv_2mortal(newSViv((IV)num))); if (GIMME == G_ARRAY) { EXTEND(SP, 1); if (unparsed) @@ -3629,7 +3845,7 @@ strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) mytm.tm_wday = wday; mytm.tm_yday = yday; mytm.tm_isdst = isdst; - (void) mktime(&mytm); + mini_mktime(&mytm); len = strftime(tmpbuf, sizeof tmpbuf, fmt, &mytm); /* ** The following is needed to handle to the situation where @@ -3645,28 +3861,35 @@ strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) ** If there is a better way to make it portable, go ahead by ** all means. */ - if ( ( len > 0 && len < sizeof(tmpbuf) ) - || ( len == 0 && strlen(fmt) == 0 ) ) { + if ((len > 0 && len < sizeof(tmpbuf)) || (len == 0 && *fmt == '\0')) ST(0) = sv_2mortal(newSVpv(tmpbuf, len)); - } else { + else { /* Possibly buf overflowed - try again with a bigger buf */ - int bufsize = strlen(fmt) + sizeof(tmpbuf); + int fmtlen = strlen(fmt); + int bufsize = fmtlen + sizeof(tmpbuf); char* buf; int buflen; New(0, buf, bufsize, char); - while( buf ) { + while (buf) { buflen = strftime(buf, bufsize, fmt, &mytm); - if ( buflen > 0 && buflen < bufsize ) break; + if (buflen > 0 && buflen < bufsize) + break; + /* heuristic to prevent out-of-memory errors */ + if (bufsize > 100*fmtlen) { + Safefree(buf); + buf = NULL; + break; + } bufsize *= 2; Renew(buf, bufsize, char); } - if ( buf ) { - ST(0) = sv_2mortal(newSVpv(buf, buflen)); + if (buf) { + ST(0) = sv_2mortal(newSVpvn(buf, buflen)); Safefree(buf); - } else { - ST(0) = sv_2mortal(newSVpv(tmpbuf, len)); } + else + ST(0) = sv_2mortal(newSVpvn(tmpbuf, len)); } } @@ -3677,8 +3900,8 @@ void tzname() PPCODE: EXTEND(SP,2); - PUSHs(sv_2mortal(newSVpv(tzname[0],strlen(tzname[0])))); - PUSHs(sv_2mortal(newSVpv(tzname[1],strlen(tzname[1])))); + PUSHs(sv_2mortal(newSVpvn(tzname[0],strlen(tzname[0])))); + PUSHs(sv_2mortal(newSVpvn(tzname[1],strlen(tzname[1])))); SysRet access(filename, mode) diff --git a/gnu/usr.bin/perl/ext/POSIX/hints/openbsd.pl b/gnu/usr.bin/perl/ext/POSIX/hints/openbsd.pl index b0303ba7f31..62732ac7b9d 100644 --- a/gnu/usr.bin/perl/ext/POSIX/hints/openbsd.pl +++ b/gnu/usr.bin/perl/ext/POSIX/hints/openbsd.pl @@ -1,4 +1,3 @@ # BSD platforms have extra fields in struct tm that need to be initialized. # XXX A Configure test is needed. - $self->{CCFLAGS} = $Config{ccflags} . ' -DSTRUCT_TM_HASZONE' ; diff --git a/gnu/usr.bin/perl/ext/SDBM_File/Makefile.PL b/gnu/usr.bin/perl/ext/SDBM_File/Makefile.PL index 749478551fe..a1debb92a33 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/Makefile.PL +++ b/gnu/usr.bin/perl/ext/SDBM_File/Makefile.PL @@ -16,16 +16,30 @@ WriteMakefile( XSPROTOARG => '-noprototypes', # XXX remove later? VERSION_FROM => 'SDBM_File.pm', DEFINE => $define, + PERL_MALLOC_OK => 1, ); sub MY::postamble { - if ($^O ne 'VMS') { + if ($^O =~ /MSWin32/ && Win32::IsWin95()) { + # XXX: dmake-specific, like rest of Win95 port + return + ' +$(MYEXTLIB): sdbm/Makefile +@[ + cd sdbm + $(MAKE) all + cd .. +] +'; + } + elsif ($^O ne 'VMS') { ' $(MYEXTLIB): sdbm/Makefile cd sdbm && $(MAKE) all '; - } else { - ' + } + else { + ' $(MYEXTLIB) : [.sdbm]descrip.mms set def [.sdbm] $(MMS) all diff --git a/gnu/usr.bin/perl/ext/SDBM_File/SDBM_File.pm b/gnu/usr.bin/perl/ext/SDBM_File/SDBM_File.pm index a2d4df85587..c5e26c8e04d 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/SDBM_File.pm +++ b/gnu/usr.bin/perl/ext/SDBM_File/SDBM_File.pm @@ -1,16 +1,14 @@ package SDBM_File; use strict; -use vars qw($VERSION @ISA); require Tie::Hash; -require DynaLoader; +use XSLoader (); -@ISA = qw(Tie::Hash DynaLoader); +our @ISA = qw(Tie::Hash); +our $VERSION = "1.02" ; -$VERSION = "1.00" ; - -bootstrap SDBM_File $VERSION; +XSLoader::load 'SDBM_File', $VERSION; 1; @@ -30,6 +28,6 @@ SDBM_File - Tied access to sdbm files =head1 DESCRIPTION -See L +See L, L =cut diff --git a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/Makefile.PL b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/Makefile.PL index e6fdcf93069..4453dea1fda 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/Makefile.PL +++ b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/Makefile.PL @@ -42,12 +42,14 @@ INST_STATIC = libsdbm$(LIB_EXT) } sub MY::top_targets { + my $noecho = shift->{NOECHO}; + my $r = ' all :: static - $(NOECHO) $(NOOP) + ' . $noecho . '$(NOOP) config :: - $(NOECHO) $(NOOP) + ' . $noecho . '$(NOOP) lint: lint -abchx $(LIBSRCS) @@ -58,7 +60,7 @@ lint: # variables into the environment so $(MYEXTLIB) is set in here to this # value which can not be built. sdbm/libsdbm.a: - $(NOECHO) $(NOOP) + ' . $noecho . '$(NOOP) ' unless $^O eq 'VMS'; return $r; diff --git a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.c b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.c index a9a805a4aa3..4f0fde23027 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.c +++ b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.c @@ -8,7 +8,11 @@ */ #include "config.h" -#include "EXTERN.h" +#ifdef __CYGWIN__ +# define EXTCONST extern const +#else +# include "EXTERN.h" +#endif #include "sdbm.h" #include "tune.h" #include "pair.h" @@ -102,6 +106,17 @@ getpair(char *pag, datum key) return val; } +int +exipair(char *pag, datum key) +{ + register short *ino = (short *) pag; + + if (ino[0] == 0) + return 0; + + return (seepair(pag, ino[0], key.dptr, key.dsize) != 0); +} + #ifdef SEEDUPS int duppair(char *pag, datum key) diff --git a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.h b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.h index 8a675b90659..b6944edd071 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.h +++ b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/pair.h @@ -2,6 +2,7 @@ #define chkpage sdbm__chkpage #define delpair sdbm__delpair #define duppair sdbm__duppair +#define exipair sdbm__exipair #define fitpair sdbm__fitpair #define getnkey sdbm__getnkey #define getpair sdbm__getpair @@ -11,6 +12,7 @@ extern int fitpair proto((char *, int)); extern void putpair proto((char *, datum, datum)); extern datum getpair proto((char *, datum)); +extern int exipair proto((char *, datum)); extern int delpair proto((char *, datum)); extern int chkpage proto((char *)); extern datum getnkey proto((char *, int)); diff --git a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.3 b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.3 index 7e5c1764042..fe6fe76e255 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.3 +++ b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.3 @@ -1,7 +1,7 @@ .\" $Id: sdbm.3,v 1.2 90/12/13 13:00:57 oz Exp $ .TH SDBM 3 "1 March 1990" .SH NAME -sdbm, sdbm_open, sdbm_prep, sdbm_close, sdbm_fetch, sdbm_store, sdbm_delete, sdbm_firstkey, sdbm_nextkey, sdbm_hash, sdbm_rdonly, sdbm_error, sdbm_clearerr, sdbm_dirfno, sdbm_pagfno \- data base subroutines +sdbm, sdbm_open, sdbm_prep, sdbm_close, sdbm_fetch, sdbm_store, sdbm_delete, sdbm_exists, sdbm_firstkey, sdbm_nextkey, sdbm_hash, sdbm_rdonly, sdbm_error, sdbm_clearerr, sdbm_dirfno, sdbm_pagfno \- data base subroutines .SH SYNOPSIS .nf .ft B @@ -26,6 +26,8 @@ int sdbm_store(\s-1DBM\s0 *db, datum key, datum val, int flags) .sp int sdbm_delete(\s-1DBM\s0 *db, datum key) .sp +int sdbm_exists(\s-1DBM\s0 *db, datum key) +.sp datum sdbm_firstkey(\s-1DBM\s0 *db) .sp datum sdbm_nextkey(\s-1DBM\s0 *db) @@ -47,6 +49,7 @@ int sdbm_pagfno(\s-1DBM\s0 *db) .IX sdbm_fetch "" "\fLsdbm_fetch\fR \(em fetch \fLsdbm\fR database data" .IX sdbm_store "" "\fLsdbm_store\fR \(em add data to \fLsdbm\fR database" .IX sdbm_delete "" "\fLsdbm_delete\fR \(em remove data from \fLsdbm\fR database" +.IX sdbm_exists "" "\fLsdbm_exists\fR \(em test \fLsdbm\fR key existence" .IX sdbm_firstkey "" "\fLsdbm_firstkey\fR \(em access \fLsdbm\fR database" .IX sdbm_nextkey "" "\fLsdbm_nextkey\fR \(em access \fLsdbm\fR database" .IX sdbm_hash "" "\fLsdbm_hash\fR \(em string hash for \fLsdbm\fR database" @@ -149,6 +152,8 @@ Given a handle, one can retrieve data associated with a key by using the routine, and associate data with a key by using the .BR sdbm_store (\|) routine. +.BR sdbm_exists (\|) +will say whether a given key exists in the database. .LP The values of the .I flags diff --git a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.c b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.c index c147e45b43a..64c75cbb208 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.c +++ b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.c @@ -9,6 +9,9 @@ #include "INTERN.h" #include "config.h" +#ifdef WIN32 +#include "io.h" +#endif #include "sdbm.h" #include "tune.h" #include "pair.h" @@ -36,7 +39,7 @@ extern int errno; extern Malloc_t malloc proto((MEM_SIZE)); extern Free_t free proto((Malloc_t)); -extern Off_t lseek(int, Off_t, int); + #endif /* @@ -125,7 +128,7 @@ sdbm_prep(char *dirname, char *pagname, int flags, int mode) * open the files in sequence, and stat the dirfile. * If we fail anywhere, undo everything, return NULL. */ -#if defined(OS2) || defined(MSDOS) || defined(WIN32) +#if defined(OS2) || defined(MSDOS) || defined(WIN32) || defined(__CYGWIN__) flags |= O_BINARY; # endif if ((db->pagf = open(pagname, flags, mode)) > -1) { @@ -181,6 +184,18 @@ sdbm_fetch(register DBM *db, datum key) return ioerr(db), nullitem; } +int +sdbm_exists(register DBM *db, datum key) +{ + if (db == NULL || bad(key)) + return errno = EINVAL, -1; + + if (getpage(db, exhash(key))) + return exipair(db->pagbuf, key); + + return ioerr(db), -1; +} + int sdbm_delete(register DBM *db, datum key) { @@ -416,9 +431,12 @@ getdbit(register DBM *db, register long int dbit) dirb = c / DBLKSIZ; if (dirb != db->dirbno) { + int got; if (lseek(db->dirf, OFF_DIR(dirb), SEEK_SET) < 0 - || read(db->dirf, db->dirbuf, DBLKSIZ) < 0) + || (got=read(db->dirf, db->dirbuf, DBLKSIZ)) < 0) return 0; + if (got==0) + memset(db->dirbuf,0,DBLKSIZ); db->dirbno = dirb; debug(("dir read: %d\n", dirb)); @@ -437,10 +455,12 @@ setdbit(register DBM *db, register long int dbit) dirb = c / DBLKSIZ; if (dirb != db->dirbno) { - (void) memset(db->dirbuf, 0, DBLKSIZ); + int got; if (lseek(db->dirf, OFF_DIR(dirb), SEEK_SET) < 0 - || read(db->dirf, db->dirbuf, DBLKSIZ) < 0) + || (got=read(db->dirf, db->dirbuf, DBLKSIZ)) < 0) return 0; + if (got==0) + memset(db->dirbuf,0,DBLKSIZ); db->dirbno = dirb; debug(("dir read: %d\n", dirb)); @@ -448,8 +468,13 @@ setdbit(register DBM *db, register long int dbit) db->dirbuf[c % DBLKSIZ] |= (1 << dbit % BYTESIZ); +#if 0 if (dbit >= db->maxbno) db->maxbno += DBLKSIZ * BYTESIZ; +#else + if (OFF_DIR((dirb+1))*BYTESIZ > db->maxbno) + db->maxbno=OFF_DIR((dirb+1))*BYTESIZ; +#endif if (lseek(db->dirf, OFF_DIR(dirb), SEEK_SET) < 0 || write(db->dirf, db->dirbuf, DBLKSIZ) < 0) diff --git a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.h b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.h index 84d5f75468c..86ba82d82fb 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.h +++ b/gnu/usr.bin/perl/ext/SDBM_File/sdbm/sdbm.h @@ -79,6 +79,7 @@ extern int sdbm_delete proto((DBM *, datum)); extern int sdbm_store proto((DBM *, datum, datum, int)); extern datum sdbm_firstkey proto((DBM *)); extern datum sdbm_nextkey proto((DBM *)); +extern int sdbm_exists proto((DBM *, datum)); /* * other @@ -98,8 +99,12 @@ extern long sdbm_hash proto((char *, int)); #define dbm_clearerr sdbm_clearerr #endif -/* Most of the following is stolen from perl.h. */ +/* Most of the following is stolen from perl.h. We don't include + perl.h here because we just want the portability parts of perl.h, + not everything else. +*/ #ifndef H_PERL /* Include guard */ +#include "embed.h" /* Follow all the global renamings. */ /* * The following contortions are brought to you on behalf of all the @@ -168,27 +173,17 @@ extern long sdbm_hash proto((char *, int)); /* This comes after so we don't try to change the standard * library prototypes; we'll use our own instead. */ -#if defined(MYMALLOC) && (defined(HIDEMYMALLOC) || defined(EMBEDMYMALLOC)) - -# ifdef HIDEMYMALLOC -# define malloc Mymalloc -# define calloc Mycalloc -# define realloc Myremalloc -# define free Myfree -# endif -# ifdef EMBEDMYMALLOC -# define malloc Perl_malloc -# define calloc Perl_calloc -# define realloc Perl_realloc -# define free Perl_free -# endif - - Malloc_t malloc proto((MEM_SIZE nbytes)); - Malloc_t calloc proto((MEM_SIZE elements, MEM_SIZE size)); - Malloc_t realloc proto((Malloc_t where, MEM_SIZE nbytes)); - Free_t free proto((Malloc_t where)); - -#endif /* MYMALLOC && (HIDEMYMALLOC || EMBEDMYMALLOC) */ +#if defined(MYMALLOC) && !defined(PERL_POLLUTE_MALLOC) +# define malloc Perl_malloc +# define calloc Perl_calloc +# define realloc Perl_realloc +# define free Perl_mfree + +Malloc_t Perl_malloc proto((MEM_SIZE nbytes)); +Malloc_t Perl_calloc proto((MEM_SIZE elements, MEM_SIZE size)); +Malloc_t Perl_realloc proto((Malloc_t where, MEM_SIZE nbytes)); +Free_t Perl_mfree proto((Malloc_t where)); +#endif /* MYMALLOC */ #ifdef I_STRING #include diff --git a/gnu/usr.bin/perl/ext/SDBM_File/typemap b/gnu/usr.bin/perl/ext/SDBM_File/typemap index 317a8f3886c..eeb5d59027f 100644 --- a/gnu/usr.bin/perl/ext/SDBM_File/typemap +++ b/gnu/usr.bin/perl/ext/SDBM_File/typemap @@ -2,7 +2,8 @@ #################################### DBM SECTION # -datum T_DATUM +datum_key T_DATUM_K +datum_value T_DATUM_V gdatum T_GDATUM NDBM_File T_PTROBJ GDBM_File T_PTROBJ @@ -13,14 +14,23 @@ DBZ_File T_PTROBJ FATALFUNC T_OPAQUEPTR INPUT -T_DATUM +T_DATUM_K + ckFilter($arg, filter_store_key, \"filter_store_key\"); + $var.dptr = SvPV($arg, PL_na); + $var.dsize = (int)PL_na; +T_DATUM_V + ckFilter($arg, filter_store_value, \"filter_store_value\"); $var.dptr = SvPV($arg, PL_na); $var.dsize = (int)PL_na; T_GDATUM UNIMPLEMENTED OUTPUT -T_DATUM +T_DATUM_K + sv_setpvn($arg, $var.dptr, $var.dsize); + ckFilter($arg, filter_fetch_key,\"filter_fetch_key\"); +T_DATUM_V sv_setpvn($arg, $var.dptr, $var.dsize); + ckFilter($arg, filter_fetch_value,\"filter_fetch_value\"); T_GDATUM sv_usepvn($arg, $var.dptr, $var.dsize); T_PTROBJ diff --git a/gnu/usr.bin/perl/ext/Socket/Socket.pm b/gnu/usr.bin/perl/ext/Socket/Socket.pm index 1ed19f713d2..02f098df77c 100644 --- a/gnu/usr.bin/perl/ext/Socket/Socket.pm +++ b/gnu/usr.bin/perl/ext/Socket/Socket.pm @@ -1,7 +1,7 @@ package Socket; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); -$VERSION = "1.7"; +our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); +$VERSION = "1.72"; =head1 NAME @@ -160,10 +160,11 @@ have AF_UNIX in the right place. =cut use Carp; +use warnings::register; require Exporter; -require DynaLoader; -@ISA = qw(Exporter DynaLoader); +use XSLoader (); +@ISA = qw(Exporter); @EXPORT = qw( inet_aton inet_ntoa pack_sockaddr_in unpack_sockaddr_in pack_sockaddr_un unpack_sockaddr_un @@ -193,6 +194,8 @@ require DynaLoader; AF_UNIX AF_UNSPEC AF_X25 + IOV_MAX + MSG_BCAST MSG_CTLFLAGS MSG_CTLIGNORE MSG_CTRUNC @@ -203,6 +206,7 @@ require DynaLoader; MSG_ERRQUEUE MSG_FIN MSG_MAXIOVLEN + MSG_MCAST MSG_NOSIGNAL MSG_OOB MSG_PEEK @@ -241,6 +245,9 @@ require DynaLoader; SCM_CREDS SCM_RIGHTS SCM_TIMESTAMP + SHUT_RD + SHUT_RDWR + SHUT_WR SOCK_DGRAM SOCK_RAW SOCK_RDM @@ -266,9 +273,17 @@ require DynaLoader; SO_SNDTIMEO SO_TYPE SO_USELOOPBACK + UIO_MAXIOV ); -@EXPORT_OK = qw(CR LF CRLF $CR $LF $CRLF); +@EXPORT_OK = qw(CR LF CRLF $CR $LF $CRLF + + IPPROTO_TCP + TCP_KEEPALIVE + TCP_MAXRT + TCP_MAXSEG + TCP_NODELAY + TCP_STDURG); %EXPORT_TAGS = ( crlf => [qw(CR LF CRLF $CR $LF $CRLF)], @@ -288,7 +303,8 @@ BEGIN { sub sockaddr_in { if (@_ == 6 && !wantarray) { # perl5.001m compat; use this && die my($af, $port, @quad) = @_; - carp "6-ARG sockaddr_in call is deprecated" if $^W; + warnings::warn "6-ARG sockaddr_in call is deprecated" + if warnings::enabled(); pack_sockaddr_in($port, inet_aton(join('.', @quad))); } elsif (wantarray) { croak "usage: (port,iaddr) = sockaddr_in(sin_sv)" unless @_ == 1; @@ -309,6 +325,115 @@ sub sockaddr_un { } } +sub INADDR_ANY (); +sub INADDR_BROADCAST (); +sub INADDR_LOOPBACK (); +sub INADDR_LOOPBACK (); + +sub AF_802 (); +sub AF_APPLETALK (); +sub AF_CCITT (); +sub AF_CHAOS (); +sub AF_DATAKIT (); +sub AF_DECnet (); +sub AF_DLI (); +sub AF_ECMA (); +sub AF_GOSIP (); +sub AF_HYLINK (); +sub AF_IMPLINK (); +sub AF_INET (); +sub AF_LAT (); +sub AF_MAX (); +sub AF_NBS (); +sub AF_NIT (); +sub AF_NS (); +sub AF_OSI (); +sub AF_OSINET (); +sub AF_PUP (); +sub AF_SNA (); +sub AF_UNIX (); +sub AF_UNSPEC (); +sub AF_X25 (); +sub IOV_MAX (); +sub MSG_BCAST (); +sub MSG_CTLFLAGS (); +sub MSG_CTLIGNORE (); +sub MSG_CTRUNC (); +sub MSG_DONTROUTE (); +sub MSG_DONTWAIT (); +sub MSG_EOF (); +sub MSG_EOR (); +sub MSG_ERRQUEUE (); +sub MSG_FIN (); +sub MSG_MAXIOVLEN (); +sub MSG_MCAST (); +sub MSG_NOSIGNAL (); +sub MSG_OOB (); +sub MSG_PEEK (); +sub MSG_PROXY (); +sub MSG_RST (); +sub MSG_SYN (); +sub MSG_TRUNC (); +sub MSG_URG (); +sub MSG_WAITALL (); +sub PF_802 (); +sub PF_APPLETALK (); +sub PF_CCITT (); +sub PF_CHAOS (); +sub PF_DATAKIT (); +sub PF_DECnet (); +sub PF_DLI (); +sub PF_ECMA (); +sub PF_GOSIP (); +sub PF_HYLINK (); +sub PF_IMPLINK (); +sub PF_INET (); +sub PF_LAT (); +sub PF_MAX (); +sub PF_NBS (); +sub PF_NIT (); +sub PF_NS (); +sub PF_OSI (); +sub PF_OSINET (); +sub PF_PUP (); +sub PF_SNA (); +sub PF_UNIX (); +sub PF_UNSPEC (); +sub PF_X25 (); +sub SCM_CONNECT (); +sub SCM_CREDENTIALS (); +sub SCM_CREDS (); +sub SCM_RIGHTS (); +sub SCM_TIMESTAMP (); +sub SHUT_RD (); +sub SHUT_RDWR (); +sub SHUT_WR (); +sub SOCK_DGRAM (); +sub SOCK_RAW (); +sub SOCK_RDM (); +sub SOCK_SEQPACKET (); +sub SOCK_STREAM (); +sub SOL_SOCKET (); +sub SOMAXCONN (); +sub SO_ACCEPTCONN (); +sub SO_BROADCAST (); +sub SO_DEBUG (); +sub SO_DONTLINGER (); +sub SO_DONTROUTE (); +sub SO_ERROR (); +sub SO_KEEPALIVE (); +sub SO_LINGER (); +sub SO_OOBINLINE (); +sub SO_RCVBUF (); +sub SO_RCVLOWAT (); +sub SO_RCVTIMEO (); +sub SO_REUSEADDR (); +sub SO_SNDBUF (); +sub SO_SNDLOWAT (); +sub SO_SNDTIMEO (); +sub SO_TYPE (); +sub SO_USELOOPBACK (); +sub UIO_MAXIOV (); sub AUTOLOAD { my($constname); @@ -318,10 +443,10 @@ sub AUTOLOAD { my ($pack,$file,$line) = caller; croak "Your vendor has not defined Socket macro $constname, used"; } - eval "sub $AUTOLOAD { $val }"; + eval "sub $AUTOLOAD () { $val }"; goto &$AUTOLOAD; } -bootstrap Socket $VERSION; +XSLoader::load 'Socket', $VERSION; 1; diff --git a/gnu/usr.bin/perl/ext/Socket/Socket.xs b/gnu/usr.bin/perl/ext/Socket/Socket.xs index 0bd6e590570..0584e785b52 100644 --- a/gnu/usr.bin/perl/ext/Socket/Socket.xs +++ b/gnu/usr.bin/perl/ext/Socket/Socket.xs @@ -1,3 +1,4 @@ +#define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" @@ -6,42 +7,58 @@ # ifdef I_SYS_TYPES # include # endif -#include -#ifdef MPE -# define PF_INET AF_INET -# define PF_UNIX AF_UNIX -# define SOCK_RAW 3 -#endif -#ifdef I_SYS_UN -#include -#endif +# include +# if defined(USE_SOCKS) && defined(I_SOCKS) +# include +# endif +# ifdef MPE +# define PF_INET AF_INET +# define PF_UNIX AF_UNIX +# define SOCK_RAW 3 +# endif +# ifdef I_SYS_UN +# include +# endif +/* XXX Configure test for +# endif # ifdef I_NETINET_IN # include # endif -#include -#ifdef I_ARPA_INET -# include -#endif +# ifdef I_NETDB +# include +# endif +# ifdef I_ARPA_INET +# include +# endif +# ifdef I_NETINET_TCP +# include +# endif #else -#include "sockadapt.h" +# include "sockadapt.h" +#endif + +#ifdef I_SYSUIO +# include #endif #ifndef AF_NBS -#undef PF_NBS +# undef PF_NBS #endif #ifndef AF_X25 -#undef PF_X25 +# undef PF_X25 #endif #ifndef INADDR_NONE -#define INADDR_NONE 0xffffffff +# define INADDR_NONE 0xffffffff #endif /* INADDR_NONE */ #ifndef INADDR_BROADCAST -#define INADDR_BROADCAST 0xffffffff +# define INADDR_BROADCAST 0xffffffff #endif /* INADDR_BROADCAST */ #ifndef INADDR_LOOPBACK -#define INADDR_LOOPBACK 0x7F000001 +# define INADDR_LOOPBACK 0x7F000001 #endif /* INADDR_LOOPBACK */ #ifndef HAS_INET_ATON @@ -56,6 +73,7 @@ static int my_inet_aton(register const char *cp, struct in_addr *addr) { + dTHX; register U32 val; register int base; register char c; @@ -322,6 +340,18 @@ constant(char *name, int arg) case 'H': break; case 'I': + if (strEQ(name, "IOV_MAX")) +#ifdef IOV_MAX + return IOV_MAX; +#else + goto not_there; +#endif + if (strEQ(name, "IPPROTO_TCP")) +#ifdef IPPROTO_TCP + return IPPROTO_TCP; +#else + goto not_there; +#endif break; case 'J': break; @@ -330,6 +360,12 @@ constant(char *name, int arg) case 'L': break; case 'M': + if (strEQ(name, "MSG_BCAST")) +#ifdef MSG_BCAST + return MSG_BCAST; +#else + goto not_there; +#endif if (strEQ(name, "MSG_CTLFLAGS")) #ifdef MSG_CTLFLAGS return MSG_CTLFLAGS; @@ -389,6 +425,12 @@ constant(char *name, int arg) return MSG_MAXIOVLEN; #else goto not_there; +#endif + if (strEQ(name, "MSG_MCAST")) +#ifdef MSG_MCAST + return MSG_MCAST; +#else + goto not_there; #endif if (strEQ(name, "MSG_NOSIGNAL")) #ifdef MSG_NOSIGNAL @@ -623,6 +665,24 @@ constant(char *name, int arg) return SCM_TIMESTAMP; #else goto not_there; +#endif + if (strEQ(name, "SHUT_RD")) +#ifdef SHUT_RD + return SHUT_RD; +#else + return 0; +#endif + if (strEQ(name, "SHUT_RDWR")) +#ifdef SHUT_RDWR + return SHUT_RDWR; +#else + return 2; +#endif + if (strEQ(name, "SHUT_WR")) +#ifdef SHUT_WR + return SHUT_WR; +#else + return 1; #endif if (strEQ(name, "SOCK_DGRAM")) #ifdef SOCK_DGRAM @@ -782,8 +842,44 @@ constant(char *name, int arg) #endif break; case 'T': + if (strEQ(name, "TCP_KEEPALIVE")) +#ifdef TCP_KEEPALIVE + return TCP_KEEPALIVE; +#else + goto not_there; +#endif + if (strEQ(name, "TCP_MAXRT")) +#ifdef TCP_MAXRT + return TCP_MAXRT; +#else + goto not_there; +#endif + if (strEQ(name, "TCP_MAXSEG")) +#ifdef TCP_MAXSEG + return TCP_MAXSEG; +#else + goto not_there; +#endif + if (strEQ(name, "TCP_NODELAY")) +#ifdef TCP_NODELAY + return TCP_NODELAY; +#else + goto not_there; +#endif + if (strEQ(name, "TCP_STDURG")) +#ifdef TCP_STDURG + return TCP_STDURG; +#else + goto not_there; +#endif break; case 'U': + if (strEQ(name, "UIO_MAXIOV")) +#ifdef UIO_MAXIOV + return UIO_MAXIOV; +#else + goto not_there; +#endif break; case 'V': break; @@ -851,7 +947,7 @@ inet_ntoa(ip_address_sv) Copy( ip_address, &addr, sizeof addr, char ); addr_str = inet_ntoa(addr); - ST(0) = sv_2mortal(newSVpv(addr_str, strlen(addr_str))); + ST(0) = sv_2mortal(newSVpvn(addr_str, strlen(addr_str))); } void @@ -862,13 +958,38 @@ pack_sockaddr_un(pathname) #ifdef I_SYS_UN struct sockaddr_un sun_ad; /* fear using sun */ STRLEN len; + Zero( &sun_ad, sizeof sun_ad, char ); sun_ad.sun_family = AF_UNIX; len = strlen(pathname); if (len > sizeof(sun_ad.sun_path)) len = sizeof(sun_ad.sun_path); +# ifdef OS2 /* Name should start with \socket\ and contain backslashes! */ + { + int off; + char *s, *e; + + if (pathname[0] != '/' && pathname[0] != '\\') + croak("Relative UNIX domain socket name '%s' unsupported", pathname); + else if (len < 8 + || pathname[7] != '/' && pathname[7] != '\\' + || !strnicmp(pathname + 1, "socket", 6)) + off = 7; + else + off = 0; /* Preserve names starting with \socket\ */ + Copy( "\\socket", sun_ad.sun_path, off, char); + Copy( pathname, sun_ad.sun_path + off, len, char ); + + s = sun_ad.sun_path + off - 1; + e = s + len + 1; + while (++s < e) + if (*s = '/') + *s = '\\'; + } +# else /* !( defined OS2 ) */ Copy( pathname, sun_ad.sun_path, len, char ); - ST(0) = sv_2mortal(newSVpv((char *)&sun_ad, sizeof sun_ad)); +# endif + ST(0) = sv_2mortal(newSVpvn((char *)&sun_ad, sizeof sun_ad)); #else ST(0) = (SV *) not_here("pack_sockaddr_un"); #endif @@ -903,7 +1024,7 @@ unpack_sockaddr_un(sun_sv) e = addr.sun_path; while (*e && e < addr.sun_path + sizeof addr.sun_path) ++e; - ST(0) = sv_2mortal(newSVpv(addr.sun_path, e - addr.sun_path)); + ST(0) = sv_2mortal(newSVpvn(addr.sun_path, e - addr.sun_path)); #else ST(0) = (SV *) not_here("unpack_sockaddr_un"); #endif @@ -922,7 +1043,7 @@ pack_sockaddr_in(port,ip_address) sin.sin_port = htons(port); Copy( ip_address, &sin.sin_addr, sizeof sin.sin_addr, char ); - ST(0) = sv_2mortal(newSVpv((char *)&sin, sizeof sin)); + ST(0) = sv_2mortal(newSVpvn((char *)&sin, sizeof sin)); } void @@ -952,7 +1073,7 @@ unpack_sockaddr_in(sin_sv) EXTEND(SP, 2); PUSHs(sv_2mortal(newSViv((IV) port))); - PUSHs(sv_2mortal(newSVpv((char *)&ip_address,sizeof ip_address))); + PUSHs(sv_2mortal(newSVpvn((char *)&ip_address,sizeof ip_address))); } void @@ -961,7 +1082,7 @@ INADDR_ANY() { struct in_addr ip_address; ip_address.s_addr = htonl(INADDR_ANY); - ST(0) = sv_2mortal(newSVpv((char *)&ip_address,sizeof ip_address )); + ST(0) = sv_2mortal(newSVpvn((char *)&ip_address,sizeof ip_address )); } void @@ -970,7 +1091,7 @@ INADDR_LOOPBACK() { struct in_addr ip_address; ip_address.s_addr = htonl(INADDR_LOOPBACK); - ST(0) = sv_2mortal(newSVpv((char *)&ip_address,sizeof ip_address)); + ST(0) = sv_2mortal(newSVpvn((char *)&ip_address,sizeof ip_address)); } void @@ -979,7 +1100,7 @@ INADDR_NONE() { struct in_addr ip_address; ip_address.s_addr = htonl(INADDR_NONE); - ST(0) = sv_2mortal(newSVpv((char *)&ip_address,sizeof ip_address)); + ST(0) = sv_2mortal(newSVpvn((char *)&ip_address,sizeof ip_address)); } void @@ -988,5 +1109,5 @@ INADDR_BROADCAST() { struct in_addr ip_address; ip_address.s_addr = htonl(INADDR_BROADCAST); - ST(0) = sv_2mortal(newSVpv((char *)&ip_address,sizeof ip_address)); + ST(0) = sv_2mortal(newSVpvn((char *)&ip_address,sizeof ip_address)); } diff --git a/gnu/usr.bin/perl/form.h b/gnu/usr.bin/perl/form.h index 0d3053d78b7..ca2a0c8433e 100644 --- a/gnu/usr.bin/perl/form.h +++ b/gnu/usr.bin/perl/form.h @@ -1,6 +1,6 @@ /* form.h * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2000, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/gnu/usr.bin/perl/gen_openbsd_mandep b/gnu/usr.bin/perl/gen_openbsd_mandep deleted file mode 100644 index 3438ffc67a5..00000000000 --- a/gnu/usr.bin/perl/gen_openbsd_mandep +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/perl -# -# Hacked version of installman that just prints out dependencies for -# Makefile.bsd-wrapper. When upgrading to a new version of perl, -# look at the runpod2man() calls in installman and duplicate here. -# -use Getopt::Long; -use File::Find; -require Cwd; - -umask 022; - -$usage = -"Usage: gen_openbsd_mandep --man1ext=cat1 --man3ext=cat3p - Defaults are: - man1ext = cat1 - man3ext = cat3p -"; -GetOptions( qw( man1ext=s man3ext=s help) ) || die $usage; -die $usage if $opt_help; - -# These are written funny to avoid -w typo warnings. -$man1ext = defined($opt_man1ext) ? $opt_man1ext : 'cat1'; -$man3ext = defined($opt_man3ext) ? $opt_man3ext : 'cat3p'; - -print "# Dependecies generated by the ``gen_openbsd_mandep'' script\n"; - -# Convert the main pod pages. -runpod2man('pod', $man1ext); - -# Convert the pods for library modules. -runpod2man('lib', $man3ext); - -# Convert the pods embedded in the installed scripts -runpod2man('utils', $man1ext, 'c2ph'); -runpod2man('utils', $man1ext, 'h2ph'); -runpod2man('utils', $man1ext, 'h2xs'); -runpod2man('utils', $man1ext, 'perldoc'); -runpod2man('utils', $man1ext, 'perlbug'); -runpod2man('utils', $man1ext, 'pl2pm'); -runpod2man('utils', $man1ext, 'splain'); -runpod2man('x2p', $man1ext, 's2p'); -runpod2man('x2p', $man1ext, 'a2p.pod'); -runpod2man('pod', $man1ext, 'pod2man'); -runpod2man('pod', $man1ext, 'pod2html'); - -runpod2man('lib/ExtUtils', $man1ext, 'xsubpp'); - -# Man links -print " - -MLINKS= c2ph.1 pstruct.1 - -"; - -# Print MANALL decl -$manall_lines[0] =~ s/^/MANALL=/; -foreach (@manall_lines) { - print $_; -} -print "$manall_line\n" if defined($manall_line); - -sub runpod2man { - # $script is script name if we are installing a manpage embedded - # in a script, undef otherwise - my($poddir, $manext, $script) = @_; - - my($downdir); # can't just use .. when installing xsubpp manpage - - $downdir = $poddir; - $downdir =~ s:[^/]+:..:g; - my($builddir) = Cwd::getcwd(); - - chdir $poddir || die "Unable to cd to $poddir directory!\n$!\n"; - - # Use 1, not cat1 as section - $manext =~ /^(cat)?(.*)$/; - $pod2man = "\${POD2MAN} --section=$2 --official"; - - # Make a list of all the .pm and .pod files in the directory. - if ($script) { - @modpods = ($script); - } else { - @modpods = (); - find(\&lsmodpods, '.'); - } - foreach $mod (@modpods) { - $manpage = $mod; - my $tmp; - # Skip .pm files that have corresponding .pod files, and Functions.pm. - next if (($tmp = $mod) =~ s/\.pm$/.pod/ && -f $tmp); - next if ($mod eq 'Pod/Functions.pm'); #### Used only by pod itself - - # Convert name from File/Basename.pm to File::Basename.3 format, - # if necessary. - $manpage =~ s#\.p(m|od)$##; - if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'uwin') { - $manpage =~ s#/#.#g; - } else { - $manpage =~ s#/#::#g; - } - $manpage .= ".${manext}"; - # Print out the dependency - print "$manpage: $poddir/$mod\n\t$pod2man", ' ${.ALLSRC} | ${NROFF} -man > ${.TARGET}', "\n"; - # Store for MANALL decl later on - if (length($manall_line) + length($manpage) > 69) { - push(@manall_lines, "$manall_line \\\n"); - undef($manall_line); - } - if (defined($manall_line)) { - $manall_line .= " $manpage"; - } else { - $manall_line = "\t$manpage"; - } - } - chdir "$builddir" || die "Unable to cd back to $builddir directory!\n$!\n"; -} - -sub lsmodpods { - my $dir = $File::Find::dir; - my $name = $File::Find::name; - if (-f $_) { - $name =~ s#^\./##; - push(@modpods, $name) if ($name =~ /\.p(m|od)$/); - } -} - -exit 0; diff --git a/gnu/usr.bin/perl/global.sym b/gnu/usr.bin/perl/global.sym index 99edf17782f..95e7775609c 100644 --- a/gnu/usr.bin/perl/global.sym +++ b/gnu/usr.bin/perl/global.sym @@ -1,1074 +1,539 @@ -# Global symbols that need to be hidden in embedded applications. +# +# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! +# This file is autogenerated from data in embed.pl. Edit that file +# and run 'make regen_headers' to effect changes. +# -# Variables - should not be here but in perlvars.h - -AMG_names -Error -abs_amg -add_amg -add_ass_amg -additem -atan2_amg -band_amg -block_type -bool__amg -bor_amg -bxor_amg -check -compl_amg -concat_amg -concat_ass_amg -cos_amg -dc -dec_amg -di -div_amg -div_ass_amg -do_binmode -ds -eq_amg -exp_amg -expectterm -fallback_amg -fold -fold_locale -freq -ge_amg -gt_amg -inc_amg -init_thread_intern -io_close -know_next -le_amg -log_amg -lshift_amg -lshift_ass_amg -lt_amg -mod_amg -mod_ass_amg -mult_amg -mult_ass_amg -ncmp_amg -ne_amg -neg_amg -new_struct_thread -new_stackinfo -no_aelem -no_dir_func -no_func -no_helem -no_mem -no_modify -no_myglob -no_security -no_sock_func -no_symref -no_usym -no_wrongref -nointrp -nomem -nomethod_amg -not_amg -numer_amg -op_const_sv -op_desc -op_name -opargs -pow_amg -pow_ass_amg -ppaddr -psig_name -psig_ptr -reall_srchlen -regkind -repeat_amg -repeat_ass_amg -rshift_amg -rshift_ass_amg -runops_debug -runops_standard -saw_return -scmp_amg -seq_amg -sge_amg -sgt_amg -sig_name -sig_num -simple -sin_amg -sle_amg -slt_amg -sne_amg -sqrt_amg -string_amg -subtr_amg -subtr_ass_amg -varies -vivify_defelem -vivify_ref -vtbl_amagic -vtbl_amagicelem -vtbl_arylen -vtbl_bm -vtbl_collxfrm -vtbl_dbline -vtbl_defelem -vtbl_env -vtbl_envelem -vtbl_fm -vtbl_glob -vtbl_isa -vtbl_isaelem -vtbl_mglob -vtbl_mutex -vtbl_nkeys -vtbl_pack -vtbl_packelem -vtbl_pos -vtbl_regexp -vtbl_sig -vtbl_sigelem -vtbl_substr -vtbl_sv -vtbl_taint -vtbl_uvar -vtbl_vec -warn_nl -warn_nosemi -warn_reserved -warn_uninit -watchaddr -watchok -yychar -yycheck -yydebug -yydefred -yydgoto -yyerrflag -yygindex -yylen -yylhs -yylval -yyname -yynerrs -yyrindex -yyrule -yysindex -yytable -yyval - -# Functions - -Gv_AMupdate -amagic_call -append_elem -append_list -apply -assertref -av_clear -av_extend -av_fake -av_fetch -av_fill -av_len -av_make -av_pop -av_push -av_reify -av_shift -av_store -av_undef -av_unshift -avhv_exists_ent -avhv_fetch_ent -avhv_iternext -avhv_iterval -avhv_keys -bind_match -block_end -block_gimme -block_start -boot_core_UNIVERSAL -bset_obj_store -byterun -call_list -cando -cast_ulong -check_uni -checkcomma -ck_aelem -ck_anoncode -ck_bitop -ck_concat -ck_delete -ck_eof -ck_eval -ck_exec -ck_exists -ck_ftst -ck_fun -ck_fun_locale -ck_glob -ck_grep -ck_gvconst -ck_index -ck_lengthconst -ck_lfun -ck_listiob -ck_match -ck_null -ck_repeat -ck_require -ck_retarget -ck_rfun -ck_rvconst -ck_scmp -ck_select -ck_shift -ck_sort -ck_spair -ck_split -ck_subr -ck_svconst -ck_trunc -condpair_magic -convert -croak -cv_ckproto -cv_clone -cv_const_sv -cv_undef -cx_dump -cxinc -deb -deb_growlevel -debop -debprofdump -debstack -debstackptrs -delimcpy -deprecate -die -die_where -do_aexec -do_chomp -do_chop -do_close -do_eof -do_exec -do_execfree -do_ipcctl -do_ipcget -do_join -do_kv -do_msgrcv -do_msgsnd -do_open -do_pipe -do_print -do_readline -do_seek -do_semop -do_shmio -do_sprintf -do_sysseek -do_tell -do_trans -do_vecset -do_vop -dofile -dofindlabel -dopoptoeval -dounwind -dowantarray -dump_all -dump_eval -dump_fds -dump_form -dump_gv -dump_mstats -dump_op -dump_packsubs -dump_pm -dump_sub -fbm_compile -fbm_instr -fetch_gv -fetch_io -filter_add -filter_del -filter_read -find_script -find_threadsv -fold_constants -force_ident -force_list -force_next -force_word -form -free_tmps -gen_constant_list -get_op_descs -get_op_names -get_no_modify -get_opargs -get_specialsv_list -get_vtbl -gp_free -gp_ref -gv_AVadd -gv_HVadd -gv_IOadd -gv_autoload4 -gv_check -gv_efullname -gv_efullname3 -gv_fetchfile -gv_fetchmeth -gv_fetchmethod -gv_fetchmethod_autoload -gv_fetchpv -gv_fullname -gv_fullname3 -gv_init -gv_stashpv -gv_stashpvn -gv_stashsv -hv_clear -hv_delayfree_ent -hv_delete -hv_delete_ent -hv_exists -hv_exists_ent -hv_fetch -hv_fetch_ent -hv_free_ent -hv_iterinit -hv_iterkey -hv_iterkeysv -hv_iternext -hv_iternextsv -hv_iterval -hv_ksplit -hv_magic -hv_stashpv -hv_store -hv_store_ent -hv_undef -ibcmp -ibcmp_locale -ingroup -init_stacks -instr -intro_my -intuit_more -invert -jmaybe -keyword -leave_scope -lex_end -lex_start -linklist -list -listkids -localize -looks_like_number -magic_clear_all_env -magic_clearenv -magic_clearpack -magic_clearsig -magic_existspack -magic_freeregexp -magic_get -magic_getarylen -magic_getdefelem -magic_getglob -magic_getnkeys -magic_getpack -magic_getpos -magic_getsig -magic_getsubstr -magic_gettaint -magic_getuvar -magic_getvec -magic_len -magic_mutexfree -magic_nextpack -magic_set -magic_set_all_env -magic_setamagic -magic_setarylen -magic_setbm -magic_setcollxfrm -magic_setdbline -magic_setdefelem -magic_setenv -magic_setfm -magic_setglob -magic_setisa -magic_setmglob -magic_setnkeys -magic_setpack -magic_setpos -magic_setsig -magic_setsubstr -magic_settaint -magic_setuvar -magic_setvec -magic_sizepack -magic_wipepack -magicname -malloced_size -markstack_grow -mem_collxfrm -mess -mg_clear -mg_copy -mg_find -mg_free -mg_get -mg_length -mg_magical -mg_set -mg_size -mod -modkids -moreswitches -mstats -my -my_bcopy -my_bzero -my_chsize -my_exit -my_failure_exit -my_htonl -my_lstat -my_memcmp -my_memset -my_ntohl -my_pclose -my_popen -my_setenv -my_stat -my_swap -my_unexec -newANONHASH -newANONLIST -newANONSUB -newASSIGNOP -newAV -newAVREF -newBINOP -newCONDOP -newCONSTSUB -newCVREF -newFORM -newFOROP -newGVOP -newGVREF -newGVgen -newHV -newHVREF -newHVhv -newIO -newLISTOP -newLOGOP -newLOOPEX -newLOOPOP -newNULLLIST -newOP -newPMOP -newPROG -newPVOP -newRANGE -newRV -newRV_noinc -newSLICEOP -newSTATEOP -newSUB -newSV -newSVOP -newSVREF -newSViv -newSVnv -newSVpv -newSVpvf -newSVpvn -newSVrv -newSVsv -newUNOP -newWHILEOP -newXS -newXSUB -nextargv -ninstr -no_fh_allowed -no_op -oopsAV -oopsCV -oopsHV -op_free -package -pad_alloc -pad_allocmy -pad_findmy -pad_free -pad_leavemy -pad_reset -pad_sv -pad_swipe -peep -pidgone -pmflag -pmruntime -pmtrans -pop_return -pop_scope -pp_aassign -pp_abs -pp_accept -pp_add -pp_aelem -pp_aelemfast -pp_alarm -pp_and -pp_andassign -pp_anoncode -pp_anonhash -pp_anonlist -pp_aslice -pp_atan2 -pp_av2arylen -pp_backtick -pp_bind -pp_binmode -pp_bit_and -pp_bit_or -pp_bit_xor -pp_bless -pp_caller -pp_chdir -pp_chmod -pp_chomp -pp_chop -pp_chown -pp_chr -pp_chroot -pp_close -pp_closedir -pp_complement -pp_concat -pp_cond_expr -pp_connect -pp_const -pp_cos -pp_crypt -pp_cswitch -pp_dbmclose -pp_dbmopen -pp_dbstate -pp_defined -pp_delete -pp_die -pp_divide -pp_dofile -pp_dump -pp_each -pp_egrent -pp_ehostent -pp_enetent -pp_enter -pp_entereval -pp_enteriter -pp_enterloop -pp_entersub -pp_entersubr -pp_entertry -pp_enterwrite -pp_eof -pp_eprotoent -pp_epwent -pp_eq -pp_eservent -pp_evalonce -pp_exec -pp_exists -pp_exit -pp_exp -pp_fcntl -pp_fileno -pp_flip -pp_flock -pp_flop -pp_fork -pp_formline -pp_ftatime -pp_ftbinary -pp_ftblk -pp_ftchr -pp_ftctime -pp_ftdir -pp_fteexec -pp_fteowned -pp_fteread -pp_ftewrite -pp_ftfile -pp_ftis -pp_ftlink -pp_ftmtime -pp_ftpipe -pp_ftrexec -pp_ftrowned -pp_ftrread -pp_ftrwrite -pp_ftsgid -pp_ftsize -pp_ftsock -pp_ftsuid -pp_ftsvtx -pp_fttext -pp_fttty -pp_ftzero -pp_ge -pp_gelem -pp_getc -pp_getlogin -pp_getpeername -pp_getpgrp -pp_getppid -pp_getpriority -pp_getsockname -pp_ggrent -pp_ggrgid -pp_ggrnam -pp_ghbyaddr -pp_ghbyname -pp_ghostent -pp_glob -pp_gmtime -pp_gnbyaddr -pp_gnbyname -pp_gnetent -pp_goto -pp_gpbyname -pp_gpbynumber -pp_gprotoent -pp_gpwent -pp_gpwnam -pp_gpwuid -pp_grepstart -pp_grepwhile -pp_gsbyname -pp_gsbyport -pp_gservent -pp_gsockopt -pp_gt -pp_gv -pp_gvsv -pp_helem -pp_hex -pp_hslice -pp_i_add -pp_i_divide -pp_i_eq -pp_i_ge -pp_i_gt -pp_i_le -pp_i_lt -pp_i_modulo -pp_i_multiply -pp_i_ncmp -pp_i_ne -pp_i_negate -pp_i_subtract -pp_index -pp_int -pp_interp -pp_ioctl -pp_iter -pp_join -pp_keys -pp_kill -pp_last -pp_lc -pp_lcfirst -pp_le -pp_leave -pp_leaveeval -pp_leaveloop -pp_leavesub -pp_leavetry -pp_leavewrite -pp_left_shift -pp_length -pp_lineseq -pp_link -pp_list -pp_listen -pp_localtime -pp_lock -pp_log -pp_lslice -pp_lstat -pp_lt -pp_map -pp_mapstart -pp_mapwhile -pp_match -pp_method -pp_mkdir -pp_modulo -pp_msgctl -pp_msgget -pp_msgrcv -pp_msgsnd -pp_multiply -pp_ncmp -pp_ne -pp_negate -pp_next -pp_nextstate -pp_not -pp_nswitch -pp_null -pp_oct -pp_open -pp_open_dir -pp_or -pp_orassign -pp_ord -pp_pack -pp_padany -pp_padav -pp_padhv -pp_padsv -pp_pipe_op -pp_pop -pp_pos -pp_postdec -pp_postinc -pp_pow -pp_predec -pp_preinc -pp_print -pp_prototype -pp_prtf -pp_push -pp_pushmark -pp_pushre -pp_qr -pp_quotemeta -pp_rand -pp_range -pp_rcatline -pp_read -pp_readdir -pp_readline -pp_readlink -pp_recv -pp_redo -pp_ref -pp_refgen -pp_regcmaybe -pp_regcreset -pp_regcomp -pp_rename -pp_repeat -pp_require -pp_reset -pp_return -pp_reverse -pp_rewinddir -pp_right_shift -pp_rindex -pp_rmdir -pp_rv2av -pp_rv2cv -pp_rv2gv -pp_rv2hv -pp_rv2sv -pp_sassign -pp_scalar -pp_schomp -pp_schop -pp_scmp -pp_scope -pp_seek -pp_seekdir -pp_select -pp_semctl -pp_semget -pp_semop -pp_send -pp_seq -pp_setpgrp -pp_setpriority -pp_sge -pp_sgrent -pp_sgt -pp_shift -pp_shmctl -pp_shmget -pp_shmread -pp_shmwrite -pp_shostent -pp_shutdown -pp_sin -pp_sle -pp_sleep -pp_slt -pp_sne -pp_snetent -pp_socket -pp_sockpair -pp_sort -pp_splice -pp_split -pp_sprintf -pp_sprotoent -pp_spwent -pp_sqrt -pp_srand -pp_srefgen -pp_sselect -pp_sservent -pp_ssockopt -pp_stat -pp_stringify -pp_stub -pp_study -pp_subst -pp_substcont -pp_substr -pp_subtract -pp_symlink -pp_syscall -pp_sysopen -pp_sysread -pp_sysseek -pp_system -pp_syswrite -pp_tell -pp_telldir -pp_threadsv -pp_tie -pp_tied -pp_time -pp_tms -pp_trans -pp_truncate -pp_uc -pp_ucfirst -pp_umask -pp_undef -pp_unlink -pp_unpack -pp_unshift -pp_unstack -pp_untie -pp_utime -pp_values -pp_vec -pp_wait -pp_waitpid -pp_wantarray -pp_warn -pp_xor -pregcomp -pregexec -pregfree -prepend_elem -push_return -push_scope -q -ref -refkids -regdump -regexec_flags -regnext -regprop -repeatcpy -rninstr -rsignal -rsignal_restore -rsignal_save -rsignal_state -rxres_free -rxres_restore -rxres_save -safecalloc -safefree -safemalloc -saferealloc -safexcalloc -safexfree -safexmalloc -safexrealloc -same_dirent -save_I16 -save_I32 -save_aelem -save_aptr -save_ary -save_clearsv -save_delete -save_destructor -save_freeop -save_freepv -save_freesv -save_generic_svref -save_gp -save_hash -save_helem -save_hints -save_hptr -save_int -save_item -save_iv -save_list -save_long -save_nogv -save_op -save_pptr -save_scalar -save_sptr -save_svref -save_threadsv -savepv -savepvn -savestack_grow -sawparens -scalar -scalarkids -scalarseq -scalarvoid -scan_const -scan_formline -scan_heredoc -scan_hex -scan_ident -scan_inputsymbol -scan_num -scan_oct -scan_pat -scan_prefix -scan_str -scan_subst -scan_trans -scan_word -scope -screaminstr -setdefout -setenv_getix -share_hek -sharepvn -sighandler -skipspace -stack_grow -start_subparse -sub_crush_depth -sv_2bool -sv_2cv -sv_2io -sv_2iv -sv_2mortal -sv_2nv -sv_2pv -sv_2uv -sv_add_arena -sv_backoff -sv_bless -sv_catpv -sv_catpv_mg -sv_catpvf -sv_catpvf_mg -sv_catpvn -sv_catpvn_mg -sv_catsv -sv_catsv_mg -sv_chop -sv_clean_all -sv_clean_objs -sv_clear -sv_cmp -sv_cmp_locale -sv_collxfrm -sv_compile_2op -sv_dec -sv_derived_from -sv_dump -sv_eq -sv_free -sv_free_arenas -sv_gets -sv_grow -sv_inc -sv_insert -sv_isa -sv_isobject -sv_iv -sv_len -sv_magic -sv_mortalcopy -sv_newmortal -sv_newref -sv_nv -sv_peek -sv_pvn -sv_pvn_force -sv_ref -sv_reftype -sv_replace -sv_report_used -sv_reset -sv_setiv -sv_setiv_mg -sv_setnv -sv_setnv_mg -sv_setptrobj -sv_setpv -sv_setpv_mg -sv_setpvf -sv_setpvf_mg -sv_setpviv -sv_setpviv_mg -sv_setpvn -sv_setpvn_mg -sv_setref_iv -sv_setref_nv -sv_setref_pv -sv_setref_pvn -sv_setsv -sv_setsv_mg -sv_setuv -sv_setuv_mg -sv_taint -sv_tainted -sv_true -sv_unmagic -sv_unref -sv_untaint -sv_upgrade -sv_usepvn -sv_usepvn_mg -sv_uv -sv_vcatpvfn -sv_vsetpvfn -taint_env -taint_proper -too_few_arguments -too_many_arguments -unlnk -unlock_condpair -unshare_hek -unsharepvn -utilize -wait4pid -warn -watch -whichsig -yydestruct -yyerror -yylex -yyparse -yywarn +perl_alloc_using +perl_alloc +perl_construct +perl_destruct +perl_free +perl_run +perl_parse +perl_clone +perl_clone_using +Perl_malloc +Perl_calloc +Perl_realloc +Perl_mfree +Perl_get_context +Perl_set_context +Perl_amagic_call +Perl_Gv_AMupdate +Perl_avhv_delete_ent +Perl_avhv_exists_ent +Perl_avhv_fetch_ent +Perl_avhv_store_ent +Perl_avhv_iternext +Perl_avhv_iterval +Perl_avhv_keys +Perl_av_clear +Perl_av_delete +Perl_av_exists +Perl_av_extend +Perl_av_fake +Perl_av_fetch +Perl_av_fill +Perl_av_len +Perl_av_make +Perl_av_pop +Perl_av_push +Perl_av_reify +Perl_av_shift +Perl_av_store +Perl_av_undef +Perl_av_unshift +Perl_block_gimme +Perl_call_list +Perl_cast_ulong +Perl_cast_i32 +Perl_cast_iv +Perl_cast_uv +Perl_my_chsize +Perl_condpair_magic +Perl_croak +Perl_vcroak +Perl_croak_nocontext +Perl_die_nocontext +Perl_deb_nocontext +Perl_form_nocontext +Perl_load_module_nocontext +Perl_mess_nocontext +Perl_warn_nocontext +Perl_warner_nocontext +Perl_newSVpvf_nocontext +Perl_sv_catpvf_nocontext +Perl_sv_setpvf_nocontext +Perl_sv_catpvf_mg_nocontext +Perl_sv_setpvf_mg_nocontext +Perl_fprintf_nocontext +Perl_cv_const_sv +Perl_cv_undef +Perl_cx_dump +Perl_filter_add +Perl_filter_del +Perl_filter_read +Perl_get_op_descs +Perl_get_op_names +Perl_get_ppaddr +Perl_deb +Perl_vdeb +Perl_debprofdump +Perl_debop +Perl_debstack +Perl_debstackptrs +Perl_delimcpy +Perl_die +Perl_dounwind +Perl_do_binmode +Perl_do_close +Perl_do_open +Perl_do_open9 +Perl_dowantarray +Perl_dump_all +Perl_dump_eval +Perl_dump_fds +Perl_dump_form +Perl_gv_dump +Perl_op_dump +Perl_pmop_dump +Perl_dump_packsubs +Perl_dump_sub +Perl_fbm_compile +Perl_fbm_instr +Perl_form +Perl_vform +Perl_free_tmps +Perl_gp_free +Perl_gp_ref +Perl_gv_AVadd +Perl_gv_HVadd +Perl_gv_IOadd +Perl_gv_autoload4 +Perl_gv_check +Perl_gv_efullname +Perl_gv_efullname3 +Perl_gv_fetchfile +Perl_gv_fetchmeth +Perl_gv_fetchmethod +Perl_gv_fetchmethod_autoload +Perl_gv_fetchpv +Perl_gv_fullname +Perl_gv_fullname3 +Perl_gv_init +Perl_gv_stashpv +Perl_gv_stashpvn +Perl_gv_stashsv +Perl_hv_clear +Perl_hv_delayfree_ent +Perl_hv_delete +Perl_hv_delete_ent +Perl_hv_exists +Perl_hv_exists_ent +Perl_hv_fetch +Perl_hv_fetch_ent +Perl_hv_free_ent +Perl_hv_iterinit +Perl_hv_iterkey +Perl_hv_iterkeysv +Perl_hv_iternext +Perl_hv_iternextsv +Perl_hv_iterval +Perl_hv_ksplit +Perl_hv_magic +Perl_hv_store +Perl_hv_store_ent +Perl_hv_undef +Perl_ibcmp +Perl_ibcmp_locale +Perl_init_stacks +Perl_instr +Perl_is_uni_alnum +Perl_is_uni_alnumc +Perl_is_uni_idfirst +Perl_is_uni_alpha +Perl_is_uni_ascii +Perl_is_uni_space +Perl_is_uni_cntrl +Perl_is_uni_graph +Perl_is_uni_digit +Perl_is_uni_upper +Perl_is_uni_lower +Perl_is_uni_print +Perl_is_uni_punct +Perl_is_uni_xdigit +Perl_to_uni_upper +Perl_to_uni_title +Perl_to_uni_lower +Perl_is_uni_alnum_lc +Perl_is_uni_alnumc_lc +Perl_is_uni_idfirst_lc +Perl_is_uni_alpha_lc +Perl_is_uni_ascii_lc +Perl_is_uni_space_lc +Perl_is_uni_cntrl_lc +Perl_is_uni_graph_lc +Perl_is_uni_digit_lc +Perl_is_uni_upper_lc +Perl_is_uni_lower_lc +Perl_is_uni_print_lc +Perl_is_uni_punct_lc +Perl_is_uni_xdigit_lc +Perl_to_uni_upper_lc +Perl_to_uni_title_lc +Perl_to_uni_lower_lc +Perl_is_utf8_char +Perl_is_utf8_alnum +Perl_is_utf8_alnumc +Perl_is_utf8_idfirst +Perl_is_utf8_alpha +Perl_is_utf8_ascii +Perl_is_utf8_space +Perl_is_utf8_cntrl +Perl_is_utf8_digit +Perl_is_utf8_graph +Perl_is_utf8_upper +Perl_is_utf8_lower +Perl_is_utf8_print +Perl_is_utf8_punct +Perl_is_utf8_xdigit +Perl_is_utf8_mark +Perl_leave_scope +Perl_load_module +Perl_vload_module +Perl_looks_like_number +Perl_markstack_grow +Perl_mess +Perl_vmess +Perl_mg_clear +Perl_mg_copy +Perl_mg_find +Perl_mg_free +Perl_mg_get +Perl_mg_length +Perl_mg_magical +Perl_mg_set +Perl_mg_size +Perl_moreswitches +Perl_my_atof +Perl_my_bcopy +Perl_my_bzero +Perl_my_exit +Perl_my_failure_exit +Perl_my_fflush_all +Perl_my_lstat +Perl_my_memcmp +Perl_my_memset +Perl_my_pclose +Perl_my_popen +Perl_my_setenv +Perl_my_stat +Perl_my_swap +Perl_my_htonl +Perl_my_ntohl +Perl_newANONLIST +Perl_newANONHASH +Perl_newANONSUB +Perl_newASSIGNOP +Perl_newCONDOP +Perl_newCONSTSUB +Perl_newFORM +Perl_newFOROP +Perl_newLOGOP +Perl_newLOOPEX +Perl_newLOOPOP +Perl_newNULLLIST +Perl_newOP +Perl_newPROG +Perl_newRANGE +Perl_newSLICEOP +Perl_newSTATEOP +Perl_newSUB +Perl_newXS +Perl_newAV +Perl_newAVREF +Perl_newBINOP +Perl_newCVREF +Perl_newGVOP +Perl_newGVgen +Perl_newGVREF +Perl_newHVREF +Perl_newHV +Perl_newHVhv +Perl_newIO +Perl_newLISTOP +Perl_newPADOP +Perl_newPMOP +Perl_newPVOP +Perl_newRV +Perl_newRV_noinc +Perl_newSV +Perl_newSVREF +Perl_newSVOP +Perl_newSViv +Perl_newSVuv +Perl_newSVnv +Perl_newSVpv +Perl_newSVpvn +Perl_newSVpvf +Perl_vnewSVpvf +Perl_newSVrv +Perl_newSVsv +Perl_newUNOP +Perl_newWHILEOP +Perl_new_stackinfo +Perl_ninstr +Perl_op_free +Perl_pad_sv +Perl_new_struct_thread +Perl_call_atexit +Perl_call_argv +Perl_call_method +Perl_call_pv +Perl_call_sv +Perl_eval_pv +Perl_eval_sv +Perl_get_sv +Perl_get_av +Perl_get_hv +Perl_get_cv +Perl_init_i18nl10n +Perl_init_i18nl14n +Perl_new_collate +Perl_new_ctype +Perl_new_numeric +Perl_set_numeric_local +Perl_set_numeric_radix +Perl_set_numeric_standard +Perl_require_pv +Perl_pmflag +Perl_pop_scope +Perl_push_scope +Perl_regdump +Perl_pregexec +Perl_pregfree +Perl_pregcomp +Perl_re_intuit_start +Perl_re_intuit_string +Perl_regexec_flags +Perl_regnext +Perl_repeatcpy +Perl_rninstr +Perl_savepv +Perl_savepvn +Perl_savestack_grow +Perl_save_aelem +Perl_save_alloc +Perl_save_aptr +Perl_save_ary +Perl_save_clearsv +Perl_save_delete +Perl_save_destructor +Perl_save_destructor_x +Perl_save_freesv +Perl_save_freepv +Perl_save_generic_svref +Perl_save_gp +Perl_save_hash +Perl_save_helem +Perl_save_hints +Perl_save_hptr +Perl_save_I16 +Perl_save_I32 +Perl_save_I8 +Perl_save_int +Perl_save_item +Perl_save_iv +Perl_save_list +Perl_save_long +Perl_save_nogv +Perl_save_scalar +Perl_save_pptr +Perl_save_vptr +Perl_save_re_context +Perl_save_sptr +Perl_save_svref +Perl_save_threadsv +Perl_scan_bin +Perl_scan_hex +Perl_scan_num +Perl_scan_oct +Perl_screaminstr +Perl_sharepvn +Perl_stack_grow +Perl_start_subparse +Perl_sv_2bool +Perl_sv_2cv +Perl_sv_2io +Perl_sv_2iv +Perl_sv_2mortal +Perl_sv_2nv +Perl_sv_2pv +Perl_sv_2pvutf8 +Perl_sv_2pvbyte +Perl_sv_2uv +Perl_sv_iv +Perl_sv_uv +Perl_sv_nv +Perl_sv_pvn +Perl_sv_pvutf8n +Perl_sv_pvbyten +Perl_sv_true +Perl_sv_backoff +Perl_sv_bless +Perl_sv_catpvf +Perl_sv_vcatpvf +Perl_sv_catpv +Perl_sv_catpvn +Perl_sv_catsv +Perl_sv_chop +Perl_sv_clear +Perl_sv_cmp +Perl_sv_cmp_locale +Perl_sv_collxfrm +Perl_sv_compile_2op +Perl_sv_dec +Perl_sv_dump +Perl_sv_derived_from +Perl_sv_eq +Perl_sv_free +Perl_sv_gets +Perl_sv_grow +Perl_sv_inc +Perl_sv_insert +Perl_sv_isa +Perl_sv_isobject +Perl_sv_len +Perl_sv_len_utf8 +Perl_sv_magic +Perl_sv_mortalcopy +Perl_sv_newmortal +Perl_sv_newref +Perl_sv_peek +Perl_sv_pos_u2b +Perl_sv_pos_b2u +Perl_sv_pvn_force +Perl_sv_pvutf8n_force +Perl_sv_pvbyten_force +Perl_sv_reftype +Perl_sv_replace +Perl_sv_report_used +Perl_sv_reset +Perl_sv_setpvf +Perl_sv_vsetpvf +Perl_sv_setiv +Perl_sv_setpviv +Perl_sv_setuv +Perl_sv_setnv +Perl_sv_setref_iv +Perl_sv_setref_nv +Perl_sv_setref_pv +Perl_sv_setref_pvn +Perl_sv_setpv +Perl_sv_setpvn +Perl_sv_setsv +Perl_sv_taint +Perl_sv_tainted +Perl_sv_unmagic +Perl_sv_unref +Perl_sv_untaint +Perl_sv_upgrade +Perl_sv_usepvn +Perl_sv_vcatpvfn +Perl_sv_vsetpvfn +Perl_str_to_version +Perl_swash_init +Perl_swash_fetch +Perl_taint_env +Perl_taint_proper +Perl_to_utf8_lower +Perl_to_utf8_upper +Perl_to_utf8_title +Perl_unlnk +Perl_unlock_condpair +Perl_unsharepvn +Perl_utf16_to_utf8 +Perl_utf16_to_utf8_reversed +Perl_utf8_distance +Perl_utf8_hop +Perl_utf8_to_uv +Perl_uv_to_utf8 +Perl_warn +Perl_vwarn +Perl_warner +Perl_vwarner +Perl_dump_mstats +Perl_get_mstats +Perl_safesysmalloc +Perl_safesyscalloc +Perl_safesysrealloc +Perl_safesysfree +Perl_safexmalloc +Perl_safexcalloc +Perl_safexrealloc +Perl_safexfree +Perl_GetVars +Perl_runops_standard +Perl_runops_debug +Perl_sv_catpvf_mg +Perl_sv_vcatpvf_mg +Perl_sv_catpv_mg +Perl_sv_catpvn_mg +Perl_sv_catsv_mg +Perl_sv_setpvf_mg +Perl_sv_vsetpvf_mg +Perl_sv_setiv_mg +Perl_sv_setpviv_mg +Perl_sv_setuv_mg +Perl_sv_setnv_mg +Perl_sv_setpv_mg +Perl_sv_setpvn_mg +Perl_sv_setsv_mg +Perl_sv_usepvn_mg +Perl_get_vtbl +Perl_dump_indent +Perl_dump_vindent +Perl_do_gv_dump +Perl_do_gvgv_dump +Perl_do_hv_dump +Perl_do_magic_dump +Perl_do_op_dump +Perl_do_pmop_dump +Perl_do_sv_dump +Perl_magic_dump +Perl_default_protect +Perl_vdefault_protect +Perl_reginitcolors +Perl_sv_2pv_nolen +Perl_sv_2pvutf8_nolen +Perl_sv_2pvbyte_nolen +Perl_sv_pv +Perl_sv_pvutf8 +Perl_sv_pvbyte +Perl_sv_utf8_upgrade +Perl_sv_utf8_downgrade +Perl_sv_utf8_encode +Perl_sv_utf8_decode +Perl_sv_force_normal +Perl_tmps_grow +Perl_sv_rvweaken +Perl_newANONATTRSUB +Perl_newATTRSUB +Perl_newMYSUB +Perl_cx_dup +Perl_si_dup +Perl_ss_dup +Perl_any_dup +Perl_he_dup +Perl_re_dup +Perl_fp_dup +Perl_dirp_dup +Perl_gp_dup +Perl_mg_dup +Perl_sv_dup +Perl_sys_intern_dup +Perl_ptr_table_new +Perl_ptr_table_fetch +Perl_ptr_table_store +Perl_ptr_table_split diff --git a/gnu/usr.bin/perl/gv.c b/gnu/usr.bin/perl/gv.c index 1845058c36c..be1935560e4 100644 --- a/gnu/usr.bin/perl/gv.c +++ b/gnu/usr.bin/perl/gv.c @@ -1,6 +1,6 @@ /* gv.c * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2000, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -17,40 +17,41 @@ */ #include "EXTERN.h" +#define PERL_IN_GV_C #include "perl.h" GV * -gv_AVadd(register GV *gv) +Perl_gv_AVadd(pTHX_ register GV *gv) { if (!gv || SvTYPE((SV*)gv) != SVt_PVGV) - croak("Bad symbol for array"); + Perl_croak(aTHX_ "Bad symbol for array"); if (!GvAV(gv)) GvAV(gv) = newAV(); return gv; } GV * -gv_HVadd(register GV *gv) +Perl_gv_HVadd(pTHX_ register GV *gv) { if (!gv || SvTYPE((SV*)gv) != SVt_PVGV) - croak("Bad symbol for hash"); + Perl_croak(aTHX_ "Bad symbol for hash"); if (!GvHV(gv)) GvHV(gv) = newHV(); return gv; } GV * -gv_IOadd(register GV *gv) +Perl_gv_IOadd(pTHX_ register GV *gv) { if (!gv || SvTYPE((SV*)gv) != SVt_PVGV) - croak("Bad symbol for filehandle"); + Perl_croak(aTHX_ "Bad symbol for filehandle"); if (!GvIOp(gv)) GvIOp(gv) = newIO(); return gv; } GV * -gv_fetchfile(char *name) +Perl_gv_fetchfile(pTHX_ const char *name) { dTHR; char smallbuf[256]; @@ -58,6 +59,9 @@ gv_fetchfile(char *name) STRLEN tmplen; GV *gv; + if (!PL_defstash) + return Nullgv; + tmplen = strlen(name) + 2; if (tmplen < sizeof smallbuf) tmpbuf = smallbuf; @@ -67,20 +71,19 @@ gv_fetchfile(char *name) tmpbuf[1] = '<'; strcpy(tmpbuf + 2, name); gv = *(GV**)hv_fetch(PL_defstash, tmpbuf, tmplen, TRUE); - if (!isGV(gv)) + if (!isGV(gv)) { gv_init(gv, PL_defstash, tmpbuf, tmplen, FALSE); + sv_setpv(GvSV(gv), name); + if (PERLDB_LINE) + hv_magic(GvHVn(gv_AVadd(gv)), gv, 'L'); + } if (tmpbuf != smallbuf) Safefree(tmpbuf); - sv_setpv(GvSV(gv), name); - if (*name == '/' && (instr(name, "/lib/") || instr(name, ".pm"))) - GvMULTI_on(gv); - if (PERLDB_LINE) - hv_magic(GvHVn(gv_AVadd(gv)), gv, 'L'); return gv; } void -gv_init(GV *gv, HV *stash, char *name, STRLEN len, int multi) +Perl_gv_init(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, int multi) { dTHR; register GP *gp; @@ -99,8 +102,8 @@ gv_init(GV *gv, HV *stash, char *name, STRLEN len, int multi) Newz(602, gp, 1, GP); GvGP(gv) = gp_ref(gp); GvSV(gv) = NEWSV(72,0); - GvLINE(gv) = PL_curcop->cop_line; - GvFILEGV(gv) = PL_curcop->cop_filegv; + GvLINE(gv) = CopLINE(PL_curcop); + GvFILE(gv) = CopFILE(PL_curcop) ? CopFILE(PL_curcop) : ""; GvCVGEN(gv) = 0; GvEGV(gv) = gv; sv_magic((SV*)gv, (SV*)gv, '*', name, len); @@ -119,7 +122,7 @@ gv_init(GV *gv, HV *stash, char *name, STRLEN len, int multi) PL_sub_generation++; CvGV(GvCV(gv)) = (GV*)SvREFCNT_inc(gv); - CvFILEGV(GvCV(gv)) = PL_curcop->cop_filegv; + CvFILE(GvCV(gv)) = CopFILE(PL_curcop); CvSTASH(GvCV(gv)) = PL_curstash; #ifdef USE_THREADS CvOWNER(GvCV(gv)) = 0; @@ -136,7 +139,7 @@ gv_init(GV *gv, HV *stash, char *name, STRLEN len, int multi) } STATIC void -gv_init_sv(GV *gv, I32 sv_type) +S_gv_init_sv(pTHX_ GV *gv, I32 sv_type) { switch (sv_type) { case SVt_PVIO: @@ -151,8 +154,29 @@ gv_init_sv(GV *gv, I32 sv_type) } } +/* +=for apidoc gv_fetchmeth + +Returns the glob with the given C and a defined subroutine or +C. The glob lives in the given C, or in the stashes +accessible via @ISA and @UNIVERSAL. + +The argument C should be either 0 or -1. If C, as a +side-effect creates a glob with the given C in the given C +which in the case of success contains an alias for the subroutine, and sets +up caching info for this glob. Similarly for all the searched stashes. + +This function grants C<"SUPER"> token as a postfix of the stash name. The +GV returned from C may be a method cache entry, which is not +visible to Perl code. So when calling C, you should not use +the GV directly; instead, you should use the method's CV, which can be +obtained from the GV with the C macro. + +=cut +*/ + GV * -gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) +Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level) { AV* av; GV* topgv; @@ -163,10 +187,10 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) if (!stash) return 0; if ((level > 100) || (level < -100)) - croak("Recursive inheritance detected while looking for method '%s' in package '%s'", + Perl_croak(aTHX_ "Recursive inheritance detected while looking for method '%s' in package '%s'", name, HvNAME(stash)); - DEBUG_o( deb("Looking for method %s in package %s\n",name,HvNAME(stash)) ); + DEBUG_o( Perl_deb(aTHX_ "Looking for method %s in package %s\n",name,HvNAME(stash)) ); gvp = (GV**)hv_fetch(stash, name, len, (level >= 0)); if (!gvp) @@ -175,7 +199,7 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) topgv = *gvp; if (SvTYPE(topgv) != SVt_PVGV) gv_init(topgv, stash, name, len, TRUE); - if (cv = GvCV(topgv)) { + if ((cv = GvCV(topgv))) { /* If genuine method or valid cache entry, use it */ if (!GvCVGEN(topgv) || GvCVGEN(topgv) == PL_sub_generation) return topgv; @@ -206,7 +230,7 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) dTHR; /* just for SvREFCNT_dec */ gvp = (GV**)hv_fetch(stash, "ISA", 3, TRUE); if (!gvp || !(gv = *gvp)) - croak("Cannot create %s::ISA", HvNAME(stash)); + Perl_croak(aTHX_ "Cannot create %s::ISA", HvNAME(stash)); if (SvTYPE(gv) != SVt_PVGV) gv_init(gv, stash, "ISA", 3, TRUE); SvREFCNT_dec(GvAV(gv)); @@ -223,8 +247,9 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) SV* sv = *svp++; HV* basestash = gv_stashsv(sv, FALSE); if (!basestash) { - if (PL_dowarn) - warn("Can't locate package %s for @%s::ISA", + dTHR; /* just for ckWARN */ + if (ckWARN(WARN_MISC)) + Perl_warner(aTHX_ WARN_MISC, "Can't locate package %s for @%s::ISA", SvPVX(sv), HvNAME(stash)); continue; } @@ -240,9 +265,10 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) if (level == 0 || level == -1) { HV* lastchance; - if (lastchance = gv_stashpvn("UNIVERSAL", 9, FALSE)) { - if (gv = gv_fetchmeth(lastchance, name, len, - (level >= 0) ? level + 1 : level - 1)) { + if ((lastchance = gv_stashpvn("UNIVERSAL", 9, FALSE))) { + if ((gv = gv_fetchmeth(lastchance, name, len, + (level >= 0) ? level + 1 : level - 1))) + { gotcha: /* * Cache method in topgv if: @@ -254,7 +280,7 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) (cv = GvCV(gv)) && (CvROOT(cv) || CvXSUB(cv))) { - if (cv = GvCV(topgv)) + if ((cv = GvCV(topgv))) SvREFCNT_dec(cv); GvCV(topgv) = (CV*)SvREFCNT_inc(GvCV(gv)); GvCVGEN(topgv) = PL_sub_generation; @@ -271,18 +297,54 @@ gv_fetchmeth(HV *stash, char *name, STRLEN len, I32 level) return 0; } +/* +=for apidoc gv_fetchmethod + +See L. + +=cut +*/ + GV * -gv_fetchmethod(HV *stash, char *name) +Perl_gv_fetchmethod(pTHX_ HV *stash, const char *name) { return gv_fetchmethod_autoload(stash, name, TRUE); } +/* +=for apidoc gv_fetchmethod_autoload + +Returns the glob which contains the subroutine to call to invoke the method +on the C. In fact in the presence of autoloading this may be the +glob for "AUTOLOAD". In this case the corresponding variable $AUTOLOAD is +already setup. + +The third parameter of C determines whether +AUTOLOAD lookup is performed if the given method is not present: non-zero +means yes, look for AUTOLOAD; zero means no, don't look for AUTOLOAD. +Calling C is equivalent to calling C +with a non-zero C parameter. + +These functions grant C<"SUPER"> token as a prefix of the method name. Note +that if you want to keep the returned glob for a long time, you need to +check for it being "AUTOLOAD", since at the later time the call may load a +different subroutine due to $AUTOLOAD changing its value. Use the glob +created via a side effect to do this. + +These functions have the same side-effects and as C with +C. C should be writable if contains C<':'> or C<' +''>. The warning against passing the GV returned by C to +C apply equally to these functions. + +=cut +*/ + GV * -gv_fetchmethod_autoload(HV *stash, char *name, I32 autoload) +Perl_gv_fetchmethod_autoload(pTHX_ HV *stash, const char *name, I32 autoload) { dTHR; - register char *nend; - char *nsplit = 0; + register const char *nend; + const char *nsplit = 0; GV* gv; for (nend = name; *nend; nend++) { @@ -292,16 +354,16 @@ gv_fetchmethod_autoload(HV *stash, char *name, I32 autoload) nsplit = ++nend; } if (nsplit) { - char *origname = name; + const char *origname = name; name = nsplit + 1; if (*nsplit == ':') --nsplit; if ((nsplit - origname) == 5 && strnEQ(origname, "SUPER", 5)) { /* ->SUPER::method should really be looked up in original stash */ - SV *tmpstr = sv_2mortal(newSVpvf("%s::SUPER", - HvNAME(PL_curcop->cop_stash))); + SV *tmpstr = sv_2mortal(Perl_newSVpvf(aTHX_ "%s::SUPER", + CopSTASHPV(PL_curcop))); stash = gv_stashpvn(SvPVX(tmpstr), SvCUR(tmpstr), TRUE); - DEBUG_o( deb("Treating %s as %s::%s\n", + DEBUG_o( Perl_deb(aTHX_ "Treating %s as %s::%s\n", origname, HvNAME(stash), name) ); } else @@ -339,8 +401,9 @@ gv_fetchmethod_autoload(HV *stash, char *name, I32 autoload) } GV* -gv_autoload4(HV *stash, char *name, STRLEN len, I32 method) +Perl_gv_autoload4(pTHX_ HV *stash, const char *name, STRLEN len, I32 method) { + dTHR; static char autoload[] = "AUTOLOAD"; static STRLEN autolen = 8; GV* gv; @@ -358,8 +421,9 @@ gv_autoload4(HV *stash, char *name, STRLEN len, I32 method) /* * Inheriting AUTOLOAD for non-methods works ... for now. */ - if (PL_dowarn && !method && (GvCVGEN(gv) || GvSTASH(gv) != stash)) - warn( + if (ckWARN(WARN_DEPRECATED) && !method && + (GvCVGEN(gv) || GvSTASH(gv) != stash)) + Perl_warner(aTHX_ WARN_DEPRECATED, "Use of inherited AUTOLOAD for non-method %s::%.*s() is deprecated", HvNAME(stash), (int)len, name); @@ -381,14 +445,25 @@ gv_autoload4(HV *stash, char *name, STRLEN len, I32 method) return gv; } +/* +=for apidoc gv_stashpv + +Returns a pointer to the stash for a specified package. C should +be a valid UTF-8 string. If C is set then the package will be +created if it does not already exist. If C is not set and the +package does not exist then NULL is returned. + +=cut +*/ + HV* -gv_stashpv(char *name, I32 create) +Perl_gv_stashpv(pTHX_ const char *name, I32 create) { return gv_stashpvn(name, strlen(name), create); } HV* -gv_stashpvn(char *name, U32 namelen, I32 create) +Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 create) { char smallbuf[256]; char *tmpbuf; @@ -416,8 +491,17 @@ gv_stashpvn(char *name, U32 namelen, I32 create) return stash; } +/* +=for apidoc gv_stashsv + +Returns a pointer to the stash for a specified package, which must be a +valid UTF-8 string. See C. + +=cut +*/ + HV* -gv_stashsv(SV *sv, I32 create) +Perl_gv_stashsv(pTHX_ SV *sv, I32 create) { register char *ptr; STRLEN len; @@ -427,14 +511,14 @@ gv_stashsv(SV *sv, I32 create) GV * -gv_fetchpv(char *nambeg, I32 add, I32 sv_type) +Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, I32 sv_type) { dTHR; - register char *name = nambeg; + register const char *name = nambeg; register GV *gv = 0; GV**gvp; I32 len; - register char *namend; + register const char *namend; HV *stash = 0; U32 add_gvflags = 0; @@ -442,8 +526,8 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) name++; for (namend = name; *namend; namend++) { - if ((*namend == '\'' && namend[1]) || - (*namend == ':' && namend[1] == ':')) + if ((*namend == ':' && namend[1] == ':') + || (*namend == '\'' && namend[1])) { if (!stash) stash = PL_defstash; @@ -498,7 +582,7 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) /* No stash in name, so see how we can default */ if (!stash) { - if (isIDFIRST(*name)) { + if (isIDFIRST_lazy(name)) { bool global = FALSE; if (isUPPER(*name)) { @@ -538,22 +622,22 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) { stash = 0; } - else if (sv_type == SVt_PV && !GvIMPORTED_SV(*gvp) || - sv_type == SVt_PVAV && !GvIMPORTED_AV(*gvp) || - sv_type == SVt_PVHV && !GvIMPORTED_HV(*gvp) ) + else if ((sv_type == SVt_PV && !GvIMPORTED_SV(*gvp)) || + (sv_type == SVt_PVAV && !GvIMPORTED_AV(*gvp)) || + (sv_type == SVt_PVHV && !GvIMPORTED_HV(*gvp)) ) { - warn("Variable \"%c%s\" is not imported", + Perl_warn(aTHX_ "Variable \"%c%s\" is not imported", sv_type == SVt_PVAV ? '@' : sv_type == SVt_PVHV ? '%' : '$', name); if (GvCVu(*gvp)) - warn("(Did you mean &%s instead?)\n", name); + Perl_warn(aTHX_ "\t(Did you mean &%s instead?)\n", name); stash = 0; } } } else - stash = PL_curcop->cop_stash; + stash = CopSTASH(PL_curcop); } else stash = PL_defstash; @@ -562,26 +646,15 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) /* By this point we should have a stash and a name */ if (!stash) { - if (!add) - return Nullgv; - if (add & ~GV_ADDMULTI) { - char sv_type_char = ((sv_type == SVt_PV) ? '$' - : (sv_type == SVt_PVAV) ? '@' - : (sv_type == SVt_PVHV) ? '%' - : 0); - if (sv_type_char) - warn("Global symbol \"%c%s\" requires explicit package name", - sv_type_char, name); - else - warn("Global symbol \"%s\" requires explicit package name", - name); + if (add) { + qerror(Perl_mess(aTHX_ + "Global symbol \"%s%s\" requires explicit package name", + (sv_type == SVt_PV ? "$" + : sv_type == SVt_PVAV ? "@" + : sv_type == SVt_PVHV ? "%" + : ""), name)); } - ++PL_error_count; - stash = PL_curstash ? PL_curstash : PL_defstash; /* avoid core dumps */ - add_gvflags = ((sv_type == SVt_PV) ? GVf_IMPORTED_SV - : (sv_type == SVt_PVAV) ? GVf_IMPORTED_AV - : (sv_type == SVt_PVHV) ? GVf_IMPORTED_HV - : 0); + return Nullgv; } if (!SvREFCNT(stash)) /* symbol table under destruction */ @@ -603,12 +676,15 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) /* Adding a new symbol */ - if (add & GV_ADDWARN) - warn("Had to create %s unexpectedly", nambeg); + if (add & GV_ADDWARN && ckWARN_d(WARN_INTERNAL)) + Perl_warner(aTHX_ WARN_INTERNAL, "Had to create %s unexpectedly", nambeg); gv_init(gv, stash, name, len, add & GV_ADDMULTI); gv_init_sv(gv, sv_type); GvFLAGS(gv) |= add_gvflags; + if (isLEXWARN_on && isALPHA(name[0]) && ! ckWARN(WARN_ONCE)) + GvMULTI_on(gv) ; + /* set up magic where warranted */ switch (*name) { case 'A': @@ -630,20 +706,19 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) && AvFILLp(av) == -1) { char *pname; - av_push(av, newSVpv(pname = "NDBM_File",0)); + av_push(av, newSVpvn(pname = "NDBM_File",9)); gv_stashpvn(pname, 9, TRUE); - av_push(av, newSVpv(pname = "DB_File",0)); + av_push(av, newSVpvn(pname = "DB_File",7)); gv_stashpvn(pname, 7, TRUE); - av_push(av, newSVpv(pname = "GDBM_File",0)); + av_push(av, newSVpvn(pname = "GDBM_File",9)); gv_stashpvn(pname, 9, TRUE); - av_push(av, newSVpv(pname = "SDBM_File",0)); + av_push(av, newSVpvn(pname = "SDBM_File",9)); gv_stashpvn(pname, 9, TRUE); - av_push(av, newSVpv(pname = "ODBM_File",0)); + av_push(av, newSVpvn(pname = "ODBM_File",9)); gv_stashpvn(pname, 9, TRUE); } } break; -#ifdef OVERLOAD case 'O': if (strEQ(name, "OVERLOAD")) { HV* hv = GvHVn(gv); @@ -651,44 +726,48 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) hv_magic(hv, gv, 'A'); } break; -#endif /* OVERLOAD */ case 'S': if (strEQ(name, "SIG")) { HV *hv; I32 i; - PL_siggv = gv; - GvMULTI_on(PL_siggv); - hv = GvHVn(PL_siggv); - hv_magic(hv, PL_siggv, 'S'); - for(i=1;sig_name[i];i++) { + if (!PL_psig_ptr) { + int sig_num[] = { SIG_NUM }; + New(73, PL_psig_ptr, sizeof(sig_num)/sizeof(*sig_num), SV*); + New(73, PL_psig_name, sizeof(sig_num)/sizeof(*sig_num), SV*); + } + GvMULTI_on(gv); + hv = GvHVn(gv); + hv_magic(hv, gv, 'S'); + for (i = 1; PL_sig_name[i]; i++) { SV ** init; - init=hv_fetch(hv,sig_name[i],strlen(sig_name[i]),1); - if(init) - sv_setsv(*init,&PL_sv_undef); - psig_ptr[i] = 0; - psig_name[i] = 0; + init = hv_fetch(hv, PL_sig_name[i], strlen(PL_sig_name[i]), 1); + if (init) + sv_setsv(*init, &PL_sv_undef); + PL_psig_ptr[i] = 0; + PL_psig_name[i] = 0; } } break; + case 'V': + if (strEQ(name, "VERSION")) + GvMULTI_on(gv); + break; case '&': if (len > 1) break; - PL_ampergv = gv; PL_sawampersand = TRUE; goto ro_magicalize; case '`': if (len > 1) break; - PL_leftgv = gv; PL_sawampersand = TRUE; goto ro_magicalize; case '\'': if (len > 1) break; - PL_rightgv = gv; PL_sawampersand = TRUE; goto ro_magicalize; @@ -702,7 +781,7 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) if (len > 1) break; #ifdef COMPLEX_STATUS - sv_upgrade(GvSV(gv), SVt_PVLV); + (void)SvUPGRADE(GvSV(gv), SVt_PVLV); #endif goto magicalize; @@ -711,27 +790,34 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) break; if (sv_type > SVt_PV && PL_curcop != &PL_compiling) { HV* stash = gv_stashpvn("Errno",5,FALSE); - if(!stash || !(gv_fetchmethod(stash, "TIEHASH"))) { + if (!stash || !(gv_fetchmethod(stash, "TIEHASH"))) { dSP; PUTBACK; - perl_require_pv("Errno.pm"); + require_pv("Errno.pm"); SPAGAIN; stash = gv_stashpvn("Errno",5,FALSE); if (!stash || !(gv_fetchmethod(stash, "TIEHASH"))) - croak("Can't use %%! because Errno.pm is not available"); + Perl_croak(aTHX_ "Can't use %%! because Errno.pm is not available"); } } goto magicalize; + case '-': + if (len > 1) + break; + else { + AV* av = GvAVn(gv); + sv_magic((SV*)av, Nullsv, 'D', Nullch, 0); + } + goto magicalize; case '#': case '*': - if (PL_dowarn && len == 1 && sv_type == SVt_PV) - warn("Use of $%s is deprecated", name); + if (ckWARN(WARN_DEPRECATED) && len == 1 && sv_type == SVt_PV) + Perl_warner(aTHX_ WARN_DEPRECATED, "Use of $%s is deprecated", name); /* FALL THROUGH */ case '[': case '^': case '~': case '=': - case '-': case '%': case '.': case '(': @@ -742,22 +828,37 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) case '\\': case '/': case '|': - case '\001': - case '\003': - case '\004': - case '\005': - case '\006': - case '\010': - case '\011': /* NOT \t in EBCDIC */ - case '\017': - case '\020': - case '\024': - case '\027': + case '\001': /* $^A */ + case '\003': /* $^C */ + case '\004': /* $^D */ + case '\005': /* $^E */ + case '\006': /* $^F */ + case '\010': /* $^H */ + case '\011': /* $^I, NOT \t in EBCDIC */ + case '\017': /* $^O */ + case '\020': /* $^P */ + case '\024': /* $^T */ if (len > 1) break; goto magicalize; + case '\023': /* $^S */ + if (len > 1) + break; + goto ro_magicalize; + case '\027': /* $^W & $^WARNING_BITS */ + if (len > 1 && strNE(name, "\027ARNING_BITS") + && strNE(name, "\027IDE_SYSTEM_CALLS")) + break; + goto magicalize; case '+': + if (len > 1) + break; + else { + AV* av = GvAVn(gv); + sv_magic((SV*)av, (SV*)av, 'D', Nullch, 0); + } + /* FALL THROUGH */ case '1': case '2': case '3': @@ -767,14 +868,13 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) case '7': case '8': case '9': - case '\023': ro_magicalize: SvREADONLY_on(GvSV(gv)); magicalize: sv_magic(GvSV(gv), (SV*)gv, 0, name, len); break; - case '\014': + case '\014': /* $^L */ if (len > 1) break; sv_setpv(GvSV(gv),"\f"); @@ -788,22 +888,30 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) case ']': if (len == 1) { SV *sv = GvSV(gv); - sv_upgrade(sv, SVt_PVNV); - sv_setpv(sv, PL_patchlevel); - (void)sv_2nv(sv); + (void)SvUPGRADE(sv, SVt_PVNV); + SvNVX(sv) = SvNVX(PL_patchlevel); + SvNOK_on(sv); + (void)SvPV_nolen(sv); SvREADONLY_on(sv); } break; + case '\026': /* $^V */ + if (len == 1) { + SV *sv = GvSV(gv); + GvSV(gv) = SvREFCNT_inc(PL_patchlevel); + SvREFCNT_dec(sv); + } + break; } return gv; } void -gv_fullname3(SV *sv, GV *gv, char *prefix) +Perl_gv_fullname3(pTHX_ SV *sv, GV *gv, const char *prefix) { HV *hv = GvSTASH(gv); if (!hv) { - SvOK_off(sv); + (void)SvOK_off(sv); return; } sv_setpv(sv, prefix ? prefix : ""); @@ -813,7 +921,7 @@ gv_fullname3(SV *sv, GV *gv, char *prefix) } void -gv_efullname3(SV *sv, GV *gv, char *prefix) +Perl_gv_efullname3(pTHX_ SV *sv, GV *gv, const char *prefix) { GV *egv = GvEGV(gv); if (!egv) @@ -823,20 +931,20 @@ gv_efullname3(SV *sv, GV *gv, char *prefix) /* XXX compatibility with versions <= 5.003. */ void -gv_fullname(SV *sv, GV *gv) +Perl_gv_fullname(pTHX_ SV *sv, GV *gv) { gv_fullname3(sv, gv, sv == (SV*)gv ? "*" : ""); } /* XXX compatibility with versions <= 5.003. */ void -gv_efullname(SV *sv, GV *gv) +Perl_gv_efullname(pTHX_ SV *sv, GV *gv) { gv_efullname3(sv, gv, sv == (SV*)gv ? "*" : ""); } IO * -newIO(void) +Perl_newIO(pTHX) { dTHR; IO *io; @@ -855,14 +963,13 @@ newIO(void) } void -gv_check(HV *stash) +Perl_gv_check(pTHX_ HV *stash) { dTHR; register HE *entry; register I32 i; register GV *gv; HV *hv; - GV *filegv; if (!HvARRAY(stash)) return; @@ -871,19 +978,31 @@ gv_check(HV *stash) if (HeKEY(entry)[HeKLEN(entry)-1] == ':' && (gv = (GV*)HeVAL(entry)) && (hv = GvHV(gv)) && HvNAME(hv)) { - if (hv != PL_defstash) + if (hv != PL_defstash && hv != stash) gv_check(hv); /* nested package */ } else if (isALPHA(*HeKEY(entry))) { + char *file; gv = (GV*)HeVAL(entry); if (SvTYPE(gv) != SVt_PVGV || GvMULTI(gv)) continue; - PL_curcop->cop_line = GvLINE(gv); - filegv = GvFILEGV(gv); - PL_curcop->cop_filegv = filegv; - if (filegv && GvMULTI(filegv)) /* Filename began with slash */ + file = GvFILE(gv); + /* performance hack: if filename is absolute and it's a standard + * module, don't bother warning */ + if (file + && PERL_FILE_IS_ABSOLUTE(file) + && (instr(file, "/lib/") || instr(file, ".pm"))) + { continue; - warn("Name \"%s::%s\" used only once: possible typo", + } + CopLINE_set(PL_curcop, GvLINE(gv)); +#ifdef USE_ITHREADS + CopFILE(PL_curcop) = file; /* set for warning */ +#else + CopFILEGV(PL_curcop) = gv_fetchfile(file); +#endif + Perl_warner(aTHX_ WARN_ONCE, + "Name \"%s::%s\" used only once: possible typo", HvNAME(stash), GvNAME(gv)); } } @@ -891,17 +1010,19 @@ gv_check(HV *stash) } GV * -newGVgen(char *pack) +Perl_newGVgen(pTHX_ char *pack) { - return gv_fetchpv(form("%s::_GEN_%ld", pack, (long)PL_gensym++), + return gv_fetchpv(Perl_form(aTHX_ "%s::_GEN_%ld", pack, (long)PL_gensym++), TRUE, SVt_PVGV); } /* hopefully this is only called on local symbol table entries */ GP* -gp_ref(GP *gp) +Perl_gp_ref(pTHX_ GP *gp) { + if (!gp) + return (GP*)NULL; gp->gp_refcnt++; if (gp->gp_cv) { if (gp->gp_cvgen) { @@ -919,15 +1040,17 @@ gp_ref(GP *gp) } void -gp_free(GV *gv) +Perl_gp_free(pTHX_ GV *gv) { + dTHR; GP* gp; - CV* cv; if (!gv || !(gp = GvGP(gv))) return; if (gp->gp_refcnt == 0) { - warn("Attempt to free unreferenced glob pointers"); + if (ckWARN_d(WARN_INTERNAL)) + Perl_warner(aTHX_ WARN_INTERNAL, + "Attempt to free unreferenced glob pointers"); return; } if (gp->gp_cv) { @@ -975,21 +1098,22 @@ register GV *gv; } #endif /* Microport 2.4 hack */ -#ifdef OVERLOAD /* Updates and caches the CV's */ bool -Gv_AMupdate(HV *stash) +Perl_Gv_AMupdate(pTHX_ HV *stash) { - dTHR; - GV** gvp; - HV* hv; + dTHR; GV* gv; CV* cv; MAGIC* mg=mg_find((SV*)stash,'c'); AMT *amtp = (mg) ? (AMT*)mg->mg_ptr: (AMT *) NULL; AMT amt; STRLEN n_a; +#ifdef OVERLOAD_VIA_HASH + GV** gvp; + HV* hv; +#endif if (mg && amtp->was_ok_am == PL_amagic_generation && amtp->was_ok_sub == PL_sub_generation) @@ -1004,7 +1128,7 @@ Gv_AMupdate(HV *stash) } sv_unmagic((SV*)stash, 'c'); - DEBUG_o( deb("Recalcing overload magic in package %s\n",HvNAME(stash)) ); + DEBUG_o( Perl_deb(aTHX_ "Recalcing overload magic in package %s\n",HvNAME(stash)) ); amt.was_ok_am = PL_amagic_generation; amt.was_ok_sub = PL_sub_generation; @@ -1020,16 +1144,16 @@ Gv_AMupdate(HV *stash) SV* sv; SV** svp; - /* Work with "fallback" key, which we assume to be first in AMG_names */ + /* Work with "fallback" key, which we assume to be first in PL_AMG_names */ - if (( cp = (char *)AMG_names[0] ) && + if (( cp = (char *)PL_AMG_names[0] ) && (svp = (SV**)hv_fetch(hv,cp,strlen(cp),FALSE)) && (sv = *svp)) { if (SvTRUE(sv)) amt.fallback=AMGfallYES; else if (SvOK(sv)) amt.fallback=AMGfallNEVER; } for (i = 1; i < NofAMmeth; i++) { cv = 0; - cp = (char *)AMG_names[i]; + cp = (char *)PL_AMG_names[i]; svp = (SV**)hv_fetch(hv, cp, strlen(cp), FALSE); if (svp && ((sv = *svp) != &PL_sv_undef)) { @@ -1047,19 +1171,19 @@ Gv_AMupdate(HV *stash) /* FALL THROUGH */ case SVt_PVHV: case SVt_PVAV: - croak("Not a subroutine reference in overload table"); + Perl_croak(aTHX_ "Not a subroutine reference in overload table"); return FALSE; case SVt_PVCV: cv = (CV*)sv; break; case SVt_PVGV: if (!(cv = GvCVu((GV*)sv))) - cv = sv_2cv(sv, &stash, &gv, TRUE); + cv = sv_2cv(sv, &stash, &gv, FALSE); break; } if (cv) filled=1; else { - croak("Method for operation %s not found in package %.256s during blessing\n", + Perl_croak(aTHX_ "Method for operation %s not found in package %.256s during blessing\n", cp,HvNAME(stash)); return FALSE; } @@ -1070,23 +1194,26 @@ Gv_AMupdate(HV *stash) int i; const char *cp; SV* sv = NULL; - SV** svp; - /* Work with "fallback" key, which we assume to be first in AMG_names */ + /* Work with "fallback" key, which we assume to be first in PL_AMG_names */ - if ( cp = AMG_names[0] ) { + if ((cp = PL_AMG_names[0])) { /* Try to find via inheritance. */ gv = gv_fetchmeth(stash, "()", 2, -1); /* A cookie: "()". */ - if (gv) sv = GvSV(gv); - - if (!gv) goto no_table; - else if (SvTRUE(sv)) amt.fallback=AMGfallYES; - else if (SvOK(sv)) amt.fallback=AMGfallNEVER; + if (gv) + sv = GvSV(gv); + + if (!gv) + goto no_table; + else if (SvTRUE(sv)) + amt.fallback=AMGfallYES; + else if (SvOK(sv)) + amt.fallback=AMGfallNEVER; } for (i = 1; i < NofAMmeth; i++) { - SV *cookie = sv_2mortal(newSVpvf("(%s", cp = AMG_names[i])); - DEBUG_o( deb("Checking overloading of `%s' in package `%.256s'\n", + SV *cookie = sv_2mortal(Perl_newSVpvf(aTHX_ "(%s", cp = PL_AMG_names[i])); + DEBUG_o( Perl_deb(aTHX_ "Checking overloading of `%s' in package `%.256s'\n", cp, HvNAME(stash)) ); /* don't fill the cache while looking up! */ gv = gv_fetchmeth(stash, SvPVX(cookie), SvCUR(cookie), -1); @@ -1097,7 +1224,7 @@ Gv_AMupdate(HV *stash) /* GvSV contains the name of the method. */ GV *ngv; - DEBUG_o( deb("Resolving method `%.256s' for overloaded `%s' in package `%.256s'\n", + DEBUG_o( Perl_deb(aTHX_ "Resolving method `%.256s' for overloaded `%s' in package `%.256s'\n", SvPV(GvSV(gv), n_a), cp, HvNAME(stash)) ); if (!SvPOK(GvSV(gv)) || !(ngv = gv_fetchmethod_autoload(stash, SvPVX(GvSV(gv)), @@ -1105,17 +1232,17 @@ Gv_AMupdate(HV *stash) { /* Can be an import stub (created by `can'). */ if (GvCVGEN(gv)) { - croak("Stub found while resolving method `%.256s' overloading `%s' in package `%.256s'", + Perl_croak(aTHX_ "Stub found while resolving method `%.256s' overloading `%s' in package `%.256s'", (SvPOK(GvSV(gv)) ? SvPVX(GvSV(gv)) : "???" ), cp, HvNAME(stash)); } else - croak("Cannot resolve method `%.256s' overloading `%s' in package `%.256s'", + Perl_croak(aTHX_ "Can't resolve method `%.256s' overloading `%s' in package `%.256s'", (SvPOK(GvSV(gv)) ? SvPVX(GvSV(gv)) : "???" ), cp, HvNAME(stash)); } cv = GvCV(gv = ngv); } - DEBUG_o( deb("Overloading `%s' in package `%.256s' via `%.256s::%.256s' \n", + DEBUG_o( Perl_deb(aTHX_ "Overloading `%s' in package `%.256s' via `%.256s::%.256s' \n", cp, HvNAME(stash), HvNAME(GvSTASH(CvGV(cv))), GvNAME(CvGV(cv))) ); filled = 1; @@ -1137,7 +1264,7 @@ Gv_AMupdate(HV *stash) } SV* -amagic_call(SV *left, SV *right, int method, int flags) +Perl_amagic_call(pTHX_ SV *left, SV *right, int method, int flags) { dTHR; MAGIC *mg; @@ -1237,12 +1364,21 @@ amagic_call(SV *left, SV *right, int method, int flags) } break; case neg_amg: - if (cv = cvp[off=subtr_amg]) { + if ((cv = cvp[off=subtr_amg])) { right = left; left = sv_2mortal(newSViv(0)); lr = 1; } break; + case iter_amg: /* XXXX Eventually should do to_gv. */ + case to_sv_amg: + case to_av_amg: + case to_hv_amg: + case to_gv_amg: + case to_cv_amg: + /* FAIL safe */ + return NULL; /* Delegate operation to standard mechanisms. */ + break; default: goto not_found; } @@ -1296,9 +1432,9 @@ amagic_call(SV *left, SV *right, int method, int flags) } else { SV *msg; if (off==-1) off=method; - msg = sv_2mortal(newSVpvf( + msg = sv_2mortal(Perl_newSVpvf(aTHX_ "Operation `%s': no method found,%sargument %s%s%s%s", - AMG_names[method + assignshift], + PL_AMG_names[method + assignshift], (flags & AMGf_unary ? " " : "\n\tleft "), SvAMAGIC(left)? "in overloaded package ": @@ -1315,9 +1451,9 @@ amagic_call(SV *left, SV *right, int method, int flags) HvNAME(SvSTASH(SvRV(right))): "")); if (amtp && amtp->fallback >= AMGfallYES) { - DEBUG_o( deb("%s", SvPVX(msg)) ); + DEBUG_o( Perl_deb(aTHX_ "%s", SvPVX(msg)) ); } else { - croak("%_", msg); + Perl_croak(aTHX_ "%"SVf, msg); } return NULL; } @@ -1325,13 +1461,13 @@ amagic_call(SV *left, SV *right, int method, int flags) } } if (!notfound) { - DEBUG_o( deb( + DEBUG_o( Perl_deb(aTHX_ "Overloaded operator `%s'%s%s%s:\n\tmethod%s found%s in package %s%s\n", - AMG_names[off], + PL_AMG_names[off], method+assignshift==off? "" : " (initially `", method+assignshift==off? "" : - AMG_names[method+assignshift], + PL_AMG_names[method+assignshift], method+assignshift==off? "" : "')", flags & AMGf_unary? "" : lr==1 ? " for right argument": " for left argument", @@ -1384,24 +1520,25 @@ amagic_call(SV *left, SV *right, int method, int flags) if (PERLDB_SUB && PL_curstash != PL_debstash) PL_op->op_private |= OPpENTERSUB_DB; PUTBACK; - pp_pushmark(ARGS); + pp_pushmark(); EXTEND(SP, notfound + 5); PUSHs(lr>0? right: left); PUSHs(lr>0? left: right); PUSHs( lr > 0 ? &PL_sv_yes : ( assign ? &PL_sv_undef : &PL_sv_no )); if (notfound) { - PUSHs( sv_2mortal(newSVpv((char *)AMG_names[method + assignshift],0)) ); + PUSHs( sv_2mortal(newSVpv((char *)PL_AMG_names[method + assignshift],0))); } PUSHs((SV*)cv); PUTBACK; - if (PL_op = pp_entersub(ARGS)) - CALLRUNOPS(); + if ((PL_op = Perl_pp_entersub(aTHX))) + CALLRUNOPS(aTHX); LEAVE; SPAGAIN; res=POPs; + PUTBACK; POPSTACK; CATCH_SET(oldcatch); @@ -1430,12 +1567,12 @@ amagic_call(SV *left, SV *right, int method, int flags) case dec_amg: SvSetSV(left,res); return left; case not_amg: - ans=!SvOK(res); break; + ans=!SvTRUE(res); break; } return boolSV(ans); } else if (method==copy_amg) { if (!SvROK(res)) { - croak("Copy method did not return a reference"); + Perl_croak(aTHX_ "Copy method did not return a reference"); } return SvREFCNT_inc(SvRV(res)); } else { @@ -1443,5 +1580,3 @@ amagic_call(SV *left, SV *right, int method, int flags) } } } -#endif /* OVERLOAD */ - diff --git a/gnu/usr.bin/perl/gv.h b/gnu/usr.bin/perl/gv.h index 0226513b5ee..d2234a69b47 100644 --- a/gnu/usr.bin/perl/gv.h +++ b/gnu/usr.bin/perl/gv.h @@ -1,6 +1,6 @@ /* gv.h * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2000, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -17,9 +17,9 @@ struct gp { GV * gp_egv; /* effective gv, if *glob */ CV * gp_cv; /* subroutine value */ U32 gp_cvgen; /* generational validity of cached gv_cv */ - I32 gp_lastexpr; /* used by nothing_in_common() */ + U32 gp_flags; /* XXX unused */ line_t gp_line; /* line first declared at (for -w) */ - GV * gp_filegv; /* file first declared in (for -w) */ + char * gp_file; /* file first declared in (for -w) */ }; #if defined(CRIPPLED_CC) && (defined(iAPX286) || defined(M_I286) || defined(I80286)) @@ -34,6 +34,14 @@ struct gp { #define GvSTASH(gv) (GvXPVGV(gv)->xgv_stash) #define GvFLAGS(gv) (GvXPVGV(gv)->xgv_flags) +/* +=for apidoc Am|SV*|GvSV|GV* gv + +Return the SV from the GV. + +=cut +*/ + #define GvSV(gv) (GvGP(gv)->gp_sv) #define GvREFCNT(gv) (GvGP(gv)->gp_refcnt) #define GvIO(gv) ((gv) && SvTYPE((SV*)gv) == SVt_PVGV ? GvIOp(gv) : 0) @@ -67,10 +75,11 @@ HV *GvHVn(); #define GvCVGEN(gv) (GvGP(gv)->gp_cvgen) #define GvCVu(gv) (GvGP(gv)->gp_cvgen ? Nullcv : GvGP(gv)->gp_cv) -#define GvLASTEXPR(gv) (GvGP(gv)->gp_lastexpr) +#define GvGPFLAGS(gv) (GvGP(gv)->gp_flags) #define GvLINE(gv) (GvGP(gv)->gp_line) -#define GvFILEGV(gv) (GvGP(gv)->gp_filegv) +#define GvFILE(gv) (GvGP(gv)->gp_file) +#define GvFILEGV(gv) (gv_fetchfile(GvFILE(gv))) #define GvEGV(gv) (GvGP(gv)->gp_egv) #define GvENAME(gv) GvNAME(GvEGV(gv) ? GvEGV(gv) : gv) @@ -79,6 +88,7 @@ HV *GvHVn(); #define GVf_INTRO 0x01 #define GVf_MULTI 0x02 #define GVf_ASSUMECV 0x04 +#define GVf_IN_PAD 0x08 #define GVf_IMPORTED 0xF0 #define GVf_IMPORTED_SV 0x10 #define GVf_IMPORTED_AV 0x20 @@ -117,6 +127,10 @@ HV *GvHVn(); #define GvIMPORTED_CV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_CV) #define GvIMPORTED_CV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_CV) +#define GvIN_PAD(gv) (GvFLAGS(gv) & GVf_IN_PAD) +#define GvIN_PAD_on(gv) (GvFLAGS(gv) |= GVf_IN_PAD) +#define GvIN_PAD_off(gv) (GvFLAGS(gv) &= ~GVf_IN_PAD) + #define Nullgv Null(GV*) #define DM_UID 0x003 @@ -128,7 +142,7 @@ HV *GvHVn(); #define DM_DELAY 0x100 /* - * symbol creation flags, for use in gv_fetchpv() and perl_get_*v() + * symbol creation flags, for use in gv_fetchpv() and get_*v() */ #define GV_ADD 0x01 /* add, if symbol not already there */ #define GV_ADDMULTI 0x02 /* add, pretending it has been added already */ diff --git a/gnu/usr.bin/perl/handy.h b/gnu/usr.bin/perl/handy.h index 7744c31e038..2c5d706de48 100644 --- a/gnu/usr.bin/perl/handy.h +++ b/gnu/usr.bin/perl/handy.h @@ -1,6 +1,6 @@ /* handy.h * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2000, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -19,6 +19,17 @@ #endif #define Null(type) ((type)NULL) + +/* +=for apidoc AmU||Nullch +Null character pointer. + +=for apidoc AmU||Nullsv +Null SV pointer. + +=cut +*/ + #define Nullch Null(char*) #define Nullfp Null(PerlIO*) #define Nullsv Null(SV*) @@ -37,24 +48,24 @@ just figure out all the headers such a test needs. Andy Dougherty August 1996 */ -/* bool is built-in for g++-2.6.3, which might be used for an extension. - If the extension includes <_G_config.h> before this file then - _G_HAVE_BOOL will be properly set. If, however, the extension includes - this file first, then you will have to manually set -DHAS_BOOL in - your command line to avoid a conflict. +/* bool is built-in for g++-2.6.3 and later, which might be used + for extensions. <_G_config.h> defines _G_HAVE_BOOL, but we can't + be sure _G_config.h will be included before this file. _G_config.h + also defines _G_HAVE_BOOL for both gcc and g++, but only g++ + actually has bool. Hence, _G_HAVE_BOOL is pretty useless for us. + g++ can be identified by __GNUG__. + Andy Dougherty February 2000 */ -#ifdef _G_HAVE_BOOL -# if _G_HAVE_BOOL +#ifdef __GNUG__ /* GNU g++ has bool built-in */ # ifndef HAS_BOOL -# define HAS_BOOL 1 +# define HAS_BOOL 1 # endif -# endif #endif /* The NeXT dynamic loader headers will not build with the bool macro So declare them now to clear confusion. */ -#ifdef NeXT +#if defined(NeXT) || defined(__NeXT__) # undef FALSE # undef TRUE typedef enum bool { FALSE = 0, TRUE = 1 } bool; @@ -62,7 +73,7 @@ # ifndef HAS_BOOL # define HAS_BOOL 1 # endif /* !HAS_BOOL */ -#endif /* NeXT */ +#endif /* NeXT || __NeXT__ */ #ifndef HAS_BOOL # if defined(UTS) || defined(VMS) @@ -70,6 +81,7 @@ # else # define bool char # endif +# define HAS_BOOL 1 #endif /* XXX A note on the perl source internal type system. The @@ -91,6 +103,7 @@ For dealing with issues that may arise from various 32/64-bit systems, we will ask Configure to check out + SHORTSIZE == sizeof(short) INTSIZE == sizeof(int) LONGSIZE == sizeof(long) @@ -98,49 +111,117 @@ PTRSIZE == sizeof(void *) DOUBLESIZE == sizeof(double) LONG_DOUBLESIZE == sizeof(long double) (if HAS_LONG_DOUBLE). - Most of these are currently unused, but they are mentioned here so - metaconfig will include the appropriate tests in Configure and - we can then start to consider how best to deal with long long - variables. - Andy Dougherty April 1998 + */ -typedef char I8; -typedef unsigned char U8; +typedef I8TYPE I8; +typedef U8TYPE U8; +typedef I16TYPE I16; +typedef U16TYPE U16; +typedef I32TYPE I32; +typedef U32TYPE U32; +#ifdef PERL_CORE +# ifdef HAS_QUAD +# if QUADKIND == QUAD_IS_INT64_T +# include +# ifdef I_INTTYPES /* e.g. Linux has int64_t without */ +# include +# endif +# endif +typedef I64TYPE I64; +typedef U64TYPE U64; +# endif +#endif /* PERL_CORE */ + +/* Mention I8SIZE, U8SIZE, I16SIZE, U16SIZE, I32SIZE, U32SIZE, + I64SIZE, and U64SIZE here so that metaconfig pulls them in. */ + +#if defined(UINT8_MAX) && defined(INT16_MAX) && defined(INT32_MAX) + +/* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type. + Please search CHAR_MAX in perl.h for further details. */ +#define U8_MAX UINT8_MAX +#define U8_MIN UINT8_MIN + +#define I16_MAX INT16_MAX +#define I16_MIN INT16_MIN +#define U16_MAX UINT16_MAX +#define U16_MIN UINT16_MIN + +#define I32_MAX INT32_MAX +#define I32_MIN INT32_MIN +#define U32_MAX UINT32_MAX +#define U32_MIN UINT32_MIN + +#else + /* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type. Please search CHAR_MAX in perl.h for further details. */ #define U8_MAX PERL_UCHAR_MAX #define U8_MIN PERL_UCHAR_MIN -typedef short I16; -typedef unsigned short U16; #define I16_MAX PERL_SHORT_MAX #define I16_MIN PERL_SHORT_MIN #define U16_MAX PERL_USHORT_MAX #define U16_MIN PERL_USHORT_MIN #if LONGSIZE > 4 - typedef int I32; - typedef unsigned int U32; # define I32_MAX PERL_INT_MAX # define I32_MIN PERL_INT_MIN # define U32_MAX PERL_UINT_MAX # define U32_MIN PERL_UINT_MIN #else - typedef long I32; - typedef unsigned long U32; # define I32_MAX PERL_LONG_MAX # define I32_MIN PERL_LONG_MIN # define U32_MAX PERL_ULONG_MAX # define U32_MIN PERL_ULONG_MIN #endif +#endif + #define BIT_DIGITS(N) (((N)*146)/485 + 1) /* log2(10) =~ 146/485 */ #define TYPE_DIGITS(T) BIT_DIGITS(sizeof(T) * 8) #define TYPE_CHARS(T) (TYPE_DIGITS(T) + 2) /* sign, NUL */ #define Ctl(ch) ((ch) & 037) +/* +=for apidoc Am|bool|strNE|char* s1|char* s2 +Test two strings to see if they are different. Returns true or +false. + +=for apidoc Am|bool|strEQ|char* s1|char* s2 +Test two strings to see if they are equal. Returns true or false. + +=for apidoc Am|bool|strLT|char* s1|char* s2 +Test two strings to see if the first, C, is less than the second, +C. Returns true or false. + +=for apidoc Am|bool|strLE|char* s1|char* s2 +Test two strings to see if the first, C, is less than or equal to the +second, C. Returns true or false. + +=for apidoc Am|bool|strGT|char* s1|char* s2 +Test two strings to see if the first, C, is greater than the second, +C. Returns true or false. + +=for apidoc Am|bool|strGE|char* s1|char* s2 +Test two strings to see if the first, C, is greater than or equal to +the second, C. Returns true or false. + +=for apidoc Am|bool|strnNE|char* s1|char* s2|STRLEN len +Test two strings to see if they are different. The C parameter +indicates the number of bytes to compare. Returns true or false. (A +wrapper for C). + +=for apidoc Am|bool|strnEQ|char* s1|char* s2|STRLEN len +Test two strings to see if they are equal. The C parameter indicates +the number of bytes to compare. Returns true or false. (A wrapper for +C). + +=cut +*/ + #define strNE(s1,s2) (strcmp(s1,s2)) #define strEQ(s1,s2) (!strcmp(s1,s2)) #define strLT(s1,s2) (strcmp(s1,s2) < 0) @@ -177,6 +258,39 @@ typedef unsigned short U16; # endif #endif +/* +=for apidoc Am|bool|isALNUM|char ch +Returns a boolean indicating whether the C C is an ascii alphanumeric +character or digit. + +=for apidoc Am|bool|isALPHA|char ch +Returns a boolean indicating whether the C C is an ascii alphabetic +character. + +=for apidoc Am|bool|isSPACE|char ch +Returns a boolean indicating whether the C C is whitespace. + +=for apidoc Am|bool|isDIGIT|char ch +Returns a boolean indicating whether the C C is an ascii +digit. + +=for apidoc Am|bool|isUPPER|char ch +Returns a boolean indicating whether the C C is an uppercase +character. + +=for apidoc Am|bool|isLOWER|char ch +Returns a boolean indicating whether the C C is a lowercase +character. + +=for apidoc Am|char|toUPPER|char ch +Converts the specified character to uppercase. + +=for apidoc Am|char|toLOWER|char ch +Converts the specified character to lowercase. + +=cut +*/ + #define isALNUM(c) (isALPHA(c) || isDIGIT(c) || (c) == '_') #define isIDFIRST(c) (isALPHA(c) || (c) == '_') #define isALPHA(c) (isUPPER(c) || isLOWER(c)) @@ -187,13 +301,25 @@ typedef unsigned short U16; /* In EBCDIC we do not do locales: therefore() isupper() is fine. */ # define isUPPER(c) isupper(c) # define isLOWER(c) islower(c) +# define isALNUMC(c) isalnum(c) +# define isASCII(c) isascii(c) +# define isCNTRL(c) iscntrl(c) +# define isGRAPH(c) isgraph(c) # define isPRINT(c) isprint(c) +# define isPUNCT(c) ispunct(c) +# define isXDIGIT(c) isxdigit(c) # define toUPPER(c) toupper(c) # define toLOWER(c) tolower(c) #else # define isUPPER(c) ((c) >= 'A' && (c) <= 'Z') # define isLOWER(c) ((c) >= 'a' && (c) <= 'z') +# define isALNUMC(c) (isALPHA(c) || isDIGIT(c)) +# define isASCII(c) ((c) <= 127) +# define isCNTRL(c) ((c) < ' ') +# define isGRAPH(c) (isALNUM(c) || isPUNCT(c)) # define isPRINT(c) (((c) > 32 && (c) < 127) || isSPACE(c)) +# define isPUNCT(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126)) +# define isXDIGIT(c) (isdigit(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F')) # define toUPPER(c) (isLOWER(c) ? (c) - ('a' - 'A') : (c)) # define toLOWER(c) (isUPPER(c) ? (c) + ('a' - 'A') : (c)) #endif @@ -201,8 +327,7 @@ typedef unsigned short U16; #ifdef USE_NEXT_CTYPE # define isALNUM_LC(c) \ - (NXIsAlpha((unsigned int)(c)) || NXIsDigit((unsigned int)(c)) || \ - (char)(c) == '_') + (NXIsAlNum((unsigned int)(c)) || (char)(c) == '_') # define isIDFIRST_LC(c) \ (NXIsAlpha((unsigned int)(c)) || (char)(c) == '_') # define isALPHA_LC(c) NXIsAlpha((unsigned int)(c)) @@ -210,45 +335,123 @@ typedef unsigned short U16; # define isDIGIT_LC(c) NXIsDigit((unsigned int)(c)) # define isUPPER_LC(c) NXIsUpper((unsigned int)(c)) # define isLOWER_LC(c) NXIsLower((unsigned int)(c)) +# define isALNUMC_LC(c) NXIsAlNum((unsigned int)(c)) +# define isCNTRL_LC(c) NXIsCntrl((unsigned int)(c)) +# define isGRAPH_LC(c) NXIsGraph((unsigned int)(c)) # define isPRINT_LC(c) NXIsPrint((unsigned int)(c)) +# define isPUNCT_LC(c) NXIsPunct((unsigned int)(c)) # define toUPPER_LC(c) NXToUpper((unsigned int)(c)) # define toLOWER_LC(c) NXToLower((unsigned int)(c)) #else /* !USE_NEXT_CTYPE */ + # if defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII)) -# define isALNUM_LC(c) \ - (isalpha((unsigned char)(c)) || \ - isdigit((unsigned char)(c)) || (char)(c) == '_') +# define isALNUM_LC(c) (isalnum((unsigned char)(c)) || (char)(c) == '_') # define isIDFIRST_LC(c) (isalpha((unsigned char)(c)) || (char)(c) == '_') # define isALPHA_LC(c) isalpha((unsigned char)(c)) # define isSPACE_LC(c) isspace((unsigned char)(c)) # define isDIGIT_LC(c) isdigit((unsigned char)(c)) # define isUPPER_LC(c) isupper((unsigned char)(c)) # define isLOWER_LC(c) islower((unsigned char)(c)) +# define isALNUMC_LC(c) isalnum((unsigned char)(c)) +# define isCNTRL_LC(c) iscntrl((unsigned char)(c)) +# define isGRAPH_LC(c) isgraph((unsigned char)(c)) # define isPRINT_LC(c) isprint((unsigned char)(c)) +# define isPUNCT_LC(c) ispunct((unsigned char)(c)) # define toUPPER_LC(c) toupper((unsigned char)(c)) # define toLOWER_LC(c) tolower((unsigned char)(c)) # else -# define isALNUM_LC(c) \ - (isascii(c) && (isalpha(c) || isdigit(c) || (c) == '_')) +# define isALNUM_LC(c) (isascii(c) && (isalnum(c) || (c) == '_')) # define isIDFIRST_LC(c) (isascii(c) && (isalpha(c) || (c) == '_')) # define isALPHA_LC(c) (isascii(c) && isalpha(c)) # define isSPACE_LC(c) (isascii(c) && isspace(c)) # define isDIGIT_LC(c) (isascii(c) && isdigit(c)) # define isUPPER_LC(c) (isascii(c) && isupper(c)) # define isLOWER_LC(c) (isascii(c) && islower(c)) +# define isALNUMC_LC(c) (isascii(c) && isalnum(c)) +# define isCNTRL_LC(c) (isascii(c) && iscntrl(c)) +# define isGRAPH_LC(c) (isascii(c) && isgraph(c)) # define isPRINT_LC(c) (isascii(c) && isprint(c)) +# define isPUNCT_LC(c) (isascii(c) && ispunct(c)) # define toUPPER_LC(c) toupper(c) # define toLOWER_LC(c) tolower(c) # endif #endif /* USE_NEXT_CTYPE */ +#define isALNUM_uni(c) is_uni_alnum(c) +#define isIDFIRST_uni(c) is_uni_idfirst(c) +#define isALPHA_uni(c) is_uni_alpha(c) +#define isSPACE_uni(c) is_uni_space(c) +#define isDIGIT_uni(c) is_uni_digit(c) +#define isUPPER_uni(c) is_uni_upper(c) +#define isLOWER_uni(c) is_uni_lower(c) +#define isALNUMC_uni(c) is_uni_alnumc(c) +#define isASCII_uni(c) is_uni_ascii(c) +#define isCNTRL_uni(c) is_uni_cntrl(c) +#define isGRAPH_uni(c) is_uni_graph(c) +#define isPRINT_uni(c) is_uni_print(c) +#define isPUNCT_uni(c) is_uni_punct(c) +#define isXDIGIT_uni(c) is_uni_xdigit(c) +#define toUPPER_uni(c) to_uni_upper(c) +#define toTITLE_uni(c) to_uni_title(c) +#define toLOWER_uni(c) to_uni_lower(c) + +#define isALNUM_LC_uni(c) (c < 256 ? isALNUM_LC(c) : is_uni_alnum_lc(c)) +#define isIDFIRST_LC_uni(c) (c < 256 ? isIDFIRST_LC(c) : is_uni_idfirst_lc(c)) +#define isALPHA_LC_uni(c) (c < 256 ? isALPHA_LC(c) : is_uni_alpha_lc(c)) +#define isSPACE_LC_uni(c) (c < 256 ? isSPACE_LC(c) : is_uni_space_lc(c)) +#define isDIGIT_LC_uni(c) (c < 256 ? isDIGIT_LC(c) : is_uni_digit_lc(c)) +#define isUPPER_LC_uni(c) (c < 256 ? isUPPER_LC(c) : is_uni_upper_lc(c)) +#define isLOWER_LC_uni(c) (c < 256 ? isLOWER_LC(c) : is_uni_lower_lc(c)) +#define isALNUMC_LC_uni(c) (c < 256 ? isALNUMC_LC(c) : is_uni_alnumc_lc(c)) +#define isCNTRL_LC_uni(c) (c < 256 ? isCNTRL_LC(c) : is_uni_cntrl_lc(c)) +#define isGRAPH_LC_uni(c) (c < 256 ? isGRAPH_LC(c) : is_uni_graph_lc(c)) +#define isPRINT_LC_uni(c) (c < 256 ? isPRINT_LC(c) : is_uni_print_lc(c)) +#define isPUNCT_LC_uni(c) (c < 256 ? isPUNCT_LC(c) : is_uni_punct_lc(c)) +#define toUPPER_LC_uni(c) (c < 256 ? toUPPER_LC(c) : to_uni_upper_lc(c)) +#define toTITLE_LC_uni(c) (c < 256 ? toUPPER_LC(c) : to_uni_title_lc(c)) +#define toLOWER_LC_uni(c) (c < 256 ? toLOWER_LC(c) : to_uni_lower_lc(c)) + +#define isALNUM_utf8(p) is_utf8_alnum(p) +#define isIDFIRST_utf8(p) is_utf8_idfirst(p) +#define isALPHA_utf8(p) is_utf8_alpha(p) +#define isSPACE_utf8(p) is_utf8_space(p) +#define isDIGIT_utf8(p) is_utf8_digit(p) +#define isUPPER_utf8(p) is_utf8_upper(p) +#define isLOWER_utf8(p) is_utf8_lower(p) +#define isALNUMC_utf8(p) is_utf8_alnumc(p) +#define isASCII_utf8(p) is_utf8_ascii(p) +#define isCNTRL_utf8(p) is_utf8_cntrl(p) +#define isGRAPH_utf8(p) is_utf8_graph(p) +#define isPRINT_utf8(p) is_utf8_print(p) +#define isPUNCT_utf8(p) is_utf8_punct(p) +#define isXDIGIT_utf8(p) is_utf8_xdigit(p) +#define toUPPER_utf8(p) to_utf8_upper(p) +#define toTITLE_utf8(p) to_utf8_title(p) +#define toLOWER_utf8(p) to_utf8_lower(p) + +#define isALNUM_LC_utf8(p) isALNUM_LC_uni(utf8_to_uv(p, 0)) +#define isIDFIRST_LC_utf8(p) isIDFIRST_LC_uni(utf8_to_uv(p, 0)) +#define isALPHA_LC_utf8(p) isALPHA_LC_uni(utf8_to_uv(p, 0)) +#define isSPACE_LC_utf8(p) isSPACE_LC_uni(utf8_to_uv(p, 0)) +#define isDIGIT_LC_utf8(p) isDIGIT_LC_uni(utf8_to_uv(p, 0)) +#define isUPPER_LC_utf8(p) isUPPER_LC_uni(utf8_to_uv(p, 0)) +#define isLOWER_LC_utf8(p) isLOWER_LC_uni(utf8_to_uv(p, 0)) +#define isALNUMC_LC_utf8(p) isALNUMC_LC_uni(utf8_to_uv(p, 0)) +#define isCNTRL_LC_utf8(p) isCNTRL_LC_uni(utf8_to_uv(p, 0)) +#define isGRAPH_LC_utf8(p) isGRAPH_LC_uni(utf8_to_uv(p, 0)) +#define isPRINT_LC_utf8(p) isPRINT_LC_uni(utf8_to_uv(p, 0)) +#define isPUNCT_LC_utf8(p) isPUNCT_LC_uni(utf8_to_uv(p, 0)) +#define toUPPER_LC_utf8(p) toUPPER_LC_uni(utf8_to_uv(p, 0)) +#define toTITLE_LC_utf8(p) toTITLE_LC_uni(utf8_to_uv(p, 0)) +#define toLOWER_LC_utf8(p) toLOWER_LC_uni(utf8_to_uv(p, 0)) + #ifdef EBCDIC -EXT int ebcdic_control _((int)); +EXT int ebcdic_control (int); # define toCTRL(c) ebcdic_control(c) #else /* This conversion works both ways, strangely enough. */ @@ -264,10 +467,10 @@ typedef U16 line_t; #endif -/* This looks obsolete (IZ): - +/* XXX LEAKTEST doesn't really work in perl5. There are direct calls to safemalloc() in the source, so LEAKTEST won't pick them up. + (The main "offenders" are extensions.) Further, if you try LEAKTEST, you'll also end up calling Safefree, which might call safexfree() on some things that weren't malloced with safexmalloc. The correct "fix" to this, if anyone @@ -276,6 +479,56 @@ typedef U16 line_t; --Andy Dougherty August 1996 */ +/* +=for apidoc Am|SV*|NEWSV|int id|STRLEN len +Creates a new SV. A non-zero C parameter indicates the number of +bytes of preallocated string space the SV should have. An extra byte for a +tailing NUL is also reserved. (SvPOK is not set for the SV even if string +space is allocated.) The reference count for the new SV is set to 1. +C is an integer id between 0 and 1299 (used to identify leaks). + +=for apidoc Am|void|New|int id|void* ptr|int nitems|type +The XSUB-writer's interface to the C C function. + +=for apidoc Am|void|Newc|int id|void* ptr|int nitems|type|cast +The XSUB-writer's interface to the C C function, with +cast. + +=for apidoc Am|void|Newz|int id|void* ptr|int nitems|type +The XSUB-writer's interface to the C C function. The allocated +memory is zeroed with C. + +=for apidoc Am|void|Renew|void* ptr|int nitems|type +The XSUB-writer's interface to the C C function. + +=for apidoc Am|void|Renewc|void* ptr|int nitems|type|cast +The XSUB-writer's interface to the C C function, with +cast. + +=for apidoc Am|void|Safefree|void* src|void* dest|int nitems|type +The XSUB-writer's interface to the C C function. + +=for apidoc Am|void|Move|void* src|void* dest|int nitems|type +The XSUB-writer's interface to the C C function. The C is the +source, C is the destination, C is the number of items, and C is +the type. Can do overlapping moves. See also C. + +=for apidoc Am|void|Copy|void* src|void* dest|int nitems|type +The XSUB-writer's interface to the C C function. The C is the +source, C is the destination, C is the number of items, and C is +the type. May fail on overlapping copies. See also C. + +=for apidoc Am|void|Zero|void* dest|int nitems|type + +The XSUB-writer's interface to the C C function. The C is the +destination, C is the number of items, and C is the type. + +=for apidoc Am|void|StructCopy|type src|type dest|type +This is an architecture-independant macro to copy one structure to another. + +=cut +*/ + #ifndef lint #define NEWSV(x,len) newSV(len) diff --git a/gnu/usr.bin/perl/hints/README.hints b/gnu/usr.bin/perl/hints/README.hints index e36bd6d1dd9..5f23b29c2cb 100644 --- a/gnu/usr.bin/perl/hints/README.hints +++ b/gnu/usr.bin/perl/hints/README.hints @@ -11,7 +11,9 @@ over from perl4. Please send any problems or suggested changes to perlbug@perl.com. -Hint file naming convention: Each hint file name should have only +=head1 Hint file naming convention. + +Each hint file name should have only one '.'. (This is for portability to non-unix file systems.) Names should also fit in <= 14 characters, for portability to older SVR3 systems. File names are of the form $osname_$osvers.sh, with all '.' @@ -51,6 +53,56 @@ detect what is needed. A glossary of config.sh variables is in the file Porting/Glossary. +=head1 Setting variables + +=head2 Optimizer + +If you want to set a variable, try to allow for Configure command-line +overrides. For example, suppose you think the default optimizer +setting to be -O2 for a particular platform. You should allow for +command line overrides with something like + + case "$optimize" in + '') optimize='-O2' ;; + esac + +or, if your system has a decent test(1) command, + + test -z "$optimize" && optimize='-O2' + +This allows the user to select a different optimization level, e.g. +-O6 or -g. + +=head2 Compiler and Linker flags + +If you want to set $ccflags or $ldflags, you should append to the existing +value to allow Configure command-line settings, e.g. use + + ccflags="$ccflags -DANOTHER_OPTION_I_NEED" + +so that the user can do something like + + sh Configure -Dccflags='FIX_NEGATIVE_ZERO' + +and have the FIX_NEGATIVE_ZERO value preserved by the hints file. + +=head2 Libraries + +Configure will attempt to use the libraries listed in the variable +$libswanted. If necessary, you should remove broken libraries from +that list, or add additional libraries to that list. You should +*not* simply set $libs -- that ignores the possibilities of local +variations. For example, a setting of libs='-lgdbm -lm -lc' would +fail if another user were to try to compile Perl on a system without +GDBM but with Berkeley DB. See hints/dec_osf.sh and hints/solaris_2.sh +for examples. + +=head2 Other + +In general, try to avoid hard-wiring something that Configure will +figure out anyway. Also try to allow for Configure command-line +overrides. + =head1 Hint file tricks =head2 Printing critical messages @@ -189,12 +241,6 @@ after Configure prompts the user for the C compiler, it will load in and run the UU/cc.cbu "call-back" unit. See hints/solaris_2.sh for an example. -=item Threading-related flags - -Similarly, after Configure prompts the user about whether or not to -compile Perl with threads, it will look for a "call-back" unit -usethreads.cbu. See hints/linux.sh for an example. - =item Future status I hope this "call-back" scheme is simple enough to use but powerful @@ -210,4 +256,4 @@ say things like "sh Configure -Dcc=gcc -Dusethreads" on the command line. Have the appropriate amount of fun :-) - Andy Dougherty doughera@lafcol.lafayette.edu + Andy Dougherty doughera@lafayette.edu diff --git a/gnu/usr.bin/perl/hints/aix.sh b/gnu/usr.bin/perl/hints/aix.sh index d2c45c0a590..d6f3dd78e0f 100644 --- a/gnu/usr.bin/perl/hints/aix.sh +++ b/gnu/usr.bin/perl/hints/aix.sh @@ -2,30 +2,99 @@ # AIX 3.x.x hints thanks to Wayne Scott # AIX 4.1 hints thanks to Christopher Chan-Nui . # AIX 4.1 pthreading by Christopher Chan-Nui and -# Jarkko Hietaniemi . +# Jarkko Hietaniemi . +# AIX 4.3.x LP64 build by Steven Hirsch # Merged on Mon Feb 6 10:22:35 EST 1995 by # Andy Dougherty +# +# Contact dfavor@corridor.com for any of the following: +# +# - AIX 43x and above support +# - gcc + threads support +# - socks support +# +# Apr 99 changes: +# +# - use nm in AIX 43x and above +# - gcc + threads now builds +# [(added support for socks) Jul 99 SOCKS support rewritten] +# +# Notes: +# +# - shared libperl support is tricky. if ever libperl.a ends up +# in /usr/local/lib/* it can override any subsequent builds of +# that same perl release. to make sure you know where the shared +# libperl.a is coming from do a 'dump -Hv perl' and check all the +# library search paths in the loader header. +# +# it would be nice to warn the user if a libperl.a exists that is +# going to override the current build, but that would be complex. +# +# better yet, a solid fix for this situation should be developed. +# # Configure finds setrgid and setruid, but they're useless. The man # pages state: # setrgid: The EPERM error code is always returned. # setruid: The EPERM error code is always returned. Processes cannot -# reset only their real user IDs. +# reset only their real user IDs. d_setrgid='undef' d_setruid='undef' alignbytes=8 -usemymalloc='n' +case "$usemymalloc" in +'') usemymalloc='n' ;; +esac # Intuiting the existence of system calls under AIX is difficult, # at best; the safest technique is to find them empirically. -usenm='undef' + +# AIX 4.3.* and above default to using nm for symbol extraction +case "$osvers" in + 3.*|4.1.*|4.2.*) + usenm='undef' + ;; + *) + usenm='true' + ;; +esac so="a" +# AIX itself uses .o (libc.o) but we prefer compatibility +# with the rest of the world and with rest of the scripting +# languages (Tcl, Python) and related systems (SWIG). +# Stephanie Beals dlext="so" +# Take possible hint from the environment. If 32-bit is set in the +# environment, we can override it later. If set for 64, the +# 'sizeof' test sees a native 64-bit architecture and never looks back. +case "$OBJECT_MODE" in +32) + cat >&4 <&4 < UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) - ccflags="$ccflags -DNEED_PTHREAD_INIT" - case "$cc" in - cc_r) ;; - cc|xlc_r) + ccflags="$ccflags -DNEED_PTHREAD_INIT" + case "$cc" in + gcc) ;; + cc_r) ;; + cc|xl[cC]_r) echo >&4 "Switching cc to cc_r because of POSIX threads." # xlc_r has been known to produce buggy code in AIX 4.3.2. - # (e.g. pragma/overload core dumps) + # (e.g. pragma/overload core dumps) Let's suspect xlC_r, too. # --jhi@iki.fi cc=cc_r - ;; - '') + ;; + '') cc=cc_r - ;; - *) - cat >&4 <&4 < UU/uselargefiles.cbu <<'EOCBU' +case "$uselargefiles" in +''|$define|true|[yY]*) + lfcflags="`getconf XBS5_ILP32_OFFBIG_CFLAGS 2>/dev/null`" + lfldflags="`getconf XBS5_ILP32_OFFBIG_LDFLAGS 2>/dev/null`" + # _Somehow_ in AIX 4.3.1.0 the above getconf call manages to + # insert(?) *something* to $ldflags so that later (in Configure) evaluating + # $ldflags causes a newline after the '-b64' (the result of the getconf). + # (nothing strange shows up in $ldflags even in hexdump; + # so it may be something in the shell, instead?) + # Try it out: just uncomment the below line and rerun Configure: +# echo >&4 "AIX 4.3.1.0 $lfldflags mystery" ; exit 1 + # Just don't ask me how AIX does it, I spent hours wondering. + # Therefore the line re-evaluating lfldflags: it seems to fix + # the whatever it was that AIX managed to break. --jhi + lfldflags="`echo $lfldflags`" + lflibs="`getconf XBS5_ILP32_OFFBIG_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 's@ -l@ @g`" + case "$lfcflags$lfldflags$lflibs" in + '');; + *) ccflags="$ccflags $lfcflags" + ldflags="$ldflags $lfldflags" + libswanted="$libswanted $lflibs" + ;; + esac + lfcflags='' + lfldflags='' + lflibs='' + ;; +esac +EOCBU + +# This script UU/use64bitint.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use 64 bit integers. +cat > UU/use64bitint.cbu <<'EOCBU' +case "$use64bitint" in +$define|true|[yY]*) + case "`oslevel`" in + 3.*|4.[012].*) + cat >&4 < UU/use64bitall.cbu <<'EOCBU' +# This script UU/use64bitall.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to be maximally 64-bitty. +case "$use64bitall" in +$define|true|[yY]*) + case "`oslevel`" in + 3.*|4.[012].*) + cat >&4 <&4 + $cat >size.c < +#include +int main (void) +{ + printf("%d\n",_system_configuration.width); + return(0); +} +EOCP + set size + if eval $compile_ok; then + lfcpuwidth=`./size` + echo "You are running on $lfcpuwidth bit hardware." + else + dflt="32" + echo " " + echo "(I can't seem to compile the test program. Guessing...)" + rp="What is the width of your CPU (in bits)?" + . ./myread + lfcpuwidth="$ans" + fi + $rm -f size.c size + case "$lfcpuwidth" in + 32*) + cat >&4 < UU/uselongdouble.cbu <<'EOCBU' +# This script UU/uselongdouble.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use long doubles. +case "$uselongdouble" in +$define|true|[yY]*) + ccflags="$ccflags -qlongdouble" + # The explicit cc128, xlc128, xlC128 are not needed, + # the -qlongdouble should do the trick. --jhi + d_Gconvert='sprintf((b),"%.*llg",(n),(x))' + ;; +esac +EOCBU + +# If the C++ libraries, libC and libC_r, are available we will prefer them +# over the vanilla libc, because the libC contain loadAndInit() and +# terminateAndUnload() which work correctly with C++ statics while libc +# load() and unload() do not. See ext/DynaLoader/dl_aix.xs. +# The C-to-C_r switch is done by usethreads.cbu, if needed. +if test -f /lib/libC.a -a X"`$cc -v 2>&1 | grep gcc`" = X; then + # Cify libswanted. + set `echo X "$libswanted "| sed -e 's/ c / C c /'` + shift + libswanted="$*" + # Cify lddlflags. + set `echo X "$lddlflags "| sed -e 's/ -lc / -lC -lc /'` + shift + lddlflags="$*" +fi + +# EOF diff --git a/gnu/usr.bin/perl/hints/amigaos.sh b/gnu/usr.bin/perl/hints/amigaos.sh index 9d86e52bc03..fff55b082cc 100644 --- a/gnu/usr.bin/perl/hints/amigaos.sh +++ b/gnu/usr.bin/perl/hints/amigaos.sh @@ -22,15 +22,20 @@ libpth="$prefix/lib /local/lib" glibpth="$libpth" xlibpth="$libpth" +# This should remove unwanted libraries instead of limiting the set +# to just these few. E.g. what about Berkeley DB? libswanted='gdbm m dld' so=' ' # compiler & linker flags +# Respect command-line values. -ccflags='-DAMIGAOS -mstackextend' -ldflags='' -optimize='-O2 -fomit-frame-pointer' +ccflags="$ccflags -DAMIGAOS -mstackextend" +case "$optimize" in +'') optimize='-O2 -fomit-frame-pointer';; +esac dlext='o' +# Are these two different from the defaults? cccdlflags='none' ccdlflags='none' lddlflags='-oformat a.out-amiga -r' diff --git a/gnu/usr.bin/perl/hints/beos.sh b/gnu/usr.bin/perl/hints/beos.sh index 8d76bc5146f..8017dce9cca 100644 --- a/gnu/usr.bin/perl/hints/beos.sh +++ b/gnu/usr.bin/perl/hints/beos.sh @@ -51,3 +51,7 @@ ld='gcc' # Of course, this may also change with R5. export PATH="$PATH:$PWD/beos" + +case "$ldlibpthname" in +'') ldlibpthname=LIBRARY_PATH ;; +esac diff --git a/gnu/usr.bin/perl/hints/cygwin32.sh b/gnu/usr.bin/perl/hints/cygwin32.sh deleted file mode 100644 index 5853499954a..00000000000 --- a/gnu/usr.bin/perl/hints/cygwin32.sh +++ /dev/null @@ -1,50 +0,0 @@ -#! /bin/sh -# cygwin32.sh - hintsfile for building perl on Windows NT using the -# Cygnus Win32 Development Kit. -# See "http://www.cygnus.com/misc/gnu-win32/" to learn about the kit. -# -path_sep=\; -exe_ext='.exe' -firstmakefile='GNUmakefile' -if test -f $sh.exe; then sh=$sh.exe; fi -startsh="#!$sh" -cc='gcc2' -ld='ld2' -usrinc='/gnuwin32/H-i386-cygwin32/i386-cygwin32/include' -libpth='/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib /gnuwin32/H-i386-cygwin32/lib' -libs='-lcygwin -lm -lc -lkernel32' -# dynamic lib stuff -so='dll' -#i_dlfcn='define' -dlsrc='dl_cygwin32.xs' -usedl='y' -# flag to include the perl.exe export variable translation file cw32imp.h -# when building extension libs -cccdlflags='-DCYGWIN32 -DDLLIMPORT ' -# flag that signals gcc2 to build exportable perl -ccdlflags='-buildperl ' -lddlflags='-L../.. -L/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib -lperlexp -lcygwin' -d_voidsig='undef' -extensions='Fcntl IO Opcode SDBM_File' -lns='cp' -signal_t='int' -useposix='false' -rd_nodata='0' -eagain='EAGAIN' -archname='cygwin32' -# - -installbin='/usr/local/bin' -installman1dir='' -installman3dir='' -installprivlib='/usr/local/lib/perl5' -installscript='/usr/local/bin' - -installsitelib='/usr/local/lib/perl5/site_perl' -libc='/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib/libc.a' - -perlpath='/usr/local/bin/perl' - -sitelib='/usr/local/lib/perl5/site_perl' -sitelibexp='/usr/local/lib/perl5/site_perl' -usrinc='/gnuwin32/H-i386-cygwin32/i386-cygwin32/include' diff --git a/gnu/usr.bin/perl/hints/dec_osf.sh b/gnu/usr.bin/perl/hints/dec_osf.sh index 8758cbb8207..db7b869cf2b 100644 --- a/gnu/usr.bin/perl/hints/dec_osf.sh +++ b/gnu/usr.bin/perl/hints/dec_osf.sh @@ -58,20 +58,41 @@ # and it is called GEM. Many of the options we are going to use depend # on the compiler style. -# do NOT, I repeat, *NOT* take away those leading tabs +cc=${cc:-cc} + +# do NOT, I repeat, *NOT* take away the leading tabs +# Configure Black Magic (TM) # reset - _DEC_uname_r= _DEC_cc_style= - # set - _DEC_uname_r=`uname -r` - # _DEC_cc_style set soon below -# Configure Black Magic (TM) +case "`$cc -v 2>&1 | grep cc`" in +*gcc*) _gcc_version=`$cc -v 2>&1 | grep "gcc version" | sed 's%^gcc version \([0-9]*\)\.\([0-9]*\) .*%\1 \2%'` + set $_gcc_version + if test "$1" -lt 2 -o \( "$1" -eq 2 -a "$2" -lt 95 \); then + cat >&4 <&1`" in + case "`cc -v -I. -c taint.c -o taint$$.o 2>&1`" in */gemc_cc*) # we have the new DEC GEM CC _DEC_cc_style=new ;; @@ -80,12 +101,12 @@ case "$cc" in ;; esac # cleanup - rm -f /tmp/taint$$.o + rm -f taint$$.o ;; esac # be nauseatingly ANSI -case "$cc" in +case "`$cc -v 2>&1 | grep gcc`" in *gcc*) ccflags="$ccflags -ansi" ;; *) ccflags="$ccflags -std" @@ -98,7 +119,7 @@ esac # we want optimisation case "$optimize" in -'') case "$cc" in +'') case "`$cc -v 2>&1 | grep gcc`" in *gcc*) optimize='-O3' ;; *) case "$_DEC_cc_style" in @@ -147,13 +168,26 @@ lddlflags='-shared -expect_unresolved "*"' # Fancy compiler suites use optimising linker as well as compiler. # -case "$_DEC_uname_r" in +case "`uname -r`" in *[123].*) # old loader lddlflags="$lddlflags -O3" ;; -*) lddlflags="$lddlflags $optimize -msym" - # -msym: If using a sufficiently recent /sbin/loader, - # keep the module symbols with the modules. +*) if $test "X$optimize" = "X$undef"; then + lddlflags="$lddlflags -msym" + else + case "`/usr/sbin/sizer -v`" in + *4.0D*) + # QAR 56761: -O4 + .so may produce broken code, + # fixed in 4.0E or better. + ;; + *) + lddlflags="$lddlflags $optimize" + ;; + esac + # -msym: If using a sufficiently recent /sbin/loader, + # keep the module symbols with the modules. + lddlflags="$lddlflags -msym -std" + fi ;; esac # Yes, the above loses if gcc does not use the system linker. @@ -165,7 +199,7 @@ esac # As noted above the -DDEBUGGING is added automagically by Configure if -g. case "$optimize" in *-g*) ;; # left intentionally blank -*) case "$_DEC_uname_r" in +*) case "`uname -r`" in *[123].*) case "$useshrplib" in false|undef|'') lddlflags="$lddlflags -s" ;; @@ -187,38 +221,75 @@ case "$_DEC_cc_style.$useshrplib" in new.) useshrplib="$define" ;; esac +# The EFF_ONLY_OK from is present but dysfunctional for +# [RWX]_OK as of Digital UNIX 4.0[A-D]?. If and when this gets fixed, +# please adjust this appropriately. See also pp_sys.c just before the +# emulate_eaccess(). + +# Fixed in V5.0A. +case "`/usr/sbin/sizer -v`" in +*5.0[A-Z]*|*5.[1-9]*|*[6-9].[0-9]*) + : ok + ;; +*) +# V5.0 or previous +pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"' + ;; +esac + +# The off_t is already 8 bytes, so we do have largefileness. + +cat > UU/usethreads.cbu <<'EOCBU' # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. -cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) - # Threads interfaces changed with V4.0. - case "`uname -r`" in - *[123].*) - libswanted="$libswanted pthreads mach exc c_r" - ccflags="-threads $ccflags" - ;; - *) - libswanted="$libswanted pthread exc" - ccflags="-pthread $ccflags" + # Threads interfaces changed with V4.0. + case "`$cc -v 2>&1 | grep gcc`" in + *gcc*)ccflags="-D_REENTRANT $ccflags" ;; + *) case "`uname -r`" in + *[123].*) ccflags="-threads $ccflags" ;; + *) ccflags="-pthread $ccflags" ;; + esac ;; - esac + esac + case "`uname -r`" in + *[123].*) libswanted="$libswanted pthreads mach exc c_r" ;; + *) libswanted="$libswanted pthread exc" ;; + esac - usemymalloc='n' + case "$usemymalloc" in + '') + usemymalloc='n' + ;; + esac ;; esac EOCBU +cat > UU/uselongdouble.cbu <<'EOCBU' +# This script UU/uselongdouble.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use long doubles. +case "$uselongdouble" in +$define|true|[yY]*) d_Gconvert='sprintf((b),"%.*Lg",(n),(x))' ;; +esac +EOCBU + # # Unset temporary variables no more needed. # unset _DEC_cc_style -unset _DEC_uname_r # # History: # +# perl5.005_51: +# +# September-1998 Jarkko Hietaniemi +# +# * Added the -DNO_EFF_ONLY_OK flag ('use filetest;' support). +# # perl5.004_57: # # 19-Dec-1997 Spider Boardman diff --git a/gnu/usr.bin/perl/hints/dgux.sh b/gnu/usr.bin/perl/hints/dgux.sh index 03b285dbd4a..9a6f7a4879f 100644 --- a/gnu/usr.bin/perl/hints/dgux.sh +++ b/gnu/usr.bin/perl/hints/dgux.sh @@ -14,13 +14,8 @@ # as it would suck to try to get support if the vendor learned that you # were physically replacing the system binaries. # -# Be aware that if you opt to use dynamic loading you'll need to set -# your $LD_LIBRARY_PATH to include the source directory when you build, -# test and install the software. -# # -Roderick Schertler - # Here are the things from some old DGUX hints files which are different # from what's in here now. I don't know the exact reasons that most of # these settings were in the hints files, presumably they can be chalked diff --git a/gnu/usr.bin/perl/hints/dynixptx.sh b/gnu/usr.bin/perl/hints/dynixptx.sh index 2edf0263053..11c6b5b3b06 100644 --- a/gnu/usr.bin/perl/hints/dynixptx.sh +++ b/gnu/usr.bin/perl/hints/dynixptx.sh @@ -19,10 +19,11 @@ libswanted=`echo $libswanted | sed -e 's/ inet / /'` # Configure defaults to usenm='y', which doesn't work very well usenm='n' -# for performance, apparently this makes a huge difference (~krader) +# removed d_vfork='define'; we can't use it any more ... -d_vfork='define' -optimize='-Wc,-O3 -W0,-xstring' +case "$optimize" in +'') optimize='-Wc,-O3 -W0,-xstring' ;; +esac # We override d_socket because it's very hard for Configure to get it right # in Dynix/Ptx, for several reasons. @@ -49,9 +50,9 @@ case "$osvers" in d_sockpair='define' ;; 4.2*) # on ptx/TCP 4.2, we can use BSD sockets, but they're not the default. - cppflags='-Wc,+bsd-socket' - ccflags='-Wc,+bsd-socket' - ldflags='-Wc,+bsd-socket' + cppflags="$cppflags -Wc,+bsd-socket" + ccflags="$ccflags -Wc,+bsd-socket" + ldflags="$ldflags -Wc,+bsd-socket" d_socket='define' d_oldsock='undef' d_sockpair='define' diff --git a/gnu/usr.bin/perl/hints/epix.sh b/gnu/usr.bin/perl/hints/epix.sh index b91537a202a..dcad3c5d476 100644 --- a/gnu/usr.bin/perl/hints/epix.sh +++ b/gnu/usr.bin/perl/hints/epix.sh @@ -43,9 +43,9 @@ d_flock='undef' # of libswanted excludes some libraries found there. You may want to # prevent "ucb" from being removed from libswanted and see if perl will # build on your system. -ldflags='-non_shared -systype svr4 -L/svr4/usr/lib -L/svr4/usr/lib/cmplrs/cc -L/usr/ccs/lib -L/svr4/usr/ucblib' -ccflags='-systype svr4 -D__STDC__=0 -I/svr4/usr/include -I/svr4/usr/ucbinclude' -cppflags='-D__STDC__=0 -I/svr4/usr/include -I/svr4/usr/ucbinclude' +ldflags="$ldflags -non_shared -systype svr4 -L/svr4/usr/lib -L/svr4/usr/lib/cmplrs/cc -L/usr/ccs/lib -L/svr4/usr/ucblib" +ccflags="$ccflags -systype svr4 -D__STDC__=0 -I/svr4/usr/include -I/svr4/usr/ucbinclude" +cppflags="$ccflags -D__STDC__=0 -I/svr4/usr/include -I/svr4/usr/ucbinclude" # Don't use problematic libraries: @@ -64,12 +64,3 @@ lddlflags="-G $ldflags" # Probably needed for dynamic loading # We _do_ want the -L paths in ldflags, but we don't want the -non_shared. lddlflags=`echo $lddlflags | sed 's/-non_shared//'` -cat <<'EOM' >&4 - -If you wish to use dynamic linking, you must use - LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH -or - setenv LD_LIBRARY_PATH `pwd` -before running make. - -EOM diff --git a/gnu/usr.bin/perl/hints/esix4.sh b/gnu/usr.bin/perl/hints/esix4.sh index 3d3145d2550..b1d697cccbd 100644 --- a/gnu/usr.bin/perl/hints/esix4.sh +++ b/gnu/usr.bin/perl/hints/esix4.sh @@ -3,22 +3,26 @@ # Kevin O'Gorman ( kevin@kosman.UUCP, kevin%kosman.uucp@nrc.com ) # # Use Configure -Dcc=gcc to use gcc. + +# Why can't we just use PATH? It contains /usr/ccs/bin. case "$cc" in '') cc='/bin/cc' test -f $cc || cc='/usr/ccs/bin/cc' ;; esac -ldflags='-L/usr/ccs/lib -L/usr/ucblib' + +ldflags="$ldflags -L/usr/ccs/lib -L/usr/ucblib" test -d /usr/local/man || mansrc='none' -ccflags='-I/usr/include -I/usr/ucbinclude' +# Do we really need to tell cc to look in /usr/include? +ccflags="$ccflags -I/usr/include -I/usr/ucbinclude" libswanted=`echo " $libswanted " | sed -e 's/ malloc / /' ` d_index='undef' d_suidsafe=define usevfork='false' if test "$osvers" = "3.0"; then d_gconvert='undef' - grep 'define[ ]*AF_OSI[ ]' /usr/include/sys/socket.h | grep '/\*[^*]*$' >/tmp/esix$$ - if test -s /tmp/esix$$; then + grep 'define[ ]*AF_OSI[ ]' /usr/include/sys/socket.h | grep '/\*[^*]*$' >esix$$ + if test -s esix$$; then cat <&2 WARNING: You are likely to have problems compiling the Socket extension @@ -27,15 +31,6 @@ unless you fix the unterminated comment for AF_OSI in the file EOM fi - rm -f /tmp/esix$$ + rm -f esix$$ fi -cat <<'EOM' >&4 - -If you wish to use dynamic linking, you must use - LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH -or - setenv LD_LIBRARY_PATH `pwd` -before running make. - -EOM diff --git a/gnu/usr.bin/perl/hints/freebsd.sh b/gnu/usr.bin/perl/hints/freebsd.sh index 66f6ca02bfc..fd60ba3cb91 100644 --- a/gnu/usr.bin/perl/hints/freebsd.sh +++ b/gnu/usr.bin/perl/hints/freebsd.sh @@ -99,7 +99,11 @@ esac case "$osvers" in 0.*|1.0*) ;; -3.*|4.0*) +1*|2*) cccdlflags='-DPIC -fpic' + lddlflags="-Bshareable $lddlflags" + ;; + +*) objformat=`/usr/bin/objformat` if [ x$objformat = xelf ]; then libpth="/usr/lib /usr/local/lib" @@ -108,17 +112,23 @@ case "$osvers" in lddlflags="-shared " else if [ -e /usr/lib/aout ]; then - libpth="/usr/lib/aout /usr/local/lib /usr/lib" - glibpth="/usr/lib/aout /usr/local/lib /usr/lib" - fi - lddlflags='-Bshareable' + libpth="/usr/lib/aout /usr/local/lib /usr/lib" + glibpth="/usr/lib/aout /usr/local/lib /usr/lib" + fi + lddlflags='-Bshareable' fi cccdlflags='-DPIC -fpic' ;; +esac -*) cccdlflags='-DPIC -fpic' - lddlflags="-Bshareable $lddlflags" - ;; +case "$osvers" in +0*|1*|2*|3*) ;; + +*) + if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then + usenm=false + fi + ;; esac cat <<'EOM' >&4 @@ -147,8 +157,8 @@ case "$osvers" in # the equivalent in the main Configure so we copy a little # from Configure XXX Configure should be fixed. if $test -r $src/patchlevel.h;then - patchlevel=`awk '/define[ ]+PATCHLEVEL/ {print $3}' $src/patchlevel.h` - subversion=`awk '/define[ ]+SUBVERSION/ {print $3}' $src/patchlevel.h` + patchlevel=`awk '/define[ ]+PERL_VERSION/ {print $3}' $src/patchlevel.h` + subversion=`awk '/define[ ]+PERL_SUBVERSION/ {print $3}' $src/patchlevel.h` else patchlevel=0 subversion=0 @@ -164,22 +174,17 @@ esac cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) - lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'` + lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|tail -1` case "$osvers" in - 2.2.8*|3.*|4.*) - if [ ! -r "$lc_r" ]; then - cat <&4 -POSIX threads should be supported by FreeBSD $osvers -- -but your system is missing the shared libc_r. -(/sbin/ldconfig -r doesn't find any). + 0*|1*|2.0*|2.1*) cat <&4 +I did not know that FreeBSD $osvers supports POSIX threads. -Consider using the latest STABLE release. +Feel free to tell perlbug@perl.com otherwise. EOM - exit 1 - fi - ldflags="-pthread $ldflags" + exit 1 ;; - 2.2*) + + 2.2.[0-7]*) cat <&4 POSIX threads are not supported well by FreeBSD $osvers. @@ -192,13 +197,21 @@ or preferably to 3.something. EOM exit 1 ;; - *) cat <&4 -I did not know that FreeBSD $osvers supports POSIX threads. -Feel free to tell perlbug@perl.com otherwise. + *) + if [ ! -r "$lc_r" ]; then + cat <&4 +POSIX threads should be supported by FreeBSD $osvers -- +but your system is missing the shared libc_r. +(/sbin/ldconfig -r doesn't find any). + +Consider using the latest STABLE release. EOM - exit 1 + exit 1 + fi + ldflags="-pthread $ldflags" ;; + esac set `echo X "$libswanted "| sed -e 's/ c / c_r /'` diff --git a/gnu/usr.bin/perl/hints/hpux.sh b/gnu/usr.bin/perl/hints/hpux.sh index 8a9e3cb25d2..ce15f552b44 100644 --- a/gnu/usr.bin/perl/hints/hpux.sh +++ b/gnu/usr.bin/perl/hints/hpux.sh @@ -21,8 +21,10 @@ # Don't assume every OS != 10 is < 10, (e.g., 11). # From: Chuck Phillips # HP-UX 10 pthreads hints: Matthew T Harden +# From: Dominic Dunlop +# Abort and offer advice if bundled (non-ANSI) C compiler selected -# This version: August 15, 1997 +# This version: March 8, 2000 # Current maintainer: Jeff Okamoto #-------------------------------------------------------------------- @@ -64,21 +66,19 @@ ccflags="$ccflags -D_HPUX_SOURCE" # Check if you're using the bundled C compiler. This compiler doesn't support -# ANSI C (the -Aa flag) nor can it produce shared libraries. Thus we have -# to turn off dynamic loading. +# ANSI C (the -Aa flag) and so is not suitable for perl 5.5 and later. case "$cc" in '') if cc $ccflags -Aa 2>&1 | $contains 'option' >/dev/null then - case "$usedl" in - '') usedl="$undef" cat <<'EOM' >&4 -The bundled C compiler can not produce shared libraries, so you will -not be able to use dynamic loading. +The bundled C compiler is not ANSI-compliant, and so cannot be used to +build perl. Please see the file README.hpux for advice on alternative +compilers. +Cannot continue, aborting. EOM - ;; - esac + exit 1 else ccflags="$ccflags -Aa" # The add-on compiler supports ANSI C # cppstdin and cpprun need the -Aa option if you use the unbundled @@ -92,19 +92,22 @@ EOM cppminus='-' cpplast='-' fi - # For HP's ANSI C compiler, up to "+O3" is safe for everything - # except shared libraries (PIC code). Max safe for PIC is "+O2". - # Setting both causes innocuous warnings. - #optimize='+O3' - #cccdlflags='+z +O2' - optimize='-O' + case "$optimize" in + # For HP's ANSI C compiler, up to "+O3" is safe for everything + # except shared libraries (PIC code). Max safe for PIC is "+O2". + # Setting both causes innocuous warnings. + '') optimize='-O' + #optimize='+O3' + #cccdlflags='+z +O2' + ;; + esac + cc=cc ;; esac -# Even if you use gcc, prefer the HP math library over the GNU one. - -case "`$cc -v 2>&1`" in -"*gcc*" ) test -d /lib/pa1.1 && ccflags="$ccflags -L/lib/pa1.1" ;; +case `$cc -v 2>&1`"" in +*gcc*) ccisgcc="$define" ;; +*) ccisgcc='' ;; esac # Determine the architecture type of this system. @@ -139,60 +142,78 @@ else selecttype='int *' fi -# This script UU/usethreads.cbu will get 'called-back' by Configure -# after it has prompted the user for whether to use threads. -cat > UU/usethreads.cbu <<'EOCBU' -case "$usethreads" in +# Do this right now instead of the delayed callback unit approach. +case "$use64bitall" in +$define|true|[yY]*) use64bitint="$define" ;; +esac +case "$use64bitint" in $define|true|[yY]*) - if [ "$xxOsRevMajor" -lt 10 ]; then - cat <&4 -HP-UX $xxOsRevMajor cannot support POSIX threads. -Consider upgrading to at least HP-UX 11. + if [ "$xxOsRevMajor" -lt 11 ]; then + cat <&4 + +64-bit compilation is not supported on HP-UX $xxOsRevMajor. +You need at least HP-UX 11.0. Cannot continue, aborting. + EOM - exit 1 - fi - case "$xxOsRevMajor" in - 10) - # Under 10.X, a threaded perl can be built, but it needs - # libcma and OLD_PTHREADS_API. Also needs to - # be #included before any other includes (in perl.h) - if [ ! -f /usr/include/pthread.h -o ! -f /usr/lib/libcma.sl ]; then - cat <&4 -In HP-UX 10.X for POSIX threads you need both of the files -/usr/include/pthread.h and /usr/lib/libcma.sl. -Either you must install the CMA package or you must upgrade to HP-UX 11. -Cannot continue, aborting. + exit 1 + fi + + # Without the 64-bit libc we cannot do much. + libc='/lib/pa20_64/libc.sl' + if [ ! -f "$libc" ]; then + cat <&4 + +*** You do not seem to have the 64-bit libraries in /lib/pa20_64. +*** Most importantly, I cannot find the $libc. +*** Cannot continue, aborting. + EOM - exit 1 - fi + exit 1 + fi - # HP-UX 10.X uses the old pthreads API - case "$d_oldpthreads" in - '') d_oldpthreads="$define" ;; - esac + ccflags="$ccflags +DD64" + ldflags="$ldflags +DD64" + test -d /lib/pa20_64 && loclibpth="$loclibpth /lib/pa20_64" + libscheck='case "`/usr/bin/file $xxx`" in +*LP64*|*PA-RISC2.0*) ;; +*) xxx=/no/64-bit$xxx ;; +esac' + if test -n "$ccisgcc" -o -n "$gccversion"; then + ld="$cc" + else + ld=/usr/bin/ld + fi + ar=/usr/bin/ar + full_ar=$ar - # include libcma before all the others - libswanted="cma $libswanted" + if test -z "$ccisgcc" -a -z "$gccversion"; then + # The strict ANSI mode (-Aa) doesn't like the LL suffixes. + ccflags=`echo " $ccflags "|sed 's@ -Aa @ @g'` + case "$ccflags" in + *-Ae*) ;; + *) ccflags="$ccflags -Ae" ;; + esac + fi - # tell perl.h to include before other include files - ccflags="$ccflags -DPTHREAD_H_FIRST" + set `echo " $libswanted " | sed -e 's@ dl @ @'` + libswanted="$*" - # CMA redefines select to cma_select, and cma_select expects int * - # instead of fd_set * (just like 9.X) - selecttype='int *' - ;; - 11 | 12) # 12 may want upping the _POSIX_C_SOURCE datestamp... - ccflags=" -D_POSIX_C_SOURCE=199506L $ccflags" - set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` - shift - libswanted="$*" - ;; - esac - usemymalloc='n' - ;; + ;; +esac + +case "$ccisgcc" in +# Even if you use gcc, prefer the HP math library over the GNU one. +"$define") test -d /lib/pa1.1 && ccflags="$ccflags -L/lib/pa1.1" ;; +esac + +case "$ccisgcc" in +"$define") ;; +*) case "`getconf KERNEL_BITS 2>/dev/null`" in + *64*) ldflags="$ldflags -Wl,+vnocompatwarnings" ;; + esac + ;; esac -EOCBU # Remove bad libraries that will cause problems # (This doesn't remove libraries that don't actually exist) @@ -219,7 +240,10 @@ libswanted="$*" # ccdlflags="-Wl,-E -Wl,-B,immediate,-B,nonfatal $ccdlflags" ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags" -usemymalloc='y' +case "$usemymalloc" in +'') usemymalloc='y' ;; +esac + alignbytes=8 # For native nm, you need "-p" to produce BSD format output. nm_opt='-p' @@ -241,6 +265,47 @@ case "$d_dosuid" in '') d_dosuid="$undef" ;; esac +# HP-UX 11 groks also LD_LIBRARY_PATH but SHLIB_PATH +# is recommended for compatibility. +case "$ldlibpthname" in +'') ldlibpthname=SHLIB_PATH ;; +esac + +# HP-UX 10.20 and gcc 2.8.1 break UINT32_MAX. +case "$ccisgcc" in +"$define") ccflags="$ccflags -DUINT32_MAX_BROKEN" ;; +esac + +cat > UU/cc.cbu <<'EOSH' +# XXX This script UU/cc.cbu will get 'called-back' by Configure after it +# XXX has prompted the user for the C compiler to use. +# Get gcc to share its secrets. +echo 'main() { return 0; }' > try.c + # Indent to avoid propagation to config.sh + verbose=`${cc:-cc} -v -o try try.c 2>&1` +if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then + # Using gcc. + : nothing to see here, move on. +else + # Using cc. + ar=${ar:-ar} + case "`$ar -V 2>&1`" in + *GNU*) + if test -x /usr/bin/ar; then + cat <&2 + +*** You are using HP cc(1) but GNU ar(1). This might lead into trouble +*** later on, I'm switching to HP ar to play safe. + +END + ar=/usr/bin/ar + fi + ;; + esac +fi + +EOSH + # Date: Fri, 6 Sep 96 23:15:31 CDT # From: "Daniel S. Lewart" # I looked through the gcc.info and found this: @@ -248,3 +313,96 @@ esac # assembler of the form: # (warning) Use of GR3 when frame >= 8192 may cause conflict. # These warnings are harmless and can be safely ignored. + +cat > UU/usethreads.cbu <<'EOCBU' +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +case "$usethreads" in +$define|true|[yY]*) + if [ "$xxOsRevMajor" -lt 10 ]; then + cat <&4 +HP-UX $xxOsRevMajor cannot support POSIX threads. +Consider upgrading to at least HP-UX 11. +Cannot continue, aborting. +EOM + exit 1 + fi + case "$xxOsRevMajor" in + 10) + # Under 10.X, a threaded perl can be built, but it needs + # libcma and OLD_PTHREADS_API. Also needs to + # be #included before any other includes (in perl.h) + if [ ! -f /usr/include/pthread.h -o ! -f /usr/lib/libcma.sl ]; then + cat <&4 +In HP-UX 10.X for POSIX threads you need both of the files +/usr/include/pthread.h and /usr/lib/libcma.sl. +Either you must install the CMA package or you must upgrade to HP-UX 11. +Cannot continue, aborting. +EOM + exit 1 + fi + + # HP-UX 10.X uses the old pthreads API + case "$d_oldpthreads" in + '') d_oldpthreads="$define" ;; + esac + + # include libcma before all the others + libswanted="cma $libswanted" + + # tell perl.h to include before other include files + ccflags="$ccflags -DPTHREAD_H_FIRST" + + # CMA redefines select to cma_select, and cma_select expects int * + # instead of fd_set * (just like 9.X) + selecttype='int *' + ;; + 11 | 12) # 12 may want upping the _POSIX_C_SOURCE datestamp... + ccflags=" -D_POSIX_C_SOURCE=199506L $ccflags" + set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` + shift + libswanted="$*" + ;; + esac + usemymalloc='n' + ;; +esac +EOCBU + +case "$uselargefiles-$ccisgcc" in +"$define-$define"|'-define') + cat <&4 + +*** I'm ignoring large files for this build because +*** I don't know how to do use large files in HP-UX using gcc. + +EOM + uselargefiles="$undef" + ;; +esac + +cat > UU/uselargefiles.cbu <<'EOCBU' +# This script UU/uselargefiles.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use large files. +case "$uselargefiles" in +''|$define|true|[yY]*) + # there are largefile flags available via getconf(1) + # but we cheat for now. + ccflags="$ccflags -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + + if test -z "$ccisgcc" -a -z "$gccversion"; then + # The strict ANSI mode (-Aa) doesn't like large files. + ccflags=`echo " $ccflags "|sed 's@ -Aa @ @g'` + case "$ccflags" in + *-Ae*) ;; + *) ccflags="$ccflags -Ae" ;; + esac + fi + + ;; +esac +EOCBU + +# keep that leading tab. + ccisgcc='' + diff --git a/gnu/usr.bin/perl/hints/irix_4.sh b/gnu/usr.bin/perl/hints/irix_4.sh index 8013c8a1f49..5c5bdb2f0d0 100644 --- a/gnu/usr.bin/perl/hints/irix_4.sh +++ b/gnu/usr.bin/perl/hints/irix_4.sh @@ -33,3 +33,13 @@ EOM ;; esac +case " $use64bits $use64bitint $use64bitall " in +*" $define "*|*" true "*|*" [yY] "*) + cat >&4 <&4 < on 3/24/1998 +# 64-bitty by Jarkko Hietaniemi on 9/1998 + # Use sh Configure -Dcc='cc -n32' to try compiling with -n32. # or -Dcc='cc -n32 -mips3' (or -mips4) to force (non)portability # Don't bother with -n32 unless you have the 7.1 or later compilers. @@ -33,11 +35,41 @@ # Let's assume we want to use 'cc -n32' by default, unless the # necessary libm is missing (which has happened at least twice) case "$cc" in -'') - if test -f /usr/lib32/libm.so - then - cc='cc -n32' - fi ;; +'') case "$use64bitall" in + "$define"|true|[yY]*) test -f /usr/lib64/libm.so && cc='cc -64' ;; + *) test -f /usr/lib32/libm.so && cc='cc -n32' ;; + esac +esac +test -z "$cc" && cc=cc + +case "$use64bitint" in +$define|true|[yY]*) + case "`uname -r`" in + [1-5]*|6.[01]) + cat >&4 <&4 < + # If you get complaints about so_locations then change the following + # line to something like: + # lddlflags="-n32 -shared -check_registry /usr/lib32/so_locations" + lddlflags="-n32 -shared" + libc='/usr/lib32/libc.so' + plibpth='/usr/lib32 /lib32 /usr/ccs/lib' + ;; +*"cc -64") + + loclibpth="$loclibpth /usr/lib64" + libscheck='case "`/usr/bin/file $xxx`" in +*64-bit*) ;; +*) xxx=/no/64-bit$xxx ;; +esac' + # NOTE: -L/usr/lib64 -L/lib64 are automatically selected by the linker + ldflags=' -L/usr/local/lib64 -L/usr/local/lib' + cccdlflags=' ' + # From: David Billinghurst + # If you get complaints about so_locations then change the following + # line to something like: + # lddlflags="-64 -shared -check_registry /usr/lib64/so_locations" + lddlflags="-64 -shared" + libc='/usr/lib64/libc.so' + plibpth='/usr/lib64 /lib64 /usr/ccs/lib' + ;; +*gcc*) + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -D_POSIX_C_SOURCE" + optimize="-O3" + usenm='undef' + case "`uname -s`" in + # Without the -mabi=64 gcc in 64-bit IRIX has problems passing + # and returning small structures. This affects inet_*() and semctl(). + # See http://reality.sgi.com/ariel/freeware/gcc-2.8.1-notes.html + # for more information. Reported by Lionel Cons . + IRIX64) ccflags="$ccflags -mabi=64" + ldflags="$ldflags -mabi=64 -L/usr/lib64" + lddlflags="$lddlflags -mabi=64" + ;; + *) ccflags="$ccflags -DIRIX32_SEMUN_BROKEN_BY_GCC" + ;; + esac + ;; +*) + # this is needed to force the old-32 paths + # since the system default can be changed. + ccflags="$ccflags -32 -D_BSD_TYPES -D_BSD_TIME -Olimit 3100" + optimize='-O' + ;; +esac + +# Settings common to both native compiler modes. +case "$cc" in +*"cc -n32"|*"cc -64") + ld=$cc + + # perl's malloc can return improperly aligned buffer + # which (under 5.6.0RC1) leads into really bizarre bus errors + # and freak test failures (lib/safe1 #18, for example), + # even more so with -Duse64bitall: for example lib/io_linenumtb. + # fails under the harness but succeeds when run separately, + # under make test pragma/warnings #98 fails, and lib/io_dir + # apparently coredumps (the last two don't happen under + # the harness. Helmut Jarausch is seeing bus errors from + # miniperl, as was Scott Henry with snapshots from just before + # the RC1. --jhi + usemymalloc='undef' +#malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"' + + nm_opt='-p' + nm_so_opt='-p' + # Perl 5.004_57 introduced new qsort code into pp_ctl.c that # makes IRIX cc prior to 7.2.1 to emit bad code. # so some serious hackery follows to set pp_ctl flags correctly. @@ -52,11 +164,11 @@ case "$cc" in # Check for which version of the compiler we're running case "`$cc -version 2>&1`" in *7.0*) # Mongoose 7.0 - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1042,1048,1110,1116,1184 -OPT:Olimit=0" + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1042,1048,1110,1116,1174,1184,1552 -OPT:Olimit=0" optimize='none' ;; *7.1*|*7.2|*7.20) # Mongoose 7.1+ - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0" + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1174,1184,1552 -OPT:Olimit=0" optimize='-O3' # This is a temporary fix for 5.005. # Leave pp_ctl_cflags line at left margin for Configure. See @@ -65,15 +177,15 @@ case "$cc" in pp_ctl_cflags='optimize=-O' ;; *7.*) # Mongoose 7.2.1+ - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0:space=ON" + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1174,1184,1552 -OPT:Olimit=0:space=ON" optimize='-O3' ;; *6.2*) # Ragnarok 6.2 - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184" + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1174,1184,1552" optimize='none' ;; *) # Be safe and not optimize - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0" + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1174,1184,1552 -OPT:Olimit=0" optimize='none' ;; esac @@ -89,45 +201,25 @@ pp_ctl_cflags='optimize=-O' # absolute paths (again, see the pthread.h change below). # -- krishna@sgi.com, 8/23/98 -if [ "X${TOOLROOT}" != "X" ]; then -# we cant set cppflags because it gets overwritten -# we dont actually need $TOOLROOT/usr/include on the cc line cuz the -# modules functionality already includes it but -# XXX - how do I change cppflags in the hints file? - ccflags="$ccflags -I${TOOLROOT}/usr/include" + if [ "X${TOOLROOT}" != "X" ]; then + # we cant set cppflags because it gets overwritten + # we dont actually need $TOOLROOT/usr/include on the cc line cuz the + # modules functionality already includes it but + # XXX - how do I change cppflags in the hints file? + ccflags="$ccflags -I${TOOLROOT}/usr/include" usrinc="${TOOLROOT}/usr/include" -fi + fi - ld=$cc - # perl's malloc can return improperly aligned buffer - # usemymalloc='undef' -malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"' - # NOTE: -L/usr/lib32 -L/lib32 are automatically selected by the linker - ldflags=' -L/usr/local/lib32 -L/usr/local/lib' - cccdlflags=' ' - # From: David Billinghurst - # If you get complaints about so_locations then change the following - # line to something like: - # lddlflags="-n32 -shared -check_registry /usr/lib32/so_locations" - lddlflags="-n32 -shared" - libc='/usr/lib32/libc.so' - plibpth='/usr/lib32 /lib32 /usr/ccs/lib' - nm_opt='-p' - nm_so_opt='-p' - ;; -*gcc*) - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -D_POSIX_C_SOURCE" - optimize="-O3" - usenm='undef' - ;; -*) - # this is needed to force the old-32 paths - # since the system default can be changed. - ccflags="$ccflags -32 -D_BSD_TYPES -D_BSD_TIME -Olimit 3100" - optimize='-O' ;; esac +# Don't groan about unused libraries. +ldflags="$ldflags -Wl,-woff,84" + +case "`$cc -version 2>&1`" in +*7.2.*) op_cflags='optimize=-O1' ;; # workaround for an optimizer bug +esac + # We don't want these libraries. # Socket networking is in libc, these are not installed by default, # and just slow perl down. (scotth@sgi.com) @@ -135,6 +227,11 @@ set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ nsl / /' -e 's/ dl / /' shift libswanted="$*" +# Irix 6.5.6 seems to have a broken header +# don't include that (it doesn't contain S_IFMT, S_IFREG, et al) + +i_sysmode="$undef" + # I have conflicting reports about the sun, crypt, bsd, and PW # libraries on Irix 6.2. # @@ -159,9 +256,9 @@ set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' shift libswanted="$*" +cat > UU/usethreads.cbu <<'EOCBU' # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. -cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) if test ! -f ${TOOLROOT}/usr/include/pthread.h -o ! -f /usr/lib/libpthread.so; then @@ -209,3 +306,5 @@ EOM esac EOCBU +# The -n32 makes off_t to be 8 bytes, so we should have largefileness. + diff --git a/gnu/usr.bin/perl/hints/irix_6_0.sh b/gnu/usr.bin/perl/hints/irix_6_0.sh index e61db0460fc..50498af7180 100644 --- a/gnu/usr.bin/perl/hints/irix_6_0.sh +++ b/gnu/usr.bin/perl/hints/irix_6_0.sh @@ -52,3 +52,13 @@ EOM ;; esac +case " $use64bits $use64bitint $use64bitall " in +*" $define "*|*" true "*|*" [yY] "*) + cat >&4 <&4 < +# # BSD compatability library no longer needed # 'kaffe' has a /usr/lib/libnet.so which is not at all relevent for perl. @@ -56,6 +74,19 @@ set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /'` shift libswanted="$*" +# If you have glibc, then report the version for ./myconfig bug reporting. +# (Configure doesn't need to know the specific version since it just uses +# gcc to load the library for all tests.) +# Is this sufficiently robust for libc5 systems as well as +# glibc-2.1.x systems? +# We don't use __GLIBC__ and __GLIBC_MINOR__ because they +# are insufficiently precise to distinguish things like +# libc-2.0.6 and libc-2.0.7. +if test -L /lib/libc.so.6; then + libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'` + libc=/lib/$libc +fi + # Configure may fail to find lstat() since it's a static/inline # function in . d_lstat=define @@ -224,6 +255,15 @@ fi #'osfmach3ppc') ccdlflags='-Wl,-E' ;; #esac +case "`uname -r`" in +sparc-linux) + case "$cccdlflags" in + *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; + *) cccdlflags="$cccdlflags -fPIC" ;; + esac + ;; +esac + # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. cat > UU/usethreads.cbu <<'EOCBU' @@ -236,3 +276,13 @@ $define|true|[yY]*) ;; esac EOCBU + +cat > UU/uselargefiles.cbu <<'EOCBU' +# This script UU/uselargefiles.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use large files. +case "$uselargefiles" in +''|$define|true|[yY]*) + ccflags="$ccflags -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + ;; +esac +EOCBU diff --git a/gnu/usr.bin/perl/hints/machten.sh b/gnu/usr.bin/perl/hints/machten.sh index f283873699d..b4409c1bf0b 100644 --- a/gnu/usr.bin/perl/hints/machten.sh +++ b/gnu/usr.bin/perl/hints/machten.sh @@ -1,18 +1,26 @@ +#! /bin/bash # machten.sh -# This is for MachTen 4.0.3. It might work on other versions and variants too. +# This is for MachTen 4.1.4. It might work on other versions and variants +# too. If it doesn't, tell me, and I'll try to fix it -- domo@computer.org # # Users of earlier MachTen versions might need a fixed tr from ftp.tenon.com. # This should be described in the MachTen release notes. # # MachTen 2.x has its own hint file. # -# This file has been put together by Andy Dougherty +# The original version of this file was put together by Andy Dougherty # based on comments from lots of # folks, especially # Mark Pease # Martijn Koster # Richard Yeh # +# Remove dynamic loading libraries from search; enable SysV IPC with +# MachTen 4.1.4 and above; define SYSTEM_ALIGN_BYTES for old MT versions +# -- Dominic Dunlop 000224 +# Disable shadow password file access: MT 4.1.1 has necessary library +# functions, but not header file (or documentation) +# -- Dominic Dunlop 990804 # For now, explicitly disable dynamic loading -- MT 4.1.1 has it, # but these hints do not yet support it. # Define NOTEDEF_MACHTEN to undo gratuitous Tenon hack to signal.h. @@ -36,6 +44,13 @@ # # Comments, questions, and improvements welcome! # +# MachTen 4.1.1's support for shadow password file access is incomplete: +# disable its use completely. +d_endspent=${d_endspent:-undef} +d_getspent=${d_getspent:-undef} +d_getspnam=${d_getspnam:-undef} +d_setspent=${d_setspent:-undef} + # MachTen 4.1.1 does support dynamic loading, but perl doesn't # know how to use it yet. usedl=${usedl:-undef} @@ -61,15 +76,16 @@ fi # by -DPLAIN_MALLOC and -DNO_FANCY_MALLOC. usemymalloc=${usemymalloc:-y} +# Older versions of MachTen malloc() data on a two-byte boundary, which +# works, but slows down operations on long, float and double data. +# Perl's malloc() can compensate if SYSTEM_ALLOC_ALIGNMENT is suitably +# defined. +if expr "$osvers" \< "4.1" >/dev/null +then +system_alloc_alignment=" -DSYSTEM_ALLOC_ALIGNMENT=2" +fi # Do not wrap the following long line -malloc_cflags='ccflags="$ccflags -DPLAIN_MALLOC -DNO_FANCY_MALLOC -DUSE_PERL_SBRK"' - -# Note that an empty malloc_cflags appears in config.sh if perl's -# malloc() is not used. his is harmless. -case "$usemymalloc" in -n) unset malloc_cflags;; -*) ccflags="$ccflags -DHIDEMYMALLOC" -esac +malloc_cflags='ccflags="$ccflags -DPLAIN_MALLOC -DNO_FANCY_MALLOC -DUSE_PERL_SBRK$system_alloc_alignment"' # When MachTen does a fork(), it immediately copies the whole of # the parent process' data space for the child. This can be @@ -150,19 +166,46 @@ alignbytes=8 # friends. Use setjmp and friends instead. expr "$osvers" \< "4.0.3" > /dev/null && d_sigsetjmp='undef' -# System V IPC support in MachTen 4.1 is incomplete (missing msg function +# System V IPC before MachTen 4.1.4 is incomplete (missing msg function # prototypes, no ftok()), buggy (semctl(.., .., IPC_STATUS, ..) hangs -# system), and undocumented. Claim it's not there until things improve. +# system), and undocumented. Claim it's not there at all before 4.1.4. +if expr "$osvers" \< "4.1.4" >/dev/null +then d_msg=${d_msg:-undef} d_sem=${d_sem:-undef} d_shm=${d_shm:-undef} +fi + + +# As of MachTen 4.1.4 the msg* and shm* are in libc but unimplemented +# (an attempt to use them causes a runtime error) +# XXX Configure probe for really functional msg*() is needed XXX +# XXX Configure probe for really functional shm*() is needed XXX +if test "$d_msg" = ""; then + d_msgget=${d_msgget:-undef} + d_msgctl=${d_msgctl:-undef} + d_msgsnd=${d_msgsnd:-undef} + d_msgrcv=${d_msgrcv:-undef} + case "$d_msgget$d_msgsnd$d_msgctl$d_msgrcv" in + *"undef"*) d_msg="$undef" ;; + esac +fi +if test "$d_shm" = ""; then + d_shmat=${d_shmat:-undef} + d_shmdt=${d_shmdt:-undef} + d_shmget=${d_shmget:-undef} + d_shmctl=${d_shmctl:-undef} + case "$d_shmat$d_shmctl$d_shmdt$d_shmget" in + *"undef"*) d_shm="$undef" ;; + esac +fi # Get rid of some extra libs which it takes Configure a tediously -# long time never to find on MachTen +# long time never to find on MachTen, or which break perl set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \ -e 's/ inet / /' -e 's/ nsl / /' -e 's/ nm / /' -e 's/ malloc / /' \ -e 's/ ld / /' -e 's/ sun / /' -e 's/ posix / /' \ - -e 's/ cposix / /' -e 's/ crypt / /' \ + -e 's/ cposix / /' -e 's/ crypt / /' -e 's/ dl / /' -e 's/ dld / /' \ -e 's/ ucb / /' -e 's/ bsd / /' -e 's/ BSD / /' -e 's/ PW / /'` shift libswanted="$*" @@ -198,6 +241,11 @@ Similarly, when you see select the default answer: vfork() works, and avoids expensive data copying. +You may also see "WHOA THERE!!!" messages concerning \$d_endspent, +\$d_getspent, \$d_getspnam and \$d_setspent. In all cases, select the +default answer: MachTen's support for shadow password file access is +incomplete, and should not be used. + At the end of Configure, you will see a harmless message Hmm...You had some extra variables I don't know about...I'll try to keep 'em. @@ -205,6 +253,7 @@ Hmm...You had some extra variables I don't know about...I'll try to keep 'em. Propagating recommended variable nmopts Propagating recommended variable malloc_cflags... Propagating recommended variable reg_infty + Propagating recommended variable system_alloc_alignment Read the File::Find documentation for more information about dont_use_nlink Your perl will be built with a stack size of ${stack_size}k and a regular diff --git a/gnu/usr.bin/perl/hints/mpeix.sh b/gnu/usr.bin/perl/hints/mpeix.sh index 9ebb0bad1e1..556d22148c6 100644 --- a/gnu/usr.bin/perl/hints/mpeix.sh +++ b/gnu/usr.bin/perl/hints/mpeix.sh @@ -12,7 +12,7 @@ # Revised again for 5.004_69 by Mark Bixby, markb@cccd.edu. # osname='mpeix' -osvers='5.5' +osvers='5.5' # Isn't there a way to determine this dynamically? # # Force Configure to use our wrapper mpeix/nm script # @@ -24,7 +24,8 @@ usenm='true' # # Various directory locations. # -prefix='/PERL/PUB' +# Which ones of these does Configure get wrong? +test -z "$prefix" && prefix='/PERL/PUB' archname='PA-RISC1.1' bin="$prefix" installman1dir="$prefix/man/man1" @@ -38,24 +39,30 @@ startsh='#!/bin/sh' # # Compiling. # -cc='gcc' +test -z "$cc" && cc='gcc' cccdlflags='none' -ccflags='-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -D_POSIX_JOB_CONTROL -DIS_SOCKET_CLIB_ITSELF' -locincpth='/usr/local/include /usr/contrib/include /BIND/PUB/include' -optimize='-O2' +ccflags="$ccflags -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -D_POSIX_JOB_CONTROL -DIS_SOCKET_CLIB_ITSELF" +locincpth="$locincpth /usr/local/include /usr/contrib/include /BIND/PUB/include" +test -z "$optimize" && optimize="-O2" ranlib='/bin/true' # Special compiling options for certain source files. +# But what if you want -g? regcomp_cflags='optimize=-O' toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"' # # Linking. # lddlflags='-b' -libs='-lbind -lsyslog -lcurses -lsvipc -lsocket -lm -lc' -loclibpth='/usr/local/lib /usr/contrib/lib /BIND/PUB/lib /SYSLOG/PUB' +# What if you want additional libs (e.g. gdbm)? +# This should remove the unwanted libraries from $libswanted and +# add on whatever ones are needed instead. +libs="$libs -lbind -lsyslog -lcurses -lsvipc -lsocket -lm -lc" +loclibpth="$loclibpth /usr/local/lib /usr/contrib/lib /BIND/PUB/lib /SYSLOG/PUB" # # External functions and data items. # +# Does Configure *really* get *all* of these wrong? +# d_crypt='define' d_difftime='define' d_dlerror='undef' diff --git a/gnu/usr.bin/perl/hints/netbsd.sh b/gnu/usr.bin/perl/hints/netbsd.sh index 6d99a13edfe..7bd0a25c1de 100644 --- a/gnu/usr.bin/perl/hints/netbsd.sh +++ b/gnu/usr.bin/perl/hints/netbsd.sh @@ -34,7 +34,7 @@ case "$osvers" in # 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" - lddlflags="-Bforcearchive -Bshareable $lddlflags" + lddlflags="-Bshareable $lddlflags" else d_dlopen=$undef fi @@ -63,10 +63,6 @@ case "$usevfork" in '') usevfork=true ;; esac -# Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *) -# Configure should test for this. Volunteers? -pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"' - # Pre-empt the /usr/bin/perl question of installperl. installusrbinperl='n' diff --git a/gnu/usr.bin/perl/hints/next_3.sh b/gnu/usr.bin/perl/hints/next_3.sh index 99adf50ffe9..27c9bd9877a 100644 --- a/gnu/usr.bin/perl/hints/next_3.sh +++ b/gnu/usr.bin/perl/hints/next_3.sh @@ -32,8 +32,8 @@ # than no perl at all. # # So, this hintsfile is using perl's malloc. If you want to turn -# perl's malloc off, you need to remove '-DUSE_PERL_SBRK' and -# '-DHIDEMYMALLOC' from the ccflags and set usemymalloc to 'n'. +# perl's malloc off, you need to remove '-DUSE_PERL_SBRK' +# from the ccflags and set usemymalloc to 'n'. # # 1997: # From perl5.003_22 the malloc bug has no impact any more. We can run @@ -42,12 +42,12 @@ # # use the following two lines to enable USE_PERL_SBRK. Try this if you # encounter intermittent core dumps: -#ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' +#ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK' #usemymalloc='y' # use the following two lines if you have perl5.003_22 or better and # do not encounter intermittent core dumps. -ccflags='-DUSE_NEXT_CTYPE' +ccflags="$ccflags -DUSE_NEXT_CTYPE" usemymalloc='n' ###################################################################### diff --git a/gnu/usr.bin/perl/hints/next_3_0.sh b/gnu/usr.bin/perl/hints/next_3_0.sh index b8cc2c2d905..b4445788302 100644 --- a/gnu/usr.bin/perl/hints/next_3_0.sh +++ b/gnu/usr.bin/perl/hints/next_3_0.sh @@ -16,11 +16,11 @@ echo find it. By default, it is placed in /usr/local/include/gdbm.h. >&4 echo It will not be found there. Try moving it to >&4 echo /NextDeveloper/Headers/bsd/gdbm.h. >&4 -ccflags='-DUSE_NEXT_CTYPE -DNEXT30_NO_ATTRIBUTE' +ccflags="$ccflags -DUSE_NEXT_CTYPE -DNEXT30_NO_ATTRIBUTE" POSIX_cflags='ccflags="-posix $ccflags"' useposix='undef' -ldflags='-u libsys_s' -libswanted='dbm gdbm db' +ldflags="$ldflags -u libsys_s" +libswanted="$libswanted dbm gdbm db" # lddlflags='-r' # Give cccdlflags an empty value since Configure will detect we are diff --git a/gnu/usr.bin/perl/hints/next_4.sh b/gnu/usr.bin/perl/hints/next_4.sh index d1d0398dd9a..d5c8ba7d64e 100644 --- a/gnu/usr.bin/perl/hints/next_4.sh +++ b/gnu/usr.bin/perl/hints/next_4.sh @@ -1,13 +1,3 @@ -###################################################################### -# -# IMPORTANT: before you run 'make', you need to enter one of these two -# lines (depending on your shell): -# DYLD_LIBRARY_PATH=`pwd`; export DYLD_LIBRARY_PATH -# or -# setenv DYLD_LIBRARY_PATH `pwd` -# -###################################################################### - # Posix support has been removed from NextStep # useposix='undef' @@ -16,9 +6,9 @@ libpth='/lib /usr/lib /usr/local/lib' libswanted=' ' libc='/NextLibrary/Frameworks/System.framework/System' -ldflags='-dynamic -prebind' -lddlflags='-dynamic -bundle -undefined suppress' -ccflags='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' +ldflags="$ldflags -dynamic -prebind" +lddlflags="$lddlflags -dynamic -bundle -undefined suppress" +ccflags="$ccflags -dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK" cccdlflags='none' ld='cc' #optimize='-g -O' @@ -106,3 +96,7 @@ clocktype='int' # running ranlib. The '5' is an empirical number that's "long enough." # (Thanks to Andreas Koenig ) ranlib='sleep 5; /bin/ranlib' + +case "$ldlibpthname" in +'') ldlibpthname=DYLD_LIBRARY_PATH ;; +esac diff --git a/gnu/usr.bin/perl/hints/openbsd.sh b/gnu/usr.bin/perl/hints/openbsd.sh index 08721a0926e..5a17b2e4243 100644 --- a/gnu/usr.bin/perl/hints/openbsd.sh +++ b/gnu/usr.bin/perl/hints/openbsd.sh @@ -68,7 +68,11 @@ cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) # any openbsd version dependencies with pthreads? + ccflags="-pthread $ccflags" + ldflags="-pthread $ldflags" libswanted="$libswanted pthread" + # This is strange. + usevfork="$undef" esac EOCBU diff --git a/gnu/usr.bin/perl/hints/os2.sh b/gnu/usr.bin/perl/hints/os2.sh index 310ae913c49..1d9df3683f8 100644 --- a/gnu/usr.bin/perl/hints/os2.sh +++ b/gnu/usr.bin/perl/hints/os2.sh @@ -95,6 +95,8 @@ libpth="$libpth $libemx/mt $libemx" set `emxrev -f emxlibcm` emxcrtrev=$5 +# indented to not put it into config.sh + _defemxcrtrev=-D_EMX_CRT_REV_=$emxcrtrev so='dll' @@ -124,8 +126,8 @@ fi aout_ldflags="$aout_ldflags" aout_d_fork='define' -aout_ccflags='-DPERL_CORE -DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I.' -aout_cppflags='-DPERL_CORE -DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I.' +aout_ccflags="-DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I. $_defemxcrtrev" +aout_cppflags="-DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I. $_defemxcrtrev" aout_use_clib='c' aout_usedl='undef' aout_archobjs="os2.o dl_os2.o" @@ -165,9 +167,9 @@ else # Recursive regmatch may eat 2.5M of stack alone. ldflags='-Zexe -Zomf -Zmt -Zcrtdll -Zstack 32000' if [ $emxcrtrev -ge 50 ]; then - ccflags='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I.' + ccflags="-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. $_defemxcrtrev" else - ccflags='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -DEMX_BAD_SBRK' + ccflags="-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -DEMX_BAD_SBRK $_defemxcrtrev" fi use_clib='c_import' usedl='define' @@ -257,9 +259,56 @@ d_setprior='define' # Commented: #startsh='extproc ksh\\n#! sh' +# Find patch: +gnupatch='patch' +if (gnupatch -v || gnupatch --version) 2>&1 >/dev/null; then + gnupatch=gnupatch +else + if (gpatch -v || gpatch --version) 2>&1 >/dev/null; then + gnupatch=gpatch + else + # They may have a special PATH during configuring + if (patch -v || patch --version) 2>&1 >/dev/null; then + gnupatch="`./UU/loc patch.exe undef $pth`" + fi + fi +fi + +# Apply patches if needed +case "$0$running_c_cmd" in + *[/\\]Configure|*[/\\]Configure.|Configure|Configure.) # Skip Configure.cmd + if grep "^libnames" ./Configure > /dev/null; then + # Not patched! + if test -f ./Configure.cmd ; then + echo "!!!" >&2 + echo "!!! ./Configure not patched, but ./Configure.cmd exits" >&2 + echo "!!! Do not know what to do!" >&2 + echo "!!!" >&2 + exit 2 + fi + echo "!!!" >&2 + echo "!!! You did not patch ./Configure!" >&2 + echo "!!! I create Configure.cmd and patch it from ./os2/diff.configure." >&2 + echo "!!!" >&2 + echo "$gnupatch -b -p1 --output=Configure.cmd <./os2/diff.configure 2>&1 | tee 00_auto_patch" >&2 + ($gnupatch -b -p1 --output=Configure.cmd <./os2/diff.configure 2>&1 | tee 00_auto_patch) >&2 + echo "!!!" >&2 + echo "!!! The report of patching is copied to 00_auto_patch." >&2 + echo "!!! Now you need to restart Configure.cmd with all the options" >&2 + echo "!!!" >&2 + echo "extproc sh" > Configure.ctm + cat Configure.cmd >> Configure.ctm && mv -f Configure.ctm Configure.cmd + exit 0 + else + echo "!!! Apparently we are running a patched Configure." >&2 + fi + ;; + *) echo "!!! Apparently we are running a renamed Configure: '$0'." >&2 +esac + # Copy pod: -cp ./README.os2 ./pod/perlos2.pod +cp -uf ./README.os2 ./pod/perlos2.pod # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. @@ -304,6 +353,9 @@ for xxx in * ; do fi done +case "$ldlibpthname" in +'') ldlibpthname=none ;; +esac # Now go back cd ../.. diff --git a/gnu/usr.bin/perl/hints/os390.sh b/gnu/usr.bin/perl/hints/os390.sh index 08b60c878e4..d6f68212422 100644 --- a/gnu/usr.bin/perl/hints/os390.sh +++ b/gnu/usr.bin/perl/hints/os390.sh @@ -59,3 +59,51 @@ archobjs=ebcdic.o # We have our own cppstdin. echo 'cat >.$$.c; '"$cc"' -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin + +# +# Note that Makefile.SH employs a bare yacc to generate +# perly.[hc] and a2p.[hc], hence you may wish to: +# +# alias yacc='myyacc' +# +# Then if you would like to use myyacc and skip past the +# following warnings try invoking Configure like so: +# +# sh Configure -Dbyacc=yacc +# +# This trick ought to work even if your yacc is byacc. +# +if test "X$byacc" = "Xbyacc" ; then + if test -e /etc/yyparse.c ; then + : we should be OK - perhaps do a test -r? + else + cat <&4 + +Warning. You do not have a copy of yyparse.c, the default +yacc parser template file, in place in /etc. +EOWARN + if test -e /samples/yyparse.c ; then + cat <&4 + +There does appear to be a template file in /samples though. +Please run: + + cp /samples/yyparse.c /etc + +before attempting to Configure the build of $package. + +EOWARN + else + cat <&4 + +There does not appear to be one in /samples either. +If you feel you can make use of an alternate yacc-like +parser generator then please read the comments in the +hints/os390.sh file carefully. + +EOWARN + fi + exit 1 + fi +fi + diff --git a/gnu/usr.bin/perl/hints/powerux.sh b/gnu/usr.bin/perl/hints/powerux.sh index 6d6bac02ed7..4070c01767e 100644 --- a/gnu/usr.bin/perl/hints/powerux.sh +++ b/gnu/usr.bin/perl/hints/powerux.sh @@ -52,7 +52,7 @@ d_csh='undef' # cc='/bin/cc' cccdlflags='-Zpic' -ccdlflags='-Zlink=dynamic -Wl,-Bexport' +ccdlflags='-Zlink=dynamic -Wl,-usys_nerr -Wl,-Bexport' lddlflags='-Zlink=so' # Configure sometime finds what it believes to be ndbm header files on the @@ -63,6 +63,12 @@ lddlflags='-Zlink=so' # i_ndbm='undef' +# I have no clude what perl thinks it wants for, but if +# you include it in a program in PowerMAX without first including +# the code don't compile... +# +i_sysmode='undef' + # There is a bug in memcmp (which I hope will be fixed soon) which sometimes # fails to provide the correct compare status (it is data dependant), so just # pretend there is no memcmp... @@ -85,6 +91,15 @@ useshrplib='false' # dont_use_nlink=define +# Configure comes up with the wrong type for these for some reason. The +# pointers shouldn't have const in them. (And it looks like I have to +# provide netdb_hlen_type as well becuase when I predefine the others it +# comes up empty :-). +# +netdb_host_type='char *' +netdb_name_type='char *' +netdb_hlen_type='int' + # Misc other flags that might be able to change, but I know these work right. # d_suidsafe='define' diff --git a/gnu/usr.bin/perl/hints/qnx.sh b/gnu/usr.bin/perl/hints/qnx.sh index b53a33d7370..06d9010144e 100644 --- a/gnu/usr.bin/perl/hints/qnx.sh +++ b/gnu/usr.bin/perl/hints/qnx.sh @@ -98,13 +98,9 @@ libc='/usr/lib/clib3r.lib' # constructs make a lot of noise, so I turn those warnings off. # A few still remain... # -# HIDEMYMALLOC is necessary if using mymalloc since it is very -# tricky (though not impossible) to totally replace the watcom -# malloc/free set. -# # unix.h is required as a general rule for unixy applications. #---------------------------------------------------------------- -ccflags='-DHIDEMYMALLOC -mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=unix.h' +ccflags='-mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=unix.h' #---------------------------------------------------------------- # ldflags: diff --git a/gnu/usr.bin/perl/hints/sco.sh b/gnu/usr.bin/perl/hints/sco.sh index eb598452a1d..079ab78035a 100644 --- a/gnu/usr.bin/perl/hints/sco.sh +++ b/gnu/usr.bin/perl/hints/sco.sh @@ -9,6 +9,8 @@ # Mostly rewritten on # Tue Jan 19 23:00:00 CET 1999 # by Francois Desarmenien +# Modified by Boyd Gerber +# Tue Sep 21 1999 ############################################################### # # To use cc, use sh Configure @@ -82,6 +84,7 @@ case `/bin/uname -X | egrep '3\.2v'` in echo "" >&4 echo "" >&4 echo " For UnixWare, use svr4.sh hints instead" >&4 + echo " For UnixWare 7.*, use svr5.sh hints instead" >&4 echo "" >&4 echo "***********************************************************" >&4 exit @@ -102,7 +105,7 @@ if test "$scorls" = "3" then dlext='' case "$cc" in - gcc) optimize='-O2' ;; + *gcc*) optimize='-O2' ;; *) ccflags="$ccflags -W0 -quiet" optimize='-O' ;; esac @@ -114,7 +117,7 @@ else ############################################################### # In Release 5, always compile ELF objects case "$cc" in - gcc) + *gcc*) ccflags="$ccflags -melf" optimize='-O2' ;; @@ -139,7 +142,7 @@ else if test "$usedl" != "n"; then ld='ld' case "$cc" in - gcc) + *gcc*) ccdlflags='-Xlinker -Bexport -L/usr/local/lib' cccdlflags='-fpic' lddlflags='-G -L/usr/local/lib' @@ -177,6 +180,13 @@ set X $libswanted shift libswanted="$*" +############################################################### +# Remove libbind because it conflicts with libsocket. +libswanted=`echo " $libswanted " | sed -e 's/ bind / /'` +set X $libswanted +shift +libswanted="$*" + ############################################################### # Try to use libintl.a since it has strcoll and strxfrm libswanted="intl $libswanted" diff --git a/gnu/usr.bin/perl/hints/solaris_2.sh b/gnu/usr.bin/perl/hints/solaris_2.sh index 935f00d877e..8aee6d40dc0 100644 --- a/gnu/usr.bin/perl/hints/solaris_2.sh +++ b/gnu/usr.bin/perl/hints/solaris_2.sh @@ -1,6 +1,6 @@ # hints/solaris_2.sh -# Last modified: Wed May 27 13:04:45 EDT 1998 -# Andy Dougherty +# Last modified: Tue Apr 13 13:12:49 EDT 1999 +# Andy Dougherty # Based on input from lots of folks, especially # Dean Roehrich @@ -9,7 +9,10 @@ # way to do that is to invoke Configure with # # sh Configure -Dcc='gcc -B/usr/ccs/bin/' -# +# +# (Note that the trailing slash is *required*.) +# gcc will occasionally emit warnings about "unused prefix", but +# these ought to be harmless. See below for more details. # See man vfork. usevfork=false @@ -42,15 +45,51 @@ case "$archname" in ;; esac +test -z "`${cc:-cc} -V 2>&1|grep -i workshop`" || ccisworkshop="$define" +test -z "`${cc:-cc} -v 2>&1|grep -i gcc`" || ccisgcc="$define" + +cat >UU/workshoplibpth.cbu<<'EOCBU' +case "$workshoplibpth_done" in +'') case "$use64bitall" in + "$define"|true|[yY]*) + loclibpth="$loclibpth /usr/lib/sparcv9" + if test -n "$workshoplibs"; then + loclibpth=`echo $loclibpth | sed -e "s% $workshoplibs%%" ` + for lib in $workshoplibs; do + # Logically, it should be sparcv9. + # But the reality fights back, it's v9. + loclibpth="$loclibpth $lib/sparcv9 $lib/v9" + done + fi + ;; + *) loclibpth="$loclibpth $workshoplibs" + ;; + esac + workshoplibpth_done="$define" + ;; +esac +EOCBU + +case "$ccisworkshop" in +"$define") + cat >try.c < +int main() { return(0); } +EOF + workshoplibs=`cc -### try.c -lsunmath -o try 2>&1|grep " -Y "|sed 's%.* -Y "P,\(.*\)".*%\1%'|tr ':' '\n'|grep '/SUNWspro/'` + . ./UU/workshoplibpth.cbu + ;; +esac + ###################################################### # General sanity testing. See below for excerpts from the Solaris FAQ. - +# # From roehrich@ironwood-fddi.cray.com Wed Sep 27 12:51:46 1995 # Date: Thu, 7 Sep 1995 16:31:40 -0500 # From: Dean Roehrich # To: perl5-porters@africa.nicoh.com # Subject: Re: On perl5/solaris/gcc - +# # Here's another draft of the perl5/solaris/gcc sanity-checker. case `type ${cc:-cc}` in @@ -140,6 +179,19 @@ cat > UU/cc.cbu <<'EOSH' # # Watch out in case they have not set $cc. +# Perl compiled with some combinations of GNU as and ld may not +# be able to perform dynamic loading of extensions. If you have a +# problem with dynamic loading, be sure that you are using the Solaris +# /usr/ccs/bin/as and /usr/ccs/bin/ld. You can do that with +# sh Configure -Dcc='gcc -B/usr/ccs/bin/' +# (note the trailing slash is required). +# Combinations that are known to work with the following hints: +# +# gcc-2.7.2, GNU as 2.7, GNU ld 2.7 +# egcs-1.0.3, GNU as 2.9.1 and GNU ld 2.9.1 +# --Andy Dougherty +# Tue Apr 13 17:19:43 EDT 1999 + # Get gcc to share its secrets. echo 'main() { return 0; }' > try.c # Indent to avoid propagation to config.sh @@ -149,7 +201,6 @@ if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then # # Using gcc. # - #echo Using gcc tmp=`echo "$verbose" | grep '^Reading' | awk '{print $NF}' | sed 's/specs$/include/'` @@ -157,67 +208,76 @@ if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then # Determine if the fixed-includes look like they'll work. # Doesn't work anymore for gcc-2.7.2. - # See if as(1) is GNU as(1). GNU as(1) won't work for this job. + # See if as(1) is GNU as(1). GNU as(1) might not work for this job. if echo "$verbose" | grep ' /usr/ccs/bin/as ' >/dev/null 2>&1; then : else cat <&2 -NOTE: You are using GNU as(1). GNU as(1) will not build Perl. -I'm arranging to use /usr/ccs/bin/as by including -B/usr/ccs/bin/ +NOTE: You are using GNU as(1). GNU as(1) might not build Perl. If you +have trouble, you can use /usr/ccs/bin/as by including -B/usr/ccs/bin/ in your ${cc:-cc} command. (Note that the trailing "/" is required.) END - cc="${cc:-cc} -B/usr/ccs/bin/" + # Apparently not needed, at least for as 2.7 and later. + # cc="${cc:-cc} -B/usr/ccs/bin/" fi - # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. + # See if ld(1) is GNU ld(1). GNU ld(1) might not work for this job. # Recompute $verbose since we may have just changed $cc. verbose=`${cc:-cc} -v -o try try.c 2>&1 | grep ld 2>&1` + if echo "$verbose" | grep ' /usr/ccs/bin/ld ' >/dev/null 2>&1; then + # Ok, gcc directly calls the Solaris /usr/ccs/bin/ld. + : + elif echo "$verbose" | grep "ld: Software Generation Utilities" >/dev/null 2>&1; then + # Hmm. gcc doesn't call /usr/ccs/bin/ld directly, but it + # does appear to be using it eventually. egcs-1.0.3's ld + # wrapper does this. + # All Solaris versions of ld I've seen contain the magic + # string used in the grep. : else - # It's not /usr/ccs/bin/ld - but it might be egcs's ld wrapper, - # which calls /usr/ccs/bin/ld in turn. Passing -V to it will - # make it show its true colors. + # No evidence yet of /usr/ccs/bin/ld. Some versions + # of egcs's ld wrapper call /usr/ccs/bin/ld in turn but + # apparently don't reveal that unless you pass in -V. + # (This may all depend on local configurations too.) myld=`echo $verbose| grep ld | awk '/\/ld/ {print $1}'` - # This assumes that gcc's output will not change, and that - # /full/path/to/ld will be the first word of the output. - - # all Solaris versions of ld I've seen contain the magic - # string used in the grep below. - if $myld -V 2>&1 | grep "ld: Software Generation Utilities" >/dev/null 2>&1; then - cat <&2 - -Aha. You're using egcs and /usr/ccs/bin/ld. - -END - - else - cat <&2 + # This assumes that gcc's output will not change, and that + # /full/path/to/ld will be the first word of the output. + # Thus myld is something like opt/gnu/sparc-sun-solaris2.5/bin/ld + + if $myld -V 2>&1 | grep "ld: Software Generation Utilities" >/dev/null 2>&1; then + # Ok, /usr/ccs/bin/ld eventually does get called. + : + else + cat <&2 -NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. -I'm arranging to use /usr/ccs/bin/ld by including -B/usr/ccs/bin/ +NOTE: You are using GNU ld(1). GNU ld(1) might not build Perl. If you +have trouble, you can use /usr/ccs/bin/ld by including -B/usr/ccs/bin/ in your ${cc:-cc} command. (Note that the trailing "/" is required.) +I will try to use GNU ld by passing in the -Wl,-E flag, but if that +doesn't work, you should use -B/usr/ccs/bin/ instead. + END - cc="${cc:-cc} -B/usr/ccs/bin/" - fi + ccdlflags="$ccdlflags -Wl,-E" + lddlflags="$lddlflags -W,l-E -G" + fi fi else # # Not using gcc. # - #echo Not using gcc - # See if as(1) is GNU as(1). GNU as(1) won't work for this job. + # See if as(1) is GNU as(1). GNU might not work for this job. case `as --version < /dev/null 2>&1` in *GNU*) cat <&2 -NOTE: You are using GNU as(1). GNU as(1) will not build Perl. +NOTE: You are using GNU as(1). GNU as(1) might not build Perl. You must arrange to use /usr/ccs/bin/as, perhaps by adding /usr/ccs/bin to the beginning of your PATH. @@ -225,7 +285,7 @@ END ;; esac - # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. + # See if ld(1) is GNU ld(1). GNU ld(1) might not work for this job. # ld --version doesn't properly report itself as a GNU tool, # as of ld version 2.6, so we need to be more strict. TWP 9/5/96 gnu_ld=false @@ -245,8 +305,8 @@ END if $gnu_ld ; then cat <&2 -NOTE: You are apparently using GNU ld(1). GNU ld(1) will not build Perl. -You must arrange to use /usr/ccs/bin/ld, perhaps by adding /usr/ccs/bin +NOTE: You are apparently using GNU ld(1). GNU ld(1) might not build Perl. +You should arrange to use /usr/ccs/bin/ld, perhaps by adding /usr/ccs/bin to the beginning of your PATH. END @@ -261,9 +321,9 @@ rm -f core # XXX EOSH +cat > UU/usethreads.cbu <<'EOCBU' # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. -cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) ccflags="-D_REENTRANT $ccflags" @@ -309,6 +369,135 @@ EOM esac EOCBU +cat > UU/uselargefiles.cbu <<'EOCBU' +# This script UU/uselargefiles.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use large files. +case "$uselargefiles" in +''|$define|true|[yY]*) + ccflags="$ccflags `getconf LFS_CFLAGS 2>/dev/null`" + ldflags="$ldflags `getconf LFS_LDFLAGS 2>/dev/null`" + libswanted="$libswanted `getconf LFS_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 's@ -l@ @g`" + ;; +esac +EOCBU + +cat > UU/use64bitint.cbu <<'EOCBU' +# This script UU/use64bitint.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use 64 bit integers. +case "$use64bitint" in +"$define"|true|[yY]*) + case "`uname -r`" in + 2.[1-6]) + cat >&4 < UU/use64bitall.cbu <<'EOCBU' +# This script UU/use64bitall.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to be maximally 64 bitty. +case "$use64bitall-$use64bitall_done" in +"$define-"|true-|[yY]*-) + libc='/usr/lib/sparcv9/libc.so' + if test ! -f $libc; then + cat >&4 </dev/null" in + *gcc*) + echo 'main() { return 0; }' > try.c + if ${cc:-cc} -mcpu=v9 -m64 -S try.c 2>&1 | grep -e \ + '-m64 is not supported by this configuration'; then + cat >&4 </dev/null` != X; then + ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" + fi + # no changes to ld flags, as (according to man ld): + # + # There is no specific option that tells ld to link 64-bit + # objects; the class of the first object that gets processed + # by ld determines whether it is to perform a 32-bit or a + # 64-bit link edit. + ;; + *) + ccflags="$ccflags `getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" + ldflags="$ldflags `getconf XBS5_LP64_OFF64_LDFLAGS 2>/dev/null`" + lddlflags="$lddlflags -G `getconf XBS5_LP64_OFF64_LDFLAGS 2>/dev/null`" + ;; + esac + libscheck='case "`/usr/bin/file $xxx`" in +*64-bit*|*SPARCV9*) ;; +*) xxx=/no/64-bit$xxx ;; +esac' + use64bitall_done=yes + ;; +esac +EOCBU + +# Actually, we want to run this already now, if so requested, +# because we need to fix up things right now. +case "$use64bitall" in +"$define"|true|[yY]*) + . ./UU/use64bitall.cbu + ;; +esac + +cat > UU/uselongdouble.cbu <<'EOCBU' +# This script UU/uselongdouble.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use long doubles. +case "$uselongdouble-$uselongdouble_done" in +"$define-"|true-|[yY]*-) + case "$ccisworkshop" in + '') cat >&4 < /dev/null <<'End_of_Solaris_Notes' @@ -440,5 +629,51 @@ Date: 25 Jul 1995 12:20:18 GMT Perl 5 compiled out of the box. +7.0) 64-bitness, from Alan Burlison (added by jhi 2000-02-21) + + You need a machine running Solaris 2.7 or above. + + Here's some rules: + + 1. Solaris 2.7 and above will run in either 32 bit or 64 bit mode, + via a reboot. + 2. You can build 64 bit apps whilst running 32 bit mode and vice-versa. + 3. 32 bit apps will run under Solaris running in either 32 or 64 bit mode. + 4. 64 bit apps require Solaris to be running 64 bit mode + 5. It is possible to select the appropriate 32 or 64 bit version of an + app at run-time using isaexec(3). + 6. You can detect the OS mode using "isainfo -v", e.g. + fubar$ isainfo -v # Ultra 30 in 64 bit mode + 64-bit sparcv9 applications + 32-bit sparc applications + 7. To compile 64 bit you need to use the flag "-xarch=v9". + getconf(1) will tell you this, e.g. + fubar$ getconf -a | grep v9 + XBS5_LP64_OFF64_CFLAGS: -xarch=v9 + XBS5_LP64_OFF64_LDFLAGS: -xarch=v9 + XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_CFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_LDFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9 + + > > Now, what should we do, then? Should -Duse64bits in a v9 box cause + > > Perl to compiled in v9 mode? Or should we for compatibility stick + > > with 32 bit builds and let the people in the know to add the -xarch=v9 + > > to ccflags (and ldflags?)? + + > I think the second (explicit) mechanism should be the default. Unless + > you want to allocate more than ~ 4Gb of memory inside Perl, you don't + > need Perl to be a 64-bit app. Put it this way, on a machine running + > Solaris 8, there are 463 executables under /usr/bin, but only 15 of + > those require 64 bit versions - mainly because they invade the kernel + > address space, e.g. adb, kgmon etc. Certainly we don't recommend users + > to build 64 bit apps unless they need the address space. + End_of_Solaris_Notes diff --git a/gnu/usr.bin/perl/hints/sunos_4_1.sh b/gnu/usr.bin/perl/hints/sunos_4_1.sh index 4585d793d76..af0bca1398f 100644 --- a/gnu/usr.bin/perl/hints/sunos_4_1.sh +++ b/gnu/usr.bin/perl/hints/sunos_4_1.sh @@ -25,8 +25,20 @@ d_tzname='undef' # The gcc fix-includes script exposes those incorrect prototypes. # There may be other examples as well. Volunteers are welcome to # track them all down :-). In the meantime, we'll just skip unistd.h -# for SunOS in most of the code. (However, see ext/POSIX/hints/sunos_4.pl.) +# for SunOS in most of the code. +# However, see ext/POSIX/hints/sunos_4.pl for one exception. i_unistd='undef' +# See util.c for another: We need _SC_OPEN_MAX, which is in +# . + +# fflush(NULL) will core dump on SunOS 4.1.3. In util.c we'll +# try explicitly fflushing all open files. Unfortunately, +# on my SunOS 4.1.3 system, sysconf(_SC_OPEN_MAX) returns +# 64, but only 32 of those file pointers can be accessed +# directly by _iob[i]. The remainder are off in dynamically +# allocated memory somewhere and I don't know to automatically +# fflush() them. -- Andy Dougherty Wed May 26 15:25:22 EDT 1999 +util_cflags='ccflags="$ccflags -DPERL_FFLUSH_ALL_FOPEN_MAX=32"' cat << 'EOM' >&4 diff --git a/gnu/usr.bin/perl/hints/svr4.sh b/gnu/usr.bin/perl/hints/svr4.sh index cf6906dac78..8109b397528 100644 --- a/gnu/usr.bin/perl/hints/svr4.sh +++ b/gnu/usr.bin/perl/hints/svr4.sh @@ -142,12 +142,3 @@ d_lstat=define d_suidsafe='define' # "./Configure -d" can't figure this out easilly -cat <<'EOM' >&4 - -If you wish to use dynamic linking, you must use - LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH -or - setenv LD_LIBRARY_PATH `pwd` -before running make. - -EOM diff --git a/gnu/usr.bin/perl/hints/ultrix_4.sh b/gnu/usr.bin/perl/hints/ultrix_4.sh index 7b841e53fbb..f418ea18ee3 100644 --- a/gnu/usr.bin/perl/hints/ultrix_4.sh +++ b/gnu/usr.bin/perl/hints/ultrix_4.sh @@ -34,16 +34,16 @@ case "$cc" in *gcc*) ;; *) case "$osvers" in - *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3400" ;; - *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3400" + *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3800" ;; + *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3800" # Prototypes sometimes cause compilation errors in 4.2. prototype=undef case "$myuname" in *risc*) d_volatile=undef ;; esac ;; - *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3400" ;; - *) ccflags="$ccflags -std -Olimit 3400" ;; + *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3800" ;; + *) ccflags="$ccflags -std -Olimit 3800" ;; esac ;; esac @@ -64,3 +64,7 @@ groupstype='int' # configure test should be beefed up to try using the field when # it can't find any of the standardly-named fields. d_dirnamlen='define' + +# Ultrix can mmap only character devices, not regular files, +# which is rather useless state of things for Perl. +d_mmap='undef' diff --git a/gnu/usr.bin/perl/hints/unicos.sh b/gnu/usr.bin/perl/hints/unicos.sh index ab0203bec61..7ffd73fbcc0 100644 --- a/gnu/usr.bin/perl/hints/unicos.sh +++ b/gnu/usr.bin/perl/hints/unicos.sh @@ -14,3 +14,5 @@ case "$usemymalloc" in usemymalloc='n' ;; esac +# Configure gets fooled for some reason. There is no getpgid(). +d_getpgid='undef' diff --git a/gnu/usr.bin/perl/hints/unicosmk.sh b/gnu/usr.bin/perl/hints/unicosmk.sh index f0b63cb0ebe..f3416ffe34b 100644 --- a/gnu/usr.bin/perl/hints/unicosmk.sh +++ b/gnu/usr.bin/perl/hints/unicosmk.sh @@ -8,3 +8,25 @@ case "$usemymalloc" in ccflags="$ccflags -DNO_RCHECK" ;; esac +# If somebody ignores the Cray PATH. +case ":$PATH:" in +*:/opt/ctl/bin:*) ;; +'') case "$cc" in + '') test -x /opt/ctl/bin/cc && cc=/opt/ctl/bin/cc ;; + esac + ;; +esac +# As of UNICOS/mk 2.0.5.24 the shm* are in libc but unimplemented +# (an attempt to use them causes a runtime error) +# XXX Configure probe for really functional shm*() is needed XXX +if test "$d_shm" = ""; then + d_shmat=${d_shmat:-undef} + d_shmdt=${d_shmdt:-undef} + d_shmget=${d_shmget:-undef} + d_shmctl=${d_shmctl:-undef} + case "$d_shmat$d_shmctl$d_shmdt$d_shmget" in + *"undef"*) d_shm="$undef" ;; + esac +fi + + diff --git a/gnu/usr.bin/perl/hv.c b/gnu/usr.bin/perl/hv.c index e0091eac23d..44d37e34d30 100644 --- a/gnu/usr.bin/perl/hv.c +++ b/gnu/usr.bin/perl/hv.c @@ -1,6 +1,6 @@ /* hv.c * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2000, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -12,24 +12,11 @@ */ #include "EXTERN.h" +#define PERL_IN_HV_C #include "perl.h" -static void hv_magic_check _((HV *hv, bool *needs_copy, bool *needs_store)); -#ifndef PERL_OBJECT -static void hsplit _((HV *hv)); -static void hfreeentries _((HV *hv)); -static void more_he _((void)); -#endif - -#if defined(STRANGE_MALLOC) || defined(MYMALLOC) -# define ARRAY_ALLOC_BYTES(size) ( (size)*sizeof(HE*) ) -#else -# define MALLOC_OVERHEAD 16 -# define ARRAY_ALLOC_BYTES(size) ( (size)*sizeof(HE*)*2 - MALLOC_OVERHEAD ) -#endif - STATIC HE* -new_he(void) +S_new_he(pTHX) { HE* he; LOCK_SV_MUTEX; @@ -42,7 +29,7 @@ new_he(void) } STATIC void -del_he(HE *p) +S_del_he(pTHX_ HE *p) { LOCK_SV_MUTEX; HeNEXT(p) = (HE*)PL_he_root; @@ -51,7 +38,7 @@ del_he(HE *p) } STATIC void -more_he(void) +S_more_he(pTHX) { register HE* he; register HE* heend; @@ -65,8 +52,20 @@ more_he(void) HeNEXT(he) = 0; } +#ifdef PURIFY + +#define new_HE() (HE*)safemalloc(sizeof(HE)) +#define del_HE(p) safefree((char*)p) + +#else + +#define new_HE() new_he() +#define del_HE(p) del_he(p) + +#endif + STATIC HEK * -save_hek(char *str, I32 len, U32 hash) +S_save_hek(pTHX_ const char *str, I32 len, U32 hash) { char *k; register HEK *hek; @@ -81,16 +80,59 @@ save_hek(char *str, I32 len, U32 hash) } void -unshare_hek(HEK *hek) +Perl_unshare_hek(pTHX_ HEK *hek) { unsharepvn(HEK_KEY(hek),HEK_LEN(hek),HEK_HASH(hek)); } +#if defined(USE_ITHREADS) +HE * +Perl_he_dup(pTHX_ HE *e, bool shared) +{ + HE *ret; + + if (!e) + return Nullhe; + /* look for it in the table first */ + ret = (HE*)ptr_table_fetch(PL_ptr_table, e); + if (ret) + return ret; + + /* create anew and remember what it is */ + ret = new_HE(); + ptr_table_store(PL_ptr_table, e, ret); + + HeNEXT(ret) = he_dup(HeNEXT(e),shared); + if (HeKLEN(e) == HEf_SVKEY) + HeKEY_sv(ret) = SvREFCNT_inc(sv_dup(HeKEY_sv(e))); + else if (shared) + HeKEY_hek(ret) = share_hek(HeKEY(e), HeKLEN(e), HeHASH(e)); + else + HeKEY_hek(ret) = save_hek(HeKEY(e), HeKLEN(e), HeHASH(e)); + HeVAL(ret) = SvREFCNT_inc(sv_dup(HeVAL(e))); + return ret; +} +#endif /* USE_ITHREADS */ + /* (klen == HEf_SVKEY) is special for MAGICAL hv entries, meaning key slot * contains an SV* */ +/* +=for apidoc hv_fetch + +Returns the SV which corresponds to the specified key in the hash. The +C is the length of the key. If C is set then the fetch will be +part of a store. Check that the return value is non-null before +dereferencing it to a C. + +See L for more +information on how to use this function on tied hashes. + +=cut +*/ + SV** -hv_fetch(HV *hv, char *key, U32 klen, I32 lval) +Perl_hv_fetch(pTHX_ HV *hv, const char *key, U32 klen, I32 lval) { register XPVHV* xhv; register U32 hash; @@ -113,7 +155,7 @@ hv_fetch(HV *hv, char *key, U32 klen, I32 lval) U32 i; for (i = 0; i < klen; ++i) if (isLOWER(key[i])) { - char *nkey = strupr(SvPVX(sv_2mortal(newSVpv(key,klen)))); + char *nkey = strupr(SvPVX(sv_2mortal(newSVpvn(key,klen)))); SV **ret = hv_fetch(hv, nkey, klen, 0); if (!ret && lval) ret = hv_store(hv, key, klen, NEWSV(61,0), 0); @@ -130,7 +172,8 @@ hv_fetch(HV *hv, char *key, U32 klen, I32 lval) || (HvNAME(hv) && strEQ(HvNAME(hv),ENV_HV_NAME)) #endif ) - Newz(503,xhv->xhv_array, ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); + Newz(503, xhv->xhv_array, + PERL_HV_ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); else return 0; } @@ -149,13 +192,13 @@ hv_fetch(HV *hv, char *key, U32 klen, I32 lval) } #ifdef DYNAMIC_ENV_FETCH /* %ENV lookup? If so, try to fetch the value now */ if (HvNAME(hv) && strEQ(HvNAME(hv),ENV_HV_NAME)) { - char *gotenv; - - if ((gotenv = PerlEnv_getenv(key)) != Nullch) { - sv = newSVpv(gotenv,strlen(gotenv)); - SvTAINTED_on(sv); - return hv_store(hv,key,klen,sv,hash); - } + unsigned long len; + char *env = PerlEnv_ENVgetenv_len(key,&len); + if (env) { + sv = newSVpvn(env,len); + SvTAINTED_on(sv); + return hv_store(hv,key,klen,sv,hash); + } } #endif if (lval) { /* gonna assign to this, so it better be there */ @@ -167,8 +210,25 @@ hv_fetch(HV *hv, char *key, U32 klen, I32 lval) /* returns a HE * structure with the all fields set */ /* note that hent_val will be a mortal sv for MAGICAL hashes */ +/* +=for apidoc hv_fetch_ent + +Returns the hash entry which corresponds to the specified key in the hash. +C must be a valid precomputed hash number for the given C, or 0 +if you want the function to compute it. IF C is set then the fetch +will be part of a store. Make sure the return value is non-null before +accessing it. The return value when C is a tied hash is a pointer to a +static location, so be sure to make a copy of the structure if you need to +store it somewhere. + +See L for more +information on how to use this function on tied hashes. + +=cut +*/ + HE * -hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash) +Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, register U32 hash) { register XPVHV* xhv; register char *key; @@ -200,7 +260,7 @@ hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash) key = SvPV(keysv, klen); for (i = 0; i < klen; ++i) if (isLOWER(key[i])) { - SV *nkeysv = sv_2mortal(newSVpv(key,klen)); + SV *nkeysv = sv_2mortal(newSVpvn(key,klen)); (void)strupr(SvPVX(nkeysv)); entry = hv_fetch_ent(hv, nkeysv, 0, 0); if (!entry && lval) @@ -218,7 +278,8 @@ hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash) || (HvNAME(hv) && strEQ(HvNAME(hv),ENV_HV_NAME)) #endif ) - Newz(503,xhv->xhv_array, ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); + Newz(503, xhv->xhv_array, + PERL_HV_ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); else return 0; } @@ -240,13 +301,13 @@ hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash) } #ifdef DYNAMIC_ENV_FETCH /* %ENV lookup? If so, try to fetch the value now */ if (HvNAME(hv) && strEQ(HvNAME(hv),ENV_HV_NAME)) { - char *gotenv; - - if ((gotenv = PerlEnv_getenv(key)) != Nullch) { - sv = newSVpv(gotenv,strlen(gotenv)); - SvTAINTED_on(sv); - return hv_store_ent(hv,keysv,sv,hash); - } + unsigned long len; + char *env = PerlEnv_ENVgetenv_len(key,&len); + if (env) { + sv = newSVpvn(env,len); + SvTAINTED_on(sv); + return hv_store_ent(hv,keysv,sv,hash); + } } #endif if (lval) { /* gonna assign to this, so it better be there */ @@ -256,8 +317,8 @@ hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash) return 0; } -static void -hv_magic_check (HV *hv, bool *needs_copy, bool *needs_store) +STATIC void +S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store) { MAGIC *mg = SvMAGIC(hv); *needs_copy = FALSE; @@ -275,8 +336,26 @@ hv_magic_check (HV *hv, bool *needs_copy, bool *needs_store) } } +/* +=for apidoc hv_store + +Stores an SV in a hash. The hash key is specified as C and C is +the length of the key. The C parameter is the precomputed hash +value; if it is zero then Perl will compute it. The return value will be +NULL if the operation failed or if the value did not need to be actually +stored within the hash (as in the case of tied hashes). Otherwise it can +be dereferenced to get the original C. Note that the caller is +responsible for suitably incrementing the reference count of C before +the call, and decrementing it if the function returned NULL. + +See L for more +information on how to use this function on tied hashes. + +=cut +*/ + SV** -hv_store(HV *hv, char *key, U32 klen, SV *val, register U32 hash) +Perl_hv_store(pTHX_ HV *hv, const char *key, U32 klen, SV *val, register U32 hash) { register XPVHV* xhv; register I32 i; @@ -297,7 +376,7 @@ hv_store(HV *hv, char *key, U32 klen, SV *val, register U32 hash) return 0; #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { - SV *sv = sv_2mortal(newSVpv(key,klen)); + SV *sv = sv_2mortal(newSVpvn(key,klen)); key = strupr(SvPVX(sv)); hash = 0; } @@ -308,7 +387,8 @@ hv_store(HV *hv, char *key, U32 klen, SV *val, register U32 hash) PERL_HASH(hash, key, klen); if (!xhv->xhv_array) - Newz(505, xhv->xhv_array, ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); + Newz(505, xhv->xhv_array, + PERL_HV_ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); oentry = &((HE**)xhv->xhv_array)[hash & (I32) xhv->xhv_max]; i = 1; @@ -325,7 +405,7 @@ hv_store(HV *hv, char *key, U32 klen, SV *val, register U32 hash) return &HeVAL(entry); } - entry = new_he(); + entry = new_HE(); if (HvSHAREKEYS(hv)) HeKEY_hek(entry) = share_hek(key, klen, hash); else /* gotta do the real thing */ @@ -344,8 +424,27 @@ hv_store(HV *hv, char *key, U32 klen, SV *val, register U32 hash) return &HeVAL(entry); } +/* +=for apidoc hv_store_ent + +Stores C in a hash. The hash key is specified as C. The C +parameter is the precomputed hash value; if it is zero then Perl will +compute it. The return value is the new hash entry so created. It will be +NULL if the operation failed or if the value did not need to be actually +stored within the hash (as in the case of tied hashes). Otherwise the +contents of the return value can be accessed using the C macros +described here. Note that the caller is responsible for suitably +incrementing the reference count of C before the call, and +decrementing it if the function returned NULL. + +See L for more +information on how to use this function on tied hashes. + +=cut +*/ + HE * -hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash) +Perl_hv_store_ent(pTHX_ HV *hv, SV *keysv, SV *val, register U32 hash) { register XPVHV* xhv; register char *key; @@ -375,7 +474,7 @@ hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash) #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { key = SvPV(keysv, klen); - keysv = sv_2mortal(newSVpv(key,klen)); + keysv = sv_2mortal(newSVpvn(key,klen)); (void)strupr(SvPVX(keysv)); hash = 0; } @@ -389,7 +488,8 @@ hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash) PERL_HASH(hash, key, klen); if (!xhv->xhv_array) - Newz(505, xhv->xhv_array, ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); + Newz(505, xhv->xhv_array, + PERL_HV_ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); oentry = &((HE**)xhv->xhv_array)[hash & (I32) xhv->xhv_max]; i = 1; @@ -406,7 +506,7 @@ hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash) return entry; } - entry = new_he(); + entry = new_HE(); if (HvSHAREKEYS(hv)) HeKEY_hek(entry) = share_hek(key, klen, hash); else /* gotta do the real thing */ @@ -425,8 +525,19 @@ hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash) return entry; } +/* +=for apidoc hv_delete + +Deletes a key/value pair in the hash. The value SV is removed from the +hash and returned to the caller. The C is the length of the key. +The C value will normally be zero; if set to G_DISCARD then NULL +will be returned. + +=cut +*/ + SV * -hv_delete(HV *hv, char *key, U32 klen, I32 flags) +Perl_hv_delete(pTHX_ HV *hv, const char *key, U32 klen, I32 flags) { register XPVHV* xhv; register I32 i; @@ -455,7 +566,7 @@ hv_delete(HV *hv, char *key, U32 klen, I32 flags) } #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { - sv = sv_2mortal(newSVpv(key,klen)); + sv = sv_2mortal(newSVpvn(key,klen)); key = strupr(SvPVX(sv)); } #endif @@ -482,8 +593,10 @@ hv_delete(HV *hv, char *key, U32 klen, I32 flags) xhv->xhv_fill--; if (flags & G_DISCARD) sv = Nullsv; - else - sv = sv_mortalcopy(HeVAL(entry)); + else { + sv = sv_2mortal(HeVAL(entry)); + HeVAL(entry) = &PL_sv_undef; + } if (entry == xhv->xhv_eiter) HvLAZYDEL_on(hv); else @@ -494,8 +607,19 @@ hv_delete(HV *hv, char *key, U32 klen, I32 flags) return Nullsv; } +/* +=for apidoc hv_delete_ent + +Deletes a key/value pair in the hash. The value SV is removed from the +hash and returned to the caller. The C value will normally be zero; +if set to G_DISCARD then NULL will be returned. C can be a valid +precomputed hash value, or 0 to ask for it to be computed. + +=cut +*/ + SV * -hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash) +Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash) { register XPVHV* xhv; register I32 i; @@ -525,7 +649,7 @@ hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash) #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { key = SvPV(keysv, klen); - keysv = sv_2mortal(newSVpv(key,klen)); + keysv = sv_2mortal(newSVpvn(key,klen)); (void)strupr(SvPVX(keysv)); hash = 0; } @@ -556,8 +680,10 @@ hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash) xhv->xhv_fill--; if (flags & G_DISCARD) sv = Nullsv; - else - sv = sv_mortalcopy(HeVAL(entry)); + else { + sv = sv_2mortal(HeVAL(entry)); + HeVAL(entry) = &PL_sv_undef; + } if (entry == xhv->xhv_eiter) HvLAZYDEL_on(hv); else @@ -568,8 +694,17 @@ hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash) return Nullsv; } +/* +=for apidoc hv_exists + +Returns a boolean indicating whether the specified hash key exists. The +C is the length of the key. + +=cut +*/ + bool -hv_exists(HV *hv, char *key, U32 klen) +Perl_hv_exists(pTHX_ HV *hv, const char *key, U32 klen) { register XPVHV* xhv; register U32 hash; @@ -589,18 +724,24 @@ hv_exists(HV *hv, char *key, U32 klen) } #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { - sv = sv_2mortal(newSVpv(key,klen)); + sv = sv_2mortal(newSVpvn(key,klen)); key = strupr(SvPVX(sv)); } #endif } xhv = (XPVHV*)SvANY(hv); +#ifndef DYNAMIC_ENV_FETCH if (!xhv->xhv_array) return 0; +#endif PERL_HASH(hash, key, klen); +#ifdef DYNAMIC_ENV_FETCH + if (!xhv->xhv_array) entry = Null(HE*); + else +#endif entry = ((HE**)xhv->xhv_array)[hash & (I32) xhv->xhv_max]; for (; entry; entry = HeNEXT(entry)) { if (HeHASH(entry) != hash) /* strings can't be equal */ @@ -611,12 +752,34 @@ hv_exists(HV *hv, char *key, U32 klen) continue; return TRUE; } +#ifdef DYNAMIC_ENV_FETCH /* is it out there? */ + if (HvNAME(hv) && strEQ(HvNAME(hv), ENV_HV_NAME)) { + unsigned long len; + char *env = PerlEnv_ENVgetenv_len(key,&len); + if (env) { + sv = newSVpvn(env,len); + SvTAINTED_on(sv); + (void)hv_store(hv,key,klen,sv,hash); + return TRUE; + } + } +#endif return FALSE; } +/* +=for apidoc hv_exists_ent + +Returns a boolean indicating whether the specified hash key exists. C +can be a valid precomputed hash value, or 0 to ask for it to be +computed. + +=cut +*/ + bool -hv_exists_ent(HV *hv, SV *keysv, U32 hash) +Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash) { register XPVHV* xhv; register char *key; @@ -639,7 +802,7 @@ hv_exists_ent(HV *hv, SV *keysv, U32 hash) #ifdef ENV_IS_CASELESS else if (mg_find((SV*)hv,'E')) { key = SvPV(keysv, klen); - keysv = sv_2mortal(newSVpv(key,klen)); + keysv = sv_2mortal(newSVpvn(key,klen)); (void)strupr(SvPVX(keysv)); hash = 0; } @@ -647,13 +810,19 @@ hv_exists_ent(HV *hv, SV *keysv, U32 hash) } xhv = (XPVHV*)SvANY(hv); +#ifndef DYNAMIC_ENV_FETCH if (!xhv->xhv_array) return 0; +#endif key = SvPV(keysv, klen); if (!hash) PERL_HASH(hash, key, klen); +#ifdef DYNAMIC_ENV_FETCH + if (!xhv->xhv_array) entry = Null(HE*); + else +#endif entry = ((HE**)xhv->xhv_array)[hash & (I32) xhv->xhv_max]; for (; entry; entry = HeNEXT(entry)) { if (HeHASH(entry) != hash) /* strings can't be equal */ @@ -664,11 +833,23 @@ hv_exists_ent(HV *hv, SV *keysv, U32 hash) continue; return TRUE; } +#ifdef DYNAMIC_ENV_FETCH /* is it out there? */ + if (HvNAME(hv) && strEQ(HvNAME(hv), ENV_HV_NAME)) { + unsigned long len; + char *env = PerlEnv_ENVgetenv_len(key,&len); + if (env) { + sv = newSVpvn(env,len); + SvTAINTED_on(sv); + (void)hv_store_ent(hv,keysv,sv,hash); + return TRUE; + } + } +#endif return FALSE; } STATIC void -hsplit(HV *hv) +S_hsplit(pTHX_ HV *hv) { register XPVHV* xhv = (XPVHV*)SvANY(hv); I32 oldsize = (I32) xhv->xhv_max + 1; /* sic(k) */ @@ -682,21 +863,21 @@ hsplit(HV *hv) PL_nomemok = TRUE; #if defined(STRANGE_MALLOC) || defined(MYMALLOC) - Renew(a, ARRAY_ALLOC_BYTES(newsize), char); + Renew(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char); if (!a) { PL_nomemok = FALSE; return; } #else #define MALLOC_OVERHEAD 16 - New(2, a, ARRAY_ALLOC_BYTES(newsize), char); + New(2, a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char); if (!a) { PL_nomemok = FALSE; return; } Copy(xhv->xhv_array, a, oldsize * sizeof(HE*), char); if (oldsize >= 64) { - offer_nice_chunk(xhv->xhv_array, ARRAY_ALLOC_BYTES(oldsize)); + offer_nice_chunk(xhv->xhv_array, PERL_HV_ARRAY_ALLOC_BYTES(oldsize)); } else Safefree(xhv->xhv_array); @@ -730,7 +911,7 @@ hsplit(HV *hv) } void -hv_ksplit(HV *hv, IV newmax) +Perl_hv_ksplit(pTHX_ HV *hv, IV newmax) { register XPVHV* xhv = (XPVHV*)SvANY(hv); I32 oldsize = (I32) xhv->xhv_max + 1; /* sic(k) */ @@ -757,20 +938,20 @@ hv_ksplit(HV *hv, IV newmax) if (a) { PL_nomemok = TRUE; #if defined(STRANGE_MALLOC) || defined(MYMALLOC) - Renew(a, ARRAY_ALLOC_BYTES(newsize), char); + Renew(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char); if (!a) { PL_nomemok = FALSE; return; } #else - New(2, a, ARRAY_ALLOC_BYTES(newsize), char); + New(2, a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char); if (!a) { PL_nomemok = FALSE; return; } Copy(xhv->xhv_array, a, oldsize * sizeof(HE*), char); if (oldsize >= 64) { - offer_nice_chunk(xhv->xhv_array, ARRAY_ALLOC_BYTES(oldsize)); + offer_nice_chunk(xhv->xhv_array, PERL_HV_ARRAY_ALLOC_BYTES(oldsize)); } else Safefree(xhv->xhv_array); @@ -779,7 +960,7 @@ hv_ksplit(HV *hv, IV newmax) Zero(&a[oldsize * sizeof(HE*)], (newsize-oldsize) * sizeof(HE*), char); /* zero 2nd half*/ } else { - Newz(0, a, ARRAY_ALLOC_BYTES(newsize), char); + Newz(0, a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char); } xhv->xhv_max = --newsize; xhv->xhv_array = a; @@ -807,8 +988,16 @@ hv_ksplit(HV *hv, IV newmax) } } +/* +=for apidoc newHV + +Creates a new HV. The reference count is set to 1. + +=cut +*/ + HV * -newHV(void) +Perl_newHV(pTHX) { register HV *hv; register XPVHV* xhv; @@ -829,7 +1018,7 @@ newHV(void) } HV * -newHVhv(HV *ohv) +Perl_newHVhv(pTHX_ HV *ohv) { register HV *hv; STRLEN hv_max = ohv ? HvMAX(ohv) : 0; @@ -855,7 +1044,7 @@ newHVhv(HV *ohv) /* Slow way */ hv_iterinit(ohv); - while (entry = hv_iternext(ohv)) { + while ((entry = hv_iternext(ohv))) { hv_store(hv, HeKEY(entry), HeKLEN(entry), SvREFCNT_inc(HeVAL(entry)), HeHASH(entry)); } @@ -867,7 +1056,7 @@ newHVhv(HV *ohv) } void -hv_free_ent(HV *hv, register HE *entry) +Perl_hv_free_ent(pTHX_ HV *hv, register HE *entry) { SV *val; @@ -885,11 +1074,11 @@ hv_free_ent(HV *hv, register HE *entry) unshare_hek(HeKEY_hek(entry)); else Safefree(HeKEY_hek(entry)); - del_he(entry); + del_HE(entry); } void -hv_delayfree_ent(HV *hv, register HE *entry) +Perl_hv_delayfree_ent(pTHX_ HV *hv, register HE *entry) { if (!entry) return; @@ -904,11 +1093,19 @@ hv_delayfree_ent(HV *hv, register HE *entry) unshare_hek(HeKEY_hek(entry)); else Safefree(HeKEY_hek(entry)); - del_he(entry); + del_HE(entry); } +/* +=for apidoc hv_clear + +Clears a hash, making it empty. + +=cut +*/ + void -hv_clear(HV *hv) +Perl_hv_clear(pTHX_ HV *hv) { register XPVHV* xhv; if (!hv) @@ -925,7 +1122,7 @@ hv_clear(HV *hv) } STATIC void -hfreeentries(HV *hv) +S_hfreeentries(pTHX_ HV *hv) { register HE **array; register HE *entry; @@ -957,8 +1154,16 @@ hfreeentries(HV *hv) (void)hv_iterinit(hv); } +/* +=for apidoc hv_undef + +Undefines the hash. + +=cut +*/ + void -hv_undef(HV *hv) +Perl_hv_undef(pTHX_ HV *hv) { register XPVHV* xhv; if (!hv) @@ -979,20 +1184,30 @@ hv_undef(HV *hv) mg_clear((SV*)hv); } +/* +=for apidoc hv_iterinit + +Prepares a starting point to traverse a hash table. Returns the number of +keys in the hash (i.e. the same as C). The return value is +currently only meaningful for hashes without tie magic. + +NOTE: Before version 5.004_65, C used to return the number of +hash buckets that happen to be in use. If you still need that esoteric +value, you can get it through the macro C. + +=cut +*/ + I32 -hv_iterinit(HV *hv) +Perl_hv_iterinit(pTHX_ HV *hv) { register XPVHV* xhv; HE *entry; if (!hv) - croak("Bad hash"); + Perl_croak(aTHX_ "Bad hash"); xhv = (XPVHV*)SvANY(hv); entry = xhv->xhv_eiter; -#ifdef DYNAMIC_ENV_FETCH /* set up %ENV for iteration */ - if (HvNAME(hv) && strEQ(HvNAME(hv), ENV_HV_NAME)) - prime_env_iter(); -#endif if (entry && HvLAZYDEL(hv)) { /* was deleted earlier? */ HvLAZYDEL_off(hv); hv_free_ent(hv, entry); @@ -1002,8 +1217,16 @@ hv_iterinit(HV *hv) return xhv->xhv_keys; /* used to be xhv->xhv_fill before 5.004_65 */ } +/* +=for apidoc hv_iternext + +Returns entries from a hash iterator. See C. + +=cut +*/ + HE * -hv_iternext(HV *hv) +Perl_hv_iternext(pTHX_ HV *hv) { register XPVHV* xhv; register HE *entry; @@ -1011,11 +1234,11 @@ hv_iternext(HV *hv) MAGIC* mg; if (!hv) - croak("Bad hash"); + Perl_croak(aTHX_ "Bad hash"); xhv = (XPVHV*)SvANY(hv); oldentry = entry = xhv->xhv_eiter; - if (mg = SvTIED_mg((SV*)hv, 'P')) { + if ((mg = SvTIED_mg((SV*)hv, 'P'))) { SV *key = sv_newmortal(); if (entry) { sv_setsv(key, HeSVKEY_force(entry)); @@ -1025,7 +1248,7 @@ hv_iternext(HV *hv) char *k; HEK *hek; - xhv->xhv_eiter = entry = new_he(); /* one HE per MAGICAL hash */ + xhv->xhv_eiter = entry = new_HE(); /* one HE per MAGICAL hash */ Zero(entry, 1, HE); Newz(54, k, HEK_BASESIZE + sizeof(SV*), char); hek = (HEK*)k; @@ -1041,13 +1264,18 @@ hv_iternext(HV *hv) if (HeVAL(entry)) SvREFCNT_dec(HeVAL(entry)); Safefree(HeKEY_hek(entry)); - del_he(entry); + del_HE(entry); xhv->xhv_eiter = Null(HE*); return Null(HE*); } +#ifdef DYNAMIC_ENV_FETCH /* set up %ENV for iteration */ + if (!entry && HvNAME(hv) && strEQ(HvNAME(hv), ENV_HV_NAME)) + prime_env_iter(); +#endif if (!xhv->xhv_array) - Newz(506,xhv->xhv_array, ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); + Newz(506, xhv->xhv_array, + PERL_HV_ARRAY_ALLOC_BYTES(xhv->xhv_max + 1), char); if (entry) entry = HeNEXT(entry); while (!entry) { @@ -1068,8 +1296,17 @@ hv_iternext(HV *hv) return entry; } +/* +=for apidoc hv_iterkey + +Returns the key from the current position of the hash iterator. See +C. + +=cut +*/ + char * -hv_iterkey(register HE *entry, I32 *retlen) +Perl_hv_iterkey(pTHX_ register HE *entry, I32 *retlen) { if (HeKLEN(entry) == HEf_SVKEY) { STRLEN len; @@ -1084,18 +1321,37 @@ hv_iterkey(register HE *entry, I32 *retlen) } /* unlike hv_iterval(), this always returns a mortal copy of the key */ +/* +=for apidoc hv_iterkeysv + +Returns the key as an C from the current position of the hash +iterator. The return value will always be a mortal copy of the key. Also +see C. + +=cut +*/ + SV * -hv_iterkeysv(register HE *entry) +Perl_hv_iterkeysv(pTHX_ register HE *entry) { if (HeKLEN(entry) == HEf_SVKEY) return sv_mortalcopy(HeKEY_sv(entry)); else - return sv_2mortal(newSVpv((HeKLEN(entry) ? HeKEY(entry) : ""), + return sv_2mortal(newSVpvn((HeKLEN(entry) ? HeKEY(entry) : ""), HeKLEN(entry))); } +/* +=for apidoc hv_iterval + +Returns the value from the current position of the hash iterator. See +C. + +=cut +*/ + SV * -hv_iterval(HV *hv, register HE *entry) +Perl_hv_iterval(pTHX_ HV *hv, register HE *entry) { if (SvRMAGICAL(hv)) { if (mg_find((SV*)hv,'P')) { @@ -1109,8 +1365,17 @@ hv_iterval(HV *hv, register HE *entry) return HeVAL(entry); } +/* +=for apidoc hv_iternextsv + +Performs an C, C, and C in one +operation. + +=cut +*/ + SV * -hv_iternextsv(HV *hv, char **key, I32 *retlen) +Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen) { HE *he; if ( (he = hv_iternext(hv)) == NULL) @@ -1119,14 +1384,22 @@ hv_iternextsv(HV *hv, char **key, I32 *retlen) return hv_iterval(hv, he); } +/* +=for apidoc hv_magic + +Adds magic to a hash. See C. + +=cut +*/ + void -hv_magic(HV *hv, GV *gv, int how) +Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how) { sv_magic((SV*)hv, (SV*)gv, how, Nullch, 0); } char* -sharepvn(char *sv, I32 len, U32 hash) +Perl_sharepvn(pTHX_ const char *sv, I32 len, U32 hash) { return HEK_KEY(share_hek(sv, len, hash)); } @@ -1135,7 +1408,7 @@ sharepvn(char *sv, I32 len, U32 hash) * len and hash must both be valid for str. */ void -unsharepvn(char *str, I32 len, U32 hash) +Perl_unsharepvn(pTHX_ const char *str, I32 len, U32 hash) { register XPVHV* xhv; register HE *entry; @@ -1165,15 +1438,18 @@ unsharepvn(char *str, I32 len, U32 hash) if (i && !*oentry) xhv->xhv_fill--; Safefree(HeKEY_hek(entry)); - del_he(entry); + del_HE(entry); --xhv->xhv_keys; } break; } UNLOCK_STRTAB_MUTEX; - if (!found) - warn("Attempt to free non-existent shared string"); + { + dTHR; + if (!found && ckWARN_d(WARN_INTERNAL)) + Perl_warner(aTHX_ WARN_INTERNAL, "Attempt to free non-existent shared string"); + } } /* get a (constant) string ptr from the global string table @@ -1181,7 +1457,7 @@ unsharepvn(char *str, I32 len, U32 hash) * len and hash must both be valid for str. */ HEK * -share_hek(char *str, I32 len, register U32 hash) +Perl_share_hek(pTHX_ const char *str, I32 len, register U32 hash) { register XPVHV* xhv; register HE *entry; @@ -1209,7 +1485,7 @@ share_hek(char *str, I32 len, register U32 hash) break; } if (!found) { - entry = new_he(); + entry = new_HE(); HeKEY_hek(entry) = save_hek(str, len, hash); HeVAL(entry) = Nullsv; HeNEXT(entry) = *oentry; diff --git a/gnu/usr.bin/perl/hv.h b/gnu/usr.bin/perl/hv.h index 007892d412d..5bc38a0a79a 100644 --- a/gnu/usr.bin/perl/hv.h +++ b/gnu/usr.bin/perl/hv.h @@ -1,6 +1,6 @@ /* hv.h * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2000, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -28,7 +28,7 @@ struct xpvhv { STRLEN xhv_fill; /* how full xhv_array currently is */ STRLEN xhv_max; /* subscript of last element of xhv_array */ IV xhv_keys; /* how many elements in the array */ - double xnv_nv; /* numeric value, if any */ + NV xnv_nv; /* numeric value, if any */ MAGIC* xmg_magic; /* magic for scalar array */ HV* xmg_stash; /* class package */ @@ -40,14 +40,70 @@ struct xpvhv { #define PERL_HASH(hash,str,len) \ STMT_START { \ - register char *s_PeRlHaSh = str; \ + register const char *s_PeRlHaSh = str; \ register I32 i_PeRlHaSh = len; \ register U32 hash_PeRlHaSh = 0; \ while (i_PeRlHaSh--) \ hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \ - (hash) = hash_PeRlHaSh; \ + (hash) = hash_PeRlHaSh + (hash_PeRlHaSh>>5); \ } STMT_END +/* +=for apidoc AmU||HEf_SVKEY +This flag, used in the length slot of hash entries and magic structures, +specifies the structure contains a C pointer where a C pointer +is to be expected. (For information only--not to be used). + +=for apidoc AmU||Nullhv +Null HV pointer. + +=for apidoc Am|char*|HvNAME|HV* stash +Returns the package name of a stash. See C, C. + +=for apidoc Am|void*|HeKEY|HE* he +Returns the actual pointer stored in the key slot of the hash entry. The +pointer may be either C or C, depending on the value of +C. Can be assigned to. The C or C macros are +usually preferable for finding the value of a key. + +=for apidoc Am|STRLEN|HeKLEN|HE* he +If this is negative, and amounts to C, it indicates the entry +holds an C key. Otherwise, holds the actual length of the key. Can +be assigned to. The C macro is usually preferable for finding key +lengths. + +=for apidoc Am|SV*|HeVAL|HE* he +Returns the value slot (type C) stored in the hash entry. + +=for apidoc Am|U32|HeHASH|HE* he +Returns the computed hash stored in the hash entry. + +=for apidoc Am|char*|HePV|HE* he|STRLEN len +Returns the key slot of the hash entry as a C value, doing any +necessary dereferencing of possibly C keys. The length of the string +is placed in C (this is a macro, so do I use C<&len>). If you do +not care about what the length of the key is, you may use the global +variable C, though this is rather less efficient than using a local +variable. Remember though, that hash keys in perl are free to contain +embedded nulls, so using C or similar is not a good way to find +the length of hash keys. This is very similar to the C macro +described elsewhere in this document. + +=for apidoc Am|SV*|HeSVKEY|HE* he +Returns the key as an C, or C if the hash entry does not +contain an C key. + +=for apidoc Am|SV*|HeSVKEY_force|HE* he +Returns the key as an C. Will create and return a temporary mortal +C if the hash entry contains only a C key. + +=for apidoc Am|SV*|HeSVKEY_set|HE* he|SV* sv +Sets the key to a given C, taking care to set the appropriate flags to +indicate the presence of an C key, and returns the same +C. + +=cut +*/ /* these hash entry flags ride on hent_klen (for use only in magic/tied HVs) */ #define HEf_SVKEY -2 /* hent_key is a SV* */ @@ -71,8 +127,6 @@ struct xpvhv { #define HvLAZYDEL_on(hv) (SvFLAGS(hv) |= SVphv_LAZYDEL) #define HvLAZYDEL_off(hv) (SvFLAGS(hv) &= ~SVphv_LAZYDEL) -#ifdef OVERLOAD - /* Maybe amagical: */ /* #define HV_AMAGICmb(hv) (SvFLAGS(hv) & (SVpgv_badAM | SVpgv_AM)) */ @@ -86,8 +140,6 @@ struct xpvhv { #define HV_badAMAGIC_off(hv) (SvFLAGS(hv) &= ~SVpgv_badAM) */ -#endif /* OVERLOAD */ - #define Nullhe Null(HE*) #define HeNEXT(he) (he)->hent_next #define HeKEY_hek(he) (he)->hent_hek @@ -108,7 +160,7 @@ struct xpvhv { #define HeSVKEY_force(he) (HeKEY(he) ? \ ((HeKLEN(he) == HEf_SVKEY) ? \ HeKEY_sv(he) : \ - sv_2mortal(newSVpv(HeKEY(he), \ + sv_2mortal(newSVpvn(HeKEY(he), \ HeKLEN(he)))) : \ &PL_sv_undef) #define HeSVKEY_set(he,sv) ((HeKLEN(he) = HEf_SVKEY), (HeKEY_sv(he) = sv)) @@ -118,3 +170,13 @@ struct xpvhv { #define HEK_HASH(hek) (hek)->hek_hash #define HEK_LEN(hek) (hek)->hek_len #define HEK_KEY(hek) (hek)->hek_key + +#if defined(STRANGE_MALLOC) || defined(MYMALLOC) +# define PERL_HV_ARRAY_ALLOC_BYTES(size) ((size) * sizeof(HE*)) +#else +# define MALLOC_OVERHEAD 16 +# define PERL_HV_ARRAY_ALLOC_BYTES(size) \ + (((size) < 64) \ + ? (size) * sizeof(HE*) \ + : (size) * sizeof(HE*) * 2 - MALLOC_OVERHEAD) +#endif diff --git a/gnu/usr.bin/perl/installhtml b/gnu/usr.bin/perl/installhtml index fd11ee69f48..cfbbe9f5c67 100644 --- a/gnu/usr.bin/perl/installhtml +++ b/gnu/usr.bin/perl/installhtml @@ -9,8 +9,6 @@ use Getopt::Long; # for command-line parsing use Cwd; use Pod::Html; -umask 022; - =head1 NAME installhtml - converts a collection of POD pages to HTML format. @@ -63,13 +61,13 @@ a URL. The default is `/'. =item B<--splithead> POD files to split on =head directive -Colon-separated list of pod files to split by the =head directive. The +Comma-separated list of pod files to split by the =head directive. The .pod suffix is optional. These files should have names specified relative to podroot. =item B<--splititem> POD files to split on =item directive -Colon-separated list of all pod files to split by the =item directive. +Comma-separated list of all pod files to split by the =item directive. The .pod suffix is optional. I does not do the actual split, rather it invokes I to do the dirty work. As with --splithead, these files should have names specified relative to podroot. @@ -80,7 +78,7 @@ The directory containing the splitpod program. The default is `podroot/pod'. =item B<--libpods> library PODs for LEE links -Colon-separated list of "library" pod files. This is the same list that +Comma-separated list of "library" pod files. This is the same list that will be passed to pod2html when any pod is converted. =item B<--verbose> verbose output @@ -100,7 +98,7 @@ perl documentation: --htmlroot=/perl/nmanual \ --splithead=pod/perlipc \ --splititem=pod/perlfunc \ - --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \ + --libpods=perlfunc,perlguts,perlvar,perlrun,perlop \ --recurse \ --verbose @@ -161,6 +159,10 @@ $pod2html = "pod/pod2html"; usage("") unless @ARGV; +# Overcome shell's p1,..,p8 limitation. +# See vms/descrip_mms.template -> descrip.mms for invokation. +if ( $^O eq 'VMS' ) { @ARGV = split(/\s+/,$ARGV[0]); } + # parse the command-line $result = GetOptions( qw( help @@ -236,7 +238,12 @@ foreach $dir (@splithead) { @data = (); while () { last if /NAME=/; - s,HREF="#(.*)">,HREF="$file/$1.html">,g; + $_ =~ s{HREF="#(.*)">}{ + my $url = "$file/$1.html" ; + $url = Pod::Html::relativize_url( $url, "$file.html" ) + if ( ! defined $opt_htmlroot || $opt_htmlroot eq '' ) ; + "HREF=\"$url\">" ; + }eg; push @data, $_; } close(H); @@ -291,6 +298,8 @@ sub absolute_path { sub create_index { my($html, $dir) = @_; my(@files, @filedata, @index, $file); + my($lcp1,$lcp2); + # get the list of .html files in this directory opendir(DIR, $dir) || @@ -314,17 +323,25 @@ sub create_index { # pull out the NAME section ($name) = grep(/NAME=/, @filedata); - $name =~ m,/H1>\s(\S+)\s[\s-]*(.*?)\s*$,sm; - print HTML qq(); - print HTML "
      $1
      $2\n" if defined $1; -# print HTML qq($1
      \n") if defined $1; + ($lcp1,$lcp2) = ($name =~ m,/H1>\s(\S+)\s[\s-]*(.*?)\s*$,sm); + if (defined $lcp1 and $lcp1 eq '

      ') { # Uninteresting. Try again. + ($lcp1,$lcp2) = ($name =~ m,/H1>\s

      \s(\S+)\s[\s-]*(.*?)\s*$,sm); + } + my $url= "$dir/$file" ; + if ( ! defined $opt_htmlroot || $opt_htmlroot eq '' ) { + $url = Pod::Html::relativize_url( "$dir/$file", $html ) ; + } + + print HTML qq(); + print HTML "

      $lcp1
      $lcp2\n" if defined $lcp1; +# print HTML qq($lcp1
      \n") if defined $lcp1; next; @index = grep(/.*/s, @filedata); for (@index) { - s/(\s*\s*)/$2/s; + s/(\s*\s*)/$lcp2/s; s,#,$dir/$file#,g; # print HTML "$_\n"; print HTML "$_\n


      \n"; @@ -500,7 +517,7 @@ sub installdir { || die "$0: error opening directory $podroot/$dir: $!\n"; # find the directories to recurse on - @dirlist = map { "$dir/$_" } + @dirlist = map { if ($^O eq 'VMS') {/^(.*)\.dir$/i; "$dir/$1";} else {"$dir/$_";}} grep(-d "$podroot/$dir/$_" && !/^\.{1,2}/, readdir(DIR)) if $recurse; rewinddir(DIR); @@ -571,6 +588,7 @@ sub runpod2html { #system("./pod2html", Pod::Html'pod2html( #Pod::Html'pod2html($pod2html, + "--htmldir=$htmldir", "--htmlroot=$htmlroot", "--podpath=".join(":", @podpath), "--podroot=$podroot", "--netscape", diff --git a/gnu/usr.bin/perl/installman b/gnu/usr.bin/perl/installman index 6fa423159fd..c9fb0fe18cb 100644 --- a/gnu/usr.bin/perl/installman +++ b/gnu/usr.bin/perl/installman @@ -10,15 +10,14 @@ use subs qw(unlink chmod rename link); use vars qw($packlist); require Cwd; -umask 022; $ENV{SHELL} = 'sh' if $^O eq 'os2'; -$ver = $]; -$release = substr($ver,0,3); # Not used presently. -$patchlevel = substr($ver,3,2); +$ver = $Config{version}; +$release = substr($],0,3); # Not used presently. +$patchlevel = substr($],3,2); die "Patchlevel of perl ($patchlevel)", - "and patchlevel of config.sh ($Config{'PATCHLEVEL'}) don't match\n" - if $patchlevel != $Config{'PATCHLEVEL'}; + "and patchlevel of config.sh ($Config{'PERL_VERSION'}) don't match\n" + if $patchlevel != $Config{'PERL_VERSION'}; $usage = "Usage: installman --man1dir=/usr/wherever --man1ext=1 @@ -65,14 +64,21 @@ runpod2man('lib', $man3dir, $man3ext); runpod2man('utils', $man1dir, $man1ext, 'c2ph'); runpod2man('utils', $man1dir, $man1ext, 'h2ph'); runpod2man('utils', $man1dir, $man1ext, 'h2xs'); +runpod2man('utils', $man1dir, $man1ext, 'perlcc'); runpod2man('utils', $man1dir, $man1ext, 'perldoc'); runpod2man('utils', $man1dir, $man1ext, 'perlbug'); runpod2man('utils', $man1dir, $man1ext, 'pl2pm'); runpod2man('utils', $man1dir, $man1ext, 'splain'); +runpod2man('utils', $man1dir, $man1ext, 'dprofpp'); runpod2man('x2p', $man1dir, $man1ext, 's2p'); runpod2man('x2p', $man1dir, $man1ext, 'a2p.pod'); +runpod2man('x2p', $man1dir, $man1ext, 'find2perl'); runpod2man('pod', $man1dir, $man1ext, 'pod2man'); runpod2man('pod', $man1dir, $man1ext, 'pod2html'); +runpod2man('pod', $man1dir, $man1ext, 'pod2text'); +runpod2man('pod', $man1dir, $man1ext, 'pod2usage'); +runpod2man('pod', $man1dir, $man1ext, 'podchecker'); +runpod2man('pod', $man1dir, $man1ext, 'podselect'); # It would probably be better to have this page linked # to the c2ph man page. Or, this one could say ".so man1/c2ph.1", @@ -120,7 +126,8 @@ sub runpod2man { # of the pod. This might be useful for pod2man someday. if ($script) { @modpods = ($script); - } else { + } + else { @modpods = (); find(\&lsmodpods, '.'); } @@ -134,18 +141,22 @@ sub runpod2man { # Convert name from File/Basename.pm to File::Basename.3 format, # if necessary. $manpage =~ s#\.p(m|od)$##; - if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'uwin') { + if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'uwin' || $^O eq 'cygwin') { $manpage =~ s#/#.#g; - } else { + } + else { $manpage =~ s#/#::#g; } $tmp = "${mandir}/${manpage}.tmp"; $manpage = "${mandir}/${manpage}.${manext}"; if (&cmd("$pod2man $mod > $tmp") == 0 && !$notify && -s $tmp) { - rename($tmp, $manpage) && next; + if (rename($tmp, $manpage)) { + $packlist->{$manpage} = { type => 'file' }; + next; + } } unless ($notify) { - unlink($tmp); + unlink($tmp); } } chdir "$builddir" || die "Unable to cd back to $builddir directory!\n$!\n"; @@ -190,11 +201,11 @@ sub unlink { my $cnt = 0; foreach $name (@names) { -next unless -e $name; -chmod 0777, $name if $^O eq 'os2'; -print STDERR " unlink $name\n"; -( CORE::unlink($name) and ++$cnt - or warn "Couldn't unlink $name: $!\n" ) unless $notify; + next unless -e $name; + chmod 0777, $name if $^O eq 'os2'; + print STDERR " unlink $name\n"; + ( CORE::unlink($name) and ++$cnt + or warn "Couldn't unlink $name: $!\n" ) unless $notify; } return $cnt; } @@ -211,14 +222,12 @@ sub link { ? die "AFS" # okay inside eval {} : warn "Couldn't link $from to $to: $!\n" unless $notify; - $packlist->{$to} = { type => 'file' }; }; if ($@) { File::Copy::copy($from, $to) ? $success++ : warn "Couldn't copy $from to $to: $!\n" unless $notify; - $packlist->{$to} = { type => 'file' }; } $success; } @@ -226,16 +235,15 @@ sub link { sub rename { local($from,$to) = @_; if (-f $to and not unlink($to)) { -my($i); -for ($i = 1; $i < 50; $i++) { - last if CORE::rename($to, "$to.$i"); -} -warn("Cannot rename to `$to.$i': $!"), return 0 - if $i >= 50; # Give up! + my($i); + for ($i = 1; $i < 50; $i++) { + last if CORE::rename($to, "$to.$i"); + } + warn("Cannot rename to `$to.$i': $!"), return 0 + if $i >= 50; # Give up! } link($from,$to) || return 0; unlink($from); - $packlist->{$to} = { type => 'file' }; } sub chmod { diff --git a/gnu/usr.bin/perl/installperl b/gnu/usr.bin/perl/installperl index ea2669b684f..2d52ae6fa67 100644 --- a/gnu/usr.bin/perl/installperl +++ b/gnu/usr.bin/perl/installperl @@ -1,5 +1,5 @@ #!./perl -# $OpenBSD: installperl,v 1.10 1999/11/23 05:17:20 millert Exp $ +# $OpenBSD: installperl,v 1.11 2000/01/17 07:06:41 fgsch Exp $ # # This is hacked up, in order to support DESTDIR and INSTALL_STRIP. # @@ -12,12 +12,13 @@ BEGIN { } use strict; -use vars qw($Is_VMS $Is_W32 $Is_OS2 $nonono $versiononly $depth); +use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $nonono $dostrip $versiononly $depth); BEGIN { $Is_VMS = $^O eq 'VMS'; $Is_W32 = $^O eq 'MSWin32'; $Is_OS2 = $^O eq 'os2'; + $Is_Cygwin = $^O eq 'cygwin'; if ($Is_VMS) { eval 'use VMS::Filespec;' } } @@ -43,18 +44,26 @@ my $exe_ext = $Config{exe_ext}; # Allow ``make install PERLNAME=something_besides_perl'': my $perl = defined($ENV{PERLNAME}) ? $ENV{PERLNAME} : 'perl'; +# This is the base used for versioned names, like "perl5.6.0". +# It's separate because a common use of $PERLNAME is to install +# perl as "perl5", if that's used as base for versioned files you +# get "perl55.6.0". +my $perl_verbase = defined($ENV{PERLNAME_VERBASE}) + ? $ENV{PERLNAME_VERBASE} + : $perl; + while (@ARGV) { $nonono = 1 if $ARGV[0] eq '-n'; + $dostrip = 1 if $ARGV[0] eq '-s'; $versiononly = 1 if $ARGV[0] eq '-v'; shift; } -umask 022 unless $Is_VMS; - my @scripts = qw(utils/c2ph utils/h2ph utils/h2xs utils/perlbug utils/perldoc - utils/pl2pm utils/splain utils/perlcc + utils/pl2pm utils/splain utils/perlcc utils/dprofpp x2p/s2p x2p/find2perl - pod/pod2man pod/pod2html pod/pod2latex pod/pod2text); + pod/pod2man pod/pod2html pod/pod2latex pod/pod2text + pod/pod2usage pod/podchecker pod/podselect); if ($scr_ext) { @scripts = map { "$_$scr_ext" } @scripts; } @@ -81,18 +90,34 @@ if ((-e "testcompile") && (defined($ENV{'COMPILE'}))) } find(sub { - if ("$File::Find::dir/$_" =~ m{^ext/[^/]+/(.*)\.pm$}) { - (my $pm = $1) =~ s{^lib/}{}; - $archpms{$pm} = 1; + if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) { + my($path, $modname) = ($1,$2); + + # strip trailing component first + $path =~ s{/[^/]*$}{}; + + # strip optional "/lib"; + $path =~ s{/lib\b}{}; + + # strip any leading / + $path =~ s{^/}{}; + + # reconstitute canonical module name + $modname = "$path/$modname" if length $path; + + # remember it + $archpms{$modname} = 1; } }, 'ext'); -my $ver = $]; -my $release = substr($ver,0,3); # Not used presently. -my $patchlevel = substr($ver,3,2); +# print "[$_]\n" for sort keys %archpms; + +my $ver = $Config{version}; +my $release = substr($],0,3); # Not used presently. +my $patchlevel = substr($],3,2); die "Patchlevel of perl ($patchlevel)", - "and patchlevel of config.sh ($Config{'PATCHLEVEL'}) don't match\n" - if $patchlevel != $Config{'PATCHLEVEL'}; + "and patchlevel of config.sh ($Config{'PERL_VERSION'}) don't match\n" + if $patchlevel != $Config{'PERL_VERSION'}; my $installbin; my $installscript; @@ -131,6 +156,7 @@ my $libperl = $Config{libperl}; # Shared library and dynamic loading suffixes. my $so = $Config{so}; my $dlext = $Config{dlext}; +my $dlsrc = $Config{dlsrc}; my $d_dosuid = $Config{d_dosuid}; my $binexp = $Config{binexp}; @@ -160,24 +186,39 @@ if ($d_dosuid && $>) { die "You must run as root to install suidperl\n"; } || warn "WARNING: You've never run 'make test'!!!", " (Installing anyway.)\n"; -if ($Is_W32) { - -my $perldll = 'perl.' . $dlext; -$perldll = 'perlcore.' . $dlext if $Config{'ccflags'} =~ /PERL_OBJECT/i; - --f $perldll || die "No perl DLL built\n"; +if ($Is_W32 or $Is_Cygwin) { + my $perldll; + +if ($Is_Cygwin) { + $perldll = $libperl; + $perldll =~ s/(\..*)?$/.$dlext/; + if ($Config{useshrplib} eq 'true') { + # install ld2 and perlld as well + foreach ('ld2', 'perlld') { + safe_unlink("$installbin/$_"); + copy("$_", "$installbin/$_"); + chmod(0755, "$installbin/$_"); + }; + }; +} else { + $perldll = 'perl56.' . $dlext; +} + if ($dlsrc ne "dl_none.xs") { + -f $perldll || die "No perl DLL built\n"; + } # Install the DLL -safe_unlink("$installbin/$perldll"); -copy("$perldll", "$installbin/$perldll"); -chmod(0755, "$installbin/$perldll"); -} + safe_unlink("$installbin/$perldll"); + copy("$perldll", "$installbin/$perldll"); + chmod(0755, "$installbin/$perldll"); + +} # if ($Is_W32 or $Is_Cygwin) # This will be used to store the packlist my $packlist = ExtUtils::Packlist->new("$installarchlib/.packlist"); -# First we install the version-numbered executables. +# Get the install command from the environment my $installcmd; if (defined($ENV{"INSTALL"})) { $installcmd = $ENV{"INSTALL"} @@ -187,6 +228,7 @@ if (defined($ENV{"INSTALL"})) { $installcmd = "cp"; } +# First we install the version-numbered executables. if ($Is_VMS) { safe_unlink("$installbin/$perl$exe_ext"); copy("perl$exe_ext", "$installbin/$perl$exe_ext"); @@ -206,21 +248,22 @@ elsif ($^O eq 'mpeix') { link($Config{perlpath}, "$installbin/perl$ver$exe_ext"); } elsif ($^O ne 'dos') { - safe_unlink("$installbin/$perl$ver$exe_ext"); - cmd("$installcmd perl$exe_ext $installbin/perl$ver$exe_ext"); - #copy("perl$exe_ext", "$installbin/$perl$ver$exe_ext"); - chmod(0755, "$installbin/$perl$ver$exe_ext"); + safe_unlink("$installbin/$perl_verbase$ver$exe_ext"); + #copy("perl$exe_ext", "$installbin/$perl_verbase$ver$exe_ext"); + cmd("$installcmd perl$exe_ext $installbin/$perl_verbase$ver$exe_ext"); + strip("$installbin/$perl_verbase$ver$exe_ext"); + chmod(0755, "$installbin/$perl_verbase$ver$exe_ext"); } else { safe_unlink("$installbin/$perl.exe"); copy("perl.exe", "$installbin/$perl.exe"); } -safe_unlink("$installbin/s$perl$ver$exe_ext"); +safe_unlink("$installbin/s$perl_verbase$ver$exe_ext"); if ($d_dosuid) { - cmd("$installcmd suidperl$exe_ext $installbin/sperl$ver$exe_ext"); - #copy("suidperl$exe_ext", "$installbin/s$perl$ver$exe_ext"); - chmod(04711, "$installbin/s$perl$ver$exe_ext"); + #copy("suidperl$exe_ext", "$installbin/s$perl_verbase$ver$exe_ext"); + cmd("$installcmd suidperl$exe_ext $installbin/s$perl_verbase$ver$exe_ext"); + chmod(04711, "$installbin/s$perl_verbase$ver$exe_ext"); } # Install library files. @@ -235,7 +278,7 @@ mkpath($installsitearch, 1, 0777) if ($installsitearch); if (chdir "lib") { $do_installarchlib = ! samepath($installarchlib, '.'); $do_installprivlib = ! samepath($installprivlib, '.'); - $do_installprivlib = 0 if $versiononly && !($installprivlib =~ m/\Q$]/); + $do_installprivlib = 0 if $versiononly && !($installprivlib =~ m/\Q$ver/); if ($do_installarchlib || $do_installprivlib) { find(\&installlib, '.'); @@ -250,13 +293,16 @@ else { mkpath("$installarchlib/CORE", 1, 0777); my @corefiles; if ($Is_VMS) { # We did core file selection during build - my $coredir = "lib/$Config{'arch'}/$]"; + my $coredir = "lib/$Config{'arch'}/$ver"; $coredir =~ tr/./_/; - @corefiles = <$coredir/*.*>; + @corefiles = map { s|^$coredir/||i; } <$coredir/*.*>; } else { + # [als] hard-coded 'libperl' name... not good! + #@corefiles = <*.h libperl*.*>; @corefiles = <*.h>; push(@corefiles,) unless defined($ENV{"NOLIBINSTALL"}); + # AIX needs perl.exp installed as well. push(@corefiles,'perl.exp') if $^O eq 'aix'; if ($^O eq 'mpeix') { @@ -270,9 +316,14 @@ else { foreach my $file (@corefiles) { # HP-UX (at least) needs to maintain execute permissions # on dynamically-loadable libraries. So we do it for all. - copy_if_diff($file,"$installarchlib/CORE/$file") - and chmod($file =~ /\.(so|\Q$dlext\E)$/ ? 0555 : 0444, - "$installarchlib/CORE/$file"); + if (copy_if_diff($file,"$installarchlib/CORE/$file")) { + if ($file =~ /\.(\Q$so\E|\Q$dlext\E)$/) { + chmod(0555, "$installarchlib/CORE/$file"); + strip("-S", "$installarchlib/CORE/$file") if $^O =~ /^(rhapsody|darwin)$/; + } else { + chmod(0444, "$installarchlib/CORE/$file"); + } + } } # Install main perl executables @@ -285,9 +336,11 @@ if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VM # We don't want another cloned copy. symlink($Config{perlpath}, "$installbin/perl$exe_ext"); } else { - link("$installbin/$perl$ver$exe_ext", "$installbin/$perl$exe_ext"); + link("$installbin/$perl_verbase$ver$exe_ext", + "$installbin/$perl$exe_ext"); } - link("$installbin/s$perl$ver$exe_ext", "$installbin/suid$perl$exe_ext") + link("$installbin/s$perl_verbase$ver$exe_ext", + "$installbin/suid$perl$exe_ext") if $d_dosuid; } @@ -364,36 +417,39 @@ if (! $versiononly) { if (! $versiononly) { safe_unlink("$installscript/pstruct$scr_ext"); - if ($^O eq 'dos' or $Is_VMS) { + if ($^O eq 'dos' or $Is_VMS or $^O eq 'transit') { copy("$installscript/c2ph$scr_ext", "$installscript/pstruct$scr_ext"); } else { link("$installscript/c2ph$scr_ext", "$installscript/pstruct$scr_ext"); } } -# Install pod pages. Where? I guess in $installprivlib/pod. +# Install pod pages. Where? I guess in $installprivlib/pod +# ($installprivlib/pods for cygwin). -unless ( $versiononly && !($installprivlib =~ m/\Q$]/)) { # as line 200 - mkpath("${installprivlib}/pod", 1, 0777); +my $pod = $Is_Cygwin ? 'pods' : 'pod'; +unless ( $versiononly && !($installprivlib =~ m/\Q$ver/)) { + mkpath("${installprivlib}/$pod", 1, 0777); # If Perl 5.003's perldiag.pod is there, rename it. - if (open POD, "${installprivlib}/pod/perldiag.pod") { + if (open POD, "${installprivlib}/$pod/perldiag.pod") { read POD, $_, 4000; close POD; # Some of Perl 5.003's diagnostic messages ended with periods. if (/^=.*\.$/m) { - my ($from, $to) = ("${installprivlib}/pod/perldiag.pod", - "${installprivlib}/pod/perldiag-5.003.pod"); - print STDERR " rename $from $to"; + my ($from, $to) = ("${installprivlib}/$pod/perldiag.pod", + "${installprivlib}/$pod/perldiag-5.003.pod"); + print " rename $from $to"; rename($from, $to) or warn "Couldn't rename $from to $to: $!\n" unless $nonono; } } - foreach my $file (@pods) { - # $file is a name like pod/perl.pod - copy_if_diff($file, "${installprivlib}/${file}"); + for (@pods) { + # $_ is a name like pod/perl.pod + (my $base = $_) =~ s#.*/##; + copy_if_diff($_, "${installprivlib}/$pod/${base}"); } } @@ -405,7 +461,7 @@ unless ( $versiononly && !($installprivlib =~ m/\Q$]/)) { # as line 200 # installed perl. if (!$versiononly) { - my ($path, @path); + my ($path, @path); my $dirsep = ($Is_OS2 || $Is_W32) ? ';' : ':' ; ($path = $ENV{"PATH"}) =~ s:\\:/:g ; @path = split(/$dirsep/, $path); @@ -417,14 +473,17 @@ if (!$versiononly) { } } my @otherperls; + my %otherperls; for (@path) { next unless m,^/,; # Use &samepath here because some systems have other dirs linked # to $mainperldir (like SunOS) next if samepath($_, $binexp); next if ($mainperl_is_instperl && samepath($_, $mainperldir)); - push(@otherperls, "$_/$perl$exe_ext") - if (-x "$_/$perl$exe_ext" && ! -d "$_/$perl$exe_ext"); + my $otherperl = "$_/$perl$exe_ext"; + next if $otherperls{$otherperl}++; + push(@otherperls, $otherperl) + if (-x $otherperl && ! -d $otherperl); } if (@otherperls) { print STDERR "\nWarning: $perl appears in your path in the following " . @@ -438,7 +497,7 @@ if (!$versiononly) { } $packlist->write() unless $nonono; -print STDERR " Installation complete\n"; +print " Installation complete\n"; exit 0; @@ -448,7 +507,7 @@ sub yn { my($prompt) = @_; my($answer); my($default) = $prompt =~ m/\[([yn])\]\s*$/i; - print STDERR $prompt; + print $prompt; chop($answer = ); $answer = $default if $answer =~ m/^\s*$/; ($answer =~ m/^[yY]/); @@ -462,8 +521,8 @@ sub unlink { foreach my $name (@names) { next unless -e $name; - chmod 0777, $name if ($Is_OS2 || $Is_W32); - print STDERR " unlink $name\n"; + chmod 0777, $name if ($Is_OS2 || $Is_W32 || $Is_Cygwin); + print " unlink $name\n"; ( CORE::unlink($name) and ++$cnt or warn "Couldn't unlink $name: $!\n" ) unless $nonono; } @@ -476,11 +535,11 @@ sub safe_unlink { foreach my $name (@names) { next unless -e $name; chmod 0777, $name if ($Is_OS2 || $Is_W32); - print STDERR " unlink $name\n"; + print " unlink $name\n"; next if CORE::unlink($name); warn "Couldn't unlink $name: $!\n"; if ($! =~ /busy/i) { - print STDERR " mv $name $name.old\n"; + print " mv $name $name.old\n"; safe_rename($name, "$name.old") or warn "Couldn't rename $name: $!\n"; } @@ -505,18 +564,20 @@ sub link { my($from,$to) = @_; my($success) = 0; - print STDERR " ln $from $to\n"; + print " ln $from $to\n"; eval { CORE::link($from, $to) ? $success++ : ($from =~ m#^/afs/# || $to =~ m#^/afs/#) ? die "AFS" # okay inside eval {} - : warn "Couldn't link $from to $to: $!\n" + : die "Couldn't link $from to $to: $!\n" unless $nonono; $packlist->{$to} = { from => $from, type => 'link' }; }; if ($@) { - print STDERR " creating new version of $to\n" if $Is_VMS and -e $to; + warn $@; + print " cp $from $to\n"; + print " creating new version of $to\n" if $Is_VMS and -e $to; File::Copy::copy($from, $to) ? $success++ : warn "Couldn't copy $from to $to: $!\n" @@ -539,7 +600,7 @@ sub chmod { my($mode,$name) = @_; return if ($^O eq 'dos'); - printf STDERR " chmod %o %s\n", $mode, $name; + printf " chmod %o %s\n", $mode, $name; CORE::chmod($mode,$name) || warn sprintf("Couldn't chmod %o %s: $!\n", $mode, $name) unless $nonono; @@ -548,8 +609,8 @@ sub chmod { sub copy { my($from,$to) = @_; - print STDERR " cp $from $to\n"; - print STDERR " creating new version of $to\n" if $Is_VMS and -e $to; + print " cp $from $to\n"; + print " creating new version of $to\n" if $Is_VMS and -e $to; File::Copy::copy($from, $to) || warn "Couldn't copy $from to $to: $!\n" unless $nonono; @@ -579,13 +640,15 @@ sub installlib { my $name = $_; - if ($name eq 'CVS' && -d $name) { + # Ignore RCS and CVS directories. + if (($name eq 'CVS' or $name eq 'RCS') and -d $name) { $File::Find::prune = 1; return; } - # ignore patch backups and the .exists files. - return if $name =~ m{\.orig$|~$|^\.exists}; + # ignore patch backups, RCS files, emacs backup & temp files and the + # .exists files. + return if $name =~ m{\.orig$|~$|^#.+#$|,v$|^\.exists}; $name = "$dir/$name" if $dir ne ''; @@ -635,7 +698,7 @@ sub installlib { sub copy_if_diff { my($from,$to)=@_; return 1 if (($^O eq 'VMS') && (-d $from)); - -f $from || die "$0: $from not found"; + -f $from || warn "$0: $from not found"; $packlist->{$to} = { type => 'file' }; if (compare($from, $to) || $nonono) { safe_unlink($to); # In case we don't have write permissions. @@ -651,3 +714,25 @@ sub copy_if_diff { 1; } } + +sub strip +{ + my(@args) = @_; + + return unless $dostrip; + + my @opts; + while (@args && $args[0] =~ /^(-\w+)$/) { + push @opts, shift @args; + } + + foreach my $file (@args) { + if (-f $file) { + print " strip $file\n"; + system("strip", @opts, $file); + } else { + print "# file '$file' skipped\n"; + } + } +} + diff --git a/gnu/usr.bin/perl/keywords.h b/gnu/usr.bin/perl/keywords.h index e8188311488..334304149f2 100644 --- a/gnu/usr.bin/perl/keywords.h +++ b/gnu/usr.bin/perl/keywords.h @@ -16,235 +16,237 @@ #define KEY_LE 15 #define KEY_LT 16 #define KEY_NE 17 -#define KEY_abs 18 -#define KEY_accept 19 -#define KEY_alarm 20 -#define KEY_and 21 -#define KEY_atan2 22 -#define KEY_bind 23 -#define KEY_binmode 24 -#define KEY_bless 25 -#define KEY_caller 26 -#define KEY_chdir 27 -#define KEY_chmod 28 -#define KEY_chomp 29 -#define KEY_chop 30 -#define KEY_chown 31 -#define KEY_chr 32 -#define KEY_chroot 33 -#define KEY_close 34 -#define KEY_closedir 35 -#define KEY_cmp 36 -#define KEY_connect 37 -#define KEY_continue 38 -#define KEY_cos 39 -#define KEY_crypt 40 -#define KEY_dbmclose 41 -#define KEY_dbmopen 42 -#define KEY_defined 43 -#define KEY_delete 44 -#define KEY_die 45 -#define KEY_do 46 -#define KEY_dump 47 -#define KEY_each 48 -#define KEY_else 49 -#define KEY_elsif 50 -#define KEY_endgrent 51 -#define KEY_endhostent 52 -#define KEY_endnetent 53 -#define KEY_endprotoent 54 -#define KEY_endpwent 55 -#define KEY_endservent 56 -#define KEY_eof 57 -#define KEY_eq 58 -#define KEY_eval 59 -#define KEY_exec 60 -#define KEY_exists 61 -#define KEY_exit 62 -#define KEY_exp 63 -#define KEY_fcntl 64 -#define KEY_fileno 65 -#define KEY_flock 66 -#define KEY_for 67 -#define KEY_foreach 68 -#define KEY_fork 69 -#define KEY_format 70 -#define KEY_formline 71 -#define KEY_ge 72 -#define KEY_getc 73 -#define KEY_getgrent 74 -#define KEY_getgrgid 75 -#define KEY_getgrnam 76 -#define KEY_gethostbyaddr 77 -#define KEY_gethostbyname 78 -#define KEY_gethostent 79 -#define KEY_getlogin 80 -#define KEY_getnetbyaddr 81 -#define KEY_getnetbyname 82 -#define KEY_getnetent 83 -#define KEY_getpeername 84 -#define KEY_getpgrp 85 -#define KEY_getppid 86 -#define KEY_getpriority 87 -#define KEY_getprotobyname 88 -#define KEY_getprotobynumber 89 -#define KEY_getprotoent 90 -#define KEY_getpwent 91 -#define KEY_getpwnam 92 -#define KEY_getpwuid 93 -#define KEY_getservbyname 94 -#define KEY_getservbyport 95 -#define KEY_getservent 96 -#define KEY_getsockname 97 -#define KEY_getsockopt 98 -#define KEY_glob 99 -#define KEY_gmtime 100 -#define KEY_goto 101 -#define KEY_grep 102 -#define KEY_gt 103 -#define KEY_hex 104 -#define KEY_if 105 -#define KEY_index 106 -#define KEY_int 107 -#define KEY_ioctl 108 -#define KEY_join 109 -#define KEY_keys 110 -#define KEY_kill 111 -#define KEY_last 112 -#define KEY_lc 113 -#define KEY_lcfirst 114 -#define KEY_le 115 -#define KEY_length 116 -#define KEY_link 117 -#define KEY_listen 118 -#define KEY_local 119 -#define KEY_localtime 120 -#define KEY_lock 121 -#define KEY_log 122 -#define KEY_lstat 123 -#define KEY_lt 124 -#define KEY_m 125 -#define KEY_map 126 -#define KEY_mkdir 127 -#define KEY_msgctl 128 -#define KEY_msgget 129 -#define KEY_msgrcv 130 -#define KEY_msgsnd 131 -#define KEY_my 132 -#define KEY_ne 133 -#define KEY_next 134 -#define KEY_no 135 -#define KEY_not 136 -#define KEY_oct 137 -#define KEY_open 138 -#define KEY_opendir 139 -#define KEY_or 140 -#define KEY_ord 141 -#define KEY_pack 142 -#define KEY_package 143 -#define KEY_pipe 144 -#define KEY_pop 145 -#define KEY_pos 146 -#define KEY_print 147 -#define KEY_printf 148 -#define KEY_prototype 149 -#define KEY_push 150 -#define KEY_q 151 -#define KEY_qq 152 -#define KEY_qr 153 -#define KEY_quotemeta 154 -#define KEY_qw 155 -#define KEY_qx 156 -#define KEY_rand 157 -#define KEY_read 158 -#define KEY_readdir 159 -#define KEY_readline 160 -#define KEY_readlink 161 -#define KEY_readpipe 162 -#define KEY_recv 163 -#define KEY_redo 164 -#define KEY_ref 165 -#define KEY_rename 166 -#define KEY_require 167 -#define KEY_reset 168 -#define KEY_return 169 -#define KEY_reverse 170 -#define KEY_rewinddir 171 -#define KEY_rindex 172 -#define KEY_rmdir 173 -#define KEY_s 174 -#define KEY_scalar 175 -#define KEY_seek 176 -#define KEY_seekdir 177 -#define KEY_select 178 -#define KEY_semctl 179 -#define KEY_semget 180 -#define KEY_semop 181 -#define KEY_send 182 -#define KEY_setgrent 183 -#define KEY_sethostent 184 -#define KEY_setnetent 185 -#define KEY_setpgrp 186 -#define KEY_setpriority 187 -#define KEY_setprotoent 188 -#define KEY_setpwent 189 -#define KEY_setservent 190 -#define KEY_setsockopt 191 -#define KEY_shift 192 -#define KEY_shmctl 193 -#define KEY_shmget 194 -#define KEY_shmread 195 -#define KEY_shmwrite 196 -#define KEY_shutdown 197 -#define KEY_sin 198 -#define KEY_sleep 199 -#define KEY_socket 200 -#define KEY_socketpair 201 -#define KEY_sort 202 -#define KEY_splice 203 -#define KEY_split 204 -#define KEY_sprintf 205 -#define KEY_sqrt 206 -#define KEY_srand 207 -#define KEY_stat 208 -#define KEY_study 209 -#define KEY_sub 210 -#define KEY_substr 211 -#define KEY_symlink 212 -#define KEY_syscall 213 -#define KEY_sysopen 214 -#define KEY_sysread 215 -#define KEY_sysseek 216 -#define KEY_system 217 -#define KEY_syswrite 218 -#define KEY_tell 219 -#define KEY_telldir 220 -#define KEY_tie 221 -#define KEY_tied 222 -#define KEY_time 223 -#define KEY_times 224 -#define KEY_tr 225 -#define KEY_truncate 226 -#define KEY_uc 227 -#define KEY_ucfirst 228 -#define KEY_umask 229 -#define KEY_undef 230 -#define KEY_unless 231 -#define KEY_unlink 232 -#define KEY_unpack 233 -#define KEY_unshift 234 -#define KEY_untie 235 -#define KEY_until 236 -#define KEY_use 237 -#define KEY_utime 238 -#define KEY_values 239 -#define KEY_vec 240 -#define KEY_wait 241 -#define KEY_waitpid 242 -#define KEY_wantarray 243 -#define KEY_warn 244 -#define KEY_while 245 -#define KEY_write 246 -#define KEY_x 247 -#define KEY_xor 248 -#define KEY_y 249 +#define KEY_CHECK 18 +#define KEY_abs 19 +#define KEY_accept 20 +#define KEY_alarm 21 +#define KEY_and 22 +#define KEY_atan2 23 +#define KEY_bind 24 +#define KEY_binmode 25 +#define KEY_bless 26 +#define KEY_caller 27 +#define KEY_chdir 28 +#define KEY_chmod 29 +#define KEY_chomp 30 +#define KEY_chop 31 +#define KEY_chown 32 +#define KEY_chr 33 +#define KEY_chroot 34 +#define KEY_close 35 +#define KEY_closedir 36 +#define KEY_cmp 37 +#define KEY_connect 38 +#define KEY_continue 39 +#define KEY_cos 40 +#define KEY_crypt 41 +#define KEY_dbmclose 42 +#define KEY_dbmopen 43 +#define KEY_defined 44 +#define KEY_delete 45 +#define KEY_die 46 +#define KEY_do 47 +#define KEY_dump 48 +#define KEY_each 49 +#define KEY_else 50 +#define KEY_elsif 51 +#define KEY_endgrent 52 +#define KEY_endhostent 53 +#define KEY_endnetent 54 +#define KEY_endprotoent 55 +#define KEY_endpwent 56 +#define KEY_endservent 57 +#define KEY_eof 58 +#define KEY_eq 59 +#define KEY_eval 60 +#define KEY_exec 61 +#define KEY_exists 62 +#define KEY_exit 63 +#define KEY_exp 64 +#define KEY_fcntl 65 +#define KEY_fileno 66 +#define KEY_flock 67 +#define KEY_for 68 +#define KEY_foreach 69 +#define KEY_fork 70 +#define KEY_format 71 +#define KEY_formline 72 +#define KEY_ge 73 +#define KEY_getc 74 +#define KEY_getgrent 75 +#define KEY_getgrgid 76 +#define KEY_getgrnam 77 +#define KEY_gethostbyaddr 78 +#define KEY_gethostbyname 79 +#define KEY_gethostent 80 +#define KEY_getlogin 81 +#define KEY_getnetbyaddr 82 +#define KEY_getnetbyname 83 +#define KEY_getnetent 84 +#define KEY_getpeername 85 +#define KEY_getpgrp 86 +#define KEY_getppid 87 +#define KEY_getpriority 88 +#define KEY_getprotobyname 89 +#define KEY_getprotobynumber 90 +#define KEY_getprotoent 91 +#define KEY_getpwent 92 +#define KEY_getpwnam 93 +#define KEY_getpwuid 94 +#define KEY_getservbyname 95 +#define KEY_getservbyport 96 +#define KEY_getservent 97 +#define KEY_getsockname 98 +#define KEY_getsockopt 99 +#define KEY_glob 100 +#define KEY_gmtime 101 +#define KEY_goto 102 +#define KEY_grep 103 +#define KEY_gt 104 +#define KEY_hex 105 +#define KEY_if 106 +#define KEY_index 107 +#define KEY_int 108 +#define KEY_ioctl 109 +#define KEY_join 110 +#define KEY_keys 111 +#define KEY_kill 112 +#define KEY_last 113 +#define KEY_lc 114 +#define KEY_lcfirst 115 +#define KEY_le 116 +#define KEY_length 117 +#define KEY_link 118 +#define KEY_listen 119 +#define KEY_local 120 +#define KEY_localtime 121 +#define KEY_lock 122 +#define KEY_log 123 +#define KEY_lstat 124 +#define KEY_lt 125 +#define KEY_m 126 +#define KEY_map 127 +#define KEY_mkdir 128 +#define KEY_msgctl 129 +#define KEY_msgget 130 +#define KEY_msgrcv 131 +#define KEY_msgsnd 132 +#define KEY_my 133 +#define KEY_ne 134 +#define KEY_next 135 +#define KEY_no 136 +#define KEY_not 137 +#define KEY_oct 138 +#define KEY_open 139 +#define KEY_opendir 140 +#define KEY_or 141 +#define KEY_ord 142 +#define KEY_our 143 +#define KEY_pack 144 +#define KEY_package 145 +#define KEY_pipe 146 +#define KEY_pop 147 +#define KEY_pos 148 +#define KEY_print 149 +#define KEY_printf 150 +#define KEY_prototype 151 +#define KEY_push 152 +#define KEY_q 153 +#define KEY_qq 154 +#define KEY_qr 155 +#define KEY_quotemeta 156 +#define KEY_qw 157 +#define KEY_qx 158 +#define KEY_rand 159 +#define KEY_read 160 +#define KEY_readdir 161 +#define KEY_readline 162 +#define KEY_readlink 163 +#define KEY_readpipe 164 +#define KEY_recv 165 +#define KEY_redo 166 +#define KEY_ref 167 +#define KEY_rename 168 +#define KEY_require 169 +#define KEY_reset 170 +#define KEY_return 171 +#define KEY_reverse 172 +#define KEY_rewinddir 173 +#define KEY_rindex 174 +#define KEY_rmdir 175 +#define KEY_s 176 +#define KEY_scalar 177 +#define KEY_seek 178 +#define KEY_seekdir 179 +#define KEY_select 180 +#define KEY_semctl 181 +#define KEY_semget 182 +#define KEY_semop 183 +#define KEY_send 184 +#define KEY_setgrent 185 +#define KEY_sethostent 186 +#define KEY_setnetent 187 +#define KEY_setpgrp 188 +#define KEY_setpriority 189 +#define KEY_setprotoent 190 +#define KEY_setpwent 191 +#define KEY_setservent 192 +#define KEY_setsockopt 193 +#define KEY_shift 194 +#define KEY_shmctl 195 +#define KEY_shmget 196 +#define KEY_shmread 197 +#define KEY_shmwrite 198 +#define KEY_shutdown 199 +#define KEY_sin 200 +#define KEY_sleep 201 +#define KEY_socket 202 +#define KEY_socketpair 203 +#define KEY_sort 204 +#define KEY_splice 205 +#define KEY_split 206 +#define KEY_sprintf 207 +#define KEY_sqrt 208 +#define KEY_srand 209 +#define KEY_stat 210 +#define KEY_study 211 +#define KEY_sub 212 +#define KEY_substr 213 +#define KEY_symlink 214 +#define KEY_syscall 215 +#define KEY_sysopen 216 +#define KEY_sysread 217 +#define KEY_sysseek 218 +#define KEY_system 219 +#define KEY_syswrite 220 +#define KEY_tell 221 +#define KEY_telldir 222 +#define KEY_tie 223 +#define KEY_tied 224 +#define KEY_time 225 +#define KEY_times 226 +#define KEY_tr 227 +#define KEY_truncate 228 +#define KEY_uc 229 +#define KEY_ucfirst 230 +#define KEY_umask 231 +#define KEY_undef 232 +#define KEY_unless 233 +#define KEY_unlink 234 +#define KEY_unpack 235 +#define KEY_unshift 236 +#define KEY_untie 237 +#define KEY_until 238 +#define KEY_use 239 +#define KEY_utime 240 +#define KEY_values 241 +#define KEY_vec 242 +#define KEY_wait 243 +#define KEY_waitpid 244 +#define KEY_wantarray 245 +#define KEY_warn 246 +#define KEY_while 247 +#define KEY_write 248 +#define KEY_x 249 +#define KEY_xor 250 +#define KEY_y 251 diff --git a/gnu/usr.bin/perl/keywords.pl b/gnu/usr.bin/perl/keywords.pl index f907e3f115c..46dd53d70e9 100644 --- a/gnu/usr.bin/perl/keywords.pl +++ b/gnu/usr.bin/perl/keywords.pl @@ -42,6 +42,7 @@ INIT LE LT NE +CHECK abs accept alarm @@ -166,6 +167,7 @@ open opendir or ord +our pack package pipe diff --git a/gnu/usr.bin/perl/lib/AnyDBM_File.pm b/gnu/usr.bin/perl/lib/AnyDBM_File.pm index aff3c7cdec9..58ffda768e2 100644 --- a/gnu/usr.bin/perl/lib/AnyDBM_File.pm +++ b/gnu/usr.bin/perl/lib/AnyDBM_File.pm @@ -1,7 +1,7 @@ package AnyDBM_File; -use vars qw(@ISA); -@ISA = qw(NDBM_File DB_File GDBM_File SDBM_File ODBM_File) unless @ISA; +use 5.005_64; +our @ISA = qw(NDBM_File DB_File GDBM_File SDBM_File ODBM_File) unless @ISA; my $mod; for $mod (@ISA) { @@ -87,6 +87,6 @@ By default, but can be redefined. =head1 SEE ALSO -dbm(3), ndbm(3), DB_File(3) +dbm(3), ndbm(3), DB_File(3), L =cut diff --git a/gnu/usr.bin/perl/lib/AutoLoader.pm b/gnu/usr.bin/perl/lib/AutoLoader.pm index 5b083a78944..8fd7d3b8fe2 100644 --- a/gnu/usr.bin/perl/lib/AutoLoader.pm +++ b/gnu/usr.bin/perl/lib/AutoLoader.pm @@ -1,20 +1,23 @@ package AutoLoader; -use vars qw(@EXPORT @EXPORT_OK); +use 5.005_64; +our(@EXPORT, @EXPORT_OK, $VERSION); my $is_dosish; my $is_vms; BEGIN { require Exporter; - @EXPORT = (); - @EXPORT_OK = qw(AUTOLOAD); + @EXPORT = @EXPORT = (); + @EXPORT_OK = @EXPORT_OK = qw(AUTOLOAD); $is_dosish = $^O eq 'dos' || $^O eq 'os2' || $^O eq 'MSWin32'; $is_vms = $^O eq 'VMS'; + $VERSION = '5.57'; } AUTOLOAD { - my $name; + my $sub = $AUTOLOAD; + my $filename; # Braces used to preserve $1 et al. { # Try to find the autoloaded file from the package-qualified @@ -30,10 +33,10 @@ AUTOLOAD { # In this case, we simple prepend the 'auto/' and let the # C take care of the searching for us. - my ($pkg,$func) = $AUTOLOAD =~ /(.*)::([^:]+)$/; + my ($pkg,$func) = ($sub =~ /(.*)::([^:]+)$/); $pkg =~ s#::#/#g; - if (defined($name=$INC{"$pkg.pm"})) { - $name =~ s#^(.*)$pkg\.pm$#$1auto/$pkg/$func.al#; + if (defined($filename = $INC{"$pkg.pm"})) { + $filename =~ s#^(.*)$pkg\.pm\z#$1auto/$pkg/$func.al#s; # if the file exists, then make sure that it is a # a fully anchored path (i.e either '/usr/lib/auto/foo/bar.al', @@ -41,45 +44,45 @@ AUTOLOAD { # (and failing) to find the 'lib/auto/foo/bar.al' because it # looked for 'lib/lib/auto/foo/bar.al', given @INC = ('lib'). - if (-r $name) { - unless ($name =~ m|^/|) { + if (-r $filename) { + unless ($filename =~ m|^/|s) { if ($is_dosish) { - unless ($name =~ m{^([a-z]:)?[\\/]}i) { - $name = "./$name"; + unless ($filename =~ m{^([a-z]:)?[\\/]}is) { + $filename = "./$filename"; } } elsif ($is_vms) { - # XXX todo by VMSmiths - $name = "./$name"; + # XXX todo by VMSmiths + $filename = "./$filename"; } else { - $name = "./$name"; + $filename = "./$filename"; } } } else { - $name = undef; + $filename = undef; } } - unless (defined $name) { + unless (defined $filename) { # let C do the searching - $name = "auto/$AUTOLOAD.al"; - $name =~ s#::#/#g; + $filename = "auto/$sub.al"; + $filename =~ s#::#/#g; } } my $save = $@; - eval { local $SIG{__DIE__}; require $name }; + eval { local $SIG{__DIE__}; require $filename }; if ($@) { - if (substr($AUTOLOAD,-9) eq '::DESTROY') { - *$AUTOLOAD = sub {}; + if (substr($sub,-9) eq '::DESTROY') { + *$sub = sub {}; } else { # The load might just have failed because the filename was too # long for some old SVR3 systems which treat long names as errors. # If we can succesfully truncate a long name then it's worth a go. # There is a slight risk that we could pick up the wrong file here # but autosplit should have warned about that when splitting. - if ($name =~ s/(\w{12,})\.al$/substr($1,0,11).".al"/e){ - eval {local $SIG{__DIE__};require $name}; + if ($filename =~ s/(\w{12,})\.al$/substr($1,0,11).".al"/e){ + eval { local $SIG{__DIE__}; require $filename }; } if ($@){ $@ =~ s/ at .*\n//; @@ -90,7 +93,7 @@ AUTOLOAD { } } $@ = $save; - goto &$AUTOLOAD; + goto &$sub; } sub import { @@ -101,7 +104,10 @@ sub import { # Export symbols, but not by accident of inheritance. # - Exporter::export $pkg, $callpkg, @_ if $pkg eq 'AutoLoader'; + if ($pkg eq 'AutoLoader') { + local $Exporter::ExportLevel = 1; + Exporter::import $pkg, @_; + } # # Try to find the autosplit index file. Eg., if the call package @@ -219,20 +225,20 @@ lines: use Carp; sub AUTOLOAD { - my $constname; - ($constname = $AUTOLOAD) =~ s/.*:://; + my $sub = $AUTOLOAD; + (my $constname = $sub) =~ s/.*:://; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { - if ($! =~ /Invalid/) { - $AutoLoader::AUTOLOAD = $AUTOLOAD; + if ($! =~ /Invalid/ || $!{EINVAL}) { + $AutoLoader::AUTOLOAD = $sub; goto &AutoLoader::AUTOLOAD; } else { croak "Your vendor has not defined constant $constname"; } } - *$AUTOLOAD = sub { $val }; # same as: eval "sub $AUTOLOAD { $val }"; - goto &$AUTOLOAD; + *$sub = sub { $val }; # same as: eval "sub $sub { $val }"; + goto &$sub; } If any module's own AUTOLOAD subroutine has no need to fallback to the diff --git a/gnu/usr.bin/perl/lib/AutoSplit.pm b/gnu/usr.bin/perl/lib/AutoSplit.pm index f8183714d7d..0be3ae6765a 100644 --- a/gnu/usr.bin/perl/lib/AutoSplit.pm +++ b/gnu/usr.bin/perl/lib/AutoSplit.pm @@ -1,17 +1,16 @@ package AutoSplit; +use 5.005_64; use Exporter (); use Config qw(%Config); use Carp qw(carp); use File::Basename (); use File::Path qw(mkpath); use strict; -use vars qw( - $VERSION @ISA @EXPORT @EXPORT_OK - $Verbose $Keep $Maxlen $CheckForAutoloader $CheckModTime - ); +our($VERSION, @ISA, @EXPORT, @EXPORT_OK, $Verbose, $Keep, $Maxlen, + $CheckForAutoloader, $CheckModTime); -$VERSION = "1.0303"; +$VERSION = "1.0305"; @ISA = qw(Exporter); @EXPORT = qw(&autosplit &autosplit_lib_modules); @EXPORT_OK = qw($Verbose $Keep $Maxlen $CheckForAutoloader $CheckModTime); @@ -147,6 +146,13 @@ if (defined (&Dos::UseLFN)) { } my $Is_VMS = ($^O eq 'VMS'); +# allow checking for valid ': attrlist' attachments +my $nested; +$nested = qr{ \( (?: (?> [^()]+ ) | (??{ $nested }) )* \) }x; +my $one_attr = qr{ (?> (?! \d) \w+ (?:$nested)? ) (?:\s*\:\s*|\s+(?!\:)) }x; +my $attr_list = qr{ \s* : \s* (?: $one_attr )* }x; + + sub autosplit{ my($file, $autodir, $keep, $ckal, $ckmt) = @_; @@ -169,10 +175,10 @@ sub autosplit_lib_modules{ while(defined($_ = shift @modules)){ s#::#/#g; # incase specified as ABC::XYZ s|\\|/|g; # bug in ksh OS/2 - s#^lib/##; # incase specified as lib/*.pm + s#^lib/##s; # incase specified as lib/*.pm if ($Is_VMS && /[:>\]]/) { # may need to convert VMS-style filespecs - my ($dir,$name) = (/(.*])(.*)/); - $dir =~ s/.*lib[\.\]]//; + my ($dir,$name) = (/(.*])(.*)/s); + $dir =~ s/.*lib[\.\]]//s; $dir =~ s#[\.\]]#/#g; $_ = $dir . $name; } @@ -195,7 +201,7 @@ sub autosplit_file { # where to write output files $autodir ||= "lib/auto"; if ($Is_VMS) { - ($autodir = VMS::Filespec::unixpath($autodir)) =~ s|/$||; + ($autodir = VMS::Filespec::unixpath($autodir)) =~ s|/\z||; $filename = VMS::Filespec::unixify($filename); # may have dirs } unless (-d $autodir){ @@ -209,7 +215,7 @@ sub autosplit_file { } # allow just a package name to be used - $filename .= ".pm" unless ($filename =~ m/\.pm$/); + $filename .= ".pm" unless ($filename =~ m/\.pm\z/); open(IN, "<$filename") or die "AutoSplit: Can't open $filename: $!\n"; my($pm_mod_time) = (stat($filename))[9]; @@ -280,7 +286,7 @@ sub autosplit_file { $last_package = ''; while () { $fnr++; - $in_pod = 1 if /^=/; + $in_pod = 1 if /^=\w/; $in_pod = 0 if /^=cut/; next if ($in_pod || /^=cut/); # the following (tempting) old coding gives big troubles if a @@ -289,7 +295,7 @@ sub autosplit_file { if (/^package\s+([\w:]+)\s*;/) { $this_package = $def_package = $1; } - if (/^sub\s+([\w:]+)(\s*\(.*?\))?/) { + if (/^sub\s+([\w:]+)(\s*(?:\(.*?\))?(?:$attr_list)?)/) { print OUT "# end of $last_package\::$subname\n1;\n" if $last_package; $subname = $1; @@ -346,8 +352,10 @@ EOT } $last_package = $this_package if defined $this_package; } - print OUT @cache,"1;\n# end of $last_package\::$subname\n"; - close(OUT); + if ($subname) { + print OUT @cache,"1;\n# end of $last_package\::$subname\n"; + close(OUT); + } close(IN); if (!$keep){ # don't keep any obsolete *.al files in the directory @@ -370,7 +378,7 @@ EOT for my $dir (keys %outdirs) { opendir(OUTDIR,$dir); foreach (sort readdir(OUTDIR)){ - next unless /\.al$/; + next unless /\.al\z/; my($file) = "$dir/$_"; $file = lc $file if $Is83 or $Is_VMS; next if $outfiles{$file}; @@ -459,3 +467,6 @@ sub test6 { return join ":", __FILE__,__LINE__; } package Yet::Another::AutoSplit; sub testtesttesttest4_1 ($) { "another test 4\n"; } sub testtesttesttest4_2 ($$) { "another duplicate test 4\n"; } +package Yet::More::Attributes; +sub test_a1 ($) : locked :locked { 1; } +sub test_a2 : locked { 1; } diff --git a/gnu/usr.bin/perl/lib/Benchmark.pm b/gnu/usr.bin/perl/lib/Benchmark.pm index ef12d02fcbc..3c10a5bc523 100644 --- a/gnu/usr.bin/perl/lib/Benchmark.pm +++ b/gnu/usr.bin/perl/lib/Benchmark.pm @@ -2,13 +2,7 @@ package Benchmark; =head1 NAME -Benchmark - benchmark running times of code - -timethis - run a chunk of code several times - -timethese - run several chunks of code several times - -timeit - run a chunk of code and see how long it goes +Benchmark - benchmark running times of Perl code =head1 SYNOPSIS @@ -26,14 +20,50 @@ timeit - run a chunk of code and see how long it goes 'Name2' => sub { ...code2... }, }); + # cmpthese can be used both ways as well + cmpthese($count, { + 'Name1' => '...code1...', + 'Name2' => '...code2...', + }); + + cmpthese($count, { + 'Name1' => sub { ...code1... }, + 'Name2' => sub { ...code2... }, + }); + + # ...or in two stages + $results = timethese($count, + { + 'Name1' => sub { ...code1... }, + 'Name2' => sub { ...code2... }, + }, + 'none' + ); + cmpthese( $results ) ; + $t = timeit($count, '...other code...') print "$count loops of other code took:",timestr($t),"\n"; + $t = countit($time, '...other code...') + $count = $t->iters ; + print "$count loops of other code took:",timestr($t),"\n"; + =head1 DESCRIPTION The Benchmark module encapsulates a number of routines to help you figure out how long it takes to execute some code. +timethis - run a chunk of code several times + +timethese - run several chunks of code several times + +cmpthese - print results of timethese as a comparison chart + +timeit - run a chunk of code and see how long it goes + +countit - see how many times a chunk of code runs in a given time + + =head2 Methods =over 10 @@ -57,6 +87,10 @@ Enables or disable debugging by setting the C<$Benchmark::Debug> flag: $t = timeit(10, ' 5 ** $Global '); debug Benchmark 0; +=item iters + +Returns the number of iterations. + =back =head2 Standard Exports @@ -119,28 +153,26 @@ The routines are called in string comparison order of KEY. The COUNT can be zero or negative, see timethis(). +Returns a hash of Benchmark objects, keyed by name. + =item timediff ( T1, T2 ) Returns the difference between two Benchmark times as a Benchmark object suitable for passing to timestr(). -=item timesum ( T1, T2 ) - -Returns the sum of two Benchmark times as a Benchmark object suitable -for passing to timestr(). - =item timestr ( TIMEDIFF, [ STYLE, [ FORMAT ] ] ) Returns a string that formats the times in the TIMEDIFF object in the requested STYLE. TIMEDIFF is expected to be a Benchmark object similar to that returned by timediff(). -STYLE can be any of 'all', 'noc', 'nop' or 'auto'. 'all' shows each -of the 5 times available ('wallclock' time, user time, system time, +STYLE can be any of 'all', 'none', 'noc', 'nop' or 'auto'. 'all' shows +each of the 5 times available ('wallclock' time, user time, system time, user time of children, and system time of children). 'noc' shows all except the two children times. 'nop' shows only wallclock and the two children times. 'auto' (the default) will act as 'all' unless the children times are both zero, in which case it acts as 'noc'. +'none' prevents output. FORMAT is the L-style format specifier (without the leading '%') to use to print the times. It defaults to '5.2f'. @@ -162,6 +194,34 @@ Clear the cached time for COUNT rounds of the null loop. Clear all cached times. +=item cmpthese ( COUT, CODEHASHREF, [ STYLE ] ) + +=item cmpthese ( RESULTSHASHREF ) + +Optionally calls timethese(), then outputs comparison chart. This +chart is sorted from slowest to fastest, and shows the percent +speed difference between each pair of tests. Can also be passed +the data structure that timethese() returns: + + $results = timethese( .... ); + cmpthese( $results ); + +Returns the data structure returned by timethese() (or passed in). + +=item countit(TIME, CODE) + +Arguments: TIME is the minimum length of time to run CODE for, and CODE is +the code to run. CODE may be either a code reference or a string to +be eval'd; either way it will be run in the caller's package. + +TIME is I negative. countit() will run the loop many times to +calculate the speed of CODE before running it for TIME. The actual +time run for will usually be greater than TIME due to system clock +resolution, so it's best to look at the number of iterations divided +by the times that you are concerned with, not just the iterations. + +Returns: a Benchmark object. + =item disablecache ( ) Disable caching of timings for the null loop. This will force Benchmark @@ -173,6 +233,11 @@ Enable caching of timings for the null loop. The time taken for COUNT rounds of the null loop will be calculated only once for each different COUNT used. +=item timesum ( T1, T2 ) + +Returns the sum of two Benchmark times as a Benchmark object suitable +for passing to timestr(). + =back =head1 NOTES @@ -180,7 +245,7 @@ different COUNT used. The data is stored as a list of values from the time and times functions: - ($real, $user, $system, $children_user, $children_system) + ($real, $user, $system, $children_user, $children_system, $iters) in seconds for the whole loop (not divided by the number of rounds). @@ -192,7 +257,7 @@ The time of the null loop (a loop with the same number of rounds but empty loop body) is subtracted from the time of the real loop. -The null loop times are cached, the key being the +The null loop times can be cached, the key being the number of rounds. The caching can be controlled using calls like these: @@ -202,6 +267,38 @@ calls like these: disablecache(); enablecache(); +Caching is off by default, as it can (usually slightly) decrease +accuracy and does not usually noticably affect runtimes. + +=head1 EXAMPLES + +For example, + + use Benchmark;$x=3;cmpthese(-5,{a=>sub{$x*$x},b=>sub{$x**2}}) + +outputs something like this: + + Benchmark: running a, b, each for at least 5 CPU seconds... + a: 10 wallclock secs ( 5.14 usr + 0.13 sys = 5.27 CPU) @ 3835055.60/s (n=20210743) + b: 5 wallclock secs ( 5.41 usr + 0.00 sys = 5.41 CPU) @ 1574944.92/s (n=8520452) + Rate b a + b 1574945/s -- -59% + a 3835056/s 144% -- + +while + + use Benchmark; + $x=3; + $r=timethese(-5,{a=>sub{$x*$x},b=>sub{$x**2}},'none'); + cmpthese($r); + +outputs something like this: + + Rate b a + b 1559428/s -- -62% + a 4152037/s 166% -- + + =head1 INHERITANCE Benchmark inherits from no other class, except of course @@ -210,7 +307,7 @@ for Exporter. =head1 CAVEATS Comparing eval'd strings with code references will give you -inaccurate results: a code reference will show a slower +inaccurate results: a code reference will show a slightly slower execution time than the equivalent eval'd string. The real time timing is done using time(2) and @@ -226,6 +323,10 @@ The system time of the null loop might be slightly more than the system time of the loop with the actual code and therefore the difference might end up being E 0. +=head1 SEE ALSO + +L - a Perl code profiler + =head1 AUTHORS Jarkko Hietaniemi >, Tim Bunce > @@ -241,6 +342,10 @@ documentation. April 04-07th, 1997: by Jarkko Hietaniemi, added the run-for-some-time functionality. +September, 1999; by Barrie Slaymaker: math fixes and accuracy and +efficiency tweaks. Added cmpthese(). A result is now returned from +timethese(). Exposed countit() (was runfor()). + =cut # evaluate something in a clean lexical environment @@ -254,7 +359,10 @@ use Carp; use Exporter; @ISA=(Exporter); @EXPORT=qw(timeit timethis timethese timediff timestr); -@EXPORT_OK=qw(clearcache clearallcache disablecache enablecache); +@EXPORT_OK=qw(timesum cmpthese countit + clearcache clearallcache disablecache enablecache); + +$VERSION = 1.00; &init; @@ -273,7 +381,9 @@ sub init { sub debug { $debug = ($_[1] != 0); } -sub clearcache { delete $cache{$_[0]}; } +# The cache needs two branches: 's' for strings and 'c' for code. The +# emtpy loop is different in these two cases. +sub clearcache { delete $cache{"$_[0]c"}; delete $cache{"$_[0]s"}; } sub clearallcache { %cache = (); } sub enablecache { $cache = 1; } sub disablecache { $cache = 0; } @@ -288,6 +398,7 @@ sub cpu_p { my($r,$pu,$ps,$cu,$cs) = @{$_[0]}; $pu+$ps ; } sub cpu_c { my($r,$pu,$ps,$cu,$cs) = @{$_[0]}; $cu+$cs ; } sub cpu_a { my($r,$pu,$ps,$cu,$cs) = @{$_[0]}; $pu+$ps+$cu+$cs ; } sub real { my($r,$pu,$ps,$cu,$cs) = @{$_[0]}; $r ; } +sub iters { $_[0]->[5] ; } sub timediff { my($a, $b) = @_; @@ -312,19 +423,19 @@ sub timestr { my @t = @$tr; warn "bad time value (@t)" unless @t==6; my($r, $pu, $ps, $cu, $cs, $n) = @t; - my($pt, $ct, $t) = ($tr->cpu_p, $tr->cpu_c, $tr->cpu_a); + my($pt, $ct, $tt) = ($tr->cpu_p, $tr->cpu_c, $tr->cpu_a); $f = $defaultfmt unless defined $f; # format a time in the required style, other formats may be added here $style ||= $defaultstyle; $style = ($ct>0) ? 'all' : 'noc' if $style eq 'auto'; my $s = "@t $style"; # default for unknown style $s=sprintf("%2d wallclock secs (%$f usr %$f sys + %$f cusr %$f csys = %$f CPU)", - @t,$t) if $style eq 'all'; + $r,$pu,$ps,$cu,$cs,$tt) if $style eq 'all'; $s=sprintf("%2d wallclock secs (%$f usr + %$f sys = %$f CPU)", $r,$pu,$ps,$pt) if $style eq 'noc'; $s=sprintf("%2d wallclock secs (%$f cusr + %$f csys = %$f CPU)", $r,$cu,$cs,$ct) if $style eq 'nop'; - $s .= sprintf(" @ %$f/s (n=$n)", $n / ( $pu + $ps )) if $n; + $s .= sprintf(" @ %$f/s (n=$n)", $n / ( $pu + $ps )) if $n && $pu+$ps; $s; } @@ -362,11 +473,17 @@ sub runloop { croak "runloop unable to compile '$c': $@\ncode: $subcode\n" if $@; print STDERR "runloop $n '$subcode'\n" if $debug; - $t0 = Benchmark->new(0); + # Wait for the user timer to tick. This makes the error range more like + # -0.01, +0. If we don't wait, then it's more like -0.01, +0.01. This + # may not seem important, but it significantly reduces the chances of + # getting a too low initial $n in the initial, 'find the minimum' loop + # in &countit. This, in turn, can reduce the number of calls to + # &runloop a lot, and thus reduce additive errors. + my $tbase = Benchmark->new(0)->[1]; + while ( ( $t0 = Benchmark->new(0) )->[1] == $tbase ) {} ; &$subref; $t1 = Benchmark->new($n); $td = &timediff($t1, $t0); - timedebug("runloop:",$td); $td; } @@ -377,18 +494,20 @@ sub timeit { my($wn, $wc, $wd); printf STDERR "timeit $n $code\n" if $debug; - - if ($cache && exists $cache{$n}) { - $wn = $cache{$n}; + my $cache_key = $n . ( ref( $code ) ? 'c' : 's' ); + if ($cache && exists $cache{$cache_key} ) { + $wn = $cache{$cache_key}; } else { - $wn = &runloop($n, ''); - $cache{$n} = $wn; + $wn = &runloop($n, ref( $code ) ? sub { undef } : '' ); + # Can't let our baseline have any iterations, or they get subtracted + # out of the result. + $wn->[5] = 0; + $cache{$cache_key} = $wn; } $wc = &runloop($n, $code); $wd = timediff($wc, $wn); - timedebug("timeit: ",$wc); timedebug(" - ",$wn); timedebug(" = ",$wd); @@ -400,8 +519,9 @@ sub timeit { my $default_for = 3; my $min_for = 0.1; -sub runfor { - my ($code, $tmax) = @_; + +sub countit { + my ( $tmax, $code ) = @_; if ( not defined $tmax or $tmax == 0 ) { $tmax = $default_for; @@ -409,53 +529,61 @@ sub runfor { $tmax = -$tmax; } - die "runfor(..., $tmax): timelimit cannot be less than $min_for.\n" + die "countit($tmax, ...): timelimit cannot be less than $min_for.\n" if $tmax < $min_for; - my ($n, $td, $tc, $ntot, $rtot, $utot, $stot, $cutot, $cstot ); - - # First find the minimum $n that gives a non-zero timing. - - my $nmin; + my ($n, $tc); - for ($n = 1, $tc = 0; $tc <= 0; $n *= 2 ) { - $td = timeit($n, $code); + # First find the minimum $n that gives a significant timing. + for ($n = 1; ; $n *= 2 ) { + my $td = timeit($n, $code); $tc = $td->[1] + $td->[2]; + last if $tc > 0.1; } - $nmin = $n; - - my $ttot = 0; - my $tpra = 0.05 * $tmax; # Target/time practice. + my $nmin = $n; + + # Get $n high enough that we can guess the final $n with some accuracy. + my $tpra = 0.1 * $tmax; # Target/time practice. + while ( $tc < $tpra ) { + # The 5% fudge is to keep us from iterating again all + # that often (this speeds overall responsiveness when $tmax is big + # and we guess a little low). This does not noticably affect + # accuracy since we're not couting these times. + $n = int( $tpra * 1.05 * $n / $tc ); # Linear approximation. + my $td = timeit($n, $code); + $tc = $td->[1] + $td->[2]; + } - # Double $n until we have think we have practiced enough. - for ( $n = 1; $ttot < $tpra; $n *= 2 ) { - $td = timeit($n, $code); - $tc = $td->cpu_p; - $ntot += $n; - $rtot += $td->[0]; - $utot += $td->[1]; - $stot += $td->[2]; - $ttot = $utot + $stot; + # Now, do the 'for real' timing(s), repeating until we exceed + # the max. + my $ntot = 0; + my $rtot = 0; + my $utot = 0.0; + my $stot = 0.0; + my $cutot = 0.0; + my $cstot = 0.0; + my $ttot = 0.0; + + # The 5% fudge is because $n is often a few % low even for routines + # with stable times and avoiding extra timeit()s is nice for + # accuracy's sake. + $n = int( $n * ( 1.05 * $tmax / $tc ) ); + + while () { + my $td = timeit($n, $code); + $ntot += $n; + $rtot += $td->[0]; + $utot += $td->[1]; + $stot += $td->[2]; $cutot += $td->[3]; $cstot += $td->[4]; - } - - my $r; + $ttot = $utot + $stot; + last if $ttot >= $tmax; - # Then iterate towards the $tmax. - while ( $ttot < $tmax ) { - $r = $tmax / $ttot - 1; # Linear approximation. - $n = int( $r * $n ); + my $r = $tmax / $ttot - 1; # Linear approximation. + $n = int( $r * $ntot ); $n = $nmin if $n < $nmin; - $td = timeit($n, $code); - $ntot += $n; - $rtot += $td->[0]; - $utot += $td->[1]; - $stot += $td->[2]; - $ttot = $utot + $stot; - $cutot += $td->[3]; - $cstot += $td->[4]; } return bless [ $rtot, $utot, $stot, $cutot, $cstot, $ntot ]; @@ -478,14 +606,14 @@ sub timethis{ $title = "timethis $n" unless defined $title; } else { $fort = n_to_for( $n ); - $t = runfor($code, $fort); + $t = countit( $fort, $code ); $title = "timethis for $fort" unless defined $title; $forn = $t->[-1]; } local $| = 1; $style = "" unless defined $style; - printf("%10s: ", $title); - print timestr($t, $style, $defaultfmt),"\n"; + printf("%10s: ", $title) unless $style eq 'none'; + print timestr($t, $style, $defaultfmt),"\n" unless $style eq 'none'; $n = $forn if defined $forn; @@ -505,25 +633,163 @@ sub timethese{ unless ref $alt eq HASH; my @names = sort keys %$alt; $style = "" unless defined $style; - print "Benchmark: "; + print "Benchmark: " unless $style eq 'none'; if ( $n > 0 ) { croak "non-integer loopcount $n, stopped" if int($n)<$n; - print "timing $n iterations of"; + print "timing $n iterations of" unless $style eq 'none'; } else { - print "running"; + print "running" unless $style eq 'none'; } - print " ", join(', ',@names); + print " ", join(', ',@names) unless $style eq 'none'; unless ( $n > 0 ) { my $for = n_to_for( $n ); - print ", each for at least $for CPU seconds"; + print ", each for at least $for CPU seconds" unless $style eq 'none'; } - print "...\n"; + print "...\n" unless $style eq 'none'; # we could save the results in an array and produce a summary here # sum, min, max, avg etc etc + my %results; foreach my $name (@names) { - timethis ($n, $alt -> {$name}, $name, $style); + $results{$name} = timethis ($n, $alt -> {$name}, $name, $style); + } + + return \%results; +} + +sub cmpthese{ + my $results = ref $_[0] ? $_[0] : timethese( @_ ); + + return $results + if defined $_[2] && $_[2] eq 'none'; + + # Flatten in to an array of arrays with the name as the first field + my @vals = map{ [ $_, @{$results->{$_}} ] } keys %$results; + + for (@vals) { + # The epsilon fudge here is to prevent div by 0. Since clock + # resolutions are much larger, it's below the noise floor. + my $rate = $_->[6] / ( $_->[2] + $_->[3] + 0.000000000000001 ); + $_->[7] = $rate; + } + + # Sort by rate + @vals = sort { $a->[7] <=> $b->[7] } @vals; + + # If more than half of the rates are greater than one... + my $display_as_rate = $vals[$#vals>>1]->[7] > 1; + + my @rows; + my @col_widths; + + my @top_row = ( + '', + $display_as_rate ? 'Rate' : 's/iter', + map { $_->[0] } @vals + ); + + push @rows, \@top_row; + @col_widths = map { length( $_ ) } @top_row; + + # Build the data rows + # We leave the last column in even though it never has any data. Perhaps + # it should go away. Also, perhaps a style for a single column of + # percentages might be nice. + for my $row_val ( @vals ) { + my @row; + + # Column 0 = test name + push @row, $row_val->[0]; + $col_widths[0] = length( $row_val->[0] ) + if length( $row_val->[0] ) > $col_widths[0]; + + # Column 1 = performance + my $row_rate = $row_val->[7]; + + # We assume that we'll never get a 0 rate. + my $a = $display_as_rate ? $row_rate : 1 / $row_rate; + + # Only give a few decimal places before switching to sci. notation, + # since the results aren't usually that accurate anyway. + my $format = + $a >= 100 ? + "%0.0f" : + $a >= 10 ? + "%0.1f" : + $a >= 1 ? + "%0.2f" : + $a >= 0.1 ? + "%0.3f" : + "%0.2e"; + + $format .= "/s" + if $display_as_rate; + # Using $b here due to optimizing bug in _58 through _61 + my $b = sprintf( $format, $a ); + push @row, $b; + $col_widths[1] = length( $b ) + if length( $b ) > $col_widths[1]; + + # Columns 2..N = performance ratios + my $skip_rest = 0; + for ( my $col_num = 0 ; $col_num < @vals ; ++$col_num ) { + my $col_val = $vals[$col_num]; + my $out; + if ( $skip_rest ) { + $out = ''; + } + elsif ( $col_val->[0] eq $row_val->[0] ) { + $out = "--"; + # $skip_rest = 1; + } + else { + my $col_rate = $col_val->[7]; + $out = sprintf( "%.0f%%", 100*$row_rate/$col_rate - 100 ); + } + push @row, $out; + $col_widths[$col_num+2] = length( $out ) + if length( $out ) > $col_widths[$col_num+2]; + + # A little wierdness to set the first column width properly + $col_widths[$col_num+2] = length( $col_val->[0] ) + if length( $col_val->[0] ) > $col_widths[$col_num+2]; + } + push @rows, \@row; } + + # Equalize column widths in the chart as much as possible without + # exceeding 80 characters. This does not use or affect cols 0 or 1. + my @sorted_width_refs = + sort { $$a <=> $$b } map { \$_ } @col_widths[2..$#col_widths]; + my $max_width = ${$sorted_width_refs[-1]}; + + my $total = @col_widths - 1 ; + for ( @col_widths ) { $total += $_ } + + STRETCHER: + while ( $total < 80 ) { + my $min_width = ${$sorted_width_refs[0]}; + last + if $min_width == $max_width; + for ( @sorted_width_refs ) { + last + if $$_ > $min_width; + ++$$_; + ++$total; + last STRETCHER + if $total >= 80; + } + } + + # Dump the output + my $format = join( ' ', map { "%${_}s" } @col_widths ) . "\n"; + substr( $format, 1, 0 ) = '-'; + for ( @rows ) { + printf $format, @$_; + } + + return $results; } + 1; diff --git a/gnu/usr.bin/perl/lib/CGI.pm b/gnu/usr.bin/perl/lib/CGI.pm index f94b2dff9a1..dc77bc8e042 100644 --- a/gnu/usr.bin/perl/lib/CGI.pm +++ b/gnu/usr.bin/perl/lib/CGI.pm @@ -17,8 +17,8 @@ require 5.004; # The most recent version and complete docs are available at: # http://stein.cshl.org/WWW/software/CGI/ -$CGI::revision = '$Id: CGI.pm,v 1.2 1999/04/29 22:51:41 millert Exp $'; -$CGI::VERSION='2.46'; +$CGI::revision = '$Id: CGI.pm,v 1.3 2000/04/06 17:06:00 millert Exp $'; +$CGI::VERSION='2.56'; # HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES. # UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING. @@ -58,6 +58,9 @@ sub initialize_globals { # Change this to 1 to disable uploads entirely: $DISABLE_UPLOADS = 0; + # Automatically determined -- don't change + $EBCDIC = 0; + # Change this to 1 to suppress redundant HTTP headers $HEADERS_ONCE = 0; @@ -89,9 +92,13 @@ unless ($OS) { } } if ($OS=~/Win/i) { - $OS = 'WINDOWS'; + $OS = 'WINDOWS'; } elsif ($OS=~/vms/i) { - $OS = 'VMS'; + $OS = 'VMS'; +} elsif ($OS=~/bsdos/i) { + $OS = 'UNIX'; +} elsif ($OS=~/dos/i) { + $OS = 'DOS'; } elsif ($OS=~/^MacOS$/i) { $OS = 'MACINTOSH'; } elsif ($OS=~/os2/i) { @@ -101,7 +108,7 @@ if ($OS=~/Win/i) { } # Some OS logic. Binary mode enabled on DOS, NT and VMS -$needs_binmode = $OS=~/^(WINDOWS|VMS|OS2)/; +$needs_binmode = $OS=~/^(WINDOWS|DOS|OS2|MSWin)/; # This is the default class for the CGI object to use when all else fails. $DefaultClass = 'CGI' unless defined $CGI::DefaultClass; @@ -112,7 +119,7 @@ $AutoloadClass = $DefaultClass unless defined $CGI::AutoloadClass; # The path separator is a slash, backslash or semicolon, depending # on the paltform. $SL = { - UNIX=>'/', OS2=>'\\', WINDOWS=>'\\', MACINTOSH=>':', VMS=>'/' + UNIX=>'/', OS2=>'\\', WINDOWS=>'\\', DOS=>'\\', MACINTOSH=>':', VMS=>'/' }->{$OS}; # This no longer seems to be necessary @@ -123,7 +130,7 @@ $IIS++ if defined($ENV{'SERVER_SOFTWARE'}) && $ENV{'SERVER_SOFTWARE'}=~/IIS/; # Turn on special checking for Doug MacEachern's modperl if (exists $ENV{'GATEWAY_INTERFACE'} && - ($MOD_PERL = $ENV{'GATEWAY_INTERFACE'} =~ /^CGI-Perl/)) + ($MOD_PERL = $ENV{'GATEWAY_INTERFACE'} =~ /^CGI-Perl\//)) { $| = 1; require Apache; @@ -139,11 +146,32 @@ $PERLEX++ if defined($ENV{'GATEWAY_INTERFACE'}) && $ENV{'GATEWAY_INTERFACE'} =~ # really annoying. $EBCDIC = "\t" ne "\011"; if ($OS eq 'VMS') { - $CRLF = "\n"; + $CRLF = "\n"; } elsif ($EBCDIC) { - $CRLF= "\r\n"; + $CRLF= "\r\n"; } else { - $CRLF = "\015\012"; + $CRLF = "\015\012"; +} + +if ($EBCDIC) { +@A2E = ( + 0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 21, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31, + 64, 90,127,123, 91,108, 80,125, 77, 93, 92, 78,107, 96, 75, 97, +240,241,242,243,244,245,246,247,248,249,122, 94, 76,126,110,111, +124,193,194,195,196,197,198,199,200,201,209,210,211,212,213,214, +215,216,217,226,227,228,229,230,231,232,233,173,224,189, 95,109, +121,129,130,131,132,133,134,135,136,137,145,146,147,148,149,150, +151,152,153,162,163,164,165,166,167,168,169,192, 79,208,161, 7, + 32, 33, 34, 35, 36, 37, 6, 23, 40, 41, 42, 43, 44, 9, 10, 27, + 48, 49, 26, 51, 52, 53, 54, 8, 56, 57, 58, 59, 4, 20, 62,255, + 65,170, 74,177,159,178,106,181,187,180,154,138,176,202,175,188, +144,143,234,250,190,160,182,179,157,218,155,139,183,184,185,171, +100,101, 98,102, 99,103,158,104,116,113,114,115,120,117,118,119, +172,105,237,238,235,239,236,191,128,253,254,251,252,186,174, 89, + 68, 69, 66, 70, 67, 71,156, 72, 84, 81, 82, 83, 88, 85, 86, 87, +140, 73,205,206,203,207,204,225,112,221,222,219,220,141,142,223 + ); } if ($needs_binmode) { @@ -164,15 +192,16 @@ if ($needs_binmode) { submit reset defaults radio_group popup_menu button autoEscape scrolling_list image_button start_form end_form startform endform start_multipart_form end_multipart_form isindex tmpFileName uploadInfo URL_ENCODED MULTIPART/], - ':cgi'=>[qw/param path_info path_translated url self_url script_name cookie Dump - raw_cookie request_method query_string Accept user_agent remote_host + ':cgi'=>[qw/param upload path_info path_translated url self_url script_name cookie Dump + raw_cookie request_method query_string Accept user_agent remote_host content_type remote_addr referer server_name server_software server_port server_protocol virtual_host remote_ident auth_type http use_named_parameters save_parameters restore_parameters param_fetch - remote_user user_name header redirect import_names put Delete Delete_all url_param/], + remote_user user_name header redirect import_names put + Delete Delete_all url_param cgi_error/], ':ssl' => [qw/https/], ':imagemap' => [qw/Area Map/], - ':cgi-lib' => [qw/ReadParse PrintHeader HtmlTop HtmlBot SplitParam/], + ':cgi-lib' => [qw/ReadParse PrintHeader HtmlTop HtmlBot SplitParam Vars/], ':html' => [qw/:html2 :html3 :netscape/], ':standard' => [qw/:html2 :html3 :form :cgi/], ':push' => [qw/multipart_init multipart_start multipart_end/], @@ -328,7 +357,7 @@ sub init { # if we get called more than once, we want to initialize # ourselves from the original query (which may be gone # if it was read from STDIN originally.) - if (defined(@QUERY_PARAM) && !defined($initializer)) { + if (@QUERY_PARAM && !defined($initializer)) { foreach (@QUERY_PARAM) { $self->param('-name'=>$_,'-value'=>$QUERY_PARAM{$_}); } @@ -337,12 +366,17 @@ sub init { $meth=$ENV{'REQUEST_METHOD'} if defined($ENV{'REQUEST_METHOD'}); $content_length = defined($ENV{'CONTENT_LENGTH'}) ? $ENV{'CONTENT_LENGTH'} : 0; - die "Client attempted to POST $content_length bytes, but POSTs are limited to $POST_MAX" - if ($POST_MAX > 0) && ($content_length > $POST_MAX); + $fh = to_filehandle($initializer) if $initializer; METHOD: { + # avoid unreasonably large postings + if (($POST_MAX > 0) && ($content_length > $POST_MAX)) { + $self->cgi_error("413 Request entity too large"); + last METHOD; + } + # Process multipart postings, but only if the initializer is # not defined. if ($meth eq 'POST' @@ -394,7 +428,11 @@ sub init { # If method is GET or HEAD, fetch the query from # the environment. if ($meth=~/^(GET|HEAD)$/) { - $query_string = $ENV{'QUERY_STRING'} if defined $ENV{'QUERY_STRING'}; + if ($MOD_PERL) { + $query_string = Apache->request->args; + } else { + $query_string = $ENV{'QUERY_STRING'} if defined $ENV{'QUERY_STRING'}; + } last METHOD; } @@ -417,7 +455,7 @@ sub init { # We now have the query string in hand. We do slightly # different things for keyword lists and parameter lists. - if ($query_string ne '') { + if (defined $query_string && $query_string) { if ($query_string =~ /=/) { $self->parse_params($query_string); } else { @@ -473,23 +511,34 @@ sub print { CORE::print(@_); } +# get/set last cgi_error +sub cgi_error { + my ($self,$err) = self_or_default(@_); + $self->{'.cgi_error'} = $err if defined $err; + return $self->{'.cgi_error'}; +} + # unescape URL-encoded data sub unescape { - shift() if ref($_[0]); - my $todecode = shift; - return undef unless defined($todecode); - $todecode =~ tr/+/ /; # pluses become spaces - $todecode =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge; - return $todecode; + shift() if ref($_[0]) || (defined $_[1] && $_[0] eq $DefaultClass); + my $todecode = shift; + return undef unless defined($todecode); + $todecode =~ tr/+/ /; # pluses become spaces + if ($EBCDIC) { + $todecode =~ s/%([0-9a-fA-F]{2})/pack("c",$A2E[hex($1)])/ge; + } else { + $todecode =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge; + } + return $todecode; } # URL-encode data sub escape { - shift() if ref($_[0]) || $_[0] eq $DefaultClass; - my $toencode = shift; - return undef unless defined($toencode); - $toencode=~s/([^a-zA-Z0-9_.-])/uc sprintf("%%%02x",ord($1))/eg; - return $toencode; + shift() if ref($_[0]) || (defined $_[1] && $_[0] eq $DefaultClass); + my $toencode = shift; + return undef unless defined($toencode); + $toencode=~s/([^a-zA-Z0-9_.-])/uc sprintf("%%%02x",ord($1))/eg; + return $toencode; } sub save_request { @@ -536,10 +585,10 @@ sub binmode { sub _make_tag_func { my ($self,$tagname) = @_; - my $func = qq# + my $func = qq( sub $tagname { shift if \$_[0] && - (!ref(\$_[0]) && \$_[0] eq \$CGI::DefaultClass) || +# (!ref(\$_[0]) && \$_[0] eq \$CGI::DefaultClass) || (ref(\$_[0]) && (substr(ref(\$_[0]),0,3) eq 'CGI' || UNIVERSAL::isa(\$_[0],'CGI'))); @@ -549,7 +598,7 @@ sub _make_tag_func { my(\@attr) = make_attributes( '',shift() ); \$attr = " \@attr" if \@attr; } - #; + ); if ($tagname=~/start_(\w+)/i) { $func .= qq! return "<\U$1\E\$attr>";} !; } elsif ($tagname=~/end_(\w+)/i) { @@ -650,7 +699,7 @@ sub _compile { die $@; } } - delete($sub->{$func_name}); #free storage + CORE::delete($sub->{$func_name}); #free storage return "$pack\:\:$func_name"; } @@ -746,8 +795,8 @@ END_OF_FUNC #### sub delete { my($self,$name) = self_or_default(@_); - delete $self->{$name}; - delete $self->{'.fieldnames'}->{$name}; + CORE::delete $self->{$name}; + CORE::delete $self->{'.fieldnames'}->{$name}; @{$self->{'.parameters'}}=grep($_ ne $name,$self->param()); return wantarray ? () : undef; } @@ -762,7 +811,7 @@ sub import_names { my($self,$namespace,$delete) = self_or_default(@_); $namespace = 'Q' unless defined($namespace); die "Can't import names into \"main\"\n" if \%{"${namespace}::"} == \%::; - if ($delete || $MOD_PERL) { + if ($delete || $MOD_PERL || exists $ENV{'FCGI_ROLE'}) { # can anyone find an easier way to do this? foreach (keys %{"${namespace}::"}) { local *symbol = "${namespace}::${_}"; @@ -793,12 +842,24 @@ END_OF_FUNC sub keywords { my($self,@values) = self_or_default(@_); # If values is provided, then we set it. - $self->{'keywords'}=[@values] if defined(@values); + $self->{'keywords'}=[@values] if @values; my(@result) = defined($self->{'keywords'}) ? @{$self->{'keywords'}} : (); @result; } END_OF_FUNC +# These are some tie() interfaces for compatibility +# with Steve Brenner's cgi-lib.pl routines +'Vars' => <<'END_OF_FUNC', +sub Vars { + my $q = shift; + my %in; + tie(%in,CGI,$q); + return %in if wantarray; + return \%in; +} +END_OF_FUNC + # These are some tie() interfaces for compatibility # with Steve Brenner's cgi-lib.pl routines 'ReadParse' => <<'END_OF_FUNC', @@ -858,7 +919,8 @@ END_OF_FUNC 'TIEHASH' => <<'END_OF_FUNC', sub TIEHASH { - return $Q || new CGI; + return $_[1] if defined $_[1]; + return $Q || new shift; } END_OF_FUNC @@ -1031,6 +1093,7 @@ sub dump { push(@result,"

        "); foreach $value ($self->param($param)) { $value = $self->escapeHTML($value); + $value =~ s/\n/
        \n/g; push(@result,"
      • $value"); } push(@result,"
      "); @@ -1065,7 +1128,7 @@ sub save { my($escaped_param) = escape($param); my($value); foreach $value ($self->param($param)) { - print $filehandle "$escaped_param=",escape($value),"\n"; + print $filehandle "$escaped_param=",escape("$value"),"\n"; } } print $filehandle "=\n"; # end of record @@ -1327,7 +1390,7 @@ sub _style { '-foo'=>'bar', # a trick to allow the '-' to be omitted ref($style) eq 'ARRAY' ? @$style : %$style); $type = $stype if $stype; - push(@result,qq//) if $src; + push(@result,qq//) if $src; push(@result,style({'type'=>$type},"")) if $code; } else { push(@result,style({'type'=>$type},"")); @@ -1348,7 +1411,7 @@ sub _script { ($src,$code,$language) = $self->rearrange([SRC,CODE,LANGUAGE], '-foo'=>'bar', # a trick to allow the '-' to be omitted - ref($style) eq 'ARRAY' ? @$script : %$script); + ref($script) eq 'ARRAY' ? @$script : %$script); } else { ($src,$code,$language) = ('',$script,'JavaScript'); @@ -1360,7 +1423,7 @@ sub _script { if $code && $language=~/javascript/i; $code = "" if $code && $language=~/perl/i; - push(@result,script({@satts},$code)); + push(@result,script({@satts},$code || '')); } @result; } @@ -1460,7 +1523,8 @@ END_OF_FUNC 'endform' => <<'END_OF_FUNC', sub endform { my($self,@p) = self_or_default(@_); - return ($self->get_fields,""); + return wantarray ? ($self->get_fields,"") : + $self->get_fields ."\n"; } END_OF_FUNC @@ -1727,9 +1791,7 @@ sub checkbox { $the_label = $self->escapeHTML($the_label); my($other) = @other ? " @other" : ''; $self->register_parameter($name); - return <$the_label -END + return qq{$the_label}; } END_OF_FUNC @@ -1800,8 +1862,7 @@ END_OF_FUNC # Escape HTML -- used internally 'escapeHTML' => <<'END_OF_FUNC', sub escapeHTML { - my($self,$toencode) = @_; - $toencode = $self unless ref($self); + my ($self,$toencode) = self_or_default(@_); return undef unless defined($toencode); return $toencode if ref($self) && $self->{'dontescape'}; @@ -1849,14 +1910,14 @@ sub _tableize { # rearrange into a pretty table $result = ""; my($row,$column); - unshift(@$colheaders,'') if defined(@$colheaders) && defined(@$rowheaders); - $result .= "" if defined(@{$colheaders}); + unshift(@$colheaders,'') if @$colheaders && @$rowheaders; + $result .= "" if @$colheaders; foreach (@{$colheaders}) { $result .= ""; } for ($row=0;$row<$rows;$row++) { $result .= ""; - $result .= "" if defined(@$rowheaders); + $result .= "" if @$rowheaders; for ($column=0;$column<$columns;$column++) { $result .= "" if defined($elements[$column*$rows + $row]); @@ -2069,7 +2130,7 @@ sub hidden { $name=$self->escapeHTML($name); foreach (@value) { - $_=$self->escapeHTML($_); + $_ = defined($_) ? $self->escapeHTML($_) : ''; push(@result,qq//); } return wantarray ? @result : join('',@result); @@ -2135,6 +2196,20 @@ sub url { my $url; $full++ if !($relative || $absolute); + my $path = $self->path_info; + my $script_name; + if (exists($ENV{REQUEST_URI})) { + my $index; + $script_name = $ENV{REQUEST_URI}; + # strip query string + substr($script_name,$index) = '' if ($index = index($script_name,'?')) >= 0; + # and path + substr($script_name,$index) = '' if exists($ENV{PATH_INFO}) + and ($index = rindex($script_name,$ENV{PATH_INFO})) >= 0; + } else { + $script_name = $self->script_name; + } + if ($full) { my $protocol = $self->protocol(); $url = "$protocol://"; @@ -2148,13 +2223,13 @@ sub url { unless (lc($protocol) eq 'http' && $port == 80) || (lc($protocol) eq 'https' && $port == 443); } - $url .= $self->script_name; + $url .= $script_name; } elsif ($relative) { - ($url) = $self->script_name =~ m!([^/]+)$!; + ($url) = $script_name =~ m!([^/]+)$!; } elsif ($absolute) { - $url = $self->script_name; + $url = $script_name; } - $url .= $self->path_info if $path_info and $self->path_info; + $url .= $path if $path_info and defined $path; $url .= "?" . $self->query_string if $query and $self->query_string; return $url; } @@ -2206,7 +2281,7 @@ sub cookie { push(@param,'-expires'=>$expires) if $expires; push(@param,'-secure'=>$secure) if $secure; - return new CGI::Cookie(@param); + return CGI::Cookie->new(@param); } END_OF_FUNC @@ -2236,6 +2311,8 @@ sub expire_calc { my($offset); if (!$time || (lc($time) eq 'now')) { $offset = 0; + } elsif ($time=~/^\d+/) { + return $time; } elsif ($time=~/^([+-]?(?:\d+|\d*\.\d*))([mhdMy]?)/) { $offset = ($mult{$2} || 1)*$1; } else { @@ -2247,7 +2324,7 @@ END_OF_FUNC # This internal routine creates date strings suitable for use in # cookies and HTTP headers. (They differ, unfortunately.) -# Thanks to Fisher Mark for this. +# Thanks to Mark Fisher for this. 'expires' => <<'END_OF_FUNC', sub expires { my($time,$format) = @_; @@ -2330,6 +2407,15 @@ sub request_method { } END_OF_FUNC +#### Method: content_type +# Returns the content_type string +#### +'content_type' => <<'END_OF_FUNC', +sub content_type { + return $ENV{'CONTENT_TYPE'}; +} +END_OF_FUNC + #### Method: path_translated # Return the physical path information provided # by the URL (if any) @@ -2353,6 +2439,7 @@ sub query_string { my($eparam) = escape($param); foreach $value ($self->param($param)) { $value = escape($value); + next unless defined $value; push(@pairs,"$eparam=$value"); } } @@ -2556,6 +2643,7 @@ END_OF_FUNC sub http { my ($self,$parameter) = self_or_CGI(@_); return $ENV{$parameter} if $parameter=~/^HTTP/; + $parameter =~ tr/-/_/; return $ENV{"HTTP_\U$parameter\E"} if $parameter; my(@p); foreach (keys %ENV) { @@ -2574,6 +2662,7 @@ sub https { my ($self,$parameter) = self_or_CGI(@_); return $ENV{HTTPS} unless $parameter; return $ENV{$parameter} if $parameter=~/^HTTPS/; + $parameter =~ tr/-/_/; return $ENV{"HTTPS_\U$parameter\E"} if $parameter; my(@p); foreach (keys %ENV) { @@ -2754,7 +2843,11 @@ sub read_multipart { my $filenumber = 0; while (!$buffer->eof) { %header = $buffer->readHeader; - die "Malformed multipart POST\n" unless %header; + + unless (%header) { + $self->cgi_error("400 Bad request (malformed multipart POST)"); + return; + } my($param)= $header{'Content-Disposition'}=~/ name="?([^\";]*)"?/; @@ -2766,7 +2859,7 @@ sub read_multipart { # If no filename specified, then just read the data and assign it # to our parameter list. - unless ($filename) { + if ( !defined($filename) || $filename eq '' ) { my($value) = $buffer->readBody; push(@{$self->{$param}},$value); next; @@ -2784,13 +2877,16 @@ sub read_multipart { last UPLOADS; } - $tmpfile = new TempFile; - $tmp = $tmpfile->as_string; - - $filehandle = Fh->new($filename,$tmp,$PRIVATE_TEMPFILES); - + # choose a relatively unpredictable tmpfile sequence number + my $seqno = unpack("%16C*",join('',localtime,values %ENV)); + for (my $cnt=10;$cnt>0;$cnt--) { + next unless $tmpfile = new TempFile($seqno); + $tmp = $tmpfile->as_string; + last if defined($filehandle = Fh->new($filename,$tmp,$PRIVATE_TEMPFILES)); + $seqno += int rand(100); + } + die "CGI open of tmpfile: $!\n" unless $filehandle; $CGI::DefaultClass->binmode($filehandle) if $CGI::needs_binmode; - chmod 0600,$tmp; # only the owner can tamper with it my ($data); local($\) = ''; @@ -2804,7 +2900,7 @@ sub read_multipart { # Save some information about the uploaded file where we can get # at it later. - $self->{'.tmpfiles'}->{$filename}= { + $self->{'.tmpfiles'}->{fileno($filehandle)}= { name => $tmpfile, info => {%header}, }; @@ -2814,11 +2910,21 @@ sub read_multipart { } END_OF_FUNC +'upload' =><<'END_OF_FUNC', +sub upload { + my($self,$param_name) = self_or_default(@_); + my $param = $self->param($param_name); + return unless $param; + return unless ref($param) && fileno($param); + return $param; +} +END_OF_FUNC + 'tmpFileName' => <<'END_OF_FUNC', sub tmpFileName { my($self,$filename) = self_or_default(@_); - return $self->{'.tmpfiles'}->{$filename}->{name} ? - $self->{'.tmpfiles'}->{$filename}->{name}->as_string + return $self->{'.tmpfiles'}->{fileno($filename)}->{name} ? + $self->{'.tmpfiles'}->{fileno($filename)}->{name}->as_string : ''; } END_OF_FUNC @@ -2826,7 +2932,7 @@ END_OF_FUNC 'uploadInfo' => <<'END_OF_FUNC', sub uploadInfo { my($self,$filename) = self_or_default(@_); - return $self->{'.tmpfiles'}->{$filename}->{info}; + return $self->{'.tmpfiles'}->{fileno($filename)}->{info}; } END_OF_FUNC @@ -2878,7 +2984,7 @@ $AUTOLOADED_ROUTINES=<<'END_OF_AUTOLOAD'; sub asString { my $self = shift; # get rid of package name - (my $i = $$self) =~ s/^\*(\w+::)+//; + (my $i = $$self) =~ s/^\*(\w+::fh\d{5})+//; $i =~ s/\\(.)/$1/g; return $i; # BEGIN DEAD CODE @@ -2904,12 +3010,10 @@ END_OF_FUNC sub new { my($pack,$name,$file,$delete) = @_; require Fcntl unless defined &Fcntl::O_RDWR; - ++$FH; - my $ref = \*{'Fh::' . quotemeta($name)}; - sysopen($ref,$file,Fcntl::O_RDWR()|Fcntl::O_CREAT()|Fcntl::O_EXCL()) - || die "CGI open of $file: $!\n"; + my $ref = \*{'Fh::' . ++$FH . quotemeta($name)}; + sysopen($ref,$file,Fcntl::O_RDWR()|Fcntl::O_CREAT()|Fcntl::O_EXCL(),0600) || return; unlink($file) if $delete; - delete $Fh::{$FH}; + CORE::delete $Fh::{$FH}; return bless $ref,$pack; } END_OF_FUNC @@ -2976,7 +3080,7 @@ sub new { # BUG: IE 3.01 on the Macintosh uses just the boundary -- not # the two extra hyphens. We do a special case here on the user-agent!!!! - $boundary = "--$boundary" unless CGI::user_agent('MSIE 3\.0[12]; ?Mac'); + $boundary = "--$boundary" unless CGI::user_agent('MSIE\s+3\.0[12];\s*Mac'); } else { # otherwise we find it ourselves my($old); @@ -3175,15 +3279,25 @@ $MAC = $CGI::OS eq 'MACINTOSH'; my ($vol) = $MAC ? MacPerl::Volumes() =~ /:(.*)/ : ""; unless ($TMPDIRECTORY) { @TEMP=("${SL}usr${SL}tmp","${SL}var${SL}tmp", - "C:${SL}temp","${SL}tmp","${SL}temp","${vol}${SL}Temporary Items", + "C:${SL}temp","${SL}tmp","${SL}temp", + "${vol}${SL}Temporary Items","${SL}sys\$scratch", "${SL}WWW_ROOT"); + unshift(@TEMP,$ENV{'TMPDIR'}) if exists $ENV{'TMPDIR'}; + + # + # unshift(@TEMP,(getpwuid($<))[7].'/tmp') if $CGI::OS eq 'UNIX'; + # Rob: getpwuid() is unfortunately UNIX specific. On brain dead OS'es this + # : can generate a 'getpwuid() not implemented' exception, even though + # : it's never called. Found under DOS/Win with the DJGPP perl port. + # : Refer to getpwuid() only at run-time if we're fortunate and have UNIX. + unshift(@TEMP,(eval {(getpwuid($<))[7]}).'/tmp') if $CGI::OS eq 'UNIX'; + foreach (@TEMP) { do {$TMPDIRECTORY = $_; last} if -d $_ && -w _; } } $TMPDIRECTORY = $MAC ? "" : "." unless $TMPDIRECTORY; -$SEQUENCE=0; $MAXTRIES = 5000; # cute feature, but overload implementation broke it @@ -3199,14 +3313,15 @@ $AUTOLOADED_ROUTINES=<<'END_OF_AUTOLOAD'; 'new' => <<'END_OF_FUNC', sub new { - my($package) = @_; - my $directory; - my $i; - for ($i = 0; $i < $MAXTRIES; $i++) { - $directory = sprintf("${TMPDIRECTORY}${SL}CGItemp%d%04d",${$},++$SEQUENCE); - last if ! -f $directory; + my($package,$sequence) = @_; + my $filename; + for (my $i = 0; $i < $MAXTRIES; $i++) { + last if ! -f ($filename = sprintf("${TMPDIRECTORY}${SL}CGItemp%d",$sequence++)); } - return bless \$directory; + # untaint the darn thing + return unless $filename =~ m!^([a-zA-Z0-9_ '":/\\]+)$!; + $filename = $1; + return bless \$filename; } END_OF_FUNC @@ -3240,7 +3355,6 @@ if ($^W) { $MultipartBuffer::CRLF; $MultipartBuffer::TIMEOUT; $MultipartBuffer::INITIAL_FILLUNIT; - $TempFile::SEQUENCE; EOF ; } @@ -3322,7 +3436,7 @@ script and restore it later. For example, using the object oriented style, here is how you create a simple "Hello World" HTML page: - #!/usr/local/bin/perl + #!/usr/local/bin/perl -w use CGI; # load CGI routines $q = new CGI; # create new CGI object print $q->header, # create the HTTP header @@ -3640,6 +3754,36 @@ can manipulate in any way you like. You can also use a named argument style using the B<-name> argument. +=head2 FETCHING THE PARAMETER LIST AS A HASH: + + $params = $q->Vars; + print $params->{'address'}; + @foo = split("\0",$params->{'foo'}); + %params = $q->Vars; + + use CGI ':cgi-lib'; + $params = Vars; + +Many people want to fetch the entire parameter list as a hash in which +the keys are the names of the CGI parameters, and the values are the +parameters' values. The Vars() method does this. Called in a scalar +context, it returns the parameter list as a tied hash reference. +Changing a key changes the value of the parameter in the underlying +CGI parameter list. Called in an array context, it returns the +parameter list as an ordinary hash. This allows you to read the +contents of the parameter list, but not to change it. + +When using this, the thing you must watch out for are multivalued CGI +parameters. Because a hash cannot distinguish between scalar and +array context, multivalued parameters will be returned as a packed +string, separated by the "\0" (null) character. You must split this +packed string in order to get at the individual values. This is the +convention introduced long ago by Steve Brenner in his cgi-lib.pl +module for Perl version 4. + +If you wish to use Vars() as a function, import the I<:cgi-lib> set of +function calls (also see the section on CGI-LIB compatibility). + =head2 SAVING THE STATE OF THE SCRIPT TO A FILE: $query->save(FILEHANDLE) @@ -3686,14 +3830,37 @@ a short example of creating multiple session records: The file format used for save/restore is identical to that used by the Whitehead Genome Center's data exchange format "Boulderio", and can be manipulated and even databased using Boulderio utilities. See - - http://www.genome.wi.mit.edu/genome_software/other/boulder.html + + http://stein.cshl.org/boulder/ for further details. If you wish to use this method from the function-oriented (non-OO) interface, the exported name for this method is B. +=head2 RETRIEVING CGI ERRORS + +Errors can occur while processing user input, particularly when +processing uploaded files. When these errors occur, CGI will stop +processing and return an empty parameter list. You can test for +the existence and nature of errors using the I function. +The error messages are formatted as HTTP status codes. You can either +incorporate the error text into an HTML page, or use it as the value +of the HTTP status: + + my $error = $q->cgi_error; + if ($error) { + print $q->header(-status=>$error), + $q->start_html('Problems'), + $q->h2('Request not processed'), + $q->strong($error); + exit 0; + } + +When using the function-oriented interface (see the next section), +errors may only occur the first time you call I. Be ready +for this! + =head2 USING THE FUNCTION-ORIENTED INTERFACE To use the function-oriented interface, you must specify which CGI.pm @@ -3754,7 +3921,7 @@ Import "standard" features, 'html2', 'html3', 'form' and 'cgi'. =item B<:all> Import all the available methods. For the full list, see the CGI.pm -code, where the variable %TAGS is defined. +code, where the variable %EXPORT_TAGS is defined. =back @@ -3902,20 +4069,40 @@ input, this should work: use CGI qw(-no_debug :standard); restore_parameters(join('&',@ARGV)); - + See the section on debugging for more details. =item -private_tempfiles -CGI.pm can process uploaded file. Ordinarily it spools the -uploaded file to a temporary directory, then deletes the file -when done. However, this opens the risk of eavesdropping as -described in the file upload section. -Another CGI script author could peek at this data during the -upload, even if it is confidential information. On Unix systems, -the -private_tempfiles pragma will cause the temporary file to be unlinked as soon -as it is opened and before any data is written into it, -eliminating the risk of eavesdropping. +CGI.pm can process uploaded file. Ordinarily it spools the uploaded +file to a temporary directory, then deletes the file when done. +However, this opens the risk of eavesdropping as described in the file +upload section. Another CGI script author could peek at this data +during the upload, even if it is confidential information. On Unix +systems, the -private_tempfiles pragma will cause the temporary file +to be unlinked as soon as it is opened and before any data is written +into it, reducing, but not eliminating the risk of eavesdropping +(there is still a potential race condition). To make life harder for +the attacker, the program chooses tempfile names by calculating a 32 +bit checksum of the incoming HTTP headers. + +To ensure that the temporary file cannot be read by other CGI scripts, +use suEXEC or a CGI wrapper program to run your script. The temporary +file is created with mode 0600 (neither world nor group readable). + +The temporary directory is selected using the following algorithm: + + 1. if the current user (e.g. "nobody") has a directory named + "tmp" in its home directory, use that (Unix systems only). + + 2. if the environment variable TMPDIR exists, use the location + indicated. + + 3. Otherwise try the locations /usr/tmp, /var/tmp, C:\temp, + /tmp, /temp, ::Temporary Items, and \WWW_ROOT. + +Each of these locations is checked that it is a directory and is +writable. If not, the algorithm tries the next choice. =back @@ -4135,17 +4322,17 @@ You can place other arbitrary HTML elements to the section with the B<-head> tag. For example, to place the rarely-used element in the head section, use this: - print $q->start_html(-head=>Link({-rel=>'next', - -href=>'http://www.capricorn.com/s2.html'})); + print start_html(-head=>Link({-rel=>'next', + -href=>'http://www.capricorn.com/s2.html'})); To incorporate multiple HTML elements into the section, just pass an array reference: - print $q->start_html(-head=>[ - Link({-rel=>'next', - -href=>'http://www.capricorn.com/s2.html'}), - Link({-rel=>'previous', - -href=>'http://www.capricorn.com/s1.html'}) + print start_html(-head=>[ + Link({-rel=>'next', + -href=>'http://www.capricorn.com/s2.html'}), + Link({-rel=>'previous', + -href=>'http://www.capricorn.com/s1.html'}) ] ); @@ -4205,8 +4392,8 @@ one or more of -language, -src, or -code: ); print $q->(-title=>'The Riddle of the Sphinx', - -script=>{-language=>'PERLSCRIPT'}, - -code=>'print "hello world!\n;"' + -script=>{-language=>'PERLSCRIPT', + -code=>'print "hello world!\n;"'} ); @@ -4215,19 +4402,19 @@ header. Just pass the list of script sections as an array reference. this allows you to specify different source files for different dialects of JavaScript. Example: - print $q->start_html(-title=>'The Riddle of the Sphinx', - -script=>[ - { -language => 'JavaScript1.0', - -src => '/javascript/utilities10.js' + print $q->start_html(-title=>'The Riddle of the Sphinx', + -script=>[ + { -language => 'JavaScript1.0', + -src => '/javascript/utilities10.js' }, - { -language => 'JavaScript1.1', - -src => '/javascript/utilities11.js' + { -language => 'JavaScript1.1', + -src => '/javascript/utilities11.js' }, - { -language => 'JavaScript1.2', - -src => '/javascript/utilities12.js' + { -language => 'JavaScript1.2', + -src => '/javascript/utilities12.js' }, - { -language => 'JavaScript28.2', - -src => '/javascript/utilities219.js' + { -language => 'JavaScript28.2', + -src => '/javascript/utilities219.js' } ] ); @@ -4382,7 +4569,7 @@ This example shows how to use the HTML methods: print $q->blockquote( "Many years ago on the island of", $q->a({href=>"http://crete.org/"},"Crete"), - "there lived a minotaur named", + "there lived a Minotaur named", $q->strong("Fred."), ), $q->hr; @@ -4429,7 +4616,7 @@ and values of the associative array become the HTML tag's attributes: "Open a new frame"); Open a new frame - + You may dispense with the dashes in front of the attribute names if you prefer: @@ -4447,7 +4634,7 @@ Prior to CGI.pm version 2.41, providing an empty ('') string as an attribute argument was the same as providing undef. However, this has changed in order to accommodate those who want to create tags of the form . The difference is shown in these two pieces of code: - + CODE RESULT img({alt=>undef}) img({alt=>''}) @@ -4581,7 +4768,7 @@ autoEscape() method with a false value immediately after creating the CGI object $query = new CGI; $query->autoEscape(undef); - + =head2 CREATING AN ISINDEX TAG @@ -4611,7 +4798,7 @@ default is to process the query with the current script. startform() will return a
      tag with the optional method, action and form encoding that you specify. The defaults are: - + method: POST action: this script enctype: application/x-www-form-urlencoded @@ -4820,23 +5007,16 @@ field will accept (-maxlength). =back When the form is processed, you can retrieve the entered filename -by calling param(). +by calling param(): $filename = $query->param('uploaded_file'); -In Netscape Navigator 2.0, the filename that gets returned is the full -local filename on the B machine. If the remote user is -on a Unix machine, the filename will follow Unix conventions: - - /path/to/the/file - -On an MS-DOS/Windows and OS/2 machines, the filename will follow DOS conventions: - - C:\PATH\TO\THE\FILE.MSW - -On a Macintosh machine, the filename will follow Mac conventions: - - HD 40:Desktop Folder:Sort Through:Reminders +Different browsers will return slightly different things for the +name. Some browsers return the filename only. Others return the full +path to the file, using the path conventions of the user's machine. +Regardless, the name returned is always the name of the file on the +I machine, and is unrelated to the name of the temporary file +that CGI.pm creates during upload spooling (see below). The filename returned is also a file handle. You can read the contents of the file using standard Perl file reading calls: @@ -4852,6 +5032,25 @@ of the file using standard Perl file reading calls: print OUTFILE $buffer; } +However, there are problems with the dual nature of the upload fields. +If you C, then Perl will complain when you try to use a +string as a filehandle. You can get around this by placing the file +reading code in a block containing the C pragma. More +seriously, it is possible for the remote user to type garbage into the +upload field, in which case what you get from param() is not a +filehandle at all, but a string. + +To be safe, use the I function (new in version 2.47). When +called with the name of an upload field, I returns a +filehandle, or undef if the parameter is not a valid filehandle. + + $fh = $query->upload('uploaded_file'); + while (<$fh>) { + print; + } + +This is the recommended idiom. + When a file is uploaded the browser usually sends along some information along with it in the format of headers. The information usually includes the MIME content type. Future browsers may send @@ -4867,7 +5066,25 @@ an associative array containing all the document headers. If you are using a machine that recognizes "text" and "binary" data modes, be sure to understand when and how to use them (see the Camel book). -Otherwise you may find that binary files are corrupted during file uploads. +Otherwise you may find that binary files are corrupted during file +uploads. + +There are occasionally problems involving parsing the uploaded file. +This usually happens when the user presses "Stop" before the upload is +finished. In this case, CGI.pm will return undef for the name of the +uploaded file and set I to the string "400 Bad request +(malformed multipart POST)". This error message is designed so that +you can incorporate it into a status code to be sent to the browser. +Example: + + $file = $query->upload('uploaded_file'); + if (!$file && $query->cgi_error) { + print $query->header(-status=>$query->cgi_error); + exit 0; + } + +You are free to create a custom HTML page to complain about the error, +if you wish. JAVASCRIPTING: The B<-onChange>, B<-onFocus>, B<-onBlur>, B<-onMouseOver>, B<-onMouseOut> and B<-onSelect> parameters are @@ -5025,7 +5242,7 @@ handlers are called. print $query->checkbox_group(-name=>'group_name', -values=>['eenie','meenie','minie','moe'], -rows=2,-columns=>2); - + checkbox_group() creates a list of checkboxes that are related by the same name. @@ -5563,7 +5780,7 @@ documentation in Netscape's home pages for details =item 2. Specify the destination for the document in the HTTP header You may provide a B<-target> parameter to the header() method: - + print $q->header(-target=>'ResultsWindow'); This will tell the browser to load the output of your script into the @@ -5700,7 +5917,7 @@ name/value pairs formatted nicely as a nested list. This is useful for debugging purposes: print $query->dump - + Produces something that looks like: @@ -5838,6 +6055,32 @@ Newer browsers do not report the user name for privacy reasons! Returns the method used to access your script, usually one of 'POST', 'GET' or 'HEAD'. +=item B + +Returns the content_type of data submitted in a POST, generally +multipart/form-data or application/x-www-form-urlencoded + +=item B + +Called with no arguments returns the list of HTTP environment +variables, including such things as HTTP_USER_AGENT, +HTTP_ACCEPT_LANGUAGE, and HTTP_ACCEPT_CHARSET, corresponding to the +like-named HTTP header fields in the request. Called with the name of +an HTTP header field, returns its value. Capitalization and the use +of hyphens versus underscores are not significant. + +For example, all three of these examples are equivalent: + + $requested_language = $q->http('Accept-language'); + $requested_language = $q->http('Accept_language'); + $requested_language = $q->http('HTTP_ACCEPT_LANGUAGE'); + +=item B + +The same as I, but operates on the HTTPS environment variables +present when the SSL protocol is in effect. Can be used to determine +whether SSL is turned on. + =back =head1 USING NPH SCRIPTS @@ -5919,7 +6162,7 @@ a second, and begins again. =over 4 =item multipart_init() - + multipart_init(-boundary=>$boundary); Initialize the multipart system. The -boundary argument specifies @@ -6014,18 +6257,31 @@ initialize_globals(). =back -Since an attempt to send a POST larger than $POST_MAX bytes -will cause a fatal error, you might want to use CGI::Carp to echo the -fatal error message to the browser window as shown in the example -above. Otherwise the remote user will see only a generic "Internal -Server" error message. See the L manual page for more -details. +An attempt to send a POST larger than $POST_MAX bytes will cause +I to return an empty CGI parameter list. You can test for +this event by checking I, either after you create the CGI +object or, if you are using the function-oriented interface, call + for the first time. If the POST was intercepted, then +cgi_error() will return the message "413 POST too large". + +This error message is actually defined by the HTTP protocol, and is +designed to be returned to the browser as the CGI script's status + code. For example: + + $uploaded_file = param('upload'); + if (!$uploaded_file && cgi_error()) { + print header(-status=>cgi_error()); + exit 0; + } + +However it isn't clear that any browser currently knows what to do +with this status code. It might be better just to create an +HTML page that warns the user of the problem. =head1 COMPATIBILITY WITH CGI-LIB.PL -To make it easier to port existing programs that use cgi-lib.pl -the compatibility routine "ReadParse" is provided. Porting is -simple: +To make it easier to port existing programs that use cgi-lib.pl the +compatibility routine "ReadParse" is provided. Porting is simple: OLD VERSION require "cgi-lib.pl"; @@ -6123,9 +6379,9 @@ for suggestions and bug fixes. #!/usr/local/bin/perl - + use CGI; - + $query = new CGI; print $query->header; @@ -6135,35 +6391,35 @@ for suggestions and bug fixes. &do_work($query); &print_tail; print $query->end_html; - + sub print_prompt { my($query) = @_; - + print $query->startform; print "What's your name?
      "; print $query->textfield('name'); print $query->checkbox('Not my real name'); - + print "

      Where can you find English Sparrows?
      "; print $query->checkbox_group( -name=>'Sparrow locations', -values=>[England,France,Spain,Asia,Hoboken], -linebreak=>'yes', -defaults=>[England,Asia]); - + print "

      How far can they fly?
      ", $query->radio_group( -name=>'how far', -values=>['10 ft','1 mile','10 miles','real far'], -default=>'1 mile'); - + print "

      What's your favorite color? "; print $query->popup_menu(-name=>'Color', -values=>['black','brown','red','yellow'], -default=>'red'); - + print $query->hidden('Reference','Monty Python and the Holy Grail'); - + print "

      What have you got there?
      "; print $query->scrolling_list( -name=>'possessions', @@ -6171,19 +6427,19 @@ for suggestions and bug fixes. 'A Sword','A Ticket'], -size=>5, -multiple=>'true'); - + print "

      Any parting comments?
      "; print $query->textarea(-name=>'Comments', -rows=>10, -columns=>50); - - print "

      ",$query->Reset; + + print "

      ",$query->reset; print $query->submit('Action','Shout'); print $query->submit('Action','Scream'); print $query->endform; print "


      \n"; } - + sub do_work { my($query) = @_; my(@values,$key); @@ -6196,7 +6452,7 @@ for suggestions and bug fixes. print join(", ",@values),"
      \n"; } } - + sub print_tail { print < diff --git a/gnu/usr.bin/perl/lib/CGI/Apache.pm b/gnu/usr.bin/perl/lib/CGI/Apache.pm index d155f69439c..dced8664b46 100644 --- a/gnu/usr.bin/perl/lib/CGI/Apache.pm +++ b/gnu/usr.bin/perl/lib/CGI/Apache.pm @@ -1,103 +1,23 @@ -package CGI::Apache; -use Apache (); -use vars qw(@ISA $VERSION); -require CGI; -@ISA = qw(CGI); - -$VERSION = (qw$Revision: 1.2 $)[1]; -$CGI::DefaultClass = 'CGI::Apache'; -$CGI::Apache::AutoloadClass = 'CGI'; - -sub import { - my $self = shift; - my ($callpack, $callfile, $callline) = caller; - ${"${callpack}::AutoloadClass"} = 'CGI'; -} - -sub new { - my($class) = shift; - my($r) = Apache->request; - %ENV = $r->cgi_env unless defined $ENV{GATEWAY_INTERFACE}; #PerlSetupEnv On - my $self = $class->SUPER::new(@_); - $self->{'.req'} = $r; - $self; -} - -sub header { - my ($self,@rest) = CGI::self_or_default(@_); - my $r = $self->{'.req'}; - $r->basic_http_header; - return CGI::header($self,@rest); -} - -sub print { - my($self,@rest) = CGI::self_or_default(@_); - $self->{'.req'}->print(@rest); -} - -sub read_from_client { - my($self, $fh, $buff, $len, $offset) = @_; - my $r = $self->{'.req'} || Apache->request; - return $r->read($$buff, $len, $offset); -} - -sub new_MultipartBuffer { - my $self = shift; - my $new = CGI::Apache::MultipartBuffer->new($self, @_); - $new->{'.req'} = $self->{'.req'} || Apache->request; - return $new; -} - -package CGI::Apache::MultipartBuffer; -use vars qw(@ISA); -@ISA = qw(MultipartBuffer); - -$CGI::Apache::MultipartBuffer::AutoloadClass = 'MultipartBuffer'; -*CGI::Apache::MultipartBuffer::read_from_client = - \&CGI::Apache::read_from_client; - - +use CGI; 1; - __END__ =head1 NAME -CGI::Apache - Make things work with CGI.pm against Perl-Apache API +CGI::Apache - Backward compatibility module for CGI.pm =head1 SYNOPSIS - require CGI::Apache; - - my $q = new Apache::CGI; +Do not use this module. It is deprecated. - $q->print($q->header); - - #do things just like you do with CGI.pm +=head1 ABSTRACT =head1 DESCRIPTION -When using the Perl-Apache API, your applications are faster, but the -environment is different than CGI. -This module attempts to set-up that environment as best it can. - -=head1 NOTE 1 +=head1 AUTHOR INFORMATION -This module used to be named Apache::CGI. Sorry for the confusion. - -=head1 NOTE 2 - -If you're going to inherit from this class, make sure to "use" it -after your package declaration rather than "require" it. This is -because CGI.pm does a little magic during the import() step in order -to make autoloading work correctly. +=head1 BUGS =head1 SEE ALSO -perl(1), Apache(3), CGI(3) - -=head1 AUTHOR - -Doug MacEachern Edougm@osf.orgE, hacked over by Andreas KEnig Ea.koenig@mind.deE, modified by Lincoln Stein lstein@genome.wi.mit.edu - =cut diff --git a/gnu/usr.bin/perl/lib/CGI/Carp.pm b/gnu/usr.bin/perl/lib/CGI/Carp.pm index dfae1a61b73..90e9552c75c 100644 --- a/gnu/usr.bin/perl/lib/CGI/Carp.pm +++ b/gnu/usr.bin/perl/lib/CGI/Carp.pm @@ -192,9 +192,16 @@ use Carp; @EXPORT = qw(confess croak carp); @EXPORT_OK = qw(carpout fatalsToBrowser wrap set_message cluck); +BEGIN { + $] >= 5.005 + ? eval q#sub ineval { $^S }# + : eval q#sub ineval { _longmess() =~ /eval [\{\']/m }#; + $@ and die; +} + $main::SIG{__WARN__}=\&CGI::Carp::warn; $main::SIG{__DIE__}=\&CGI::Carp::die; -$CGI::Carp::VERSION = '1.13'; +$CGI::Carp::VERSION = '1.14'; $CGI::Carp::CUSTOM_MSG = undef; # fancy import routine detects and handles 'errorWrap' specially. @@ -216,7 +223,7 @@ sub realdie { CORE::die(@_); } sub id { my $level = shift; my($pack,$file,$line,$sub) = caller($level); - my($id) = $file=~m|([^/]+)$|; + my($id) = $file=~m|([^/]+)\z|; return ($file,$line,$id); } @@ -228,7 +235,7 @@ sub stamp { $id = $file; ($pack,$file) = caller($frame++); } until !$file; - ($id) = $id=~m|([^/]+)$|; + ($id) = $id=~m|([^/]+)\z|; return "[$time] $id: "; } @@ -251,14 +258,15 @@ sub _longmess { } sub die { - my $message = shift; - my $time = scalar(localtime); - my($file,$line,$id) = id(1); - $message .= " at $file line $line." unless $message=~/\n$/; - &fatalsToBrowser($message) if $WRAP && _longmess() !~ /eval [{\']/m; - my $stamp = stamp; - $message=~s/^/$stamp/gm; - realdie $message; + realdie @_ if ineval; + my $message = shift; + my $time = scalar(localtime); + my($file,$line,$id) = id(1); + $message .= " at $file line $line." unless $message=~/\n$/; + &fatalsToBrowser($message) if $WRAP; + my $stamp = stamp; + $message=~s/^/$stamp/gm; + realdie $message; } sub set_message { diff --git a/gnu/usr.bin/perl/lib/CGI/Fast.pm b/gnu/usr.bin/perl/lib/CGI/Fast.pm index a39fe052e86..b4851862dca 100644 --- a/gnu/usr.bin/perl/lib/CGI/Fast.pm +++ b/gnu/usr.bin/perl/lib/CGI/Fast.pm @@ -16,7 +16,7 @@ package CGI::Fast; # The most recent version and complete docs are available at: # http://www.genome.wi.mit.edu/ftp/pub/software/WWW/cgi_docs.html # ftp://ftp-genome.wi.mit.edu/pub/software/WWW/ -$CGI::Fast::VERSION='1.01'; +$CGI::Fast::VERSION='1.02'; use CGI; use FCGI; @@ -170,5 +170,5 @@ This section intentionally left blank. =head1 SEE ALSO L, L - + =cut diff --git a/gnu/usr.bin/perl/lib/CGI/Push.pm b/gnu/usr.bin/perl/lib/CGI/Push.pm index e4a66aee72d..80683a2e800 100644 --- a/gnu/usr.bin/perl/lib/CGI/Push.pm +++ b/gnu/usr.bin/perl/lib/CGI/Push.pm @@ -257,7 +257,7 @@ as shown below: h1('testing'), "This page called $counter times"; } - + sub my_last_page { header(-refresh=>'5; URL=http://somewhere.else/finished.html', -type=>'text/html'), diff --git a/gnu/usr.bin/perl/lib/CGI/Switch.pm b/gnu/usr.bin/perl/lib/CGI/Switch.pm index 8afc6a6cb34..b16b9c06584 100644 --- a/gnu/usr.bin/perl/lib/CGI/Switch.pm +++ b/gnu/usr.bin/perl/lib/CGI/Switch.pm @@ -1,71 +1,24 @@ -package CGI::Switch; -use Carp; -use strict; -use vars qw($VERSION @Pref); -$VERSION = '0.06'; -@Pref = qw(CGI::Apache CGI); #default - -sub import { - my($self,@arg) = @_; - @Pref = @arg if @arg; -} - -sub new { - shift; - my($file,$pack); - for $pack (@Pref) { - ($file = $pack) =~ s|::|/|g; - eval { require "$file.pm"; }; - if ($@) { -#XXX warn $@; - next; - } else { -#XXX warn "Going to try $pack\->new\n"; - my $obj; - eval {$obj = $pack->new(@_)}; - if ($@) { -#XXX warn $@; - } else { - return $obj; - } - } - } - Carp::croak "Couldn't load+construct any of @Pref\n"; -} - +use CGI; 1; + __END__ =head1 NAME -CGI::Switch - Try more than one constructors and return the first object available +CGI::Switch - Backward compatibility module for defunct CGI::Switch =head1 SYNOPSIS - - use CGISwitch; - - -or- +Do not use this module. It is deprecated. - use CGI::Switch This, That, CGI::XA, Foo, Bar, CGI; - - my $q = new CGI::Switch; +=head1 ABSTRACT =head1 DESCRIPTION -Per default the new() method tries to call new() in the three packages -Apache::CGI, CGI::XA, and CGI. It returns the first CGI object it -succeeds with. +=head1 AUTHOR INFORMATION -The import method allows you to set up the default order of the -modules to be tested. +=head1 BUGS =head1 SEE ALSO -perl(1), Apache(3), CGI(3), CGI::XA(3) - -=head1 AUTHOR - -Andreas KEnig Ea.koenig@mind.deE - =cut diff --git a/gnu/usr.bin/perl/lib/CPAN.pm b/gnu/usr.bin/perl/lib/CPAN.pm index 5e2126912b2..e08f7148fc3 100644 --- a/gnu/usr.bin/perl/lib/CPAN.pm +++ b/gnu/usr.bin/perl/lib/CPAN.pm @@ -6,13 +6,13 @@ use vars qw{$Try_autoload $Frontend $Defaultsite }; #}; -$VERSION = '1.48'; +$VERSION = '1.52'; -# $Id: CPAN.pm,v 1.2 1999/04/29 22:51:43 millert Exp $ +# $Id: CPAN.pm,v 1.3 2000/04/06 17:06:01 millert Exp $ # only used during development: $Revision = ""; -# $Revision = "[".substr(q$Revision: 1.2 $, 10)."]"; +# $Revision = "[".substr(q$Revision: 1.3 $, 10)."]"; use Carp (); use Config (); @@ -61,7 +61,7 @@ use strict qw(vars); @CPAN::ISA = qw(CPAN::Debug Exporter); @EXPORT = qw( - autobundle bundle expand force get + autobundle bundle expand force get cvs_import install make readme recompile shell test clean ); @@ -90,7 +90,7 @@ sub AUTOLOAD { #-> sub CPAN::shell ; sub shell { my($self) = @_; - $Suppress_readline ||= ! -t STDIN; + $Suppress_readline = ! -t STDIN unless defined $Suppress_readline; CPAN::Config->load unless $CPAN::Config_loaded++; my $prompt = "cpan> "; @@ -113,6 +113,12 @@ sub shell { $readline::rl_completion_function = $readline::rl_completion_function = 'CPAN::Complete::cpl'; } + # $term->OUT is autoflushed anyway + my $odef = select STDERR; + $| = 1; + select STDOUT; + $| = 1; + select $odef; } no strict; @@ -120,7 +126,8 @@ sub shell { my $getcwd; $getcwd = $CPAN::Config->{'getcwd'} || 'cwd'; my $cwd = CPAN->$getcwd(); - my $try_detect_readline = $term->ReadLine eq "Term::ReadLine::Stub"; + my $try_detect_readline; + $try_detect_readline = $term->ReadLine eq "Term::ReadLine::Stub" if $term; my $rl_avail = $Suppress_readline ? "suppressed" : ($term->ReadLine ne "Term::ReadLine::Stub") ? "enabled" : "available (try ``install Bundle::CPAN'')"; @@ -190,7 +197,8 @@ ReadLine support $rl_avail my $redef; local($SIG{__WARN__}) = CPAN::Shell::dotdot_onreload(\$redef); require Term::ReadLine; - $CPAN::Frontend->myprint("\n$redef subroutines in Term::ReadLine redefined\n"); + $CPAN::Frontend->myprint("\n$redef subroutines in ". + "Term::ReadLine redefined\n"); goto &shell; } } @@ -285,7 +293,7 @@ sub try_dot_al { $pkg =~ s|::|/|g; if (defined($name=$INC{"$pkg.pm"})) { - $name =~ s|^(.*)$pkg\.pm$|$1auto/$pkg/$func.al|; + $name =~ s|^(.*)$pkg\.pm\z|$1auto/$pkg/$func.al|s; $name = undef unless (-r $name); } unless (defined $name) @@ -301,7 +309,7 @@ sub try_dot_al { *$autoload = sub {}; $ok = 1; } else { - if ($name =~ s{(\w{12,})\.al$}{substr($1,0,11).".al"}e){ + if ($name =~ s{(\w{12,})\.al\z}{substr($1,0,11).".al"}e){ eval {local $SIG{__DIE__};require $name}; } if ($@){ @@ -539,7 +547,40 @@ You may want to kill it and delete the lockfile, maybe. On UNIX try: } } } - File::Path::mkpath($CPAN::Config->{cpan_home}); + my $dotcpan = $CPAN::Config->{cpan_home}; + eval { File::Path::mkpath($dotcpan);}; + if ($@) { + # A special case at least for Jarkko. + my $firsterror = $@; + my $seconderror; + my $symlinkcpan; + if (-l $dotcpan) { + $symlinkcpan = readlink $dotcpan; + die "readlink $dotcpan failed: $!" unless defined $symlinkcpan; + eval { File::Path::mkpath($symlinkcpan); }; + if ($@) { + $seconderror = $@; + } else { + $CPAN::Frontend->mywarn(qq{ +Working directory $symlinkcpan created. +}); + } + } + unless (-d $dotcpan) { + my $diemess = qq{ +Your configuration suggests "$dotcpan" as your +CPAN.pm working directory. I could not create this directory due +to this error: $firsterror\n}; + $diemess .= qq{ +As "$dotcpan" is a symlink to "$symlinkcpan", +I tried to create that, but I failed with this error: $seconderror +} if $seconderror; + $diemess .= qq{ +Please make sure the directory exists and is writable. +}; + $CPAN::Frontend->mydie($diemess); + } + } my $fh; unless ($fh = FileHandle->new(">$lockfile")) { if ($! =~ /Permission/) { @@ -580,6 +621,27 @@ or print "Caught SIGINT\n"; $Signal++; }; + +# From: Larry Wall +# Subject: Re: deprecating SIGDIE +# To: perl5-porters@perl.org +# Date: Thu, 30 Sep 1999 14:58:40 -0700 (PDT) +# +# The original intent of __DIE__ was only to allow you to substitute one +# kind of death for another on an application-wide basis without respect +# to whether you were in an eval or not. As a global backstop, it should +# not be used any more lightly (or any more heavily :-) than class +# UNIVERSAL. Any attempt to build a general exception model on it should +# be politely squashed. Any bug that causes every eval {} to have to be +# modified should be not so politely squashed. +# +# Those are my current opinions. It is also my optinion that polite +# arguments degenerate to personal arguments far too frequently, and that +# when they do, it's because both people wanted it to, or at least didn't +# sufficiently want it not to. +# +# Larry + $SIG{'__DIE__'} = \&cleanup; $self->debug("Signal handler set.") if $CPAN::DEBUG; } @@ -784,7 +846,7 @@ sub disk_usage { if ($^O eq 'MacOS') { require Mac::Files; my $cat = Mac::Files::FSpGetCatInfo($_); - $Du += $cat->ioFlLgLen() + $cat->ioFlRLgLen(); + $Du += $cat->ioFlLgLen() + $cat->ioFlRLgLen() if $cat; } else { $Du += (-s _); } @@ -1103,7 +1165,8 @@ Known options: commit commit session changes to disk init go through a dialog to set all parameters -You may edit key values in the follow fashion: +You may edit key values in the follow fashion (the "o" is a literal +letter o): o conf build_cache 15 @@ -1149,29 +1212,29 @@ sub h { $CPAN::Frontend->myprint("Detailed help not yet implemented\n"); } else { $CPAN::Frontend->myprint(q{ -command arguments description -a string authors -b or display bundles -d /regex/ info distributions -m or about modules -i none anything of above - -r as reinstall recommendations -u above uninstalled distributions -See manpage for autobundle, recompile, force, look, etc. - -make make -test modules, make test (implies make) -install dists, bundles, make install (implies test) -clean "r" or "u" make clean -readme display the README file - -reload index|cpan load most recent indices/CPAN.pm -h or ? display this menu -o various set and query options -! perl-code eval a perl command -q quit the shell subroutine -}); +Display Information + a authors + b string display bundles + d or info distributions + m /regex/ about modules + i or anything of above + r none reinstall recommendations + u uninstalled distributions + +Download, Test, Make, Install... + get download + make make (implies get) + test modules, make test (implies make) + install dists, bundles make install (implies test) + clean make clean + look open subshell in these dists' directories + readme display these dists' README files + +Other + h,? display this menu ! perl-code eval a perl command + o conf [opt] set and query options q quit the cpan shell + reload cpan load CPAN.pm again reload index load newer indices + autobundle Snapshot force cmd unconditionally do cmd}); } } @@ -1190,7 +1253,7 @@ sub b { my($entry); for $entry ($dh->read) { next if -d MM->catdir($bdir,$entry); - next unless $entry =~ s/\.pm$//; + next unless $entry =~ s/\.pm\z//; $CPAN::META->instance('CPAN::Bundle',"Bundle::$entry"); } } @@ -1293,10 +1356,13 @@ sub o { } } } else { - $CPAN::Frontend->myprint("Valid options for debug are ". - join(", ",sort(keys %CPAN::DEBUG), 'all'). - qq{ or a number. Completion works on the options. }. - qq{Case is ignored.\n\n}); + my $raw = "Valid options for debug are ". + join(", ",sort(keys %CPAN::DEBUG), 'all'). + qq{ or a number. Completion works on the options. }. + qq{Case is ignored.}; + require Text::Wrap; + $CPAN::Frontend->myprint(Text::Wrap::fill("","",$raw)); + $CPAN::Frontend->myprint("\n\n"); } if ($CPAN::DEBUG) { $CPAN::Frontend->myprint("Options set for debugging:\n"); @@ -1358,7 +1424,7 @@ index re-reads the index files\n}); sub _binary_extensions { my($self) = shift @_; my(@result,$module,%seen,%need,$headerdone); - my $isaperl = q{perl5[._-]\\d{3}(_[0-4][0-9])?\\.tar[._-]gz$}; + my $isaperl = q{perl5[._-]\\d{3}(_[0-4][0-9])?\\.tar[._-]gz\z}; for $module ($self->expand('Module','/./')) { my $file = $module->cpan_file; next if $file eq "N/A"; @@ -1562,21 +1628,34 @@ sub expand { my $class = "CPAN::$type"; my $obj; if (defined $regex) { - for $obj ( sort {$a->id cmp $b->id} $CPAN::META->all_objects($class)) { - push @m, $obj - if - $obj->id =~ /$regex/i - or + for $obj ( + sort + {$a->id cmp $b->id} + $CPAN::META->all_objects($class) + ) { + unless ($obj->id){ + # BUG, we got an empty object somewhere + CPAN->debug(sprintf( + "Empty id on obj[%s]%%[%s]", + $obj, + join(":", %$obj) + )) if $CPAN::DEBUG; + next; + } + push @m, $obj + if $obj->id =~ /$regex/i + or ( ( - $] < 5.00303 ### provide sort of compatibility with 5.003 + $] < 5.00303 ### provide sort of + ### compatibility with 5.003 || $obj->can('name') ) && $obj->name =~ /$regex/i ); - } + } } else { my($xarg) = $arg; if ( $type eq 'Bundle' ) { @@ -1670,6 +1749,15 @@ sub mydie { die "\n"; } +sub setup_output { + return if -t STDOUT; + my $odef = select STDERR; + $| = 1; + select STDOUT; + $| = 1; + select $odef; +} + #-> sub CPAN::Shell::rematein ; # RE-adme||MA-ke||TE-st||IN-stall sub rematein { @@ -1680,6 +1768,7 @@ sub rematein { $pragma = $meth; $meth = shift @some; } + setup_output(); CPAN->debug("pragma[$pragma]meth[$meth] some[@some]") if $CPAN::DEBUG; my($s,@s); foreach $s (@some) { @@ -1756,6 +1845,8 @@ sub install { shift->rematein('install',@_); } sub clean { shift->rematein('clean',@_); } #-> sub CPAN::Shell::look ; sub look { shift->rematein('look',@_); } +#-> sub CPAN::Shell::cvs_import ; +sub cvs_import { shift->rematein('cvs_import',@_); } package CPAN::FTP; @@ -1932,6 +2023,9 @@ sub localize { my $ret = $self->$method(\@host_seq,$file,$aslocal); if ($ret) { $Themethod = $level; + my $now = time; + # utime $now, $now, $aslocal; # too bad, if we do that, we + # might alter a local mirror $self->debug("level[$level]") if $CPAN::DEBUG; return $ret; } else { @@ -1985,7 +2079,7 @@ sub hosteasy { $l =~ s|^file:||; # assume they # meant # file://localhost - $l =~ s|^/|| unless -f $l; # e.g. /P: + $l =~ s|^/||s unless -f $l; # e.g. /P: } if ( -f $l && -r _) { $Thesite = $i; @@ -2012,8 +2106,11 @@ sub hosteasy { my $res = $Ua->mirror($url, $aslocal); if ($res->is_success) { $Thesite = $i; + my $now = time; + utime $now, $now, $aslocal; # download time is more + # important than upload time return $aslocal; - } elsif ($url !~ /\.gz$/) { + } elsif ($url !~ /\.gz\z/) { my $gzurl = "$url.gz"; $CPAN::Frontend->myprint("Fetching with LWP: $gzurl @@ -2050,7 +2147,7 @@ sub hosteasy { $Thesite = $i; return $aslocal; } - if ($aslocal !~ /\.gz$/) { + if ($aslocal !~ /\.gz\z/) { my $gz = "$aslocal.gz"; $CPAN::Frontend->myprint("Fetching with Net::FTP $url.gz @@ -2086,8 +2183,8 @@ sub hosthard { HOSTHARD: for $i (@$host_seq) { my $url = $CPAN::Config->{urllist}[$i] || $CPAN::Defaultsite; unless ($self->is_reachable($url)) { - $CPAN::Frontend->myprint("Skipping $url (not reachable)\n"); - next; + $CPAN::Frontend->myprint("Skipping $url (not reachable)\n"); + next; } $url .= "/" unless substr($url,-1) eq "/"; $url .= $file; @@ -2097,90 +2194,107 @@ sub hosthard { # if ($url =~ m|^ftp://(.*?)/(.*)/(.*)|) { # to if ($url =~ m|^([^:]+)://(.*?)/(.*)/(.*)|) { - # proto not yet used - ($proto,$host,$dir,$getfile) = ($1,$2,$3,$4); + # proto not yet used + ($proto,$host,$dir,$getfile) = ($1,$2,$3,$4); } else { - next HOSTHARD; # who said, we could ftp anything except ftp? + next HOSTHARD; # who said, we could ftp anything except ftp? } + $self->debug("localizing funkyftpwise[$url]") if $CPAN::DEBUG; my($f,$funkyftp); for $f ('lynx','ncftpget','ncftp') { - next unless exists $CPAN::Config->{$f}; - $funkyftp = $CPAN::Config->{$f}; - next unless defined $funkyftp; - next if $funkyftp =~ /^\s*$/; - my($want_compressed); - my $aslocal_uncompressed; - ($aslocal_uncompressed = $aslocal) =~ s/\.gz//; - my($source_switch) = ""; - $source_switch = " -source" if $funkyftp =~ /\blynx$/; - $source_switch = " -c" if $funkyftp =~ /\bncftp$/; - $CPAN::Frontend->myprint( - qq[ + next unless exists $CPAN::Config->{$f}; + $funkyftp = $CPAN::Config->{$f}; + next unless defined $funkyftp; + next if $funkyftp =~ /^\s*$/; + my($want_compressed); + my $aslocal_uncompressed; + ($aslocal_uncompressed = $aslocal) =~ s/\.gz//; + my($source_switch) = ""; + if ($f eq "lynx"){ + $source_switch = " -source"; + } elsif ($f eq "ncftp"){ + $source_switch = " -c"; + } + my($chdir) = ""; + my($stdout_redir) = " > $aslocal_uncompressed"; + if ($f eq "ncftpget"){ + $chdir = "cd $aslocal_dir && "; + $stdout_redir = ""; + } + $CPAN::Frontend->myprint( + qq[ Trying with "$funkyftp$source_switch" to get $url ]); - my($system) = "$funkyftp$source_switch '$url' $devnull > ". - "$aslocal_uncompressed"; + my($system) = + "$chdir$funkyftp$source_switch '$url' $devnull$stdout_redir"; + $self->debug("system[$system]") if $CPAN::DEBUG; + my($wstatus); + if (($wstatus = system($system)) == 0 + && + ($f eq "lynx" ? + -s $aslocal_uncompressed # lynx returns 0 on my + # system even if it fails + : 1 + ) + ) { + if (-s $aslocal) { + # Looks good + } elsif ($aslocal_uncompressed ne $aslocal) { + # test gzip integrity + if ( + CPAN::Tarzip->gtest($aslocal_uncompressed) + ) { + rename $aslocal_uncompressed, $aslocal; + } else { + CPAN::Tarzip->gzip($aslocal_uncompressed, + "$aslocal_uncompressed.gz"); + } + } + $Thesite = $i; + return $aslocal; + } elsif ($url !~ /\.gz\z/) { + unlink $aslocal_uncompressed if + -f $aslocal_uncompressed && -s _ == 0; + my $gz = "$aslocal.gz"; + my $gzurl = "$url.gz"; + $CPAN::Frontend->myprint( + qq[ +Trying with "$funkyftp$source_switch" to get + $url.gz +]); + my($system) = "$funkyftp$source_switch '$url.gz' $devnull > ". + "$aslocal_uncompressed.gz"; $self->debug("system[$system]") if $CPAN::DEBUG; my($wstatus); if (($wstatus = system($system)) == 0 && - -s $aslocal_uncompressed # lynx returns 0 on my - # system even if it fails + -s "$aslocal_uncompressed.gz" ) { - if ($aslocal_uncompressed ne $aslocal) { - # test gzip integrity - if ( - CPAN::Tarzip->gtest($aslocal_uncompressed) - ) { - rename $aslocal_uncompressed, $aslocal; - } else { - CPAN::Tarzip->gzip($aslocal_uncompressed, - "$aslocal_uncompressed.gz"); - } - } - $Thesite = $i; - return $aslocal; - } elsif ($url !~ /\.gz$/) { - unlink $aslocal_uncompressed if - -f $aslocal_uncompressed && -s _ == 0; - my $gz = "$aslocal.gz"; - my $gzurl = "$url.gz"; - $CPAN::Frontend->myprint( - qq[ -Trying with "$funkyftp$source_switch" to get - $url.gz -]); - my($system) = "$funkyftp$source_switch '$url.gz' $devnull > ". - "$aslocal_uncompressed.gz"; - $self->debug("system[$system]") if $CPAN::DEBUG; - my($wstatus); - if (($wstatus = system($system)) == 0 - && - -s "$aslocal_uncompressed.gz" - ) { - # test gzip integrity - if (CPAN::Tarzip->gtest("$aslocal_uncompressed.gz")) { - CPAN::Tarzip->gunzip("$aslocal_uncompressed.gz", - $aslocal); - } else { - rename $aslocal_uncompressed, $aslocal; - } - $Thesite = $i; - return $aslocal; + # test gzip integrity + if (CPAN::Tarzip->gtest("$aslocal_uncompressed.gz")) { + CPAN::Tarzip->gunzip("$aslocal_uncompressed.gz", + $aslocal); } else { - unlink "$aslocal_uncompressed.gz" if - -f "$aslocal_uncompressed.gz"; + rename $aslocal_uncompressed, $aslocal; } + $Thesite = $i; + return $aslocal; } else { - my $estatus = $wstatus >> 8; - my $size = -f $aslocal ? ", left\n$aslocal with size ".-s _ : ""; - $CPAN::Frontend->myprint(qq{ + unlink "$aslocal_uncompressed.gz" if + -f "$aslocal_uncompressed.gz"; + } + } else { + my $estatus = $wstatus >> 8; + my $size = -f $aslocal ? + ", left\n$aslocal with size ".-s _ : + "\nWarning: expected file [$aslocal] doesn't exist"; + $CPAN::Frontend->myprint(qq{ System call "$system" returned status $estatus (wstat $wstatus)$size }); - } + } } } } @@ -2208,12 +2322,12 @@ sub hosthardest { next; } my($host,$dir,$getfile) = ($1,$2,$3); - my($netrcfile,$fh); my $timestamp = 0; my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, $ctime,$blksize,$blocks) = stat($aslocal); $timestamp = $mtime ||= 0; my($netrc) = CPAN::FTP::netrc->new; + my($netrcfile) = $netrc->netrc; my($verbose) = $CPAN::DEBUG{'FTP'} & $CPAN::DEBUG ? " -v" : ""; my $targetfile = File::Basename::basename($aslocal); my(@dialog); @@ -2226,7 +2340,7 @@ sub hosthardest { "get $getfile $targetfile", "quit" ); - if (! $netrc->netrc) { + if (! $netrcfile) { CPAN->debug("No ~/.netrc file found") if $CPAN::DEBUG; } elsif ($netrc->hasdefault || $netrc->contains($host)) { CPAN->debug(sprintf("hasdef[%d]cont($host)[%d]", @@ -2463,10 +2577,10 @@ sub cpl { /^$word/, sort qw( ! a b d h i m o q r u autobundle clean - make test install force reload look + make test install force reload look cvs_import ) ); - } elsif ( $line !~ /^[\!abdhimorutl]/ ) { + } elsif ( $line !~ /^[\!abcdhimorutl]/ ) { @return = (); } elsif ($line =~ /^a\s/) { @return = cplx('CPAN::Author',$word); @@ -2474,7 +2588,7 @@ sub cpl { @return = cplx('CPAN::Bundle',$word); } elsif ($line =~ /^d\s/) { @return = cplx('CPAN::Distribution',$word); - } elsif ($line =~ /^([mru]|make|clean|test|install|readme|look)\s/ ) { + } elsif ($line =~ /^([mru]|make|clean|test|install|readme|look|cvs_import)\s/ ) { @return = (cplx('CPAN::Module',$word),cplx('CPAN::Bundle',$word)); } elsif ($line =~ /^i\s/) { @return = cpl_any($word); @@ -2552,10 +2666,15 @@ sub reload { # XXX check if a newer one is available. (We currently read it # from time to time) for ($CPAN::Config->{index_expire}) { - $_ = 0.001 unless $_ > 0.001; + $_ = 0.001 unless $_ && $_ > 0.001; } return if $last_time + $CPAN::Config->{index_expire}*86400 > $time and ! $force; + ## IFF we are developing, it helps to wipe out the memory between + ## reloads, otherwise it is not what a user expects. + + ## undef $CPAN::META; # Neue Gruendlichkeit since v1.52(r1.274) + ## $CPAN::META = CPAN->new; my($debug,$t2); $last_time = $time; @@ -2675,7 +2794,7 @@ sub rd_modpacks { my($mod,$version,$dist) = split; ### $version =~ s/^\+//; - # if it is a bundle, instatiate a bundle object + # if it is a bundle, instantiate a bundle object my($bundle,$id,$userid); if ($mod eq 'CPAN' && @@ -2688,6 +2807,7 @@ sub rd_modpacks { if ($version > $CPAN::VERSION){ $CPAN::Frontend->myprint(qq{ There\'s a new CPAN.pm version (v$version) available! + [Current version is v$CPAN::VERSION] You might want to try install Bundle::CPAN reload cpan @@ -2731,12 +2851,20 @@ sub rd_modpacks { } # instantiate a distribution object - unless ($CPAN::META->exists('CPAN::Distribution',$dist)) { - $CPAN::META->instance( - 'CPAN::Distribution' => $dist - )->set( - 'CPAN_USERID' => $userid - ); + if ($CPAN::META->exists('CPAN::Distribution',$dist)) { + # we do not need CONTAINSMODS unless we do something with + # this dist, so we better produce it on demand. + + ## my $obj = $CPAN::META->instance( + ## 'CPAN::Distribution' => $dist + ## ); + ## $obj->{CONTAINSMODS}{$mod} = undef; # experimental + } else { + $CPAN::META->instance( + 'CPAN::Distribution' => $dist + )->set( + 'CPAN_USERID' => $userid + ); } return if $CPAN::Signal; @@ -2829,9 +2957,15 @@ sub as_string { $extra .= ")"; } if (ref($self->{$_}) eq "ARRAY") { # language interface? XXX - push @m, sprintf " %-12s %s%s\n", $_, "@{$self->{$_}}", $extra; + push @m, sprintf " %-12s %s%s\n", $_, "@{$self->{$_}}", $extra; + } elsif (ref($self->{$_}) eq "HASH") { + push @m, sprintf( + " %-12s %s%s\n", + $_, + join(" ",keys %{$self->{$_}}), + $extra); } else { - push @m, sprintf " %-12s %s%s\n", $_, $self->{$_}, $extra; + push @m, sprintf " %-12s %s%s\n", $_, $self->{$_}, $extra; } } join "", @m, "\n"; @@ -2843,6 +2977,12 @@ sub author { $CPAN::META->instance(CPAN::Author,$self->{CPAN_USERID})->fullname; } +sub dump { + my($self) = @_; + require Data::Dumper; + Data::Dumper::Dumper($self); +} + package CPAN::Author; #-> sub CPAN::Author::as_glimpse ; @@ -2870,6 +3010,25 @@ sub email { shift->{'EMAIL'} } package CPAN::Distribution; +#-> sub CPAN::Distribution::as_string ; +sub as_string { + my $self = shift; + $self->containsmods; + $self->SUPER::as_string(@_); +} + +#-> sub CPAN::Distribution::containsmods ; +sub containsmods { + my $self = shift; + return if exists $self->{CONTAINSMODS}; + for my $mod ($CPAN::META->all_objects("CPAN::Module")) { + my $mod_file = $mod->{CPAN_FILE} or next; + my $dist_id = $self->{ID} or next; + my $mod_id = $mod->{ID} or next; + $self->{CONTAINSMODS}{$mod_id} = undef if $mod_file eq $dist_id; + } +} + #-> sub CPAN::Distribution::called_for ; sub called_for { my($self,$id) = @_; @@ -2919,11 +3078,11 @@ sub get { $self->debug("Changed directory to tmp") if $CPAN::DEBUG; if (! $local_file) { Carp::croak "bad download, can't do anything :-(\n"; - } elsif ($local_file =~ /(\.tar\.(gz|Z)|\.tgz)$/i){ + } elsif ($local_file =~ /(\.tar\.(gz|Z)|\.tgz)\z/i){ $self->untar_me($local_file); - } elsif ( $local_file =~ /\.zip$/i ) { + } elsif ( $local_file =~ /\.zip\z/i ) { $self->unzip_me($local_file); - } elsif ( $local_file =~ /\.pm\.(gz|Z)$/) { + } elsif ( $local_file =~ /\.pm\.(gz|Z)\z/) { $self->pm2dir_me($local_file); } else { $self->{archived} = "NO"; @@ -2934,7 +3093,7 @@ sub get { # Let's check if the package has its own directory. my $dh = DirHandle->new(File::Spec->curdir) or Carp::croak("Couldn't opendir .: $!"); - my @readdir = grep $_ !~ /^\.\.?$/, $dh->read; ### MAC?? + my @readdir = grep $_ !~ /^\.\.?\z/s, $dh->read; ### MAC?? $dh->close; my ($distdir,$packagedir); if (@readdir == 1 && -d $readdir[0]) { @@ -3024,7 +3183,7 @@ sub pm2dir_me { my($self,$local_file) = @_; $self->{archived} = "pm"; my $to = File::Basename::basename($local_file); - $to =~ s/\.(gz|Z)$//; + $to =~ s/\.(gz|Z)\z//; if (CPAN::Tarzip->gunzip($local_file,$to)) { $self->{unwrapped} = "YES"; } else { @@ -3075,6 +3234,44 @@ Please define it with "o conf shell " chdir($pwd); } +sub cvs_import { + my($self) = @_; + $self->get; + my $dir = $self->dir; + + my $package = $self->called_for; + my $module = $CPAN::META->instance('CPAN::Module', $package); + my $version = $module->cpan_version; + + my $userid = $self->{CPAN_USERID}; + + my $cvs_dir = (split '/', $dir)[-1]; + $cvs_dir =~ s/-\d+[^-]+\z//; + my $cvs_root = + $CPAN::Config->{cvsroot} || $ENV{CVSROOT}; + my $cvs_site_perl = + $CPAN::Config->{cvs_site_perl} || $ENV{CVS_SITE_PERL}; + if ($cvs_site_perl) { + $cvs_dir = "$cvs_site_perl/$cvs_dir"; + } + my $cvs_log = qq{"imported $package $version sources"}; + $version =~ s/\./_/g; + my @cmd = ('cvs', '-d', $cvs_root, 'import', '-m', $cvs_log, + "$cvs_dir", $userid, "v$version"); + + my $getcwd; + $getcwd = $CPAN::Config->{'getcwd'} || 'cwd'; + my $pwd = CPAN->$getcwd(); + chdir($dir); + + $CPAN::Frontend->myprint(qq{Working directory is $dir\n}); + + $CPAN::Frontend->myprint(qq{@cmd\n}); + system(@cmd) == 0 or + $CPAN::Frontend->mydie("cvs import failed"); + chdir($pwd); +} + #-> sub CPAN::Distribution::readme ; sub readme { my($self) = @_; @@ -3146,7 +3343,7 @@ sub verifyMD5 { $lc_file = CPAN::FTP->localize("authors/id/@local", "$lc_want.gz",1); if ($lc_file) { - $lc_file =~ s/\.gz$//; + $lc_file =~ s/\.gz\z//; CPAN::Tarzip->gunzip("$lc_file.gz",$lc_file); } else { return; @@ -3193,7 +3390,7 @@ sub MD5_check_file { my $md5 = MD5->new; my($data,$ref); $ref = \$data; - while ($fh->READ($ref, 4096)){ + while ($fh->READ($ref, 4096) > 0){ $md5->add($data); } my $hexdigest = $md5->hexdigest; @@ -3257,7 +3454,7 @@ sub force { $self->{'force_update'}++; for my $att (qw( MD5_STATUS archived build_dir localfile make install unwrapped - writemakefile have_sponsored + writemakefile )) { delete $self->{$att}; } @@ -3271,8 +3468,8 @@ sub isa_perl { ([._-]) (\d{3}(_[0-4][0-9])?) \.tar[._-]gz - $ - }x; + \z + }xs; "$1.$3"; } @@ -3338,8 +3535,8 @@ or "had problems unarchiving. Please build manually"; exists $self->{writemakefile} && - $self->{writemakefile} eq "NO" and push @e, - "Had some problem writing Makefile"; + $self->{writemakefile} =~ m/ ^ NO\s* ( .* ) /sx and push @e, + $1 || "Had some problem writing Makefile"; defined $self->{'make'} and push @e, "Has already been processed within this session"; @@ -3396,18 +3593,27 @@ or kill 9, $pid; waitpid $pid, 0; $CPAN::Frontend->myprint($@); - $self->{writemakefile} = "NO - $@"; + $self->{writemakefile} = "NO $@"; $@ = ""; return; } } else { $ret = system($system); if ($ret != 0) { - $self->{writemakefile} = "NO"; + $self->{writemakefile} = "NO Makefile.PL returned status $ret"; return; } } - $self->{writemakefile} = "YES"; + if (-f "Makefile") { + $self->{writemakefile} = "YES"; + } else { + $self->{writemakefile} = + qq{NO Makefile.PL refused to write a Makefile.}; + # It's probably worth to record the reason, so let's retry + # local $/; + # my $fh = IO::File->new("$system |"); # STDERR? STDIN? + # $self->{writemakefile} .= <$fh>; + } } return if $CPAN::Signal; if (my @prereq = $self->needs_prereq){ @@ -3441,7 +3647,7 @@ of modules we are processing right now?", "yes"); $CPAN::Frontend->myprint(" $system -- OK\n"); $self->{'make'} = "YES"; } else { - $self->{writemakefile} = "YES"; + $self->{writemakefile} ||= "YES"; $self->{'make'} = "NO"; $CPAN::Frontend->myprint(" $system -- NOT OK\n"); } @@ -3474,7 +3680,7 @@ sub needs_prereq { next if $mo->uptodate; # it's not needed, so don't push it. We cannot omit this step, because # if 'force' is in effect, nobody else will check. - if ($self->{'have_sponsored'}{$p}++){ + if ($self->{have_sponsored}{$p}++){ # We have already sponsored it and for some reason it's still # not available. So we do nothing. Or what should we do? # if we push it again, we have a potential infinite loop @@ -3657,13 +3863,14 @@ sub contains { my $fh = FileHandle->new; local $/ = "\n"; open($fh,$parsefile) or die "Could not open '$parsefile': $!"; - my $inpod = 0; + my $in_cont = 0; $self->debug("parsefile[$parsefile]") if $CPAN::DEBUG; while (<$fh>) { - $inpod = m/^=(?!head1\s+CONTENTS)/ ? 0 : - m/^=head1\s+CONTENTS/ ? 1 : $inpod; - next unless $inpod; + $in_cont = m/^=(?!head1\s+CONTENTS)/ ? 0 : + m/^=head1\s+CONTENTS/ ? 1 : $in_cont; + next unless $in_cont; next if /^=/; + s/\#.*//; next if /^\s+$/; chomp; push @result, (split " ", $_, 2)[0]; @@ -3709,7 +3916,7 @@ sub find_bundle_file { $what2 =~ s/:Bundle://; $what2 =~ tr|:|/|; } else { - $what2 =~ s|Bundle/||; + $what2 =~ s|Bundle[/\\]||; } my $bu; while (<$fh>) { @@ -3775,13 +3982,19 @@ explicitly a file $s. # recap with less noise if ( $meth eq "install") { if (%fail) { - $CPAN::Frontend->myprint(qq{\nBundle summary: }. - qq{The following items seem to }. - qq{have had installation problems:\n}); + require Text::Wrap; + my $raw = sprintf(qq{Bundle summary: +The following items in bundle %s had installation problems:}, + $self->id + ); + $CPAN::Frontend->myprint(Text::Wrap::fill("","",$raw)); + $CPAN::Frontend->myprint("\n"); + my $paragraph = ""; for $s ($self->contains) { - $CPAN::Frontend->myprint( "$s " ) if $fail{$s}; + $paragraph .= "$s " if $fail{$s}; } - $CPAN::Frontend->myprint(qq{\n}); + $CPAN::Frontend->myprint(Text::Wrap::fill(" "," ",$paragraph)); + $CPAN::Frontend->myprint("\n"); } else { $self->{'install'} = 'YES'; } @@ -3911,7 +4124,7 @@ sub as_string { sub manpage_headline { my($self,$local_file) = @_; my(@local_file) = $local_file; - $local_file =~ s/\.pm$/.pod/; + $local_file =~ s/\.pm\z/.pod/; push @local_file, $local_file; my(@result,$locf); for $locf (@local_file) { @@ -4011,6 +4224,8 @@ sub rematein { sub readme { shift->rematein('readme') } #-> sub CPAN::Module::look ; sub look { shift->rematein('look') } +#-> sub CPAN::Module::cvs_import ; +sub cvs_import { shift->rematein('cvs_import') } #-> sub CPAN::Module::get ; sub get { shift->rematein('get',@_); } #-> sub CPAN::Module::make ; @@ -4091,7 +4306,7 @@ sub inst_version { local($^W) = 0 if $] < 5.00303 && $ExtUtils::MakeMaker::VERSION < 5.38; # warn "HERE"; my $have = MM->parse_version($parsefile) || "undef"; - $have =~ s/\s+//g; + $have =~ s/\s*//g; # stringify to float around floating point issues $have; } @@ -4174,7 +4389,7 @@ sub READLINE { my $gz = $self->{GZ}; my($line,$bytesread); $bytesread = $gz->gzreadline($line); - return undef if $bytesread == 0; + return undef if $bytesread <= 0; return $line; } else { my $fh = $self->{FH}; @@ -4202,7 +4417,7 @@ sub DESTROY { $gz->gzclose(); } else { my $fh = $self->{FH}; - $fh->close; + $fh->close if defined $fh; } undef $self; } @@ -4213,29 +4428,30 @@ sub untar { if (MM->maybe_command($CPAN::Config->{'gzip'}) && MM->maybe_command($CPAN::Config->{'tar'})) { - if ($^O =~ /win/i) { # irgggh - # people find the most curious tar binaries that cannot handle - # pipes - my $system = "$CPAN::Config->{'gzip'} --decompress $file"; - if (system($system)==0) { - $CPAN::Frontend->myprint(qq{Uncompressed $file successfully\n}); - } else { - $CPAN::Frontend->mydie( - qq{Couldn\'t uncompress $file\n} - ); - } - $file =~ s/\.gz$//; - $system = "$CPAN::Config->{tar} xvf $file"; - if (system($system)==0) { - $CPAN::Frontend->myprint(qq{Untarred $file successfully\n}); - } else { - $CPAN::Frontend->mydie(qq{Couldn\'t untar $file\n}); - } - return 1; + my $system = "$CPAN::Config->{'gzip'} --decompress --stdout " . + "< $file | $CPAN::Config->{tar} xvf -"; + if (system($system) != 0) { + # people find the most curious tar binaries that cannot handle + # pipes + my $system = "$CPAN::Config->{'gzip'} --decompress $file"; + if (system($system)==0) { + $CPAN::Frontend->myprint(qq{Uncompressed $file successfully\n}); + } else { + $CPAN::Frontend->mydie( + qq{Couldn\'t uncompress $file\n} + ); + } + $file =~ s/\.gz\z//; + $system = "$CPAN::Config->{tar} xvf $file"; + $CPAN::Frontend->myprint(qq{Using Tar:$system:\n}); + if (system($system)==0) { + $CPAN::Frontend->myprint(qq{Untarred $file successfully\n}); + } else { + $CPAN::Frontend->mydie(qq{Couldn\'t untar $file\n}); + } + return 1; } else { - my $system = "$CPAN::Config->{'gzip'} --decompress --stdout " . - "< $file | $CPAN::Config->{tar} xvf -"; - return system($system) == 0; + return 1; } } elsif ($CPAN::META->has_inst("Archive::Tar") && @@ -4291,8 +4507,8 @@ Modules are fetched from one or more of the mirrored CPAN directory. The CPAN module also supports the concept of named and versioned -'bundles' of modules. Bundles simplify the handling of sets of -related modules. See BUNDLES below. +I of modules. Bundles simplify the handling of sets of +related modules. See Bundles below. The package contains a session manager and a cache manager. There is no status retained between sessions. The session manager keeps track @@ -4343,29 +4559,14 @@ objects. The parser recognizes a regular expression only if you enclose it between two slashes. The principle is that the number of found objects influences how an -item is displayed. If the search finds one item, the result is displayed -as object-Eas_string, but if we find more than one, we display -each as object-Eas_glimpse. E.g. - - cpan> a ANDK - Author id = ANDK - EMAIL a.koenig@franz.ww.TU-Berlin.DE - FULLNAME Andreas König - - - cpan> a /andk/ - Author id = ANDK - EMAIL a.koenig@franz.ww.TU-Berlin.DE - FULLNAME Andreas König - - - cpan> a /and.*rt/ - Author ANDYD (Andy Dougherty) - Author MERLYN (Randal L. Schwartz) +item is displayed. If the search finds one item, the result is +displayed with the rather verbose method C, but if we find +more than one, we display each object with the terse method +. =item make, test, install, clean modules or distributions -These commands take any number of arguments and investigates what is +These commands take any number of arguments and investigate what is necessary to perform the action. If the argument is a distribution file name (recognized by embedded slashes), it is processed. If it is a module, CPAN determines the distribution file in which this module @@ -4407,12 +4608,11 @@ A C command results in a being executed within the distribution file's working directory. -=item readme, look module or distribution +=item get, readme, look module or distribution -These two commands take only one argument, be it a module or a -distribution file. C unconditionally runs, displaying the -README of the associated distribution file. C gets and -untars (if not yet done) the distribution file, changes to the +C downloads a distribution file without further action. C +displays the README file of the associated distribution. C gets +and untars (if not yet done) the distribution file, changes to the appropriate directory and opens a subshell process in that directory. =item Signals @@ -4513,8 +4713,8 @@ functions in the calling package (C). There's currently only one class that has a stable interface - CPAN::Shell. All commands that are available in the CPAN shell are methods of the class CPAN::Shell. Each of the commands that produce -listings of modules (C, C, C) returns a list of the -IDs of all modules within the list. +listings of modules (C, C, C) also return a list of +the IDs of all modules within the list. =over 2 @@ -4549,6 +4749,41 @@ functionalities that are available in the shell. print "No VERSION in ", $mod->id, "\n"; } +Or if you want to write a cronjob to watch The CPAN, you could list +all modules that need updating: + + perl -e 'use CPAN; CPAN::Shell->r;' + +If you don't want to get any output if all modules are up to date, you +can parse the output of above command for the regular expression +//modules are up to date// and decide to mail the output only if it +doesn't match. Ick? + +If you prefer to do it more in a programmer style in one single +process, maybe something like this suites you better: + + # list all modules on my disk that have newer versions on CPAN + for $mod (CPAN::Shell->expand("Module","/./")){ + next unless $mod->inst_file; + next if $mod->uptodate; + printf "Module %s is installed as %s, could be updated to %s from CPAN\n", + $mod->id, $mod->inst_version, $mod->cpan_version; + } + +If that gives you too much output every day, you maybe only want to +watch for three modules. You can write + + for $mod (CPAN::Shell->expand("Module","/Apache|LWP|CGI/")){ + +as the first line instead. Or you can combine some of the above +tricks: + + # watch only for a new mod_perl module + $mod = CPAN::Shell->expand("Module","mod_perl"); + exit if $mod->uptodate; + # new mod_perl arrived, let me know all update recommendations + CPAN::Shell->r; + =back =head2 Methods in the four Classes @@ -4666,7 +4901,7 @@ you might use CPAN.pm to put together all you need on a networked machine. Then copy the $CPAN::Config->{keep_source_where} (but not $CPAN::Config->{build_dir}) directory on a floppy. This floppy is kind of a personal CPAN. CPAN.pm on the non-networked machines works nicely -with this floppy. +with this floppy. See also below the paragraph about CD-ROM support. =head1 CONFIGURATION @@ -4689,7 +4924,6 @@ defined: many seconds inactivity. Set to 0 to never break. inhibit_startup_message if true, does not print the startup message - keep_source keep the source in a local directory? keep_source_where directory in which to keep the source (if we do) make location of external make program make_arg arguments that should always be passed to 'make' @@ -4713,29 +4947,40 @@ shell with the command set defined within the C command: =over 2 -=item o conf Escalar optionE +=item Cscalar optionE> prints the current value of the I -=item o conf Escalar optionE EvalueE +=item Cscalar optionE EvalueE> Sets the value of the I to I -=item o conf Elist optionE +=item Clist optionE> prints the current value of the I in MakeMaker's neatvalue format. -=item o conf Elist optionE [shift|pop] +=item Clist optionE [shift|pop]> shifts or pops the array in the I variable -=item o conf Elist optionE [unshift|push|splice] ElistE +=item Clist optionE [unshift|push|splice] ElistE> works like the corresponding perl commands. =back +=head2 Note on urllist parameter's format + +urllist parameters are URLs according to RFC 1738. We do a little +guessing if your URL is not compliant, but if you have problems with file URLs, please try the correct format. Either: + + file://localhost/whatever/ftp/pub/CPAN/ + +or + + file:///home/ftp/pub/CPAN/ + =head2 urllist parameter has CD-ROM support The C parameter of the configuration table contains a list of @@ -4780,28 +5025,30 @@ To populate a freshly installed perl with my favorite modules is pretty easiest by maintaining a private bundle definition file. To get a useful blueprint of a bundle definition file, the command autobundle can be used on the CPAN shell command line. This command writes a bundle definition -file for all modules that re installed for the currently running perl +file for all modules that are installed for the currently running perl interpreter. It's recommended to run this command only once and from then on maintain the file manually under a private name, say Bundle/my_bundle.pm. With a clever bundle file you can then simply say cpan> install Bundle::my_bundle -then answer a few questions and then go out. +then answer a few questions and then go out for a coffee. -Maintaining a bundle definition file means to keep track of two things: -dependencies and interactivity. CPAN.pm (currently) does not take into -account dependencies between distributions, so a bundle definition file -should specify distributions that depend on others B the others. -On the other hand, it's a bit annoying that many distributions need some -interactive configuring. So what I try to accomplish in my private bundle -file is to have the packages that need to be configured early in the file -and the gentle ones later, so I can go out after a few minutes and leave -CPAN.pm unattained. +Maintaining a bundle definition file means to keep track of two +things: dependencies and interactivity. CPAN.pm sometimes fails on +calculating dependencies because not all modules define all MakeMaker +attributes correctly, so a bundle definition file should specify +prerequisites as early as possible. On the other hand, it's a bit +annoying that many distributions need some interactive configuring. So +what I try to accomplish in my private bundle file is to have the +packages that need to be configured early in the file and the gentle +ones later, so I can go out after a few minutes and leave CPAN.pm +unattained. =head1 WORKING WITH CPAN.pm BEHIND FIREWALLS -Thanks to Graham Barr for contributing the firewall following howto. +Thanks to Graham Barr for contributing the following paragraphs about +the interaction between perl, and various firewall configurations. Firewalls can be categorized into three basic types. @@ -4820,10 +5067,10 @@ ftp) you will need to use LWP. =item ftp firewall -This where the firewall machine runs a ftp server. This kind of firewall will -only let you access ftp serves outside the firewall. This is usually done by -connecting to the firewall with ftp, then entering a username like -"user@outside.host.com" +This where the firewall machine runs a ftp server. This kind of +firewall will only let you access ftp servers outside the firewall. +This is usually done by connecting to the firewall with ftp, then +entering a username like "user@outside.host.com" To access servers outside these type of firewalls with perl you will need to use Net::FTP. @@ -4860,7 +5107,7 @@ special compiling is need as you can access hosts directly. =head1 BUGS -We should give coverage for _all_ of the CPAN and not just the PAUSE +We should give coverage for B of the CPAN and not just the PAUSE part, right? In this discussion CPAN and PAUSE have become equal -- but they are not. PAUSE is authors/ and modules/. CPAN is PAUSE plus the clpa/, doc/, misc/, ports/, src/, scripts/. @@ -4875,7 +5122,7 @@ traditional method of building a Perl module package from a shell. =head1 AUTHOR -Andreas König Ea.koenig@kulturbox.deE +Andreas Koenig Eandreas.koenig@anima.deE =head1 SEE ALSO diff --git a/gnu/usr.bin/perl/lib/CPAN/FirstTime.pm b/gnu/usr.bin/perl/lib/CPAN/FirstTime.pm index 801304aa19a..193a559540f 100644 --- a/gnu/usr.bin/perl/lib/CPAN/FirstTime.pm +++ b/gnu/usr.bin/perl/lib/CPAN/FirstTime.pm @@ -16,7 +16,7 @@ use FileHandle (); use File::Basename (); use File::Path (); use vars qw($VERSION); -$VERSION = substr q$Revision: 1.2 $, 10; +$VERSION = substr q$Revision: 1.3 $, 10; =head1 NAME @@ -77,7 +77,9 @@ dialog anytime later by typing 'o conf init' at the cpan prompt.) *prompt = \&ExtUtils::MakeMaker::prompt; } else { $fastread = 1; - *prompt = sub { + $CPAN::Config->{urllist} ||= []; + # prototype should match that of &MakeMaker::prompt + *prompt = sub ($;$) { my($q,$a) = @_; my($ret) = defined $a ? $a : ""; printf qq{%s [%s]\n\n}, $q, $ret; @@ -358,16 +360,27 @@ sub conf_sites { require File::Copy; File::Copy::copy($m,$mby) or die "Could not update $mby: $!"; } - if ( ! -f $mby ){ - print qq{You have no $mby + my $loopcount = 0; + while () { + if ( ! -f $mby ){ + print qq{You have no $mby I\'m trying to fetch one }; - $mby = CPAN::FTP->localize($m,$mby,3); - } elsif (-M $mby > 30 ) { - print qq{Your $mby is older than 30 days, + $mby = CPAN::FTP->localize($m,$mby,3); + } elsif (-M $mby > 60 && $loopcount == 0) { + print qq{Your $mby is older than 60 days, I\'m trying to fetch one }; - $mby = CPAN::FTP->localize($m,$mby,3); + $mby = CPAN::FTP->localize($m,$mby,3); + $loopcount++; + } elsif (-s $mby == 0) { + print qq{You have an empty $mby, + I\'m trying to fetch one +}; + $mby = CPAN::FTP->localize($m,$mby,3); + } else { + last; + } } read_mirrored_by($mby); } diff --git a/gnu/usr.bin/perl/lib/CPAN/Nox.pm b/gnu/usr.bin/perl/lib/CPAN/Nox.pm index e9cb189f297..8b59ca07a14 100644 --- a/gnu/usr.bin/perl/lib/CPAN/Nox.pm +++ b/gnu/usr.bin/perl/lib/CPAN/Nox.pm @@ -1,7 +1,12 @@ package CPAN::Nox; +use strict; +use vars qw($VERSION @EXPORT); -BEGIN{$CPAN::Suppress_readline=1 unless defined $CPAN::term;} +BEGIN{ + $CPAN::Suppress_readline=1 unless defined $CPAN::term; +} +use base 'Exporter'; use CPAN; $VERSION = "1.00"; @@ -12,6 +17,8 @@ $CPAN::META->has_inst('Compress::Zlib','no'); *AUTOLOAD = \&CPAN::AUTOLOAD; +__END__ + =head1 NAME CPAN::Nox - Wrapper around CPAN.pm without using any XS module diff --git a/gnu/usr.bin/perl/lib/Carp.pm b/gnu/usr.bin/perl/lib/Carp.pm index f8f750a5d71..43524ddbe54 100644 --- a/gnu/usr.bin/perl/lib/Carp.pm +++ b/gnu/usr.bin/perl/lib/Carp.pm @@ -94,98 +94,8 @@ sub export_fail { # each function call on the stack. sub longmess { - return @_ if ref $_[0]; - my $error = join '', @_; - my $mess = ""; - my $i = 1 + $CarpLevel; - my ($pack,$file,$line,$sub,$hargs,$eval,$require); - my (@a); - # - # crawl up the stack.... - # - while (do { { package DB; @a = caller($i++) } } ) { - # get copies of the variables returned from caller() - ($pack,$file,$line,$sub,$hargs,undef,$eval,$require) = @a; - # - # if the $error error string is newline terminated then it - # is copied into $mess. Otherwise, $mess gets set (at the end of - # the 'else {' section below) to one of two things. The first time - # through, it is set to the "$error at $file line $line" message. - # $error is then set to 'called' which triggers subsequent loop - # iterations to append $sub to $mess before appending the "$error - # at $file line $line" which now actually reads "called at $file line - # $line". Thus, the stack trace message is constructed: - # - # first time: $mess = $error at $file line $line - # subsequent times: $mess .= $sub $error at $file line $line - # ^^^^^^ - # "called" - if ($error =~ m/\n$/) { - $mess .= $error; - } else { - # Build a string, $sub, which names the sub-routine called. - # This may also be "require ...", "eval '...' or "eval {...}" - if (defined $eval) { - if ($require) { - $sub = "require $eval"; - } else { - $eval =~ s/([\\\'])/\\$1/g; - if ($MaxEvalLen && length($eval) > $MaxEvalLen) { - substr($eval,$MaxEvalLen) = '...'; - } - $sub = "eval '$eval'"; - } - } elsif ($sub eq '(eval)') { - $sub = 'eval {...}'; - } - # if there are any arguments in the sub-routine call, format - # them according to the format variables defined earlier in - # this file and join them onto the $sub sub-routine string - if ($hargs) { - # we may trash some of the args so we take a copy - @a = @DB::args; # must get local copy of args - # don't print any more than $MaxArgNums - if ($MaxArgNums and @a > $MaxArgNums) { - # cap the length of $#a and set the last element to '...' - $#a = $MaxArgNums; - $a[$#a] = "..."; - } - for (@a) { - # set args to the string "undef" if undefined - $_ = "undef", next unless defined $_; - if (ref $_) { - # dunno what this is for... - $_ .= ''; - s/'/\\'/g; - } - else { - s/'/\\'/g; - # terminate the string early with '...' if too long - substr($_,$MaxArgLen) = '...' - if $MaxArgLen and $MaxArgLen < length; - } - # 'quote' arg unless it looks like a number - $_ = "'$_'" unless /^-?[\d.]+$/; - # print high-end chars as 'M-' or '^' - s/([\200-\377])/sprintf("M-%c",ord($1)&0177)/eg; - s/([\0-\37\177])/sprintf("^%c",ord($1)^64)/eg; - } - # append ('all', 'the', 'arguments') to the $sub string - $sub .= '(' . join(', ', @a) . ')'; - } - # here's where the error message, $mess, gets constructed - $mess .= "\t$sub " if $error eq "called"; - $mess .= "$error at $file line $line\n"; - } - # we don't need to print the actual error message again so we can - # change this to "called" so that the string "$error at $file line - # $line" makes sense as "called at $file line $line". - $error = "called"; - } - # this kludge circumvents die's incorrect handling of NUL - my $msg = \($mess || $error); - $$msg =~ tr/\0//d; - $$msg; + { local $@; require Carp::Heavy; } # XXX fix require to not clear $@? + goto &longmess_heavy; } @@ -196,78 +106,8 @@ sub longmess { # you always get a stack trace sub shortmess { # Short-circuit &longmess if called via multiple packages - goto &longmess if $Verbose; - return @_ if ref $_[0]; - my $error = join '', @_; - my ($prevpack) = caller(1); - my $extra = $CarpLevel; - my $i = 2; - my ($pack,$file,$line); - # when reporting an error, we want to report it from the context of the - # calling package. So what is the calling package? Within a module, - # there may be many calls between methods and perhaps between sub-classes - # and super-classes, but the user isn't interested in what happens - # inside the package. We start by building a hash array which keeps - # track of all the packages to which the calling package belongs. We - # do this by examining its @ISA variable. Any call from a base class - # method (one of our caller's @ISA packages) can be ignored - my %isa = ($prevpack,1); - - # merge all the caller's @ISA packages into %isa. - @isa{@{"${prevpack}::ISA"}} = () - if(defined @{"${prevpack}::ISA"}); - - # now we crawl up the calling stack and look at all the packages in - # there. For each package, we look to see if it has an @ISA and then - # we see if our caller features in that list. That would imply that - # our caller is a derived class of that package and its calls can also - # be ignored - while (($pack,$file,$line) = caller($i++)) { - if(defined @{$pack . "::ISA"}) { - my @i = @{$pack . "::ISA"}; - my %i; - @i{@i} = (); - # merge any relevant packages into %isa - @isa{@i,$pack} = () - if(exists $i{$prevpack} || exists $isa{$pack}); - } - - # and here's where we do the ignoring... if the package in - # question is one of our caller's base or derived packages then - # we can ignore it (skip it) and go onto the next (but note that - # the continue { } block below gets called every time) - next - if(exists $isa{$pack}); - - # Hey! We've found a package that isn't one of our caller's - # clan....but wait, $extra refers to the number of 'extra' levels - # we should skip up. If $extra > 0 then this is a false alarm. - # We must merge the package into the %isa hash (so we can ignore it - # if it pops up again), decrement $extra, and continue. - if ($extra-- > 0) { - %isa = ($pack,1); - @isa{@{$pack . "::ISA"}} = () - if(defined @{$pack . "::ISA"}); - } - else { - # OK! We've got a candidate package. Time to construct the - # relevant error message and return it. die() doesn't like - # to be given NUL characters (which $msg may contain) so we - # remove them first. - (my $msg = "$error at $file line $line\n") =~ tr/\0//d; - return $msg; - } - } - continue { - $prevpack = $pack; - } - - # uh-oh! It looks like we crawled all the way up the stack and - # never found a candidate package. Oh well, let's call longmess - # to generate a full stack trace. We use the magical form of 'goto' - # so that this shortmess() function doesn't appear on the stack - # to further confuse longmess() about it's calling package. - goto &longmess; + { local $@; require Carp::Heavy; } # XXX fix require to not clear $@? + goto &shortmess_heavy; } diff --git a/gnu/usr.bin/perl/lib/Class/Struct.pm b/gnu/usr.bin/perl/lib/Class/Struct.pm index 8fddfbf68ef..63eddac7393 100644 --- a/gnu/usr.bin/perl/lib/Class/Struct.pm +++ b/gnu/usr.bin/perl/lib/Class/Struct.pm @@ -2,10 +2,11 @@ package Class::Struct; ## See POD after __END__ -require 5.002; +use 5.005_64; use strict; -use vars qw(@ISA @EXPORT); +use warnings::register; +our(@ISA, @EXPORT, $VERSION); use Carp; @@ -13,6 +14,8 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(struct); +$VERSION = '0.58'; + ## Tested on 5.002 and 5.003 without class membership tests: my $CHECK_CLASS_MEMBERSHIP = ($] >= 5.003_95); @@ -98,6 +101,8 @@ sub struct { my $out = ''; $out = "{\n package $class;\n use Carp;\n sub new {\n"; + $out .= " my (\$class, \%init) = \@_;\n"; + $out .= " \$class = __PACKAGE__ unless \@_;\n"; my $cnt = 0; my $idx = 0; @@ -115,7 +120,7 @@ sub struct { $type = $decls[$idx+1]; push( @methods, $name ); if( $base_type eq 'HASH' ){ - $elem = "{'$name'}"; + $elem = "{'${class}::$name'}"; } elsif( $base_type eq 'ARRAY' ){ $elem = "[$cnt]"; @@ -126,19 +131,27 @@ sub struct { $refs{$name}++; $type = $1; } + my $init = "defined(\$init{'$name'}) ? \$init{'$name'} :"; if( $type eq '@' ){ - $out .= " \$r->$elem = [];$cmt\n"; + $out .= " croak 'Initializer for $name must be array reference'\n"; + $out .= " if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'ARRAY';\n"; + $out .= " \$r->$elem = $init [];$cmt\n"; $arrays{$name}++; } elsif( $type eq '%' ){ - $out .= " \$r->$elem = {};$cmt\n"; + $out .= " croak 'Initializer for $name must be hash reference'\n"; + $out .= " if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'HASH';\n"; + $out .= " \$r->$elem = $init {};$cmt\n"; $hashes{$name}++; } elsif ( $type eq '$') { - $out .= " \$r->$elem = undef;$cmt\n"; + $out .= " \$r->$elem = $init undef;$cmt\n"; } elsif( $type =~ /^\w+(?:::\w+)*$/ ){ - $out .= " \$r->$elem = '${type}'->new();$cmt\n"; + $init = "defined(\$init{'$name'}) ? \%{\$init{'$name'}} : ()"; + $out .= " croak 'Initializer for $name must be hash reference'\n"; + $out .= " if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'HASH';\n"; + $out .= " \$r->$elem = '${type}'->new($init);$cmt\n"; $classes{$name} = $type; $got_class = 1; } @@ -147,7 +160,7 @@ sub struct { } $idx += 2; } - $out .= " bless \$r;\n }\n"; + $out .= " bless \$r, \$class;\n }\n"; # Create accessor methods. @@ -155,8 +168,8 @@ sub struct { $cnt = 0; foreach $name (@methods){ if ( do { no strict 'refs'; defined &{$class . "::$name"} } ) { - carp "function '$name' already defined, overrides struct accessor method" - if $^W; + warnings::warn "function '$name' already defined, overrides struct accessor method" + if warnings::enabled(); } else { $pre = $pst = $cmt = $sel = ''; @@ -171,16 +184,16 @@ sub struct { ++$cnt; } elsif( $base_type eq 'HASH' ){ - $elem = "{'$name'}"; + $elem = "{'${class}::$name'}"; } if( defined $arrays{$name} ){ $out .= " my \$i;\n"; - $out .= " \@_ ? (\$i = shift) : return $pre\$r->$elem$pst;\n"; + $out .= " \@_ ? (\$i = shift) : return \$r->$elem;\n"; $sel = "->[\$i]"; } elsif( defined $hashes{$name} ){ $out .= " my \$i;\n"; - $out .= " \@_ ? (\$i = shift) : return $pre\$r->$elem$pst;\n"; + $out .= " \@_ ? (\$i = shift) : return \$r->$elem;\n"; $sel = "->{\$i}"; } elsif( defined $classes{$name} ){ @@ -297,6 +310,11 @@ flexible. The class created by C must not be a subclass of another class other than C. +It can, however, be used as a superclass for other classes. To facilitate +this, the generated constructor method uses a two-argument blessing. +Furthermore, if the class is hash-based, the key of each element is +prefixed with the class name (see I, Recipe 13.12). + A function named C must not be explicitly defined in a class created by C. @@ -323,7 +341,8 @@ on the declared type of the element. =item Scalar (C<'$'> or C<'*$'>) -The element is a scalar, and is initialized to C. +The element is a scalar, and by default is initialized to C +(but see L). The accessor's argument, if any, is assigned to the element. @@ -333,10 +352,11 @@ to the element is returned. =item Array (C<'@'> or C<'*@'>) -The element is an array, initialized to C<()>. +The element is an array, initialized by default to C<()>. With no argument, the accessor returns a reference to the -element's whole array. +element's whole array (whether or not the element was +specified as C<'@'> or C<'*@'>). With one or two arguments, the first argument is an index specifying one element of the array; the second argument, if @@ -347,10 +367,11 @@ returned. =item Hash (C<'%'> or C<'*%'>) -The element is a hash, initialized to C<()>. +The element is a hash, initialized by default to C<()>. With no argument, the accessor returns a reference to the -element's whole hash. +element's whole hash (whether or not the element was +specified as C<'%'> or C<'*%'>). With one or two arguments, the first argument is a key specifying one element of the hash; the second argument, if present, is @@ -374,6 +395,23 @@ starts with a C<'*'>, a reference to the element itself is returned. =back +=head2 Initializing with C + +C always creates a constructor called C. That constructor +may take a list of initializers for the various elements of the new +struct. + +Each initializer is a pair of values: IC< =E >I. +The initializer value for a scalar element is just a scalar value. The +initializer for an array element is an array reference. The initializer +for a hash is a hash reference. + +The initializer for a class element is also a hash reference, and the +contents of that hash are passed to the element's own constructor. + +See Example 3 below for an example of initialization. + + =head1 EXAMPLES =over @@ -399,8 +437,8 @@ type C. # create an object: my $t = new rusage; - # $t->ru_utime and $t->ru_stime are objects of type timeval. + # $t->ru_utime and $t->ru_stime are objects of type timeval. # set $t->ru_utime to 100.0 sec and $t->ru_stime to 5.0 sec. $t->ru_utime->tv_secs(100); $t->ru_utime->tv_usecs(0); @@ -418,10 +456,10 @@ accessor accordingly. package MyObj; use Class::Struct; - # declare the struct + # declare the struct struct ( 'MyObj', { count => '$', stuff => '%' } ); - # override the default accessor method for 'count' + # override the default accessor method for 'count' sub count { my $self = shift; if ( @_ ) { @@ -443,10 +481,68 @@ accessor accordingly. print "\$x->count(-5) = ", $x->count(-5), "\n"; # dies due to negative argument! +=item Example 3 + +The constructor of a generated class can be passed a list +of I=>I pairs, with which to initialize the struct. +If no initializer is specified for a particular element, its default +initialization is performed instead. Initializers for non-existent +elements are silently ignored. + +Note that the initializer for a nested struct is specified +as an anonymous hash of initializers, which is passed on to the nested +struct's constructor. + + + use Class::Struct; + + struct Breed => + { + name => '$', + cross => '$', + }; + + struct Cat => + [ + name => '$', + kittens => '@', + markings => '%', + breed => 'Breed', + ]; + + + my $cat = Cat->new( name => 'Socks', + kittens => ['Monica', 'Kenneth'], + markings => { socks=>1, blaze=>"white" }, + breed => { name=>'short-hair', cross=>1 }, + ); + + print "Once a cat called ", $cat->name, "\n"; + print "(which was a ", $cat->breed->name, ")\n"; + print "had two kittens: ", join(' and ', @{$cat->kittens}), "\n"; + +=back =head1 Author and Modification History +Modified by Damian Conway, 1999-03-05, v0.58. + + Added handling of hash-like arg list to class ctor. + + Changed to two-argument blessing in ctor to support + derivation from created classes. + + Added classname prefixes to keys in hash-based classes + (refer to "Perl Cookbook", Recipe 13.12 for rationale). + + Corrected behaviour of accessors for '*@' and '*%' struct + elements. Package now implements documented behaviour when + returning a reference to an entire hash or array element. + Previously these were returned as a reference to a reference + to the element. + + Renamed to C and modified by Jim Miner, 1997-04-02. members() function removed. diff --git a/gnu/usr.bin/perl/lib/Cwd.pm b/gnu/usr.bin/perl/lib/Cwd.pm index 5c10e8e1686..9a92829da5e 100644 --- a/gnu/usr.bin/perl/lib/Cwd.pm +++ b/gnu/usr.bin/perl/lib/Cwd.pm @@ -20,7 +20,7 @@ getcwd - get pathname of current working directory chdir "/tmp"; print $ENV{'PWD'}; - use Cwd 'abs_path'; + use Cwd 'abs_path'; # aka realpath() print abs_path($ENV{'PWD'}); use Cwd 'fast_abs_path'; @@ -32,8 +32,11 @@ The getcwd() function re-implements the getcwd(3) (or getwd(3)) functions in Perl. The abs_path() function takes a single argument and returns the -absolute pathname for that argument. It uses the same algorithm as -getcwd(). (actually getcwd() is abs_path(".")) +absolute pathname for that argument. It uses the same algorithm +as getcwd(). (Actually, getcwd() is abs_path(".")) Symbolic links +and relative-path components ("." and "..") are resolved to return +the canonical pathname, just like realpath(3). Also callable as +realpath(). The fastcwd() function looks the same as getcwd(), but runs faster. It's also more dangerous because it might conceivably chdir() you out @@ -67,12 +70,12 @@ kept up to date if all packages which use chdir import it from Cwd. use Carp; -$VERSION = '2.01'; +$VERSION = '2.02'; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(cwd getcwd fastcwd fastgetcwd); -@EXPORT_OK = qw(chdir abs_path fast_abs_path); +@EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath); # The 'natural and safe form' for UNIX (pwd may be setuid root) @@ -105,9 +108,6 @@ sub getcwd # This is a faster version of getcwd. It's also more dangerous because # you might chdir out of a directory that you can't chdir back into. -# List of metachars taken from do_exec() in doio.c -my $quoted_shell_meta = quotemeta('$&*(){}[]";\\|?<>~`'."'\n"); - sub fastcwd { my($odev, $oino, $cdev, $cino, $tdev, $tino); my(@path, $path); @@ -136,9 +136,10 @@ sub fastcwd { unshift(@path, $direntry); } $path = '/' . join('/', @path); + if ($^O eq 'apollo') { $path = "/".$path; } # At this point $path may be tainted (if tainting) and chdir would fail. # To be more useful we untaint it then check that we landed where we started. - $path = $1 if $path =~ /^(.*)$/; # untaint + $path = $1 if $path =~ /^(.*)\z/s; # untaint CORE::chdir($path) || return undef; ($cdev, $cino) = stat('.'); die "Unstable directory path, current directory changed unexpectedly" @@ -166,7 +167,7 @@ sub chdir_init { $ENV{'PWD'} = cwd(); } # Strip an automounter prefix (where /tmp_mnt/foo/bar == /foo/bar) - if ($ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|) { + if ($ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|s) { my($pd,$pi) = stat($2); my($dd,$di) = stat($1); if (defined $pd and defined $dd and $di == $pi and $dd == $pd) { @@ -183,7 +184,7 @@ sub chdir { return 0 unless CORE::chdir $newdir; if ($^O eq 'VMS') { return $ENV{'PWD'} = $ENV{'DEFAULT'} } - if ($newdir =~ m#^/#) { + if ($newdir =~ m#^/#s) { $ENV{'PWD'} = $newdir; } else { my @curdir = split(m#/#,$ENV{'PWD'}); @@ -256,6 +257,10 @@ sub abs_path $cwd; } +# added function alias for those of us more +# used to the libc function. --tchrist 27-Jan-00 +*realpath = \&abs_path; + sub fast_abs_path { my $cwd = getcwd(); my $path = shift || '.'; @@ -265,6 +270,10 @@ sub fast_abs_path { $realpath; } +# added function alias to follow principle of least surprise +# based on previous aliasing. --tchrist 27-Jan-00 +*fast_realpath = \&fast_abs_path; + # --- PORTING SECTION --- @@ -330,7 +339,7 @@ sub _qnx_abs_path { } { - local $^W = 0; # assignments trigger 'subroutine redefined' warning + no warnings; # assignments trigger 'subroutine redefined' warning if ($^O eq 'VMS') { *cwd = \&_vms_cwd; @@ -371,6 +380,12 @@ sub _qnx_abs_path { *abs_path = \&_qnx_abs_path; *fast_abs_path = \&_qnx_abs_path; } + elsif ($^O eq 'cygwin') { + *getcwd = \&cwd; + *fastgetcwd = \&cwd; + *fastcwd = \&cwd; + *abs_path = \&fast_abs_path; + } } # package main; eval join('',) || die $@; # quick test diff --git a/gnu/usr.bin/perl/lib/English.pm b/gnu/usr.bin/perl/lib/English.pm index 9f29a487dc7..f6e3ec00215 100644 --- a/gnu/usr.bin/perl/lib/English.pm +++ b/gnu/usr.bin/perl/lib/English.pm @@ -15,14 +15,6 @@ English - use nice English (or awk) names for ugly punctuation variables =head1 DESCRIPTION -You should I use this module in programs intended to be portable -among Perl versions, programs that must perform regular expression -matching operations efficiently, or libraries intended for use with -such programs. In a sense, this module is deprecated. The reasons -for this have to do with implementation details of the Perl -interpreter which are too thorny to go into here. Perhaps someday -they will be fixed to make "C" more practical. - This module provides aliases for the built-in variables whose names no one seems to like to read. Variables with side-effects which get triggered just by accessing them (like $0) will still @@ -35,9 +27,15 @@ $INPUT_RECORD_SEPARATOR if you are using the English module. See L for a complete list of these. +=head1 BUGS + +This module provokes sizeable inefficiencies for regular expressions, +due to unfortunate implementation details. If performance matters, +consider avoiding English. + =cut -local $^W = 0; +no warnings; # Grandfather $NAME import sub import { @@ -98,6 +96,8 @@ sub import { *WARNING *EXECUTABLE_NAME *OSNAME + *LAST_REGEXP_CODE_RESULT + *EXCEPTIONS_BEING_CAUGHT ); # The ground of all being. @ARG is deprecated (5.005 makes @_ lexical) @@ -166,13 +166,15 @@ sub import { # Internals. - *PERL_VERSION = *] ; + *PERL_VERSION = *^V ; *ACCUMULATOR = *^A ; *COMPILING = *^C ; *DEBUGGING = *^D ; *SYSTEM_FD_MAX = *^F ; *INPLACE_EDIT = *^I ; *PERLDB = *^P ; + *LAST_REGEXP_CODE_RESULT = *^R ; + *EXCEPTIONS_BEING_CAUGHT = *^S ; *BASETIME = *^T ; *WARNING = *^W ; *EXECUTABLE_NAME = *^X ; @@ -183,5 +185,6 @@ sub import { # *ARRAY_BASE = *[ ; # *OFMT = *# ; # *MULTILINE_MATCHING = ** ; +# *OLD_PERL_VERSION = *] ; 1; diff --git a/gnu/usr.bin/perl/lib/Env.pm b/gnu/usr.bin/perl/lib/Env.pm index b0afc3b2dbf..d1ee071cf8d 100644 --- a/gnu/usr.bin/perl/lib/Env.pm +++ b/gnu/usr.bin/perl/lib/Env.pm @@ -2,57 +2,96 @@ package Env; =head1 NAME -Env - perl module that imports environment variables +Env - perl module that imports environment variables as scalars or arrays =head1 SYNOPSIS use Env; use Env qw(PATH HOME TERM); + use Env qw($SHELL @LD_LIBRARY_PATH); =head1 DESCRIPTION -Perl maintains environment variables in a pseudo-hash named %ENV. For +Perl maintains environment variables in a special hash named C<%ENV>. For when this access method is inconvenient, the Perl module C allows -environment variables to be treated as simple variables. +environment variables to be treated as scalar or array variables. -The Env::import() function ties environment variables with suitable +The C function ties environment variables with suitable names to global Perl variables with the same names. By default it -does so with all existing environment variables (C). If -the import function receives arguments, it takes them to be a list of -environment variables to tie; it's okay if they don't yet exist. +ties all existing environment variables (C) to scalars. If +the C function receives arguments, it takes them to be a list of +variables to tie; it's okay if they don't yet exist. The scalar type +prefix '$' is inferred for any element of this list not prefixed by '$' +or '@'. Arrays are implemented in terms of C and C, using +C<$Config::Config{path_sep}> as the delimiter. After an environment variable is tied, merely use it like a normal variable. You may access its value @path = split(/:/, $PATH); + print join("\n", @LD_LIBRARY_PATH), "\n"; or modify it $PATH .= ":."; + push @LD_LIBRARY_PATH, $dir; + +however you'd like. Bear in mind, however, that each access to a tied array +variable requires splitting the environment variable's string anew. + +The code: + + use Env qw(@PATH); + push @PATH, '.'; + +is equivalent to: + + use Env qw(PATH); + $PATH .= ":."; + +except that if C<$ENV{PATH}> started out empty, the second approach leaves +it with the (odd) value "C<:.>", but the first approach leaves it with "C<.>". -however you'd like. To remove a tied environment variable from the environment, assign it the undefined value undef $PATH; + undef @LD_LIBRARY_PATH; + +=head1 LIMITATIONS + +On VMS systems, arrays tied to environment variables are read-only. Attempting +to change anything will cause a warning. =head1 AUTHOR Chip Salzenberg EFE +and +Gregor N. Purdy EFE =cut sub import { my ($callpack) = caller(0); my $pack = shift; - my @vars = grep /^[A-Za-z_]\w*$/, (@_ ? @_ : keys(%ENV)); + my @vars = grep /^[\$\@]?[A-Za-z_]\w*$/, (@_ ? @_ : keys(%ENV)); return unless @vars; - eval "package $callpack; use vars qw(" - . join(' ', map { '$'.$_ } @vars) . ")"; + @vars = map { m/^[\$\@]/ ? $_ : '$'.$_ } @vars; + + eval "package $callpack; use vars qw(" . join(' ', @vars) . ")"; die $@ if $@; foreach (@vars) { - tie ${"${callpack}::$_"}, Env, $_; + my ($type, $name) = m/^([\$\@])(.*)$/; + if ($type eq '$') { + tie ${"${callpack}::$name"}, Env, $name; + } else { + if ($^O eq 'VMS') { + tie @{"${callpack}::$name"}, Env::Array::VMS, $name; + } else { + tie @{"${callpack}::$name"}, Env::Array, $name; + } + } } } @@ -74,4 +113,121 @@ sub STORE { } } +###################################################################### + +package Env::Array; + +use Config; +use Tie::Array; + +@ISA = qw(Tie::Array); + +my $sep = $Config::Config{path_sep}; + +sub TIEARRAY { + bless \($_[1]); +} + +sub FETCHSIZE { + my ($self) = @_; + my @temp = split($sep, $ENV{$$self}); + return scalar(@temp); +} + +sub STORESIZE { + my ($self, $size) = @_; + my @temp = split($sep, $ENV{$$self}); + $#temp = $size - 1; + $ENV{$$self} = join($sep, @temp); +} + +sub CLEAR { + my ($self) = @_; + $ENV{$$self} = ''; +} + +sub FETCH { + my ($self, $index) = @_; + return (split($sep, $ENV{$$self}))[$index]; +} + +sub STORE { + my ($self, $index, $value) = @_; + my @temp = split($sep, $ENV{$$self}); + $temp[$index] = $value; + $ENV{$$self} = join($sep, @temp); + return $value; +} + +sub PUSH { + my $self = shift; + my @temp = split($sep, $ENV{$$self}); + push @temp, @_; + $ENV{$$self} = join($sep, @temp); + return scalar(@temp); +} + +sub POP { + my ($self) = @_; + my @temp = split($sep, $ENV{$$self}); + my $result = pop @temp; + $ENV{$$self} = join($sep, @temp); + return $result; +} + +sub UNSHIFT { + my $self = shift; + my @temp = split($sep, $ENV{$$self}); + my $result = unshift @temp, @_; + $ENV{$$self} = join($sep, @temp); + return $result; +} + +sub SHIFT { + my ($self) = @_; + my @temp = split($sep, $ENV{$$self}); + my $result = shift @temp; + $ENV{$$self} = join($sep, @temp); + return $result; +} + +sub SPLICE { + my $self = shift; + my $offset = shift; + my $length = shift; + my @temp = split($sep, $ENV{$$self}); + if (wantarray) { + my @result = splice @temp, $self, $offset, $length, @_; + $ENV{$$self} = join($sep, @temp); + return @result; + } else { + my $result = scalar splice @temp, $offset, $length, @_; + $ENV{$$self} = join($sep, @temp); + return $result; + } +} + +###################################################################### + +package Env::Array::VMS; +use Tie::Array; + +@ISA = qw(Tie::Array); + +sub TIEARRAY { + bless \($_[1]); +} + +sub FETCHSIZE { + my ($self) = @_; + my $i = 0; + while ($i < 127 and defined $ENV{$$self . ';' . $i}) { $i++; }; + return $i; +} + +sub FETCH { + my ($self, $index) = @_; + return $ENV{$$self . ';' . $index}; +} + 1; diff --git a/gnu/usr.bin/perl/lib/Exporter.pm b/gnu/usr.bin/perl/lib/Exporter.pm index 3f42e407e0b..585109e7d03 100644 --- a/gnu/usr.bin/perl/lib/Exporter.pm +++ b/gnu/usr.bin/perl/lib/Exporter.pm @@ -2,227 +2,60 @@ package Exporter; require 5.001; -# -# We go to a lot of trouble not to 'require Carp' at file scope, -# because Carp requires Exporter, and something has to give. -# - $ExportLevel = 0; -$Verbose = 0 unless $Verbose; - -sub export { +$Verbose ||= 0; +$VERSION = '5.562'; - # First make import warnings look like they're coming from the "use". - local $SIG{__WARN__} = sub { - my $text = shift; - if ($text =~ s/ at \S*Exporter.pm line \d+.*\n//) { - require Carp; - local $Carp::CarpLevel = 1; # ignore package calling us too. - Carp::carp($text); - } - else { - warn $text; - } - }; - local $SIG{__DIE__} = sub { - require Carp; - local $Carp::CarpLevel = 1; # ignore package calling us too. - Carp::croak("$_[0]Illegal null symbol in \@${1}::EXPORT") - if $_[0] =~ /^Unable to create sub named "(.*?)::"/; - }; - - my($pkg, $callpkg, @imports) = @_; - my($type, $sym, $oops); - *exports = *{"${pkg}::EXPORT"}; - - if (@imports) { - if (!%exports) { - grep(s/^&//, @exports); - @exports{@exports} = (1) x @exports; - my $ok = \@{"${pkg}::EXPORT_OK"}; - if (@$ok) { - grep(s/^&//, @$ok); - @exports{@$ok} = (1) x @$ok; - } - } - - if ($imports[0] =~ m#^[/!:]#){ - my $tagsref = \%{"${pkg}::EXPORT_TAGS"}; - my $tagdata; - my %imports; - my($remove, $spec, @names, @allexports); - # negated first item implies starting with default set: - unshift @imports, ':DEFAULT' if $imports[0] =~ m/^!/; - foreach $spec (@imports){ - $remove = $spec =~ s/^!//; - - if ($spec =~ s/^://){ - if ($spec eq 'DEFAULT'){ - @names = @exports; - } - elsif ($tagdata = $tagsref->{$spec}) { - @names = @$tagdata; - } - else { - warn qq["$spec" is not defined in %${pkg}::EXPORT_TAGS]; - ++$oops; - next; - } - } - elsif ($spec =~ m:^/(.*)/$:){ - my $patn = $1; - @allexports = keys %exports unless @allexports; # only do keys once - @names = grep(/$patn/, @allexports); # not anchored by default - } - else { - @names = ($spec); # is a normal symbol name - } - - warn "Import ".($remove ? "del":"add").": @names " - if $Verbose; - - if ($remove) { - foreach $sym (@names) { delete $imports{$sym} } - } - else { - @imports{@names} = (1) x @names; - } - } - @imports = keys %imports; - } - - foreach $sym (@imports) { - if (!$exports{$sym}) { - if ($sym =~ m/^\d/) { - $pkg->require_version($sym); - # If the version number was the only thing specified - # then we should act as if nothing was specified: - if (@imports == 1) { - @imports = @exports; - last; - } - # We need a way to emulate 'use Foo ()' but still - # allow an easy version check: "use Foo 1.23, ''"; - if (@imports == 2 and !$imports[1]) { - @imports = (); - last; - } - } elsif ($sym !~ s/^&// || !$exports{$sym}) { - require Carp; - Carp::carp(qq["$sym" is not exported by the $pkg module]); - $oops++; - } - } - } - if ($oops) { - require Carp; - Carp::croak("Can't continue after import errors"); - } - } - else { - @imports = @exports; - } - - *fail = *{"${pkg}::EXPORT_FAIL"}; - if (@fail) { - if (!%fail) { - # Build cache of symbols. Optimise the lookup by adding - # barewords twice... both with and without a leading &. - # (Technique could be applied to %exports cache at cost of memory) - my @expanded = map { /^\w/ ? ($_, '&'.$_) : $_ } @fail; - warn "${pkg}::EXPORT_FAIL cached: @expanded" if $Verbose; - @fail{@expanded} = (1) x @expanded; - } - my @failed; - foreach $sym (@imports) { push(@failed, $sym) if $fail{$sym} } - if (@failed) { - @failed = $pkg->export_fail(@failed); - foreach $sym (@failed) { - require Carp; - Carp::carp(qq["$sym" is not implemented by the $pkg module ], - "on this architecture"); - } - if (@failed) { - require Carp; - Carp::croak("Can't continue after import errors"); - } - } - } - - warn "Importing into $callpkg from $pkg: ", - join(", ",sort @imports) if $Verbose; - - foreach $sym (@imports) { - # shortcut for the common case of no type character - (*{"${callpkg}::$sym"} = \&{"${pkg}::$sym"}, next) - unless $sym =~ s/^(\W)//; - $type = $1; - *{"${callpkg}::$sym"} = - $type eq '&' ? \&{"${pkg}::$sym"} : - $type eq '$' ? \${"${pkg}::$sym"} : - $type eq '@' ? \@{"${pkg}::$sym"} : - $type eq '%' ? \%{"${pkg}::$sym"} : - $type eq '*' ? *{"${pkg}::$sym"} : - do { require Carp; Carp::croak("Can't export symbol: $type$sym") }; - } -} - -sub export_to_level -{ - my $pkg = shift; - my ($level, $junk) = (shift, shift); # need to get rid of first arg - # we know it already. - my $callpkg = caller($level); - $pkg->export($callpkg, @_); +sub export_to_level { + require Exporter::Heavy; + goto &heavy_export_to_level; } -sub import { - my $pkg = shift; - my $callpkg = caller($ExportLevel); - export $pkg, $callpkg, @_; +sub export { + require Exporter::Heavy; + goto &heavy_export; } - - -# Utility functions - -sub _push_tags { - my($pkg, $var, $syms) = @_; - my $nontag; - *export_tags = \%{"${pkg}::EXPORT_TAGS"}; - push(@{"${pkg}::$var"}, - map { $export_tags{$_} ? @{$export_tags{$_}} : scalar(++$nontag,$_) } - (@$syms) ? @$syms : keys %export_tags); - if ($nontag and $^W) { - # This may change to a die one day - require Carp; - Carp::carp("Some names are not tags"); - } +sub export_tags { + require Exporter::Heavy; + _push_tags((caller)[0], "EXPORT", \@_); } -sub export_tags { _push_tags((caller)[0], "EXPORT", \@_) } -sub export_ok_tags { _push_tags((caller)[0], "EXPORT_OK", \@_) } - - -# Default methods - -sub export_fail { - my $self = shift; - @_; +sub export_ok_tags { + require Exporter::Heavy; + _push_tags((caller)[0], "EXPORT_OK", \@_); } -sub require_version { - my($self, $wanted) = @_; - my $pkg = ref $self || $self; - my $version = ${"${pkg}::VERSION"}; - if (!$version or $version < $wanted) { - $version ||= "(undef)"; - my $file = $INC{"$pkg.pm"}; - $file &&= " ($file)"; - require Carp; - Carp::croak("$pkg $wanted required--this is only version $version$file") +sub import { + my $pkg = shift; + my $callpkg = caller($ExportLevel); + *exports = *{"$pkg\::EXPORT"}; + # We *need* to treat @{"$pkg\::EXPORT_FAIL"} since Carp uses it :-( + *fail = *{"$pkg\::EXPORT_FAIL"}; + return export $pkg, $callpkg, @_ + if $Verbose or $Debug or @fail > 1; + my $args = @_ or @_ = @exports; + + if ($args and not %exports) { + foreach my $sym (@exports, @{"$pkg\::EXPORT_OK"}) { + $sym =~ s/^&//; + $exports{$sym} = 1; } - $version; + } + if ($Verbose or $Debug + or grep {/\W/ or $args and not exists $exports{$_} + or @fail and $_ eq $fail[0] + or (@{"$pkg\::EXPORT_OK"} + and $_ eq ${"$pkg\::EXPORT_OK"}[0])} @_) { + return export $pkg, $callpkg, ($args ? @_ : ()); + } + #local $SIG{__WARN__} = sub {require Carp; goto &Carp::carp}; + local $SIG{__WARN__} = + sub {require Carp; local $Carp::CarpLevel = 1; &Carp::carp}; + foreach $sym (@_) { + # shortcut for the common case of no type character + *{"$callpkg\::$sym"} = \&{"$pkg\::$sym"}; + } } 1; @@ -286,6 +119,18 @@ in L and L. Understanding the concept of modules and how the C statement operates is important to understanding the Exporter. +=head2 How to Export + +The arrays C<@EXPORT> and C<@EXPORT_OK> in a module hold lists of +symbols that are going to be exported into the users name space by +default, or which they can request to be exported, respectively. The +symbols can represent functions, scalars, arrays, hashes, or typeglobs. +The symbols must be given by full name with the exception that the +ampersand in front of a function is optional, e.g. + + @EXPORT = qw(afunc $scalar @array); # afunc is a function + @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc + =head2 Selecting What To Export Do B export method names! @@ -364,11 +209,12 @@ Exporter has a special method, 'export_to_level' which is used in situations where you can't directly call Export's import method. The export_to_level method looks like: -MyPackage->export_to_level($where_to_export, @what_to_export); +MyPackage->export_to_level($where_to_export, $package, @what_to_export); where $where_to_export is an integer telling how far up the calling stack to export your symbols, and @what_to_export is an array telling what -symbols *to* export (usually this is @_). +symbols *to* export (usually this is @_). The $package argument is +currently unused. For example, suppose that you have a module, A, which already has an import function: diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Command.pm b/gnu/usr.bin/perl/lib/ExtUtils/Command.pm index e900e51ffa4..bccc76cc199 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Command.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Command.pm @@ -1,4 +1,6 @@ package ExtUtils::Command; + +use 5.005_64; use strict; # use AutoLoader; use Carp; @@ -7,7 +9,7 @@ use File::Compare; use File::Basename; use File::Path qw(rmtree); require Exporter; -use vars qw(@ISA @EXPORT $VERSION); +our(@ISA, @EXPORT, $VERSION); @ISA = qw(Exporter); @EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f); $VERSION = '1.01'; diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Embed.pm b/gnu/usr.bin/perl/lib/ExtUtils/Embed.pm index 4b56e88b260..b649b6b77b6 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Embed.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Embed.pm @@ -51,7 +51,7 @@ sub xsinit { my($file, $std, $mods) = @_; my($fh,@mods,%seen); $file ||= "perlxsi.c"; - my $xsinit_proto = is_perl_object() ? "CPERLarg" : "void"; + my $xsinit_proto = "pTHXo"; if (@_) { @mods = @$mods if $mods; @@ -75,7 +75,7 @@ sub xsinit { @mods = grep(!$seen{$_}++, @mods); print $fh &xsi_header(); - print $fh "EXTERN_C void xs_init _(($xsinit_proto));\n\n"; + print $fh "EXTERN_C void xs_init ($xsinit_proto);\n\n"; print $fh &xsi_protos(@mods); print $fh "\nEXTERN_C void\nxs_init($xsinit_proto)\n{\n"; @@ -120,14 +120,13 @@ EOF sub xsi_protos { my(@exts) = @_; my(@retval,%seen); - my $boot_proto = is_perl_object() ? - "CV* cv _CPERLarg" : "CV* cv"; + my $boot_proto = "pTHXo_ CV* cv"; foreach $_ (@exts){ my($pname) = canon('/', $_); my($mname, $cname); ($mname = $pname) =~ s!/!::!g; ($cname = $pname) =~ s!/!__!g; - my($ccode) = "EXTERN_C void boot_${cname} _(($boot_proto));\n"; + my($ccode) = "EXTERN_C void boot_${cname} ($boot_proto);\n"; next if $seen{$ccode}++; push(@retval, $ccode); } @@ -333,7 +332,7 @@ B<[@modules]> is an array ref, same as additional arguments mentioned above. This will generate code with an B function that glues the perl B function -to the C B function and writes it to a file named "xsinit.c". +to the C B function and writes it to a file named F. Note that B is a special case where it must call B directly. @@ -379,7 +378,7 @@ we should find B When looking for B relative to a search path, we should find B -Keep in mind, you can always supply B +Keep in mind that you can always supply B as an additional linker argument. B<--> Elist of linker argsE @@ -393,7 +392,7 @@ When invoked with parameters the following are accepted and optional: C -Where, +Where: B<$std> is boolean, equivalent to the B<-std> option. diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Install.pm b/gnu/usr.bin/perl/lib/ExtUtils/Install.pm index a11c445ad73..3c3b451cd5d 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Install.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Install.pm @@ -1,12 +1,13 @@ package ExtUtils::Install; -$VERSION = substr q$Revision: 1.3 $, 10; -# $Date: 1999/04/29 22:51:50 $ +use 5.005_64; +our(@ISA, @EXPORT, $VERSION); +$VERSION = substr q$Revision: 1.4 $, 10; +# $Date: 2000/04/06 17:06:27 $ use Exporter; use Carp (); use Config qw(%Config); -use vars qw(@ISA @EXPORT $VERSION); @ISA = ('Exporter'); @EXPORT = ('install','uninstall','pm_to_blib', 'install_default'); $Is_VMS = $^O eq 'VMS'; @@ -15,7 +16,7 @@ my $splitchar = $^O eq 'VMS' ? '|' : ($^O eq 'os2' || $^O eq 'dos') ? ';' : ':'; my @PERL_ENV_LIB = split $splitchar, defined $ENV{'PERL5LIB'} ? $ENV{'PERL5LIB'} : $ENV{'PERLLIB'} || ''; my $Inc_uninstall_warn_handler; -#use vars qw( @EXPORT @ISA $Is_VMS ); +#our(@EXPORT, @ISA, $Is_VMS); #use strict; sub forceunlink { @@ -67,7 +68,6 @@ sub install { } $packlist->read($pack{"read"}) if (-f $pack{"read"}); my $cwd = cwd(); - my $umask = umask 0 unless $Is_VMS; my($source); MOD_INSTALL: foreach $source (sort keys %hash) { @@ -85,9 +85,7 @@ sub install { exists $hash{"blib/arch"} and directory_not_empty("blib/arch")) { $targetroot = $hash{"blib/arch"}; - print "Files found in blib/arch --> Installing files in " - . "blib/lib into architecture dependend library tree!\n" - ; #if $verbose>1; + print "Files found in blib/arch: installing files in blib/lib into architecture dependent library tree\n"; } chdir($source) or next; find(sub { @@ -136,7 +134,6 @@ sub install { }, "."); chdir($cwd) or Carp::croak("Couldn't chdir to $cwd: $!"); } - umask $umask unless $Is_VMS; if ($pack{'write'}) { $dir = dirname($pack{'write'}); mkpath($dir,0,0755); @@ -195,7 +192,6 @@ sub uninstall { forceunlink($_) unless $nonono; } print "unlink $fil\n" if $verbose; - close P; forceunlink($fil) unless $nonono; } @@ -228,7 +224,7 @@ sub inc_uninstall { if ($nonono) { if ($verbose) { $Inc_uninstall_warn_handler ||= new ExtUtils::Install::Warn; - $libdir =~ s|^\./|| ; # That's just cosmetics, no need to port. It looks prettier. + $libdir =~ s|^\./||s ; # That's just cosmetics, no need to port. It looks prettier. $Inc_uninstall_warn_handler->add("$libdir/$file",$targetfile); } # if not verbose, we just say nothing @@ -261,7 +257,6 @@ sub pm_to_blib { close(FROMTO); } - my $umask = umask 0022 unless $Is_VMS; mkpath($autodir,0,0755); foreach (keys %$fromto) { next if -f $fromto->{$_} && -M $fromto->{$_} < -M $_; @@ -279,10 +274,9 @@ sub pm_to_blib { utime($atime,$mtime+$Is_VMS,$fromto->{$_}); chmod(0444 | ( $mode & 0111 ? 0111 : 0 ),$fromto->{$_}); print "cp $_ $fromto->{$_}\n"; - next unless /\.pm$/; + next unless /\.pm\z/; autosplit($fromto->{$_},$autodir); } - umask $umask unless $Is_VMS; } package ExtUtils::Install::Warn; @@ -345,7 +339,7 @@ There are two keys with a special meaning in the hash: "read" and target files to the file named by C<$hashref-E{write}>. If there is another file named by C<$hashref-E{read}>, the contents of this file will be merged into the written file. The read and the written file may be -identical, but on AFS it is quite likely, people are installing to a +identical, but on AFS it is quite likely that people are installing to a different directory than the one where the files later appear. install_default() takes one or less arguments. If no arguments are @@ -358,7 +352,7 @@ The argument-less form is convenient for install scripts like perl -MExtUtils::Install -e install_default Tk/Canvas -Assuming this command is executed in a directory with populated F +Assuming this command is executed in a directory with a populated F directory, it will proceed as if the F was build by MakeMaker on this machine. This is useful for binary distributions. diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Liblist.pm b/gnu/usr.bin/perl/lib/ExtUtils/Liblist.pm index be7aed7b9bb..0cd17738df2 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Liblist.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Liblist.pm @@ -1,8 +1,9 @@ package ExtUtils::Liblist; -use vars qw($VERSION); + +use 5.005_64; # Broken out of MakeMaker from version 4.11 -$VERSION = substr q$Revision: 1.3 $, 10; +our $VERSION = substr q$Revision: 1.4 $, 10; use Config; use Cwd 'cwd'; @@ -108,13 +109,14 @@ sub _unix_os2_ext { } elsif (-f ($fullname="$thispth/lib$thislib.$so") && (($Config{'dlsrc'} ne "dl_dld.xs") || ($thislib eq "m"))){ } elsif (-f ($fullname="$thispth/lib${thislib}_s$Config_libext") + && (! $Config{'archname'} =~ /RM\d\d\d-svr4/) && ($thislib .= "_s") ){ # we must explicitly use _s version } elsif (-f ($fullname="$thispth/lib$thislib$Config_libext")){ } elsif (-f ($fullname="$thispth/$thislib$Config_libext")){ } elsif (-f ($fullname="$thispth/Slib$thislib$Config_libext")){ } elsif ($^O eq 'dgux' && -l ($fullname="$thispth/lib$thislib$Config_libext") - && readlink($fullname) =~ /^elink:/) { + && readlink($fullname) =~ /^elink:/s) { # Some of DG's libraries look like misconnected symbolic # links, but development tools can follow them. (They # look like this: @@ -136,7 +138,7 @@ sub _unix_os2_ext { # Now update library lists # what do we know about this library... - my $is_dyna = ($fullname !~ /\Q$Config_libext\E$/); + my $is_dyna = ($fullname !~ /\Q$Config_libext\E\z/); my $in_perl = ($libs =~ /\B-l\Q$ {thislib}\E\b/s); # Do not add it into the list if it is already linked in @@ -362,7 +364,7 @@ sub _vms_ext { return ('', '', $crtlstr, ''); } - my(@dirs,@libs,$dir,$lib,%sh,%olb,%obj,$ldlib); + my(@dirs,@libs,$dir,$lib,%found,@fndlibs,$ldlib); my $cwd = cwd(); my($so,$lib_ext,$obj_ext) = @Config{'so','lib_ext','obj_ext'}; # List of common Unix library names and there VMS equivalents @@ -430,28 +432,28 @@ sub _vms_ext { warn "\tChecking $name\n" if $verbose > 2; if (-f ($test = VMS::Filespec::rmsexpand($name))) { # It's got its own suffix, so we'll have to figure out the type - if ($test =~ /(?:$so|exe)$/i) { $type = 'sh'; } - elsif ($test =~ /(?:$lib_ext|olb)$/i) { $type = 'olb'; } + if ($test =~ /(?:$so|exe)$/i) { $type = 'SHR'; } + elsif ($test =~ /(?:$lib_ext|olb)$/i) { $type = 'OLB'; } elsif ($test =~ /(?:$obj_ext|obj)$/i) { warn "Note (probably harmless): " ."Plain object file $test found in library list\n"; - $type = 'obj'; + $type = 'OBJ'; } else { warn "Note (probably harmless): " ."Unknown library type for $test; assuming shared\n"; - $type = 'sh'; + $type = 'SHR'; } } elsif (-f ($test = VMS::Filespec::rmsexpand($name,$so)) or -f ($test = VMS::Filespec::rmsexpand($name,'.exe'))) { - $type = 'sh'; + $type = 'SHR'; $name = $test unless $test =~ /exe;?\d*$/i; } elsif (not length($ctype) and # If we've got a lib already, don't bother ( -f ($test = VMS::Filespec::rmsexpand($name,$lib_ext)) or -f ($test = VMS::Filespec::rmsexpand($name,'.olb')))) { - $type = 'olb'; + $type = 'OLB'; $name = $test unless $test =~ /olb;?\d*$/i; } elsif (not length($ctype) and # If we've got a lib already, don't bother @@ -459,17 +461,18 @@ sub _vms_ext { -f ($test = VMS::Filespec::rmsexpand($name,'.obj')))) { warn "Note (probably harmless): " ."Plain object file $test found in library list\n"; - $type = 'obj'; + $type = 'OBJ'; $name = $test unless $test =~ /obj;?\d*$/i; } if (defined $type) { $ctype = $type; $cand = $name; - last if $ctype eq 'sh'; + last if $ctype eq 'SHR'; } } if ($ctype) { - eval '$' . $ctype . "{'$cand'}++"; - die "Error recording library: $@" if $@; + # This has to precede any other CRTLs, so just make it first + if ($cand eq 'VAXCCURSE') { unshift @{$found{$ctype}}, $cand; } + else { push @{$found{$ctype}}, $cand; } warn "\tFound as $cand (really $test), type $ctype\n" if $verbose > 1; next LIB; } @@ -478,15 +481,10 @@ sub _vms_ext { ."No library found for $lib\n"; } - @libs = sort keys %obj; - # This has to precede any other CRTLs, so just make it first - if ($olb{VAXCCURSE}) { - push(@libs,"$olb{VAXCCURSE}/Library"); - delete $olb{VAXCCURSE}; - } - push(@libs, map { "$_/Library" } sort keys %olb); - push(@libs, map { "$_/Share" } sort keys %sh); - $lib = join(' ',@libs); + push @fndlibs, @{$found{OBJ}} if exists $found{OBJ}; + push @fndlibs, map { "$_/Library" } @{$found{OLB}} if exists $found{OLB}; + push @fndlibs, map { "$_/Share" } @{$found{SHR}} if exists $found{SHR}; + $lib = join(' ',@fndlibs); $ldlib = $crtlstr ? "$lib $crtlstr" : $lib; warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose; @@ -544,7 +542,7 @@ below. =head2 EXTRALIBS List of libraries that need to be linked with when linking a perl -binary which includes this extension Only those libraries that +binary which includes this extension. Only those libraries that actually exist are included. These are written to a file and used when linking perl. @@ -566,7 +564,7 @@ object file. This list is used to create a .bs (bootstrap) file. =head1 PORTABILITY This module deals with a lot of system dependencies and has quite a -few architecture specific Bs in the code. +few architecture specific Cs in the code. =head2 VMS implementation @@ -686,7 +684,7 @@ enable searching for default libraries specified by C<$Config{libs}>. The libraries specified may be a mixture of static libraries and import libraries (to link with DLLs). Since both kinds are used -pretty transparently on the win32 platform, we do not attempt to +pretty transparently on the Win32 platform, we do not attempt to distinguish between them. =item * diff --git a/gnu/usr.bin/perl/lib/ExtUtils/MM_OS2.pm b/gnu/usr.bin/perl/lib/ExtUtils/MM_OS2.pm index 5d6034ce349..430235a0aac 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/MM_OS2.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/MM_OS2.pm @@ -25,13 +25,13 @@ sub dlsyms { $self->{BASEEXT}.def: Makefile.PL ", ' $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -e \'use ExtUtils::Mksymlists; \\ - Mksymlists("NAME" => "', $self->{NAME}, - '", "DLBASE" => "',$self->{DLBASE}, - '", "DL_FUNCS" => ',neatvalue($funcs), + Mksymlists("NAME" => "$(NAME)", "DLBASE" => "$(DLBASE)", ', + '"VERSION" => "$(VERSION)", "DISTNAME" => "$(DISTNAME)", ', + '"INSTALLDIRS" => "$(INSTALLDIRS)", ', + '"DL_FUNCS" => ',neatvalue($funcs), ', "FUNCLIST" => ',neatvalue($funclist), ', "IMPORTS" => ',neatvalue($imports), - ', "VERSION" => "',$self->{VERSION}, - '", "DL_VARS" => ', neatvalue($vars), ');\' + ', "DL_VARS" => ', neatvalue($vars), ');\' '); } if (%{$self->{IMPORTS}}) { diff --git a/gnu/usr.bin/perl/lib/ExtUtils/MM_Unix.pm b/gnu/usr.bin/perl/lib/ExtUtils/MM_Unix.pm index d9ceb192769..57e72dedc11 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/MM_Unix.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/MM_Unix.pm @@ -8,11 +8,10 @@ use strict; use vars qw($VERSION $Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Dos $Is_PERL_OBJECT $Verbose %pm %static $Xsubpp_Version); -$VERSION = substr q$Revision: 1.6 $, 10; -# $Id: MM_Unix.pm,v 1.6 1999/05/09 16:34:10 millert Exp $ +$VERSION = substr q$Revision: 1.7 $, 10; +# $Id: MM_Unix.pm,v 1.7 2000/04/06 17:06:28 millert Exp $ -Exporter::import('ExtUtils::MakeMaker', - qw( $Verbose &neatvalue)); +Exporter::import('ExtUtils::MakeMaker', qw($Verbose &neatvalue)); $Is_OS2 = $^O eq 'os2'; $Is_Mac = $^O eq 'MacOS'; @@ -81,13 +80,13 @@ path. On UNIX eliminated successive slashes and successive "/.". sub canonpath { my($self,$path) = @_; my $node = ''; - if ( $^O eq 'qnx' && $path =~ s|^(//\d+)/|/| ) { + if ( $^O eq 'qnx' && $path =~ s|^(//\d+)/|/|s ) { $node = $1; } $path =~ s|(?<=[^/])/+|/|g ; # xx////xx -> xx/xx $path =~ s|(/\.)+/|/|g ; # xx/././xx -> xx/xx - $path =~ s|^(\./)+|| unless $path eq "./"; # ./xx -> xx - $path =~ s|(?<=[^/])/$|| ; # xx/ -> xx + $path =~ s|^(\./)+||s unless $path eq "./"; # ./xx -> xx + $path =~ s|(?<=[^/])/\z|| ; # xx/ -> xx "$node$path"; } @@ -188,6 +187,7 @@ sub ExtUtils::MM_Unix::fixin ; sub ExtUtils::MM_Unix::force ; sub ExtUtils::MM_Unix::guess_name ; sub ExtUtils::MM_Unix::has_link_code ; +sub ExtUtils::MM_Unix::htmlifypods ; sub ExtUtils::MM_Unix::init_dirscan ; sub ExtUtils::MM_Unix::init_main ; sub ExtUtils::MM_Unix::init_others ; @@ -375,21 +375,45 @@ sub cflags { $self->{uc $_} ||= $cflags{$_} } - if ($self->{CAPI} && $Is_PERL_OBJECT) { - $self->{CCFLAGS} =~ s/-DPERL_OBJECT(\s|$)//; - $self->{CCFLAGS} .= ' -DPERL_CAPI '; - if ($Is_Win32 && $Config{'cc'} =~ /^cl.exe/i) { - # Turn off C++ mode of the MSC compiler - $self->{CCFLAGS} =~ s/-TP(\s|$)//; - $self->{OPTIMIZE} =~ s/-TP(\s|$)//; + if ($Is_PERL_OBJECT) { + $self->{CCFLAGS} =~ s/-DPERL_OBJECT(\b|$)/-DPERL_CAPI/g; + if ($Is_Win32) { + if ($Config{'cc'} =~ /^cl/i) { + # Turn off C++ mode of the MSC compiler + $self->{CCFLAGS} =~ s/-TP(\s|$)//g; + $self->{OPTIMIZE} =~ s/-TP(\s|$)//g; + } + elsif ($Config{'cc'} =~ /^bcc32/i) { + # Turn off C++ mode of the Borland compiler + $self->{CCFLAGS} =~ s/-P(\s|$)//g; + $self->{OPTIMIZE} =~ s/-P(\s|$)//g; + } + elsif ($Config{'cc'} =~ /^gcc/i) { + # Turn off C++ mode of the GCC compiler + $self->{CCFLAGS} =~ s/-xc\+\+(\s|$)//g; + $self->{OPTIMIZE} =~ s/-xc\+\+(\s|$)//g; + } } } + + if ($self->{POLLUTE}) { + $self->{CCFLAGS} .= ' -DPERL_POLLUTE '; + } + + my $pollute = ''; + if ($Config{usemymalloc} and not $Config{bincompat5005} + and not $Config{ccflags} =~ /-DPERL_POLLUTE_MALLOC\b/ + and $self->{PERL_MALLOC_OK}) { + $pollute = '$(PERL_MALLOC_DEF)'; + } + return $self->{CFLAGS} = qq{ CCFLAGS = $self->{CCFLAGS} OPTIMIZE = $self->{OPTIMIZE} PERLTYPE = $self->{PERLTYPE} LARGE = $self->{LARGE} SPLIT = $self->{SPLIT} +MPOLLUTE = $pollute }; } @@ -413,13 +437,26 @@ clean :: '); # clean subdirectories first for $dir (@{$self->{DIR}}) { - push @m, "\t-cd $dir && \$(TEST_F) $self->{MAKEFILE} && \$(MAKE) clean\n"; + if ($Is_Win32 && Win32::IsWin95()) { + push @m, <{MAKEFILE} + \$(MAKE) clean + cd .. +EOT + } + else { + push @m, <{MAKEFILE} && \$(MAKE) clean +EOT + } } my(@otherfiles) = values %{$self->{XS}}; # .c files from *.xs files push(@otherfiles, $attribs{FILES}) if $attribs{FILES}; push(@otherfiles, qw[./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all - perlmain.c mon.out core so_locations pm_to_blib + perlmain.c mon.out core core.*perl.*.? + *perl.core so_locations pm_to_blib *~ */*~ */*/*~ *$(OBJ_EXT) *$(LIB_EXT) perl.exe $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def $(BASEEXT).exp @@ -446,7 +483,7 @@ sub const_cccmd { return '' unless $self->needs_linking(); return $self->{CONST_CCCMD} = q{CCCMD = $(CC) -c $(INC) $(CCFLAGS) $(OPTIMIZE) \\ - $(PERLTYPE) $(LARGE) $(SPLIT) $(DEFINE_VERSION) \\ + $(PERLTYPE) $(LARGE) $(SPLIT) $(MPOLLUTE) $(DEFINE_VERSION) \\ $(XS_DEFINE_VERSION)}; } @@ -519,7 +556,7 @@ sub constants { INSTALLSITEARCH INSTALLBIN INSTALLSCRIPT PERL_LIB PERL_ARCHLIB SITELIBEXP SITEARCHEXP LIBPERL_A MYEXTLIB FIRST_MAKEFILE MAKE_APERL_FILE PERLMAINCC PERL_SRC - PERL_INC PERL FULLPERL + PERL_INC PERL FULLPERL FULL_AR / ) { next unless defined $self->{$tmp}; @@ -531,6 +568,7 @@ VERSION_MACRO = VERSION DEFINE_VERSION = -D\$(VERSION_MACRO)=\\\"\$(VERSION)\\\" XS_VERSION_MACRO = XS_VERSION XS_DEFINE_VERSION = -D\$(XS_VERSION_MACRO)=\\\"\$(XS_VERSION)\\\" +PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc }; push @m, qq{ @@ -560,12 +598,19 @@ XS_FILES= ".join(" \\\n\t", sort keys %{$self->{XS}})." C_FILES = ".join(" \\\n\t", @{$self->{C}})." O_FILES = ".join(" \\\n\t", @{$self->{O_FILES}})." H_FILES = ".join(" \\\n\t", @{$self->{H}})." +HTMLLIBPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLLIBPODS}})." +HTMLSCRIPTPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLSCRIPTPODS}})." MAN1PODS = ".join(" \\\n\t", sort keys %{$self->{MAN1PODS}})." MAN3PODS = ".join(" \\\n\t", sort keys %{$self->{MAN3PODS}})." "; for $tmp (qw/ - INST_MAN1DIR INSTALLMAN1DIR MAN1EXT INST_MAN3DIR INSTALLMAN3DIR MAN3EXT + INST_HTMLPRIVLIBDIR INSTALLHTMLPRIVLIBDIR + INST_HTMLSITELIBDIR INSTALLHTMLSITELIBDIR + INST_HTMLSCRIPTDIR INSTALLHTMLSCRIPTDIR + INST_HTMLLIBDIR HTMLEXT + INST_MAN1DIR INSTALLMAN1DIR MAN1EXT + INST_MAN3DIR INSTALLMAN3DIR MAN3EXT /) { next unless defined $self->{$tmp}; push @m, "$tmp = $self->{$tmp}\n"; @@ -693,7 +738,7 @@ sub dir_target { my($targ) = $self->catfile($dir,'.exists'); # catfile may have adapted syntax of $dir to target OS, so... if ($Is_VMS) { # Just remove file name; dirspec is often in macro - ($targdir = $targ) =~ s:/?\.exists$::; + ($targdir = $targ) =~ s:/?\.exists\z::; } else { # while elsewhere we expect to see the dir separator in $targ $targdir = dirname($targ); @@ -1079,10 +1124,10 @@ Takes as argument a path and returns true, if it is an absolute path. sub file_name_is_absolute { my($self,$file) = @_; if ($Is_Dos){ - $file =~ m{^([a-z]:)?[\\/]}i ; + $file =~ m{^([a-z]:)?[\\/]}is ; } else { - $file =~ m:^/: ; + $file =~ m:^/:s ; } } @@ -1265,7 +1310,7 @@ sub guess_name { my($self) = @_; use Cwd 'cwd'; my $name = basename(cwd()); - $name =~ s|[\-_][\d\.\-]+$||; # this is new with MM 5.00, we + $name =~ s|[\-_][\d\.\-]+\z||; # this is new with MM 5.00, we # strip minus or underline # followed by a float or some such print "Warning: Guessing NAME [$name] from current directory name.\n"; @@ -1290,9 +1335,60 @@ sub has_link_code { return $self->{HAS_LINK_CODE} = 0; } +=item htmlifypods (o) + +Defines targets and routines to translate the pods into HTML manpages +and put them into the INST_HTMLLIBDIR and INST_HTMLSCRIPTDIR +directories. + +=cut + +sub htmlifypods { + my($self, %attribs) = @_; + return "\nhtmlifypods : pure_all\n\t$self->{NOECHO}\$(NOOP)\n" unless + %{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}; + my($dist); + my($pod2html_exe); + if (defined $self->{PERL_SRC}) { + $pod2html_exe = $self->catfile($self->{PERL_SRC},'pod','pod2html'); + } else { + $pod2html_exe = $self->catfile($Config{scriptdirexp},'pod2html'); + } + unless ($pod2html_exe = $self->perl_script($pod2html_exe)) { + # No pod2html but some HTMLxxxPODS to be installed + print <{MAKEFILE}, q[";' \\ +-e 'print "Htmlifying $$m{$$_}\n";' \\ +-e '$$dir = dirname($$m{$$_}); mkpath($$dir) unless -d $$dir;' \\ +-e 'system(qq[$$^X ].q["-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" $(POD2HTML_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\\047t install $$m{$$_}\n";' \\ +-e 'chmod(oct($(PERM_RW))), $$m{$$_} or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}' +]; + push @m, "\nhtmlifypods : pure_all "; + push @m, join " \\\n\t", keys %{$self->{HTMLLIBPODS}}, keys %{$self->{HTMLSCRIPTPODS}}; + + push(@m,"\n"); + if (%{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}) { + push @m, "\t$self->{NOECHO}\$(POD2HTML) \\\n\t"; + push @m, join " \\\n\t", %{$self->{HTMLLIBPODS}}, %{$self->{HTMLSCRIPTPODS}}; + } + join('', @m); +} + =item init_dirscan -Initializes DIR, XS, PM, C, O_FILES, H, PL_FILES, MAN*PODS, EXE_FILES. +Initializes DIR, XS, PM, C, O_FILES, H, PL_FILES, HTML*PODS, MAN*PODS, EXE_FILES. =cut @@ -1309,24 +1405,26 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) if (-d $name){ next if -l $name; # We do not support symlinks at all $dir{$name} = $name if (-f $self->catfile($name,"Makefile.PL")); - } elsif ($name =~ /\.xs$/){ - my($c); ($c = $name) =~ s/\.xs$/.c/; + } elsif ($name =~ /\.xs\z/){ + my($c); ($c = $name) =~ s/\.xs\z/.c/; $xs{$name} = $c; $c{$c} = 1; - } elsif ($name =~ /\.c(pp|xx|c)?$/i){ # .c .C .cpp .cxx .cc + } elsif ($name =~ /\.c(pp|xx|c)?\z/i){ # .c .C .cpp .cxx .cc $c{$name} = 1 unless $name =~ m/perlmain\.c/; # See MAP_TARGET - } elsif ($name =~ /\.h$/i){ + } elsif ($name =~ /\.h\z/i){ $h{$name} = 1; - } elsif ($name =~ /\.PL$/) { - ($pl_files{$name} = $name) =~ s/\.PL$// ; - } elsif ($Is_VMS && $name =~ /\.pl$/) { # case-insensitive filesystem + } elsif ($name =~ /\.PL\z/) { + ($pl_files{$name} = $name) =~ s/\.PL\z// ; + } elsif (($Is_VMS || $Is_Dos) && $name =~ /[._]pl$/i) { + # case-insensitive filesystem, one dot per name, so foo.h.PL + # under Unix appears as foo.h_pl under VMS or fooh.pl on Dos local($/); open(PL,$name); my $txt = ; close PL; if ($txt =~ /Extracting \S+ \(with variable substitutions/) { - ($pl_files{$name} = $name) =~ s/\.pl$// ; + ($pl_files{$name} = $name) =~ s/[._]pl\z//i ; } else { $pm{$name} = $self->catfile('$(INST_LIBDIR)',$name); } - } elsif ($name =~ /\.(p[ml]|pod)$/){ + } elsif ($name =~ /\.(p[ml]|pod)\z/){ $pm{$name} = $self->catfile('$(INST_LIBDIR)',$name); } } @@ -1401,70 +1499,64 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) $self->{PM} = \%pm unless $self->{PM}; $self->{C} = [sort keys %c] unless $self->{C}; my(@o_files) = @{$self->{C}}; - $self->{O_FILES} = [grep s/\.c(pp|xx|c)?$/$self->{OBJ_EXT}/i, @o_files] ; + $self->{O_FILES} = [grep s/\.c(pp|xx|c)?\z/$self->{OBJ_EXT}/i, @o_files] ; $self->{H} = [sort keys %h] unless $self->{H}; $self->{PL_FILES} = \%pl_files unless $self->{PL_FILES}; # Set up names of manual pages to generate from pods - if ($self->{MAN1PODS}) { - } elsif ( $self->{INST_MAN1DIR} =~ /^(none|\s*)$/ ) { - $self->{MAN1PODS} = {}; - } else { - my %manifypods = (); + my %pods; + foreach my $man (qw(MAN1 MAN3 HTMLLIB HTMLSCRIPT)) { + unless ($self->{"${man}PODS"}) { + $self->{"${man}PODS"} = {}; + $pods{$man} = 1 unless $self->{"INST_${man}DIR"} =~ /^(none|\s*)$/; + } + } + + if ($pods{MAN1} || $pods{HTMLSCRIPT}) { if ( exists $self->{EXE_FILES} ) { foreach $name (@{$self->{EXE_FILES}}) { -# use FileHandle (); -# my $fh = new FileHandle; local *FH; my($ispod)=0; -# if ($fh->open("<$name")) { if (open(FH,"<$name")) { -# while (<$fh>) { while () { if (/^=head1\s+\w+/) { $ispod=1; last; } } -# $fh->close; close FH; } else { # If it doesn't exist yet, we assume, it has pods in it $ispod = 1; } - if( $ispod ) { - $manifypods{$name} = - $self->catfile('$(INST_MAN1DIR)', - basename($name).'.$(MAN1EXT)'); + next unless $ispod; + if ($pods{HTMLSCRIPT}) { + $self->{HTMLSCRIPTPODS}->{$name} = + $self->catfile("\$(INST_HTMLSCRIPTDIR)", basename($name).".\$(HTMLEXT)"); + } + if ($pods{MAN1}) { + $self->{MAN1PODS}->{$name} = + $self->catfile("\$(INST_MAN1DIR)", basename($name).".\$(MAN1EXT)"); } } } - $self->{MAN1PODS} = \%manifypods; } - if ($self->{MAN3PODS}) { - } elsif ( $self->{INST_MAN3DIR} =~ /^(none|\s*)$/ ) { - $self->{MAN3PODS} = {}; - } else { + if ($pods{MAN3} || $pods{HTMLLIB}) { my %manifypods = (); # we collect the keys first, i.e. the files # we have to convert to pod foreach $name (keys %{$self->{PM}}) { - if ($name =~ /\.pod$/ ) { + if ($name =~ /\.pod\z/ ) { $manifypods{$name} = $self->{PM}{$name}; - } elsif ($name =~ /\.p[ml]$/ ) { -# use FileHandle (); -# my $fh = new FileHandle; + } elsif ($name =~ /\.p[ml]\z/ ) { local *FH; my($ispod)=0; -# $fh->open("<$name"); if (open(FH,"<$name")) { - # while (<$fh>) { while () { if (/^=head1\s+\w+/) { $ispod=1; last; } } - # $fh->close; close FH; } else { $ispod = 1; @@ -1478,19 +1570,25 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) # Remove "Configure.pm" and similar, if it's not the only pod listed # To force inclusion, just name it "Configure.pod", or override MAN3PODS foreach $name (keys %manifypods) { - if ($name =~ /(config|setup).*\.pm/i) { + if ($name =~ /(config|setup).*\.pm/is) { delete $manifypods{$name}; next; } my($manpagename) = $name; - unless ($manpagename =~ s!^\W*lib\W+!!) { # everything below lib is ok + $manpagename =~ s/\.p(od|m|l)\z//; + if ($pods{HTMLLIB}) { + $self->{HTMLLIBPODS}->{$name} = + $self->catfile("\$(INST_HTMLLIBDIR)", "$manpagename.\$(HTMLEXT)"); + } + unless ($manpagename =~ s!^\W*lib\W+!!s) { # everything below lib is ok $manpagename = $self->catfile(split(/::/,$self->{PARENT_NAME}),$manpagename); } - $manpagename =~ s/\.p(od|m|l)$//; - $manpagename = $self->replace_manpage_separator($manpagename); - $manifypods{$name} = $self->catfile("\$(INST_MAN3DIR)","$manpagename.\$(MAN3EXT)"); + if ($pods{MAN3}) { + $manpagename = $self->replace_manpage_separator($manpagename); + $self->{MAN3PODS}->{$name} = + $self->catfile("\$(INST_MAN3DIR)", "$manpagename.\$(MAN3EXT)"); + } } - $self->{MAN3PODS} = \%manifypods; } } @@ -1531,7 +1629,7 @@ sub init_main { $modfname = &DynaLoader::mod2fname(\@modparts); } - ($self->{PARENT_NAME}, $self->{BASEEXT}) = $self->{NAME} =~ m!(?:([\w:]+)::)?(\w+)$! ; + ($self->{PARENT_NAME}, $self->{BASEEXT}) = $self->{NAME} =~ m!(?:([\w:]+)::)?(\w+)\z! ; if (defined &DynaLoader::mod2fname) { # As of 5.001m, dl_os2 appends '_' @@ -1601,10 +1699,34 @@ from the perl source tree. } } else { # we should also consider $ENV{PERL5LIB} here + my $old = $self->{PERL_LIB} || $self->{PERL_ARCHLIB} || $self->{PERL_INC}; $self->{PERL_LIB} ||= $Config::Config{privlibexp}; $self->{PERL_ARCHLIB} ||= $Config::Config{archlibexp}; $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now my $perl_h; + + if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h")) + and not $old){ + # Maybe somebody tries to build an extension with an + # uninstalled Perl outside of Perl build tree + my $found; + for my $dir (@INC) { + $found = $dir, last if -e $self->catdir($dir, "Config.pm"); + } + if ($found) { + my $inc = dirname $found; + if (-e $self->catdir($inc, "perl.h")) { + $self->{PERL_LIB} = $found; + $self->{PERL_ARCHLIB} = $found; + $self->{PERL_INC} = $inc; + $self->{UNINSTALLED_PERL} = 1; + print STDOUT <catfile($self->{PERL_INC},"perl.h"))){ die qq{ Error: Unable to locate installed Perl libraries or Perl source code. @@ -1695,8 +1817,7 @@ usually solves this kind of problem. my($install_variable,$search_prefix,$replace_prefix); - # The rule, taken from Configure, is that if prefix contains perl, - # we shape the tree + # If the prefix contains perl, Configure shapes the tree as follows: # perlprefix/lib/ INSTALLPRIVLIB # perlprefix/lib/pod/ # perlprefix/lib/site_perl/ INSTALLSITELIB @@ -1708,6 +1829,11 @@ usually solves this kind of problem. # prefix/lib/perl5/site_perl/ INSTALLSITELIB # prefix/bin/ INSTALLBIN # prefix/lib/perl5/man/ INSTALLMAN1DIR + # + # The above results in various kinds of breakage on various + # platforms, so we cope with it as follows: if prefix/lib/perl5 + # or prefix/lib/perl5/man exist, we'll replace those instead + # of /prefix/{lib,man} $replace_prefix = qq[\$\(PREFIX\)]; for $install_variable (qw/ @@ -1716,36 +1842,45 @@ usually solves this kind of problem. /) { $self->prefixify($install_variable,$configure_prefix,$replace_prefix); } - $search_prefix = $configure_prefix =~ /perl/ ? - $self->catdir($configure_prefix,"lib") : - $self->catdir($configure_prefix,"lib","perl5"); + my $funkylibdir = $self->catdir($configure_prefix,"lib","perl5"); + $funkylibdir = '' unless -d $funkylibdir; + $search_prefix = $funkylibdir || $self->catdir($configure_prefix,"lib"); if ($self->{LIB}) { $self->{INSTALLPRIVLIB} = $self->{INSTALLSITELIB} = $self->{LIB}; $self->{INSTALLARCHLIB} = $self->{INSTALLSITEARCH} = $self->catdir($self->{LIB},$Config{'archname'}); - } else { - $replace_prefix = $self->{PREFIX} =~ /perl/ ? - $self->catdir(qq[\$\(PREFIX\)],"lib") : - $self->catdir(qq[\$\(PREFIX\)],"lib","perl5"); + } + else { + if (-d $self->catdir($self->{PREFIX},"lib","perl5")) { + $replace_prefix = $self->catdir(qq[\$\(PREFIX\)],"lib", "perl5"); + } + else { + $replace_prefix = $self->catdir(qq[\$\(PREFIX\)],"lib"); + } for $install_variable (qw/ INSTALLPRIVLIB INSTALLARCHLIB INSTALLSITELIB INSTALLSITEARCH - /) { + /) + { $self->prefixify($install_variable,$search_prefix,$replace_prefix); } } - $search_prefix = $configure_prefix =~ /perl/ ? - $self->catdir($configure_prefix,"man") : - $self->catdir($configure_prefix,"lib","perl5","man"); - $replace_prefix = $self->{PREFIX} =~ /perl/ ? - $self->catdir(qq[\$\(PREFIX\)],"man") : - $self->catdir(qq[\$\(PREFIX\)],"lib","perl5","man"); + my $funkymandir = $self->catdir($configure_prefix,"lib","perl5","man"); + $funkymandir = '' unless -d $funkymandir; + $search_prefix = $funkymandir || $self->catdir($configure_prefix,"man"); + if (-d $self->catdir($self->{PREFIX},"lib","perl5", "man")) { + $replace_prefix = $self->catdir(qq[\$\(PREFIX\)],"lib", "perl5", "man"); + } + else { + $replace_prefix = $self->catdir(qq[\$\(PREFIX\)],"man"); + } for $install_variable (qw/ INSTALLMAN1DIR INSTALLMAN3DIR - /) { + /) + { $self->prefixify($install_variable,$search_prefix,$replace_prefix); } @@ -1773,6 +1908,30 @@ usually solves this kind of problem. } $self->{MAN3EXT} ||= $Config::Config{man3ext}; + $self->{INSTALLHTMLPRIVLIBDIR} = $Config::Config{installhtmlprivlibdir} + unless defined $self->{INSTALLHTMLPRIVLIBDIR}; + $self->{INSTALLHTMLSITELIBDIR} = $Config::Config{installhtmlsitelibdir} + unless defined $self->{INSTALLHTMLSITELIBDIR}; + + unless (defined $self->{INST_HTMLLIBDIR}){ + if ($self->{INSTALLHTMLSITELIBDIR} =~ /^(none|\s*)$/){ + $self->{INST_HTMLLIBDIR} = $self->{INSTALLHTMLSITELIBDIR}; + } else { + $self->{INST_HTMLLIBDIR} = $self->catdir($self->curdir,'blib','html','lib'); + } + } + + $self->{INSTALLHTMLSCRIPTDIR} = $Config::Config{installhtmlscriptdir} + unless defined $self->{INSTALLHTMLSCRIPTDIR}; + unless (defined $self->{INST_HTMLSCRIPTDIR}){ + if ($self->{INSTALLHTMLSCRIPTDIR} =~ /^(none|\s*)$/){ + $self->{INST_HTMLSCRIPTDIR} = $self->{INSTALLHTMLSCRIPTDIR}; + } else { + $self->{INST_HTMLSCRIPTDIR} = $self->catdir($self->curdir,'blib','html','bin'); + } + } + $self->{HTMLEXT} ||= $Config::Config{htmlext} || 'html'; + # Get some stuff out of %Config if we haven't yet done so print STDOUT "CONFIG must be an array ref\n" @@ -1846,7 +2005,8 @@ usually solves this kind of problem. push @defpath, $component if defined $component; } $self->{PERL} ||= - $self->find_perl(5.0, [ $^X, 'miniperl','perl','perl5',"perl$]" ], + $self->find_perl(5.0, [ $self->canonpath($^X), 'miniperl', + 'perl','perl5',"perl$Config{version}" ], \@defpath, $Verbose ); # don't check if perl is executable, maybe they have decided to # supply switches with perl @@ -1965,6 +2125,8 @@ pure_perl_install :: $(INST_ARCHLIB) $(INSTALLARCHLIB) \ $(INST_BIN) $(INSTALLBIN) \ $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_HTMLLIBDIR) $(INSTALLHTMLPRIVLIBDIR) \ + $(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) }.$self->{NOECHO}.q{$(WARN_IF_OLD_PACKLIST) \ @@ -1979,12 +2141,15 @@ pure_site_install :: $(INST_ARCHLIB) $(INSTALLSITEARCH) \ $(INST_BIN) $(INSTALLBIN) \ $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_HTMLLIBDIR) $(INSTALLHTMLSITELIBDIR) \ + $(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) }.$self->{NOECHO}.q{$(WARN_IF_OLD_PACKLIST) \ }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{ doc_perl_install :: + -}.$self->{NOECHO}.q{$(MKPATH) $(INSTALLARCHLIB) -}.$self->{NOECHO}.q{$(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLPRIVLIB)" \ @@ -1994,6 +2159,7 @@ doc_perl_install :: >> }.$self->catfile('$(INSTALLARCHLIB)','perllocal.pod').q{ doc_site_install :: + -}.$self->{NOECHO}.q{$(MKPATH) $(INSTALLARCHLIB) -}.$self->{NOECHO}.q{$(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLSITELIB)" \ @@ -2219,7 +2385,7 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) my $incl; my $xx; - ($xx = $File::Find::name) =~ s,.*?/auto/,,; + ($xx = $File::Find::name) =~ s,.*?/auto/,,s; $xx =~ s,/?$_,,; $xx =~ s,/,::,g; @@ -2237,7 +2403,7 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) my $excl; my $xx; - ($xx = $File::Find::name) =~ s,.*?/auto/,,; + ($xx = $File::Find::name) =~ s,.*?/auto/,,s; $xx =~ s,/?$_,,; $xx =~ s,/,::,g; @@ -2254,7 +2420,7 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) # Once the patch to minimod.PL is in the distribution, I can # drop it - return if $File::Find::name =~ m:auto/$self->{FULLEXT}/$self->{BASEEXT}$self->{LIB_EXT}$:; + return if $File::Find::name =~ m:auto/$self->{FULLEXT}/$self->{BASEEXT}$self->{LIB_EXT}\z:; use Cwd 'cwd'; $static{cwd() . "/" . $_}++; }, grep( -d $_, @{$searchdirs || []}) ); @@ -2265,7 +2431,7 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) $extra = [] unless $extra && ref $extra eq 'ARRAY'; for (sort keys %static) { - next unless /\Q$self->{LIB_EXT}\E$/; + next unless /\Q$self->{LIB_EXT}\E\z/; $_ = dirname($_) . "/extralibs.ld"; push @$extra, $_; } @@ -2350,7 +2516,7 @@ $tmp/perlmain\$(OBJ_EXT): $tmp/perlmain.c $tmp/perlmain.c: $makefilename}, q{ }.$self->{NOECHO}.q{echo Writing $@ }.$self->{NOECHO}.q{$(PERL) $(MAP_PERLINC) -MExtUtils::Miniperl \\ - -e "writemain(grep s#.*/auto/##, split(q| |, q|$(MAP_STATIC)|))" > $@t && $(MV) $@t $@ + -e "writemain(grep s#.*/auto/##s, split(q| |, q|$(MAP_STATIC)|))" > $@t && $(MV) $@t $@ }; push @m, "\t",$self->{NOECHO}.q{$(PERL) $(INSTALLSCRIPT)/fixpmain @@ -2360,6 +2526,7 @@ $tmp/perlmain.c: $makefilename}, q{ push @m, q{ doc_inst_perl: }.$self->{NOECHO}.q{echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod + -}.$self->{NOECHO}.q{$(MKPATH) $(INSTALLARCHLIB) -}.$self->{NOECHO}.q{$(DOC_INSTALL) \ "Perl binary" "$(MAP_TARGET)" \ MAP_STATIC "$(MAP_STATIC)" \ @@ -2441,7 +2608,11 @@ sub manifypods { } else { $pod2man_exe = $self->catfile($Config{scriptdirexp},'pod2man'); } - unless ($self->perl_script($pod2man_exe)) { + unless ($pod2man_exe = $self->perl_script($pod2man_exe)) { + # Maybe a build by uninstalled Perl? + $pod2man_exe = $self->catfile($self->{PERL_INC}, "pod", "pod2man"); + } + unless ($pod2man_exe = $self->perl_script($pod2man_exe)) { # No pod2man but some MAN3PODS to be installed print <{DISTNAME}; - $package =~ s/-/::/; + $package =~ s/-/::/g; while () { $inpod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $inpod; next if !$inpod; @@ -2710,16 +2883,53 @@ $(PERL_ARCHLIB)/Config.pm: $(PERL_SRC)/config.sh push @m, q{ PERL_HDRS = \ -$(PERL_INC)/EXTERN.h $(PERL_INC)/gv.h $(PERL_INC)/pp.h \ -$(PERL_INC)/INTERN.h $(PERL_INC)/handy.h $(PERL_INC)/proto.h \ -$(PERL_INC)/XSUB.h $(PERL_INC)/hv.h $(PERL_INC)/regcomp.h \ -$(PERL_INC)/av.h $(PERL_INC)/keywords.h $(PERL_INC)/regexp.h \ -$(PERL_INC)/config.h $(PERL_INC)/mg.h $(PERL_INC)/scope.h \ -$(PERL_INC)/cop.h $(PERL_INC)/op.h $(PERL_INC)/sv.h \ -$(PERL_INC)/cv.h $(PERL_INC)/opcode.h $(PERL_INC)/unixish.h \ -$(PERL_INC)/dosish.h $(PERL_INC)/patchlevel.h $(PERL_INC)/util.h \ -$(PERL_INC)/embed.h $(PERL_INC)/perl.h $(PERL_INC)/iperlsys.h \ -$(PERL_INC)/form.h $(PERL_INC)/perly.h + $(PERL_INC)/EXTERN.h \ + $(PERL_INC)/INTERN.h \ + $(PERL_INC)/XSUB.h \ + $(PERL_INC)/av.h \ + $(PERL_INC)/cc_runtime.h \ + $(PERL_INC)/config.h \ + $(PERL_INC)/cop.h \ + $(PERL_INC)/cv.h \ + $(PERL_INC)/dosish.h \ + $(PERL_INC)/embed.h \ + $(PERL_INC)/embedvar.h \ + $(PERL_INC)/fakethr.h \ + $(PERL_INC)/form.h \ + $(PERL_INC)/gv.h \ + $(PERL_INC)/handy.h \ + $(PERL_INC)/hv.h \ + $(PERL_INC)/intrpvar.h \ + $(PERL_INC)/iperlsys.h \ + $(PERL_INC)/keywords.h \ + $(PERL_INC)/mg.h \ + $(PERL_INC)/nostdio.h \ + $(PERL_INC)/objXSUB.h \ + $(PERL_INC)/op.h \ + $(PERL_INC)/opcode.h \ + $(PERL_INC)/opnames.h \ + $(PERL_INC)/patchlevel.h \ + $(PERL_INC)/perl.h \ + $(PERL_INC)/perlapi.h \ + $(PERL_INC)/perlio.h \ + $(PERL_INC)/perlsdio.h \ + $(PERL_INC)/perlsfio.h \ + $(PERL_INC)/perlvars.h \ + $(PERL_INC)/perly.h \ + $(PERL_INC)/pp.h \ + $(PERL_INC)/pp_proto.h \ + $(PERL_INC)/proto.h \ + $(PERL_INC)/regcomp.h \ + $(PERL_INC)/regexp.h \ + $(PERL_INC)/regnodes.h \ + $(PERL_INC)/scope.h \ + $(PERL_INC)/sv.h \ + $(PERL_INC)/thrdvar.h \ + $(PERL_INC)/thread.h \ + $(PERL_INC)/unixish.h \ + $(PERL_INC)/utf8.h \ + $(PERL_INC)/util.h \ + $(PERL_INC)/warnings.h $(OBJECT) : $(PERL_HDRS) } if $self->{OBJECT}; @@ -2883,7 +3093,7 @@ sub prefixify { my($self,$var,$sprefix,$rprefix) = @_; $self->{uc $var} ||= $Config{lc $var}; $self->{uc $var} = VMS::Filespec::unixpath($self->{uc $var}) if $Is_VMS; - $self->{uc $var} =~ s/\Q$sprefix\E/$rprefix/; + $self->{uc $var} =~ s/\Q$sprefix\E/$rprefix/s; } =item processPL (o) @@ -2927,7 +3137,9 @@ sub realclean { realclean purge :: clean '); # realclean subdirectories first (already cleaned) - my $sub = "\t-cd %s && \$(TEST_F) %s && \$(MAKE) %s realclean\n"; + my $sub = ($Is_Win32 && Win32::IsWin95()) ? + "\tcd %s\n\t\$(TEST_F) %s\n\t\$(MAKE) %s realclean\n\tcd ..\n" : + "\t-cd %s && \$(TEST_F) %s && \$(MAKE) %s realclean\n"; foreach(@{$self->{DIR}}){ push(@m, sprintf($sub,$_,"$self->{MAKEFILE}.old","-f $self->{MAKEFILE}.old")); push(@m, sprintf($sub,$_,"$self->{MAKEFILE}",'')); @@ -3005,9 +3217,18 @@ END # then copy that to $(INST_STATIC) and add $(OBJECT) into it. push(@m, "\t$self->{CP} \$(MYEXTLIB) \$\@\n") if $self->{MYEXTLIB}; + my $ar; + if (exists $self->{FULL_AR} && -x $self->{FULL_AR}) { + # Prefer the absolute pathed ar if available so that PATH + # doesn't confuse us. Perl itself is built with the full_ar. + $ar = 'FULL_AR'; + } else { + $ar = 'AR'; + } push @m, -q{ $(AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@ - $(CHMOD) $(PERM_RWX) $@ + "\t\$($ar) ".'$(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@'."\n"; + push @m, +q{ $(CHMOD) $(PERM_RWX) $@ }.$self->{NOECHO}.q{echo "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld }; # Old mechanism - still available: @@ -3071,12 +3292,25 @@ Helper subroutine for subdirs sub subdir_x { my($self, $subdir) = @_; my(@m); - qq{ + if ($Is_Win32 && Win32::IsWin95()) { + # XXX: dmake-specific, like rest of Win95 port + return <{NOECHO}cd $subdir && \$(MAKE) all \$(PASTHRU) -}; +EOT + } } =item subdirs (o) @@ -3321,13 +3555,13 @@ sub tool_xsubpp { } } - my $xsubpp = $self->{CAPI} ? "xsubpp -object_capi" : "xsubpp"; + my $xsubpp = "xsubpp"; return qq{ XSUBPPDIR = $xsdir XSUBPP = \$(XSUBPPDIR)/$xsubpp XSPROTOARG = $self->{XSPROTOARG} -XSUBPPDEPS = @tmdeps +XSUBPPDEPS = @tmdeps \$(XSUBPP) XSUBPPARGS = @tmargs }; }; @@ -3403,7 +3637,7 @@ sub top_targets { '; push @m, ' -all :: pure_all manifypods +all :: pure_all htmlifypods manifypods '.$self->{NOECHO}.'$(NOOP) ' unless $self->{SKIPHASH}{'all'}; @@ -3425,13 +3659,25 @@ config :: $(INST_AUTODIR)/.exists '.$self->{NOECHO}.'$(NOOP) '; - push @m, qq{ -config :: Version_check + push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); + + if (%{$self->{HTMLLIBPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLLIBDIR)/.exists $self->{NOECHO}\$(NOOP) -} unless $self->{PARENT} or ($self->{PERL_SRC} && $self->{INSTALLDIRS} eq "perl") or $self->{NO_VC}; +]; + push @m, $self->dir_target(qw[$(INST_HTMLLIBDIR)]); + } - push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); + if (%{$self->{HTMLSCRIPTPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLSCRIPTDIR)/.exists + $self->{NOECHO}\$(NOOP) + +]; + push @m, $self->dir_target(qw[$(INST_HTMLSCRIPTDIR)]); + } if (%{$self->{MAN1PODS}}) { push @m, qq[ @@ -3495,7 +3741,7 @@ sub xs_c { return '' unless $self->needs_linking(); ' .xs.c: - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && $(MV) xstmp.c $*.c + $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c '; } @@ -3510,7 +3756,7 @@ sub xs_cpp { return '' unless $self->needs_linking(); ' .xs.cpp: - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && $(MV) xstmp.c $*.cpp + $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.cpp '; } @@ -3526,7 +3772,7 @@ sub xs_o { # many makes are too dumb to use xs_c then c_o return '' unless $self->needs_linking(); ' .xs$(OBJ_EXT): - $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && $(MV) xstmp.c $*.c + $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c '; } diff --git a/gnu/usr.bin/perl/lib/ExtUtils/MM_VMS.pm b/gnu/usr.bin/perl/lib/ExtUtils/MM_VMS.pm index 8f8ac1787c4..57a8146dae7 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/MM_VMS.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/MM_VMS.pm @@ -12,10 +12,11 @@ use Config; require Exporter; use VMS::Filespec; use File::Basename; +use File::Spec; +our($Revision, @ISA); +$Revision = '5.56 (27-Apr-1999)'; -use vars qw($Revision); -$Revision = '5.52 (12-Sep-1998)'; - +@ISA = qw( File::Spec ); unshift @MM::ISA, 'ExtUtils::MM_VMS'; Exporter::import('ExtUtils::MakeMaker', '$Verbose', '&neatvalue'); @@ -38,156 +39,6 @@ the semantics. =over -=item eliminate_macros - -Expands MM[KS]/Make macros in a text string, using the contents of -identically named elements of C<%$self>, and returns the result -as a file specification in Unix syntax. - -=cut - -sub eliminate_macros { - my($self,$path) = @_; - unless ($path) { - print "eliminate_macros('') = ||\n" if $Verbose >= 3; - return ''; - } - my($npath) = unixify($path); - my($complex) = 0; - my($head,$macro,$tail); - - # perform m##g in scalar context so it acts as an iterator - while ($npath =~ m#(.*?)\$\((\S+?)\)(.*)#g) { - if ($self->{$2}) { - ($head,$macro,$tail) = ($1,$2,$3); - if (ref $self->{$macro}) { - if (ref $self->{$macro} eq 'ARRAY') { - print "Note: expanded array macro \$($macro) in $path\n" if $Verbose; - $macro = join ' ', @{$self->{$macro}}; - } - else { - print "Note: can't expand macro \$($macro) containing ",ref($self->{$macro}), - "\n\t(using MMK-specific deferred substitutuon; MMS will break)\n"; - $macro = "\cB$macro\cB"; - $complex = 1; - } - } - else { ($macro = unixify($self->{$macro})) =~ s#/$##; } - $npath = "$head$macro$tail"; - } - } - if ($complex) { $npath =~ s#\cB(.*?)\cB#\${$1}#g; } - print "eliminate_macros($path) = |$npath|\n" if $Verbose >= 3; - $npath; -} - -=item fixpath - -Catchall routine to clean up problem MM[SK]/Make macros. Expands macros -in any directory specification, in order to avoid juxtaposing two -VMS-syntax directories when MM[SK] is run. Also expands expressions which -are all macro, so that we can tell how long the expansion is, and avoid -overrunning DCL's command buffer when MM[KS] is running. - -If optional second argument has a TRUE value, then the return string is -a VMS-syntax directory specification, if it is FALSE, the return string -is a VMS-syntax file specification, and if it is not specified, fixpath() -checks to see whether it matches the name of a directory in the current -default directory, and returns a directory or file specification accordingly. - -=cut - -sub fixpath { - my($self,$path,$force_path) = @_; - unless ($path) { - print "eliminate_macros('') = ||\n" if $Verbose >= 3; - return ''; - } - my($fixedpath,$prefix,$name); - - if ($path =~ m#^\$\([^\)]+\)$# || $path =~ m#[/:>\]]#) { - if ($force_path or $path =~ /(?:DIR\)|\])$/) { - $fixedpath = vmspath($self->eliminate_macros($path)); - } - else { - $fixedpath = vmsify($self->eliminate_macros($path)); - } - } - elsif ((($prefix,$name) = ($path =~ m#^\$\(([^\)]+)\)(.+)#)) && $self->{$prefix}) { - my($vmspre) = $self->eliminate_macros("\$($prefix)"); - # is it a dir or just a name? - $vmspre = ($vmspre =~ m|/| or $prefix =~ /DIR$/) ? vmspath($vmspre) : ''; - $fixedpath = ($vmspre ? $vmspre : $self->{$prefix}) . $name; - $fixedpath = vmspath($fixedpath) if $force_path; - } - else { - $fixedpath = $path; - $fixedpath = vmspath($fixedpath) if $force_path; - } - # No hints, so we try to guess - if (!defined($force_path) and $fixedpath !~ /[:>(.\]]/) { - $fixedpath = vmspath($fixedpath) if -d $fixedpath; - } - # Trim off root dirname if it's had other dirs inserted in front of it. - $fixedpath =~ s/\.000000([\]>])/$1/; - print "fixpath($path) = |$fixedpath|\n" if $Verbose >= 3; - $fixedpath; -} - -=item catdir - -Concatenates a list of file specifications, and returns the result as a -VMS-syntax directory specification. - -=cut - -sub catdir { - my($self,@dirs) = @_; - my($dir) = pop @dirs; - @dirs = grep($_,@dirs); - my($rslt); - if (@dirs) { - my($path) = (@dirs == 1 ? $dirs[0] : $self->catdir(@dirs)); - my($spath,$sdir) = ($path,$dir); - $spath =~ s/.dir$//; $sdir =~ s/.dir$//; - $sdir = $self->eliminate_macros($sdir) unless $sdir =~ /^[\w\-]+$/; - $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1); - } - else { - if ($dir =~ /^\$\([^\)]+\)$/) { $rslt = $dir; } - else { $rslt = vmspath($dir); } - } - print "catdir(",join(',',@_[1..$#_]),") = |$rslt|\n" if $Verbose >= 3; - $rslt; -} - -=item catfile - -Concatenates a list of file specifications, and returns the result as a -VMS-syntax directory specification. - -=cut - -sub catfile { - my($self,@files) = @_; - my($file) = pop @files; - @files = grep($_,@files); - my($rslt); - if (@files) { - my($path) = (@files == 1 ? $files[0] : $self->catdir(@files)); - my($spath) = $path; - $spath =~ s/.dir$//; - if ( $spath =~ /^[^\)\]\/:>]+\)$/ && basename($file) eq $file) { $rslt = "$spath$file"; } - else { - $rslt = $self->eliminate_macros($spath); - $rslt = vmsify($rslt.($rslt ? '/' : '').unixify($file)); - } - } - else { $rslt = vmsify($file); } - print "catfile(",join(',',@_[1..$#_]),") = |$rslt|\n" if $Verbose >= 3; - $rslt; -} - =item wraplist Converts a list into a string wrapped at approximately 80 columns. @@ -212,16 +63,6 @@ sub wraplist { $line; } -=item curdir (override) - -Returns a string representing of the current directory. - -=cut - -sub curdir { - return '[]'; -} - =item rootdir (override) Returns a string representing of the root directory. @@ -232,16 +73,6 @@ sub rootdir { return ''; } -=item updir (override) - -Returns a string representing of the parent directory. - -=cut - -sub updir { - return '[-]'; -} - package ExtUtils::MM_VMS; sub ExtUtils::MM_VMS::ext; @@ -447,14 +278,14 @@ sub find_perl { print "Checking $name\n" if ($trace >= 2); # If it looks like a potential command, try it without the MCR if ($name =~ /^[\w\-\$]+$/ && - `$name -e "require $ver; print ""VER_OK\n"""` =~ /VER_OK/) { + `$name -e "require $ver; print ""VER_OK\\n"""` =~ /VER_OK/) { print "Using PERL=$name\n" if $trace; return $name; } next unless $vmsfile = $self->maybe_command($name); $vmsfile =~ s/;[\d\-]*$//; # Clip off version number; we can use a newer version as well print "Executing $vmsfile\n" if ($trace >= 2); - if (`MCR $vmsfile -e "require $ver; print ""VER_OK\n"""` =~ /VER_OK/) { + if (`MCR $vmsfile -e "require $ver; print ""VER_OK\\n"""` =~ /VER_OK/) { print "Using PERL=MCR $vmsfile\n" if $trace; return "MCR $vmsfile"; } @@ -625,11 +456,17 @@ sub constants { my($self) = @_; my(@m,$def,$macro); + # Be kind about case for pollution + for (@ARGV) { $_ = uc($_) if /POLLUTE/i; } + if ($self->{DEFINE} ne '') { - my(@defs) = split(/\s+/,$self->{DEFINE}); - foreach $def (@defs) { + my(@terms) = split(/\s+/,$self->{DEFINE}); + my(@defs,@udefs); + foreach $def (@terms) { next unless $def; - if ($def =~ s/^-D//) { # If it was a Unix-style definition + my $targ = \@defs; + if ($def =~ s/^-([DU])//) { # If it was a Unix-style definition + if ($1 eq 'U') { $targ = \@udefs; } $def =~ s/='(.*)'$/=$1/; # then remove shell-protection '' $def =~ s/^'(.*)'$/$1/; # from entire term or argument } @@ -637,8 +474,11 @@ sub constants { $def =~ s/"/""/g; # Protect existing " from DCL $def = qq["$def"]; # and quote to prevent parsing of = } + push @$targ, $def; } - $self->{DEFINE} = join ',',@defs; + $self->{DEFINE} = ''; + if (@defs) { $self->{DEFINE} = '/Define=(' . join(',',@defs) . ')'; } + if (@udefs) { $self->{DEFINE} .= '/Undef=(' . join(',',@udefs) . ')'; } } if ($self->{OBJECT} =~ /\s/) { @@ -837,32 +677,31 @@ sub cflags { warn "MM_VMS: Ignoring unrecognized CCFLAGS elements \"$quals\"\n"; $quals = ''; } + $definestr .= q["PERL_POLLUTE",] if $self->{POLLUTE}; if (length $definestr) { chop($definestr); $quals .= "/Define=($definestr)"; } if (length $undefstr) { chop($undefstr); $quals .= "/Undef=($undefstr)"; } # Deal with $self->{DEFINE} here since some C compilers pay attention # to only one /Define clause on command line, so we have to # conflate the ones from $Config{'ccflags'} and $self->{DEFINE} - if ($quals =~ m:(.*)/define=\(?([^\(\/\)\s]+)\)?(.*)?:i) { - $quals = "$1/Define=($2," . ($self->{DEFINE} ? "$self->{DEFINE}," : '') . - "\$(DEFINE_VERSION),\$(XS_DEFINE_VERSION))$3"; - } - else { - $quals .= '/Define=(' . ($self->{DEFINE} ? "$self->{DEFINE}," : '') . - '$(DEFINE_VERSION),$(XS_DEFINE_VERSION))'; + # ($self->{DEFINE} has already been VMSified in constants() above) + if ($self->{DEFINE}) { $quals .= $self->{DEFINE}; } + for $type (qw(Def Undef)) { + my(@terms); + while ($quals =~ m:/${type}i?n?e?=([^/]+):ig) { + my $term = $1; + $term =~ s:^\((.+)\)$:$1:; + push @terms, $term; + } + if ($type eq 'Def') { + push @terms, qw[ $(DEFINE_VERSION) $(XS_DEFINE_VERSION) ]; + } + if (@terms) { + $quals =~ s:/${type}i?n?e?=[^/]+::ig; + $quals .= "/${type}ine=(" . join(',',@terms) . ')'; + } } $libperl or $libperl = $self->{LIBPERL_A} || "libperl.olb"; -# This whole section is commented out, since I don't think it's necessary (or applicable) -# if ($libperl =~ s/^$Config{'dbgprefix'}//) { $libperl =~ s/perl([^Dd]*)\./perld$1./; } -# if ($libperl =~ /libperl(\w+)\./i) { -# my($type) = uc $1; -# my(%map) = ( 'D' => 'DEBUGGING', 'E' => 'EMBED', 'M' => 'MULTIPLICITY', -# 'DE' => 'DEBUGGING,EMBED', 'DM' => 'DEBUGGING,MULTIPLICITY', -# 'EM' => 'EMBED,MULTIPLICITY', 'DEM' => 'DEBUGGING,EMBED,MULTIPLICITY' ); -# my($add) = join(',', grep { $quals !~ /\b$_\b/ } split(/,/,$map{$type})); -# $quals =~ s:/define=\(([^\)]+)\):/Define=($1,$add):i if $add; -# $self->{PERLTYPE} ||= $type; -# } # Likewise with $self->{INC} and /Include if ($self->{'INC'}) { @@ -873,11 +712,12 @@ sub cflags { } } $quals .= "$incstr)"; +# $quals =~ s/,,/,/g; $quals =~ s/\(,/(/g; $self->{CCFLAGS} = $quals; $self->{OPTIMIZE} ||= $flagoptstr || $Config{'optimize'}; if ($self->{OPTIMIZE} !~ m!/!) { - if ($self->{OPTIMIZE} =~ m!\b-g\b!) { $self->{OPTIMIZE} = '/Debug/NoOptimize' } + if ($self->{OPTIMIZE} =~ m!-g!) { $self->{OPTIMIZE} = '/Debug/NoOptimize' } elsif ($self->{OPTIMIZE} =~ /-O(\d*)/) { $self->{OPTIMIZE} = '/Optimize' . (defined($1) ? "=$1" : ''); } @@ -1266,13 +1106,6 @@ config :: $(INST_AUTODIR).exists $(NOECHO) $(NOOP) '; - push @m, q{ -config :: Version_check - $(NOECHO) $(NOOP) - -} unless $self->{PARENT} or ($self->{PERL_SRC} && $self->{INSTALLDIRS} eq "perl") or $self->{NO_VC}; - - push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); if (%{$self->{MAN1PODS}}) { push @m, q[ @@ -1337,7 +1170,7 @@ static :: $(INST_ARCHAUTODIR)$(BASEEXT).opt $(NOECHO) $(NOOP) ') unless $self->{SKIPHASH}{'static'}; - push(@m,' + push @m,' $(INST_ARCHAUTODIR)$(BASEEXT).opt : $(BASEEXT).opt $(CP) $(MMS$SOURCE) $(MMS$TARGET) @@ -1345,9 +1178,32 @@ $(BASEEXT).opt : Makefile.PL $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -e "use ExtUtils::Mksymlists;" - ',qq[-e "Mksymlists('NAME' => '$self->{NAME}', 'DL_FUNCS' => ], neatvalue($funcs),q[, 'DL_VARS' => ],neatvalue($vars), - q[, 'FUNCLIST' => ],neatvalue($funclist),')" - $(PERL) -e "print ""$(INST_STATIC)/Include=$(BASEEXT)\n$(INST_STATIC)/Library\n"";" >>$(MMS$TARGET) -'); + q[, 'FUNCLIST' => ],neatvalue($funclist),qq[)"\n]; + + push @m, ' $(PERL) -e "print ""$(INST_STATIC)/Include='; + if ($self->{OBJECT} =~ /\bBASEEXT\b/ or + $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) { + push @m, ($Config{d_vms_case_sensitive_symbols} + ? uc($self->{BASEEXT}) :'$(BASEEXT)'); + } + else { # We don't have a "main" object file, so pull 'em all in + # Upcase module names if linker is being case-sensitive + my($upcase) = $Config{d_vms_case_sensitive_symbols}; + my(@omods) = map { s/\.[^.]*$//; # Trim off file type + s[\$\(\w+_EXT\)][]; # even as a macro + s/.*[:>\/\]]//; # Trim off dir spec + $upcase ? uc($_) : $_; + } split ' ', $self->eliminate_macros($self->{OBJECT}); + my($tmp,@lines,$elt) = ''; + my $tmp = shift @omods; + foreach $elt (@omods) { + $tmp .= ",$elt"; + if (length($tmp) > 80) { push @lines, $tmp; $tmp = ''; } + } + push @lines, $tmp; + push @m, '(', join( qq[, -\\n\\t"";" >>\$(MMS\$TARGET)\n\t\$(PERL) -e "print ""], @lines),')'; + } + push @m, '\n$(INST_STATIC)/Library\n"";" >>$(MMS$TARGET)',"\n"; if (length $self->{LDLOADLIBS}) { my($lib); my($line) = ''; @@ -1465,8 +1321,8 @@ $(INST_STATIC) : $(OBJECT) $(MYEXTLIB) push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)',"\n"); } - foreach $lib (split $self->{EXTRALIBS}) { - $lib = '""' if $lib eq '"'; + push @m, "\t\$(NOECHO) \$(PERL) -e 1 >\$(INST_ARCHAUTODIR)extralibs.ld\n"; + foreach $lib (split ' ', $self->{EXTRALIBS}) { push(@m,"\t",'$(NOECHO) $(PERL) -e "print qq{',$lib,'\n}" >>$(INST_ARCHAUTODIR)extralibs.ld',"\n"); } push @m, $self->dir_target('$(INST_ARCHAUTODIR)'); @@ -2186,12 +2042,13 @@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) $(NOECHO) $(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" \ Makefile.PL DIR=}, $dir, q{ \ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ - MAKEAPERL=1 NORECURS=1 + MAKEAPERL=1 NORECURS=1 }; + + push @m, map(q[ \\\n\t\t"$_"], @ARGV),q{ $(MAP_TARGET) :: $(MAKE_APERL_FILE) $(MMS)$(MMSQUALIFIERS)$(USEMAKEFILE)$(MAKE_APERL_FILE) static $(MMS$TARGET) }; - push @m, map( " \\\n\t\t$_", @ARGV ); push @m, "\n"; return join '', @m; @@ -2312,9 +2169,9 @@ $(MAP_TARGET) :: $(MAKE_APERL_FILE) $tmp = $self->fixpath($tmp,1); if (@optlibs) { $extralist = join(' ',@optlibs); } else { $extralist = ''; } - # Let ExtUtils::Liblist find the necessary for us (but skip PerlShr; + # Let ExtUtils::Liblist find the necessary libs for us (but skip PerlShr) # that's what we're building here). - push @optlibs, grep { !/PerlShr/i } split +($self->ext())[2]; + push @optlibs, grep { !/PerlShr/i } split ' ', +($self->ext())[2]; if ($libperl) { unless (-f $libperl || -f ($libperl = $self->catfile($Config{'installarchlib'},'CORE',$libperl))) { print STDOUT "Warning: $libperl not found\n"; diff --git a/gnu/usr.bin/perl/lib/ExtUtils/MM_Win32.pm b/gnu/usr.bin/perl/lib/ExtUtils/MM_Win32.pm index 4070b2e10b0..e08c6791eee 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/MM_Win32.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/MM_Win32.pm @@ -36,6 +36,49 @@ $NMAKE = 1 if $Config{'make'} =~ /^nmake/i; $PERLMAKE = 1 if $Config{'make'} =~ /^pmake/i; $OBJ = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i; +# a few workarounds for command.com (very basic) +{ + package ExtUtils::MM_Win95; + + # the $^O test may be overkill, but we want to be sure Win32::IsWin95() + # exists before we try it + + unshift @MM::ISA, 'ExtUtils::MM_Win95' + if ($^O =~ /Win32/ && Win32::IsWin95()); + + sub xs_c { + my($self) = shift; + return '' unless $self->needs_linking(); + ' +.xs.c: + $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) \\ + $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c + ' + } + + sub xs_cpp { + my($self) = shift; + return '' unless $self->needs_linking(); + ' +.xs.cpp: + $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) \\ + $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp + '; + } + + # many makes are too dumb to use xs_c then c_o + sub xs_o { + my($self) = shift; + return '' unless $self->needs_linking(); + ' +.xs$(OBJ_EXT): + $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) \\ + $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c + $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c + '; + } +} # end of command.com workarounds + sub dlsyms { my($self,%attribs) = @_; @@ -250,12 +293,19 @@ XS_FILES= ".join(" \\\n\t", sort keys %{$self->{XS}})." C_FILES = ".join(" \\\n\t", @{$self->{C}})." O_FILES = ".join(" \\\n\t", @{$self->{O_FILES}})." H_FILES = ".join(" \\\n\t", @{$self->{H}})." +HTMLLIBPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLLIBPODS}})." +HTMLSCRIPTPODS = ".join(" \\\n\t", sort keys %{$self->{HTMLSCRIPTPODS}})." MAN1PODS = ".join(" \\\n\t", sort keys %{$self->{MAN1PODS}})." MAN3PODS = ".join(" \\\n\t", sort keys %{$self->{MAN3PODS}})." "; for $tmp (qw/ - INST_MAN1DIR INSTALLMAN1DIR MAN1EXT INST_MAN3DIR INSTALLMAN3DIR MAN3EXT + INST_HTMLPRIVLIBDIR INSTALLHTMLPRIVLIBDIR + INST_HTMLSITELIBDIR INSTALLHTMLSITELIBDIR + INST_HTMLSCRIPTDIR INSTALLHTMLSCRIPTDIR + INST_HTMLLIBDIR HTMLEXT + INST_MAN1DIR INSTALLMAN1DIR MAN1EXT + INST_MAN3DIR INSTALLMAN3DIR MAN3EXT /) { next unless defined $self->{$tmp}; push @m, "$tmp = $self->{$tmp}\n"; @@ -338,7 +388,6 @@ PM_TO_BLIB = }.join(" \\\n\t", %{$self->{PM}}).q{ sub path { - local $^W = 1; my($self) = @_; my $path = $ENV{'PATH'} || $ENV{'Path'} || $ENV{'path'}; my @path = split(';',$path); @@ -434,6 +483,18 @@ sub dynamic_lib { my($inst_dynamic_dep) = $attribs{INST_DYNAMIC_DEP} || ""; my($ldfrom) = '$(LDFROM)'; my(@m); + +# one thing for GCC/Mingw32: +# we try to overcome non-relocateable-DLL problems by generating +# a (hopefully unique) image-base from the dll's name +# -- BKS, 10-19-1999 + if ($GCC) { + my $dllname = $self->{BASEEXT} . "." . $self->{DLEXT}; + $dllname =~ /(....)(.{0,4})/; + my $baseaddr = unpack("n", $1 ^ $2); + $otherldflags .= sprintf("-Wl,--image-base,0x%x0000 ", $baseaddr); + } + push(@m,' # This section creates the dynamically loadable $(INST_DYNAMIC) # from $(OBJECT) and possibly $(MYEXTLIB). @@ -472,11 +533,6 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)\.exists sub perl_archive { my ($self) = @_; - if($OBJ) { - if ($self->{CAPI}) { - return '$(PERL_INC)\perlCAPI$(LIB_EXT)'; - } - } return '$(PERL_INC)\\'.$Config{'libperl'}; } @@ -516,7 +572,9 @@ any ordinary, readable file. sub perl_script { my($self,$file) = @_; + return $file if -r $file && -f _; return "$file.pl" if -r "$file.pl" && -f _; + return "$file.bat" if -r "$file.bat" && -f _; return; } @@ -668,7 +726,7 @@ sub top_targets { '; push @m, ' -all :: pure_all manifypods +all :: pure_all htmlifypods manifypods '.$self->{NOECHO}.'$(NOOP) ' unless $self->{SKIPHASH}{'all'}; @@ -690,13 +748,25 @@ config :: $(INST_AUTODIR)\.exists '.$self->{NOECHO}.'$(NOOP) '; - push @m, qq{ -config :: Version_check + push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); + + if (%{$self->{HTMLLIBPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLLIBDIR)/.exists $self->{NOECHO}\$(NOOP) -} unless $self->{PARENT} or ($self->{PERL_SRC} && $self->{INSTALLDIRS} eq "perl") or $self->{NO_VC}; +]; + push @m, $self->dir_target(qw[$(INST_HTMLLIBDIR)]); + } - push @m, $self->dir_target(qw[$(INST_AUTODIR) $(INST_LIBDIR) $(INST_ARCHAUTODIR)]); + if (%{$self->{HTMLSCRIPTPODS}}) { + push @m, qq[ +config :: \$(INST_HTMLSCRIPTDIR)/.exists + $self->{NOECHO}\$(NOOP) + +]; + push @m, $self->dir_target(qw[$(INST_HTMLSCRIPTDIR)]); + } if (%{$self->{MAN1PODS}}) { push @m, qq[ @@ -734,9 +804,62 @@ Version_check: join('',@m); } +=item htmlifypods (o) + +Defines targets and routines to translate the pods into HTML manpages +and put them into the INST_HTMLLIBDIR and INST_HTMLSCRIPTDIR +directories. + +Same as MM_Unix version (changes command-line quoting). + +=cut + +sub htmlifypods { + my($self, %attribs) = @_; + return "\nhtmlifypods : pure_all\n\t$self->{NOECHO}\$(NOOP)\n" unless + %{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}; + my($dist); + my($pod2html_exe); + if (defined $self->{PERL_SRC}) { + $pod2html_exe = $self->catfile($self->{PERL_SRC},'pod','pod2html'); + } else { + $pod2html_exe = $self->catfile($Config{scriptdirexp},'pod2html'); + } + unless ($pod2html_exe = $self->perl_script($pod2html_exe)) { + # No pod2html but some HTMLxxxPODS to be installed + print <{MAKEFILE}, q[';" \\ +-e "print qq(Htmlifying $$m{$$_}\n);" \\ +-e "$$dir = dirname($$m{$$_}); mkpath($$dir) unless -d $$dir;" \\ +-e "system(qq[$$^X ].q["-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" $(POD2HTML_EXE) ].qq[$$_>$$m{$$_}])==0 or warn qq(Couldn\\047t install $$m{$$_}\n);" \\ +-e "chmod(oct($(PERM_RW))), $$m{$$_} or warn qq(chmod $(PERM_RW) $$m{$$_}: $$!\n);}" +]; + push @m, "\nhtmlifypods : pure_all "; + push @m, join " \\\n\t", keys %{$self->{HTMLLIBPODS}}, keys %{$self->{HTMLSCRIPTPODS}}; + + push(@m,"\n"); + if (%{$self->{HTMLLIBPODS}} || %{$self->{HTMLSCRIPTPODS}}) { + push @m, "\t$self->{NOECHO}\$(POD2HTML) \\\n\t"; + push @m, join " \\\n\t", %{$self->{HTMLLIBPODS}}, %{$self->{HTMLSCRIPTPODS}}; + } + join('', @m); +} + =item manifypods (o) -We don't want manpage process. XXX add pod2html support later. +We don't want manpage process. =cut diff --git a/gnu/usr.bin/perl/lib/ExtUtils/MakeMaker.pm b/gnu/usr.bin/perl/lib/ExtUtils/MakeMaker.pm index 1a177973f53..183acaddcaa 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/MakeMaker.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/MakeMaker.pm @@ -2,10 +2,10 @@ BEGIN {require 5.002;} # MakeMaker 5.17 was the last MakeMaker that was compatib package ExtUtils::MakeMaker; -$VERSION = "5.4302"; +$VERSION = "5.45"; $Version_OK = "5.17"; # Makefiles older than $Version_OK will die # (Will be checked from MakeMaker version 4.13 onwards) -($Revision = substr(q$Revision: 1.3 $, 10)) =~ s/\s+$//; +($Revision = substr(q$Revision: 1.4 $, 10)) =~ s/\s+$//; @@ -17,7 +17,7 @@ use Carp (); use vars qw( @ISA @EXPORT @EXPORT_OK $AUTOLOAD - $ISA_TTY $Is_Mac $Is_OS2 $Is_VMS $Revision $Setup_done + $ISA_TTY $Is_Mac $Is_OS2 $Is_VMS $Revision $VERSION $Verbose $Version_OK %Config %Keep_after_flush %MM_Sections %Prepend_dot_dot %Recognized_Att_Keys @Get_from_Config @MM_Sections @Overridable @Parent @@ -70,6 +70,7 @@ $Is_VMS = $^O eq 'VMS'; $Is_OS2 = $^O eq 'os2'; $Is_Mac = $^O eq 'MacOS'; $Is_Win32 = $^O eq 'MSWin32'; +$Is_Cygwin= $^O eq 'cygwin'; require ExtUtils::MM_Unix; @@ -86,36 +87,15 @@ if ($Is_Mac) { if ($Is_Win32) { require ExtUtils::MM_Win32; } - -# The SelfLoader would bring a lot of overhead for MakeMaker, because -# we know for sure we will use most of the autoloaded functions once -# we have to use one of them. So we write our own loader - -sub AUTOLOAD { - my $code; - if (defined fileno(DATA)) { - my $fh = select DATA; - my $o = $/; # For future reads from the file. - $/ = "\n__END__\n"; - $code = ; - $/ = $o; - select $fh; - close DATA; - eval $code; - if ($@) { - $@ =~ s/ at .*\n//; - Carp::croak $@; - } - } else { - warn "AUTOLOAD called unexpectedly for $AUTOLOAD"; - } - defined(&$AUTOLOAD) or die "Myloader inconsistency error"; - goto &$AUTOLOAD; +if ($Is_Cygwin) { + require ExtUtils::MM_Cygwin; } -# The only subroutine we do not SelfLoad is Version_Check because it's -# called so often. Loading this minimum still requires 1.2 secs on my -# Indy :-( +full_setup(); + +# The use of the Version_check target has been dropped between perl +# 5.5.63 and 5.5.64. We must keep the subroutine for a while so that +# old Makefiles can satisfy the Version_check target. sub Version_check { my($checkversion) = @_; @@ -136,38 +116,10 @@ sub warnhandler { warn @_; } -sub ExtUtils::MakeMaker::eval_in_subdirs ; -sub ExtUtils::MakeMaker::eval_in_x ; -sub ExtUtils::MakeMaker::full_setup ; -sub ExtUtils::MakeMaker::writeMakefile ; -sub ExtUtils::MakeMaker::new ; -sub ExtUtils::MakeMaker::check_manifest ; -sub ExtUtils::MakeMaker::parse_args ; -sub ExtUtils::MakeMaker::check_hints ; -sub ExtUtils::MakeMaker::mv_all_methods ; -sub ExtUtils::MakeMaker::skipcheck ; -sub ExtUtils::MakeMaker::flush ; -sub ExtUtils::MakeMaker::mkbootstrap ; -sub ExtUtils::MakeMaker::mksymlists ; -sub ExtUtils::MakeMaker::neatvalue ; -sub ExtUtils::MakeMaker::selfdocument ; -sub ExtUtils::MakeMaker::WriteMakefile ; -sub ExtUtils::MakeMaker::prompt ($;$) ; - -1; - -__DATA__ - -package ExtUtils::MakeMaker; - sub WriteMakefile { Carp::croak "WriteMakefile: Need even number of args" if @_ % 2; local $SIG{__WARN__} = \&warnhandler; - unless ($Setup_done++){ - full_setup(); - undef &ExtUtils::MakeMaker::full_setup; #safe memory - } my %att = @_; MM->new(\%att)->flush; } @@ -228,7 +180,6 @@ sub eval_in_x { sub full_setup { $Verbose ||= 0; - $^W=1; # package name for the classes into which the first object will be blessed $PACKNAME = "PACK000"; @@ -237,15 +188,19 @@ sub full_setup { AUTHOR ABSTRACT ABSTRACT_FROM BINARY_LOCATION C CAPI CCFLAGS CONFIG CONFIGURE DEFINE DIR DISTNAME DL_FUNCS DL_VARS - EXCLUDE_EXT EXE_FILES FIRST_MAKEFILE FULLPERL FUNCLIST H IMPORTS - INC INCLUDE_EXT INSTALLARCHLIB INSTALLBIN INSTALLDIRS INSTALLMAN1DIR + EXCLUDE_EXT EXE_FILES FIRST_MAKEFILE FULLPERL FUNCLIST H + HTMLLIBPODS HTMLSCRIPTPOD IMPORTS + INC INCLUDE_EXT INSTALLARCHLIB INSTALLBIN INSTALLDIRS INSTALLHTMLPRIVLIBDIR + INSTALLHTMLSCRIPTDIR INSTALLHTMLSITELIBDIR INSTALLMAN1DIR INSTALLMAN3DIR INSTALLPRIVLIB INSTALLSCRIPT INSTALLSITEARCH INSTALLSITELIB INST_ARCHLIB INST_BIN INST_EXE INST_LIB + INST_HTMLLIBDIR INST_HTMLSCRIPTDIR INST_MAN1DIR INST_MAN3DIR INST_SCRIPT LDFROM LIB LIBPERL_A LIBS LINKTYPE MAKEAPERL MAKEFILE MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB + PERL_MALLOC_OK NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC PERL_ARCHLIB PERL_LIB PERL_SRC PERM_RW PERM_RWX - PL_FILES PM PMLIBDIRS PPM_INSTALL_EXEC PPM_INSTALL_SCRIPT PREFIX + PL_FILES PM PMLIBDIRS POLLUTE PPM_INSTALL_EXEC PPM_INSTALL_SCRIPT PREFIX PREREQ_PM SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG XS_VERSION clean depend dist dynamic_lib linkext macro realclean tool_autosplit @@ -272,7 +227,8 @@ sub full_setup { pasthru c_o xs_c xs_o top_targets linkext dlsyms dynamic dynamic_bs - dynamic_lib static static_lib manifypods processPL installbin subdirs + dynamic_lib static static_lib htmlifypods manifypods processPL + installbin subdirs clean realclean dist_basics dist_core dist_dir dist_test dist_ci install force perldepend makefile staticmake test ppd @@ -303,7 +259,8 @@ sub full_setup { @Get_from_Config = qw( ar cc cccdlflags ccdlflags dlext dlsrc ld lddlflags ldflags libc - lib_ext obj_ext osname osvers ranlib sitelibexp sitearchexp so exe_ext + lib_ext obj_ext osname osvers ranlib sitelibexp sitearchexp so + exe_ext full_ar ); my $item; @@ -324,9 +281,9 @@ sub full_setup { %Prepend_dot_dot = qw( - INST_BIN 1 INST_EXE 1 INST_LIB 1 INST_ARCHLIB 1 INST_SCRIPT - 1 MAP_TARGET 1 INST_MAN1DIR 1 INST_MAN3DIR 1 PERL_SRC 1 - PERL 1 FULLPERL 1 + INST_BIN 1 INST_EXE 1 INST_LIB 1 INST_ARCHLIB 1 INST_SCRIPT 1 + MAP_TARGET 1 INST_HTMLLIBDIR 1 INST_HTMLSCRIPTDIR 1 + INST_MAN1DIR 1 INST_MAN3DIR 1 PERL_SRC 1 PERL 1 FULLPERL 1 ); @@ -373,9 +330,13 @@ sub ExtUtils::MakeMaker::new { my($prereq); foreach $prereq (sort keys %{$self->{PREREQ_PM}}) { - my $eval = "use $prereq $self->{PREREQ_PM}->{$prereq}"; + my $eval = "require $prereq"; eval $eval; - if ($@){ + + if ($@) { + warn "Warning: prerequisite $prereq failed to load: $@"; + } + elsif ($prereq->VERSION < $self->{PREREQ_PM}->{$prereq} ){ warn "Warning: prerequisite $prereq $self->{PREREQ_PM}->{$prereq} not found"; # Why is/was this 'delete' here? We need PREREQ_PM later to make PPDs. # } else { @@ -441,11 +402,13 @@ sub ExtUtils::MakeMaker::new { } if ($self->{PARENT}) { $self->{PARENT}->{CHILDREN}->{$newclass} = $self; - if (exists $self->{PARENT}->{CAPI} - and not exists $self->{CAPI}) - { - # inherit, but only if already unspecified - $self->{CAPI} = $self->{PARENT}->{CAPI}; + foreach my $opt (qw(CAPI POLLUTE)) { + if (exists $self->{PARENT}->{$opt} + and not exists $self->{$opt}) + { + # inherit, but only if already unspecified + $self->{$opt} = $self->{PARENT}->{$opt}; + } } } } else { @@ -471,7 +434,7 @@ sub ExtUtils::MakeMaker::new { else { $pthinks =~ s!/Config\.pm$!!; $pthinks =~ s!.*/!!; } - print STDOUT <{UNINSTALLED_PERL}; Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: [$pthinks] @@ -973,26 +936,29 @@ want to specify some other option, set C variable: =head2 make install make alone puts all relevant files into directories that are named by -the macros INST_LIB, INST_ARCHLIB, INST_SCRIPT, INST_MAN1DIR, and -INST_MAN3DIR. All these default to something below ./blib if you are -I building below the perl source directory. If you I -building below the perl source, INST_LIB and INST_ARCHLIB default to - ../../lib, and INST_SCRIPT is not defined. +the macros INST_LIB, INST_ARCHLIB, INST_SCRIPT, INST_HTMLLIBDIR, +INST_HTMLSCRIPTDIR, INST_MAN1DIR, and INST_MAN3DIR. All these default +to something below ./blib if you are I building below the perl +source directory. If you I building below the perl source, +INST_LIB and INST_ARCHLIB default to ../../lib, and INST_SCRIPT is not +defined. The I target of the generated Makefile copies the files found below each of the INST_* directories to their INSTALL* counterparts. Which counterparts are chosen depends on the setting of INSTALLDIRS according to the following table: - INSTALLDIRS set to - perl site + INSTALLDIRS set to + perl site - INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH - INST_LIB INSTALLPRIVLIB INSTALLSITELIB - INST_BIN INSTALLBIN - INST_SCRIPT INSTALLSCRIPT - INST_MAN1DIR INSTALLMAN1DIR - INST_MAN3DIR INSTALLMAN3DIR + INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH + INST_LIB INSTALLPRIVLIB INSTALLSITELIB + INST_HTMLLIBDIR INSTALLHTMLPRIVLIBDIR INSTALLHTMLSITELIBDIR + INST_HTMLSCRIPTDIR INSTALLHTMLSCRIPTDIR + INST_BIN INSTALLBIN + INST_SCRIPT INSTALLSCRIPT + INST_MAN1DIR INSTALLMAN1DIR + INST_MAN3DIR INSTALLMAN3DIR The INSTALL... macros in turn default to their %Config ($Config{installprivlib}, $Config{installarchlib}, etc.) counterparts. @@ -1169,7 +1135,7 @@ MakeMaker gives you much more freedom than needed to configure internal variables and get different results. It is worth to mention, that make(1) also lets you configure most of the variables that are used in the Makefile. But in the majority of situations this will not -be necessary, and should only be done, if the author of a package +be necessary, and should only be done if the author of a package recommends it (or you know what you're doing). =head2 Using Attributes and Parameters @@ -1213,6 +1179,9 @@ currently used by MakeMaker but may be handy in Makefile.PLs. =item CAPI +[This attribute is obsolete in Perl 5.6. PERL_OBJECT builds are C-compatible +by default.] + Switch to force usage of the Perl C API even when compiling for PERL_OBJECT. Note that this attribute is passed through to any recursive build, @@ -1326,6 +1295,20 @@ names are passed through unaltered to the linker options file. Ref to array of *.h file names. Similar to C. +=item HTMLLIBPODS + +Hashref of .pm and .pod files. MakeMaker will default this to all + .pod and any .pm files that include POD directives. The files listed +here will be converted to HTML format and installed as was requested +at Configure time. + +=item HTMLSCRIPTPODS + +Hashref of pod-containing files. MakeMaker will default this to all +EXE_FILES files that include POD directives. The files listed +here will be converted to HTML format and installed as was requested +at Configure time. + =item IMPORTS This attribute is used to specify names to be imported into the @@ -1366,6 +1349,22 @@ choose: installprivlib and installarchlib versus installsitelib and installsitearch. The first pair is chosen with INSTALLDIRS=perl, the second with INSTALLDIRS=site. Default is site. +=item INSTALLHTMLPRIVLIBDIR + +This directory gets the HTML pages at 'make install' time. Defaults to +$Config{installhtmlprivlibdir}. + +=item INSTALLHTMLSCRIPTDIR + +This directory gets the HTML pages at 'make install' time. Defaults to +$Config{installhtmlscriptdir}. + +=item INSTALLHTMLSITELIBDIR + +This directory gets the HTML pages at 'make install' time. Defaults to +$Config{installhtmlsitelibdir}. + + =item INSTALLMAN1DIR This directory gets the man pages at 'make install' time. Defaults to @@ -1415,6 +1414,14 @@ need to use it. Directory where we put library files of this extension while building it. +=item INST_HTMLLIBDIR + +Directory to hold the man pages in HTML format at 'make' time + +=item INST_HTMLSCRIPTDIR + +Directory to hold the man pages in HTML format at 'make' time + =item INST_MAN1DIR Directory to hold the man pages at 'make' time @@ -1426,10 +1433,38 @@ Directory to hold the man pages at 'make' time =item INST_SCRIPT Directory, where executable files should be installed during -'make'. Defaults to "./blib/bin", just to have a dummy location during +'make'. Defaults to "./blib/script", just to have a dummy location during testing. make install will copy the files in INST_SCRIPT to INSTALLSCRIPT. +=item PERL_MALLOC_OK + +defaults to 0. Should be set to TRUE if the extension can work with +the memory allocation routines substituted by the Perl malloc() subsystem. +This should be applicable to most extensions with exceptions of those + +=over + +=item * + +with bugs in memory allocations which are caught by Perl's malloc(); + +=item * + +which interact with the memory allocator in other ways than via +malloc(), realloc(), free(), calloc(), sbrk() and brk(); + +=item * + +which rely on special alignment which is not provided by Perl's malloc(). + +=back + +B Negligence to set this flag in I of loaded extension +nullifies many advantages of Perl's malloc(), such as better usage of +system resources, error detection, memory usage reporting, catchable failure +of memory allocations, etc. + =item LDFROM defaults to "$(OBJECT)" and is used in the ld command to specify @@ -1515,9 +1550,9 @@ Makefile.PL. =item NEEDS_LINKING -MakeMaker will figure out, if an extension contains linkable code +MakeMaker will figure out if an extension contains linkable code anywhere down the directory tree, and will set this variable -accordingly, but you can speed it up a very little bit, if you define +accordingly, but you can speed it up a very little bit if you define this boolean variable yourself. =item NOECHO @@ -1532,7 +1567,7 @@ Boolean. Attribute to inhibit descending into subdirectories. =item NO_VC -In general any generated Makefile checks for the current version of +In general, any generated Makefile checks for the current version of MakeMaker and the version the Makefile was built under. If NO_VC is set, the version check is neglected. Do not write this into your Makefile.PL, use it interactively instead. @@ -1559,7 +1594,7 @@ to $(CC). =item PERL_ARCHLIB -Same as above for architecture dependent files +Same as above for architecture dependent files. =item PERL_LIB @@ -1613,6 +1648,18 @@ they contain will be installed in the corresponding location in the library. A libscan() method can be used to alter the behaviour. Defining PM in the Makefile.PL will override PMLIBDIRS. +=item POLLUTE + +Release 5.005 grandfathered old global symbol names by providing preprocessor +macros for extension source compatibility. As of release 5.6, these +preprocessor definitions are not available by default. The POLLUTE flag +specifies that the old names should still be defined: + + perl Makefile.PL POLLUTE=1 + +Please inform the module author if this is necessary to successfully install +a module under 5.6 or later. + =item PPM_INSTALL_EXEC Name of the executable used to run C below. (e.g. perl) @@ -1641,8 +1688,8 @@ only check if any version is installed already. =item SKIP Arryref. E.g. [qw(name1 name2)] skip (do not write) sections of the -Makefile. Caution! Do not use the SKIP attribute for the neglectible -speedup. It may seriously damage the resulting Makefile. Only use it, +Makefile. Caution! Do not use the SKIP attribute for the negligible +speedup. It may seriously damage the resulting Makefile. Only use it if you really need it. =item TYPEMAPS @@ -1675,7 +1722,7 @@ MakeMaker object. The following lines will be parsed o.k.: $VERSION = '1.00'; *VERSION = \'1.01'; - ( $VERSION ) = '$Revision: 1.3 $ ' =~ /\$Revision:\s+([^\s]+)/; + ( $VERSION ) = '$Revision: 1.4 $ ' =~ /\$Revision:\s+([^\s]+)/; $FOO::VERSION = '1.10'; *FOO::VERSION = \'1.11'; @@ -1765,7 +1812,7 @@ NB: Extensions that have nothing but *.pm files had to say {LINKTYPE => ''} with Pre-5.0 MakeMakers. Since version 5.00 of MakeMaker such a line -can be deleted safely. MakeMaker recognizes, when there's nothing to +can be deleted safely. MakeMaker recognizes when there's nothing to be linked. =item macro @@ -1776,9 +1823,13 @@ be linked. {FILES => '$(INST_ARCHAUTODIR)/*.xyz'} +=item test + + {TESTS => 't/*.t'} + =item tool_autosplit - {MAXLEN =E 8} + {MAXLEN => 8} =back @@ -1864,7 +1915,7 @@ details) =item make distclean does a realclean first and then the distcheck. Note that this is not -needed to build a new distribution as long as you are sure, that the +needed to build a new distribution as long as you are sure that the MANIFEST file is ok. =item make manifest diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Manifest.pm b/gnu/usr.bin/perl/lib/ExtUtils/Manifest.pm index f2f62dec39d..e7aaf7b6f83 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Manifest.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Manifest.pm @@ -10,7 +10,7 @@ use strict; use vars qw($VERSION @ISA @EXPORT_OK $Is_VMS $Debug $Verbose $Quiet $MANIFEST $found); -$VERSION = substr(q$Revision: 1.3 $, 10); +$VERSION = substr(q$Revision: 1.4 $, 10); @ISA=('Exporter'); @EXPORT_OK = ('mkmanifest', 'manicheck', 'fullcheck', 'filecheck', 'skipcheck', 'maniread', 'manicopy'); @@ -25,6 +25,7 @@ $MANIFEST = 'MANIFEST'; # Really cool fix from Ilya :) unless (defined $Config{d_link}) { + no warnings; *ln = \&cp; } @@ -186,7 +187,6 @@ sub manicopy { require File::Basename; my(%dirs,$file); $target = VMS::Filespec::unixify($target) if $Is_VMS; - umask 0 unless $Is_VMS; File::Path::mkpath([ $target ],1,$Is_VMS ? undef : 0755); foreach $file (keys %$read){ $file = VMS::Filespec::unixify($file) if $Is_VMS; @@ -268,27 +268,27 @@ ExtUtils::Manifest - utilities to write and check a MANIFEST file =head1 SYNOPSIS -C + require ExtUtils::Manifest; -C + ExtUtils::Manifest::mkmanifest; -C + ExtUtils::Manifest::manicheck; -C + ExtUtils::Manifest::filecheck; -C + ExtUtils::Manifest::fullcheck; -C + ExtUtils::Manifest::skipcheck; -C + ExtUtils::Manifest::manifind(); -C + ExtUtils::Manifest::maniread($file); -C + ExtUtils::Manifest::manicopy($read,$target,$how); =head1 DESCRIPTION -Mkmanifest() writes all files in and below the current directory to a +mkmanifest() writes all files in and below the current directory to a file named in the global variable $ExtUtils::Manifest::MANIFEST (which defaults to C) in the current directory. It works similar to @@ -302,33 +302,33 @@ comments are separated by one or more TAB characters in the output. All files that match any regular expression in a file C (if such a file exists) are ignored. -Manicheck() checks if all the files within a C in the +manicheck() checks if all the files within a C in the current directory really do exist. It only reports discrepancies and exits silently if MANIFEST and the tree below the current directory are in sync. -Filecheck() finds files below the current directory that are not +filecheck() finds files below the current directory that are not mentioned in the C file. An optional file C will be consulted. Any file matching a regular expression in such a file will not be reported as missing in the C file. -Fullcheck() does both a manicheck() and a filecheck(). +fullcheck() does both a manicheck() and a filecheck(). -Skipcheck() lists all the files that are skipped due to your +skipcheck() lists all the files that are skipped due to your C file. -Manifind() returns a hash reference. The keys of the hash are the +manifind() returns a hash reference. The keys of the hash are the files found below the current directory. -Maniread($file) reads a named C file (defaults to +maniread($file) reads a named C file (defaults to C in the current directory) and returns a HASH reference with files being the keys and comments being the values of the HASH. Blank lines and lines which start with C<#> in the C file are discarded. -I copies the files that are the keys in +C copies the files that are the keys in the HASH I<%$read> to the named target directory. The HASH reference -I<$read> is typically returned by the maniread() function. This +$read is typically returned by the maniread() function. This function is useful for producing a directory tree identical to the intended distribution tree. The third parameter $how can be used to specify a different methods of "copying". Valid values are C, diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Mkbootstrap.pm b/gnu/usr.bin/perl/lib/ExtUtils/Mkbootstrap.pm index 907c168b434..ae5207429b7 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Mkbootstrap.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Mkbootstrap.pm @@ -1,7 +1,7 @@ package ExtUtils::Mkbootstrap; -$VERSION = substr q$Revision: 1.3 $, 10; -# $Date: 1999/04/29 22:51:53 $ +$VERSION = substr q$Revision: 1.4 $, 10; +# $Date: 2000/04/06 17:06:31 $ use Config; use Exporter; @@ -81,8 +81,8 @@ C Mkbootstrap typically gets called from an extension Makefile. -There is no C<*.bs> file supplied with the extension. Instead a -C<*_BS> file which has code for the special cases, like posix for +There is no C<*.bs> file supplied with the extension. Instead, there may +be a C<*_BS> file which has code for the special cases, like posix for berkeley db on the NeXT. This file will get parsed, and produce a maybe empty diff --git a/gnu/usr.bin/perl/lib/ExtUtils/Mksymlists.pm b/gnu/usr.bin/perl/lib/ExtUtils/Mksymlists.pm index 1f2819dc221..2431f1b2778 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/Mksymlists.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/Mksymlists.pm @@ -1,13 +1,15 @@ package ExtUtils::Mksymlists; + +use 5.005_64; use strict qw[ subs refs ]; # no strict 'vars'; # until filehandles are exempted use Carp; use Exporter; -use vars qw( @ISA @EXPORT $VERSION ); +our(@ISA, @EXPORT, $VERSION); @ISA = 'Exporter'; @EXPORT = '&Mksymlists'; -$VERSION = substr q$Revision: 1.3 $, 10; +$VERSION = substr q$Revision: 1.4 $, 10; sub Mksymlists { my(%spec) = @_; @@ -76,12 +78,19 @@ sub _write_os2 { ($data->{DLBASE} = $data->{NAME}) =~ s/.*:://; $data->{DLBASE} = substr($data->{DLBASE},0,7) . '_'; } + my $distname = $data->{DISTNAME} || $data->{NAME}; + $distname = "Distribution $distname"; + my $comment = "Perl (v$Config::Config{version}$threaded) module $data->{NAME}"; + if ($data->{INSTALLDIRS} and $data->{INSTALLDIRS} eq 'perl') { + $distname = 'perl5-porters@perl.org'; + $comment = "Core $comment"; + } rename "$data->{FILE}.def", "$data->{FILE}_def.old"; open(DEF,">$data->{FILE}.def") or croak("Can't create $data->{FILE}.def: $!\n"); print DEF "LIBRARY '$data->{DLBASE}' INITINSTANCE TERMINSTANCE\n"; - print DEF "DESCRIPTION 'Perl (v$]$threaded) module $data->{NAME} v$data->{VERSION}'\n"; + print DEF "DESCRIPTION '\@#$distname:$data->{VERSION}#\@ $comment'\n"; print DEF "CODE LOADONCALL\n"; print DEF "DATA LOADONCALL NONSHARED MULTIPLE\n"; print DEF "EXPORTS\n "; @@ -148,7 +157,7 @@ sub _write_vms { require Config; # a reminder for once we do $^O require ExtUtils::XSSymSet; - my($isvax) = $Config::Config{'arch'} =~ /VAX/i; + my($isvax) = $Config::Config{'archname'} =~ /VAX/i; my($set) = new ExtUtils::XSSymSet; my($sym); @@ -164,6 +173,8 @@ sub _write_vms { # We don't do anything to preserve order, so we won't relax # the GSMATCH criteria for a dynamic extension + print OPT "case_sensitive=yes\n" + if $Config::Config{d_vms_case_sensitive_symbols}; foreach $sym (@{$data->{FUNCLIST}}) { my $safe = $set->addsym($sym); if ($isvax) { print OPT "UNIVERSAL=$safe\n" } diff --git a/gnu/usr.bin/perl/lib/ExtUtils/testlib.pm b/gnu/usr.bin/perl/lib/ExtUtils/testlib.pm index 91ea6596dd6..e2f5994cf75 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/testlib.pm +++ b/gnu/usr.bin/perl/lib/ExtUtils/testlib.pm @@ -1,6 +1,6 @@ package ExtUtils::testlib; -$VERSION = substr q$Revision: 1.3 $, 10; -# $Id: testlib.pm,v 1.3 1999/04/29 22:51:53 millert Exp $ +$VERSION = substr q$Revision: 1.4 $, 10; +# $Id: testlib.pm,v 1.4 2000/04/06 17:06:32 millert Exp $ use lib qw(blib/arch blib/lib); 1; diff --git a/gnu/usr.bin/perl/lib/ExtUtils/typemap b/gnu/usr.bin/perl/lib/ExtUtils/typemap index b1ec063dd75..a34cd4f9ea7 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/typemap +++ b/gnu/usr.bin/perl/lib/ExtUtils/typemap @@ -1,4 +1,4 @@ -# $Header$ +# $Header: /home/rmb1/misc/CVS/perl5.005_61/lib/ExtUtils/typemap,v 1.3 1999/09/13 09:46:43 rmb1 Exp $ # basic C types int T_IV unsigned T_UV @@ -29,6 +29,7 @@ HV * T_HVREF CV * T_CVREF IV T_IV +UV T_UV I32 T_IV I16 T_IV I8 T_IV @@ -106,11 +107,11 @@ T_DOUBLE T_PV $var = ($type)SvPV($arg,PL_na) T_PTR - $var = ($type)SvIV($arg) + $var = INT2PTR($type,SvIV($arg)) T_PTRREF if (SvROK($arg)) { IV tmp = SvIV((SV*)SvRV($arg)); - $var = ($type) tmp; + $var = INT2PTR($type,tmp); } else croak(\"$var is not a reference\") @@ -131,7 +132,7 @@ T_REF_IV_PTR T_PTROBJ if (sv_derived_from($arg, \"${ntype}\")) { IV tmp = SvIV((SV*)SvRV($arg)); - $var = ($type) tmp; + $var = INT2PTR($type,tmp); } else croak(\"$var is not of type ${ntype}\") @@ -146,14 +147,14 @@ T_PTRDESC T_REFREF if (SvROK($arg)) { IV tmp = SvIV((SV*)SvRV($arg)); - $var = *($type) tmp; + $var = *INT2PTR($type,tmp); } else croak(\"$var is not a reference\") T_REFOBJ if (sv_isa($arg, \"${ntype}\")) { IV tmp = SvIV((SV*)SvRV($arg)); - $var = *($type) tmp; + $var = *INT2PTR($type,tmp); } else croak(\"$var is not of type ${ntype}\") @@ -250,7 +251,7 @@ T_REFOBJ T_OPAQUE sv_setpvn($arg, (char *)&$var, sizeof($var)); T_OPAQUEPTR - sv_setpvn($arg, (char *)$var, sizeof(*$var)), XFree((char *)$var); + sv_setpvn($arg, (char *)$var, sizeof(*$var)); T_PACKED XS_pack_$ntype($arg, $var); T_PACKEDARRAY diff --git a/gnu/usr.bin/perl/lib/ExtUtils/xsubpp b/gnu/usr.bin/perl/lib/ExtUtils/xsubpp index 1ee7b29449e..5a71e896362 100644 --- a/gnu/usr.bin/perl/lib/ExtUtils/xsubpp +++ b/gnu/usr.bin/perl/lib/ExtUtils/xsubpp @@ -6,10 +6,12 @@ xsubpp - compiler to convert Perl XS code into C code =head1 SYNOPSIS -B [B<-v>] [B<-C++>] [B<-except>] [B<-s pattern>] [B<-prototypes>] [B<-noversioncheck>] [B<-nolinenumbers>] [B<-typemap typemap>] [B<-object_capi>]... file.xs +B [B<-v>] [B<-C++>] [B<-except>] [B<-s pattern>] [B<-prototypes>] [B<-noversioncheck>] [B<-nolinenumbers>] [B<-nooptimize>] [B<-typemap typemap>] ... file.xs =head1 DESCRIPTION +This compiler is typically run by the makefiles created by L. + I will compile XS code into C code by embedding the constructs necessary to let C functions manipulate Perl values and creates the glue necessary to let Perl access those functions. The compiler uses typemaps to @@ -23,13 +25,15 @@ typemap taking precedence. =head1 OPTIONS +Note that the C MakeMaker option may be used to add these options to +any makefiles generated by MakeMaker. + =over 5 =item B<-C++> Adds ``extern "C"'' to the C code. - =item B<-except> Adds exception handling stubs to the C code. @@ -59,11 +63,22 @@ number. Prevents the inclusion of `#line' directives in the output. -=item B<-object_capi> +=item B<-nooptimize> + +Disables certain optimizations. The only optimization that is currently +affected is the use of Is by the output C code (see L). +This may significantly slow down the generated code, but this is the way +B of 5.005 and earlier operated. + +=item B<-noinout> -Compile code as C in a PERL_OBJECT environment. +Disable recognition of C, C and C declarations. -back +=item B<-noargtypes> + +Disable recognition of ANSI-like descriptions of function signature. + +=back =head1 ENVIRONMENT @@ -107,7 +122,7 @@ if ($^O eq 'VMS') { $FH = 'File0000' ; -$usage = "Usage: xsubpp [-v] [-C++] [-except] [-prototypes] [-noversioncheck] [-nolinenumbers] [-s pattern] [-typemap typemap]... file.xs\n"; +$usage = "Usage: xsubpp [-v] [-C++] [-except] [-prototypes] [-noversioncheck] [-nolinenumbers] [-nooptimize] [-noinout] [-noargtypes] [-s pattern] [-typemap typemap]... file.xs\n"; $proto_re = "[" . quotemeta('\$%&*@;') . "]" ; # mjn @@ -118,6 +133,11 @@ $WantPrototypes = -1 ; $WantVersionChk = 1 ; $ProtoUsed = 0 ; $WantLineNumbers = 1 ; +$WantOptimize = 1 ; + +my $process_inout = 1; +my $process_argtypes = 1; + SWITCH: while (@ARGV and $ARGV[0] =~ /^-./) { $flag = shift @ARGV; $flag =~ s/^-// ; @@ -127,12 +147,19 @@ SWITCH: while (@ARGV and $ARGV[0] =~ /^-./) { $WantPrototypes = 1, next SWITCH if $flag eq 'prototypes'; $WantVersionChk = 0, next SWITCH if $flag eq 'noversioncheck'; $WantVersionChk = 1, next SWITCH if $flag eq 'versioncheck'; + # XXX left this in for compat $WantCAPI = 1, next SWITCH if $flag eq 'object_capi'; $except = " TRY", next SWITCH if $flag eq 'except'; push(@tm,shift), next SWITCH if $flag eq 'typemap'; $WantLineNumbers = 0, next SWITCH if $flag eq 'nolinenumbers'; $WantLineNumbers = 1, next SWITCH if $flag eq 'linenumbers'; - (print "xsubpp version $XSUBPP_version\n"), exit + $WantOptimize = 0, next SWITCH if $flag eq 'nooptimize'; + $WantOptimize = 1, next SWITCH if $flag eq 'optimize'; + $process_inout = 0, next SWITCH if $flag eq 'noinout'; + $process_inout = 1, next SWITCH if $flag eq 'inout'; + $process_argtypes = 0, next SWITCH if $flag eq 'noargtypes'; + $process_argtypes = 1, next SWITCH if $flag eq 'argtypes'; + (print "xsubpp version $XSUBPP_version\n"), exit if $flag eq 'v'; die $usage; } @@ -238,13 +265,31 @@ foreach $key (keys %input_expr) { $input_expr{$key} =~ s/\n+$//; } +$bal = qr[(?:(?>[^()]+)|\((??{ $bal })\))*]; # ()-balanced +$cast = qr[(?:\(\s*SV\s*\*\s*\)\s*)?]; # Optional (SV*) cast +$size = qr[,\s* (??{ $bal }) ]x; # Third arg (to setpvn) + +foreach $key (keys %output_expr) { + use re 'eval'; + + my ($t, $with_size, $arg, $sarg) = + ($output_expr{$key} =~ + m[^ \s+ sv_set ( [iunp] ) v (n)? # Type, is_setpvn + \s* \( \s* $cast \$arg \s* , + \s* ( (??{ $bal }) ) # Set from + ( (??{ $size }) )? # Possible sizeof set-from + \) \s* ; \s* $ + ]x); + $targetable{$key} = [$t, $with_size, $arg, $sarg] if $t; +} + $END = "!End!\n\n"; # "impossible" keyword (multiple newline) # Match an XS keyword $BLOCK_re= '\s*(' . join('|', qw( REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE OUTPUT CLEANUP ALIAS PROTOTYPES PROTOTYPE VERSIONCHECK INCLUDE - SCOPE INTERFACE INTERFACE_MACRO C_ARGS + SCOPE INTERFACE INTERFACE_MACRO C_ARGS POSTCALL )) . "|$END)\\s*:"; # Input: ($_, @line) == unparsed input. @@ -255,6 +300,19 @@ sub check_keyword { s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s && $2; } +my ($C_group_rex, $C_arg); +# Group in C (no support for comments or literals) +$C_group_rex = qr/ [({\[] + (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )* + [)}\]] /x ; +# Chunk in C without comma at toplevel (no comments): +$C_arg = qr/ (?: (?> [^()\[\]{},"']+ ) + | (??{ $C_group_rex }) + | " (?: (?> [^\\"]+ ) + | \\. + )* " # String literal + | ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal + )* /xs; if ($WantLineNumbers) { { @@ -365,12 +423,23 @@ sub INPUT_handler { # Check for duplicate definitions blurt ("Error: duplicate definition of argument '$var_name' ignored"), next - if $arg_list{$var_name} ++ ; + if $arg_list{$var_name}++ + or defined $arg_types{$var_name} and not $processing_arg_with_types; $thisdone |= $var_name eq "THIS"; $retvaldone |= $var_name eq "RETVAL"; $var_types{$var_name} = $var_type; - print "\t" . &map_type($var_type); + # XXXX This check is a safeguard against the unfinished conversion of + # generate_init(). When generate_init() is fixed, + # one can use 2-args map_type() unconditionally. + if ($var_type =~ / \( \s* \* \s* \) /x) { + # Function pointers are not yet supported with &output_init! + print "\t" . &map_type($var_type, $var_name); + $name_printed = 1; + } else { + print "\t" . &map_type($var_type); + $name_printed = 0; + } $var_num = $args_match{$var_name}; $proto_arg[$var_num] = ProtoString($var_type) @@ -379,13 +448,19 @@ sub INPUT_handler { $var_addr{$var_name} = 1; $func_args =~ s/\b($var_name)\b/&$1/; } - if ($var_init =~ /^[=;]\s*NO_INIT\s*;?\s*$/) { + if ($var_init =~ /^[=;]\s*NO_INIT\s*;?\s*$/ + or $in_out{$var_name} and $in_out{$var_name} eq 'OUTLIST' + and $var_init !~ /\S/) { + if ($name_printed) { + print ";\n"; + } else { print "\t$var_name;\n"; + } } elsif ($var_init =~ /\S/) { - &output_init($var_type, $var_num, $var_name, $var_init); + &output_init($var_type, $var_num, $var_name, $var_init, $name_printed); } elsif ($var_num) { # generate initialization code - &generate_init($var_type, $var_num, $var_name); + &generate_init($var_type, $var_num, $var_name, $name_printed); } else { print ";\n"; } @@ -460,6 +535,7 @@ EOF sub CLEANUP_handler() { print_section() } sub PREINIT_handler() { print_section() } +sub POSTCALL_handler() { print_section() } sub INIT_handler() { print_section() } sub GetAliases @@ -829,7 +905,7 @@ sub fetch_para { my $tmp_line; $lastline .= $tmp_line while ($lastline =~ /\\$/ && defined($tmp_line = <$FH>)); - + chomp $lastline; $lastline =~ s/^\s+$//; } @@ -896,15 +972,23 @@ while (fetch_para()) { undef($static); undef($elipsis); undef($wantRETVAL) ; + undef($RETVAL_no_return) ; undef(%arg_list) ; undef(@proto_arg) ; + undef(@arg_with_types) ; + undef($processing_arg_with_types) ; + undef(%arg_types) ; + undef(@in_out) ; + undef(%in_out) ; undef($proto_in_this_xsub) ; undef($scope_in_this_xsub) ; undef($interface); + undef($prepush_done); $interface_macro = 'XSINTERFACE_FUNC' ; $interface_macro_set = 'XSINTERFACE_FUNC_SET' ; $ProtoThisXSUB = $WantPrototypes ; $ScopeThisXSUB = 0; + $xsreturn = 0; $_ = shift(@line); while ($kwd = check_keyword("REQUIRE|PROTOTYPES|VERSIONCHECK|INCLUDE")) { @@ -924,6 +1008,12 @@ while (fetch_para()) { # extract return type, function name and arguments ($ret_type) = TidyType($_); + $RETVAL_no_return = 1 if $ret_type =~ s/^NO_OUTPUT\s+//; + + # Allow one-line ANSI-like declaration + unshift @line, $2 + if $process_argtypes + and $ret_type =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s; # a function definition needs at least 2 lines blurt ("Error: Function definition too short '$ret_type'"), next PARAGRAPH @@ -933,7 +1023,7 @@ while (fetch_para()) { $func_header = shift(@line); blurt ("Error: Cannot parse function definition from '$func_header'"), next PARAGRAPH - unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*$/s; + unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s; ($class, $func_name, $orig_args) = ($1, $2, $3) ; $class = "$4 $class" if $4; @@ -952,38 +1042,98 @@ while (fetch_para()) { %XsubAliases = %XsubAliasValues = %Interfaces = (); $DoSetMagic = 1; - @args = split(/\s*,\s*/, $orig_args); + $orig_args =~ s/\\\s*/ /g; # process line continuations + + my %out_vars; + if ($process_argtypes and $orig_args =~ /\S/) { + my $args = "$orig_args ,"; + if ($args =~ /^( (??{ $C_arg }) , )* $ /x) { + @args = ($args =~ /\G ( (??{ $C_arg }) ) , /xg); + for ( @args ) { + s/^\s+//; + s/\s+$//; + my $arg = $_; + my $default; + ($arg, $default) = / ( [^=]* ) ( (?: = .* )? ) /x; + my ($pre, $name) = ($arg =~ /(.*?) \s* \b(\w+) \s* $ /x); + next unless length $pre; + my $out_type; + my $inout_var; + if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST)\s+//) { + my $type = $1; + $out_type = $type if $type ne 'IN'; + $arg =~ s/^(IN|IN_OUTLIST|OUTLIST)\s+//; + } + if (/\W/) { # Has a type + push @arg_with_types, $arg; + # warn "pushing '$arg'\n"; + $arg_types{$name} = $arg; + $_ = "$name$default"; + } + $out_vars{$_} = 1 if $out_type eq 'OUTLIST'; + push @in_out, $name if $out_type; + $in_out{$name} = $out_type if $out_type; + } + } else { + @args = split(/\s*,\s*/, $orig_args); + Warn("Warning: cannot parse argument list '$orig_args', fallback to split"); + } + } else { + @args = split(/\s*,\s*/, $orig_args); + for (@args) { + if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST)\s+//) { + my $out_type = $1; + next if $out_type eq 'IN'; + $out_vars{$_} = 1 if $out_type eq 'OUTLIST'; + push @in_out, $name; + $in_out{$_} = $out_type; + } + } + } if (defined($class)) { my $arg0 = ((defined($static) or $func_name eq 'new') ? "CLASS" : "THIS"); unshift(@args, $arg0); - ($orig_args = "$arg0, $orig_args") =~ s/^$arg0, $/$arg0/; + ($report_args = "$arg0, $report_args") =~ s/^\w+, $/$arg0/; } - $orig_args =~ s/"/\\"/g; - $min_args = $num_args = @args; - foreach $i (0..$num_args-1) { + my $extra_args = 0; + @args_num = (); + $num_args = 0; + my $report_args = ''; + foreach $i (0 .. $#args) { if ($args[$i] =~ s/\.\.\.//) { $elipsis = 1; - $min_args--; - if ($args[$i] eq '' && $i == $num_args - 1) { + if ($args[$i] eq '' && $i == $#args) { + $report_args .= ", ..."; pop(@args); last; } } + if ($out_vars{$args[$i]}) { + push @args_num, undef; + } else { + push @args_num, ++$num_args; + $report_args .= ", $args[$i]"; + } if ($args[$i] =~ /^([^=]*[^\s=])\s*=\s*(.*)/s) { - $min_args--; + $extra_args++; $args[$i] = $1; $defaults{$args[$i]} = $2; $defaults{$args[$i]} =~ s/"/\\"/g; } $proto_arg[$i+1] = "\$" ; } - if (defined($class)) { - $func_args = join(", ", @args[1..$#args]); - } else { - $func_args = join(", ", @args); + $min_args = $num_args - $extra_args; + $report_args =~ s/"/\\"/g; + $report_args =~ s/^,\s+//; + my @func_args = @args; + shift @func_args if defined($class); + + for (@func_args) { + s/^/&/ if $in_out{$_}; } - @args_match{@args} = 1..@args; + $func_args = join(", ", @func_args); + @args_match{@args} = @args_num; $PPCODE = grep(/^\s*PPCODE\s*:/, @line); $CODE = grep(/^\s*CODE\s*:/, @line); @@ -994,6 +1144,8 @@ while (fetch_para()) { $ALIAS = grep(/^\s*ALIAS\s*:/, @line); $INTERFACE = grep(/^\s*INTERFACE\s*:/, @line); + $xsreturn = 1 if $EXPLICIT_RETURN; + # print function header print Q<<"EOF"; #XS(XS_${Full_func_name}) @@ -1024,12 +1176,12 @@ EOF if ($ALIAS) { print Q<<"EOF" if $cond } # if ($cond) -# croak("Usage: %s($orig_args)", GvNAME(CvGV(cv))); +# Perl_croak(aTHX_ "Usage: %s($report_args)", GvNAME(CvGV(cv))); EOF else { print Q<<"EOF" if $cond } # if ($cond) -# croak("Usage: $pname($orig_args)"); +# Perl_croak(aTHX_ "Usage: $pname($report_args)"); EOF print Q<<"EOF" if $PPCODE; @@ -1080,16 +1232,24 @@ EOF # do code if (/^\s*NOT_IMPLEMENTED_YET/) { - print "\n\tcroak(\"$pname: not implemented yet\");\n"; + print "\n\tPerl_croak(aTHX_ \"$pname: not implemented yet\");\n"; $_ = '' ; } else { if ($ret_type ne "void") { - print "\t" . &map_type($ret_type) . "\tRETVAL;\n" + print "\t" . &map_type($ret_type, 'RETVAL') . ";\n" if !$retvaldone; $args_match{"RETVAL"} = 0; $var_types{"RETVAL"} = $ret_type; + print "\tdXSTARG;\n" + if $WantOptimize and $targetable{$type_kind{$ret_type}}; } + if (@arg_with_types) { + unshift @line, @arg_with_types, $_; + $_ = ""; + $processing_arg_with_types = 1; + INPUT_handler() ; + } print $deferred; process_keyword("INIT|ALIAS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS") ; @@ -1131,19 +1291,55 @@ EOF } # do output variables - $gotRETVAL = 0; - undef $RETVAL_code ; + $gotRETVAL = 0; # 1 if RETVAL seen in OUTPUT section; + undef $RETVAL_code ; # code to set RETVAL (from OUTPUT section); + # $wantRETVAL set if 'RETVAL =' autogenerated + ($wantRETVAL, $ret_type) = (0, 'void') if $RETVAL_no_return; undef %outargs ; - process_keyword("OUTPUT|ALIAS|PROTOTYPE"); + process_keyword("POSTCALL|OUTPUT|ALIAS|PROTOTYPE"); # all OUTPUT done, so now push the return value on the stack if ($gotRETVAL && $RETVAL_code) { print "\t$RETVAL_code\n"; } elsif ($gotRETVAL || $wantRETVAL) { - # RETVAL almost never needs SvSETMAGIC() - &generate_output($ret_type, 0, 'RETVAL', 0); + my $t = $WantOptimize && $targetable{$type_kind{$ret_type}}; + my $var = 'RETVAL'; + my $type = $ret_type; + + # 0: type, 1: with_size, 2: how, 3: how_size + if ($t and not $t->[1] and $t->[0] eq 'p') { + # PUSHp corresponds to setpvn. Treate setpv directly + my $what = eval qq("$t->[2]"); + warn $@ if $@; + + print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n"; + $prepush_done = 1; + } + elsif ($t) { + my $what = eval qq("$t->[2]"); + warn $@ if $@; + + my $size = $t->[3]; + $size = '' unless defined $size; + $size = eval qq("$size"); + warn $@ if $@; + print "\tXSprePUSH; PUSH$t->[0]($what$size);\n"; + $prepush_done = 1; + } + else { + # RETVAL almost never needs SvSETMAGIC() + &generate_output($ret_type, 0, 'RETVAL', 0); + } } + $xsreturn = 1 if $ret_type ne "void"; + my $num = $xsreturn; + my $c = @in_out; + print "\tXSprePUSH;" if $c and not $prepush_done; + print "\tEXTEND(SP,$c);\n" if $c; + $xsreturn += $c; + generate_output($var_types{$_}, $num++, $_, 0, 1) for @in_out; + # do cleanup process_keyword("CLEANUP|ALIAS|PROTOTYPE") ; @@ -1176,12 +1372,12 @@ EOF print Q<= $num) {\\n$expr;\\n\\t}\\n"/; + } else { + $deferred .= eval qq/"\\n\\tif (items < $num)\\n\\t $var = $defaults{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/; + } warn $@ if $@; } elsif ($ScopeThisXSUB or $expr !~ /^\t\$var =/) { - eval qq/print "\\t$var;\\n"/; - warn $@ if $@; + if ($name_printed) { + print ";\n"; + } else { + eval qq/print "\\t$var;\\n"/; + warn $@ if $@; + } $deferred .= eval qq/"\\n$expr;\\n"/; warn $@ if $@; } else { + die "panic: do not know how to handle this branch for function pointers" + if $name_printed; eval qq/print "$expr;\\n"/; warn $@ if $@; } } sub generate_output { - local($type, $num, $var, $do_setmagic) = @_; + local($type, $num, $var, $do_setmagic, $do_push) = @_; local($arg) = "ST(" . ($num - ($num != 0)) . ")"; local($argoff) = $num - 1; local($ntype); $type = TidyType($type) ; if ($type =~ /^array\(([^,]*),(.*)\)/) { - print "\tsv_setpvn($arg, (char *)$var, $2 * sizeof($1)), XFree((char *)$var);\n"; + print "\tsv_setpvn($arg, (char *)$var, $2 * sizeof($1));\n"; print "\tSvSETMAGIC($arg);\n" if $do_setmagic; } else { blurt("Error: '$type' not in typemap"), return unless defined($type_kind{$type}); - blurt("Error: No OUTPUT definition for type '$type' found"), return + blurt("Error: No OUTPUT definition for type '$type', typekind '$type_kind{$type}' found"), return unless defined $output_expr{$type_kind{$type}} ; ($ntype = $type) =~ s/\s*\*/Ptr/g; $ntype =~ s/\(\)//g; @@ -1453,7 +1639,7 @@ sub generate_output { if ($expr =~ /DO_ARRAY_ELEM/) { blurt("Error: '$subtype' not in typemap"), return unless defined($type_kind{$subtype}); - blurt("Error: No OUTPUT definition for type '$subtype' found"), return + blurt("Error: No OUTPUT definition for type '$subtype', typekind '$type_kind{$subtype}' found"), return unless defined $output_expr{$type_kind{$subtype}} ; $subexpr = $output_expr{$type_kind{$subtype}}; $subexpr =~ s/ntype/subtype/g; @@ -1471,8 +1657,8 @@ sub generate_output { # mortalize it. eval "print qq\a$expr\a"; warn $@ if $@; - print "\tsv_2mortal(ST(0));\n"; - print "\tSvSETMAGIC(ST(0));\n" if $do_setmagic; + print "\tsv_2mortal(ST($num));\n"; + print "\tSvSETMAGIC(ST($num));\n" if $do_setmagic; } elsif ($expr =~ /^\s*\$arg\s*=/) { # We expect that $arg has refcnt >=1, so we need @@ -1493,6 +1679,13 @@ sub generate_output { # new mortals don't have set magic } } + elsif ($do_push) { + print "\tPUSHs(sv_newmortal());\n"; + $arg = "ST($num)"; + eval "print qq\a$expr\a"; + warn $@ if $@; + print "\tSvSETMAGIC($arg);\n" if $do_setmagic; + } elsif ($arg =~ /^ST\(\d+\)$/) { eval "print qq\a$expr\a"; warn $@ if $@; @@ -1502,10 +1695,17 @@ sub generate_output { } sub map_type { - my($type) = @_; + my($type, $varname) = @_; $type =~ tr/:/_/; $type =~ s/^array\(([^,]*),(.*)\).*/$1 */s; + if ($varname) { + if ($varname && $type =~ / \( \s* \* (?= \s* \) ) /xg) { + (substr $type, pos $type, 0) = " $varname "; + } else { + $type .= "\t$varname"; + } + } $type; } diff --git a/gnu/usr.bin/perl/lib/File/Basename.pm b/gnu/usr.bin/perl/lib/File/Basename.pm index 69bb1fa5fdc..4581e7e93c2 100644 --- a/gnu/usr.bin/perl/lib/File/Basename.pm +++ b/gnu/usr.bin/perl/lib/File/Basename.pm @@ -37,10 +37,10 @@ If the argument passed to it contains one of the substrings "VMS", "MSDOS", "MacOS", "AmigaOS" or "MSWin32", the file specification syntax of that operating system is used in future calls to fileparse(), basename(), and dirname(). If it contains none of -these substrings, UNIX syntax is used. This pattern matching is +these substrings, Unix syntax is used. This pattern matching is case-insensitive. If you've selected VMS syntax, and the file specification you pass to one of these routines contains a "/", -they assume you are using UNIX emulation and apply the UNIX syntax +they assume you are using Unix emulation and apply the Unix syntax rules instead, for that function call only. If the argument passed to it contains one of the substrings "VMS", @@ -73,7 +73,7 @@ file as the input file specification. =head1 EXAMPLES -Using UNIX file syntax: +Using Unix file syntax: ($base,$path,$type) = fileparse('/virgil/aeneid/draft.book7', '\.book\d+'); @@ -102,7 +102,7 @@ would yield The basename() routine returns the first element of the list produced by calling fileparse() with the same arguments, except that it always quotes metacharacters in the given suffixes. It is provided for -programmer compatibility with the UNIX shell command basename(1). +programmer compatibility with the Unix shell command basename(1). =item C @@ -111,8 +111,8 @@ specification. When using VMS or MacOS syntax, this is identical to the second element of the list produced by calling fileparse() with the same input file specification. (Under VMS, if there is no directory information in the input file specification, then the current default device and -directory are returned.) When using UNIX or MSDOS syntax, the return -value conforms to the behavior of the UNIX shell command dirname(1). This +directory are returned.) When using Unix or MSDOS syntax, the return +value conforms to the behavior of the Unix shell command dirname(1). This is usually the same as the behavior of fileparse(), but differs in some cases. For example, for the input file specification F, fileparse() considers the directory name to be F, while dirname() considers the @@ -124,12 +124,22 @@ directory name to be F<.>). ## use strict; -use re 'taint'; +# A bit of juggling to insure that C always works, since +# File::Basename is used during the Perl build, when the re extension may +# not be available. +BEGIN { + unless (eval { require re; }) + { eval ' sub re::import { $^H |= 0x00100000; } ' } + import re 'taint'; +} + + +use 5.005_64; +our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase); require Exporter; @ISA = qw(Exporter); @EXPORT = qw(fileparse fileparse_set_fstype basename dirname); -use vars qw($VERSION $Fileparse_fstype $Fileparse_igncase); $VERSION = "2.6"; @@ -162,23 +172,23 @@ sub fileparse { if ($fstype =~ /^VMS/i) { if ($fullname =~ m#/#) { $fstype = '' } # We're doing Unix emulation else { - ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/); + ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/s); $dirpath ||= ''; # should always be defined } } if ($fstype =~ /^MS(DOS|Win32)/i) { - ($dirpath,$basename) = ($fullname =~ /^((?:.*[:\\\/])?)(.*)/); - $dirpath .= '.\\' unless $dirpath =~ /[\\\/]$/; + ($dirpath,$basename) = ($fullname =~ /^((?:.*[:\\\/])?)(.*)/s); + $dirpath .= '.\\' unless $dirpath =~ /[\\\/]\z/; } - elsif ($fstype =~ /^MacOS/i) { - ($dirpath,$basename) = ($fullname =~ /^(.*:)?(.*)/); + elsif ($fstype =~ /^MacOS/si) { + ($dirpath,$basename) = ($fullname =~ /^(.*:)?(.*)/s); } elsif ($fstype =~ /^AmigaOS/i) { - ($dirpath,$basename) = ($fullname =~ /(.*[:\/])?(.*)/); + ($dirpath,$basename) = ($fullname =~ /(.*[:\/])?(.*)/s); $dirpath = './' unless $dirpath; } elsif ($fstype !~ /^VMS/i) { # default to Unix - ($dirpath,$basename) = ($fullname =~ m#^(.*/)?(.*)#); + ($dirpath,$basename) = ($fullname =~ m#^(.*/)?(.*)#s); if ($^O eq 'VMS' and $fullname =~ m:/[^/]+/000000/?:) { # dev:[000000] is top of VMS tree, similar to Unix '/' ($basename,$dirpath) = ('',$fullname); @@ -190,7 +200,7 @@ sub fileparse { $tail = ''; foreach $suffix (@suffices) { my $pat = ($igncase ? '(?i)' : '') . "($suffix)\$"; - if ($basename =~ s/$pat//) { + if ($basename =~ s/$pat//s) { $taint .= substr($suffix,0,0); $tail = $1 . $tail; } @@ -228,30 +238,30 @@ sub dirname { } if ($fstype =~ /MacOS/i) { return $dirname } elsif ($fstype =~ /MSDOS/i) { - $dirname =~ s/([^:])[\\\/]*$/$1/; + $dirname =~ s/([^:])[\\\/]*\z/$1/; unless( length($basename) ) { ($basename,$dirname) = fileparse $dirname; - $dirname =~ s/([^:])[\\\/]*$/$1/; + $dirname =~ s/([^:])[\\\/]*\z/$1/; } } elsif ($fstype =~ /MSWin32/i) { - $dirname =~ s/([^:])[\\\/]*$/$1/; + $dirname =~ s/([^:])[\\\/]*\z/$1/; unless( length($basename) ) { ($basename,$dirname) = fileparse $dirname; - $dirname =~ s/([^:])[\\\/]*$/$1/; + $dirname =~ s/([^:])[\\\/]*\z/$1/; } } elsif ($fstype =~ /AmigaOS/i) { - if ( $dirname =~ /:$/) { return $dirname } + if ( $dirname =~ /:\z/) { return $dirname } chop $dirname; - $dirname =~ s#[^:/]+$## unless length($basename); + $dirname =~ s#[^:/]+\z## unless length($basename); } else { - $dirname =~ s:(.)/*$:$1:; + $dirname =~ s:(.)/*\z:$1:s; unless( length($basename) ) { local($File::Basename::Fileparse_fstype) = $fstype; ($basename,$dirname) = fileparse $dirname; - $dirname =~ s:(.)/*$:$1:; + $dirname =~ s:(.)/*\z:$1:s; } } diff --git a/gnu/usr.bin/perl/lib/File/CheckTree.pm b/gnu/usr.bin/perl/lib/File/CheckTree.pm index dca7f6aff31..ae1877741bc 100644 --- a/gnu/usr.bin/perl/lib/File/CheckTree.pm +++ b/gnu/usr.bin/perl/lib/File/CheckTree.pm @@ -105,7 +105,7 @@ sub validate { sub valmess { local($disposition,$this) = @_; - $file = $cwd . '/' . $file unless $file =~ m|^/|; + $file = $cwd . '/' . $file unless $file =~ m|^/|s; if ($this =~ /^(!?)-(\w)\s+\$file\s*$/) { $neg = $1; $tmp = $2; diff --git a/gnu/usr.bin/perl/lib/File/Copy.pm b/gnu/usr.bin/perl/lib/File/Copy.pm index e1da6b6e59c..e6cf7860342 100644 --- a/gnu/usr.bin/perl/lib/File/Copy.pm +++ b/gnu/usr.bin/perl/lib/File/Copy.pm @@ -7,17 +7,21 @@ package File::Copy; +use 5.005_64; use strict; use Carp; -use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION $Too_Big - © &syscopy &cp &mv); +our(@ISA, @EXPORT, @EXPORT_OK, $VERSION, $Too_Big, $Syscopy_is_copy); +sub copy; +sub syscopy; +sub cp; +sub mv; # Note that this module implements only *part* of the API defined by # the File/Copy.pm module of the File-Tools-2.0 package. However, that # package has not yet been updated to work with Perl 5.004, and so it # would be a Bad Thing for the CPAN module to grab it and replace this # module. Therefore, we set this module's version higher than 2.0. -$VERSION = '2.02'; +$VERSION = '2.03'; require Exporter; @ISA = qw(Exporter); @@ -60,11 +64,12 @@ sub copy { $to = _catname($from, $to); } - if (defined &syscopy && \&syscopy != \© + if (defined &syscopy && !$Syscopy_is_copy && !$to_a_handle && !($from_a_handle && $^O eq 'os2' ) # OS/2 cannot handle handles && !($from_a_handle && $^O eq 'mpeix') # and neither can MPE/iX. - ) + && !($from_a_handle && $^O eq 'MSWin32') + ) { return syscopy($from, $to); } @@ -78,20 +83,20 @@ sub copy { if ($from_a_handle) { *FROM = *$from{FILEHANDLE}; } else { - $from = "./$from" if $from =~ /^\s/; + $from = "./$from" if $from =~ /^\s/s; open(FROM, "< $from\0") or goto fail_open1; binmode FROM or die "($!,$^E)"; $closefrom = 1; - } - + } + if ($to_a_handle) { *TO = *$to{FILEHANDLE}; - } else { - $to = "./$to" if $to =~ /^\s/; + } else { + $to = "./$to" if $to =~ /^\s/s; open(TO,"> $to\0") or goto fail_open2; binmode TO or die "($!,$^E)"; $closeto = 1; - } + } if (@_) { $size = shift(@_) + 0; @@ -119,7 +124,7 @@ sub copy { # Use this idiom to avoid uninitialized value warning. return 1; - + # All of these contortions try to preserve error messages... fail_inner: if ($closeto) { @@ -162,10 +167,10 @@ sub move { (($tosz2,$tomt2) = (stat($to))[7,9]) && # $to's there ($tosz1 != $tosz2 or $tomt1 != $tomt2) && # and changed $tosz2 == $fromsz; # it's all there - + ($tosz1,$tomt1) = (stat($to))[7,9]; # just in case rename did something return 1 if ($copied = copy($from,$to)) && unlink($from); - + ($tosz2,$tomt2) = ((stat($to))[7,9],0,0) if defined $tomt1; unlink($to) if !defined($tomt1) or $tomt1 != $tomt2 or $tosz1 != $tosz2; ($!,$^E) = ($sts,$ossts); @@ -186,7 +191,13 @@ unless (defined &syscopy) { # preserve MPE file attributes. return system('/bin/cp', '-f', $_[0], $_[1]) == 0; }; + } elsif ($^O eq 'MSWin32') { + *syscopy = sub { + return 0 unless @_ == 2; + return Win32::CopyFile(@_, 1); + }; } else { + $Syscopy_is_copy = 1; *syscopy = \© } } @@ -272,9 +283,9 @@ second parameter, preserving OS-specific attributes and file structure. For Unix systems, this is equivalent to the simple C routine. For VMS systems, this calls the C routine (see below). For OS/2 systems, this calls the C -XSUB directly. +XSUB directly. For Win32 systems, this calls C. -=head2 Special behaviour if C is defined (VMS and OS/2) +=head2 Special behaviour if C is defined (OS/2, VMS and Win32) If both arguments to C are not file handles, then C will perform a "system copy" of diff --git a/gnu/usr.bin/perl/lib/File/DosGlob.pm b/gnu/usr.bin/perl/lib/File/DosGlob.pm index 594ee2ec843..d7dea7b46cf 100644 --- a/gnu/usr.bin/perl/lib/File/DosGlob.pm +++ b/gnu/usr.bin/perl/lib/File/DosGlob.pm @@ -19,13 +19,18 @@ sub doglob { my $sepchr = '/'; next OUTER unless defined $_ and $_ ne ''; # if arg is within quotes strip em and do no globbing - if (/^"(.*)"$/) { + if (/^"(.*)"\z/s) { $_ = $1; if ($cond eq 'd') { push(@retval, $_) if -d $_ } else { push(@retval, $_) if -e $_ } next OUTER; } - if (m|^(.*)([\\/])([^\\/]*)$|) { + # wildcards with a drive prefix such as h:*.pm must be changed + # to h:./*.pm to expand correctly + if (m|^([A-Za-z]:)[^/\\]|s) { + substr($_,0,2) = $1 . "./"; + } + if (m|^(.*)([\\/])([^\\/]*)\z|s) { my $tail; ($head, $sepchr, $tail) = ($1,$2,$3); #print "div: |$head|$sepchr|$tail|\n"; @@ -35,7 +40,7 @@ sub doglob { push(@retval, doglob($cond, map {"$_$sepchr$tail"} @globdirs)), next OUTER if @globdirs; } - $head .= $sepchr if $head eq '' or $head =~ /^[A-Za-z]:$/; + $head .= $sepchr if $head eq '' or $head =~ /^[A-Za-z]:\z/s; $_ = $tail; } # @@ -61,7 +66,7 @@ sub doglob { s/\?/.?/g; #print "regex: '$_', head: '$head'\n"; - my $matchsub = eval 'sub { $_[0] =~ m|^' . $_ . '$|io }'; + my $matchsub = eval 'sub { $_[0] =~ m|^' . $_ . '\\z|ios }'; warn($@), next OUTER if $@; INNER: for my $e (@leaves) { @@ -142,7 +147,7 @@ sub import { my $pkg = shift; return unless @_; my $sym = shift; - my $callpkg = ($sym =~ s/^GLOBAL_// ? 'CORE::GLOBAL' : caller(0)); + my $callpkg = ($sym =~ s/^GLOBAL_//s ? 'CORE::GLOBAL' : caller(0)); *{$callpkg.'::'.$sym} = \&{$pkg.'::'.$sym} if $sym eq 'glob'; } @@ -157,16 +162,16 @@ File::DosGlob - DOS like globbing and then some =head1 SYNOPSIS require 5.004; - + # override CORE::glob in current package use File::DosGlob 'glob'; - + # override CORE::glob in ALL packages (use with extreme caution!) use File::DosGlob 'GLOBAL_glob'; @perlfiles = glob "..\\pe?l/*.p?"; print <..\\pe?l/*.p?>; - + # from the command line (overrides only in main::) > perl -MFile::DosGlob=glob -e "print <../pe*/*p?>" @@ -206,7 +211,7 @@ pandering to DOS habits. Needs a dose of optimizium too. =head1 AUTHOR -Gurusamy Sarathy +Gurusamy Sarathy =head1 HISTORY diff --git a/gnu/usr.bin/perl/lib/File/Find.pm b/gnu/usr.bin/perl/lib/File/Find.pm index 7e670032a30..ac73f1b5eb2 100644 --- a/gnu/usr.bin/perl/lib/File/Find.pm +++ b/gnu/usr.bin/perl/lib/File/Find.pm @@ -1,5 +1,5 @@ package File::Find; -require 5.000; +use 5.005_64; require Exporter; require Cwd; @@ -12,70 +12,163 @@ finddepth - traverse a directory structure depth-first =head1 SYNOPSIS use File::Find; - find(\&wanted, '/foo','/bar'); + find(\&wanted, '/foo', '/bar'); sub wanted { ... } use File::Find; - finddepth(\&wanted, '/foo','/bar'); + finddepth(\&wanted, '/foo', '/bar'); sub wanted { ... } + use File::Find; + find({ wanted => \&process, follow => 1 }, '.'); + =head1 DESCRIPTION The first argument to find() is either a hash reference describing the -operations to be performed for each file, a code reference, or a string -that contains a subroutine name. If it is a hash reference, then the -value for the key C should be a code reference. This code -reference is called I below. +operations to be performed for each file, or a code reference. -Currently the only other supported key for the above hash is -C, in presense of which the walk over directories is -performed depth-first. Entry point finddepth() is a shortcut for -specifying C<{ bydepth => 1}> in the first argument of find(). +Here are the possible keys for the hash: -The wanted() function does whatever verifications you want. -$File::Find::dir contains the current directory name, and $_ the -current filename within that directory. $File::Find::name contains -C<"$File::Find::dir/$_">. You are chdir()'d to $File::Find::dir when -the function is called. The function may set $File::Find::prune to -prune the tree. +=over 3 + +=item C + +The value should be a code reference. This code reference is called +I below. + +=item C + +Reports the name of a directory only AFTER all its entries +have been reported. Entry point finddepth() is a shortcut for +specifying C<{ bydepth => 1 }> in the first argument of find(). + +=item C + +Causes symbolic links to be followed. Since directory trees with symbolic +links (followed) may contain files more than once and may even have +cycles, a hash has to be built up with an entry for each file. +This might be expensive both in space and time for a large +directory tree. See I and I below. +If either I or I is in effect: + +=over 6 + +=item * + +It is guarantueed that an I has been called before the user's +I function is called. This enables fast file checks involving S< _>. + +=item * + +There is a variable C<$File::Find::fullname> which holds the absolute +pathname of the file with all symbolic links resolved + +=back + +=item C + +This is similar to I except that it may report some files +more than once. It does detect cycles however. +Since only symbolic links have to be hashed, this is +much cheaper both in space and time. +If processing a file more than once (by the user's I function) +is worse than just taking time, the option I should be used. + +=item C + +C, which is the default, causes all files which are +neither directories nor symbolic links to be ignored if they are about +to be processed a second time. If a directory or a symbolic link +are about to be processed a second time, File::Find dies. +C causes File::Find to die if any file is about to be +processed a second time. +C causes File::Find to ignore any duplicate files and +dirctories but to proceed normally otherwise. -File::Find assumes that you don't alter the $_ variable. If you do then -make sure you return it to its original value before exiting your function. + +=item C + +Does not C to each directory as it recurses. The wanted() +function will need to be aware of this, of course. In this case, +C<$_> will be the same as C<$File::Find::name>. + +=item C + +If find is used in taint-mode (-T command line switch or if EUID != UID +or if EGID != GID) then internally directory names have to be untainted +before they can be cd'ed to. Therefore they are checked against a regular +expression I. Note, that all names passed to the +user's I function are still tainted. + +=item C + +See above. This should be set using the C quoting operator. +The default is set to C. +Note that the paranthesis which are vital. + +=item C + +If set, directories (subtrees) which fail the I +are skipped. The default is to 'die' in such a case. + +=back + +The wanted() function does whatever verifications you want. +C<$File::Find::dir> contains the current directory name, and C<$_> the +current filename within that directory. C<$File::Find::name> contains +the complete pathname to the file. You are chdir()'d to C<$File::Find::dir> when +the function is called, unless C was specified. +When or are in effect there is also a +C<$File::Find::fullname>. +The function may set C<$File::Find::prune> to prune the tree +unless C was specified. +Unless C or C is specified, for compatibility +reasons (find.pl, find2perl) there are in addition the following globals +available: C<$File::Find::topdir>, C<$File::Find::topdev>, C<$File::Find::topino>, +C<$File::Find::topmode> and C<$File::Find::topnlink>. This library is useful for the C tool, which when fed, find2perl / -name .nfs\* -mtime +7 \ - -exec rm -f {} \; -o -fstype nfs -prune + -exec rm -f {} \; -o -fstype nfs -prune produces something like: sub wanted { - /^\.nfs.*$/ && - (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) && + /^\.nfs.*\z/s && + (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_)) && int(-M _) > 7 && unlink($_) || - ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) && + ($nlink || (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_))) && $dev < 0 && ($File::Find::prune = 1); } -Set the variable $File::Find::dont_use_nlink if you're using AFS, +Set the variable C<$File::Find::dont_use_nlink> if you're using AFS, since AFS cheats. -C is just like C, except that it does a depth-first -search. Here's another interesting wanted function. It will find all symlinks that don't resolve: sub wanted { - -l && !-e && print "bogus link: $File::Find::name\n"; + -l && !-e && print "bogus link: $File::Find::name\n"; } -=head1 BUGS +See also the script C on CPAN for a nice application of this +module. + +=head1 CAVEAT + +Be aware that the option to follow symblic links can be dangerous. +Depending on the structure of the directory tree (including symbolic +links to directories) you might traverse a given (physical) directory +more than once (only if C is in effect). +Furthermore, deleting or changing files in a symbolically linked directory +might cause very unpleasant surprises, since you delete or change files +in an unknown directory. -There is no way to make find or finddepth follow symlinks. =cut @@ -83,150 +176,560 @@ There is no way to make find or finddepth follow symlinks. @EXPORT = qw(find finddepth); -sub find_opt { +use strict; +my $Is_VMS; + +require File::Basename; + +my %SLnkSeen; +my ($wanted_callback, $avoid_nlink, $bydepth, $no_chdir, $follow, + $follow_skip, $full_check, $untaint, $untaint_skip, $untaint_pat); + +sub contract_name { + my ($cdir,$fn) = @_; + + return substr($cdir,0,rindex($cdir,'/')) if $fn eq '.'; + + $cdir = substr($cdir,0,rindex($cdir,'/')+1); + + $fn =~ s|^\./||; + + my $abs_name= $cdir . $fn; + + if (substr($fn,0,3) eq '../') { + do 1 while ($abs_name=~ s|/(?>[^/]+)/\.\./|/|); + } + + return $abs_name; +} + + +sub PathCombine($$) { + my ($Base,$Name) = @_; + my $AbsName; + + if (substr($Name,0,1) eq '/') { + $AbsName= $Name; + } + else { + $AbsName= contract_name($Base,$Name); + } + + # (simple) check for recursion + my $newlen= length($AbsName); + if ($newlen <= length($Base)) { + if (($newlen == length($Base) || substr($Base,$newlen,1) eq '/') + && $AbsName eq substr($Base,0,$newlen)) + { + return undef; + } + } + return $AbsName; +} + +sub Follow_SymLink($) { + my ($AbsName) = @_; + + my ($NewName,$DEV, $INO); + ($DEV, $INO)= lstat $AbsName; + + while (-l _) { + if ($SLnkSeen{$DEV, $INO}++) { + if ($follow_skip < 2) { + die "$AbsName is encountered a second time"; + } + else { + return undef; + } + } + $NewName= PathCombine($AbsName, readlink($AbsName)); + unless(defined $NewName) { + if ($follow_skip < 2) { + die "$AbsName is a recursive symbolic link"; + } + else { + return undef; + } + } + else { + $AbsName= $NewName; + } + ($DEV, $INO) = lstat($AbsName); + return undef unless defined $DEV; # dangling symbolic link + } + + if ($full_check && $SLnkSeen{$DEV, $INO}++) { + if ($follow_skip < 1) { + die "$AbsName encountered a second time"; + } + else { + return undef; + } + } + + return $AbsName; +} + +our($dir, $name, $fullname, $prune); +sub _find_dir_symlnk($$$); +sub _find_dir($$$); + +sub _find_opt { my $wanted = shift; - my $bydepth = $wanted->{bydepth}; - my $cwd = $bydepth ? Cwd::fastcwd() : Cwd::cwd(); - # Localize these rather than lexicalizing them for backwards - # compatibility. - local($topdir,$topdev,$topino,$topmode,$topnlink); - foreach $topdir (@_) { - (($topdev,$topino,$topmode,$topnlink) = - ($Is_VMS ? stat($topdir) : lstat($topdir))) - || (warn("Can't stat $topdir: $!\n"), next); - if (-d _) { - if (chdir($topdir)) { - $prune = 0; - unless ($bydepth) { - ($dir,$_) = ($topdir,'.'); - $name = $topdir; - $wanted->{wanted}->(); + die "invalid top directory" unless defined $_[0]; + + my $cwd = $wanted->{bydepth} ? Cwd::fastcwd() : Cwd::cwd(); + my $cwd_untainted = $cwd; + $wanted_callback = $wanted->{wanted}; + $bydepth = $wanted->{bydepth}; + $no_chdir = $wanted->{no_chdir}; + $full_check = $wanted->{follow}; + $follow = $full_check || $wanted->{follow_fast}; + $follow_skip = $wanted->{follow_skip}; + $untaint = $wanted->{untaint}; + $untaint_pat = $wanted->{untaint_pattern}; + $untaint_skip = $wanted->{untaint_skip}; + + # for compatability reasons (find.pl, find2perl) + our ($topdir, $topdev, $topino, $topmode, $topnlink); + + # a symbolic link to a directory doesn't increase the link count + $avoid_nlink = $follow || $File::Find::dont_use_nlink; + + if ( $untaint ) { + $cwd_untainted= $1 if $cwd_untainted =~ m|$untaint_pat|; + die "insecure cwd in find(depth)" unless defined($cwd_untainted); + } + + my ($abs_dir, $Is_Dir); + + Proc_Top_Item: + foreach my $TOP (@_) { + my $top_item = $TOP; + $top_item =~ s|/\z|| unless $top_item eq '/'; + $Is_Dir= 0; + + ($topdev,$topino,$topmode,$topnlink) = stat $top_item; + + if ($follow) { + if (substr($top_item,0,1) eq '/') { + $abs_dir = $top_item; + } + elsif ($top_item eq '.') { + $abs_dir = $cwd; + } + else { # care about any ../ + $abs_dir = contract_name("$cwd/",$top_item); + } + $abs_dir= Follow_SymLink($abs_dir); + unless (defined $abs_dir) { + warn "$top_item is a dangling symbolic link\n"; + next Proc_Top_Item; + } + if (-d _) { + _find_dir_symlnk($wanted, $abs_dir, $top_item); + $Is_Dir= 1; + } + } + else { # no follow + $topdir = $top_item; + unless (defined $topnlink) { + warn "Can't stat $top_item: $!\n"; + next Proc_Top_Item; + } + if (-d _) { + $top_item =~ s/\.dir\z// if $Is_VMS; + _find_dir($wanted, $top_item, $topnlink); + $Is_Dir= 1; + } + else { + $abs_dir= $top_item; + } + } + + unless ($Is_Dir) { + unless (($_,$dir) = File::Basename::fileparse($abs_dir)) { + ($dir,$_) = ('./', $top_item); + } + + $abs_dir = $dir; + if ($untaint) { + my $abs_dir_save = $abs_dir; + $abs_dir = $1 if $abs_dir =~ m|$untaint_pat|; + unless (defined $abs_dir) { + if ($untaint_skip == 0) { + die "directory $abs_dir_save is still tainted"; + } + else { + next Proc_Top_Item; + } } - next if $prune; - my $fixtopdir = $topdir; - $fixtopdir =~ s,/$,, ; - $fixtopdir =~ s/\.dir$// if $Is_VMS; - &finddir($wanted,$fixtopdir,$topnlink, $bydepth); - if ($bydepth) { - ($dir,$_) = ($fixtopdir,'.'); - $name = $fixtopdir; - $wanted->{wanted}->(); + } + + unless ($no_chdir or chdir $abs_dir) { + warn "Couldn't chdir $abs_dir: $!\n"; + next Proc_Top_Item; + } + + $name = $abs_dir . $_; + + &$wanted_callback; + + } + + $no_chdir or chdir $cwd_untainted; + } +} + +# API: +# $wanted +# $p_dir : "parent directory" +# $nlink : what came back from the stat +# preconditions: +# chdir (if not no_chdir) to dir + +sub _find_dir($$$) { + my ($wanted, $p_dir, $nlink) = @_; + my ($CdLvl,$Level) = (0,0); + my @Stack; + my @filenames; + my ($subcount,$sub_nlink); + my $SE= []; + my $dir_name= $p_dir; + my $dir_pref= ( $p_dir eq '/' ? '/' : "$p_dir/" ); + my $dir_rel= '.'; # directory name relative to current directory + + local ($dir, $name, $prune, *DIR); + + unless ($no_chdir or $p_dir eq '.') { + my $udir = $p_dir; + if ($untaint) { + $udir = $1 if $p_dir =~ m|$untaint_pat|; + unless (defined $udir) { + if ($untaint_skip == 0) { + die "directory $p_dir is still tainted"; + } + else { + return; } } - else { - warn "Can't cd to $topdir: $!\n"; + } + unless (chdir $udir) { + warn "Can't cd to $udir: $!\n"; + return; + } + } + + push @Stack,[$CdLvl,$p_dir,$dir_rel,-1] if $bydepth; + + while (defined $SE) { + unless ($bydepth) { + $dir= $p_dir; + $name= $dir_name; + $_= ($no_chdir ? $dir_name : $dir_rel ); + # prune may happen here + $prune= 0; + &$wanted_callback; + next if $prune; + } + + # change to that directory + unless ($no_chdir or $dir_rel eq '.') { + my $udir= $dir_rel; + if ($untaint) { + $udir = $1 if $dir_rel =~ m|$untaint_pat|; + unless (defined $udir) { + if ($untaint_skip == 0) { + die "directory (" + . ($p_dir ne '/' ? $p_dir : '') + . "/) $dir_rel is still tainted"; + } + } + } + unless (chdir $udir) { + warn "Can't cd to (" + . ($p_dir ne '/' ? $p_dir : '') + . "/) $udir : $!\n"; + next; } + $CdLvl++; } - else { - require File::Basename; - unless (($_,$dir) = File::Basename::fileparse($topdir)) { - ($dir,$_) = ('.', $topdir); + + $dir= $dir_name; + + # Get the list of files in the current directory. + unless (opendir DIR, ($no_chdir ? $dir_name : '.')) { + warn "Can't opendir($dir_name): $!\n"; + next; + } + @filenames = readdir DIR; + closedir(DIR); + + if ($nlink == 2 && !$avoid_nlink) { + # This dir has no subdirectories. + for my $FN (@filenames) { + next if $FN =~ /^\.{1,2}\z/; + + $name = $dir_pref . $FN; + $_ = ($no_chdir ? $name : $FN); + &$wanted_callback; } - if (chdir($dir)) { - $name = $topdir; - $wanted->{wanted}->(); + + } + else { + # This dir has subdirectories. + $subcount = $nlink - 2; + + for my $FN (@filenames) { + next if $FN =~ /^\.{1,2}\z/; + if ($subcount > 0 || $avoid_nlink) { + # Seen all the subdirs? + # check for directoriness. + # stat is faster for a file in the current directory + $sub_nlink = (lstat ($no_chdir ? $dir_pref . $FN : $FN))[3]; + + if (-d _) { + --$subcount; + $FN =~ s/\.dir\z// if $Is_VMS; + push @Stack,[$CdLvl,$dir_name,$FN,$sub_nlink]; + } + else { + $name = $dir_pref . $FN; + $_= ($no_chdir ? $name : $FN); + &$wanted_callback; + } + } + else { + $name = $dir_pref . $FN; + $_= ($no_chdir ? $name : $FN); + &$wanted_callback; + } } - else { - warn "Can't cd to $dir: $!\n"; + } + } + continue { + while ( defined ($SE = pop @Stack) ) { + ($Level, $p_dir, $dir_rel, $nlink) = @$SE; + if ($CdLvl > $Level && !$no_chdir) { + my $tmp = join('/',('..') x ($CdLvl-$Level)); + die "Can't cd to $dir_name" . $tmp + unless chdir ($tmp); + $CdLvl = $Level; } + $dir_name = ($p_dir eq '/' ? "/$dir_rel" : "$p_dir/$dir_rel"); + $dir_pref = "$dir_name/"; + if ( $nlink < 0 ) { # must be finddepth, report dirname now + $name = $dir_name; + if ( substr($name,-2) eq '/.' ) { + $name =~ s|/\.$||; + } + $dir = $p_dir; + $_ = ($no_chdir ? $dir_name : $dir_rel ); + if ( substr($_,-2) eq '/.' ) { + s|/\.$||; + } + &$wanted_callback; + } else { + push @Stack,[$CdLvl,$p_dir,$dir_rel,-1] if $bydepth; + last; + } } - chdir $cwd; } } -sub finddir { - my($wanted, $nlink, $bydepth); - local($dir, $name); - ($wanted, $dir, $nlink, $bydepth) = @_; - - my($dev, $ino, $mode, $subcount); - - # Get the list of files in the current directory. - opendir(DIR,'.') || (warn("Can't open $dir: $!\n"), $bydepth || return); - my(@filenames) = readdir(DIR); - closedir(DIR); - - if ($nlink == 2 && !$dont_use_nlink) { # This dir has no subdirectories. - for (@filenames) { - next if $_ eq '.'; - next if $_ eq '..'; - $name = "$dir/$_"; - $nlink = 0; - $wanted->{wanted}->(); - } - } - else { # This dir has subdirectories. - $subcount = $nlink - 2; - for (@filenames) { - next if $_ eq '.'; - next if $_ eq '..'; - $nlink = 0; - $prune = 0 unless $bydepth; - $name = "$dir/$_"; - $wanted->{wanted}->() unless $bydepth; - if ($subcount > 0 || $dont_use_nlink) { # Seen all the subdirs? - - # Get link count and check for directoriness. - - ($dev,$ino,$mode,$nlink) = ($Is_VMS ? stat($_) : lstat($_)); - # unless ($nlink || $dont_use_nlink); - - if (-d _) { - - # It really is a directory, so do it recursively. - - --$subcount; - next if $prune; - # Untaint $_, so that we can do a chdir - $_ = $1 if /^(.*)/; - if (chdir $_) { - $name =~ s/\.dir$// if $Is_VMS; - &finddir($wanted,$name,$nlink, $bydepth); - chdir '..'; + +# API: +# $wanted +# $dir_loc : absolute location of a dir +# $p_dir : "parent directory" +# preconditions: +# chdir (if not no_chdir) to dir + +sub _find_dir_symlnk($$$) { + my ($wanted, $dir_loc, $p_dir) = @_; + my @Stack; + my @filenames; + my $new_loc; + my $pdir_loc = $dir_loc; + my $SE = []; + my $dir_name = $p_dir; + my $dir_pref = ( $p_dir eq '/' ? '/' : "$p_dir/" ); + my $loc_pref = ( $dir_loc eq '/' ? '/' : "$dir_loc/" ); + my $dir_rel = '.'; # directory name relative to current directory + my $byd_flag; # flag for pending stack entry if $bydepth + + local ($dir, $name, $fullname, $prune, *DIR); + + unless ($no_chdir or $p_dir eq '.') { + my $udir = $dir_loc; + if ($untaint) { + $udir = $1 if $dir_loc =~ m|$untaint_pat|; + unless (defined $udir) { + if ($untaint_skip == 0) { + die "directory $dir_loc is still tainted"; + } + else { + return; + } + } + } + unless (chdir $udir) { + warn "Can't cd to $udir: $!\n"; + return; + } + } + + push @Stack,[$dir_loc,$pdir_loc,$p_dir,$dir_rel,-1] if $bydepth; + + while (defined $SE) { + + unless ($bydepth) { + $dir= $p_dir; + $name= $dir_name; + $_= ($no_chdir ? $dir_name : $dir_rel ); + $fullname= $dir_loc; + # prune may happen here + $prune= 0; + &$wanted_callback; + next if $prune; + } + + # change to that directory + unless ($no_chdir or $dir_rel eq '.') { + my $udir = $dir_loc; + if ($untaint) { + $udir = $1 if $dir_loc =~ m|$untaint_pat|; + unless (defined $udir ) { + if ($untaint_skip == 0) { + die "directory $dir_loc is still tainted"; } else { - warn "Can't cd to $_: $!\n"; + next; } } } - $wanted->{wanted}->() if $bydepth; + unless (chdir $udir) { + warn "Can't cd to $udir: $!\n"; + next; + } + } + + $dir = $dir_name; + + # Get the list of files in the current directory. + unless (opendir DIR, ($no_chdir ? $dir_loc : '.')) { + warn "Can't opendir($dir_loc): $!\n"; + next; + } + @filenames = readdir DIR; + closedir(DIR); + + for my $FN (@filenames) { + next if $FN =~ /^\.{1,2}\z/; + + # follow symbolic links / do an lstat + $new_loc = Follow_SymLink($loc_pref.$FN); + + # ignore if invalid symlink + next unless defined $new_loc; + + if (-d _) { + push @Stack,[$new_loc,$dir_loc,$dir_name,$FN,1]; + } + else { + $fullname = $new_loc; + $name = $dir_pref . $FN; + $_ = ($no_chdir ? $name : $FN); + &$wanted_callback; + } + } + + } + continue { + while (defined($SE = pop @Stack)) { + ($dir_loc, $pdir_loc, $p_dir, $dir_rel, $byd_flag) = @$SE; + $dir_name = ($p_dir eq '/' ? "/$dir_rel" : "$p_dir/$dir_rel"); + $dir_pref = "$dir_name/"; + $loc_pref = "$dir_loc/"; + if ( $byd_flag < 0 ) { # must be finddepth, report dirname now + unless ($no_chdir or $dir_rel eq '.') { + my $udir = $pdir_loc; + if ($untaint) { + $udir = $1 if $dir_loc =~ m|$untaint_pat|; + } + unless (chdir $udir) { + warn "Can't cd to $udir: $!\n"; + next; + } + } + $fullname = $dir_loc; + $name = $dir_name; + if ( substr($name,-2) eq '/.' ) { + $name =~ s|/\.$||; + } + $dir = $p_dir; + $_ = ($no_chdir ? $dir_name : $dir_rel); + if ( substr($_,-2) eq '/.' ) { + s|/\.$||; + } + + &$wanted_callback; + } else { + push @Stack,[$dir_loc, $pdir_loc, $p_dir, $dir_rel,-1] if $bydepth; + last; + } } } } + sub wrap_wanted { - my $wanted = shift; - ref($wanted) eq 'HASH' ? $wanted : { wanted => $wanted }; + my $wanted = shift; + if ( ref($wanted) eq 'HASH' ) { + if ( $wanted->{follow} || $wanted->{follow_fast}) { + $wanted->{follow_skip} = 1 unless defined $wanted->{follow_skip}; + } + if ( $wanted->{untaint} ) { + $wanted->{untaint_pattern} = qr|^([-+@\w./]+)$| + unless defined $wanted->{untaint_pattern}; + $wanted->{untaint_skip} = 0 unless defined $wanted->{untaint_skip}; + } + return $wanted; + } + else { + return { wanted => $wanted }; + } } sub find { - my $wanted = shift; - find_opt(wrap_wanted($wanted), @_); + my $wanted = shift; + _find_opt(wrap_wanted($wanted), @_); + %SLnkSeen= (); # free memory } sub finddepth { - my $wanted = wrap_wanted(shift); - $wanted->{bydepth} = 1; - find_opt($wanted, @_); + my $wanted = wrap_wanted(shift); + $wanted->{bydepth} = 1; + _find_opt($wanted, @_); + %SLnkSeen= (); # free memory } # These are hard-coded for now, but may move to hint files. if ($^O eq 'VMS') { - $Is_VMS = 1; - $dont_use_nlink = 1; + $Is_VMS = 1; + $File::Find::dont_use_nlink = 1; } -$dont_use_nlink = 1 +$File::Find::dont_use_nlink = 1 if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $^O eq 'MSWin32'; # Set dont_use_nlink in your hint file if your system's stat doesn't # report the number of links in a directory as an indication # of the number of files. # See, e.g. hints/machten.sh for MachTen 2.2. -unless ($dont_use_nlink) { - require Config; - $dont_use_nlink = 1 if ($Config::Config{'dont_use_nlink'}); +unless ($File::Find::dont_use_nlink) { + require Config; + $File::Find::dont_use_nlink = 1 if ($Config::Config{'dont_use_nlink'}); } 1; - diff --git a/gnu/usr.bin/perl/lib/File/Path.pm b/gnu/usr.bin/perl/lib/File/Path.pm index 225ecab4b61..46f360a4615 100644 --- a/gnu/usr.bin/perl/lib/File/Path.pm +++ b/gnu/usr.bin/perl/lib/File/Path.pm @@ -2,15 +2,14 @@ package File::Path; =head1 NAME -File::Path - create or remove a series of directories +File::Path - create or remove directory trees =head1 SYNOPSIS -C + use File::Path; -C - -C + mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711); + rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1); =head1 DESCRIPTION @@ -74,7 +73,7 @@ than VMS is settled. (defaults to FALSE) =back It returns the number of files successfully deleted. Symlinks are -treated as ordinary files. +simply deleted and not followed. B If the third parameter is not TRUE, C is B in the face of failure or interruption. Files and directories which @@ -90,22 +89,17 @@ in situations where security is an issue. Tim Bunce > and Charles Bailey > -=head1 REVISION - -Current $VERSION is 1.0401. - =cut +use 5.005_64; use Carp; use File::Basename (); -use DirHandle (); use Exporter (); use strict; -use vars qw( $VERSION @ISA @EXPORT ); -$VERSION = "1.0401"; -@ISA = qw( Exporter ); -@EXPORT = qw( mkpath rmtree ); +our $VERSION = "1.0403"; +our @ISA = qw( Exporter ); +our @EXPORT = qw( mkpath rmtree ); my $Is_VMS = $^O eq 'VMS'; @@ -124,20 +118,22 @@ sub mkpath { $paths = [$paths] unless ref $paths; my(@created,$path); foreach $path (@$paths) { - $path .= '/' if $^O eq 'os2' and $path =~ /^\w:$/; # feature of CRT + $path .= '/' if $^O eq 'os2' and $path =~ /^\w:\z/s; # feature of CRT next if -d $path; # Logic wants Unix paths, so go with the flow. $path = VMS::Filespec::unixify($path) if $Is_VMS; my $parent = File::Basename::dirname($path); # Allow for creation of new logical filesystems under VMS if (not $Is_VMS or $parent !~ m:/[^/]+/000000/?:) { - push(@created,mkpath($parent, $verbose, $mode)) unless (-d $parent); + unless (-d $parent or $path eq $parent) { + push(@created,mkpath($parent, $verbose, $mode)); + } } print "mkdir $path\n" if $verbose; unless (mkdir($path,$mode)) { - my $e = $!; - # allow for another process to have created it meanwhile - croak "mkdir $path: $e" unless -d $path; + my $e = $!; + # allow for another process to have created it meanwhile + croak "mkdir $path: $e" unless -d $path; } push(@created, $path); } @@ -148,13 +144,20 @@ sub rmtree { my($roots, $verbose, $safe) = @_; my(@files); my($count) = 0; - $roots = [$roots] unless ref $roots; $verbose ||= 0; $safe ||= 0; + if ( defined($roots) && length($roots) ) { + $roots = [$roots] unless ref $roots; + } + else { + carp "No root path(s) specified\n"; + return 0; + } + my($root); foreach $root (@{$roots}) { - $root =~ s#/$##; + $root =~ s#/\z##; (undef, undef, my $rp) = lstat $root or next; $rp &= 07777; # don't forget setuid, setgid, sticky bits if ( -d _ ) { @@ -166,16 +169,20 @@ sub rmtree { or carp "Can't make directory $root read+writeable: $!" unless $safe; - my $d = DirHandle->new($root) - or carp "Can't read $root: $!"; - @files = $d->read; - $d->close; + if (opendir my $d, $root) { + @files = readdir $d; + closedir $d; + } + else { + carp "Can't read $root: $!"; + @files = (); + } # Deleting large numbers of files from VMS Files-11 filesystems # is faster if done in reverse ASCIIbetical order @files = reverse @files if $Is_VMS; - ($root = VMS::Filespec::unixify($root)) =~ s#\.dir$## if $Is_VMS; - @files = map("$root/$_", grep $_!~/^\.{1,2}$/,@files); + ($root = VMS::Filespec::unixify($root)) =~ s#\.dir\z## if $Is_VMS; + @files = map("$root/$_", grep $_!~/^\.{1,2}\z/s,@files); $count += rmtree(\@files,$verbose,$safe); if ($safe && ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) { @@ -198,7 +205,9 @@ sub rmtree { } else { if ($safe && - ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) { + ($Is_VMS ? !&VMS::Filespec::candelete($root) + : !(-l $root || -w $root))) + { print "skipped $root\n" if $verbose; next; } diff --git a/gnu/usr.bin/perl/lib/FileHandle.pm b/gnu/usr.bin/perl/lib/FileHandle.pm index eec9b61f31b..34c3475d9c4 100644 --- a/gnu/usr.bin/perl/lib/FileHandle.pm +++ b/gnu/usr.bin/perl/lib/FileHandle.pm @@ -1,8 +1,8 @@ package FileHandle; -use 5.003_11; +use 5.005_64; use strict; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); +our($VERSION, @ISA, @EXPORT, @EXPORT_OK); $VERSION = "2.00"; diff --git a/gnu/usr.bin/perl/lib/FindBin.pm b/gnu/usr.bin/perl/lib/FindBin.pm index 9e1c0a06bf2..5d4c575cbcd 100644 --- a/gnu/usr.bin/perl/lib/FindBin.pm +++ b/gnu/usr.bin/perl/lib/FindBin.pm @@ -82,7 +82,7 @@ use File::Spec; %EXPORT_TAGS = (ALL => [qw($Bin $Script $RealBin $RealScript $Dir $RealDir)]); @ISA = qw(Exporter); -$VERSION = $VERSION = "1.42"; +$VERSION = "1.42"; BEGIN { @@ -102,7 +102,7 @@ BEGIN if ($^O eq 'VMS') { - ($Bin,$Script) = VMS::Filespec::rmsexpand($0) =~ /(.*\])(.*)/; + ($Bin,$Script) = VMS::Filespec::rmsexpand($0) =~ /(.*\])(.*)/s; ($RealBin,$RealScript) = ($Bin,$Script); } else diff --git a/gnu/usr.bin/perl/lib/Getopt/Long.pm b/gnu/usr.bin/perl/lib/Getopt/Long.pm index e9a8f1a1cc8..e26264e8c73 100644 --- a/gnu/usr.bin/perl/lib/Getopt/Long.pm +++ b/gnu/usr.bin/perl/lib/Getopt/Long.pm @@ -2,29 +2,30 @@ package Getopt::Long; -# RCS Status : $Id: Long.pm,v 1.3 1999/04/29 22:51:55 millert Exp $ +# RCS Status : $Id: Long.pm,v 1.4 2000/04/06 17:06:38 millert Exp $ # Author : Johan Vromans # Created On : Tue Sep 11 15:00:12 1990 # Last Modified By: Johan Vromans -# Last Modified On: Fri Jan 8 14:48:43 1999 -# Update Count : 707 +# Last Modified On: Tue Mar 14 21:28:40 2000 +# Update Count : 721 # Status : Released ################ Copyright ################ -# This program is Copyright 1990,1999 by Johan Vromans. +# This program is Copyright 1990,2000 by Johan Vromans. # This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# +# modify it under the terms of the Perl Artistic License or the +# GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any +# later version. +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # If you do not have a copy of the GNU General Public License write to -# the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, +# the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, # MA 02139, USA. ################ Module Preamble ################ @@ -35,7 +36,7 @@ BEGIN { require 5.004; use Exporter (); use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); - $VERSION = "2.19"; + $VERSION = "2.23"; @ISA = qw(Exporter); @EXPORT = qw(&GetOptions $REQUIRE_ORDER $PERMUTE $RETURN_IN_ORDER); @@ -51,14 +52,14 @@ use vars qw($error $debug $major_version $minor_version); use vars qw($autoabbrev $getopt_compat $ignorecase $bundling $order $passthrough); # Official invisible variables. -use vars qw($genprefix); +use vars qw($genprefix $caller); -# Public subroutines. +# Public subroutines. sub Configure (@); sub config (@); # deprecated name sub GetOptions; -# Private subroutines. +# Private subroutines. sub ConfigDefaults (); sub FindOption ($$$$$$$); sub Croak (@); # demand loading the real Croak @@ -97,8 +98,7 @@ sub ConfigDefaults () { # Version major/minor numbers. ($major_version, $minor_version) = $VERSION =~ /^(\d+)\.(\d+)/; -# Set defaults. -ConfigDefaults (); +ConfigDefaults(); ################ Package return ################ @@ -108,12 +108,12 @@ __END__ ################ AutoLoading subroutines ################ -# RCS Status : $Id: Long.pm,v 1.3 1999/04/29 22:51:55 millert Exp $ +# RCS Status : $Id: Long.pm,v 1.4 2000/04/06 17:06:38 millert Exp $ # Author : Johan Vromans # Created On : Fri Mar 27 11:50:30 1998 # Last Modified By: Johan Vromans -# Last Modified On: Sun Jun 14 13:54:35 1998 -# Update Count : 24 +# Last Modified On: Fri Mar 17 09:00:09 2000 +# Update Count : 55 # Status : Released sub GetOptions { @@ -122,7 +122,7 @@ sub GetOptions { my $argend = '--'; # option list terminator my %opctl = (); # table of arg.specs (long and abbrevs) my %bopctl = (); # table of arg.specs (bundles) - my $pkg = (caller)[0]; # current context + my $pkg = $caller || (caller)[0]; # current context # Needed if linkage is omitted. my %aliases= (); # alias table my @ret = (); # accum for non-options @@ -137,7 +137,7 @@ sub GetOptions { print STDERR ("GetOpt::Long $Getopt::Long::VERSION ", "called from package \"$pkg\".", "\n ", - 'GetOptionsAl $Revision: 1.3 $ ', + 'GetOptionsAl $Revision: 1.4 $ ', "\n ", "ARGV: (@ARGV)", "\n ", @@ -152,9 +152,9 @@ sub GetOptions { "\n") if $debug; - # Check for ref HASH as first argument. + # Check for ref HASH as first argument. # First argument may be an object. It's OK to use this as long - # as it is really a hash underneath. + # as it is really a hash underneath. $userlinkage = undef; if ( ref($optionlist[0]) and "$optionlist[0]" =~ /^(?:.*\=)?HASH\([^\(]*\)$/ ) { @@ -164,7 +164,11 @@ sub GetOptions { # See if the first element of the optionlist contains option # starter characters. - if ( $optionlist[0] =~ /^\W+$/ ) { + # Be careful not to interpret '<>' as option starters. + if ( $optionlist[0] =~ /^\W+$/ + && !($optionlist[0] eq '<>' + && @optionlist > 0 + && ref($optionlist[1])) ) { $genprefix = shift (@optionlist); # Turn into regexp. Needs to be parenthesized! $genprefix =~ s/(\W)/\\$1/g; @@ -187,7 +191,7 @@ sub GetOptions { && ref($userlinkage->{$opt}) ) { unshift (@optionlist, $userlinkage->{$opt}); } - unless ( @optionlist > 0 + unless ( @optionlist > 0 && ref($optionlist[0]) && ref($optionlist[0]) eq 'CODE' ) { $error .= "Option spec <> requires a reference to a subroutine\n"; next; @@ -215,7 +219,7 @@ sub GetOptions { # Force an alias if the option name is not locase. $a = $o unless $o eq lc($o); $o = lc ($o) - if $ignorecase > 1 + if $ignorecase > 1 || ($ignorecase && ($bundling ? length($o) > 1 : 1)); @@ -225,17 +229,21 @@ sub GetOptions { if ( $c eq '!' ) { $opctl{"no$_"} = $c; warn ("Ignoring '!' modifier for short option $_\n"); - $c = ''; + $opctl{$_} = $bopctl{$_} = ''; + } + else { + $opctl{$_} = $bopctl{$_} = $c; } - $opctl{$_} = $bopctl{$_} = $c; } else { $_ = lc ($_) if $ignorecase; if ( $c eq '!' ) { $opctl{"no$_"} = $c; - $c = ''; + $opctl{$_} = '' + } + else { + $opctl{$_} = $c; } - $opctl{$_} = $c; } if ( defined $a ) { # Note alias. @@ -278,7 +286,7 @@ sub GetOptions { $opctl{$o} .= '@' if $opctl{$o} ne '' and $opctl{$o} !~ /\@$/; $bopctl{$o} .= '@' - if $bundling and defined $bopctl{$o} and + if $bundling and defined $bopctl{$o} and $bopctl{$o} ne '' and $bopctl{$o} !~ /\@$/; } elsif ( ref($optionlist[0]) =~ /^(HASH)$/ ) { @@ -286,7 +294,7 @@ sub GetOptions { $opctl{$o} .= '%' if $opctl{$o} ne '' and $opctl{$o} !~ /\%$/; $bopctl{$o} .= '%' - if $bundling and defined $bopctl{$o} and + if $bundling and defined $bopctl{$o} and $bopctl{$o} ne '' and $bopctl{$o} !~ /\%$/; } else { @@ -339,7 +347,8 @@ sub GetOptions { } # Process argument list - while ( @ARGV > 0 ) { + my $goon = 1; + while ( $goon && @ARGV > 0 ) { #### Get next argument #### @@ -351,7 +360,7 @@ sub GetOptions { # Double dash is option list terminator. if ( $opt eq $argend ) { # Finish. Push back accumulated arguments and return. - unshift (@ARGV, @ret) + unshift (@ARGV, @ret) if $order == $PERMUTE; return ($error == 0); } @@ -359,16 +368,16 @@ sub GetOptions { my $tryopt = $opt; my $found; # success status my $dsttype; # destination type ('@' or '%') - my $incr; # destination increment + my $incr; # destination increment my $key; # key (if hash type) my $arg; # option argument - ($found, $opt, $arg, $dsttype, $incr, $key) = - FindOption ($genprefix, $argend, $opt, + ($found, $opt, $arg, $dsttype, $incr, $key) = + FindOption ($genprefix, $argend, $opt, \%opctl, \%bopctl, \@opctl, \%aliases); if ( $found ) { - + # FindOption undefines $opt in case of errors. next unless defined $opt; @@ -409,7 +418,20 @@ sub GetOptions { elsif ( ref($linkage{$opt}) eq 'CODE' ) { print STDERR ("=> &L{$opt}(\"$opt\", \"$arg\")\n") if $debug; - &{$linkage{$opt}}($opt, $arg); + local ($@); + eval { + &{$linkage{$opt}}($opt, $arg); + }; + print STDERR ("=> die($@)\n") if $debug && $@ ne ''; + if ( $@ =~ /^!/ ) { + if ( $@ =~ /^!FINISH\b/ ) { + $goon = 0; + } + } + elsif ( $@ ne '' ) { + warn ($@); + $error++; + } } else { print STDERR ("Invalid REF type \"", ref($linkage{$opt}), @@ -466,7 +488,20 @@ sub GetOptions { # Try non-options call-back. my $cb; if ( (defined ($cb = $linkage{'<>'})) ) { - &$cb ($tryopt); + local ($@); + eval { + &$cb ($tryopt); + }; + print STDERR ("=> die($@)\n") if $debug && $@ ne ''; + if ( $@ =~ /^!/ ) { + if ( $@ =~ /^!FINISH\b/ ) { + $goon = 0; + } + } + elsif ( $@ ne '' ) { + warn ($@); + $error++; + } } else { print STDERR ("=> saving \"$tryopt\" ", @@ -523,7 +558,7 @@ sub FindOption ($$$$$$$) { && $opt =~ /^([^=]+)=(.*)$/s ) { $opt = $1; $optarg = $2; - print STDERR ("=> option \"", $opt, + print STDERR ("=> option \"", $opt, "\", optarg = \"$optarg\"\n") if $debug; } @@ -554,7 +589,7 @@ sub FindOption ($$$$$$$) { $tryopt .= $rest; undef $rest; } - } + } # Try auto-abbreviation. elsif ( $autoabbrev ) { @@ -640,7 +675,7 @@ sub FindOption ($$$$$$$) { ($mand, $type, $dsttype, $key) = $type =~ /^(.)(.)([@%]?)$/; # Check if there is an option argument available. - if ( defined $optarg ? ($optarg eq '') + if ( defined $optarg ? ($optarg eq '') : !(defined $rest || @ARGV > 0) ) { # Complain if this option needs an argument. if ( $mand eq "=" ) { @@ -662,17 +697,17 @@ sub FindOption ($$$$$$$) { # Get key if this is a "name=value" pair for a hash option. $key = undef; if ($dsttype eq '%' && defined $arg) { - ($key, $arg) = ($arg =~ /^(.*)=(.*)$/s) ? ($1, $2) : ($arg, 1); + ($key, $arg) = ($arg =~ /^([^=]*)=(.*)$/s) ? ($1, $2) : ($arg, 1); } #### Check if the argument is valid for this option #### if ( $type eq "s" ) { # string - # A mandatory string takes anything. + # A mandatory string takes anything. return (1, $opt,$arg,$dsttype,$incr,$key) if $mand eq "="; - # An optional string takes almost anything. - return (1, $opt,$arg,$dsttype,$incr,$key) + # An optional string takes almost anything. + return (1, $opt,$arg,$dsttype,$incr,$key) if defined $optarg || defined $rest; return (1, $opt,$arg,$dsttype,$incr,$key) if $arg eq "-"; # ?? @@ -687,12 +722,12 @@ sub FindOption ($$$$$$$) { } elsif ( $type eq "n" || $type eq "i" ) { # numeric/integer - if ( $bundling && defined $rest && $rest =~ /^(-?[0-9]+)(.*)$/s ) { + if ( $bundling && defined $rest && $rest =~ /^([-+]?[0-9]+)(.*)$/s ) { $arg = $1; $rest = $2; unshift (@ARGV, $starter.$rest) if defined $rest && $rest ne ''; } - elsif ( $arg !~ /^-?[0-9]+$/ ) { + elsif ( $arg !~ /^[-+]?[0-9]+$/ ) { if ( defined $optarg || $mand eq "=" ) { if ( $passthrough ) { unshift (@ARGV, defined $rest ? $starter.$rest : $arg) @@ -720,12 +755,12 @@ sub FindOption ($$$$$$$) { # and at least one digit following the point and 'e'. # [-]NN[.NN][eNN] if ( $bundling && defined $rest && - $rest =~ /^(-?[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?)(.*)$/s ) { + $rest =~ /^([-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)?)(.*)$/s ) { $arg = $1; $rest = $+; unshift (@ARGV, $starter.$rest) if defined $rest && $rest ne ''; } - elsif ( $arg !~ /^-?[0-9.]+(\.[0-9]+)?([eE]-?[0-9]+)?$/ ) { + elsif ( $arg !~ /^[-+]?[0-9.]+(\.[0-9]+)?([eE][-+]?[0-9]+)?$/ ) { if ( defined $optarg || $mand eq "=" ) { if ( $passthrough ) { unshift (@ARGV, defined $rest ? $starter.$rest : $arg) @@ -756,6 +791,18 @@ sub FindOption ($$$$$$$) { # Getopt::Long Configuration. sub Configure (@) { my (@options) = @_; + + my $prevconfig = + [ $error, $debug, $major_version, $minor_version, + $autoabbrev, $getopt_compat, $ignorecase, $bundling, $order, + $passthrough, $genprefix ]; + + if ( ref($options[0]) eq 'ARRAY' ) { + ( $error, $debug, $major_version, $minor_version, + $autoabbrev, $getopt_compat, $ignorecase, $bundling, $order, + $passthrough, $genprefix ) = @{shift(@options)}; + } + my $opt; foreach $opt ( @options ) { my $try = lc ($opt); @@ -804,7 +851,7 @@ sub Configure (@) { elsif ( $try =~ /^prefix_pattern=(.+)$/ ) { $genprefix = $1; # Parenthesize if needed. - $genprefix = "(" . $genprefix . ")" + $genprefix = "(" . $genprefix . ")" unless $genprefix =~ /^\(.*\)$/; eval { '' =~ /$genprefix/; }; Croak ("Getopt::Long: invalid pattern \"$genprefix\"") if $@; @@ -816,6 +863,7 @@ sub Configure (@) { Croak ("Getopt::Long: unknown config parameter \"$opt\"") } } + $prevconfig; } # Deprecated name. @@ -834,7 +882,7 @@ sub Croak (@) { =head1 NAME -GetOptions - extended processing of command line options +Getopt::Long - Extended processing of command line options =head1 SYNOPSIS @@ -849,350 +897,548 @@ line options, with GNU extensions. In general, this means that options have long names instead of single letters, and are introduced with a double dash "--". Support for bundling of command line options, as was the case with the more traditional single-letter approach, is provided -but not enabled by default. For example, the UNIX "ps" command can be -given the command line "option" +but not enabled by default. + +=head1 Command Line Options, an Introduction + +Command line operated programs traditionally take their arguments from +the command line, for example filenames or other information that the +program needs to know. Besides arguments, these programs often take +command line I as well. Options are not necessary for the +program to work, hence the name 'option', but are used to modify its +default behaviour. For example, a program could do its job quietly, +but with a suitable option it could provide verbose information about +what it did. + +Command line options come in several flavours. Historically, they are +preceded by a single dash C<->, and consist of a single letter. + + -l -a -c + +Usually, these single-character options can be bundled: + + -lac + +Options can have values, the value is placed after the option +character. Sometimes with whitespace in between, sometimes not: + + -s 24 -s24 + +Due to the very cryptic nature of these options, another style was +developed that used long names. So instead of a cryptic C<-l> one +could use the more descriptive C<--long>. To distinguish between a +bundle of single-character options and a long one, two dashes are used +to precede the option name. Early implementations of long options used +a plus C<+> instead. Also, option values could be specified either +like + + --size=24 + +or + + --size 24 + +The C<+> form is now obsolete and strongly deprecated. + +=head1 Getting Started with Getopt::Long + +Getopt::Long is the Perl5 successor of C. This was +the firs Perl module that provided support for handling the new style +of command line options, hence the name Getopt::Long. This module +also supports single-character options and bundling. In this case, the +options are restricted to alphabetic characters only, and the +characters C and C<->. + +To use Getopt::Long from a Perl program, you must include the +following line in your Perl program: + + use Getopt::Long; + +This will load the core of the Getopt::Long module and prepare your +program for using it. Most of the actual Getopt::Long code is not +loaded until you really call one of its functions. + +In the default configuration, options names may be abbreviated to +uniqueness, case does not matter, and a single dash is sufficient, +even for long option names. Also, options may be placed between +non-option arguments. See L for more +details on how to configure Getopt::Long. + +=head2 Simple options + +The most simple options are the ones that take no values. Their mere +presence on the command line enables the option. Popular examples are: + + --all --verbose --quiet --debug + +Handling simple options is straightforward: + + my $verbose = ''; # option variable with default value (false) + my $all = ''; # option variable with default value (false) + GetOptions ('verbose' => \$verbose, 'all' => \$all); + +The call to GetOptions() parses the command line arguments that are +present in C<@ARGV> and sets the option variable to the value C<1> if +the option did occur on the command line. Otherwise, the option +variable is not touched. Setting the option value to true is often +called I the option. + +The option name as specified to the GetOptions() function is called +the option I. Later we'll see that this specification +can contain more than just the option name. The reference to the +variable is called the option I. + +GetOptions() will return a true value if the command line could be +processed successfully. Otherwise, it will write error messages to +STDERR, and return a false result. + +=head2 A little bit less simple options + +Getopt::Long supports two useful variants of simple options: +I options and I options. + +A negatable option is specified with a exclamation mark C after the +option name: + + my $verbose = ''; # option variable with default value (false) + GetOptions ('verbose!' => \$verbose); + +Now, using C<--verbose> on the command line will enable C<$verbose>, +as expected. But it is also allowed to use C<--noverbose>, which will +disable C<$verbose> by setting its value to C<0>. Using a suitable +default value, the program can find out whether C<$verbose> is false +by default, or disabled by using C<--noverbose>. + +An incremental option is specified with a plus C<+> after the +option name: + + my $verbose = ''; # option variable with default value (false) + GetOptions ('verbose+' => \$verbose); + +Using C<--verbose> on the command line will increment the value of +C<$verbose>. This way the program can keep track of how many times the +option occurred on the command line. For example, each occurrence of +C<--verbose> could increase the verbosity level of the program. + +=head2 Mixing command line option with other arguments + +Usually programs take command line options as well as other arguments, +for example, file names. It is good practice to always specify the +options first, and the other arguments last. Getopt::Long will, +however, allow the options and arguments to be mixed and 'filter out' +all the options before passing the rest of the arguments to the +program. To stop Getopt::Long from processing further arguments, +insert a double dash C<--> on the command line: + + --size 24 -- --all + +In this example, C<--all> will I be treated as an option, but +passed to the program unharmed, in C<@ARGV>. + +=head2 Options with values + +For options that take values it must be specified whether the option +value is required or not, and what kind of value the option expects. + +Three kinds of values are supported: integer numbers, floating point +numbers, and strings. + +If the option value is required, Getopt::Long will take the +command line argument that follows the option and assign this to the +option variable. If, however, the option value is specified as +optional, this will only be done if that value does not look like a +valid command line option itself. + + my $tag = ''; # option variable with default value + GetOptions ('tag=s' => \$tag); + +In the option specification, the option name is followed by an equals +sign C<=> and the letter C. The equals sign indicates that this +option requires a value. The letter C indicates that this value is +an arbitrary string. Other possible value types are C for integer +values, and C for floating point values. Using a colon C<:> instead +of the equals sign indicates that the option value is optional. In +this case, if no suitable value is supplied, string valued options get +an empty string C<''> assigned, while numeric options are set to C<0>. + +=head2 Options with multiple values + +Options sometimes take several values. For example, a program could +use multiple directories to search for library files: + + --library lib/stdlib --library lib/extlib + +To accomplish this behaviour, simply specify an array reference as the +destination for the option: + + my @libfiles = (); + GetOptions ("library=s" => \@libfiles); + +Used with the example above, C<@libfiles> would contain two strings +upon completion: C<"lib/srdlib"> and C<"lib/extlib">, in that order. +It is also possible to specify that only integer or floating point +numbers are acceptible values. + +Often it is useful to allow comma-separated lists of values as well as +multiple occurrences of the options. This is easy using Perl's split() +and join() operators: + + my @libfiles = (); + GetOptions ("library=s" => \@libfiles); + @libfiles = split(/,/,join(',',@libfiles)); + +Of course, it is important to choose the right separator string for +each purpose. + +=head2 Options with hash values - -vax +If the option destination is a reference to a hash, the option will +take, as value, strings of the form IC<=>I. The value will +be stored with the specified key in the hash. -which means the combination of B<-v>, B<-a> and B<-x>. With the new -syntax B<--vax> would be a single option, probably indicating a -computer architecture. + my %defines = (); + GetOptions ("define=s" => \%defines); -Command line options can be used to set values. These values can be -specified in one of two ways: +When used with command line options: - --size 24 - --size=24 + --define os=linux --define vendor=redhat -GetOptions is called with a list of option-descriptions, each of which -consists of two elements: the option specifier and the option linkage. -The option specifier defines the name of the option and, optionally, -the value it can take. The option linkage is usually a reference to a -variable that will be set when the option is used. For example, the -following call to GetOptions: +the hash C<%defines> will contain two keys, C<"os"> with value +C<"linux> and C<"vendor"> with value C<"redhat">. +It is also possible to specify that only integer or floating point +numbers are acceptible values. The keys are always taken to be strings. - GetOptions("size=i" => \$offset); +=head2 User-defined subroutines to handle options -will accept a command line option "size" that must have an integer -value. With a command line of "--size 24" this will cause the variable -$offset to get the value 24. +Ultimate control over what should be done when (actually: each time) +an option is encountered on the command line can be achieved by +designating a reference to a subroutine (or an anonymous subroutine) +as the option destination. When GetOptions() encounters the option, it +will call the subroutine with two arguments: the name of the option, +and the value to be assigned. It is up to the subroutine to store the +value, or do whatever it thinks is appropriate. -Alternatively, the first argument to GetOptions may be a reference to -a HASH describing the linkage for the options, or an object whose -class is based on a HASH. The following call is equivalent to the -example above: +A trivial application of this mechanism is to implement options that +are related to each other. For example: - %optctl = ("size" => \$offset); - GetOptions(\%optctl, "size=i"); + my $verbose = ''; # option variable with default value (false) + GetOptions ('verbose' => \$verbose, + 'quiet' => sub { $verbose = 0 }); -Linkage may be specified using either of the above methods, or both. -Linkage specified in the argument list takes precedence over the -linkage specified in the HASH. +Here C<--verbose> and C<--quiet> control the same variable +C<$verbose>, but with opposite values. -The command line options are taken from array @ARGV. Upon completion -of GetOptions, @ARGV will contain the rest (i.e. the non-options) of -the command line. - -Each option specifier designates the name of the option, optionally -followed by an argument specifier. +If the subroutine needs to signal an error, it should call die() with +the desired error message as its argument. GetOptions() will catch the +die(), issue the error message, and record that an error result must +be returned upon completion. -Options that do not take arguments will have no argument specifier. -The option variable will be set to 1 if the option is used. +If the text of the error message starts with an exclamantion mark C +it is interpreted specially by GetOptions(). There is currently one +special command implemented: C will cause GetOptions() +to stop processing options, as if it encountered a double dash C<-->. -For the other options, the values for argument specifiers are: +=head2 Options with multiple names -=over 8 +Often it is user friendly to supply alternate mnemonic names for +options. For example C<--height> could be an alternate name for +C<--length>. Alternate names can be included in the option +specification, separated by vertical bar C<|> characters. To implement +the above example: + + GetOptions ('length|height=f' => \$length); + +The first name is called the I name, the other names are +called I. + +Multiple alternate names are possible. + +=head2 Case and abbreviations + +Without additional configuration, GetOptions() will ignore the case of +option names, and allow the options to be abbreviated to uniqueness. + + GetOptions ('length|height=f' => \$length, "head" => \$head); + +This call will allow C<--l> and C<--L> for the length option, but +requires a least C<--hea> and C<--hei> for the head and height options. + +=head2 Summary of Option Specifications + +Each option specifier consists of two parts: the name specification +and the argument specification. + +The name specification contains the name of the option, optionally +followed by a list of alternative names separated by vertical bar +characters. + + length option name is "length" + length|size|l name is "length", aliases are "size" and "l" + +The argument specification is optional. If omitted, the option is +considered boolean, a value of 1 will be assigned when the option is +used on the command line. + +The argument specification can be + +=over =item ! -Option does not take an argument and may be negated, i.e. prefixed by -"no". E.g. "foo!" will allow B<--foo> (with value 1) and B<-nofoo> -(with value 0). -The option variable will be set to 1, or 0 if negated. +The option does not take an argument and may be negated, i.e. prefixed +by "no". E.g. C<"foo!"> will allow C<--foo> (a value of 1 will be +assigned) and C<--nofoo> (a value of 0 will be assigned). If the +option has aliases, this applies to the aliases as well. + +Using negation on a single letter option when bundling is in effect is +pointless and will result in a warning. =item + -Option does not take an argument and will be incremented by 1 every -time it appears on the command line. E.g. "more+", when used with -B<--more --more --more>, will set the option variable to 3 (provided -it was 0 or undefined at first). +The option does not take an argument and will be incremented by 1 +every time it appears on the command line. E.g. C<"more+">, when used +with C<--more --more --more>, will increment the value three times, +resulting in a value of 3 (provided it was 0 or undefined at first). + +The C<+> specifier is ignored if the option destination is not a scalar. -The B<+> specifier is ignored if the option destination is not a SCALAR. +=item = I [ I ] -=item =s +The option requires an argument of the given type. Supported types +are: -Option takes a mandatory string argument. -This string will be assigned to the option variable. -Note that even if the string argument starts with B<-> or B<-->, it -will not be considered an option on itself. +=over -=item :s +=item s -Option takes an optional string argument. -This string will be assigned to the option variable. -If omitted, it will be assigned "" (an empty string). -If the string argument starts with B<-> or B<-->, it -will be considered an option on itself. +String. An arbitrary sequence of characters. It is valid for the +argument to start with C<-> or C<-->. -=item =i +=item i -Option takes a mandatory integer argument. -This value will be assigned to the option variable. -Note that the value may start with B<-> to indicate a negative -value. +Integer. An optional leading plus or minus sign, followed by a +sequence of digits. -=item :i +=item f -Option takes an optional integer argument. -This value will be assigned to the option variable. -If omitted, the value 0 will be assigned. -Note that the value may start with B<-> to indicate a negative -value. +Real number. For example C<3.14>, C<-6.23E24> and so on. + +=back -=item =f +The I can be C<@> or C<%> to specify that the option is +list or a hash valued. This is only needed when the destination for +the option value is not otherwise specified. It should be omitted when +not needed. -Option takes a mandatory real number argument. -This value will be assigned to the option variable. -Note that the value may start with B<-> to indicate a negative -value. +=item : I [ I ] -=item :f +Like C<=>, but designates the argument as optional. +If omitted, an empty string will be assigned to string values options, +and the value zero to numeric options. -Option takes an optional real number argument. -This value will be assigned to the option variable. -If omitted, the value 0 will be assigned. +Note that if a string argument starts with C<-> or C<-->, it will be +considered an option on itself. =back -A lone dash B<-> is considered an option, the corresponding option -name is the empty string. +=head1 Advanced Possibilities -A double dash on itself B<--> signals end of the options list. +=head2 Documentation and help texts -=head2 Linkage specification +Getopt::Long encourages the use of Pod::Usage to produce help +messages. For example: -The linkage specifier is optional. If no linkage is explicitly -specified but a ref HASH is passed, GetOptions will place the value in -the HASH. For example: + use Getopt::Long; + use Pod::Usage; - %optctl = (); - GetOptions (\%optctl, "size=i"); + my $man = 0; + my $help = 0; -will perform the equivalent of the assignment + GetOptions('help|?' => \$help, man => \$man) or pod2usage(2); + pod2usage(1) if $help; + pod2usage(-exitstatus => 0, -verbose => 2) if $man; - $optctl{"size"} = 24; + __END__ -For array options, a reference to an array is used, e.g.: + =head1 NAME - %optctl = (); - GetOptions (\%optctl, "sizes=i@"); + sample - Using GetOpt::Long and Pod::Usage -with command line "-sizes 24 -sizes 48" will perform the equivalent of -the assignment + =head1 SYNOPSIS - $optctl{"sizes"} = [24, 48]; + sample [options] [file ...] -For hash options (an option whose argument looks like "name=value"), -a reference to a hash is used, e.g.: + Options: + -help brief help message + -man full documentation - %optctl = (); - GetOptions (\%optctl, "define=s%"); + =head1 OPTIONS -with command line "--define foo=hello --define bar=world" will perform the -equivalent of the assignment + =over 8 - $optctl{"define"} = {foo=>'hello', bar=>'world') + =item B<-help> -If no linkage is explicitly specified and no ref HASH is passed, -GetOptions will put the value in a global variable named after the -option, prefixed by "opt_". To yield a usable Perl variable, -characters that are not part of the syntax for variables are -translated to underscores. For example, "--fpp-struct-return" will set -the variable $opt_fpp_struct_return. Note that this variable resides -in the namespace of the calling program, not necessarily B
      . -For example: + Print a brief help message and exits. - GetOptions ("size=i", "sizes=i@"); + =item B<-man> -with command line "-size 10 -sizes 24 -sizes 48" will perform the -equivalent of the assignments + Prints the manual page and exits. - $opt_size = 10; - @opt_sizes = (24, 48); + =back -A lone dash B<-> is considered an option, the corresponding Perl -identifier is $opt_ . + =head1 DESCRIPTION -The linkage specifier can be a reference to a scalar, a reference to -an array, a reference to a hash or a reference to a subroutine. + B will read the given input file(s) and do someting + useful with the contents thereof. -Note that, if your code is running under the recommended C pragma, it may be helpful to declare these package variables -via C perhaps something like this: + =cut - use vars qw/ $opt_size @opt_sizes $opt_bar /; +See L for details. -If a REF SCALAR is supplied, the new value is stored in the referenced -variable. If the option occurs more than once, the previous value is -overwritten. +=head2 Storing options in a hash -If a REF ARRAY is supplied, the new value is appended (pushed) to the -referenced array. +Sometimes, for example when there are a lot of options, having a +separate variable for each of them can be cumbersome. GetOptions() +supports, as an alternative mechanism, storing options in a hash. -If a REF HASH is supplied, the option value should look like "key" or -"key=value" (if the "=value" is omitted then a value of 1 is implied). -In this case, the element of the referenced hash with the key "key" -is assigned "value". +To obtain this, a reference to a hash must be passed I to GetOptions(). For each option that is specified on the +command line, the option value will be stored in the hash with the +option name as key. Options that are not actually used on the command +line will not be put in the hash, on other words, +C (or defined()) can be used to test if an option +was used. The drawback is that warnings will be issued if the program +runs under C and uses C<$h{option}> without testing with +exists() or defined() first. -If a REF CODE is supplied, the referenced subroutine is called with -two arguments: the option name and the option value. -The option name is always the true name, not an abbreviation or alias. + my %h = (); + GetOptions (\%h, 'length=i'); # will store in $h{length} -=head2 Aliases and abbreviations +For options that take list or hash values, it is necessary to indicate +this by appending an C<@> or C<%> sign after the type: -The option name may actually be a list of option names, separated by -"|"s, e.g. "foo|bar|blech=s". In this example, "foo" is the true name -of this option. If no linkage is specified, options "foo", "bar" and -"blech" all will set $opt_foo. For convenience, the single character -"?" is allowed as an alias, e.g. "help|?". + GetOptions (\%h, 'colours=s@'); # will push to @{$h{colours}} -Option names may be abbreviated to uniqueness, depending on -configuration option B. +To make things more complicated, the hash may contain references to +the actual destinations, for example: -=head2 Non-option call-back routine + my $len = 0; + my %h = ('length' => \$len); + GetOptions (\%h, 'length=i'); # will store in $len -A special option specifier, EE, can be used to designate a subroutine -to handle non-option arguments. GetOptions will immediately call this -subroutine for every non-option it encounters in the options list. -This subroutine gets the name of the non-option passed. -This feature requires configuration option B, see section -CONFIGURATION OPTIONS. +This example is fully equivalent with: -See also the examples. + my $len = 0; + GetOptions ('length=i' => \$len); # will store in $len -=head2 Option starters +Any mixture is possible. For example, the most frequently used options +could be stored in variables while all other options get stored in the +hash: -On the command line, options can start with B<-> (traditional), B<--> -(POSIX) and B<+> (GNU, now being phased out). The latter is not -allowed if the environment variable B has been -defined. + my $verbose = 0; # frequently referred + my $debug = 0; # frequently referred + my %h = ('verbose' => \$verbose, 'debug' => \$debug); + GetOptions (\%h, 'verbose', 'debug', 'filter', 'size=i'); + if ( $verbose ) { ... } + if ( exists $h{filter} ) { ... option 'filter' was specified ... } -Options that start with "--" may have an argument appended, separated -with an "=", e.g. "--foo=bar". +=head2 Bundling -=head2 Return values and Errors +With bundling it is possible to set several single-character options +at once. For example if C, C and C are all valid options, -Configuration errors and errors in the option definitions are -signalled using C and will terminate the calling -program unless the call to C was embedded -in C or C was trapped using C<$SIG{__DIE__}>. + -vax -A return value of 1 (true) indicates success. +would set all three. -A return status of 0 (false) indicates that the function detected one -or more errors during option parsing. These errors are signalled using -C and can be trapped with C<$SIG{__WARN__}>. +Getopt::Long supports two levels of bundling. To enable bundling, a +call to Getopt::Long::Configure is required. -Errors that can't happen are signalled using C. +The first level of bundling can be enabled with: -=head1 COMPATIBILITY + Getopt::Long::Configure ("bundling"); -Getopt::Long::GetOptions() is the successor of -B that came with Perl 4. It is fully upward compatible. -In fact, the Perl 5 version of newgetopt.pl is just a wrapper around -the module. +Configured this way, single-character options can be bundled but long +options B always start with a double dash C<--> to avoid +abiguity. For example, when C, C, C and C are all valid +options, -If an "@" sign is appended to the argument specifier, the option is -treated as an array. Value(s) are not set, but pushed into array -@opt_name. If explicit linkage is supplied, this must be a reference -to an ARRAY. + -vax -If an "%" sign is appended to the argument specifier, the option is -treated as a hash. Value(s) of the form "name=value" are set by -setting the element of the hash %opt_name with key "name" to "value" -(if the "=value" portion is omitted it defaults to 1). If explicit -linkage is supplied, this must be a reference to a HASH. +would set C, C and C, but -If configuration option B is set (see section -CONFIGURATION OPTIONS), options that start with "+" or "-" may also -include their arguments, e.g. "+foo=bar". This is for compatiblity -with older implementations of the GNU "getopt" routine. + --vax -If the first argument to GetOptions is a string consisting of only -non-alphanumeric characters, it is taken to specify the option starter -characters. Everything starting with one of these characters from the -starter will be considered an option. B +would set C. -For convenience, option specifiers may have a leading B<-> or B<-->, -so it is possible to write: +The second level of bundling lifts this restriction. It can be enabled +with: - GetOptions qw(-foo=s --bar=i --ar=s); + Getopt::Long::Configure ("bundling_override"); -=head1 EXAMPLES +Now, C<-vax> would set the option C. -If the option specifier is "one:i" (i.e. takes an optional integer -argument), then the following situations are handled: +When any level of bundling is enabled, option values may be inserted +in the bundle. For example: - -one -two -> $opt_one = '', -two is next option - -one -2 -> $opt_one = -2 + -h24w80 -Also, assume specifiers "foo=s" and "bar:s" : +is equivalent to - -bar -xxx -> $opt_bar = '', '-xxx' is next option - -foo -bar -> $opt_foo = '-bar' - -foo -- -> $opt_foo = '--' + -h 24 -w 80 -In GNU or POSIX format, option names and values can be combined: +When configured for bundling, single-character options are matched +case sensitive while long options are matched case insensitive. To +have the single-character options matched case insensitive as well, +use: - +foo=blech -> $opt_foo = 'blech' - --bar= -> $opt_bar = '' - --bar=-- -> $opt_bar = '--' + Getopt::Long::Configure ("bundling", "ignorecase_always"); -Example of using variable references: +It goes without saying that bundling can be quite confusing. - $ret = GetOptions ('foo=s', \$foo, 'bar=i', 'ar=s', \@ar); +=head2 The lonesome dash -With command line options "-foo blech -bar 24 -ar xx -ar yy" -this will result in: +Some applications require the option C<-> (that's a lone dash). This +can be achieved by adding an option specification with an empty name: - $foo = 'blech' - $opt_bar = 24 - @ar = ('xx','yy') + GetOptions ('' => \$stdio); -Example of using the EE option specifier: +A lone dash on the command line will now be legal, and set options +variable C<$stdio>. - @ARGV = qw(-foo 1 bar -foo 2 blech); - GetOptions("foo=i", \$myfoo, "<>", \&mysub); +=head2 Argument call-back -Results: +A special option 'name' C<<>> can be used to designate a subroutine +to handle non-option arguments. When GetOptions() encounters an +argument that does not look like an option, it will immediately call this +subroutine and passes it the argument as a parameter. - mysub("bar") will be called (with $myfoo being 1) - mysub("blech") will be called (with $myfoo being 2) +For example: -Compare this with: + my $width = 80; + sub process { ... } + GetOptions ('width=i' => \$width, '<>' => \&process); - @ARGV = qw(-foo 1 bar -foo 2 blech); - GetOptions("foo=i", \$myfoo); +When applied to the following command line: -This will leave the non-options in @ARGV: + arg1 --width=72 arg2 --width=60 arg3 - $myfoo -> 2 - @ARGV -> qw(bar blech) +This will call +C while C<$width> is C<80>, +C while C<$width> is C<72>, and +C while C<$width> is C<60>. -=head1 CONFIGURATION OPTIONS +This feature requires configuration option B, see section +L. -B can be configured by calling subroutine -B. This subroutine takes a list of quoted -strings, each specifying a configuration option to be set, e.g. -B. Options can be reset by prefixing with B, e.g. -B. Case does not matter. Multiple calls to B -are possible. -Previous versions of Getopt::Long used variables for the purpose of -configuring. Although manipulating these variables still work, it -is strongly encouraged to use the new B routine. Besides, it -is much easier. +=head1 Configuring Getopt::Long + +Getopt::Long can be configured by calling subroutine +Getopt::Long::Configure(). This subroutine takes a list of quoted +strings, each specifying a configuration option to be set, e.g. +C, or reset, e.g. C. Case does not +matter. Multiple calls to Configure() are possible. The following options are available: @@ -1207,122 +1453,102 @@ default values. Allow option names to be abbreviated to uniqueness. Default is set unless environment variable -POSIXLY_CORRECT has been set, in which case B is reset. +POSIXLY_CORRECT has been set, in which case C is reset. -=item getopt_compat +=item getopt_compat -Allow '+' to start options. +Allow C<+> to start options. Default is set unless environment variable -POSIXLY_CORRECT has been set, in which case B is reset. +POSIXLY_CORRECT has been set, in which case C is reset. =item require_order -Whether non-options are allowed to be mixed with -options. +Whether command line arguments are allowed to be mixed with options. Default is set unless environment variable -POSIXLY_CORRECT has been set, in which case b is reset. +POSIXLY_CORRECT has been set, in which case C is reset. -See also B, which is the opposite of B. +See also C, which is the opposite of C. =item permute -Whether non-options are allowed to be mixed with -options. +Whether command line arguments are allowed to be mixed with options. Default is set unless environment variable -POSIXLY_CORRECT has been set, in which case B is reset. -Note that B is the opposite of B. +POSIXLY_CORRECT has been set, in which case C is reset. +Note that C is the opposite of C. -If B is set, this means that +If C is set, this means that - -foo arg1 -bar arg2 arg3 + --foo arg1 --bar arg2 arg3 is equivalent to - -foo -bar arg1 arg2 arg3 + --foo --bar arg1 arg2 arg3 -If a non-option call-back routine is specified, @ARGV will always be -empty upon succesful return of GetOptions since all options have been -processed, except when B<--> is used: +If an argument call-back routine is specified, C<@ARGV> will always be +empty upon succesful return of GetOptions() since all options have been +processed. The only exception is when C<--> is used: - -foo arg1 -bar arg2 -- arg3 + --foo arg1 --bar arg2 -- arg3 will call the call-back routine for arg1 and arg2, and terminate -leaving arg2 in @ARGV. +GetOptions() leaving C<"arg2"> in C<@ARGV>. -If B is set, options processing +If C is set, options processing terminates when the first non-option is encountered. - -foo arg1 -bar arg2 arg3 + --foo arg1 --bar arg2 arg3 is equivalent to - -foo -- arg1 -bar arg2 arg3 + --foo -- arg1 --bar arg2 arg3 =item bundling (default: reset) -Setting this variable to a non-zero value will allow single-character -options to be bundled. To distinguish bundles from long option names, -long options must be introduced with B<--> and single-character -options (and bundles) with B<->. For example, +Setting this option will allow single-character options to be bundled. +To distinguish bundles from long option names, long options I be +introduced with C<--> and single-character options (and bundles) with +C<->. - ps -vax --vax - -would be equivalent to - - ps -v -a -x --vax - -provided "vax", "v", "a" and "x" have been defined to be valid -options. - -Bundled options can also include a value in the bundle; for strings -this value is the rest of the bundle, but integer and floating values -may be combined in the bundle, e.g. - - scale -h24w80 - -is equivalent to - - scale -h 24 -w 80 - -Note: resetting B also resets B. +Note: resetting C also resets C. =item bundling_override (default: reset) -If B is set, bundling is enabled as with -B but now long option names override option bundles. In the -above example, B<-vax> would be interpreted as the option "vax", not -the bundle "v", "a", "x". +If C is set, bundling is enabled as with +C but now long option names override option bundles. -Note: resetting B also resets B. +Note: resetting C also resets C. B Using option bundling can easily lead to unexpected results, especially when mixing long options and bundles. Caveat emptor. =item ignore_case (default: set) -If set, case is ignored when matching options. +If set, case is ignored when matching long option names. Single +character options will be treated case-sensitive. -Note: resetting B also resets B. +Note: resetting C also resets C. =item ignore_case_always (default: reset) When bundling is in effect, case is ignored on single-character options also. -Note: resetting B also resets B. +Note: resetting C also resets C. =item pass_through (default: reset) -Unknown options are passed through in @ARGV instead of being flagged -as errors. This makes it possible to write wrapper scripts that -process only part of the user supplied options, and passes the +Options that are unknown, ambiguous or supplied with an invalid option +value are passed through in C<@ARGV> instead of being flagged as +errors. This makes it possible to write wrapper scripts that process +only part of the user supplied command line arguments, and pass the remaining options to some other program. -This can be very confusing, especially when B is also set. +This can be very confusing, especially when C is also set. =item prefix -The string that starts options. See also B. +The string that starts options. If a constant string is not +sufficient, see C. =item prefix_pattern @@ -1336,27 +1562,84 @@ Enable copious debugging output. =back -=head1 OTHER USEFUL VARIABLES +=head1 Return values and Errors -=over 12 +Configuration errors and errors in the option definitions are +signalled using die() and will terminate the calling program unless +the call to Getopt::Long::GetOptions() was embedded in C, or die() was trapped using C<$SIG{__DIE__}>. -=item $Getopt::Long::VERSION +A return value of 1 (true) indicates success. -The version number of this Getopt::Long implementation in the format -C.C. This can be used to have Exporter check the -version, e.g. +A return status of 0 (false) indicates that the function detected one +or more errors during option parsing. These errors are signalled using +warn() and can be trapped with C<$SIG{__WARN__}>. - use Getopt::Long 3.00; +Errors that can't happen are signalled using Carp::croak(). -You can inspect $Getopt::Long::major_version and -$Getopt::Long::minor_version for the individual components. +=head1 Legacy -=item $Getopt::Long::error +The earliest development of C started in 1990, with Perl +version 4. As a result, its development, and the development of +Getopt::Long, has gone through several stages. Since backward +compatibility has always been extremely important, the current version +of Getopt::Long still supports a lot of constructs that nowadays are +no longer necessary or otherwise unwanted. This section describes +briefly some of these 'features'. -Internal error flag. May be incremented from a call-back routine to -cause options parsing to fail. +=head2 Default destinations -=back +When no destination is specified for an option, GetOptions will store +the resultant value in a global variable named CI, where +I is the primary name of this option. When a progam executes +under C (recommended), these variables must be +pre-declared with our() or C. + + our $opt_length = 0; + GetOptions ('length=i'); # will store in $opt_length + +To yield a usable Perl variable, characters that are not part of the +syntax for variables are translated to underscores. For example, +C<--fpp-struct-return> will set the variable +C<$opt_fpp_struct_return>. Note that this variable resides in the +namespace of the calling program, not necessarily C
      . For +example: + + GetOptions ("size=i", "sizes=i@"); + +with command line "-size 10 -sizes 24 -sizes 48" will perform the +equivalent of the assignments + + $opt_size = 10; + @opt_sizes = (24, 48); + +=head2 Alternative option starters + +A string of alternative option starter characters may be passed as the +first argument (or the first argument after a leading hash reference +argument). + + my $len = 0; + GetOptions ('/', 'length=i' => $len); + +Now the command line may look like: + + /length 24 -- arg + +Note that to terminate options processing still requires a double dash +C<-->. + +GetOptions() will not interpret a leading C<"<>"> as option starters +if the next argument is a reference. To force C<"<"> and C<">"> as +option starters, use C<"><">. Confusing? Well, B anyway. + +=head2 Configuration variables + +Previous versions of Getopt::Long used variables for the purpose of +configuring. Although manipulating these variables still work, it +is strongly encouraged to use the new C routine. Besides, it +is much easier. =head1 AUTHOR @@ -1364,11 +1647,12 @@ Johan Vromans Ejvromans@squirrel.nlE =head1 COPYRIGHT AND DISCLAIMER -This program is Copyright 1990,1999 by Johan Vromans. +This program is Copyright 2000,1990 by Johan Vromans. This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +modify it under the terms of the Perl Artistic License or the +GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any +later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -1380,3 +1664,8 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. =cut + +# Local Variables: +# mode: perl +# eval: (load-file "pod.el") +# End: diff --git a/gnu/usr.bin/perl/lib/Getopt/Std.pm b/gnu/usr.bin/perl/lib/Getopt/Std.pm index 390bf14e96c..e5b369ceb57 100644 --- a/gnu/usr.bin/perl/lib/Getopt/Std.pm +++ b/gnu/usr.bin/perl/lib/Getopt/Std.pm @@ -28,21 +28,25 @@ which take an argument don't care whether there is a space between the switch and the argument. Note that, if your code is running under the recommended C pragma, it may be helpful to declare these package variables -via C perhaps something like this: +'vars'> pragma, you will need to declare these package variables +with "our": - use vars qw/ $opt_foo $opt_bar /; + our($opt_foo, $opt_bar); -For those of you who don't like additional variables being created, getopt() +For those of you who don't like additional global variables being created, getopt() and getopts() will also accept a hash reference as an optional second argument. Hash keys will be x (where x is the switch name) with key values the value of the argument or 1 if no argument is specified. +To allow programs to process arguments that look like switches, but aren't, +both functions will stop processing switches when they see the argument +C<-->. The C<--> will be removed from @ARGV. + =cut @ISA = qw(Exporter); @EXPORT = qw(getopt getopts); -$VERSION = $VERSION = '1.01'; +$VERSION = '1.02'; # Process single-character switches with switch clustering. Pass one argument # which is a string containing all switches that take an argument. For each @@ -60,6 +64,10 @@ sub getopt ($;$) { while (@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) { ($first,$rest) = ($1,$2); + if (/^--$/) { # early exit if -- + shift @ARGV; + last; + } if (index($argumentative,$first) >= 0) { if ($rest ne '') { shift(@ARGV); @@ -68,22 +76,22 @@ sub getopt ($;$) { shift(@ARGV); $rest = shift(@ARGV); } - if (ref $hash) { - $$hash{$first} = $rest; - } - else { - ${"opt_$first"} = $rest; - push( @EXPORT, "\$opt_$first" ); - } + if (ref $hash) { + $$hash{$first} = $rest; + } + else { + ${"opt_$first"} = $rest; + push( @EXPORT, "\$opt_$first" ); + } } else { - if (ref $hash) { - $$hash{$first} = 1; - } - else { - ${"opt_$first"} = 1; - push( @EXPORT, "\$opt_$first" ); - } + if (ref $hash) { + $$hash{$first} = 1; + } + else { + ${"opt_$first"} = 1; + push( @EXPORT, "\$opt_$first" ); + } if ($rest ne '') { $ARGV[0] = "-$rest"; } @@ -111,31 +119,35 @@ sub getopts ($;$) { @args = split( / */, $argumentative ); while(@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) { ($first,$rest) = ($1,$2); + if (/^--$/) { # early exit if -- + shift @ARGV; + last; + } $pos = index($argumentative,$first); - if($pos >= 0) { - if(defined($args[$pos+1]) and ($args[$pos+1] eq ':')) { + if ($pos >= 0) { + if (defined($args[$pos+1]) and ($args[$pos+1] eq ':')) { shift(@ARGV); - if($rest eq '') { + if ($rest eq '') { ++$errs unless @ARGV; $rest = shift(@ARGV); } - if (ref $hash) { - $$hash{$first} = $rest; - } - else { - ${"opt_$first"} = $rest; - push( @EXPORT, "\$opt_$first" ); - } + if (ref $hash) { + $$hash{$first} = $rest; + } + else { + ${"opt_$first"} = $rest; + push( @EXPORT, "\$opt_$first" ); + } } else { - if (ref $hash) { - $$hash{$first} = 1; - } - else { - ${"opt_$first"} = 1; - push( @EXPORT, "\$opt_$first" ); - } - if($rest eq '') { + if (ref $hash) { + $$hash{$first} = 1; + } + else { + ${"opt_$first"} = 1; + push( @EXPORT, "\$opt_$first" ); + } + if ($rest eq '') { shift(@ARGV); } else { @@ -146,7 +158,7 @@ sub getopts ($;$) { else { warn "Unknown option: $first\n"; ++$errs; - if($rest ne '') { + if ($rest ne '') { $ARGV[0] = "-$rest"; } else { @@ -162,4 +174,3 @@ sub getopts ($;$) { } 1; - diff --git a/gnu/usr.bin/perl/lib/I18N/Collate.pm b/gnu/usr.bin/perl/lib/I18N/Collate.pm index 580ca39785c..64a03a284b6 100644 --- a/gnu/usr.bin/perl/lib/I18N/Collate.pm +++ b/gnu/usr.bin/perl/lib/I18N/Collate.pm @@ -108,6 +108,7 @@ European character set. # --- use POSIX qw(strxfrm LC_COLLATE); +use warnings::register; require Exporter; @@ -123,9 +124,9 @@ cmp collate_cmp sub new { my $new = $_[1]; - if ($^W && $] >= 5.003_06) { + if (warnings::enabled() && $] >= 5.003_06) { unless ($please_use_I18N_Collate_even_if_deprecated) { - warn <<___EOD___; + warnings::warn <<___EOD___; *** WARNING: starting from the Perl version 5.003_06 diff --git a/gnu/usr.bin/perl/lib/IPC/Open2.pm b/gnu/usr.bin/perl/lib/IPC/Open2.pm index 32282d62b39..a5a3561794e 100644 --- a/gnu/usr.bin/perl/lib/IPC/Open2.pm +++ b/gnu/usr.bin/perl/lib/IPC/Open2.pm @@ -1,7 +1,7 @@ package IPC::Open2; use strict; -use vars qw($VERSION @ISA @EXPORT); +our ($VERSION, @ISA, @EXPORT); require 5.000; require Exporter; @@ -17,47 +17,71 @@ IPC::Open2, open2 - open a process for both reading and writing =head1 SYNOPSIS use IPC::Open2; - $pid = open2(\*RDR, \*WTR, 'some cmd and args'); - # or - $pid = open2(\*RDR, \*WTR, 'some', 'cmd', 'and', 'args'); + + $pid = open2(\*RDRFH, \*WTRFH, 'some cmd and args'); + # or without using the shell + $pid = open2(\*RDRFH, \*WTRFH, 'some', 'cmd', 'and', 'args'); + + # or with handle autovivification + my($rdrfh, $wtrfh); + $pid = open2($rdrfh, $wtrfh, 'some cmd and args'); + # or without using the shell + $pid = open2($rdrfh, $wtrfh, 'some', 'cmd', 'and', 'args'); =head1 DESCRIPTION -The open2() function spawns the given $cmd and connects $rdr for -reading and $wtr for writing. It's what you think should work +The open2() function runs the given $cmd and connects $rdrfh for +reading and $wtrfh for writing. It's what you think should work when you try - open(HANDLE, "|cmd args|"); + $pid = open(HANDLE, "|cmd args|"); The write filehandle will have autoflush turned on. -If $rdr is a string (that is, a bareword filehandle rather than a glob -or a reference) and it begins with ">&", then the child will send output -directly to that file handle. If $wtr is a string that begins with -"<&", then WTR will be closed in the parent, and the child will read +If $rdrfh is a string (that is, a bareword filehandle rather than a glob +or a reference) and it begins with C<< >& >>, then the child will send output +directly to that file handle. If $wtrfh is a string that begins with +C<< <& >>, then $wtrfh will be closed in the parent, and the child will read from it directly. In both cases, there will be a dup(2) instead of a pipe(2) made. -open2() returns the process ID of the child process. It doesn't return on -failure: it just raises an exception matching C. - -=head1 WARNING - -It will not create these file handles for you. You have to do this yourself. -So don't pass it empty variables expecting them to get filled in for you. +If either reader or writer is the null string, this will be replaced +by an autogenerated filehandle. If so, you must pass a valid lvalue +in the parameter slot so it can be overwritten in the caller, or +an exception will be raised. -Additionally, this is very dangerous as you may block forever. -It assumes it's going to talk to something like B, both writing to -it and reading from it. This is presumably safe because you "know" -that commands like B will read a line at a time and output a line at -a time. Programs like B that read their entire input stream first, -however, are quite apt to cause deadlock. +open2() returns the process ID of the child process. It doesn't return on +failure: it just raises an exception matching C. However, +C failures in the child are not detected. You'll have to +trap SIGPIPE yourself. + +open2() does not wait for and reap the child process after it exits. +Except for short programs where it's acceptable to let the operating system +take care of this, you need to do this yourself. This is normally as +simple as calling C when you're done with the process. +Failing to do this can result in an accumulation of defunct or "zombie" +processes. See L for more information. + +This whole affair is quite dangerous, as you may block forever. It +assumes it's going to talk to something like B, both writing +to it and reading from it. This is presumably safe because you +"know" that commands like B will read a line at a time and +output a line at a time. Programs like B that read their +entire input stream first, however, are quite apt to cause deadlock. The big problem with this approach is that if you don't have control over source code being run in the child process, you can't control what it does with pipe buffering. Thus you can't just open a pipe to C and continually read and write a line from it. +The IO::Pty and Expect modules from CPAN can help with this, as they +provide a real tty (well, a pseudo-tty, actually), which gets you +back to line buffering in the invoked command again. + +=head1 WARNING + +The order of arguments differs from that of open3(). + =head1 SEE ALSO See L for an alternative that handles STDERR as well. This @@ -86,10 +110,9 @@ function is really just a wrapper around open3(). require IPC::Open3; sub open2 { - my ($read, $write, @cmd) = @_; local $Carp::CarpLevel = $Carp::CarpLevel + 1; return IPC::Open3::_open3('open2', scalar caller, - $write, $read, '>&STDERR', @cmd); + $_[1], $_[0], '>&STDERR', @_[2 .. $#_]); } 1 diff --git a/gnu/usr.bin/perl/lib/IPC/Open3.pm b/gnu/usr.bin/perl/lib/IPC/Open3.pm index e1cf12f7068..5c020c023f9 100644 --- a/gnu/usr.bin/perl/lib/IPC/Open3.pm +++ b/gnu/usr.bin/perl/lib/IPC/Open3.pm @@ -2,9 +2,8 @@ package IPC::Open3; use strict; no strict 'refs'; # because users pass me bareword filehandles -use vars qw($VERSION @ISA @EXPORT $Me); +our ($VERSION, @ISA, @EXPORT); -require 5.001; require Exporter; use Carp; @@ -23,37 +22,50 @@ IPC::Open3, open3 - open a process for reading, writing, and error handling $pid = open3(\*WTRFH, \*RDRFH, \*ERRFH, 'some cmd and args', 'optarg', ...); + my($wtr, $rdr, $err); + $pid = open3($wtr, $rdr, $err, + 'some cmd and args', 'optarg', ...); + =head1 DESCRIPTION Extremely similar to open2(), open3() spawns the given $cmd and connects RDRFH for reading, WTRFH for writing, and ERRFH for errors. If -ERRFH is '', or the same as RDRFH, then STDOUT and STDERR of the child are -on the same file handle. The WTRFH will have autoflush turned on. +ERRFH is false, or the same file descriptor as RDRFH, then STDOUT and +STDERR of the child are on the same filehandle. The WTRFH will have +autoflush turned on. -If WTRFH begins with "E&", then WTRFH will be closed in the parent, and +If WTRFH begins with C<< <& >>, then WTRFH will be closed in the parent, and the child will read from it directly. If RDRFH or ERRFH begins with -"E&", then the child will send output directly to that file handle. +C<< >& >>, then the child will send output directly to that filehandle. In both cases, there will be a dup(2) instead of a pipe(2) made. -If you try to read from the child's stdout writer and their stderr -writer, you'll have problems with blocking, which means you'll -want to use select(), which means you'll have to use sysread() instead -of normal stuff. +If either reader or writer is the null string, this will be replaced +by an autogenerated filehandle. If so, you must pass a valid lvalue +in the parameter slot so it can be overwritten in the caller, or +an exception will be raised. open3() returns the process ID of the child process. It doesn't return on -failure: it just raises an exception matching C. +failure: it just raises an exception matching C. However, +C failures in the child are not detected. You'll have to +trap SIGPIPE yourself. -=head1 WARNING - -It will not create these file handles for you. You have to do this -yourself. So don't pass it empty variables expecting them to get filled -in for you. +open2() does not wait for and reap the child process after it exits. +Except for short programs where it's acceptable to let the operating system +take care of this, you need to do this yourself. This is normally as +simple as calling C when you're done with the process. +Failing to do this can result in an accumulation of defunct or "zombie" +processes. See L for more information. -Additionally, this is very dangerous as you may block forever. It -assumes it's going to talk to something like B, both writing to it -and reading from it. This is presumably safe because you "know" that -commands like B will read a line at a time and output a line at a -time. Programs like B that read their entire input stream first, +If you try to read from the child's stdout writer and their stderr +writer, you'll have problems with blocking, which means you'll want +to use select() or the IO::Select, which means you'd best use +sysread() instead of readline() for normal stuff. + +This is very dangerous, as you may block forever. It assumes it's +going to talk to something like B, both writing to it and reading +from it. This is presumably safe because you "know" that commands +like B will read a line at a time and output a line at a time. +Programs like B that read their entire input stream first, however, are quite apt to cause deadlock. The big problem with this approach is that if you don't have control @@ -61,14 +73,19 @@ over source code being run in the child process, you can't control what it does with pipe buffering. Thus you can't just open a pipe to C and continually read and write a line from it. +=head1 WARNING + +The order of arguments differs from that of open2(). + =cut # &open3: Marc Horowitz # derived mostly from &open2 by tom christiansen, # fixed for 5.001 by Ulrich Kunitz # ported to Win32 by Ron Schmidt, Merrill Lynch almost ended my career +# fixed for autovivving FHs, tchrist again # -# $Id: Open3.pm,v 1.3 1999/04/29 22:51:56 millert Exp $ +# $Id: Open3.pm,v 1.4 2000/04/06 17:06:41 millert Exp $ # # usage: $pid = open3('wtr', 'rdr', 'err' 'some cmd and args', 'optarg', ...); # @@ -94,7 +111,7 @@ C and continually read and write a line from it. # rdr or wtr are null # a system call fails -$Me = 'open3 (bug)'; # you should never see this, it's always localized +our $Me = 'open3 (bug)'; # you should never see this, it's always localized # Fatal.pm needs to be fixed WRT prototypes. @@ -126,15 +143,27 @@ sub _open3 { my($package, $dad_wtr, $dad_rdr, $dad_err, @cmd) = @_; my($dup_wtr, $dup_rdr, $dup_err, $kidpid); - $dad_wtr or croak "$Me: wtr should not be null"; - $dad_rdr or croak "$Me: rdr should not be null"; - $dad_err = $dad_rdr if ($dad_err eq ''); + # simulate autovivification of filehandles because + # it's too ugly to use @_ throughout to make perl do it for us + # tchrist 5-Mar-00 + + unless (eval { + $dad_wtr = $_[1] = gensym unless defined $dad_wtr && length $dad_wtr; + $dad_rdr = $_[2] = gensym unless defined $dad_rdr && length $dad_rdr; + 1; }) + { + # must strip crud for croak to add back, or looks ugly + $@ =~ s/(?<=value attempted) at .*//s; + croak "$Me: $@"; + } + + $dad_err ||= $dad_rdr; $dup_wtr = ($dad_wtr =~ s/^[<>]&//); $dup_rdr = ($dad_rdr =~ s/^[<>]&//); $dup_err = ($dad_err =~ s/^[<>]&//); - # force unqualified filehandles into callers' package + # force unqualified filehandles into caller's package $dad_wtr = qualify $dad_wtr, $package; $dad_rdr = qualify $dad_rdr, $package; $dad_err = qualify $dad_err, $package; @@ -185,7 +214,7 @@ sub _open3 { xopen \*STDERR, ">&STDOUT" if fileno(STDERR) != fileno(STDOUT); } local($")=(" "); - exec @cmd + exec @cmd # XXX: wrong process to croak from or croak "$Me: exec of @cmd failed"; } elsif ($do_spawn) { # All the bookkeeping of coincidence between handles is diff --git a/gnu/usr.bin/perl/lib/Math/BigInt.pm b/gnu/usr.bin/perl/lib/Math/BigInt.pm index b61b8845693..a43969c2b23 100644 --- a/gnu/usr.bin/perl/lib/Math/BigInt.pm +++ b/gnu/usr.bin/perl/lib/Math/BigInt.pm @@ -4,10 +4,8 @@ use overload '+' => sub {new Math::BigInt &badd}, '-' => sub {new Math::BigInt $_[2]? bsub($_[1],${$_[0]}) : bsub(${$_[0]},$_[1])}, -'<=>' => sub {new Math::BigInt - $_[2]? bcmp($_[1],${$_[0]}) : bcmp(${$_[0]},$_[1])}, -'cmp' => sub {new Math::BigInt - $_[2]? ($_[1] cmp ${$_[0]}) : (${$_[0]} cmp $_[1])}, +'<=>' => sub {$_[2]? bcmp($_[1],${$_[0]}) : bcmp(${$_[0]},$_[1])}, +'cmp' => sub {$_[2]? ($_[1] cmp ${$_[0]}) : (${$_[0]} cmp $_[1])}, '*' => sub {new Math::BigInt &bmul}, '/' => sub {new Math::BigInt $_[2]? scalar bdiv($_[1],${$_[0]}) : @@ -18,6 +16,14 @@ use overload $_[2]? bpow($_[1],${$_[0]}) : bpow(${$_[0]},$_[1])}, 'neg' => sub {new Math::BigInt &bneg}, 'abs' => sub {new Math::BigInt &babs}, +'<<' => sub {new Math::BigInt + $_[2]? blsft($_[1],${$_[0]}) : blsft(${$_[0]},$_[1])}, +'>>' => sub {new Math::BigInt + $_[2]? brsft($_[1],${$_[0]}) : brsft(${$_[0]},$_[1])}, +'&' => sub {new Math::BigInt &band}, +'|' => sub {new Math::BigInt &bior}, +'^' => sub {new Math::BigInt &bxor}, +'~' => sub {new Math::BigInt &bnot}, qw( "" stringify @@ -258,9 +264,11 @@ sub bdiv { #(dividend: num_str, divisor: num_str) return num_str else { push(@x, 0); } - @q = (); ($v2,$v1) = ($y[-2] || 0, $y[-1]); + @q = (); ($v2,$v1) = @y[-2,-1]; + $v2 = 0 unless $v2; while ($#x > $#y) { - ($u2,$u1,$u0) = ($x[-3] || 0, $x[-2] || 0, $x[-1]); + ($u2,$u1,$u0) = @x[-3..-1]; + $u2 = 0 unless $u2; $q = (($u0 == $v1) ? 99999 : int(($u0*1e5+$u1)/$v1)); --$q while ($v2*$q > ($u0*1e5+$u1-$q*$v1)*1e5+$u2); if ($q) { @@ -328,6 +336,69 @@ sub bpow { #(num_str, num_str) return num_str } } +# compute x << y, y >= 0 +sub blsft { #(num_str, num_str) return num_str + &bmul($_[$[], &bpow(2, $_[$[+1])); +} + +# compute x >> y, y >= 0 +sub brsft { #(num_str, num_str) return num_str + &bdiv($_[$[], &bpow(2, $_[$[+1])); +} + +# compute x & y +sub band { #(num_str, num_str) return num_str + local($x,$y,$r,$m,$xr,$yr) = (&bnorm($_[$[]),&bnorm($_[$[+1]),0,1); + if ($x eq 'NaN' || $y eq 'NaN') { + 'NaN'; + } else { + while ($x ne '+0' && $y ne '+0') { + ($x, $xr) = &bdiv($x, 0x10000); + ($y, $yr) = &bdiv($y, 0x10000); + $r = &badd(&bmul(int $xr & $yr, $m), $r); + $m = &bmul($m, 0x10000); + } + $r; + } +} + +# compute x | y +sub bior { #(num_str, num_str) return num_str + local($x,$y,$r,$m,$xr,$yr) = (&bnorm($_[$[]),&bnorm($_[$[+1]),0,1); + if ($x eq 'NaN' || $y eq 'NaN') { + 'NaN'; + } else { + while ($x ne '+0' || $y ne '+0') { + ($x, $xr) = &bdiv($x, 0x10000); + ($y, $yr) = &bdiv($y, 0x10000); + $r = &badd(&bmul(int $xr | $yr, $m), $r); + $m = &bmul($m, 0x10000); + } + $r; + } +} + +# compute x ^ y +sub bxor { #(num_str, num_str) return num_str + local($x,$y,$r,$m,$xr,$yr) = (&bnorm($_[$[]),&bnorm($_[$[+1]),0,1); + if ($x eq 'NaN' || $y eq 'NaN') { + 'NaN'; + } else { + while ($x ne '+0' || $y ne '+0') { + ($x, $xr) = &bdiv($x, 0x10000); + ($y, $yr) = &bdiv($y, 0x10000); + $r = &badd(&bmul(int $xr ^ $yr, $m), $r); + $m = &bmul($m, 0x10000); + } + $r; + } +} + +# represent ~x as twos-complement number +sub bnot { #(num_str) return num_str + &bsub(-1,$_[$[]); +} + 1; __END__ @@ -350,6 +421,12 @@ Math::BigInt - Arbitrary size integer math package $i->bmod(BINT) return BINT modulus $i->bgcd(BINT) return BINT greatest common divisor $i->bnorm return BINT normalization + $i->blsft(BINT) return BINT left shift + $i->brsft(BINT) return (BINT,BINT) right shift (quo,rem) just quo if scalar + $i->band(BINT) return BINT bit-wise and + $i->bior(BINT) return BINT bit-wise inclusive or + $i->bxor(BINT) return BINT bit-wise exclusive or + $i->bnot return BINT bit-wise not =head1 DESCRIPTION diff --git a/gnu/usr.bin/perl/lib/Math/Complex.pm b/gnu/usr.bin/perl/lib/Math/Complex.pm index 0db5966e5c9..a4db43b9154 100644 --- a/gnu/usr.bin/perl/lib/Math/Complex.pm +++ b/gnu/usr.bin/perl/lib/Math/Complex.pm @@ -8,13 +8,14 @@ require Exporter; package Math::Complex; +use 5.005_64; use strict; -use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS); +our($VERSION, @ISA, @EXPORT, %EXPORT_TAGS); my ( $i, $ip2, %logn ); -$VERSION = sprintf("%s", q$Id: Complex.pm,v 1.3 1999/04/29 22:51:56 millert Exp $ =~ /(\d+\.\d+)/); +$VERSION = sprintf("%s", q$Id: Complex.pm,v 1.4 2000/04/06 17:06:42 millert Exp $ =~ /(\d+\.\d+)/); @ISA = qw(Exporter); @@ -65,9 +66,10 @@ use overload # Package "privates" # -my $package = 'Math::Complex'; # Package name -my $display = 'cartesian'; # Default display format -my $eps = 1e-14; # Epsilon +my $package = 'Math::Complex'; # Package name +my %DISPLAY_FORMAT = ('style' => 'cartesian', + 'polar_pretty_print' => 1); +my $eps = 1e-14; # Epsilon # # Object attributes (internal): @@ -160,7 +162,7 @@ sub new { &make } # For backward compatibility only. # sub cplx { my ($re, $im) = @_; - return $package->make($re, defined $im ? $im : 0); + return __PACKAGE__->make($re, defined $im ? $im : 0); } # @@ -171,7 +173,7 @@ sub cplx { # sub cplxe { my ($rho, $theta) = @_; - return $package->emake($rho, defined $theta ? $theta : 0); + return __PACKAGE__->emake($rho, defined $theta ? $theta : 0); } # @@ -179,21 +181,21 @@ sub cplxe { # # The number defined as pi = 180 degrees # -use constant pi => 4 * CORE::atan2(1, 1); +sub pi () { 4 * CORE::atan2(1, 1) } # # pit2 # # The full circle # -use constant pit2 => 2 * pi; +sub pit2 () { 2 * pi } # # pip2 # # The quarter circle # -use constant pip2 => pi / 2; +sub pip2 () { pi / 2 } # # deg1 @@ -201,14 +203,14 @@ use constant pip2 => pi / 2; # One degree in radians, used in stringify_polar. # -use constant deg1 => pi / 180; +sub deg1 () { pi / 180 } # # uplog10 # # Used in log10(). # -use constant uplog10 => 1 / CORE::log(10); +sub uplog10 () { 1 / CORE::log(10) } # # i @@ -835,7 +837,7 @@ sub acos { my $u = CORE::atan2(CORE::sqrt(1-$beta*$beta), $beta); my $v = CORE::log($alpha + CORE::sqrt($alpha*$alpha-1)); $v = -$v if $y > 0 || ($y == 0 && $x < -1); - return $package->make($u, $v); + return __PACKAGE__->make($u, $v); } # @@ -857,7 +859,7 @@ sub asin { my $u = CORE::atan2($beta, CORE::sqrt(1-$beta*$beta)); my $v = -CORE::log($alpha + CORE::sqrt($alpha*$alpha-1)); $v = -$v if $y > 0 || ($y == 0 && $x < -1); - return $package->make($u, $v); + return __PACKAGE__->make($u, $v); } # @@ -1153,34 +1155,53 @@ sub atan2 { # display_format # ->display_format # -# Set (fetch if no argument) display format for all complex numbers that +# Set (get if no argument) the display format for all complex numbers that # don't happen to have overridden it via ->display_format # -# When called as a method, this actually sets the display format for +# When called as an object method, this actually sets the display format for # the current object. # # Valid object formats are 'c' and 'p' for cartesian and polar. The first # letter is used actually, so the type can be fully spelled out for clarity. # sub display_format { - my $self = shift; - my $format = undef; + my $self = shift; + my %display_format = %DISPLAY_FORMAT; - if (ref $self) { # Called as a method - $format = shift; - } else { # Regular procedure call - $format = $self; - undef $self; + if (ref $self) { # Called as an object method + if (exists $self->{display_format}) { + my %obj = %{$self->{display_format}}; + @display_format{keys %obj} = values %obj; + } + if (@_ == 1) { + $display_format{style} = shift; + } else { + my %new = @_; + @display_format{keys %new} = values %new; + } + } else { # Called as a class method + if (@_ = 1) { + $display_format{style} = $self; + } else { + my %new = @_; + @display_format{keys %new} = values %new; + } + undef $self; } if (defined $self) { - return defined $self->{display} ? $self->{display} : $display - unless defined $format; - return $self->{display} = $format; + $self->{display_format} = { %display_format }; + return + wantarray ? + %{$self->{display_format}} : + $self->{display_format}->{style}; } - return $display unless defined $format; - return $display = $format; + %DISPLAY_FORMAT = %display_format; + return + wantarray ? + %DISPLAY_FORMAT : + $DISPLAY_FORMAT{style}; } # @@ -1195,12 +1216,12 @@ sub display_format { # sub stringify { my ($z) = shift; - my $format; - $format = $display; - $format = $z->{display} if defined $z->{display}; + my $style = $z->display_format; + + $style = $DISPLAY_FORMAT{style} unless defined $style; - return $z->stringify_polar if $format =~ /^p/i; + return $z->stringify_polar if $style =~ /^p/i; return $z->stringify_cartesian; } @@ -1220,17 +1241,27 @@ sub stringify_cartesian { if int(CORE::abs($y)) != int(CORE::abs($y) + $eps); $re = "$x" if CORE::abs($x) >= $eps; - if ($y == 1) { $im = 'i' } - elsif ($y == -1) { $im = '-i' } - elsif (CORE::abs($y) >= $eps) { $im = $y . "i" } + + my %format = $z->display_format; + my $format = $format{format}; + + if ($y == 1) { $im = 'i' } + elsif ($y == -1) { $im = '-i' } + elsif (CORE::abs($y) >= $eps) { + $im = (defined $format ? sprintf($format, $y) : $y) . "i"; + } my $str = ''; - $str = $re if defined $re; - $str .= "+$im" if defined $im; - $str =~ s/\+-/-/; - $str =~ s/^\+//; - $str =~ s/([-+])1i/$1i/; # Not redundant with the above 1/-1 tests. - $str = '0' unless $str; + $str = defined $format ? sprintf($format, $re) : $re + if defined $re; + if (defined $im) { + if ($y < 0) { + $str .= $im; + } elsif ($y > 0) { + $str .= "+" if defined $re; + $str .= $im; + } + } return $str; } @@ -1277,6 +1308,8 @@ sub stringify_polar { return '[0,0]' if $r <= $eps; + my %format = $z->display_format; + my $nt = $t / pit2; $nt = ($nt - int($nt)) * pit2; $nt += pit2 if $nt < 0; # Range [0, 2pi] @@ -1299,7 +1332,7 @@ sub stringify_polar { $nt -= pit2 if $nt > pi; - if (CORE::abs($nt) >= deg1) { + if ($format{polar_pretty_print} && CORE::abs($nt) >= deg1) { my ($n, $k, $kpi); for ($k = 1, $kpi = pi; $k < 10; $k++, $kpi += pi) { @@ -1328,12 +1361,20 @@ sub stringify_polar { if ($theta !~ m(^-?\d*pi/\d+$) and int(CORE::abs($theta)) != int(CORE::abs($theta) + $eps)); + my $format = $format{format}; + if (defined $format) { + $r = sprintf($format, $r); + $theta = sprintf($format, $theta); + } + return "\[$r,$theta\]"; } 1; __END__ +=pod + =head1 NAME Math::Complex - complex numbers and associated mathematical functions @@ -1617,9 +1658,9 @@ It is possible to write: $x = cplxe(-3, pi/4); -but that will be silently converted into C<[3,-3pi/4]>, since the modulus -must be non-negative (it represents the distance to the origin in the complex -plane). +but that will be silently converted into C<[3,-3pi/4]>, since the +modulus must be non-negative (it represents the distance to the origin +in the complex plane). It is also possible to have a complex number as either argument of either the C or C: the appropriate component of @@ -1631,31 +1672,67 @@ the argument will be used. =head1 STRINGIFICATION When printed, a complex number is usually shown under its cartesian -form I, but there are legitimate cases where the polar format +style I, but there are legitimate cases where the polar style I<[r,t]> is more appropriate. -By calling the routine C and supplying either -C<"polar"> or C<"cartesian">, you override the default display format, -which is C<"cartesian">. Not supplying any argument returns the current -setting. +By calling the class method C and +supplying either C<"polar"> or C<"cartesian"> as an argument, you +override the default display style, which is C<"cartesian">. Not +supplying any argument returns the current settings. This default can be overridden on a per-number basis by calling the C method instead. As before, not supplying any argument -returns the current display format for this number. Otherwise whatever you -specify will be the new display format for I particular number. +returns the current display style for this number. Otherwise whatever you +specify will be the new display style for I particular number. For instance: use Math::Complex; Math::Complex::display_format('polar'); - $j = ((root(1, 3))[1]; - print "j = $j\n"; # Prints "j = [1,2pi/3] + $j = (root(1, 3))[1]; + print "j = $j\n"; # Prints "j = [1,2pi/3]" $j->display_format('cartesian'); print "j = $j\n"; # Prints "j = -0.5+0.866025403784439i" -The polar format attempts to emphasize arguments like I -(where I is a positive integer and I an integer within [-9,+9]). +The polar style attempts to emphasize arguments like I +(where I is a positive integer and I an integer within [-9,+9]), +this is called I. + +=head2 CHANGED IN PERL 5.6 + +The C class method and the corresponding +C object method can now be called using +a parameter hash instead of just a one parameter. + +The old display format style, which can have values C<"cartesian"> or +C<"polar">, can be changed using the C<"style"> parameter. (The one +parameter calling convention also still works.) + +There are two new display parameters. + +The first one is C<"format">, which is a sprintf()-style format +string to be used for both parts of the complex number(s). The +default is C, which corresponds usually (this is somewhat +system-dependent) to C<"%.15g">. You can revert to the default by +setting the format string to C. + + # the $j from the above example + + $j->display_format('format' => '%.5f'); + print "j = $j\n"; # Prints "j = -0.50000+0.86603i" + $j->display_format('format' => '%.6f'); + print "j = $j\n"; # Prints "j = -0.5+0.86603i" + +Notice that this affects also the return values of the +C methods: in list context the whole parameter hash +will be returned, as opposed to only the style parameter value. If +you want to know the whole truth for a complex number, you must call +both the class method and the object method: + +The second new display parameter is C<"polar_pretty_print">, which can +be set to true or false, the default being true. See the previous +section for what this means. =head1 USAGE @@ -1746,7 +1823,7 @@ Whatever it is, it does not manifest itself anywhere else where Perl runs. =head1 AUTHORS -Raphael Manfredi > and +Raphael Manfredi > and Jarkko Hietaniemi >. Extensive patches by Daniel S. Lewart >. diff --git a/gnu/usr.bin/perl/lib/Math/Trig.pm b/gnu/usr.bin/perl/lib/Math/Trig.pm index 924286d2049..492706cd6aa 100644 --- a/gnu/usr.bin/perl/lib/Math/Trig.pm +++ b/gnu/usr.bin/perl/lib/Math/Trig.pm @@ -7,13 +7,12 @@ require Exporter; package Math::Trig; +use 5.005_64; use strict; use Math::Complex qw(:trig); -use vars qw($VERSION $PACKAGE - @ISA - @EXPORT @EXPORT_OK %EXPORT_TAGS); +our($VERSION, $PACKAGE, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(Exporter); @@ -37,8 +36,8 @@ my @rdlcnv = qw(cartesian_to_cylindrical %EXPORT_TAGS = ('radial' => [ @rdlcnv ]); -use constant pi2 => 2 * pi; -use constant pip2 => pi / 2; +sub pi2 () { 2 * pi } # use constant generates warning +sub pip2 () { pi / 2 } # use constant generates warning use constant DR => pi2/360; use constant RD => 360/pi2; use constant DG => 400/360; @@ -133,11 +132,11 @@ Math::Trig - trigonometric functions =head1 SYNOPSIS use Math::Trig; - + $x = tan(0.9); $y = acos(3.7); $z = asin(2.4); - + $halfpi = pi/2; $rad = deg2rad(120); @@ -259,7 +258,7 @@ complex numbers as results because the C takes care of details like for example how to display complex numbers. For example: print asin(2), "\n"; - + should produce something like this (take or leave few last decimals): 1.5707963267949-1.31695789692482i @@ -273,10 +272,10 @@ and the imaginary part of approximately C<-1.317>. $radians = deg2rad($degrees); $radians = grad2rad($gradians); - + $degrees = rad2deg($radians); $degrees = grad2deg($gradians); - + $gradians = deg2grad($degrees); $gradians = rad2grad($radians); @@ -409,7 +408,16 @@ To calculate the distance between London (51.3N 0.5W) and Tokyo (35.7N $km = great_circle_distance(@L, @T, 6378); The answer may be off by few percentages because of the irregular -(slightly aspherical) form of the Earth. +(slightly aspherical) form of the Earth. The used formula + + lat0 = 90 degrees - phi0 + lat1 = 90 degrees - phi1 + d = R * arccos(cos(lat0) * cos(lat1) * cos(lon1 - lon01) + + sin(lat0) * sin(lat1)) + +is also somewhat unreliable for small distances (for locations +separated less than about five degrees) because it uses arc cosine +which is rather ill-conditioned for values close to zero. =head1 BUGS @@ -426,7 +434,7 @@ an answer instead of giving a fatal runtime error. =head1 AUTHORS Jarkko Hietaniemi > and -Raphael Manfredi >. +Raphael Manfredi >. =cut diff --git a/gnu/usr.bin/perl/lib/Net/Ping.pm b/gnu/usr.bin/perl/lib/Net/Ping.pm index 495b82f95bb..2713383a00c 100644 --- a/gnu/usr.bin/perl/lib/Net/Ping.pm +++ b/gnu/usr.bin/perl/lib/Net/Ping.pm @@ -4,18 +4,17 @@ package Net::Ping; # # Authors of the original pingecho(): # karrer@bernina.ethz.ch (Andreas Karrer) -# pmarquess@bfsec.bt.co.uk (Paul Marquess) +# Paul.Marquess@btinternet.com (Paul Marquess) # # Copyright (c) 1996 Russell Mosemann. All rights reserved. This # program is free software; you may redistribute it and/or modify it # under the same terms as Perl itself. -require 5.002; +use 5.005_64; require Exporter; use strict; -use vars qw(@ISA @EXPORT $VERSION - $def_timeout $def_proto $max_datasize); +our(@ISA, @EXPORT, $VERSION, $def_timeout, $def_proto, $max_datasize); use FileHandle; use Socket qw( SOCK_DGRAM SOCK_STREAM SOCK_RAW PF_INET inet_aton sockaddr_in ); @@ -423,7 +422,7 @@ Net::Ping - check a remote host for reachability sleep(1); } $p->close(); - + $p = Net::Ping->new("tcp", 2); while ($stop_time > time()) { @@ -432,7 +431,7 @@ Net::Ping - check a remote host for reachability sleep(300); } undef($p); - + # For backward compatibility print "$host is alive.\n" if pingecho($host); diff --git a/gnu/usr.bin/perl/lib/Net/hostent.pm b/gnu/usr.bin/perl/lib/Net/hostent.pm index d586358f0a5..6cfde7253cb 100644 --- a/gnu/usr.bin/perl/lib/Net/hostent.pm +++ b/gnu/usr.bin/perl/lib/Net/hostent.pm @@ -1,9 +1,10 @@ package Net::hostent; use strict; +use 5.005_64; +our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS); BEGIN { use Exporter (); - use vars qw(@EXPORT @EXPORT_OK %EXPORT_TAGS); @EXPORT = qw(gethostbyname gethostbyaddr gethost); @EXPORT_OK = qw( $h_name @h_aliases diff --git a/gnu/usr.bin/perl/lib/Net/netent.pm b/gnu/usr.bin/perl/lib/Net/netent.pm index fbc6d987fe5..b21cd04664c 100644 --- a/gnu/usr.bin/perl/lib/Net/netent.pm +++ b/gnu/usr.bin/perl/lib/Net/netent.pm @@ -1,9 +1,10 @@ package Net::netent; use strict; +use 5.005_64; +our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS); BEGIN { use Exporter (); - use vars qw(@EXPORT @EXPORT_OK %EXPORT_TAGS); @EXPORT = qw(getnetbyname getnetbyaddr getnet); @EXPORT_OK = qw( $n_name @n_aliases @@ -119,26 +120,26 @@ This seems a bug, but here's how to deal with it: use strict; use Socket; use Net::netent; - + @ARGV = ('loopback') unless @ARGV; - + my($n, $net); - + for $net ( @ARGV ) { - + unless ($n = getnetbyname($net)) { warn "$0: no such net: $net\n"; next; } - + printf "\n%s is %s%s\n", $net, lc($n->name) eq lc($net) ? "" : "*really* ", $n->name; - + print "\taliases are ", join(", ", @{$n->aliases}), "\n" if @{$n->aliases}; - + # this is stupid; first, why is this not in binary? # second, why am i going through these convolutions # to make it looks right @@ -147,7 +148,7 @@ This seems a bug, but here's how to deal with it: shift @a while @a && $a[0] == 0; printf "\taddr is %s [%d.%d.%d.%d]\n", $n->net, @a; } - + if ($n = getnetbyaddr($n->net)) { if (lc($n->name) ne lc($net)) { printf "\tThat addr reverses to net %s!\n", $n->name; diff --git a/gnu/usr.bin/perl/lib/Pod/Functions.pm b/gnu/usr.bin/perl/lib/Pod/Functions.pm index 3cc9b385a00..03cbf711eb6 100644 --- a/gnu/usr.bin/perl/lib/Pod/Functions.pm +++ b/gnu/usr.bin/perl/lib/Pod/Functions.pm @@ -65,6 +65,8 @@ while () { } } +close DATA; + unless (caller) { foreach $type ( @Type_Order ) { $list = join(", ", sort @{$Kinds{$type}}); @@ -90,9 +92,9 @@ __DATA__ abs Math absolute value function accept Socket accept an incoming socket connect alarm Process schedule a SIGALRM -atan2 Math arctangent of Y/X +atan2 Math arctangent of Y/X in the range -PI to PI bind Socket binds an address to a socket -binmode I/O prepare binary files on old systems +binmode I/O prepare binary files for I/O bless Objects create an object caller Flow,Namespace get context of the current subroutine call chdir File change your current working directory @@ -104,7 +106,7 @@ chr String get character this number represents chroot File make directory new root for path lookups close I/O close file (or pipe or socket) handle closedir I/O close directory handle -connect Socket connect to a remove socket +connect Socket connect to a remote socket continue Flow optional trailing block in a while or foreach cos Math cosine function crypt String one-way passwd-style encryption @@ -123,12 +125,12 @@ endprotoent Network be done using protocols file endpwent User be done using passwd file endservent Network be done using services file eof I/O test a filehandle for its end -eval Flow,Misc catch exceptions or compile code +eval Flow,Misc catch exceptions or compile and run code exec Process abandon this program to run another exists HASH test whether a hash key is present exit Flow terminate this program exp Math raise I to a power -fcntl File file control system all +fcntl File file control system call fileno I/O return file descriptor from filehandle flock I/O lock an entire file with an advisory lock fork Process create a new process just like this one @@ -145,7 +147,7 @@ getlogin User return who logged in at this tty getnetbyaddr Network get network record given its address getnetbyname Network get networks record given name getnetent Network get next networks record -getpeername Socket find the other hend of a socket connection +getpeername Socket find the other end of a socket connection getpgrp Process get process group getppid Process get parent process ID getpriority Process get current nice value @@ -180,6 +182,7 @@ link File create a hard link in the filesytem listen Socket register your socket as a server local Misc,Namespace create a temporary value for a global variable (dynamic scoping) localtime Time convert UNIX time into record or string using local time +lock Threads get a thread lock on a variable, subroutine, or method log Math retrieve the natural logarithm for a number lstat File stat a symbolic link m// Regexp match a string with a regular expression pattern @@ -210,9 +213,11 @@ qq/STRING/ String doubly quote a string quotemeta Regexp quote regular expression magic characters qw/STRING/ LIST quote a list of words qx/STRING/ Process backquote quote a string +qr/PATTERN/ Regexp Compile pattern rand Math retrieve the next pseudorandom number read I/O,Binary fixed-length buffered input from a filehandle readdir I/O get a directory from a directory handle +readline I/O fetch a record from a file readlink File determine where a symbolic link is pointing recv Socket receive a message over a Socket redo Flow start this loop iteration over again @@ -249,7 +254,7 @@ shmget SysV get SysV shared memory segment identifier shmread SysV read SysV shared memory shmwrite SysV write SysV shared memory shutdown Socket close down just half of a socket connection -sin Math return the sin of a number +sin Math return the sine of a number sleep Process block for some number of seconds socket Socket create a socket socketpair Socket create a pair of sockets @@ -266,6 +271,7 @@ substr String get or alter a portion of a stirng symlink File create a symbolic link to a file syscall I/O,Binary execute an arbitrary system call sysread I/O,Binary fixed-length unbuffered input from a filehandle +sysseek I/O,Binary position I/O pointer on handle used with sysread and syswrite system Process run a separate program syswrite I/O,Binary fixed-length unbuffered output to a filehandle tell I/O get current seekpointer on a filehandle diff --git a/gnu/usr.bin/perl/lib/Pod/Html.pm b/gnu/usr.bin/perl/lib/Pod/Html.pm index e71afa814bd..89e3d0f4325 100644 --- a/gnu/usr.bin/perl/lib/Pod/Html.pm +++ b/gnu/usr.bin/perl/lib/Pod/Html.pm @@ -1,22 +1,21 @@ package Pod::Html; - -use Pod::Functions; -use Getopt::Long; # package for handling command-line parameters +use strict; require Exporter; -use vars qw($VERSION); -$VERSION = 1.01; -@ISA = Exporter; + +use vars qw($VERSION @ISA @EXPORT); +$VERSION = 1.03; +@ISA = qw(Exporter); @EXPORT = qw(pod2html htmlify); -use Cwd; use Carp; +use Config; +use Cwd; +use File::Spec::Unix; +use Getopt::Long; +use Pod::Functions; use locale; # make \w work right in non-ASCII lands -use strict; - -use Config; - =head1 NAME Pod::Html - module to convert pod files to HTML @@ -38,12 +37,48 @@ Pod::Html takes the following arguments: =over 4 +=item backlink + + --backlink="Back to Top" + +Adds "Back to Top" links in front of every HEAD1 heading (except for +the first). By default, no backlink are being generated. + +=item css + + --css=stylesheet + +Specify the URL of a cascading style sheet. + +=item flush + + --flush + +Flushes the item and directory caches. + +=item header + + --header + --noheader + +Creates header and footer blocks containing the text of the NAME +section. By default, no headers are being generated. + =item help --help Displays the usage message. +=item htmldir + + --htmldir=name + +Sets the directory in which the resulting HTML file is placed. This +is used to generate relative links to other files. Not passing this +causes all links to be absolute, since this is the value that tells +Pod::Html the root of the documentation tree. + =item htmlroot --htmlroot=name @@ -51,6 +86,14 @@ Displays the usage message. Sets the base URL for the HTML files. When cross-references are made, the HTML root is prepended to the URL. +=item index + + --index + --noindex + +Generate an index at the top of the HTML file. This is the default +behaviour. + =item infile --infile=name @@ -58,26 +101,6 @@ the HTML root is prepended to the URL. Specify the pod file to convert. Input is taken from STDIN if no infile is specified. -=item outfile - - --outfile=name - -Specify the HTML file to create. Output goes to STDOUT if no outfile -is specified. - -=item podroot - - --podroot=name - -Specify the base directory for finding library pods. - -=item podpath - - --podpath=name:...:name - -Specify which subdirectories of the podroot contain pod files whose -HTML converted forms can be linked-to in cross-references. - =item libpods --libpods=name:...:name @@ -87,39 +110,46 @@ List of page names (eg, "perlfunc") which contain linkable C<=item>s. =item netscape --netscape + --nonetscape -Use Netscape HTML directives when applicable. - -=item nonetscape +Use Netscape HTML directives when applicable. By default, they will +B be used. - --nonetscape +=item outfile -Do not use Netscape HTML directives (default). + --outfile=name -=item index +Specify the HTML file to create. Output goes to STDOUT if no outfile +is specified. - --index +=item podpath -Generate an index at the top of the HTML file (default behaviour). + --podpath=name:...:name -=item noindex +Specify which subdirectories of the podroot contain pod files whose +HTML converted forms can be linked-to in cross-references. - --noindex +=item podroot -Do not generate an index at the top of the HTML file. + --podroot=name +Specify the base directory for finding library pods. -=item recurse +=item quiet - --recurse + --quiet + --noquiet -Recurse into subdirectories specified in podpath (default behaviour). +Don't display I warning messages. These messages +will be displayed by default. But this is not the same as C +mode. -=item norecurse +=item recurse + --recurse --norecurse -Do not recurse into subdirectories specified in podpath. +Recurse into subdirectories specified in podpath (default behaviour). =item title @@ -130,8 +160,9 @@ Specify the title of the resulting HTML file. =item verbose --verbose + --noverbose -Display progress messages. +Display progress messages. By default, they won't be displayed. =back @@ -146,13 +177,13 @@ Display progress messages. "--infile=foo.pod", "--outfile=/perl/nmanual/foo.html"); -=head1 AUTHOR +=head1 ENVIRONMENT -Tom Christiansen, Etchrist@perl.comE. +Uses $Config{pod2html} to setup default options. -=head1 BUGS +=head1 AUTHOR -Has trouble with C<> etc in = commands. +Tom Christiansen, Etchrist@perl.comE. =head1 SEE ALSO @@ -164,30 +195,35 @@ This program is distributed under the Artistic License. =cut -my $dircache = "pod2html-dircache"; -my $itemcache = "pod2html-itemcache"; +my $cache_ext = $^O eq 'VMS' ? ".tmp" : ".x~~"; +my $dircache = "pod2htmd$cache_ext"; +my $itemcache = "pod2htmi$cache_ext"; my @begin_stack = (); # begin/end stack my @libpods = (); # files to search for links from C<> directives my $htmlroot = "/"; # http-server base directory from which all # relative paths in $podpath stem. +my $htmldir = ""; # The directory to which the html pages + # will (eventually) be written. my $htmlfile = ""; # write to stdout by default +my $htmlfileurl = "" ; # The url that other files would use to + # refer to this file. This is only used + # to make relative urls that point to + # other files. my $podfile = ""; # read from stdin by default my @podpath = (); # list of directories containing library pods. my $podroot = "."; # filesystem base directory from which all # relative paths in $podpath stem. +my $css = ''; # Cascading style sheet my $recurse = 1; # recurse on subdirectories in $podpath. +my $quiet = 0; # not quiet by default my $verbose = 0; # not verbose by default my $doindex = 1; # non-zero if we should generate an index +my $backlink = ''; # text for "back to top" links my $listlevel = 0; # current list depth -my @listitem = (); # stack of HTML commands to use when a =item is - # encountered. the top of the stack is the - # current list. -my @listdata = (); # similar to @listitem, but for the text after - # an =item -my @listend = (); # similar to @listitem, but the text to use to - # end the list. +my @listend = (); # the text to use to end the list. +my $after_lpar = 0; # set to true after a par in an =item my $ignore = 1; # whether or not to format text. we don't # format text until we hit our first pod # directive. @@ -196,42 +232,45 @@ my %items_named = (); # for the multiples of the same item in perlfunc my @items_seen = (); my $netscape = 0; # whether or not to use netscape directives. my $title; # title to give the pod(s) +my $header = 0; # produce block header/footer my $top = 1; # true if we are at the top of the doc. used # to prevent the first
      directive. my $paragraph; # which paragraph we're processing (used # for error messages) +my $ptQuote = 0; # status of double-quote conversion my %pages = (); # associative array used to find the location # of pages referenced by L<> links. my %sections = (); # sections within this page my %items = (); # associative array used to find the location # of =item directives referenced by C<> links +my %local_items = (); # local items - avoid destruction of %items my $Is83; # is dos with short filenames (8.3) sub init_globals { -$dircache = "pod2html-dircache"; -$itemcache = "pod2html-itemcache"; +$dircache = "pod2htmd$cache_ext"; +$itemcache = "pod2htmi$cache_ext"; @begin_stack = (); # begin/end stack @libpods = (); # files to search for links from C<> directives $htmlroot = "/"; # http-server base directory from which all # relative paths in $podpath stem. +$htmldir = ""; # The directory to which the html pages + # will (eventually) be written. $htmlfile = ""; # write to stdout by default $podfile = ""; # read from stdin by default @podpath = (); # list of directories containing library pods. $podroot = "."; # filesystem base directory from which all # relative paths in $podpath stem. +$css = ''; # Cascading style sheet $recurse = 1; # recurse on subdirectories in $podpath. +$quiet = 0; # not quiet by default $verbose = 0; # not verbose by default $doindex = 1; # non-zero if we should generate an index +$backlink = ''; # text for "back to top" links $listlevel = 0; # current list depth -@listitem = (); # stack of HTML commands to use when a =item is - # encountered. the top of the stack is the - # current list. -@listdata = (); # similar to @listitem, but for the text after - # an =item -@listend = (); # similar to @listitem, but the text to use to - # end the list. +@listend = (); # the text to use to end the list. +$after_lpar = 0; # set to true after a par in an =item $ignore = 1; # whether or not to format text. we don't # format text until we hit our first pod # directive. @@ -239,6 +278,7 @@ $ignore = 1; # whether or not to format text. we don't @items_seen = (); %items_named = (); $netscape = 0; # whether or not to use netscape directives. +$header = 0; # produce block header/footer $title = ''; # title to give the pod(s) $top = 1; # true if we are at the top of the doc. used # to prevent the first
      directive. @@ -252,9 +292,28 @@ $paragraph = ''; # which paragraph we're processing (used # of pages referenced by L<> links. #%items = (); # associative array used to find the location # of =item directives referenced by C<> links +%local_items = (); $Is83=$^O eq 'dos'; } +# +# clean_data: global clean-up of pod data +# +sub clean_data($){ + my( $dataref ) = @_; + my $i; + for( $i = 0; $i <= $#$dataref; $i++ ){ + ${$dataref}[$i] =~ s/\s+\Z//; + + # have a look for all-space lines + if( ${$dataref}[$i] =~ /^\s+$/m ){ + my @chunks = split( /^\s+$/m, ${$dataref}[$i] ); + splice( @$dataref, $i, 1, @chunks ); + } + } +} + + sub pod2html { local(@ARGV) = @_; local($/); @@ -283,19 +342,32 @@ sub pod2html { } $htmlfile = "-" unless $htmlfile; # stdout $htmlroot = "" if $htmlroot eq "/"; # so we don't get a // + $htmldir =~ s#/\z## ; # so we don't get a // + if ( $htmlroot eq '' + && defined( $htmldir ) + && $htmldir ne '' + && substr( $htmlfile, 0, length( $htmldir ) ) eq $htmldir + ) + { + # Set the 'base' url for this file, so that we can use it + # as the location from which to calculate relative links + # to other files. If this is '', then absolute links will + # be used throughout. + $htmlfileurl= "$htmldir/" . substr( $htmlfile, length( $htmldir ) + 1); + } # read the pod a paragraph at a time warn "Scanning for sections in input file(s)\n" if $verbose; $/ = ""; my @poddata = ; close(POD); + clean_data( \@poddata ); # scan the pod for =head[1-6] directives and build an index my $index = scan_headings(\%sections, @poddata); unless($index) { - warn "No pod in $podfile\n" if $verbose; - return; + warn "No headings in $podfile\n" if $verbose; } # open the output file @@ -316,7 +388,7 @@ sub pod2html { } } } - if (!$title and $podfile =~ /\.pod$/) { + if (!$title and $podfile =~ /\.pod\z/) { # probably a split pod so take first =head[12] as title for (my $i = 0; $i < @poddata; $i++) { last if ($title) = $poddata[$i] =~ /^=head[12]\s*(.*)/; @@ -327,46 +399,63 @@ sub pod2html { if ($title) { $title =~ s/\s*\(.*\)//; } else { - warn "$0: no title for $podfile"; - $podfile =~ /^(.*)(\.[^.\/]+)?$/; + warn "$0: no title for $podfile" unless $quiet; + $podfile =~ /^(.*)(\.[^.\/]+)?\z/s; $title = ($podfile eq "-" ? 'No Title' : $1); warn "using $title" if $verbose; } + my $csslink = $css ? qq(\n) : ''; + $csslink =~ s,\\,/,g; + $csslink =~ s,(/.):,$1|,; + + my $block = $header ? < +
      +
      $_
      $rowheaders->[$row]$rowheaders->[$row]" . $elements[$column*$rows + $row] . "
      +

       $title

      +
      +END_OF_BLOCK + print HTML < -$title +$title$csslink - +$block END_OF_HEAD # load/reload/validate/cache %pages and %items get_cache($dircache, $itemcache, \@podpath, $podroot, $recurse); # scan the pod for =item directives - scan_items("", \%items, @poddata); + scan_items( \%local_items, "", @poddata); # put an index at the top of the file. note, if $doindex is 0 we # still generate an index, but surround it with an html comment. # that way some other program can extract it if desired. $index =~ s/--+/-/g; + print HTML "\n"; print HTML "\n"; print HTML "\n" unless $doindex; print HTML "\n\n"; - print HTML "
      \n" if $doindex; + print HTML "
      \n" if $doindex and $index; # now convert this file - warn "Converting input file\n" if $verbose; - foreach my $i (0..$#poddata) { + my $after_item; # set to true after an =item + warn "Converting input file $podfile\n" if $verbose; + foreach my $i (0..$#poddata){ + $ptQuote = 0; # status of quote conversion + $_ = $poddata[$i]; $paragraph = $i+1; if (/^(=.*)/s) { # is it a pod directive? $ignore = 0; + $after_item = 0; $_ = $1; if (/^=begin\s+(\S+)\s*(.*)/si) {# =begin process_begin($1, $2); @@ -380,14 +469,17 @@ END_OF_HEAD next if @begin_stack && $begin_stack[-1] ne 'html'; if (/^=(head[1-6])\s+(.*\S)/s) { # =head[1-6] heading - process_head($1, $2); - } elsif (/^=item\s*(.*\S)/sm) { # =item text - process_item($1); + process_head( $1, $2, $doindex && $index ); + } elsif (/^=item\s*(.*\S)?/sm) { # =item text + warn "$0: $podfile: =item without bullet, number or text" + . " in paragraph $paragraph.\n" if !defined($1) or $1 eq ''; + process_item( $1 ); + $after_item = 1; } elsif (/^=over\s*(.*)/) { # =over N process_over(); } elsif (/^=back/) { # =back process_back(); - } elsif (/^=for\s+(\S+)\s+(.*)/si) {# =for + } elsif (/^=for\s+(\S+)\s*(.*)/si) {# =for process_for($1,$2); } else { /^=(\S*)\s*/; @@ -401,14 +493,55 @@ END_OF_HEAD next if $ignore; next if @begin_stack && $begin_stack[-1] ne 'html'; my $text = $_; - process_text(\$text, 1); - print HTML "

      \n$text"; + if( $text =~ /\A\s+/ ){ + process_pre( \$text ); + print HTML "

      \n$text
      \n"; + + } else { + process_text( \$text ); + + # experimental: check for a paragraph where all lines + # have some ...\t...\t...\n pattern + if( $text =~ /\t/ ){ + my @lines = split( "\n", $text ); + if( @lines > 1 ){ + my $all = 2; + foreach my $line ( @lines ){ + if( $line =~ /\S/ && $line !~ /\t/ ){ + $all--; + last if $all == 0; + } + } + if( $all > 0 ){ + $text =~ s/\t+//g; + $text =~ s/^//gm; + $text = '' . + $text . '
      '; + } + } + } + ## end of experimental + + if( $after_item ){ + print HTML "$text\n"; + $after_lpar = 1; + } else { + print HTML "

      $text

      \n"; + } + } + $after_item = 0; } } # finish off any pending directives finish_list(); + + # link to page index + print HTML "

      $backlink

      \n" + if $doindex and $index and $backlink; + print HTML < @@ -435,40 +568,52 @@ Usage: $0 --help --htmlroot= --infile= --outfile= --libpods=:...: --recurse --verbose --index --netscape --norecurse --noindex - --flush - flushes the item and directory caches. - --help - prints this message. - --htmlroot - http-server base directory from which all relative paths - in podpath stem (default is /). - --index - generate an index at the top of the resulting html - (default). - --infile - filename for the pod to convert (input taken from stdin - by default). - --libpods - colon-separated list of pages to search for =item pod - directives in as targets of C<> and implicit links (empty - by default). note, these are not filenames, but rather - page names like those that appear in L<> links. - --netscape - will use netscape html directives when applicable. - --nonetscape - will not use netscape directives (default). - --outfile - filename for the resulting html file (output sent to - stdout by default). - --podpath - colon-separated list of directories containing library - pods. empty by default. - --podroot - filesystem base directory from which all relative paths - in podpath stem (default is .). - --noindex - don't generate an index at the top of the resulting html. - --norecurse - don't recurse on those subdirectories listed in podpath. - --recurse - recurse on those subdirectories listed in podpath - (default behavior). - --title - title that will appear in resulting html file. - --verbose - self-explanatory + --backlink - set text for "back to top" links (default: none). + --css - stylesheet URL + --flush - flushes the item and directory caches. + --[no]header - produce block header/footer (default is no headers). + --help - prints this message. + --htmldir - directory for resulting HTML files. + --htmlroot - http-server base directory from which all relative paths + in podpath stem (default is /). + --[no]index - generate an index at the top of the resulting html + (default behaviour). + --infile - filename for the pod to convert (input taken from stdin + by default). + --libpods - colon-separated list of pages to search for =item pod + directives in as targets of C<> and implicit links (empty + by default). note, these are not filenames, but rather + page names like those that appear in L<> links. + --[no]netscape - will use netscape html directives when applicable. + (default is not to use them). + --outfile - filename for the resulting html file (output sent to + stdout by default). + --podpath - colon-separated list of directories containing library + pods (empty by default). + --podroot - filesystem base directory from which all relative paths + in podpath stem (default is .). + --[no]quiet - supress some benign warning messages (default is off). + --[no]recurse - recurse on those subdirectories listed in podpath + (default behaviour). + --title - title that will appear in resulting html file. + --[no]verbose - self-explanatory (off by default). END_OF_USAGE sub parse_command_line { - my ($opt_flush,$opt_help,$opt_htmlroot,$opt_index,$opt_infile,$opt_libpods,$opt_netscape,$opt_outfile,$opt_podpath,$opt_podroot,$opt_norecurse,$opt_recurse,$opt_title,$opt_verbose); + my ($opt_backlink,$opt_css,$opt_flush,$opt_header,$opt_help,$opt_htmldir, + $opt_htmlroot,$opt_index,$opt_infile,$opt_libpods,$opt_netscape, + $opt_outfile,$opt_podpath,$opt_podroot,$opt_quiet,$opt_recurse, + $opt_title,$opt_verbose); + + unshift @ARGV, split ' ', $Config{pod2html} if $Config{pod2html}; my $result = GetOptions( + 'backlink=s' => \$opt_backlink, + 'css=s' => \$opt_css, 'flush' => \$opt_flush, + 'header!' => \$opt_header, 'help' => \$opt_help, + 'htmldir=s' => \$opt_htmldir, 'htmlroot=s' => \$opt_htmlroot, 'index!' => \$opt_index, 'infile=s' => \$opt_infile, @@ -477,34 +622,37 @@ sub parse_command_line { 'outfile=s' => \$opt_outfile, 'podpath=s' => \$opt_podpath, 'podroot=s' => \$opt_podroot, - 'norecurse' => \$opt_norecurse, + 'quiet!' => \$opt_quiet, 'recurse!' => \$opt_recurse, 'title=s' => \$opt_title, - 'verbose' => \$opt_verbose, + 'verbose!' => \$opt_verbose, ); usage("-", "invalid parameters") if not $result; usage("-") if defined $opt_help; # see if the user asked for help $opt_help = ""; # just to make -w shut-up. - $podfile = $opt_infile if defined $opt_infile; - $htmlfile = $opt_outfile if defined $opt_outfile; - @podpath = split(":", $opt_podpath) if defined $opt_podpath; @libpods = split(":", $opt_libpods) if defined $opt_libpods; + $backlink = $opt_backlink if defined $opt_backlink; + $css = $opt_css if defined $opt_css; + $header = $opt_header if defined $opt_header; + $htmldir = $opt_htmldir if defined $opt_htmldir; + $htmlroot = $opt_htmlroot if defined $opt_htmlroot; + $doindex = $opt_index if defined $opt_index; + $podfile = $opt_infile if defined $opt_infile; + $netscape = $opt_netscape if defined $opt_netscape; + $htmlfile = $opt_outfile if defined $opt_outfile; + $podroot = $opt_podroot if defined $opt_podroot; + $quiet = $opt_quiet if defined $opt_quiet; + $recurse = $opt_recurse if defined $opt_recurse; + $title = $opt_title if defined $opt_title; + $verbose = $opt_verbose if defined $opt_verbose; + warn "Flushing item and directory caches\n" if $opt_verbose && defined $opt_flush; unlink($dircache, $itemcache) if defined $opt_flush; - - $htmlroot = $opt_htmlroot if defined $opt_htmlroot; - $podroot = $opt_podroot if defined $opt_podroot; - - $doindex = $opt_index if defined $opt_index; - $recurse = $opt_recurse if defined $opt_recurse; - $title = $opt_title if defined $opt_title; - $verbose = defined $opt_verbose ? 1 : 0; - $netscape = $opt_netscape if defined $opt_netscape; } @@ -542,7 +690,7 @@ sub get_cache { sub cache_key { my($dircache, $itemcache, $podpath, $podroot, $recurse) = @_; return join('!', $dircache, $itemcache, $recurse, - @$podpath, $podroot, stat($dircache), stat($itemcache)); + @$podpath, $podroot, stat($dircache), stat($itemcache)); } # @@ -550,7 +698,6 @@ sub cache_key { # are valid caches of %pages and %items. if they are valid then it loads # them and returns a non-zero value. # - sub load_cache { my($dircache, $itemcache, $podpath, $podroot) = @_; my($tests); @@ -648,12 +795,14 @@ sub scan_podpath { next unless defined $pages{$libpod} && $pages{$libpod}; # if there is a directory then use the .pod and .pm files within it. - if ($pages{$libpod} =~ /([^:]*[^(\.pod|\.pm)]):/) { + # NOTE: Only finds the first so-named directory in the tree. +# if ($pages{$libpod} =~ /([^:]*[^(\.pod|\.pm)]):/) { + if ($pages{$libpod} =~ /([^:]*(?; close(POD); + clean_data( \@poddata ); - scan_items("$dirname/$pod", @poddata); + scan_items( \%items, "$dirname/$pod", @poddata); } # use the names of files as =item directives too. - foreach $pod (@files) { - $pod =~ /^(.*)(\.pod|\.pm)$/; - $items{$1} = "$dirname/$1.html" if $1; - } +### Don't think this should be done this way - confuses issues.(WL) +### foreach $pod (@files) { +### $pod =~ /^(.*)(\.pod|\.pm)$/; +### $items{$1} = "$dirname/$1.html" if $1; +### } } elsif ($pages{$libpod} =~ /([^:]*\.pod):/ || $pages{$libpod} =~ /([^:]*\.pm):/) { # scan the .pod or .pm file for =item directives @@ -679,8 +830,9 @@ sub scan_podpath { die "$0: error opening $pod for input: $!\n"; @poddata = ; close(POD); + clean_data( \@poddata ); - scan_items("$pod", @poddata); + scan_items( \%items, "$pod", @poddata); } else { warn "$0: shouldn't be here (line ".__LINE__."\n"; } @@ -736,13 +888,13 @@ sub scan_dir { $pages{$_} = "" unless defined $pages{$_}; $pages{$_} .= "$dir/$_:"; push(@subdirs, $_); - } elsif (/\.pod$/) { # .pod - s/\.pod$//; + } elsif (/\.pod\z/) { # .pod + s/\.pod\z//; $pages{$_} = "" unless defined $pages{$_}; $pages{$_} .= "$dir/$_.pod:"; push(@pods, "$dir/$_.pod"); - } elsif (/\.pm$/) { # .pm - s/\.pm$//; + } elsif (/\.pm\z/) { # .pm + s/\.pm\z//; $pages{$_} = "" unless defined $pages{$_}; $pages{$_} .= "$dir/$_.pm:"; push(@pods, "$dir/$_.pm"); @@ -764,7 +916,7 @@ sub scan_dir { # sub scan_headings { my($sections, @data) = @_; - my($tag, $which_head, $title, $listdepth, $index); + my($tag, $which_head, $otitle, $listdepth, $index); # here we need local $ignore = 0; # unfortunately, we can't have it, because $ignore is lexical @@ -777,9 +929,12 @@ sub scan_headings { # pointing to each of them. foreach my $line (@data) { if ($line =~ /^=(head)([1-6])\s+(.*)/) { - ($tag,$which_head, $title) = ($1,$2,$3); - chomp($title); - $$sections{htmlify(0,$title)} = 1; + ($tag, $which_head, $otitle) = ($1,$2,$3); + + my $title = depod( $otitle ); + my $name = htmlify( $title ); + $$sections{$name} = 1; + $title = process_text( \$otitle ); while ($which_head != $listdepth) { if ($which_head > $listdepth) { @@ -792,8 +947,8 @@ sub scan_headings { } $index .= "\n" . ("\t" x $listdepth) . "
    • " . - "" . - html_escape(process_text(\$title, 0)) . ""; + "" . + $title . "
    • "; } } @@ -815,36 +970,30 @@ sub scan_headings { # will use this information later on in resolving C<> links. # sub scan_items { - my($pod, @poddata) = @_; + my( $itemref, $pod, @poddata ) = @_; my($i, $item); local $_; - $pod =~ s/\.pod$//; + $pod =~ s/\.pod\z//; $pod .= ".html" if $pod; foreach $i (0..$#poddata) { - $_ = $poddata[$i]; - - # remove any formatting instructions - s,[A-Z]<([^<>]*)>,$1,g; - - # figure out what kind of item it is and get the first word of - # it's name. - if (/^=item\s+(\w*)\s*.*$/s) { - if ($1 eq "*") { # bullet list - /\A=item\s+\*\s*(.*?)\s*\Z/s; - $item = $1; - } elsif ($1 =~ /^\d+/) { # numbered list - /\A=item\s+\d+\.?(.*?)\s*\Z/s; - $item = $1; - } else { -# /\A=item\s+(.*?)\s*\Z/s; - /\A=item\s+(\w*)/s; - $item = $1; - } - - $items{$item} = "$pod" if $item; + my $txt = depod( $poddata[$i] ); + + # figure out what kind of item it is. + # Build string for referencing this item. + if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bullet + next unless $1; + $item = $1; + } elsif( $txt =~ /\A=item\s+(?>\d+\.?)\s*(.*)\Z/s ) { # numbered list + $item = $1; + } elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # plain item + $item = $1; + } else { + next; } + my $fid = fragment_id( $item ); + $$itemref{$fid} = "$pod" if $fid; } } @@ -852,168 +1001,167 @@ sub scan_items { # process_head - convert a pod head[1-6] tag and convert it to HTML format. # sub process_head { - my($tag, $heading) = @_; - my $firstword; + my($tag, $heading, $hasindex) = @_; # figure out the level of the =head $tag =~ /head([1-6])/; my $level = $1; - # can't have a heading full of spaces and speechmarks and so on - $firstword = $heading; $firstword =~ s/\s*(\w+)\s.*/$1/; - - print HTML "

      \n" unless $listlevel; - print HTML "


      \n" unless $listlevel || $top; - print HTML ""; # unless $listlevel; - #print HTML "" unless $listlevel; - my $convert = $heading; process_text(\$convert, 0); - $convert = html_escape($convert); - print HTML '$convert"; - print HTML ""; # unless $listlevel; - print HTML "\n"; + if( $listlevel ){ + warn "$0: $podfile: unterminated list at =head in paragraph $paragraph. ignoring.\n"; + while( $listlevel ){ + process_back(); + } + } + + print HTML "

      \n"; + if( $level == 1 && ! $top ){ + print HTML "$backlink\n" + if $hasindex and $backlink; + print HTML "


      \n" + } + + my $name = htmlify( depod( $heading ) ); + my $convert = process_text( \$heading ); + print HTML "$convert\n"; } + # -# process_item - convert a pod item tag and convert it to HTML format. +# emit_item_tag - print an =item's text +# Note: The global $EmittedItem is used for inhibiting self-references. # -sub process_item { - my $text = $_[0]; - my($i, $quote, $name); +my $EmittedItem; + +sub emit_item_tag($$$){ + my( $otext, $text, $compact ) = @_; + my $item = fragment_id( $text ); - my $need_preamble = 0; - my $this_entry; + $EmittedItem = $item; + ### print STDERR "emit_item_tag=$item ($text)\n"; + print HTML ''; + if ($items_named{$item}++) { + print HTML process_text( \$otext ); + } else { + my $name = 'item_' . $item; + print HTML qq{}, process_text( \$otext ), ''; + } + print HTML "
      \n"; + undef( $EmittedItem ); +} + +sub emit_li { + my( $tag ) = @_; + if( $items_seen[$listlevel]++ == 0 ){ + push( @listend, "" ); + print HTML "<$tag>\n"; + } + print HTML $tag eq 'DL' ? '
      ' : '
    • '; +} + +# +# process_item - convert a pod item tag and convert it to HTML format. +# +sub process_item { + my( $otext ) = @_; # lots of documents start a list without doing an =over. this is # bad! but, the proper thing to do seems to be to just assume # they did do an =over. so warn them once and then continue. - warn "$0: $podfile: unexpected =item directive in paragraph $paragraph. ignoring.\n" - unless $listlevel; - process_over() unless $listlevel; + if( $listlevel == 0 ){ + warn "$0: $podfile: unexpected =item directive in paragraph $paragraph. ignoring.\n"; + process_over(); + } - return unless $listlevel; + # formatting: insert a paragraph if preceding item has >1 paragraph + if( $after_lpar ){ + print HTML "

      \n"; + $after_lpar = 0; + } # remove formatting instructions from the text - 1 while $text =~ s/[A-Z]<([^<>]*)>/$1/g; - pre_escape(\$text); - - $need_preamble = $items_seen[$listlevel]++ == 0; - - # check if this is the first =item after an =over - $i = $listlevel - 1; - my $need_new = $listlevel >= @listitem; - - if ($text =~ /\A\*/) { # bullet - - if ($need_preamble) { - push(@listend, "
    "); - print HTML "